func init // adds using namespace sys.add_use('AxWMPLib') sys.add_use('System.ComponentModel') // adds assembly sys.add_assembly('AxInterop.WMPLib', 'AxInterop.WMPLib.dll') sys.add_assembly('Interop.WMPLib', 'Interop.WMPLib.dll') // initialize instance blk_vars.println('private AxWindowsMediaPlayer ', this.codename, ';') blk_init.println(this.codename, ' = new AxWindowsMediaPlayer();') // declare and init control .println('((ISupportInitialize)(', this.codename, ')).BeginInit();') parent = sys.get_frame_above() arr = regex_search(parent, 'DockPanel') if(arr.size()) blk_init.println(this.codename, '.Show(', parent, ');') else blk_init.println('addWidget(', parent, ', ', this.codename, ', ', this.props("Left"), ', ', this.props("Top"), ', ', this.props("Width"), ', ', this.props("Height"), ');') end blk_init.println('((ISupportInitialize)(', this.codename, ')).EndInit();') // initialize properties if(not this.props('uiMode').isdef) blk_init.println(sys.get_obj_name(this.name), '.uiMode = "', lower(this.props('uiMode').value), '";') end sys.set_typed_field(104, 'Ctlenabled') sys.set_typed_field(104, 'enableContextMenu') sys.set_typed_field(104, 'fullScreen') sys.set_typed_field(104, 'stretchToFit') sys.set_typed_field(104, 'windowlessVideo') sys.set_typed_field(104, 'Ctlenabled') sys.set_typed_field(104, 'Ctlenabled') sys.set_typed_field(2, 'URL') // makes implementation methods for properties sys._prop_init('URL', 1, 1, 2) sys._prop_init('uiMode', 1, 1, 2) sys._prop_init('Ctlenabled', 1, 1, 104) sys._prop_init('enableContextMenu', 1, 1, 104) sys._prop_init('fullScreen', 1, 1, 104) sys._prop_init('status', 1, 0, 2) sys._prop_init('stretchToFit', 1, 1, 104) sys._prop_init('windowlessVideo', 1, 1, 104) sys._prop_init('dvd', 1, 0, 0) sys._prop_init('versionInfo', 1, 0, 2) // makes implementation of methods as properties sys._mtd_as_prop_init('WMPlayer') // initialize events sys.event_imp('onPlayStateChange', '', 'args.newState', '', 'Object sender, _WMPOCXEvents_PlayStateChangeEvent args') sys.event_add('onPlayStateChange', '_WMPOCXEvents_PlayStateChangeEventHandler') // initialize common events and properties include("Control-init") end func doOpenPlayer(data) blk.println(this.codename, '.openPlayer(', d("URL"), ');') end func doClose() blk.println(this.codename, '.close();') end func doLaunchURL(data) blk.println(this.codename, '.launchURL(', d("URL"), ');') end func newMedia(data) return(this.codename + '.newMedia(' + d("URL") + ')') end func newPlaylist(data) return(this.codename + '.newPlaylist(' + d("Name") + ', ' + d("URL") + ')') end include("Control")