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")]