private void HandleDoubleClick(object sender, EventArgs e) { SsmlOption selectedOption = null; foreach (SsmlOption option in GetActiveOptions()) { if (listBox.SelectedItem == option.text) { selectedOption = option; break; } } if (selectedOption == null) { return; } HandleSelectNewOption(selectedOption); }
private void HandleSelectNewOption(SsmlOption option) { trackUserOptions.Add(option.text); if (option.isFinalOption()) { var tags = option.GetTags(); var wrapStart = textToRead.SelectionStart; var wrapEnd = textToRead.SelectionStart + textToRead.SelectionLength; string newText = textToRead.Text; newText = newText.Insert(wrapEnd, tags[1]); newText = newText.Insert(wrapStart, tags[0]); textToRead.Text = newText; ResetOptions(); } this.SetItems(); }
private void InitializeOptions() { this.options.Clear(); { SsmlOption breakOption = new SsmlOption("break", "Break", OptionType.Insert); SsmlOption strengthOption = new SsmlOption("strength", "Strength"); strengthOption.AddToChildren(new SsmlOption("x-weak")); strengthOption.AddToChildren(new SsmlOption("weak")); strengthOption.AddToChildren(new SsmlOption("medium")); strengthOption.AddToChildren(new SsmlOption("strong")); strengthOption.AddToChildren(new SsmlOption("x-strong")); SsmlOption timeOption = new SsmlOption("time", "Time"); timeOption.AddToChildren(new SsmlOption("100ms", "100 ms")); timeOption.AddToChildren(new SsmlOption("200ms", "200 ms")); timeOption.AddToChildren(new SsmlOption("300ms", "300 ms")); timeOption.AddToChildren(new SsmlOption("400ms", "400 ms")); timeOption.AddToChildren(new SsmlOption("500ms", "500 ms")); timeOption.AddToChildren(new SsmlOption("600ms", "600 ms")); timeOption.AddToChildren(new SsmlOption("700ms", "700 ms")); timeOption.AddToChildren(new SsmlOption("800ms", "800 ms")); timeOption.AddToChildren(new SsmlOption("900ms", "900 ms")); timeOption.AddToChildren(new SsmlOption("1000ms", "1000 ms")); timeOption.AddToChildren(new SsmlOption("1500ms", "1500 ms")); timeOption.AddToChildren(new SsmlOption("2000ms", "2000 ms")); breakOption.AddToChildren(timeOption); breakOption.AddToChildren(strengthOption); this.options.Add(breakOption); } { SsmlOption prosodyOption = new SsmlOption("prosody", "Prosody (volume, rate, duration, pitch)", OptionType.Wrap); SsmlOption pitchOption = new SsmlOption("pitch", "Pitch"); pitchOption.AddToChildren(new SsmlOption("x-low")); pitchOption.AddToChildren(new SsmlOption("low")); pitchOption.AddToChildren(new SsmlOption("medium")); pitchOption.AddToChildren(new SsmlOption("high")); pitchOption.AddToChildren(new SsmlOption("x-high")); pitchOption.AddToChildren(new SsmlOption("default")); SsmlOption rateOption = new SsmlOption("rate", "Rate"); rateOption.AddToChildren(new SsmlOption("x-slow")); rateOption.AddToChildren(new SsmlOption("slow")); rateOption.AddToChildren(new SsmlOption("medium")); rateOption.AddToChildren(new SsmlOption("fast")); rateOption.AddToChildren(new SsmlOption("x-fast")); rateOption.AddToChildren(new SsmlOption("default")); SsmlOption durationOption = new SsmlOption("duration", "Duration"); durationOption.AddToChildren(new SsmlOption("250ms", "250 ms")); durationOption.AddToChildren(new SsmlOption("500ms", "500 ms")); durationOption.AddToChildren(new SsmlOption("750ms", "750 ms")); durationOption.AddToChildren(new SsmlOption("1000ms", "1000 ms")); durationOption.AddToChildren(new SsmlOption("1250ms", "1250 ms")); durationOption.AddToChildren(new SsmlOption("1500ms", "1500 ms")); durationOption.AddToChildren(new SsmlOption("2000ms", "2000 ms")); SsmlOption volumeOption = new SsmlOption("volume", "Volume"); volumeOption.AddToChildren(new SsmlOption("0", "0%")); volumeOption.AddToChildren(new SsmlOption("25", "25%")); volumeOption.AddToChildren(new SsmlOption("50", "50%")); volumeOption.AddToChildren(new SsmlOption("75", "75%")); volumeOption.AddToChildren(new SsmlOption("95", "95%")); volumeOption.AddToChildren(new SsmlOption("100", "100%")); prosodyOption.AddToChildren(volumeOption); prosodyOption.AddToChildren(rateOption); prosodyOption.AddToChildren(durationOption); prosodyOption.AddToChildren(pitchOption); this.options.Add(prosodyOption); } }
public void AddToChildren(SsmlOption child) { this.children.Add(child); child.parent = this; }