Exemple #1
0
        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();
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
            }
        }
Exemple #8
0
        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();
        }
Exemple #9
0
        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();
        }
Exemple #10
0
        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();
        }
Exemple #13
-1
        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", "");
        }
Exemple #14
-1
        ///// <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);
        }