protected override void SaveSettings(PropertyBag props)
        {
            base.SaveSettings(props);
            props.Add("systray_mode", nicon.SystemTray);
            props.Add("systray_always", nicon.ShowTrayAlways);

            props.Add("start_fullscreen", bStartFullscreen);
            props.Add("center_window", bCenterWindow);
            props.Add("top_most_window", bTopMost);

            props.Add("auto_play", mediaControl.AutoPlay);
            props.Add("preferred_renderer", (int)mediaControl.PreferredVideoRenderer);
            props.Add("show_logo", mediaControl.ShowLogo);
            props.Add("repeat_on", mediaControl.Repeat);
            // props.Add("use_preferred_filters", engine.UsePreferredFilters);
            // props.Add("use_preferred_filters_4dvd", engine.UsePreferredFilters4DVD);

            props.Add("controlbar_on", bInit ? controlbar.Visible : true);

            props.Add("ui_language", Thread.CurrentThread.CurrentUICulture.Name);

            using (var manager = new MediaTypeManager())
            {
                manager.Save(props.Add);
            }
        }
        private void UserControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            MediaTypeManager lMediaTypeManager = (MediaTypeManager)this.Resources["mMediaTypeManager"];

            if (lMediaTypeManager == null)
            {
                return;
            }

            lMediaTypeManager.CurrentSource = DataContext;
        }
        private void OnSettingsApply(object sender, EventArgs e)
        {
            SettingsForm dlg = (SettingsForm)sender;

            htKeys      = dlg.KeysTable;
            wheelAction = dlg.MouseWheelAction;

            mediaControl.AutoPlay = dlg.AutoPlay;
            mediaControl.PreferredVideoRenderer = dlg.VideoRenderer;
            mediaControl.ShowLogo = dlg.ShowLogo;
            // engine.UsePreferredFilters = dlg.UsePreferredFilters;
            // engine.UsePreferredFilters4DVD = dlg.UsePreferredFilters4DVD;

            using (var manager = new MediaTypeManager())
            {
                string[] astrTypes = manager.TypeNames;
                foreach (string type in astrTypes)
                {
                    manager.SetTypesClsid(type, dlg.GetTypeClsid(type));
                }
            }

            screenshotsFolder = dlg.ScreenshotsFolder;
            bRememberVolume   = dlg.RememberVolume;
            bStartFullscreen  = dlg.StartFullscreen;
            bCenterWindow     = dlg.CenterWindow;
            bTopMost          = dlg.AlwaysOnTop;
            if (!bFullscreen)
            {
                TopMost = bTopMost;
            }

            nicon.SystemTray     = dlg.SystemTray;
            nicon.ShowTrayAlways = dlg.ShowTrayAlways;
            if (!dlg.RestartTriggered)
            {
                HandleSystemTray();
            }

            LoadSaveSettings(false);
            if (dlg.FileTypesChanged)
            {
                AssociateFiles(dlg);
            }
        }
Beispiel #4
0
 private static void RetrieveVideoRenderers(object state)
 {
     if (_renderers == null)
     {
         lock (_syncRoot)
         {
             if (_renderers == null)
             {
                 try
                 {
                     using (var manager = new MediaTypeManager())
                     {
                         _renderers = manager.GetPresentVideoRenderers();
                     }
                 }
                 catch
                 {
                     _renderers = new Renderer[] { };
                 }
             }
         }
     }
 }
        protected override void LoadSettings(PropertyBag props)
        {
            base.LoadSettings(props);
            nicon.SystemTray     = props.Get <int>("systray_mode", 0); // 0 - taskbar only
            nicon.ShowTrayAlways = props.Get <bool>("systray_always", false);

            bStartFullscreen = props.Get <bool>("start_fullscreen", false);
            bCenterWindow    = props.Get <bool>("center_window", true);
            bTopMost         = props.Get <bool>("top_most_window", false);

            mediaControl.AutoPlay = props.Get <bool>("auto_play", true);

            int  nRenderer;
            bool bRendererSet = props.TryGetValue <int>("preferred_renderer", out nRenderer);

            if (!bRendererSet)
            {
                nRenderer = (int)MediaEngineServiceProvider.RecommendedRenderer;
            }
            int[] values = (int[])Enum.GetValues(typeof(Renderer));
            mediaControl.PreferredVideoRenderer = (nRenderer >= 0 && nRenderer <= values[values.Length - 1])
                ? (Renderer)nRenderer : Renderer.VR;

            mediaControl.ShowLogo = props.Get <bool>("show_logo", true);
            mediaControl.Repeat   = props.Get <bool>("repeat_on", false);
            // engine.UsePreferredFilters = props.Get<bool>("use_preferred_filters", false);
            // engine.UsePreferredFilters4DVD = props.Get<bool>("use_preferred_filters_4dvd", false);

            controlbar.Visible = props.Get <bool>("controlbar_on", true);

            ChangeCurrentCulture(props.Get <string>("ui_language", null));

            using (var manager = new MediaTypeManager())
            {
                manager.Load(props.Get);
            }
        }
 public StreamInfo()
 {
     _mediaTypeManager = new MediaTypeManager();
 }
        public string GetVideoSubType()
        {
            string strFormat = String.Empty;

            // check Packed YUV Formats
            if (SubType == MediaSubType.AYUV)
            {
                strFormat = "4:4:4 YUV format";
            }
            else if (SubType == MediaSubType.UYVY)
            {
                strFormat = "UYVY (packed 4:2:2)";
            }
            else if (SubType == MediaSubType.Y411)
            {
                strFormat = "Y41P (packed 4:1:1)";
            }
            else if (SubType == MediaSubType.Y41P)
            {
                strFormat = "Y41P (packed 4:1:1)";
            }
            else if (SubType == MediaSubType.Y211)
            {
                strFormat = "Y211";
            }
            else if (SubType == MediaSubType.YUY2)
            {
                strFormat = "YUY2 (packed 4:2:2)";
            }
            else if (SubType == MediaSubType.YVYU)
            {
                strFormat = "YVYU (packed 4:2:2)";
            }
            else if (SubType == MediaSubType.YUYV)
            {
                strFormat = "YUYV (packed 4:2:2)";
            }
            else if (SubType == MediaSubType.IF09) // now check Planar YUV Formats
            {
                strFormat = "Indeo YVU9";
            }
            else if (SubType == MediaSubType.IYUV)
            {
                strFormat = "IYUV";
            }
            else if (SubType == MediaSubType.YV12)
            {
                strFormat = "YV12";
            }
            else if (SubType == MediaSubType.YVU9)
            {
                strFormat = "YVU9";
            }
            else if (SubType == MediaSubType.RGB1) // let's check Uncompressed RGB Video Subtypes
            {
                strFormat = "RGB, 1 bit per pixel (bpp), palettized";
            }
            else if (SubType == MediaSubType.RGB4)
            {
                strFormat = "RGB, 4 bpp, palettized";
            }
            else if (SubType == MediaSubType.RGB8)
            {
                strFormat = "RGB, 8 bpp";
            }
            else if (SubType == MediaSubType.RGB565)
            {
                strFormat = "RGB 565, 16 bpp";
            }
            else if (SubType == MediaSubType.RGB555)
            {
                strFormat = "RGB 555, 16 bpp";
            }
            else if (SubType == MediaSubType.RGB24)
            {
                strFormat = "RGB, 24 bpp";
            }
            else if (SubType == MediaSubType.RGB32)
            {
                strFormat = "RGB, 32 bpp, no alpha channel";
            }
            else if (SubType == MediaSubType.ARGB32)
            {
                strFormat = "RGB, 32 bpp, alpha channel";
            }
            else if (SubType == MediaSubType.QTJpeg)
            {
                strFormat = "QuickTime JPEG compressed data";
            }
            else if (SubType == MediaSubType.QTMovie)
            {
                strFormat = "Apple QuickTime® compression";
            }
            else if (SubType == MediaSubType.QTRle)
            {
                strFormat = "QuickTime RLE compressed data";
            }
            else if (SubType == MediaSubType.QTRpza)
            {
                strFormat = "QuickTime RPZA compressed data";
            }
            else if (SubType == MediaSubType.QTSmc)
            {
                strFormat = "QuickTime SMC compressed data";
            }

            if (strFormat.Length != 0)
            {
                return(strFormat);
            }
            strFormat = _mediaTypeManager.GetTypeName(MajorType, SubType);
            return(strFormat != null ? strFormat : MediaTypeManager.GetFourCC(SubType));
        }