private void Form1_Load(object sender, EventArgs e) { m_objLive = new MLiveClass(); m_objLive.PreviewWindowSet("", panelPrev.Handle.ToInt32()); m_objLive.PreviewEnable("", 1, 1); int count; m_objLive.DeviceGetCount(0, "video", out count); for (int i = 0; i < count; i++) { string name; string xml; m_objLive.DeviceGetByIndex(0, "video", i, out name, out xml); deviceList_lsb.Items.Add(name); } m_objLive.DeviceGetCount(0, "ext_audio", out count); for (int i = 0; i < count; i++) { string name; string xml; m_objLive.DeviceGetByIndex(0, "ext_audio", i, out name, out xml); EXdeviceList_lsb.Items.Add(name); } }
/// <summary> /// Add live source as input stream /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAddLive_Click(object sender, EventArgs e) { MLiveClass objLive = new MLiveClass(); LiveForm formLive = new LiveForm(objLive); formLive.ShowDialog(); eMState eState; objLive.ObjectStateGet(out eState); if (eState != eMState.eMS_Running) { return; } MItem pLive; m_objMixer.StreamsAdd("", objLive, "live_src", "", out pLive, 0); updateStreamList(); if (pLive == null) { return; } System.Runtime.InteropServices.Marshal.ReleaseComObject(pLive); GC.Collect(); }
private void Form1_Load(object sender, EventArgs e) { m_objWriter = new MWriterClass(); m_objLive = new MLiveClass(); m_objFile = new MFileClass(); m_objPlaylist = new MPlaylistClass(); m_objPlaylist.PreviewWindowSet("", panelPlaylist.Handle.ToInt32()); m_objPlaylist.PreviewEnable("", 0, 1); m_objFile.PreviewWindowSet("", panelFile.Handle.ToInt32()); m_objFile.PreviewEnable("", 0, 1); m_objLive.PreviewWindowSet("", livePanel.Handle.ToInt32()); m_objLive.PreviewEnable("", 0, 1); m_objLive.OnFrameSafe += M_objLive_OnFrameSafe; m_objFile.OnEventSafe += M_objFile_OnEventSafe; m_objPlaylist.OnFrameSafe += M_objPlaylist_OnFrameSafe; m_objWriter.PropsSet("embed_scte35", "true"); m_objFile.PropsSet("object::on_event.sync", "true"); m_objPlaylist.PropsSet("object::on_frame.sync", "true"); m_objLive.PropsSet("object::on_event.sync", "true"); int count = 0; m_objLive.DeviceGetCount(0, "video", out count); string[] arr = new string[count]; string name; string xml; for (int i = 0; i < count; i++) { m_objLive.DeviceGetByIndex(0, "video", i, out name, out xml); arr[i] = name; } m_objLive.DeviceSet("video", arr[5], ""); m_objLive.ObjectStart(null); MItem item; //m_objPlaylist.PlaylistBackgroundSet(m_objLive, "live", "live", out item); //m_objPlaylist.FilePlayStart(); m_objWriter.WriterNameSet(streamPath_txb.Text, " format='mpegts' protocol='udp://' video::codec='mpeg2video' video::b='5M' audio::codec='mp2'"); m_objWriter.ObjectStart(m_objLive); }
private void Form1_Load(object sender, EventArgs e) { m_objLive = new MLiveClass(); m_objLive.OnFrameSafe += M_objLive_OnFrameSafe; m_objLive.PropsSet("preview::overlay_rms", "true"); m_objLive.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLive.PreviewEnable("", 1, 1); GetVideoList(); GetAudioList(); }
private void Form1_Load(object sender, EventArgs e) { m_objRenderer = new MRendererClass(); m_objLiveScreenCapture = new MLiveClass(); m_objLiveNDI = new MLiveClass(); m_objLiveScreenCapture.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLiveScreenCapture.PreviewEnable("", 0, 1); m_objLiveNDI.PreviewWindowSet("", panel2.Handle.ToInt32()); m_objLiveNDI.PreviewEnable("", 0, 1); m_objLiveScreenCapture.DeviceSet("video", "Medialooks DXGI/DX11 ScreenCapture", ""); m_objLiveScreenCapture.ObjectStart(null); }
private void Form1_Load(object sender, EventArgs e) { m_objPlaylist = new MPlaylistClass(); m_objLive = new MLiveClass(); m_objRenderer = new MRendererClass(); m_objPlaylist.PreviewWindowSet("", panelPlaylist.Handle.ToInt32()); m_objPlaylist.PreviewEnable("", 0, 1); m_objLive.PreviewWindowSet("", panelLive.Handle.ToInt32()); m_objLive.PreviewEnable("", 0, 1); m_objLive.PropsSet("object::timecode.time_sync", "1"); m_objLive.PropsSet("object::on_frame.sync", "false"); m_objLive.OnFrameSafe += M_objLive_OnFrameSafe; }
private void Form1_Load(object sender, EventArgs e) { m_objLive = new MLiveClass(); m_objLive.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLive.PreviewEnable("", 0, 1); m_objLive.DeviceGetCount(0, "video", out int count); for (int i = 0; i < count; i++) { string strName; string strDesc; //Get deveice / input line m_objLive.DeviceGetByIndex(0, "video", i, out strName, out strDesc); deviceList.Items.Add(strName); } }
private void Form1_Load(object sender, EventArgs e) { m_objLive = new MLiveClass(); m_objLiveDelay = new MLiveClass(); m_objMixer = new MMixerClass(); m_objLive.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLive.PreviewEnable("", 1, 1); m_objMixer.PreviewWindowSet("", panel2.Handle.ToInt32()); m_objMixer.PreviewEnable("", 1, 1); m_objMixer.ObjectStart(null); m_objMixer.FilePlayStart(); GetAllLives(); GetAllForamts(); }
private void Form1_Load(object sender, EventArgs e) { m_objLive1 = new MLiveClass(); m_objLive2 = new MLiveClass(); m_objLive3 = new MLiveClass(); m_objLive1.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLive1.PreviewEnable("", 0, 1); m_objLive2.PreviewWindowSet("", panel2.Handle.ToInt32()); m_objLive2.PreviewEnable("", 0, 1); m_objLive3.PreviewWindowSet("", panel3.Handle.ToInt32()); m_objLive3.PreviewEnable("", 0, 1); GetLive(); }
private void Form1_Load(object sender, EventArgs e) { m_objFile = new MFileClass(); m_objLive = new MLiveClass(); m_objLive.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLive.PreviewEnable("", 0, 1); m_objLive.DeviceSet("video", "Medialooks DXGI/DX11 ScreenCapture", ""); m_objLive.ObjectStart(null); UpdateList(); m_objCharGen = new MLCHARGENLib.CoMLCharGen(); m_objLive.PluginsAdd(m_objCharGen, 0); // Frames counter string strID = ""; m_objCharGen.AddNewItem("<text type=counter size=4.0>XXXXXX</text>", 0.1, 0.2, 1, 1, ref strID); }
private void LiveWindow_Loaded(object sender, RoutedEventArgs e) { mlive = new MLiveClass(); this.videoComboBox.MDevice = mlive; this.audioComboBox.MDevice = mlive; }
/// <summary> /// Initialization of Medialooks objects and form controls /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Load(object sender, EventArgs e) { try { this.Text += " - MPlatform SDK " + CheckVersionClass.GetVersion(); } catch { } try { //Initialize objects m_objMixer = new MMixerClass(); m_objRenderer = new MRendererClass(); m_objMixerInternal = new MMixerClass(); m_objrenderIN = new MRendererClass(); m_objLive = new MLiveClass(); } catch (Exception ex) { MessageBox.Show("Can't create MPlatform objects: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); return; } //Initialize preview m_objMixer.PreviewWindowSet("", panelPreview.Handle.ToInt32()); m_objMixer.PreviewEnable("", checkBoxAudio.Checked ? 1 : 0, checkBoxVideo.Checked ? 1 : 0); //Start mixer object m_objMixer.ObjectStart(null); m_objMixer.FilePlayStart(); //Look for renderers int nDevices = 0; m_objRenderer.DeviceGetCount(0, "renderer", out nDevices); if (nDevices > 0) { checkBoxOutput.Enabled = true; comboBoxRenderer.Enabled = true; for (int i = 0; i < nDevices; i++) { string strName; string strXML; m_objRenderer.DeviceGetByIndex(0, "renderer", i, out strName, out strXML); comboBoxRenderer.Items.Add(strName); } comboBoxRenderer.SelectedIndex = 0; } else { checkBoxOutput.Enabled = false; comboBoxRenderer.Enabled = false; } //Fill audio and video formats FillVideoFormats(); FillAudioFormats(); comboBoxVF.SelectedIndex = startVideoFormat; comboBoxAF.SelectedIndex = startAudioFormat; //Fill scenen tree mElementsTree.SetControlledObject(m_objMixer); MElement rootNode; m_objMixer.ElementsGetByIndex(0, out rootNode); if (rootNode != null) { mElementsTree.SetSelectedElement(rootNode); } if (rootNode == null) { return; } System.Runtime.InteropServices.Marshal.ReleaseComObject(rootNode); GC.Collect(); }
private void Form1_Load(object sender, EventArgs e) { try { _cam1 = new MLiveClass(); _cam2 = new MLiveClass(); _Mixer = new MMixerClass(); } catch (Exception ex) { MessageBox.Show("Can't crate MFile instance: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } //FillCombo("video", videoCombo); string cam1Name; string cam2Name; string camdesc; _cam1.DeviceGetByIndex(0, "video", 0, out cam1Name, out camdesc); _cam1.DeviceSet("video", cam1Name, ""); _cam1.ObjectVirtualSourceCreate(1, "Cam1 Virtual", ""); //_cam1.PreviewWindowSet("", previewPanel.Handle.ToInt32()); //_cam1.PreviewEnable("", 0, 0); cam1.Text = cam1Name; _cam1.ObjectStart(null); _cam2.DeviceGetByIndex(0, "video", 2, out cam2Name, out camdesc); _cam2.DeviceSet("video", cam2Name, ""); _cam2.ObjectVirtualSourceCreate(1, "cam2 virtual", ""); //_cam2.PreviewWindowSet("", previewPanel.Handle.ToInt32()); //_cam2.PreviewEnable("", 0, 1); cam2.Text = cam2Name; _cam2.ObjectStart(null); _Mixer.PreviewWindowSet("", OutputPanel.Handle.ToInt32()); _Mixer.PreviewEnable("", 0, 1); _Mixer.ObjectStart(null); _Mixer.FilePlayStart(); _Mixer.ObjectVirtualSourceCreate(1, "Program Out", ""); }
///// <summary> ///// Fill combo boxes (Audio/Video device and Audio/Video input line (if avilable)) ///// </summary> ///// <param name="pDevice"></param> ///// <param name="strType"></param> ///// <param name="cbxType"></param> //private void FillCombo(string strType, ComboBox cbxType) //{ // cbxType.Items.Clear(); // cbxType.Tag = strType; // int nCount = 0; // //Get device count / input line count // _Live.DeviceGetCount(0, strType, out nCount); // cbxType.Enabled = nCount > 0; // if (nCount > 0) // { // for (int i = 0; i < nCount; i++) // { // string strName; // string strDesc; // //Get deveice / input line // _Live.DeviceGetByIndex(0, strType, i, out strName, out strDesc); // cbxType.Items.Add(strName); // } // string strCur = ""; // string strParam = ""; // int nIndex = 0; // try // { // //Check if there is already selected device / input line // _Live.DeviceGet(strType, out strCur, out strParam, out nIndex); // if (strCur != "") // { // cbxType.SelectedIndex = cbxType.FindStringExact(strCur); // } // else cbxType.SelectedIndex = 0; // } // catch // { // cbxType.SelectedIndex = 0; // } // } //} private void videoCombo_SelectedIndexChanged(object sender, EventArgs e) { ComboBox cbxChanged = (ComboBox)sender; MLiveClass newDevice = new MLiveClass(); string strType = (string)cbxChanged.Tag; try { //Set device newDevice.DeviceSet(strType, (string)cbxChanged.SelectedItem, ""); } catch { MessageBox.Show("Can't set this device, it isn't supported", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } //_Mixer.StreamsRemove(pCurrentDevice, 0); //_Mixer.StreamsAdd("", newDevice, "live_src", "", out pCurrentDevice, 0); }