2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-12-18 21:34:57 +01:00

Herald v2 (#74)

* Add speech rate setting

* Add volume slider

* New speech manager skeleton

* User API key from resx

* Implement voice list retrieve via new api

* Rewrite to use ObAPI, remove all dependancies

* Use volume setting

* Clean up using statements

* Volume and timing adjustments

* Lookup rate value

* Use numeric rates for tighter spread

* Manage plugin data folder via core interface

* Add check that nullable settings are not null.

* Get file size before it's deleted.

* Improve old settings migration.

* Ignore cache sizes below 1MB

* Re-index orphaned files in cache, purge legacy wav files.

* Call top level error logging for native voice exception.

* Async title and detail requests to remove pause

* Remove NetCoreAudio use of temp files.

* Remove orphan using.
This commit is contained in:
Jonathan Miller
2022-04-04 11:58:30 -02:30
committed by GitHub
parent 3cc8cc3abe
commit 1950d477fd
19 changed files with 1127 additions and 288 deletions

View File

@@ -1,9 +1,6 @@
using Observatory.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Observatory.Herald
{
@@ -15,15 +12,40 @@ namespace Observatory.Herald
[SettingDisplayName("Voice")]
[SettingBackingValue("SelectedVoice")]
[System.Text.Json.Serialization.JsonIgnore]
public Dictionary<string, object> Voices { get; internal set; }
public Dictionary<string, object> Voices {get; internal set;}
[SettingIgnore]
public string SelectedVoice { get; set; }
[SettingBackingValue("SelectedRate")]
public Dictionary<string, object> Rate
{ get => new Dictionary<string, object>
{
{"Slowest", "0.5"},
{"Slower", "0.75"},
{"Default", "1.0"},
{"Faster", "1.25"},
{"Fastest", "1.5"}
};
}
[SettingIgnore]
public string SelectedRate { get; set; }
[SettingDisplayName("Volume")]
[SettingNumericUseSlider, SettingNumericBounds(0,100,1)]
public int Volume { get; set;}
[System.Text.Json.Serialization.JsonIgnore]
public Action Test { get; internal set; }
[SettingDisplayName("Enabled")]
public bool Enabled { get; set; }
[SettingIgnore]
public string ApiEndpoint { get; set; }
[SettingDisplayName("Cache Size (MB): ")]
public int CacheSize { get; set; }
}
}