private void subtitlesOnlyDisabled(object sender, RoutedEventArgs e) { SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile(); configuration.SubtitlesOnly = false; configuration.ToFile(); EDDI.Instance.Reload("Speech responder"); }
/// <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); } }
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; } } }
/// <summary> /// Obtain configuration from a file. If the file name is not supplied the the default /// path of Constants.Data_DIR\speechresponder.json is used /// </summary> public static SpeechResponderConfiguration FromFile(string filename = null) { if (filename == null) { filename = Constants.DATA_DIR + @"\speechresponder.json"; } SpeechResponderConfiguration configuration = new SpeechResponderConfiguration(); try { configuration = JsonConvert.DeserializeObject <SpeechResponderConfiguration>(File.ReadAllText(filename)); } catch (Exception ex) { Logging.Debug("Failed to read speech responder configuration", ex); } if (configuration == null) { configuration = new SpeechResponderConfiguration(); } if (configuration.Personality == null) { configuration.Personality = "EDDI"; configuration.ToFile(); } configuration.dataPath = filename; return(configuration); }
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"); } }
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); }
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()); }
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()}"); }
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()}"); }
/// <summary> /// Obtain configuration from a file. If the file name is not supplied the the default /// path of Constants.Data_DIR\speechresponder.json is used /// </summary> public static SpeechResponderConfiguration FromFile(string filename = null) { if (filename == null) { filename = Constants.DATA_DIR + @"\speechresponder.json"; } SpeechResponderConfiguration configuration = new SpeechResponderConfiguration(); try { configuration = JsonConvert.DeserializeObject<SpeechResponderConfiguration>(File.ReadAllText(filename)); } catch { } if (configuration.Personality == null) { configuration.Personality = "EDDI"; configuration.ToFile(); } configuration.dataPath = filename; return configuration; }
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; } } }