FromFile() public static method

Obtain configuration from a file. If the file name is not supplied the the default path of Constants.Data_DIR\speechresponder.json is used
public static FromFile ( string filename = null ) : SpeechResponderConfiguration
filename string
return SpeechResponderConfiguration
Ejemplo n.º 1
0
        public ConfigurationWindow()
        {
            InitializeComponent();
            DataContext = this;

            ObservableCollection <Personality> personalities = new ObservableCollection <Personality>();

            // Add our default personality
            personalities.Add(Personality.Default());
            foreach (Personality personality in Personality.AllFromDirectory())
            {
                personalities.Add(personality);
            }
            // Add local personalities
            foreach (Personality personality in personalities)
            {
                Logging.Debug("Found personality " + personality.Name);
            }
            Personalities = personalities;

            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();

            subtitlesCheckbox.IsChecked = configuration.Subtitles;

            foreach (Personality personality in Personalities)
            {
                if (personality.Name == configuration.Personality)
                {
                    Personality = personality;
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Change the personality for the speech responder
        /// </summary>
        /// <returns>true if the speech responder is now using the new personality, otherwise false</returns>
        public bool SetPersonality(string newPersonality)
        {
            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();

            if (newPersonality == configuration.Personality)
            {
                // Already set to this personality
                return(true);
            }

            // Ensure that this personality exists
            Personality personality = Personality.FromName(newPersonality);

            if (personality != null)
            {
                // Yes it does; use it
                configuration.Personality = newPersonality;
                configuration.ToFile();
                scriptResolver = new ScriptResolver(personality.Scripts);
                Logging.Debug("Changed personality to " + newPersonality);
                return(true);
            }
            else
            {
                // No it does not; ignore it
                return(false);
            }
        }
Ejemplo n.º 3
0
 private void subtitlesOnlyDisabled(object sender, RoutedEventArgs e)
 {
     SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
     configuration.SubtitlesOnly = false;
     configuration.ToFile();
     EDDI.Instance.Reload("Speech responder");
 }
Ejemplo n.º 4
0
 private void personalityChanged(object sender, SelectionChangedEventArgs e)
 {
     if (Personality != null)
     {
         SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
         configuration.Personality = Personality.Name;
         configuration.ToFile();
         EDDI.Instance.Reload("Speech responder");
     }
 }
Ejemplo n.º 5
0
        public ConfigurationWindow()
        {
            InitializeComponent();
            DataContext = this;

            ObservableCollection <Personality> personalities = new ObservableCollection <Personality>
            {
                // Add our default personality
                Personality.Default()
            };

            // Add local personalities
            foreach (Personality personality in Personality.AllFromDirectory())
            {
                if (personality != null)
                {
                    personalities.Add(personality);
                }
            }
            Personalities = personalities;

            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();

            subtitlesCheckbox.IsChecked     = configuration.Subtitles;
            subtitlesOnlyCheckbox.IsChecked = configuration.SubtitlesOnly;

            foreach (Personality personality in Personalities)
            {
                if (personality.Name == configuration.Personality)
                {
                    Personality = personality;
                    break;
                }
            }

            Dispatcher.BeginInvoke(new Action(() =>
            {
                var recoveredScript = ScriptRecoveryService.GetRecoveredScript();
                if (recoveredScript != null)
                {
                    var messageBoxResult = MessageBox.Show(Properties.SpeechResponder.messagebox_recoveredScript,
                                                           Properties.SpeechResponder.messagebox_recoveredScript_title,
                                                           MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Yes,
                                                           MessageBoxOptions.DefaultDesktopOnly);
                    if (messageBoxResult == MessageBoxResult.Yes)
                    {
                        Personality.Scripts[recoveredScript.Name] = recoveredScript;
                        OpenEditScriptWindow(recoveredScript);
                    }
                }
            }), DispatcherPriority.ApplicationIdle);
        }
Ejemplo n.º 6
0
 private void subtitlesOnlyEnabled(object sender, RoutedEventArgs e)
 {
     if (sender is CheckBox checkBox)
     {
         if (checkBox.IsLoaded)
         {
             SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
             configuration.SubtitlesOnly = true;
             configuration.ToFile();
             EDDI.Instance.Reload("Speech responder");
         }
     }
 }
        public void Reload()
        {
            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
            Personality personality = Personality.FromName(configuration.Personality);

            if (personality == null)
            {
                Logging.Warn("Failed to find named personality; falling back to default");
                personality = Personality.Default();
                configuration.Personality = personality.Name;
                configuration.ToFile();
            }
            scriptResolver = new ScriptResolver(personality.Scripts);
            Logging.Info("Reloaded " + ResponderName() + " " + ResponderVersion());
        }
        public SpeechResponder()
        {
            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
            Personality personality = null;

            if (configuration != null && configuration.Personality != null)
            {
                personality = Personality.FromName(configuration.Personality);
            }
            if (personality == null)
            {
                personality = Personality.Default();
            }
            scriptResolver = new ScriptResolver(personality.Scripts);
            Logging.Info("Initialised " + ResponderName() + " " + ResponderVersion());
        }
Ejemplo n.º 9
0
        public void Reload()
        {
            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
            Personality personality = Personality.FromName(configuration.Personality);

            if (personality == null)
            {
                Logging.Warn("Failed to find named personality; falling back to default");
                personality = Personality.Default();
                configuration.Personality = personality.Name;
                configuration.ToFile();
            }
            scriptResolver = new ScriptResolver(personality.Scripts);
            subtitles      = configuration.Subtitles;
            subtitlesOnly  = configuration.SubtitlesOnly;
            Logging.Debug($"Reloaded {ResponderName()}");
        }
Ejemplo n.º 10
0
        public SpeechResponder()
        {
            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();
            Personality personality = null;

            if (configuration != null && configuration.Personality != null)
            {
                personality = Personality.FromName(configuration.Personality);
            }
            if (personality == null)
            {
                personality = Personality.Default();
            }
            scriptResolver = new ScriptResolver(personality?.Scripts);
            subtitles      = configuration?.Subtitles ?? false;
            subtitlesOnly  = configuration?.SubtitlesOnly ?? false;
            Logging.Info($"Initialized {ResponderName()}");
        }
Ejemplo n.º 11
0
        public ConfigurationWindow()
        {
            InitializeComponent();
            DataContext = this;

            ObservableCollection <Personality> personalities = new ObservableCollection <Personality>
            {
                // Add our default personality
                Personality.Default()
            };

            // Add local personalities
            foreach (Personality personality in Personality.AllFromDirectory())
            {
                if (personality != null)
                {
                    personalities.Add(personality);
                }
            }
            Personalities = personalities;

            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();

            subtitlesCheckbox.IsChecked     = configuration.Subtitles;
            subtitlesOnlyCheckbox.IsChecked = configuration.SubtitlesOnly;

            foreach (Personality personality in Personalities)
            {
                if (personality.Name == configuration.Personality)
                {
                    Personality = personality;
                    personalityDefaultTxt(personality);
                    break;
                }
            }
        }