private void AssignToSetting(IVoiceSetting setting) { PropertyChanged += (_, e) => { if (e.PropertyName == nameof(VoiceType)) { setting.VoiceType = VoiceType; } else if (e.PropertyName == nameof(TextConverterType)) { setting.TextConverterType = TextConverterType; } else if (e.PropertyName == nameof(Volume)) { setting.Volume = Volume; } else if (e.PropertyName == nameof(Speed)) { setting.Speed = Speed; } else if (e.PropertyName == nameof(Pitch)) { setting.Pitch = Pitch; } }; PropertyChangedEventManager.AddHandler(setting, OnModelPropertyChanged, string.Empty); }
private void AssignToSetting(IVoiceSetting setting) { PropertyChanged += (_, e) => { if(e.PropertyName == nameof(VoiceType)) { setting.VoiceType = VoiceType; } else if(e.PropertyName == nameof(TextConverterType)) { setting.TextConverterType = TextConverterType; } else if(e.PropertyName == nameof(Volume)) { setting.Volume = Volume; } else if(e.PropertyName == nameof(Speed)) { setting.Speed = Speed; } else if(e.PropertyName == nameof(Pitch)) { setting.Pitch = Pitch; } }; PropertyChangedEventManager.AddHandler(setting, OnModelPropertyChanged, string.Empty); }
/// <summary>音声合成の担当インスタンスと設定をもとにインスタンスを初期化します。</summary> /// <param name="synther">音声合成の担当インスタンス</param> /// <param name="setting">発声の設定</param> public VoiceOperator(IVoiceSetting setting) { _setting = setting; AvailableVoices = VoiceSynthesizerLoader.LoadAvailableVoices(); AvailableTextConverters = TextToPronounceConverterLoader.LoadAvailableTextConverters(); _currentSynthesizerName = setting.VoiceType; _textToPronounceConverterName = setting.TextConverterType; }
public VoiceViewModel(IVoiceSetting setting) { VoiceType = setting.VoiceType; TextConverterType = setting.TextConverterType; Volume = setting.Volume; Speed = setting.Speed; Pitch = setting.Pitch; AllVoices = setting.AvailableVoices .OrderBy(v => v) .ToArray(); AllTextConverters = setting.AvailableTextConverters .OrderBy(c => c) .ToArray(); AssignToSetting(setting); }