private void EditExternalPlayer(CommonConfigData.ExternalPlayer externalPlayer, bool isNew)
        {
            var form = new ExternalPlayerForm(isNew)
            {
                Owner = this, WindowStartupLocation = WindowStartupLocation.CenterOwner
            };

            form.FillControlsFromObject(externalPlayer);

            if (form.ShowDialog() == true)
            {
                form.UpdateObjectFromControls(externalPlayer);

                if (isNew)
                {
                    commonConfig.ExternalPlayers.Add(externalPlayer);
                }

                SaveConfig();

                RefreshPlayers();

                lstExternalPlayers.SelectedItem = externalPlayer;
            }
        }
        /// <summary>
        /// Gets the default configuration that will be pre-populated into the UI of the configurator.
        /// </summary>
        public override CommonConfigData.ExternalPlayer GetDefaultConfiguration()
        {
            CommonConfigData.ExternalPlayer config = base.GetDefaultConfiguration();

            config.LaunchType = CommonConfigData.ExternalPlayerLaunchType.WMCNavigate;

            return(config);
        }
        /// <summary>
        /// Gets the default configuration that will be pre-populated into the UI of the configurator.
        /// </summary>
        public override CommonConfigData.ExternalPlayer GetDefaultConfiguration()
        {
            CommonConfigData.ExternalPlayer config = base.GetDefaultConfiguration();

            config.SupportsPlaylists = false;
            config.SupportsMultiFileCommandArguments = false;

            return(config);
        }
Ejemplo n.º 4
0
        public override void ConfigureUserSettings(CommonConfigData.ExternalPlayer currentConfiguration)
        {
            string iniPath = GetIniFilePath(currentConfiguration);

            if (string.IsNullOrEmpty(iniPath))
            {
                ConfigureUserSettingsIntoRegistry();
            }
            else
            {
                ConfigureUserSettingsIntoINIFile(iniPath);
            }
        }
        /// <summary>
        /// Gets the default configuration that will be pre-populated into the UI of the configurator.
        /// </summary>
        public virtual CommonConfigData.ExternalPlayer GetDefaultConfiguration()
        {
            CommonConfigData.ExternalPlayer config = new CommonConfigData.ExternalPlayer();

            config.ExternalPlayerName = ExternalPlayerName;
            config.LaunchType = CommonConfigData.ExternalPlayerLaunchType.CommandLine;
            config.SupportsPlaylists = true;
            config.SupportsMultiFileCommandArguments = false;
            config.ShowSplashScreen = true;
            config.MinimizeMCE = true;
            config.Args = "{0}";

            return config;
        }
        /// <summary>
        /// Gets the default configuration that will be pre-populated into the UI of the configurator.
        /// </summary>
        public virtual CommonConfigData.ExternalPlayer GetDefaultConfiguration()
        {
            CommonConfigData.ExternalPlayer config = new CommonConfigData.ExternalPlayer();

            config.ExternalPlayerName = ExternalPlayerName;
            config.LaunchType         = CommonConfigData.ExternalPlayerLaunchType.CommandLine;
            config.SupportsPlaylists  = true;
            config.SupportsMultiFileCommandArguments = false;
            config.ShowSplashScreen = true;
            config.MinimizeMCE      = true;
            config.Args             = "{0}";

            return(config);
        }
Ejemplo n.º 7
0
        public void UpdateObjectFromControls(CommonConfigData.ExternalPlayer externalPlayer)
        {
            PlayableExternalConfigurator uiConfigurator = PlayableItemFactory.Instance.GetPlayableExternalConfiguratorByName(ExternalPlayerName);
            var externalPlayerDefault = uiConfigurator.GetDefaultConfiguration();

            externalPlayer.LaunchType         = externalPlayerDefault.LaunchType;
            externalPlayer.ExternalPlayerName = lstPlayerType.SelectedItem.ToString();

            externalPlayer.Args    = txtArguments.Text;
            externalPlayer.Command = txtCommand.Text;

            externalPlayer.MinimizeMCE      = chkMinimizeMce.IsChecked.Value;
            externalPlayer.ShowSplashScreen = chkShowSplashScreen.IsChecked.Value;
            //externalPlayer.HideTaskbar = chkHideTaskbar.IsChecked.Value;
            externalPlayer.SupportsMultiFileCommandArguments = chkSupportsMultiFileCommand.IsChecked.Value;
            externalPlayer.SupportsPlaylists = chkSupportsPLS.IsChecked.Value;

            externalPlayer.MediaTypes   = (lstMediaTypes.ItemsSource as EnumWrapperList <MediaType>).GetCheckedValues();
            externalPlayer.VideoFormats = (lstVideoFormats.ItemsSource as EnumWrapperList <VideoFormat>).GetCheckedValues();
        }
Ejemplo n.º 8
0
        private static string GetIniFilePath(CommonConfigData.ExternalPlayer currentConfiguration)
        {
            string directory = Path.GetDirectoryName(currentConfiguration.Command);

            string path = Path.Combine(directory, "mpc-hc.ini");

            if (File.Exists(path))
            {
                return(path);
            }

            path = Path.Combine(directory, "mpc-hc64.ini");

            if (File.Exists(path))
            {
                return(path);
            }

            return(string.Empty);
        }
Ejemplo n.º 9
0
        public void FillControlsFromObject(CommonConfigData.ExternalPlayer externalPlayer, PlayableExternalConfigurator uiConfigurator, bool refreshMediaTypes, bool refreshVideoFormats)
        {
            lstPlayerType.SelectedItem = externalPlayer.ExternalPlayerName;

            txtArguments.Text = externalPlayer.Args;

            chkMinimizeMce.IsChecked      = externalPlayer.MinimizeMCE;
            chkShowSplashScreen.IsChecked = externalPlayer.ShowSplashScreen;
            //chkHideTaskbar.IsChecked = externalPlayer.HideTaskbar;
            chkSupportsMultiFileCommand.IsChecked = externalPlayer.SupportsMultiFileCommandArguments;
            chkSupportsPLS.IsChecked = externalPlayer.SupportsPlaylists;

            if (refreshMediaTypes)
            {
                EnumWrapperList <MediaType> mediaTypes = lstMediaTypes.ItemsSource as EnumWrapperList <MediaType>;
                mediaTypes.SetValues(externalPlayer.MediaTypes);
                SetListDataSource(lstMediaTypes, mediaTypes);
            }

            if (refreshVideoFormats)
            {
                EnumWrapperList <VideoFormat> videoFormats = lstVideoFormats.ItemsSource as EnumWrapperList <VideoFormat>;
                videoFormats.SetValues(externalPlayer.VideoFormats);
                SetListDataSource(lstVideoFormats, videoFormats);
            }

            SetControlVisibility(uiConfigurator);
            SetTips(uiConfigurator);

            if (string.IsNullOrEmpty(externalPlayer.Command))
            {
                AutoFillPaths(uiConfigurator);
            }
            else
            {
                txtCommand.Text = externalPlayer.Command;
            }
        }
Ejemplo n.º 10
0
 public void FillControlsFromObject(CommonConfigData.ExternalPlayer externalPlayer)
 {
     FillControlsFromObject(externalPlayer, PlayableItemFactory.Instance.GetPlayableExternalConfiguratorByName(externalPlayer.ExternalPlayerName), true, true);
 }
 public virtual void ConfigureUserSettings(CommonConfigData.ExternalPlayer currentConfiguration)
 {
 }