+
+ instance.MainForm.KeyDown += MainForm_KeyDown;
+ }
+
+ /// <summary>
+ /// Plugin shut-down entry
+ /// </summary>
+ /// <param name="inst"></param>
+ /// <remarks>Called by Radegast at shut-down, or when Speech is switched off.
+ /// We use this to release system resources.</remarks>
+ public void StopPlugin(RadegastInstance inst)
+ {
+ instance.MainForm.KeyDown -= MainForm_KeyDown;
+ SpeechButton.Dispose();
+ Shutdown();
+ }
+
+ void MainForm_KeyDown(object sender, KeyEventArgs e)
+ {
+ // Ctrl-Shift-R toggle speech rate
+ if (e.Modifiers == (Keys.Control | Keys.Shift) && e.KeyCode == Keys.R)
+ {
+ e.Handled = e.SuppressKeyPress = true;
+ OSDMap props = (OSDMap)config["properties"];
+ if (props["voice_speed"] == "slow")
+ {
+ props["voice_speed"] = "medium";
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("slow", false)[0]).Checked = false;
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("medium", false)[0]).Checked = true;
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("fast", false)[0]).Checked = false;
+ }
+ else if (props["voice_speed"] == "medium")
+ {
+ props["voice_speed"] = "fast";
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("slow", false)[0]).Checked = false;
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("medium", false)[0]).Checked = false;
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("fast", false)[0]).Checked = true;
+ }
+ else
+ {
+ props["voice_speed"] = "slow";
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("slow", false)[0]).Checked = true;
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("medium", false)[0]).Checked = false;
+ ((ToolStripMenuItem)SpeechButton.DropDownItems.Find("fast", false)[0]).Checked = false;
+ }
+
+ instance.TabConsole.DisplayNotificationInChat("Voice rate set to " + props["voice_speed"]);
+ return;
+ }