public FrameService()
        {
            _mfReader = new MFReader();

            Overlay   = new MF_RECT();
            MFPreview = new MFPreviewClass();
        }
Example #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Panel[] panels = { panel1, panel2, panel3, panel4, panel5 };
            for (int i = 0; i < COUNT; i++)
            {
                m_arrPreviews[i] = new MFPreviewClass();
                m_arrPreviews[i].PreviewWindowSet("", panels[i].Handle.ToInt32());
                m_arrPreviews[i].PreviewEnable("", 0, 1);

                m_arrWriters[i] = new MFWriterClass();

                m_arrLiveState[i]        = false;
                m_arrWritersState[i]     = false;
                m_arrLiveStateRestart[i] = false;
            }

            cancelSource   = new CancellationTokenSource();
            m_threadWorker = new Thread(() => thread_DoWork(cancelSource.Token))
            {
                Name = "thread_DoWork"
            };
            m_threadWorker.Start();

            FillListBox();
        }
Example #3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            mWriter  = new MFWriterClass();
            mReader  = new MFReaderClass();
            mPreview = new MFPreviewClass();
            //Preview = new MFPreviewClass();
            try
            {
                mLive = new MFLiveClass();
            }
            catch (Exception ex)
            {
                MessageBox.Show("No Live Devices Available: " + ex.ToString());
            }
            mPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
            mPreview.PreviewEnable("", 1, 1);

            FillComboBox();

            cancelSource      = new CancellationTokenSource();
            threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            threadWorker.Name = "thread_DoWork";
            threadWorker.Start();

            avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_Custom;
            System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
        }
Example #4
0
        private void Playback_Load(object sender, EventArgs e)
        {
            objFactory  = new MFFactory();
            objPreview  = new MFPreviewClass();
            playerState = new PlayerState();

            //playerState.bLoop = checkBoxLoop.Checked;

            // First file start with pause, next file open in same state
            pause();

            //Configure preview
            objPreview.PreviewWindowSet("", panelPlayback.Handle.ToInt32());
            objPreview.PreviewEnable("", 1, 1);

            //FillVideoFormats();
            avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_Custom;


            cancelSource      = new CancellationTokenSource();
            threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            threadWorker.Name = "thread_DoWork";
            threadWorker.Start();

            //if (m_arrArgs.Length > 0 && File.Exists(m_arrArgs[0]))
            //  OpenFile(m_arrArgs[0]);
        }
Example #5
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            // Create MF objects
            m_objFactory  = new MFFactory();
            m_objPreview  = new MFPreviewClass();
            m_playerState = new PlayerState();
            m_objRenderer = new MFRendererClass();
            m_objCharGen  = new CoMLCharGenClass();
            m_objMFSink   = new MFSinkClass();

            try
            {
                m_objCCDisplay = new MCCDisplayClass();
            }
            catch
            {
                MessageBox.Show("MCCDisplay module was not found.");
            }


            m_CEFResourcesPath = (string)Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Medialooks\MFormats", "resources.path", null);

            if (File.Exists(m_CEFResourcesPath + "\\CEF\\demo.html"))
            {
                m_strDemoURL        = Path.GetFullPath(m_CEFResourcesPath + "\\CEF\\demo.html");
                textBoxHTMLURL.Text = "demo";
            }

            m_playerState.bLoop = checkBoxLoop.Checked;

            // First file start with pause, next file open in same state
            pause();

            //Configure preview
            m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
            m_objPreview.PreviewEnable("", Convert.ToInt32(checkBoxAudio.Checked), Convert.ToInt32(checkBoxVideo.Checked));

            FillVideoFormats();

            // Fill renderer devices
            FillRenderers();

            // Fill audio renderers
            FillAudioRenderers();
            CheckForIllegalCrossThreadCalls = false;   //Need for use Combobox in multithreading

            mAudioMeter1.ChannelsUpdated += MAudioMeter1_ChannelsUpdated;
            // Create thread worker
            //m_bThread = true;
            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();

            if (m_arrArgs.Length > 0 && File.Exists(m_arrArgs[0]))
            {
                OpenFile(m_arrArgs[0]);
            }
        }
        public void Setup()
        {
            var mfPreview = new MFPreviewClass();

            _dialogServiceStub  = Substitute.For <IDialogService>();
            _surfaceServiceStub = Substitute.For <ISurfaceService>();
            _frameServiceStub   = Substitute.For <IFrameService>();

            _frameServiceStub.MFPreview.Returns(mfPreview);

            _vm = new MainViewModel(_dialogServiceStub, _frameServiceStub, _surfaceServiceStub);
        }
Example #7
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPreview = new MFPreviewClass();
            m_objReader  = new MFReaderClass();

            m_objPreview.PreviewWindowSet("", panelPrev.Handle.ToInt32());
            m_objPreview.PreviewEnable("", 1, 1);

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();
        }
Example #8
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPreview = new MFPreviewClass();
            m_objWriter  = new MFWriterClass();
            m_objReader  = new MFReaderClass();

            try
            {
                m_objLive   = new MFLiveClass();
                m_audioLive = new MFLiveClass();
                FillCombo(eMFDeviceType.eMFDT_Video, video, true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("MLive device not found\n\n" + ex.ToString());
            }

            try
            {
                m_objCCDisplay = new MCCDisplayClass();
            }
            catch
            {
                MessageBox.Show("MCCDisplay module was not found.");
            }

            //Configure preview
            m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
            m_objPreview.PreviewEnable("", Convert.ToInt32(checkBoxAPrev.Checked), Convert.ToInt32(checkBoxVPrev.Checked));

            // Fill Senders
            FillSenders();

            FillVideoFormats();

            //Fill live devices
            FillMLiveDevices();

            //Fill formats
            FillMWriterFormats();

            // Create & config background worker

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();

            System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;   //Need for use renderersCombobox in multithreading
        }
Example #9
0
        private void Form1_Load(object sender, EventArgs e)
        {
            EncodingConf_lsb.Items.Add(" format='mp4' video::codec='n264' video::b='7M' video::profile='High' video::preset='high_quality' audio::codec='aac'");
            EncodingConf_lsb.Items.Add(" format='mp4' video::codec='n264' video::b='7M' video::profile='High' video::preset='high_quality' video::interlace='Progressive' audio::codec='aac'");
            EncodingConf_lsb.Items.Add(" format='mp4' video::codec='n264' video::b='6M' video::profile='High' video::preset='high_quality' video::interlace='Progressive' audio::codec='aac'");
            EncodingConf_lsb.Items.Add(" format='mp4' video::codec='n264' video::b='6M' video::profile='High' video::preset='high_quality' video::interlace='Progressive' audio::codec='aac'");
            EncodingConf_lsb.Items.Add(" format='mp4' video::codec='n264' video::b='5M' video::interlace='Progressive' audio::codec='aac'");


            currentEncodingConf = EncodingConf_lsb.Items[0].ToString();

            m_objLive1 = new MFLiveClass();
            m_objLive2 = new MFLiveClass();
            m_objLive3 = new MFLiveClass();
            m_objLive4 = new MFLiveClass();
            m_objLive5 = new MFLiveClass();

            m_objPrev1 = new MFPreviewClass();
            m_objPrev2 = new MFPreviewClass();
            m_objPrev3 = new MFPreviewClass();
            m_objPrev4 = new MFPreviewClass();
            m_objPrev5 = new MFPreviewClass();

            m_objPrev1.PreviewWindowSet("", panelPr1.Handle.ToInt32());
            m_objPrev1.PreviewEnable("", 0, 1);
            m_objPrev2.PreviewWindowSet("", panelPr2.Handle.ToInt32());
            m_objPrev2.PreviewEnable("", 0, 1);
            m_objPrev3.PreviewWindowSet("", panelPr3.Handle.ToInt32());
            m_objPrev3.PreviewEnable("", 0, 1);
            m_objPrev4.PreviewWindowSet("", panelPr4.Handle.ToInt32());
            m_objPrev4.PreviewEnable("", 0, 1);
            m_objPrev5.PreviewWindowSet("", panelPr5.Handle.ToInt32());
            m_objPrev5.PreviewEnable("", 0, 1);

            m_objWriter1 = new MFWriterClass();
            m_objWriter2 = new MFWriterClass();
            m_objWriter3 = new MFWriterClass();
            m_objWriter4 = new MFWriterClass();
            m_objWriter5 = new MFWriterClass();

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();

            avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_25p;

            UpdateTheListOfDevices();
        }
Example #10
0
        public OverlayHTMLWindow(Object _objOverlayHTML, Object _source, M_VID_PROPS _vProps)
        {
            m_bStateOk = false;
            InitializeComponent();

            m_vProps = _vProps;

            try
            {
                m_objOverlayHTML = (MFOverlayHTMLClass)_objOverlayHTML;
                m_object         = _source;
            }
            catch (Exception ex)
            {
                return;
            }

            if (m_vProps.nHeight == 0 || m_vProps.nWidth == 0)
            {
                return;
            }

            m_objPreview = new MFPreviewClass();
            m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
            m_objPreview.PreviewEnable("", 0, 1);
            m_objPreview.PropsSet("preview.downscale", "0");
            m_objPreview.PropsSet("deinterlace", "false");

            panelPreview.MouseWheel += new MouseEventHandler(panelPreview_MouseWheel);
            panelPreview.KeyDown    += new KeyEventHandler(panelPreview_KeyDown);
            panelPreview.KeyPress   += new KeyPressEventHandler(panelPreview_KeyPress);
            panelPreview.KeyUp      += new KeyEventHandler(panelPreview_KeyUp);

            mfAttributesList.SetControlledObject((IMProps)m_objOverlayHTML);
            mfAttributesListPresets1.SetControlledObject(m_objOverlayHTML);
            mfAttributesListPresets1.OnPropsUpdated += new EventHandler(mfAttributesListPresets1_OnPropsUpdated);

            m_objOverlayHTML.OnEventSafe += new IMEventsEvent_OnEventSafeEventHandler(m_objOverlayHTML_OnEventSafe);
            string strCurrURL;

            m_objOverlayHTML.PropsGet("current_url", out strCurrURL);

            textBoxPathOrURL.Text = strCurrURL;

            m_bStateOk = true;
        }
        private void Grid_Loaded(object sender, RoutedEventArgs e)
        {
            m_objPreview = new MFPreviewClass();
            m_objLive    = new MFLiveClass();
            m_objReader  = new MFReaderClass();

            m_objPreview.PropsSet("wpf_preview", "true");
            previewSource = new D3DImage();

            m_objPreview.PreviewEnable("", 1, 1);
            m_objPreview.OnEventSafe += M_objPreview_OnEventSafe;
            GetNoSignalFrame();

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();
        }
Example #12
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objReader1 = new MFReaderClass();
            m_objReader2 = new MFReaderClass();
            m_objReader3 = new MFReaderClass();
            m_objReader4 = new MFReaderClass();
            m_objReader5 = new MFReaderClass();

            m_objPreview1 = new MFPreviewClass();
            m_objPreview1.PreviewWindowSet("", panel1.Handle.ToInt32());
            m_objPreview1.PreviewEnable("", 0, 1);

            m_objPreview2 = new MFPreviewClass();
            m_objPreview2.PreviewWindowSet("", panel2.Handle.ToInt32());
            m_objPreview2.PreviewEnable("", 0, 1);

            m_objPreview3 = new MFPreviewClass();
            m_objPreview3.PreviewWindowSet("", panel3.Handle.ToInt32());
            m_objPreview3.PreviewEnable("", 0, 1);

            m_objPreview4 = new MFPreviewClass();
            m_objPreview4.PreviewWindowSet("", panel4.Handle.ToInt32());
            m_objPreview4.PreviewEnable("", 0, 1);

            m_objPreview5 = new MFPreviewClass();
            m_objPreview5.PreviewWindowSet("", panel5.Handle.ToInt32());
            m_objPreview5.PreviewEnable("", 0, 1);

            m_objWriter1 = new MFWriterClass();
            m_objWriter2 = new MFWriterClass();
            m_objWriter3 = new MFWriterClass();
            m_objWriter4 = new MFWriterClass();
            m_objWriter5 = new MFWriterClass();

            cancelSource   = new CancellationTokenSource();
            m_threadWorker = new Thread(() => thread_DoWork(cancelSource.Token))
            {
                Name = "thread_DoWork"
            };
            m_threadWorker.Start();

            FillListBox();
        }
Example #13
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objReader     = new MFReaderClass();
            m_objPrev       = new MFPreviewClass();
            m_objPrevResize = new MFPreviewClass();

            m_objPrevResize.PreviewWindowSet("", panelThubNail.Handle.ToInt32());
            m_objPrevResize.PreviewEnable("", 1, 1);

            m_objPrev.PreviewWindowSet("", panel1.Handle.ToInt32());
            m_objPrev.PreviewEnable("", 1, 1);

            string a = " - MFormats SDK " + CheckVersionClass.GetVersion();

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();
        }
Example #14
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPrev = new MFPreviewClass();
            m_objRed  = new MFReaderClass();
            m_objWr1  = new MFWriterClass();
            WriterSet();


            m_objPrev.PreviewWindowSet("", Prewiew_panel.Handle.ToInt32());
            m_objPrev.PreviewEnable("", 1, 1);


            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();

            //System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
        }
Example #15
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPreviewPub = new MFPreviewClass();
            m_objPreviewRec = new MFPreviewClass();



            m_objWriter = new MFWriterClass();

            m_objPreviewPub.PreviewWindowSet("", panelPub.Handle.ToInt32());
            m_objPreviewPub.PreviewEnable("", PubAudio_chb.Checked?1:0, 1);

            m_objPreviewRec.PreviewWindowSet("", panelRec.Handle.ToInt32());
            m_objPreviewRec.PreviewEnable("", RecAudio_chb.Checked?1:0, 1);

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();
        }
Example #16
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPrev = new MFPreviewClass();
            m_objRed  = new MFReaderClass();
            m_objRed.PropsSet("external_process", "false");
            m_objWriter = new MFWriterClass();
            m_objWriter.PropsSet("external_process", "false");

            m_objWriter.WriterSet("", 0, "");

            m_objRed.ReaderOpen(openFilePath_txb.Text, "");
            m_objWriter.WriterSet(savePath_txb.Text, 0, @"format='mp4' video::codec='n264' video::size='720x1080' audio::codec='aac'");

            m_objPrev.PreviewWindowSet("", prevPanel.Handle.ToInt32());
            m_objPrev.PreviewEnable("", 1, 1);


            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            //m_threadWorker.Start();
        }
Example #17
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objReader = new MFReaderClass();

            m_objPreview = new MFPreviewClass();

            m_objPreview.PreviewWindowSet("", panel1.Handle.ToInt32());
            m_objPreview.PreviewEnable("", 1, 1);


            string[] files = { @"\\MLDiskStation\MLFiles\MediaTest\MP4\!audi_a7_borussia_vfl.mp4" };
            foreach (var i in files)
            {
                comboBox1.Items.Add(i);
            }
            comboBox1.SelectedIndex = 0;

            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();
        }
Example #18
0
 private void Form1_Load(object sender, EventArgs e)
 {
     reader = new MFReaderClass();
     prev   = new MFPreviewClass();
     writer = new MFWriterClass();
 }
Example #19
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objReader1 = new MFReaderClass();
            m_objReader2 = new MFReaderClass();
            m_objReader3 = new MFReaderClass();
            m_objReader4 = new MFReaderClass();
            m_objReader5 = new MFReaderClass();
            m_objReader6 = new MFReaderClass();
            m_objReader7 = new MFReaderClass();
            m_objReader8 = new MFReaderClass();

            m_objReader9  = new MFReaderClass();
            m_objReader10 = new MFReaderClass();
            m_objReader11 = new MFReaderClass();
            m_objReader12 = new MFReaderClass();
            m_objReader13 = new MFReaderClass();
            m_objReader14 = new MFReaderClass();
            m_objReader15 = new MFReaderClass();
            m_objReader16 = new MFReaderClass();

            m_objReader17 = new MFReaderClass();
            m_objReader18 = new MFReaderClass();
            m_objReader19 = new MFReaderClass();
            m_objReader20 = new MFReaderClass();
            m_objReader21 = new MFReaderClass();
            m_objReader22 = new MFReaderClass();
            m_objReader23 = new MFReaderClass();
            m_objReader24 = new MFReaderClass();

            m_objPrev1 = new MFPreviewClass();
            m_objPrev2 = new MFPreviewClass();
            m_objPrev3 = new MFPreviewClass();
            m_objPrev4 = new MFPreviewClass();
            m_objPrev5 = new MFPreviewClass();
            m_objPrev6 = new MFPreviewClass();
            m_objPrev7 = new MFPreviewClass();
            m_objPrev8 = new MFPreviewClass();

            m_objPrev9  = new MFPreviewClass();
            m_objPrev10 = new MFPreviewClass();
            m_objPrev11 = new MFPreviewClass();
            m_objPrev12 = new MFPreviewClass();
            m_objPrev13 = new MFPreviewClass();
            m_objPrev14 = new MFPreviewClass();
            m_objPrev15 = new MFPreviewClass();
            m_objPrev16 = new MFPreviewClass();

            m_objPrev17 = new MFPreviewClass();
            m_objPrev18 = new MFPreviewClass();
            m_objPrev19 = new MFPreviewClass();
            m_objPrev20 = new MFPreviewClass();
            m_objPrev21 = new MFPreviewClass();
            m_objPrev22 = new MFPreviewClass();
            m_objPrev23 = new MFPreviewClass();
            m_objPrev24 = new MFPreviewClass();

            m_objPrev1.PreviewWindowSet("", panel1.Handle.ToInt32());
            m_objPrev1.PreviewEnable("", 0, 1);

            m_objPrev2.PreviewWindowSet("", panel2.Handle.ToInt32());
            m_objPrev2.PreviewEnable("", 0, 1);

            m_objPrev3.PreviewWindowSet("", panel3.Handle.ToInt32());
            m_objPrev3.PreviewEnable("", 0, 1);

            m_objPrev4.PreviewWindowSet("", panel4.Handle.ToInt32());
            m_objPrev4.PreviewEnable("", 0, 1);

            m_objPrev5.PreviewWindowSet("", panel5.Handle.ToInt32());
            m_objPrev5.PreviewEnable("", 0, 1);

            m_objPrev6.PreviewWindowSet("", panel6.Handle.ToInt32());
            m_objPrev6.PreviewEnable("", 0, 1);

            m_objPrev7.PreviewWindowSet("", panel7.Handle.ToInt32());
            m_objPrev7.PreviewEnable("", 0, 1);

            m_objPrev8.PreviewWindowSet("", panel8.Handle.ToInt32());
            m_objPrev8.PreviewEnable("", 0, 1);

            m_objPrev9.PreviewWindowSet("", panel9.Handle.ToInt32());
            m_objPrev9.PreviewEnable("", 0, 1);

            m_objPrev10.PreviewWindowSet("", panel10.Handle.ToInt32());
            m_objPrev10.PreviewEnable("", 0, 1);

            m_objPrev11.PreviewWindowSet("", panel11.Handle.ToInt32());
            m_objPrev11.PreviewEnable("", 0, 1);

            m_objPrev12.PreviewWindowSet("", panel12.Handle.ToInt32());
            m_objPrev12.PreviewEnable("", 0, 1);

            m_objPrev13.PreviewWindowSet("", panel13.Handle.ToInt32());
            m_objPrev13.PreviewEnable("", 0, 1);

            m_objPrev14.PreviewWindowSet("", panel14.Handle.ToInt32());
            m_objPrev14.PreviewEnable("", 0, 1);

            m_objPrev15.PreviewWindowSet("", panel15.Handle.ToInt32());
            m_objPrev15.PreviewEnable("", 0, 1);

            m_objPrev16.PreviewWindowSet("", panel16.Handle.ToInt32());
            m_objPrev16.PreviewEnable("", 0, 1);

            m_objPrev17.PreviewWindowSet("", panel17.Handle.ToInt32());
            m_objPrev17.PreviewEnable("", 0, 1);

            m_objPrev18.PreviewWindowSet("", panel18.Handle.ToInt32());
            m_objPrev18.PreviewEnable("", 0, 1);

            m_objPrev19.PreviewWindowSet("", panel19.Handle.ToInt32());
            m_objPrev19.PreviewEnable("", 0, 1);

            m_objPrev20.PreviewWindowSet("", panel20.Handle.ToInt32());
            m_objPrev20.PreviewEnable("", 0, 1);

            m_objPrev21.PreviewWindowSet("", panel21.Handle.ToInt32());
            m_objPrev21.PreviewEnable("", 0, 1);

            m_objPrev22.PreviewWindowSet("", panel22.Handle.ToInt32());
            m_objPrev22.PreviewEnable("", 0, 1);

            m_objPrev23.PreviewWindowSet("", panel23.Handle.ToInt32());
            m_objPrev23.PreviewEnable("", 0, 1);

            m_objPrev24.PreviewWindowSet("", panel24.Handle.ToInt32());
            m_objPrev24.PreviewEnable("", 0, 1);



            cancelSource        = new CancellationTokenSource();
            m_threadWorker      = new Thread(() => thread_DoWork(cancelSource.Token));
            m_threadWorker.Name = "thread_DoWork";
            m_threadWorker.Start();

            //MFReaderClass[] Readers = new MFReaderClass[24];
            //for (int i = 0; i < Readers.Length; i++)
            //{
            //    Readers[i] = new MFReaderClass();
            //}
            //MFPreviewClass[] Prev = new MFPreviewClass[24];
            //for (int i = 0; i < Prev.Length; i++)
            //{
            //    Prev[i] = new MFPreviewClass();
            //}

            //for (int i = 0; i < Prev.Length; i++)
            //{
            //    panel1.Handle.ToInt32();
            //    Prev[i].PreviewWindowSet("", (Panel)("panel" + (i + 1))

            //}
        }