From 1b0758d9975bbbb6e310565736ab6eb98c010961 Mon Sep 17 00:00:00 2001 From: Paissa Heavy Industries <50399685+paissaheavyindustries@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:55:47 +0300 Subject: [PATCH] 1.2.0.6 --- Source/Triggernometry/Configuration.cs | 6 + .../CustomControls/ActionEditor.Designer.cs | 63 +++++ .../CustomControls/ActionEditor.cs | 20 ++ .../CustomControls/ActionEditor.resx | 120 +++++++++ .../CustomControls/TriggerEditor.Designer.cs | 200 +++++++++++++++ .../CustomControls/TriggerEditor.cs | 20 ++ .../CustomControls/TriggerEditor.resx | 120 +++++++++ .../Forms/ConfigurationForm2.Designer.cs | 226 ++++++++++++----- .../Forms/ConfigurationForm2.cs | 26 ++ .../Forms/ConfigurationForm2.resx | 136 +++++++--- .../Forms/TriggerForm2.Designer.cs | 238 ++++++++++++++++++ Source/Triggernometry/Forms/TriggerForm2.cs | 20 ++ Source/Triggernometry/Forms/TriggerForm2.resx | 120 +++++++++ .../Triggernometry/Properties/AssemblyInfo.cs | 4 +- Source/Triggernometry/RealPlugin.cs | 72 +++++- .../TriggernometryPlugin.csproj | 27 ++ .../Properties/AssemblyInfo.cs | 4 +- 17 files changed, 1317 insertions(+), 105 deletions(-) create mode 100644 Source/Triggernometry/CustomControls/ActionEditor.Designer.cs create mode 100644 Source/Triggernometry/CustomControls/ActionEditor.cs create mode 100644 Source/Triggernometry/CustomControls/ActionEditor.resx create mode 100644 Source/Triggernometry/CustomControls/TriggerEditor.Designer.cs create mode 100644 Source/Triggernometry/CustomControls/TriggerEditor.cs create mode 100644 Source/Triggernometry/CustomControls/TriggerEditor.resx create mode 100644 Source/Triggernometry/Forms/TriggerForm2.Designer.cs create mode 100644 Source/Triggernometry/Forms/TriggerForm2.cs create mode 100644 Source/Triggernometry/Forms/TriggerForm2.resx diff --git a/Source/Triggernometry/Configuration.cs b/Source/Triggernometry/Configuration.cs index 235d9fe..07df727 100644 --- a/Source/Triggernometry/Configuration.cs +++ b/Source/Triggernometry/Configuration.cs @@ -164,6 +164,12 @@ public string UseACTForTTS } } + [XmlAttribute] + public int SoundRepCooldown { get; set; } = 500; + + [XmlAttribute] + public int TtsRepCooldown { get; set; } = 500; + [XmlAttribute] public AudioRoutingMethodEnum SoundMethod { get; set; } = AudioRoutingMethodEnum.Triggernometry; diff --git a/Source/Triggernometry/CustomControls/ActionEditor.Designer.cs b/Source/Triggernometry/CustomControls/ActionEditor.Designer.cs new file mode 100644 index 0000000..a3b48f1 --- /dev/null +++ b/Source/Triggernometry/CustomControls/ActionEditor.Designer.cs @@ -0,0 +1,63 @@ +namespace Triggernometry.CustomControls +{ + partial class ActionEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.capGeneral = new Triggernometry.CustomControls.PrettyCaption(); + this.SuspendLayout(); + // + // capGeneral + // + this.capGeneral.Caption = "General settings"; + this.capGeneral.CaptionHighlightColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.capGeneral.CaptionShadowColor = System.Drawing.SystemColors.GradientActiveCaption; + this.capGeneral.Collapsed = false; + this.capGeneral.Collapsee = null; + this.capGeneral.Collapsible = false; + this.capGeneral.Dock = System.Windows.Forms.DockStyle.Top; + this.capGeneral.Location = new System.Drawing.Point(0, 0); + this.capGeneral.Name = "capGeneral"; + this.capGeneral.Size = new System.Drawing.Size(836, 30); + this.capGeneral.TabIndex = 9; + // + // ActionEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.capGeneral); + this.Name = "ActionEditor"; + this.Size = new System.Drawing.Size(836, 514); + this.ResumeLayout(false); + + } + + #endregion + + private PrettyCaption capGeneral; + } +} diff --git a/Source/Triggernometry/CustomControls/ActionEditor.cs b/Source/Triggernometry/CustomControls/ActionEditor.cs new file mode 100644 index 0000000..88f2d63 --- /dev/null +++ b/Source/Triggernometry/CustomControls/ActionEditor.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Triggernometry.CustomControls +{ + public partial class ActionEditor : UserControl + { + public ActionEditor() + { + InitializeComponent(); + } + } +} diff --git a/Source/Triggernometry/CustomControls/ActionEditor.resx b/Source/Triggernometry/CustomControls/ActionEditor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Source/Triggernometry/CustomControls/ActionEditor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Source/Triggernometry/CustomControls/TriggerEditor.Designer.cs b/Source/Triggernometry/CustomControls/TriggerEditor.Designer.cs new file mode 100644 index 0000000..8ef6f47 --- /dev/null +++ b/Source/Triggernometry/CustomControls/TriggerEditor.Designer.cs @@ -0,0 +1,200 @@ +namespace Triggernometry.CustomControls +{ + partial class TriggerEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.capGeneral = new Triggernometry.CustomControls.PrettyCaption(); + this.panel1 = new System.Windows.Forms.Panel(); + this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.txtUpdateChannelUri = new System.Windows.Forms.TextBox(); + this.cbxType = new System.Windows.Forms.ComboBox(); + this.lblUpdateChannelUri = new System.Windows.Forms.Label(); + this.lblName = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.splitButton1 = new Triggernometry.CustomControls.SplitButton(); + this.panel1.SuspendLayout(); + this.tableLayoutPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // capGeneral + // + this.capGeneral.Caption = "General settings"; + this.capGeneral.CaptionHighlightColor = System.Drawing.SystemColors.GradientInactiveCaption; + this.capGeneral.CaptionShadowColor = System.Drawing.SystemColors.GradientActiveCaption; + this.capGeneral.Collapsed = false; + this.capGeneral.Collapsee = null; + this.capGeneral.Collapsible = false; + this.capGeneral.Dock = System.Windows.Forms.DockStyle.Top; + this.capGeneral.Location = new System.Drawing.Point(0, 0); + this.capGeneral.Name = "capGeneral"; + this.capGeneral.Size = new System.Drawing.Size(801, 30); + this.capGeneral.TabIndex = 8; + // + // panel1 + // + this.panel1.AutoSize = true; + this.panel1.Controls.Add(this.tableLayoutPanel2); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 30); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(0, 8, 0, 8); + this.panel1.Size = new System.Drawing.Size(801, 69); + this.panel1.TabIndex = 9; + // + // tableLayoutPanel2 + // + this.tableLayoutPanel2.AutoSize = true; + this.tableLayoutPanel2.ColumnCount = 2; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel2.Controls.Add(this.txtUpdateChannelUri, 1, 0); + this.tableLayoutPanel2.Controls.Add(this.cbxType, 1, 1); + this.tableLayoutPanel2.Controls.Add(this.lblUpdateChannelUri, 0, 1); + this.tableLayoutPanel2.Controls.Add(this.lblName, 0, 0); + this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Top; + this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 8); + this.tableLayoutPanel2.Name = "tableLayoutPanel2"; + this.tableLayoutPanel2.RowCount = 2; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(801, 53); + this.tableLayoutPanel2.TabIndex = 2; + // + // txtUpdateChannelUri + // + this.txtUpdateChannelUri.Dock = System.Windows.Forms.DockStyle.Top; + this.txtUpdateChannelUri.Location = new System.Drawing.Point(159, 3); + this.txtUpdateChannelUri.Name = "txtUpdateChannelUri"; + this.txtUpdateChannelUri.Size = new System.Drawing.Size(639, 20); + this.txtUpdateChannelUri.TabIndex = 22; + // + // cbxType + // + this.cbxType.Dock = System.Windows.Forms.DockStyle.Top; + this.cbxType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbxType.FormattingEnabled = true; + this.cbxType.Items.AddRange(new object[] { + "Built-in Github check (legacy)", + "Official (recommended)", + "External third party"}); + this.cbxType.Location = new System.Drawing.Point(159, 29); + this.cbxType.Name = "cbxType"; + this.cbxType.Size = new System.Drawing.Size(639, 21); + this.cbxType.TabIndex = 12; + // + // lblUpdateChannelUri + // + this.lblUpdateChannelUri.AutoEllipsis = true; + this.lblUpdateChannelUri.AutoSize = true; + this.lblUpdateChannelUri.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblUpdateChannelUri.Location = new System.Drawing.Point(3, 26); + this.lblUpdateChannelUri.MinimumSize = new System.Drawing.Size(150, 0); + this.lblUpdateChannelUri.Name = "lblUpdateChannelUri"; + this.lblUpdateChannelUri.Size = new System.Drawing.Size(150, 27); + this.lblUpdateChannelUri.TabIndex = 11; + this.lblUpdateChannelUri.Text = "Trigger type"; + this.lblUpdateChannelUri.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lblName + // + this.lblName.AutoEllipsis = true; + this.lblName.AutoSize = true; + this.lblName.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblName.Location = new System.Drawing.Point(3, 0); + this.lblName.MinimumSize = new System.Drawing.Size(150, 0); + this.lblName.Name = "lblName"; + this.lblName.Size = new System.Drawing.Size(150, 26); + this.lblName.TabIndex = 9; + this.lblName.Text = "Name"; + this.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(271, 322); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 10; + this.button1.Text = "button1"; + this.button1.UseVisualStyleBackColor = true; + // + // comboBox1 + // + this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple; + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Location = new System.Drawing.Point(478, 243); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(121, 150); + this.comboBox1.TabIndex = 11; + // + // splitButton1 + // + this.splitButton1.AutoSize = true; + this.splitButton1.Location = new System.Drawing.Point(123, 184); + this.splitButton1.Name = "splitButton1"; + this.splitButton1.Size = new System.Drawing.Size(150, 23); + this.splitButton1.TabIndex = 12; + this.splitButton1.Text = "splitButton1"; + this.splitButton1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.splitButton1.UseVisualStyleBackColor = true; + // + // TriggerEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.splitButton1); + this.Controls.Add(this.comboBox1); + this.Controls.Add(this.button1); + this.Controls.Add(this.panel1); + this.Controls.Add(this.capGeneral); + this.Name = "TriggerEditor"; + this.Size = new System.Drawing.Size(801, 584); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.tableLayoutPanel2.ResumeLayout(false); + this.tableLayoutPanel2.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private PrettyCaption capGeneral; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; + private System.Windows.Forms.TextBox txtUpdateChannelUri; + private System.Windows.Forms.ComboBox cbxType; + private System.Windows.Forms.Label lblUpdateChannelUri; + private System.Windows.Forms.Label lblName; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.ComboBox comboBox1; + private SplitButton splitButton1; + } +} diff --git a/Source/Triggernometry/CustomControls/TriggerEditor.cs b/Source/Triggernometry/CustomControls/TriggerEditor.cs new file mode 100644 index 0000000..4073899 --- /dev/null +++ b/Source/Triggernometry/CustomControls/TriggerEditor.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Triggernometry.CustomControls +{ + public partial class TriggerEditor : UserControl + { + public TriggerEditor() + { + InitializeComponent(); + } + } +} diff --git a/Source/Triggernometry/CustomControls/TriggerEditor.resx b/Source/Triggernometry/CustomControls/TriggerEditor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Source/Triggernometry/CustomControls/TriggerEditor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Source/Triggernometry/Forms/ConfigurationForm2.Designer.cs b/Source/Triggernometry/Forms/ConfigurationForm2.Designer.cs index b23cc49..c6e2afa 100644 --- a/Source/Triggernometry/Forms/ConfigurationForm2.Designer.cs +++ b/Source/Triggernometry/Forms/ConfigurationForm2.Designer.cs @@ -30,7 +30,7 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigurationForm2)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.pnlMenu = new System.Windows.Forms.Panel(); this.btnMisc = new Triggernometry.CustomControls.MenuButton(); this.tbcMain = new System.Windows.Forms.TabControl(); @@ -77,6 +77,9 @@ private void InitializeComponent() this.tabAudio = new System.Windows.Forms.TabPage(); this.panel22 = new System.Windows.Forms.Panel(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.lblTtsRepV = new System.Windows.Forms.Label(); + this.trbTtsRepetition = new System.Windows.Forms.TrackBar(); + this.lblTtsRepetition = new System.Windows.Forms.Label(); this.txtTtsPathArgs = new System.Windows.Forms.TextBox(); this.lblTtsPathArgs = new System.Windows.Forms.Label(); this.btnTtsPath = new System.Windows.Forms.Button(); @@ -93,6 +96,9 @@ private void InitializeComponent() this.prettyCaption2 = new Triggernometry.CustomControls.PrettyCaption(); this.panel4 = new System.Windows.Forms.Panel(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.lblSoundRepV = new System.Windows.Forms.Label(); + this.trbSoundRepetition = new System.Windows.Forms.TrackBar(); + this.lblSoundRepetition = new System.Windows.Forms.Label(); this.txtSoundPathArgs = new System.Windows.Forms.TextBox(); this.lblSoundPathArgs = new System.Windows.Forms.Label(); this.panel30 = new System.Windows.Forms.Panel(); @@ -328,10 +334,12 @@ private void InitializeComponent() this.tabAudio.SuspendLayout(); this.panel22.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trbTtsRepetition)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.trbTtsVolume)).BeginInit(); this.panel21.SuspendLayout(); this.panel4.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trbSoundRepetition)).BeginInit(); this.panel30.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.trbSoundVolume)).BeginInit(); this.tabLogging.SuspendLayout(); @@ -1016,10 +1024,10 @@ private void InitializeComponent() this.panel22.AutoSize = true; this.panel22.Controls.Add(this.tableLayoutPanel3); this.panel22.Dock = System.Windows.Forms.DockStyle.Top; - this.panel22.Location = new System.Drawing.Point(0, 249); + this.panel22.Location = new System.Drawing.Point(0, 277); this.panel22.Name = "panel22"; this.panel22.Padding = new System.Windows.Forms.Padding(0, 8, 0, 0); - this.panel22.Size = new System.Drawing.Size(640, 241); + this.panel22.Size = new System.Drawing.Size(623, 269); this.panel22.TabIndex = 12; // // tableLayoutPanel3 @@ -1028,37 +1036,84 @@ private void InitializeComponent() this.tableLayoutPanel3.ColumnCount = 3; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 50F)); - this.tableLayoutPanel3.Controls.Add(this.txtTtsPathArgs, 1, 4); - this.tableLayoutPanel3.Controls.Add(this.lblTtsPathArgs, 0, 4); - this.tableLayoutPanel3.Controls.Add(this.btnTtsPath, 2, 3); - this.tableLayoutPanel3.Controls.Add(this.txtTtsPath, 1, 3); + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); + this.tableLayoutPanel3.Controls.Add(this.lblTtsRepV, 2, 2); + this.tableLayoutPanel3.Controls.Add(this.trbTtsRepetition, 1, 2); + this.tableLayoutPanel3.Controls.Add(this.lblTtsRepetition, 0, 2); + this.tableLayoutPanel3.Controls.Add(this.txtTtsPathArgs, 1, 5); + this.tableLayoutPanel3.Controls.Add(this.lblTtsPathArgs, 0, 5); + this.tableLayoutPanel3.Controls.Add(this.btnTtsPath, 2, 4); + this.tableLayoutPanel3.Controls.Add(this.txtTtsPath, 1, 4); this.tableLayoutPanel3.Controls.Add(this.cbxTtsMethod, 1, 0); - this.tableLayoutPanel3.Controls.Add(this.lblTtsPath, 0, 3); + this.tableLayoutPanel3.Controls.Add(this.lblTtsPath, 0, 4); this.tableLayoutPanel3.Controls.Add(this.lblTtsMethod, 0, 0); this.tableLayoutPanel3.Controls.Add(this.lblTtsVolP, 2, 1); this.tableLayoutPanel3.Controls.Add(this.trbTtsVolume, 1, 1); this.tableLayoutPanel3.Controls.Add(this.lblTtsVolume, 0, 1); - this.tableLayoutPanel3.Controls.Add(this.panel21, 1, 2); + this.tableLayoutPanel3.Controls.Add(this.panel21, 1, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Top; this.tableLayoutPanel3.Location = new System.Drawing.Point(0, 8); this.tableLayoutPanel3.Name = "tableLayoutPanel3"; - this.tableLayoutPanel3.RowCount = 5; + this.tableLayoutPanel3.RowCount = 6; this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel3.Size = new System.Drawing.Size(640, 233); + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel3.Size = new System.Drawing.Size(623, 261); this.tableLayoutPanel3.TabIndex = 1; // + // lblTtsRepV + // + this.lblTtsRepV.AutoEllipsis = true; + this.lblTtsRepV.AutoSize = true; + this.lblTtsRepV.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblTtsRepV.Location = new System.Drawing.Point(566, 55); + this.lblTtsRepV.Name = "lblTtsRepV"; + this.lblTtsRepV.Size = new System.Drawing.Size(54, 28); + this.lblTtsRepV.TabIndex = 33; + this.lblTtsRepV.Text = "500 ms"; + this.lblTtsRepV.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // trbTtsRepetition + // + this.trbTtsRepetition.AutoSize = false; + this.trbTtsRepetition.Dock = System.Windows.Forms.DockStyle.Top; + this.trbTtsRepetition.LargeChange = 250; + this.trbTtsRepetition.Location = new System.Drawing.Point(159, 58); + this.trbTtsRepetition.Maximum = 3000; + this.trbTtsRepetition.Name = "trbTtsRepetition"; + this.trbTtsRepetition.Size = new System.Drawing.Size(401, 22); + this.trbTtsRepetition.SmallChange = 100; + this.trbTtsRepetition.TabIndex = 32; + this.trbTtsRepetition.TabStop = false; + this.trbTtsRepetition.TickFrequency = 100; + this.trbTtsRepetition.TickStyle = System.Windows.Forms.TickStyle.None; + this.trbTtsRepetition.Value = 500; + this.trbTtsRepetition.Scroll += new System.EventHandler(this.trbTtsRepetition_Scroll); + this.trbTtsRepetition.ValueChanged += new System.EventHandler(this.trbTtsRepetition_ValueChanged); + // + // lblTtsRepetition + // + this.lblTtsRepetition.AutoEllipsis = true; + this.lblTtsRepetition.AutoSize = true; + this.lblTtsRepetition.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblTtsRepetition.Location = new System.Drawing.Point(3, 55); + this.lblTtsRepetition.MinimumSize = new System.Drawing.Size(150, 0); + this.lblTtsRepetition.Name = "lblTtsRepetition"; + this.lblTtsRepetition.Size = new System.Drawing.Size(150, 28); + this.lblTtsRepetition.TabIndex = 31; + this.lblTtsRepetition.Text = "Repetition cooldown"; + this.lblTtsRepetition.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // txtTtsPathArgs // this.tableLayoutPanel3.SetColumnSpan(this.txtTtsPathArgs, 2); this.txtTtsPathArgs.Dock = System.Windows.Forms.DockStyle.Top; - this.txtTtsPathArgs.Location = new System.Drawing.Point(159, 210); + this.txtTtsPathArgs.Location = new System.Drawing.Point(159, 238); this.txtTtsPathArgs.Name = "txtTtsPathArgs"; - this.txtTtsPathArgs.Size = new System.Drawing.Size(478, 20); + this.txtTtsPathArgs.Size = new System.Drawing.Size(461, 20); this.txtTtsPathArgs.TabIndex = 29; // // lblTtsPathArgs @@ -1066,7 +1121,7 @@ private void InitializeComponent() this.lblTtsPathArgs.AutoEllipsis = true; this.lblTtsPathArgs.AutoSize = true; this.lblTtsPathArgs.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblTtsPathArgs.Location = new System.Drawing.Point(3, 207); + this.lblTtsPathArgs.Location = new System.Drawing.Point(3, 235); this.lblTtsPathArgs.MinimumSize = new System.Drawing.Size(150, 0); this.lblTtsPathArgs.Name = "lblTtsPathArgs"; this.lblTtsPathArgs.Size = new System.Drawing.Size(150, 26); @@ -1078,10 +1133,10 @@ private void InitializeComponent() // this.btnTtsPath.Dock = System.Windows.Forms.DockStyle.Fill; this.btnTtsPath.Image = ((System.Drawing.Image)(resources.GetObject("btnTtsPath.Image"))); - this.btnTtsPath.Location = new System.Drawing.Point(590, 181); + this.btnTtsPath.Location = new System.Drawing.Point(563, 209); this.btnTtsPath.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); this.btnTtsPath.Name = "btnTtsPath"; - this.btnTtsPath.Size = new System.Drawing.Size(47, 26); + this.btnTtsPath.Size = new System.Drawing.Size(57, 26); this.btnTtsPath.TabIndex = 23; this.btnTtsPath.TabStop = false; this.btnTtsPath.UseVisualStyleBackColor = true; @@ -1089,9 +1144,9 @@ private void InitializeComponent() // txtTtsPath // this.txtTtsPath.Dock = System.Windows.Forms.DockStyle.Top; - this.txtTtsPath.Location = new System.Drawing.Point(159, 184); + this.txtTtsPath.Location = new System.Drawing.Point(159, 212); this.txtTtsPath.Name = "txtTtsPath"; - this.txtTtsPath.Size = new System.Drawing.Size(428, 20); + this.txtTtsPath.Size = new System.Drawing.Size(401, 20); this.txtTtsPath.TabIndex = 22; // // cbxTtsMethod @@ -1107,7 +1162,7 @@ private void InitializeComponent() "External application"}); this.cbxTtsMethod.Location = new System.Drawing.Point(159, 3); this.cbxTtsMethod.Name = "cbxTtsMethod"; - this.cbxTtsMethod.Size = new System.Drawing.Size(478, 21); + this.cbxTtsMethod.Size = new System.Drawing.Size(461, 21); this.cbxTtsMethod.TabIndex = 12; this.cbxTtsMethod.SelectedIndexChanged += new System.EventHandler(this.cbxTtsMethod_SelectedIndexChanged); // @@ -1116,7 +1171,7 @@ private void InitializeComponent() this.lblTtsPath.AutoEllipsis = true; this.lblTtsPath.AutoSize = true; this.lblTtsPath.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblTtsPath.Location = new System.Drawing.Point(3, 181); + this.lblTtsPath.Location = new System.Drawing.Point(3, 209); this.lblTtsPath.MinimumSize = new System.Drawing.Size(150, 0); this.lblTtsPath.Name = "lblTtsPath"; this.lblTtsPath.Size = new System.Drawing.Size(150, 26); @@ -1142,9 +1197,9 @@ private void InitializeComponent() this.lblTtsVolP.AutoEllipsis = true; this.lblTtsVolP.AutoSize = true; this.lblTtsVolP.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblTtsVolP.Location = new System.Drawing.Point(593, 27); + this.lblTtsVolP.Location = new System.Drawing.Point(566, 27); this.lblTtsVolP.Name = "lblTtsVolP"; - this.lblTtsVolP.Size = new System.Drawing.Size(44, 28); + this.lblTtsVolP.Size = new System.Drawing.Size(54, 28); this.lblTtsVolP.TabIndex = 7; this.lblTtsVolP.Text = "100 %"; this.lblTtsVolP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; @@ -1156,7 +1211,7 @@ private void InitializeComponent() this.trbTtsVolume.Location = new System.Drawing.Point(159, 30); this.trbTtsVolume.Maximum = 100; this.trbTtsVolume.Name = "trbTtsVolume"; - this.trbTtsVolume.Size = new System.Drawing.Size(428, 22); + this.trbTtsVolume.Size = new System.Drawing.Size(401, 22); this.trbTtsVolume.TabIndex = 6; this.trbTtsVolume.TabStop = false; this.trbTtsVolume.TickStyle = System.Windows.Forms.TickStyle.None; @@ -1184,9 +1239,9 @@ private void InitializeComponent() this.panel21.Controls.Add(this.lblExternalTtsWarn); this.panel21.Controls.Add(this.lblActTtsWarn); this.panel21.Dock = System.Windows.Forms.DockStyle.Top; - this.panel21.Location = new System.Drawing.Point(159, 58); + this.panel21.Location = new System.Drawing.Point(159, 86); this.panel21.Name = "panel21"; - this.panel21.Size = new System.Drawing.Size(478, 120); + this.panel21.Size = new System.Drawing.Size(461, 120); this.panel21.TabIndex = 30; // // lblExternalTtsWarn @@ -1198,7 +1253,7 @@ private void InitializeComponent() this.lblExternalTtsWarn.Location = new System.Drawing.Point(0, 60); this.lblExternalTtsWarn.Name = "lblExternalTtsWarn"; this.lblExternalTtsWarn.Padding = new System.Windows.Forms.Padding(8); - this.lblExternalTtsWarn.Size = new System.Drawing.Size(478, 60); + this.lblExternalTtsWarn.Size = new System.Drawing.Size(461, 60); this.lblExternalTtsWarn.TabIndex = 30; this.lblExternalTtsWarn.Text = "This option will make Triggernometry launch an external application. Use this opt" + "ion with caution, and only if you understand what you are doing, as this may exp" + @@ -1214,7 +1269,7 @@ private void InitializeComponent() this.lblActTtsWarn.Location = new System.Drawing.Point(0, 0); this.lblActTtsWarn.Name = "lblActTtsWarn"; this.lblActTtsWarn.Padding = new System.Windows.Forms.Padding(8); - this.lblActTtsWarn.Size = new System.Drawing.Size(478, 60); + this.lblActTtsWarn.Size = new System.Drawing.Size(461, 60); this.lblActTtsWarn.TabIndex = 29; this.lblActTtsWarn.Text = "Using ACT for text-to-speech will cause the rate and volume options on text-to-sp" + "eech actions to be ignored."; @@ -1229,9 +1284,9 @@ private void InitializeComponent() this.prettyCaption2.Collapsee = null; this.prettyCaption2.Collapsible = false; this.prettyCaption2.Dock = System.Windows.Forms.DockStyle.Top; - this.prettyCaption2.Location = new System.Drawing.Point(0, 219); + this.prettyCaption2.Location = new System.Drawing.Point(0, 247); this.prettyCaption2.Name = "prettyCaption2"; - this.prettyCaption2.Size = new System.Drawing.Size(640, 30); + this.prettyCaption2.Size = new System.Drawing.Size(623, 30); this.prettyCaption2.TabIndex = 11; // // panel4 @@ -1242,7 +1297,7 @@ private void InitializeComponent() this.panel4.Location = new System.Drawing.Point(0, 30); this.panel4.Name = "panel4"; this.panel4.Padding = new System.Windows.Forms.Padding(0, 8, 0, 8); - this.panel4.Size = new System.Drawing.Size(640, 189); + this.panel4.Size = new System.Drawing.Size(623, 217); this.panel4.TabIndex = 10; // // tableLayoutPanel1 @@ -1251,37 +1306,84 @@ private void InitializeComponent() this.tableLayoutPanel1.ColumnCount = 3; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 50F)); - this.tableLayoutPanel1.Controls.Add(this.txtSoundPathArgs, 1, 4); - this.tableLayoutPanel1.Controls.Add(this.lblSoundPathArgs, 0, 4); - this.tableLayoutPanel1.Controls.Add(this.panel30, 1, 2); - this.tableLayoutPanel1.Controls.Add(this.btnSoundPath, 2, 3); - this.tableLayoutPanel1.Controls.Add(this.lblSoundPath, 0, 3); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); + this.tableLayoutPanel1.Controls.Add(this.lblSoundRepV, 2, 2); + this.tableLayoutPanel1.Controls.Add(this.trbSoundRepetition, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.lblSoundRepetition, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.txtSoundPathArgs, 1, 5); + this.tableLayoutPanel1.Controls.Add(this.lblSoundPathArgs, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.panel30, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.btnSoundPath, 2, 4); + this.tableLayoutPanel1.Controls.Add(this.lblSoundPath, 0, 4); this.tableLayoutPanel1.Controls.Add(this.lblSoundMethod, 0, 0); this.tableLayoutPanel1.Controls.Add(this.lblSoundVolP, 2, 1); this.tableLayoutPanel1.Controls.Add(this.trbSoundVolume, 1, 1); this.tableLayoutPanel1.Controls.Add(this.lblSoundVolume, 0, 1); this.tableLayoutPanel1.Controls.Add(this.cbxSoundMethod, 1, 0); - this.tableLayoutPanel1.Controls.Add(this.txtSoundPath, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.txtSoundPath, 1, 4); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top; this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 8); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; - this.tableLayoutPanel1.RowCount = 5; + this.tableLayoutPanel1.RowCount = 6; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel1.Size = new System.Drawing.Size(640, 173); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.Size = new System.Drawing.Size(623, 201); this.tableLayoutPanel1.TabIndex = 1; // + // lblSoundRepV + // + this.lblSoundRepV.AutoEllipsis = true; + this.lblSoundRepV.AutoSize = true; + this.lblSoundRepV.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblSoundRepV.Location = new System.Drawing.Point(566, 55); + this.lblSoundRepV.Name = "lblSoundRepV"; + this.lblSoundRepV.Size = new System.Drawing.Size(54, 28); + this.lblSoundRepV.TabIndex = 31; + this.lblSoundRepV.Text = "500 ms"; + this.lblSoundRepV.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // trbSoundRepetition + // + this.trbSoundRepetition.AutoSize = false; + this.trbSoundRepetition.Dock = System.Windows.Forms.DockStyle.Top; + this.trbSoundRepetition.LargeChange = 250; + this.trbSoundRepetition.Location = new System.Drawing.Point(159, 58); + this.trbSoundRepetition.Maximum = 3000; + this.trbSoundRepetition.Name = "trbSoundRepetition"; + this.trbSoundRepetition.Size = new System.Drawing.Size(401, 22); + this.trbSoundRepetition.SmallChange = 100; + this.trbSoundRepetition.TabIndex = 30; + this.trbSoundRepetition.TabStop = false; + this.trbSoundRepetition.TickFrequency = 100; + this.trbSoundRepetition.TickStyle = System.Windows.Forms.TickStyle.None; + this.trbSoundRepetition.Value = 500; + this.trbSoundRepetition.Scroll += new System.EventHandler(this.trbSoundRepetition_Scroll); + this.trbSoundRepetition.ValueChanged += new System.EventHandler(this.trbSoundRepetition_ValueChanged); + // + // lblSoundRepetition + // + this.lblSoundRepetition.AutoEllipsis = true; + this.lblSoundRepetition.AutoSize = true; + this.lblSoundRepetition.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblSoundRepetition.Location = new System.Drawing.Point(3, 55); + this.lblSoundRepetition.MinimumSize = new System.Drawing.Size(150, 0); + this.lblSoundRepetition.Name = "lblSoundRepetition"; + this.lblSoundRepetition.Size = new System.Drawing.Size(150, 28); + this.lblSoundRepetition.TabIndex = 29; + this.lblSoundRepetition.Text = "Repetition cooldown"; + this.lblSoundRepetition.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // txtSoundPathArgs // this.tableLayoutPanel1.SetColumnSpan(this.txtSoundPathArgs, 2); this.txtSoundPathArgs.Dock = System.Windows.Forms.DockStyle.Top; - this.txtSoundPathArgs.Location = new System.Drawing.Point(159, 150); + this.txtSoundPathArgs.Location = new System.Drawing.Point(159, 178); this.txtSoundPathArgs.Name = "txtSoundPathArgs"; - this.txtSoundPathArgs.Size = new System.Drawing.Size(478, 20); + this.txtSoundPathArgs.Size = new System.Drawing.Size(461, 20); this.txtSoundPathArgs.TabIndex = 28; // // lblSoundPathArgs @@ -1289,7 +1391,7 @@ private void InitializeComponent() this.lblSoundPathArgs.AutoEllipsis = true; this.lblSoundPathArgs.AutoSize = true; this.lblSoundPathArgs.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblSoundPathArgs.Location = new System.Drawing.Point(3, 147); + this.lblSoundPathArgs.Location = new System.Drawing.Point(3, 175); this.lblSoundPathArgs.MinimumSize = new System.Drawing.Size(150, 0); this.lblSoundPathArgs.Name = "lblSoundPathArgs"; this.lblSoundPathArgs.Size = new System.Drawing.Size(150, 26); @@ -1303,9 +1405,9 @@ private void InitializeComponent() this.tableLayoutPanel1.SetColumnSpan(this.panel30, 2); this.panel30.Controls.Add(this.lblExternalSoundWarn); this.panel30.Dock = System.Windows.Forms.DockStyle.Top; - this.panel30.Location = new System.Drawing.Point(159, 58); + this.panel30.Location = new System.Drawing.Point(159, 86); this.panel30.Name = "panel30"; - this.panel30.Size = new System.Drawing.Size(478, 60); + this.panel30.Size = new System.Drawing.Size(461, 60); this.panel30.TabIndex = 26; // // lblExternalSoundWarn @@ -1317,7 +1419,7 @@ private void InitializeComponent() this.lblExternalSoundWarn.Location = new System.Drawing.Point(0, 0); this.lblExternalSoundWarn.Name = "lblExternalSoundWarn"; this.lblExternalSoundWarn.Padding = new System.Windows.Forms.Padding(8); - this.lblExternalSoundWarn.Size = new System.Drawing.Size(478, 60); + this.lblExternalSoundWarn.Size = new System.Drawing.Size(461, 60); this.lblExternalSoundWarn.TabIndex = 28; this.lblExternalSoundWarn.Text = "This option will make Triggernometry launch an external application. Use this opt" + "ion with caution, and only if you understand what you are doing, as this may exp" + @@ -1328,10 +1430,10 @@ private void InitializeComponent() // this.btnSoundPath.Dock = System.Windows.Forms.DockStyle.Fill; this.btnSoundPath.Image = ((System.Drawing.Image)(resources.GetObject("btnSoundPath.Image"))); - this.btnSoundPath.Location = new System.Drawing.Point(590, 121); + this.btnSoundPath.Location = new System.Drawing.Point(563, 149); this.btnSoundPath.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); this.btnSoundPath.Name = "btnSoundPath"; - this.btnSoundPath.Size = new System.Drawing.Size(47, 26); + this.btnSoundPath.Size = new System.Drawing.Size(57, 26); this.btnSoundPath.TabIndex = 20; this.btnSoundPath.TabStop = false; this.btnSoundPath.UseVisualStyleBackColor = true; @@ -1341,7 +1443,7 @@ private void InitializeComponent() this.lblSoundPath.AutoEllipsis = true; this.lblSoundPath.AutoSize = true; this.lblSoundPath.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblSoundPath.Location = new System.Drawing.Point(3, 121); + this.lblSoundPath.Location = new System.Drawing.Point(3, 149); this.lblSoundPath.MinimumSize = new System.Drawing.Size(150, 0); this.lblSoundPath.Name = "lblSoundPath"; this.lblSoundPath.Size = new System.Drawing.Size(150, 26); @@ -1367,9 +1469,9 @@ private void InitializeComponent() this.lblSoundVolP.AutoEllipsis = true; this.lblSoundVolP.AutoSize = true; this.lblSoundVolP.Dock = System.Windows.Forms.DockStyle.Fill; - this.lblSoundVolP.Location = new System.Drawing.Point(593, 27); + this.lblSoundVolP.Location = new System.Drawing.Point(566, 27); this.lblSoundVolP.Name = "lblSoundVolP"; - this.lblSoundVolP.Size = new System.Drawing.Size(44, 28); + this.lblSoundVolP.Size = new System.Drawing.Size(54, 28); this.lblSoundVolP.TabIndex = 7; this.lblSoundVolP.Text = "100 %"; this.lblSoundVolP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; @@ -1381,7 +1483,7 @@ private void InitializeComponent() this.trbSoundVolume.Location = new System.Drawing.Point(159, 30); this.trbSoundVolume.Maximum = 100; this.trbSoundVolume.Name = "trbSoundVolume"; - this.trbSoundVolume.Size = new System.Drawing.Size(428, 22); + this.trbSoundVolume.Size = new System.Drawing.Size(401, 22); this.trbSoundVolume.TabIndex = 6; this.trbSoundVolume.TabStop = false; this.trbSoundVolume.TickStyle = System.Windows.Forms.TickStyle.None; @@ -1415,16 +1517,16 @@ private void InitializeComponent() "External application"}); this.cbxSoundMethod.Location = new System.Drawing.Point(159, 3); this.cbxSoundMethod.Name = "cbxSoundMethod"; - this.cbxSoundMethod.Size = new System.Drawing.Size(478, 21); + this.cbxSoundMethod.Size = new System.Drawing.Size(461, 21); this.cbxSoundMethod.TabIndex = 9; this.cbxSoundMethod.SelectedIndexChanged += new System.EventHandler(this.cbxSoundMethod_SelectedIndexChanged); // // txtSoundPath // this.txtSoundPath.Dock = System.Windows.Forms.DockStyle.Top; - this.txtSoundPath.Location = new System.Drawing.Point(159, 124); + this.txtSoundPath.Location = new System.Drawing.Point(159, 152); this.txtSoundPath.Name = "txtSoundPath"; - this.txtSoundPath.Size = new System.Drawing.Size(428, 20); + this.txtSoundPath.Size = new System.Drawing.Size(401, 20); this.txtSoundPath.TabIndex = 21; // // prettyCaption1 @@ -1438,7 +1540,7 @@ private void InitializeComponent() this.prettyCaption1.Dock = System.Windows.Forms.DockStyle.Top; this.prettyCaption1.Location = new System.Drawing.Point(0, 0); this.prettyCaption1.Name = "prettyCaption1"; - this.prettyCaption1.Size = new System.Drawing.Size(640, 30); + this.prettyCaption1.Size = new System.Drawing.Size(623, 30); this.prettyCaption1.TabIndex = 9; // // tabLogging @@ -3055,8 +3157,8 @@ private void InitializeComponent() this.dgvConstVariables.AllowUserToAddRows = false; this.dgvConstVariables.AllowUserToDeleteRows = false; this.dgvConstVariables.AllowUserToResizeRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); - this.dgvConstVariables.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.dgvConstVariables.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2; this.dgvConstVariables.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvConstVariables.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colScalarName, @@ -4357,12 +4459,14 @@ private void InitializeComponent() this.panel22.PerformLayout(); this.tableLayoutPanel3.ResumeLayout(false); this.tableLayoutPanel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trbTtsRepetition)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.trbTtsVolume)).EndInit(); this.panel21.ResumeLayout(false); this.panel4.ResumeLayout(false); this.panel4.PerformLayout(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trbSoundRepetition)).EndInit(); this.panel30.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.trbSoundVolume)).EndInit(); this.tabLogging.ResumeLayout(false); @@ -4760,5 +4864,11 @@ private void InitializeComponent() private System.Windows.Forms.Label lblAutosaveConfig; private System.Windows.Forms.Label lblTriggerTemplate; private System.Windows.Forms.Button btnUpdateCheck; + private System.Windows.Forms.Label lblSoundRepetition; + private System.Windows.Forms.TrackBar trbTtsRepetition; + private System.Windows.Forms.Label lblTtsRepetition; + private System.Windows.Forms.Label lblSoundRepV; + private System.Windows.Forms.TrackBar trbSoundRepetition; + private System.Windows.Forms.Label lblTtsRepV; } } \ No newline at end of file diff --git a/Source/Triggernometry/Forms/ConfigurationForm2.cs b/Source/Triggernometry/Forms/ConfigurationForm2.cs index 0f7d6e4..9b8ccfe 100644 --- a/Source/Triggernometry/Forms/ConfigurationForm2.cs +++ b/Source/Triggernometry/Forms/ConfigurationForm2.cs @@ -46,6 +46,8 @@ public ConfigurationForm2() SetupFfxivJobOrder(null); lblSoundVolP.Tag = I18n.DoNotTranslate; lblTtsVolP.Tag = I18n.DoNotTranslate; + lblSoundRepV.Tag = I18n.DoNotTranslate; + lblTtsRepV.Tag = I18n.DoNotTranslate; btnUiFont.Tag = I18n.DoNotTranslate; RestoredSavedDimensions(); FormClosing += ConfigurationForm2_FormClosing; @@ -83,6 +85,8 @@ internal void SettingsFromConfiguration(Configuration cfg) } trbSoundVolume.Value = cfg.SfxVolumeAdjustment; trbTtsVolume.Value = cfg.TtsVolumeAdjustment; + trbSoundRepetition.Value = cfg.SoundRepCooldown; + trbTtsRepetition.Value = cfg.TtsRepCooldown; cbxLoggingLevel.SelectedIndex = (int)cfg.DebugLevel; cbxSoundMethod.SelectedIndex = (int)cfg.SoundMethod; cbxTtsMethod.SelectedIndex = (int)cfg.TtsMethod; @@ -169,6 +173,8 @@ internal void SettingsToConfiguration(Configuration cfg) { cfg.SfxVolumeAdjustment = trbSoundVolume.Value; cfg.TtsVolumeAdjustment = trbTtsVolume.Value; + cfg.SoundRepCooldown = trbSoundRepetition.Value; + cfg.TtsRepCooldown = trbTtsRepetition.Value; cfg.DebugLevel = (RealPlugin.DebugLevelEnum)cbxLoggingLevel.SelectedIndex; cfg.SoundMethod = (Configuration.AudioRoutingMethodEnum)cbxSoundMethod.SelectedIndex; cfg.TtsMethod = (Configuration.AudioRoutingMethodEnum)cbxTtsMethod.SelectedIndex; @@ -445,6 +451,26 @@ private void trbTtsVolume_ValueChanged(object sender, EventArgs e) trbTtsVolume_Scroll(null, null); } + private void trbTtsRepetition_ValueChanged(object sender, EventArgs e) + { + trbTtsRepetition_Scroll(null, null); + } + + private void trbTtsRepetition_Scroll(object sender, EventArgs e) + { + lblTtsRepV.Text = trbTtsRepetition.Value + " ms"; + } + + private void trbSoundRepetition_ValueChanged(object sender, EventArgs e) + { + trbSoundRepetition_Scroll(null, null); + } + + private void trbSoundRepetition_Scroll(object sender, EventArgs e) + { + lblSoundRepV.Text = trbSoundRepetition.Value + " ms"; + } + private void cbxSoundMethod_SelectedIndexChanged(object sender, EventArgs e) { lblSoundVolume.Enabled = (cbxSoundMethod.SelectedIndex != 0); diff --git a/Source/Triggernometry/Forms/ConfigurationForm2.resx b/Source/Triggernometry/Forms/ConfigurationForm2.resx index b3bb68b..31cf477 100644 --- a/Source/Triggernometry/Forms/ConfigurationForm2.resx +++ b/Source/Triggernometry/Forms/ConfigurationForm2.resx @@ -117,10 +117,36 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN + 0AAADdABEGw9BwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJ0SURBVDhPjdHd + T5JRHAfw57ab7vpHmi91101LyxtWoPhorAukseaNFwktWzU3q602TUoxTeV5CmJGskJrTFkyx4VBvKgg + KCLIm7NaFyhv3845LpKt0ovPzsU5v+/5nd/heJ6vImu5stcslxbIWiQrI+ebS61tLSXFtfZlqVR66vB5 + TqvVjmk0mp3fSCFyuRz29/eRz+dRKBSYYrGIickJ8G0tm6TwZCWgu7v7u8vlwuLiIhYWFiBtvoxQKASf + z8d4vV643W4sLS2hXC5jYKC/zF9t9ZNOTrCArq6ub06nExaLBWazmQWEw2GMvBipEgj4WUCpVILuma7M + t8uHWUBnZ+euwzHPik0mE+gTYrEYNjY2sL6+zkQiEUSjUaTTaSQSCXg8HrQr+B8sQK1W79jtdhiNRgiC + wAK2t7cx9nKU3KyvoCFbW1uM56sHpIOfLECpVGZtNhtEUcT4+DjI1JHNZpHJZBh6K5VKpZhkMolgMEiG + KT/oQKFQpK1WK87dEHDm+oF6oq7jQC1jqKhR/lGvEuP0K9JTU1Ps4Hwg81cOarnaJ2+KhAhlTiaTJen7 + afpnstH/fu1IgzNhzHqSqOkwlDiJRJIQBANp1wDnShbPZyNHGrSFMfMlSbsucE1NTXE6vHqVgDlvGvqP + EQz/g44UPpkO4ZFlFe9ccRqQ5xoaGmJ6vZ4NT3Bs4vF0EA/frqLXvIL7pmXcNQbQ88oPzaQPNye8zC3B + h8EPa6hViXtcY2NjdGhoCGdJwFPyvnumAG6L/v+689qP3jcB+ks52kG0p0/HAqR9c5A9mD+WSz021KnE + IHf+omT08N8eV63SsHtaKVz4BYlNulYdU+xqAAAAAElFTkSuQmCC + + + + 1388, 17 + + + 1820, 17 + + + 1485, 17 + 2046, 17 - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m @@ -205,23 +231,6 @@ EQz/g44UPpkO4ZFlFe9ccRqQ5xoaGmJ6vZ4NT3Bs4vF0EA/frqLXvIL7pmXcNQbQ88oPzaQPNye8zC3B h8EPa6hViXtcY2NjdGhoCGdJwFPyvnumAG6L/v+689qP3jcB+ks52kG0p0/HAqR9c5A9mD+WSz021KnE IHf+omT08N8eV63SsHtaKVz4BYlNulYdU+xqAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN - 0AAADdABEGw9BwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJ0SURBVDhPjdHd - T5JRHAfw57ab7vpHmi91101LyxtWoPhorAukseaNFwktWzU3q602TUoxTeV5CmJGskJrTFkyx4VBvKgg - KCLIm7NaFyhv3845LpKt0ovPzsU5v+/5nd/heJ6vImu5stcslxbIWiQrI+ebS61tLSXFtfZlqVR66vB5 - TqvVjmk0mp3fSCFyuRz29/eRz+dRKBSYYrGIickJ8G0tm6TwZCWgu7v7u8vlwuLiIhYWFiBtvoxQKASf - z8d4vV643W4sLS2hXC5jYKC/zF9t9ZNOTrCArq6ub06nExaLBWazmQWEw2GMvBipEgj4WUCpVILuma7M - t8uHWUBnZ+euwzHPik0mE+gTYrEYNjY2sL6+zkQiEUSjUaTTaSQSCXg8HrQr+B8sQK1W79jtdhiNRgiC - wAK2t7cx9nKU3KyvoCFbW1uM56sHpIOfLECpVGZtNhtEUcT4+DjI1JHNZpHJZBh6K5VKpZhkMolgMEiG - KT/oQKFQpK1WK87dEHDm+oF6oq7jQC1jqKhR/lGvEuP0K9JTU1Ps4Hwg81cOarnaJ2+KhAhlTiaTJen7 - afpnstH/fu1IgzNhzHqSqOkwlDiJRJIQBANp1wDnShbPZyNHGrSFMfMlSbsucE1NTXE6vHqVgDlvGvqP - EQz/g44UPpkO4ZFlFe9ccRqQ5xoaGmJ6vZ4NT3Bs4vF0EA/frqLXvIL7pmXcNQbQ88oPzaQPNye8zC3B - h8EPa6hViXtcY2NjdGhoCGdJwFPyvnumAG6L/v+689qP3jcB+ks52kG0p0/HAqR9c5A9mD+WSz021KnE - IHf+omT08N8eV63SsHtaKVz4BYlNulYdU+xqAAAAAElFTkSuQmCC @@ -425,6 +434,15 @@ dmAOLjQEsLbvy1a/QnynVEdEEX8BQVqGDn9sKuMAAAAASUVORK5CYII= + + 1715, 17 + + + True + + + True + True @@ -437,21 +455,21 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMeSURBVDhPbVNrbEthGD6ExJ3EH4T4wR+VEOvpNZNFXCN1 - Cz8I0lnb0/awjAVBxBG7pJG5xRJspNbTc7orM3NZsLJgG9uwTlZmI7Z1qusyum5U29f3fT0E8SRvcr7z - vc/zve/7PR/1J+hU1xyNRbSj6JIZCocVjKtXaxHu0ybHZjlzaayURkCbnIcX6+3TpCVFKRnHRkyycFWR - M5UeKK57D8WPuuD8jTbQcxVDKnPRIG0StuJcmhEYJABypnQqIS8xFC3QWIVwXoUHrjx4B0W1nVD9vBfc - Hj80dQ7A64+D4G7tg5RMIaw08w+XZ5SNyJisqDKdn0IENFZX4Zqz7ljmxSeQvLsYFIwTZGxudGdOdeh4 - wd24t+cLdPi+QuenENhc7liD9zNo2fzv2rTLk4mAQm8PLdtbBsl7bHEtK4RpI38gycTPlBscKxUWoXmb - rSbc3BGAj4Ew+AaGSWhZV2TRDsfEhIApKz5Xb//BnK2/ojILviSTax7ZkKAwOlNxVfXtfnjqDUB3fxgJ - iBE02AkkQWbKiuoOVx07WPBi4cbce9MpjhtNNhBSOPcYpUV8zJW/jPShk3EruAJ8oHpfyXiS9LuX/4A2 - Oq/iiSv38990GddHfgX+l6K3j0skmfK/06gNEiucMVwRPgGRa7A3FKx9xr+hNPKzCRkDE3qDYegNDkMP - 6u/yHXdMwYgf/jKKBE5sn5VxsVmDOTK2dBL5ie8U9/W4PQCNbz5DohqeJZsS8MTpNMG/J7/h1CbuVl3C - SJI7VauEGBbA0+1BlTxq9cE6ZBp0I8/kBkGJc7BgMusIbjh6G91AblxlESKEjKFeLcawWbhzN+Mf/EPE - ME3vgsDl3Yhj9+F5aKwiaKw58aXpJaA7VAkaViiW6KgCc3Z8Q/b1EWTTtvVHKoaqn3VD49t+uP+qDyob - u+FqbRfYylrhhNACp695QG0hlpZJdPKysH3P42+5kd9C7xIH1h6vDmWLLXDhthcu1XTAyXIPpHN1UfJK - jcJ2QvyFJCPvoCgYJS0pPBz8hNWsWEtbRb9C54wgi/cg95UuMTjmS2kIFPUTRa3dRcBIe4sAAAAASUVO - RK5CYII= + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMfSURBVDhPbVNdSBRRFJ6ioP+CXiqKHuqlDYrcmdVdDAnr + JbYs6qGo2HJ3xt1JsaSiIhrTCot+hIQ0lc2dnVnTzC3MkMxNscxSK7dwyzTRVVtXpdLV2tw53XudoqIP + Dsyde77vnnPud6k/Qe93LdNbZTuKTo05f4zhXL0Gq1RNs44dWi5vuppGQLPOE2tN9gXqkqJ0nGMbJlmF + e+Grbi8U132E4tpOuHb3DZiEstHopKLPNCvtwrk0J3FIALRcyXxCXmcuWqW3SaFLZV4ofPQBimo6oOJF + L3i8AWjqGIa33Z/B09oPcWlSSJckPo5PLR3XcOkTuhRxHhHQ21z5m7I9kbTcJxB7sBgYzgkaPnNi37mK + EeH6fcXn/wLtfV+h49MIZLk8kWe+ATDwOd8NiQVziQBjso9sOFQKscnnFAMvhWiLeDSKFRdrzY5NjFVq + 3p1VFWpuD0J3MAR9w2MkDLwrvGavY/akAJuuLDfZf3DZDYXRSVJfFOtaQTZUMBbnflxVQ1sAnvqC0DMY + QgJyGA12FknQsOkTxhP3Th+78XL1tvMPF1KCMJVsIMQJnmk6q1wv3H4V7kcn41ZwBfjAmMO3ZpKk3738 + B7TFeRNPXHdE/GZMLR//FfhfnMk+YzKJzflOozZIbHBGcEX4BESuwt5gePuif0NnEZcSMgYm9A6FoHdo + DPyov4IHngjDyV1/GUWFILctSc1t1mOOhi+ZQ37iO8V91bcFofHdAExWI/JkUwWeOJ0oBZJznl3eLtyv + mzSS6s7oeCmCBfB0/aiS2tY+2IJMg27kudYs6XAOFozlHUMJpyrRDWQq0VYpTMgYMRvlCDaLcMWtdAVG + iWGaPgyBcOGOgt2H56G3yaC3ZSjrU26B8bgb9LxUrNJRBUlnlISz5ePIpm+2niwbrXjeA43vB6H6dT+4 + G3vgZk0nZJW2QobUAlfueCHGSiytUenkZWH7XsPfWou4kz4gD29Orxg5K7fA9Uof5FW1w8XbXkgR6ibI + K7VIewjxF6IsooOiYIq6pPBw8BOO4eUa2iYHGKMzjCzuR+4rWWd2rFTTECjqJ7VR3Pn236ZVAAAAAElF + TkSuQmCC @@ -530,6 +548,15 @@ True + + True + + + True + + + True + 1820, 17 @@ -572,6 +599,9 @@ 1610, 17 + + 1610, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -605,14 +635,14 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVDhPnZLdK0NhHMcfIpmiMWIoTS5IeblwTf4B93Lp - 4ihzsVrj5rnxT6zGzIwULlwxtLejvLSUEEazGRsbi202m/ZznrNnx1mZNp/69jzn1/l+nqfTQflgFxDQ - bXFYtEhGyv8SaDRISoqpyHrxAnE55evgBSTbhhr/jq72xGyQL6lUqIq+nou4/OHpg+R9GyRDKkgGpyAe - UEIoMJowG2RnlgXZOVZXttBaBoyRRCjf9UDc2w9vrk6IcXuy3jsbIHQ1AB9+BjAeStuMdT48U95P65mv - nS0nuDIRkGQFgdNWIUTkcQ7CnqH+iBzMC4Trv0zzgqi7Gy6sZULEAvdBFUQeJmDfWJvY1dcf8wLCj0QN - 144yfv18ZnISvy3nBBK4tFdA8GYKLMbmKK1nEEtIyD4nqyXw6lGC+7AG3n0MWLlb0OoPYglZ6RixetS7 - pUUjjnl0GHuchLBXDTZjU/7/JHsqfRRgdUh+sFYKsxin7YvSv3+03wQEjKvTGI+lrcvtYToqHMccUpyx - XV8YD3MCBabjwrHr0diTa3zTZpJu0FFx2E2NDLsiZyx61JiZIPQN36xK2ZfQOCoAAAAASUVORK5CYII= + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGvSURBVDhPnZLdK0NhHMcfIpmiMWIoTS5IeblwTf4B93Lp + 4ihzsVrj5smfsRozM1K4cMXQ3o7y0lJCGM1mbGwsttls2s95zp4dZ2XafOrb85xf5/t5nk4H5YNdQEC3 + xWHRIhkp/0ug0SApKaYi68ULxOWUr4MXkGwbavw7utoTs0G+pFKhKvp6LuLyh6cPkvdtkAypIBmcgnhA + CaHAaMJskJ1ZFmTnWF3ZQmsZMEYSoXzXA3FvP7y5OiHG7cl672yA0NUAfPgZwHgobTPW+fBMeT+tZ752 + tpzgykRAkhUETluFEJHHOQh7hvojcjAvEK7/Ms0Lou5uuLCWCREL3AdVEHmYgH1jbWJXX3/MCwg/EjVc + O8r49fOZyUn8tpwTSODSXgHBmymwGJujtJ5BLCEh+5yslsCrRwnuwxp49zFg5W5Bqz+IJWSlY8TqUe+W + Fo045tFh7HESwl412IxN+f+T7Kn0UYDVIfnBWinMYpy2L0r//tF+ExAwrk5jPJa2LreH6ahwHHNIccZ2 + fWE8zAkUmI4Lx65HY0+u8U2bSbpBR8VhNzUy7IqcsehRY2aC0DfcfErWdrISCgAAAABJRU5ErkJggg== @@ -627,6 +657,30 @@ True + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + True diff --git a/Source/Triggernometry/Forms/TriggerForm2.Designer.cs b/Source/Triggernometry/Forms/TriggerForm2.Designer.cs new file mode 100644 index 0000000..390183c --- /dev/null +++ b/Source/Triggernometry/Forms/TriggerForm2.Designer.cs @@ -0,0 +1,238 @@ +namespace Triggernometry.Forms +{ + partial class TriggerForm2 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.panel1 = new System.Windows.Forms.Panel(); + this.btnOk = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.panel2 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.lblHeaderTrigger = new System.Windows.Forms.Label(); + this.panel4 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.panel5 = new System.Windows.Forms.Panel(); + this.lblHeaderAction = new System.Windows.Forms.Label(); + this.panel6 = new System.Windows.Forms.Panel(); + this.edtTrigger = new Triggernometry.CustomControls.TriggerEditor(); + this.edtAction = new Triggernometry.CustomControls.ActionEditor(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.panel5.SuspendLayout(); + this.panel6.SuspendLayout(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.Controls.Add(this.btnOk); + this.panel1.Controls.Add(this.btnCancel); + this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel1.Location = new System.Drawing.Point(0, 524); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(8, 0, 8, 8); + this.panel1.Size = new System.Drawing.Size(1168, 50); + this.panel1.TabIndex = 5; + // + // btnOk + // + this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.btnOk.Dock = System.Windows.Forms.DockStyle.Right; + this.btnOk.Location = new System.Drawing.Point(920, 0); + this.btnOk.Margin = new System.Windows.Forms.Padding(8); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(120, 42); + this.btnOk.TabIndex = 1; + this.btnOk.Text = "OK"; + this.btnOk.UseVisualStyleBackColor = true; + // + // btnCancel + // + this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.btnCancel.Dock = System.Windows.Forms.DockStyle.Right; + this.btnCancel.Location = new System.Drawing.Point(1040, 0); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(120, 42); + this.btnCancel.TabIndex = 0; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + // + // panel2 + // + this.panel2.Controls.Add(this.splitContainer1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(0, 0); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(1168, 524); + this.panel2.TabIndex = 6; + // + // panel3 + // + this.panel3.BackColor = System.Drawing.SystemColors.Window; + this.panel3.Controls.Add(this.lblHeaderTrigger); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(0, 0); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(600, 50); + this.panel3.TabIndex = 2; + // + // lblHeaderTrigger + // + this.lblHeaderTrigger.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblHeaderTrigger.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblHeaderTrigger.Location = new System.Drawing.Point(0, 0); + this.lblHeaderTrigger.Name = "lblHeaderTrigger"; + this.lblHeaderTrigger.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.lblHeaderTrigger.Size = new System.Drawing.Size(600, 50); + this.lblHeaderTrigger.TabIndex = 0; + this.lblHeaderTrigger.Text = "Trigger"; + this.lblHeaderTrigger.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // panel4 + // + this.panel4.Controls.Add(this.edtTrigger); + this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel4.Location = new System.Drawing.Point(0, 50); + this.panel4.Name = "panel4"; + this.panel4.Padding = new System.Windows.Forms.Padding(8); + this.panel4.Size = new System.Drawing.Size(600, 474); + this.panel4.TabIndex = 3; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.panel4); + this.splitContainer1.Panel1.Controls.Add(this.panel3); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.panel6); + this.splitContainer1.Panel2.Controls.Add(this.panel5); + this.splitContainer1.Size = new System.Drawing.Size(1168, 524); + this.splitContainer1.SplitterDistance = 600; + this.splitContainer1.TabIndex = 4; + // + // panel5 + // + this.panel5.BackColor = System.Drawing.SystemColors.Window; + this.panel5.Controls.Add(this.lblHeaderAction); + this.panel5.Dock = System.Windows.Forms.DockStyle.Top; + this.panel5.Location = new System.Drawing.Point(0, 0); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(564, 50); + this.panel5.TabIndex = 3; + // + // lblHeaderAction + // + this.lblHeaderAction.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblHeaderAction.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblHeaderAction.Location = new System.Drawing.Point(0, 0); + this.lblHeaderAction.Name = "lblHeaderAction"; + this.lblHeaderAction.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.lblHeaderAction.Size = new System.Drawing.Size(564, 50); + this.lblHeaderAction.TabIndex = 0; + this.lblHeaderAction.Text = "Action"; + this.lblHeaderAction.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // panel6 + // + this.panel6.Controls.Add(this.edtAction); + this.panel6.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel6.Location = new System.Drawing.Point(0, 50); + this.panel6.Name = "panel6"; + this.panel6.Padding = new System.Windows.Forms.Padding(8); + this.panel6.Size = new System.Drawing.Size(564, 474); + this.panel6.TabIndex = 4; + // + // edtTrigger + // + this.edtTrigger.Dock = System.Windows.Forms.DockStyle.Fill; + this.edtTrigger.Location = new System.Drawing.Point(8, 8); + this.edtTrigger.Name = "edtTrigger"; + this.edtTrigger.Size = new System.Drawing.Size(584, 458); + this.edtTrigger.TabIndex = 0; + // + // edtAction + // + this.edtAction.Dock = System.Windows.Forms.DockStyle.Top; + this.edtAction.Location = new System.Drawing.Point(8, 8); + this.edtAction.Name = "edtAction"; + this.edtAction.Size = new System.Drawing.Size(548, 514); + this.edtAction.TabIndex = 0; + // + // TriggerForm2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1168, 574); + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.Name = "TriggerForm2"; + this.Text = "TriggerForm2"; + this.panel1.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel4.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.panel5.ResumeLayout(false); + this.panel6.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button btnOk; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label lblHeaderTrigger; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.Panel panel6; + private System.Windows.Forms.Panel panel5; + private System.Windows.Forms.Label lblHeaderAction; + private CustomControls.TriggerEditor edtTrigger; + private CustomControls.ActionEditor edtAction; + } +} \ No newline at end of file diff --git a/Source/Triggernometry/Forms/TriggerForm2.cs b/Source/Triggernometry/Forms/TriggerForm2.cs new file mode 100644 index 0000000..b2eb3d7 --- /dev/null +++ b/Source/Triggernometry/Forms/TriggerForm2.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Triggernometry.Forms +{ + public partial class TriggerForm2 : Form + { + public TriggerForm2() + { + InitializeComponent(); + } + } +} diff --git a/Source/Triggernometry/Forms/TriggerForm2.resx b/Source/Triggernometry/Forms/TriggerForm2.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Source/Triggernometry/Forms/TriggerForm2.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Source/Triggernometry/Properties/AssemblyInfo.cs b/Source/Triggernometry/Properties/AssemblyInfo.cs index 7254512..89a0089 100644 --- a/Source/Triggernometry/Properties/AssemblyInfo.cs +++ b/Source/Triggernometry/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0.5")] -[assembly: AssemblyFileVersion("1.2.0.5")] +[assembly: AssemblyVersion("1.2.0.6")] +[assembly: AssemblyFileVersion("1.2.0.6")] diff --git a/Source/Triggernometry/RealPlugin.cs b/Source/Triggernometry/RealPlugin.cs index 0c1d531..1d9d0a2 100644 --- a/Source/Triggernometry/RealPlugin.cs +++ b/Source/Triggernometry/RealPlugin.cs @@ -307,6 +307,9 @@ internal MutexInformation GetMutex(string name) public delegate PluginWrapper InstanceDelegate(string ActPluginName, string ActPluginType); public delegate void ACTEncounterLogDelegate(string message); + internal Dictionary TtsRepetitions = new Dictionary(); + internal Dictionary SoundRepetitions = new Dictionary(); + internal Scarborough.Scarborough sc; private Queue EventQueue; private ManualResetEvent QueueWakeupEvent; @@ -1647,11 +1650,25 @@ internal void CancelAllQueuedActionsFromTrigger(Trigger t) internal void TtsPlaybackAct(Context ctx, Action a) { string text = TtsPlaybackGetTextFromAction(ctx, a); + lock (TtsRepetitions) + { + if (RegisterRepetition(TtsRepetitions, cfg.TtsRepCooldown, text) == false) + { + return; + } + } TtsPlaybackHook(text); } internal void SoundPlaybackAct(Context ctx, Action a, string filename) { + lock (SoundRepetitions) + { + if (RegisterRepetition(SoundRepetitions, cfg.SoundRepCooldown, filename) == false) + { + return; + } + } double vol = ctx.EvaluateNumericExpression(a.ActionContextLogger, ctx, a._PlaySoundVolumeExpression); vol *= (ctx.plug.cfg.SfxVolumeAdjustment / 100.0); if (vol < 0.0) @@ -1678,8 +1695,15 @@ internal string TtsPlaybackGetTextFromAction(Context ctx, Action a) internal void TtsPlaybackSelf(Context ctx, Action a) { string text = TtsPlaybackGetTextFromAction(ctx, a); + lock (TtsRepetitions) + { + if (RegisterRepetition(TtsRepetitions, cfg.TtsRepCooldown, text) == false) + { + return; + } + } SpeechSynthesizer mytts; - if (a._UseTTSExclusive == true) + if (/*a._UseTTSExclusive == */true) { mytts = new SpeechSynthesizer(); } @@ -1708,11 +1732,18 @@ internal void TtsPlaybackSelf(Context ctx, Action a) } mytts.Volume = (int)Math.Ceiling(vol); mytts.Rate = (int)Math.Ceiling(rate); - mytts.Speak(text); + mytts.SpeakAsync(text); } internal void SoundPlaybackSelf(Context ctx, Action a, string filename) { + lock (SoundRepetitions) + { + if (RegisterRepetition(SoundRepetitions, cfg.SoundRepCooldown, filename) == false) + { + return; + } + } WindowsMediaPlayer mywmp; if (a._PlaySoundExclusive == true) { @@ -1751,6 +1782,13 @@ internal void TtsPlaybackExternal(Context ctx, Action a) return; } string text = TtsPlaybackGetTextFromAction(ctx, a); + lock (TtsRepetitions) + { + if (RegisterRepetition(TtsRepetitions, cfg.TtsRepCooldown, text) == false) + { + return; + } + } string args = cfg.TtsExternalAppArgs ?? ""; args = args.Replace("$source", text); Process.Start(proc, args); @@ -1758,6 +1796,13 @@ internal void TtsPlaybackExternal(Context ctx, Action a) internal void SoundPlaybackExternal(Context ctx, Action a, string filename) { + lock (SoundRepetitions) + { + if (RegisterRepetition(SoundRepetitions, cfg.SoundRepCooldown, filename) == false) + { + return; + } + } string proc = (cfg.SoundExternalApp ?? "").Trim(); if (proc.Length == 0) { @@ -1768,6 +1813,29 @@ internal void SoundPlaybackExternal(Context ctx, Action a, string filename) Process.Start(proc, args); } + internal bool RegisterRepetition(Dictionary repstore, int cooldown, string item) + { + if (cooldown == 0) + { + return true; + } + if (repstore.TryGetValue(item, out DateTime last) == true) + { + if (last.AddMilliseconds(cooldown) > DateTime.Now) + { + return false; + } + } + repstore[item] = DateTime.Now; + // clean old entries while we're here + var olds = (from rx in repstore where rx.Value.AddMilliseconds(cooldown) < DateTime.Now select rx.Key).ToList(); + foreach (var old in olds) + { + repstore.Remove(old); + } + return true; + } + internal void TtsPlaybackSmart(Context ctx, Action a) { switch (a.TTSRouting) diff --git a/Source/Triggernometry/TriggernometryPlugin.csproj b/Source/Triggernometry/TriggernometryPlugin.csproj index 350d3c8..8641cca 100644 --- a/Source/Triggernometry/TriggernometryPlugin.csproj +++ b/Source/Triggernometry/TriggernometryPlugin.csproj @@ -175,6 +175,12 @@ + + UserControl + + + ActionEditor.cs + UserControl @@ -214,6 +220,12 @@ Toast.cs + + UserControl + + + TriggerEditor.cs + Form @@ -349,6 +361,12 @@ SubstitutionForm.cs + + Form + + + TriggerForm2.cs + Form @@ -540,6 +558,9 @@ + + ActionEditor.cs + ActionViewer.cs @@ -555,6 +576,9 @@ Toast.cs + + TriggerEditor.cs + AboutForm.cs Designer @@ -616,6 +640,9 @@ SubstitutionForm.cs + + TriggerForm2.cs + VariableEditorForm.cs diff --git a/Source/TriggernometryProxy/Properties/AssemblyInfo.cs b/Source/TriggernometryProxy/Properties/AssemblyInfo.cs index 2451341..ced703c 100644 --- a/Source/TriggernometryProxy/Properties/AssemblyInfo.cs +++ b/Source/TriggernometryProxy/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0.5")] -[assembly: AssemblyFileVersion("1.2.0.5")] +[assembly: AssemblyVersion("1.2.0.6")] +[assembly: AssemblyFileVersion("1.2.0.6")]