2026-08-10 11:50:48 +00:00
|
|
|
#nullable enable
|
2026-08-10 11:27:28 +00:00
|
|
|
namespace Robovoice.App;
|
|
|
|
|
|
|
|
|
|
partial class MainForm
|
|
|
|
|
{
|
|
|
|
|
private System.ComponentModel.IContainer? components = null;
|
|
|
|
|
|
|
|
|
|
private Label lblPttKey = null!;
|
2026-08-10 12:07:34 +00:00
|
|
|
private TextBox txtPttKey = null!;
|
2026-08-10 11:27:28 +00:00
|
|
|
private Label lblVoice = null!;
|
|
|
|
|
private ComboBox cmbVoice = null!;
|
|
|
|
|
private Button btnTestVoice = null!;
|
|
|
|
|
private Button btnManageVoices = null!;
|
|
|
|
|
private Label lblOutput = null!;
|
|
|
|
|
private ComboBox cmbOutput = null!;
|
|
|
|
|
private Label lblFile = null!;
|
|
|
|
|
private Button btnBrowseFile = null!;
|
|
|
|
|
private Label lblFileName = null!;
|
|
|
|
|
private Label lblLineStatus = null!;
|
|
|
|
|
private RichTextBox txtLog = null!;
|
|
|
|
|
private CheckBox chkMinimizeToTray = null!;
|
|
|
|
|
private Button btnClearLog = null!;
|
|
|
|
|
private Label lblTextInput = null!;
|
|
|
|
|
private TextBox txtTextInput = null!;
|
|
|
|
|
private Button btnSpeakInput = null!;
|
2026-08-10 11:50:48 +00:00
|
|
|
private Label lblNoise = null!;
|
|
|
|
|
private TrackBar trkNoise = null!;
|
|
|
|
|
private Label lblNoiseVal = null!;
|
|
|
|
|
private Label lblSpeed = null!;
|
|
|
|
|
private TrackBar trkSpeed = null!;
|
|
|
|
|
private Label lblSpeedVal = null!;
|
|
|
|
|
private Label lblNoiseW = null!;
|
|
|
|
|
private TrackBar trkNoiseW = null!;
|
|
|
|
|
private Label lblNoiseWVal = null!;
|
2026-08-10 11:27:28 +00:00
|
|
|
|
|
|
|
|
protected override void Dispose(bool disposing)
|
|
|
|
|
{
|
|
|
|
|
if (disposing && components != null)
|
|
|
|
|
components.Dispose();
|
|
|
|
|
base.Dispose(disposing);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void InitializeComponent()
|
|
|
|
|
{
|
|
|
|
|
components = new System.ComponentModel.Container();
|
|
|
|
|
|
|
|
|
|
lblPttKey = new Label();
|
2026-08-10 12:07:34 +00:00
|
|
|
txtPttKey = new TextBox();
|
2026-08-10 11:27:28 +00:00
|
|
|
lblVoice = new Label();
|
|
|
|
|
cmbVoice = new ComboBox();
|
|
|
|
|
btnTestVoice = new Button();
|
|
|
|
|
btnManageVoices = new Button();
|
|
|
|
|
lblOutput = new Label();
|
|
|
|
|
cmbOutput = new ComboBox();
|
|
|
|
|
lblFile = new Label();
|
|
|
|
|
btnBrowseFile = new Button();
|
|
|
|
|
lblFileName = new Label();
|
|
|
|
|
lblLineStatus = new Label();
|
|
|
|
|
txtLog = new RichTextBox();
|
|
|
|
|
chkMinimizeToTray = new CheckBox();
|
|
|
|
|
btnClearLog = new Button();
|
|
|
|
|
lblTextInput = new Label();
|
|
|
|
|
txtTextInput = new TextBox();
|
|
|
|
|
btnSpeakInput = new Button();
|
2026-08-10 11:50:48 +00:00
|
|
|
lblNoise = new Label();
|
|
|
|
|
trkNoise = new TrackBar();
|
|
|
|
|
lblNoiseVal = new Label();
|
|
|
|
|
lblSpeed = new Label();
|
|
|
|
|
trkSpeed = new TrackBar();
|
|
|
|
|
lblSpeedVal = new Label();
|
|
|
|
|
lblNoiseW = new Label();
|
|
|
|
|
trkNoiseW = new TrackBar();
|
|
|
|
|
lblNoiseWVal = new Label();
|
2026-08-10 11:27:28 +00:00
|
|
|
|
|
|
|
|
SuspendLayout();
|
|
|
|
|
|
|
|
|
|
// lblPttKey
|
|
|
|
|
lblPttKey.Text = "PTT Key:";
|
|
|
|
|
lblPttKey.Location = new Point(12, 15);
|
|
|
|
|
lblPttKey.Size = new Size(60, 23);
|
|
|
|
|
lblPttKey.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
2026-08-10 12:07:34 +00:00
|
|
|
// txtPttKey
|
|
|
|
|
txtPttKey.Location = new Point(75, 12);
|
|
|
|
|
txtPttKey.Size = new Size(80, 23);
|
|
|
|
|
txtPttKey.ReadOnly = true;
|
|
|
|
|
txtPttKey.TextAlign = HorizontalAlignment.Center;
|
2026-08-10 11:27:28 +00:00
|
|
|
|
|
|
|
|
// lblVoice
|
|
|
|
|
lblVoice.Text = "Voice:";
|
|
|
|
|
lblVoice.Location = new Point(170, 15);
|
|
|
|
|
lblVoice.Size = new Size(45, 23);
|
|
|
|
|
lblVoice.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// cmbVoice
|
|
|
|
|
cmbVoice.Location = new Point(218, 12);
|
|
|
|
|
cmbVoice.Size = new Size(200, 23);
|
|
|
|
|
cmbVoice.DropDownStyle = ComboBoxStyle.DropDownList;
|
|
|
|
|
|
|
|
|
|
// btnTestVoice
|
|
|
|
|
btnTestVoice.Text = "Test";
|
|
|
|
|
btnTestVoice.Location = new Point(423, 11);
|
|
|
|
|
btnTestVoice.Size = new Size(45, 25);
|
|
|
|
|
btnTestVoice.UseVisualStyleBackColor = true;
|
|
|
|
|
|
|
|
|
|
// btnManageVoices
|
|
|
|
|
btnManageVoices.Text = "Add/Remove...";
|
|
|
|
|
btnManageVoices.Location = new Point(474, 11);
|
|
|
|
|
btnManageVoices.Size = new Size(95, 25);
|
|
|
|
|
btnManageVoices.UseVisualStyleBackColor = true;
|
|
|
|
|
|
|
|
|
|
// lblOutput
|
|
|
|
|
lblOutput.Text = "Output:";
|
|
|
|
|
lblOutput.Location = new Point(580, 15);
|
|
|
|
|
lblOutput.Size = new Size(50, 23);
|
|
|
|
|
lblOutput.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// cmbOutput
|
|
|
|
|
cmbOutput.Location = new Point(633, 12);
|
|
|
|
|
cmbOutput.Size = new Size(180, 23);
|
|
|
|
|
cmbOutput.DropDownStyle = ComboBoxStyle.DropDownList;
|
|
|
|
|
|
|
|
|
|
// lblFile
|
|
|
|
|
lblFile.Text = "Text File:";
|
|
|
|
|
lblFile.Location = new Point(12, 48);
|
|
|
|
|
lblFile.Size = new Size(60, 23);
|
|
|
|
|
lblFile.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// btnBrowseFile
|
|
|
|
|
btnBrowseFile.Text = "Browse...";
|
|
|
|
|
btnBrowseFile.Location = new Point(75, 45);
|
|
|
|
|
btnBrowseFile.Size = new Size(75, 25);
|
|
|
|
|
btnBrowseFile.UseVisualStyleBackColor = true;
|
|
|
|
|
|
|
|
|
|
// lblFileName
|
|
|
|
|
lblFileName.Text = "(none)";
|
|
|
|
|
lblFileName.Location = new Point(155, 48);
|
|
|
|
|
lblFileName.Size = new Size(490, 23);
|
|
|
|
|
lblFileName.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
lblFileName.ForeColor = Color.Gray;
|
|
|
|
|
|
|
|
|
|
// lblLineStatus
|
|
|
|
|
lblLineStatus.Text = "";
|
|
|
|
|
lblLineStatus.Location = new Point(650, 48);
|
|
|
|
|
lblLineStatus.Size = new Size(160, 23);
|
|
|
|
|
lblLineStatus.TextAlign = ContentAlignment.MiddleRight;
|
|
|
|
|
lblLineStatus.ForeColor = Color.DarkBlue;
|
|
|
|
|
|
2026-08-10 11:50:48 +00:00
|
|
|
// lblNoise
|
|
|
|
|
lblNoise.Text = "Noise:";
|
|
|
|
|
lblNoise.Location = new Point(12, 82);
|
|
|
|
|
lblNoise.Size = new Size(40, 23);
|
|
|
|
|
lblNoise.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// trkNoise (0-1000 → 0.0-1.0, default 667)
|
|
|
|
|
trkNoise.Location = new Point(52, 78);
|
|
|
|
|
trkNoise.Size = new Size(120, 45);
|
|
|
|
|
trkNoise.Minimum = 0;
|
|
|
|
|
trkNoise.Maximum = 1000;
|
|
|
|
|
trkNoise.Value = 667;
|
|
|
|
|
trkNoise.TickFrequency = 200;
|
|
|
|
|
trkNoise.Orientation = Orientation.Horizontal;
|
|
|
|
|
|
|
|
|
|
// lblNoiseVal
|
|
|
|
|
lblNoiseVal.Text = "0.667";
|
|
|
|
|
lblNoiseVal.Location = new Point(175, 82);
|
|
|
|
|
lblNoiseVal.Size = new Size(35, 23);
|
|
|
|
|
lblNoiseVal.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// lblSpeed
|
|
|
|
|
lblSpeed.Text = "Speed:";
|
|
|
|
|
lblSpeed.Location = new Point(220, 82);
|
|
|
|
|
lblSpeed.Size = new Size(40, 23);
|
|
|
|
|
lblSpeed.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// trkSpeed (50-300 → 0.5-3.0, default 100)
|
|
|
|
|
trkSpeed.Location = new Point(260, 78);
|
|
|
|
|
trkSpeed.Size = new Size(120, 45);
|
|
|
|
|
trkSpeed.Minimum = 50;
|
|
|
|
|
trkSpeed.Maximum = 300;
|
|
|
|
|
trkSpeed.Value = 100;
|
|
|
|
|
trkSpeed.TickFrequency = 50;
|
|
|
|
|
trkSpeed.Orientation = Orientation.Horizontal;
|
|
|
|
|
|
|
|
|
|
// lblSpeedVal
|
|
|
|
|
lblSpeedVal.Text = "1.00";
|
|
|
|
|
lblSpeedVal.Location = new Point(383, 82);
|
|
|
|
|
lblSpeedVal.Size = new Size(35, 23);
|
|
|
|
|
lblSpeedVal.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// lblNoiseW
|
|
|
|
|
lblNoiseW.Text = "NoiseW:";
|
|
|
|
|
lblNoiseW.Location = new Point(428, 82);
|
|
|
|
|
lblNoiseW.Size = new Size(45, 23);
|
|
|
|
|
lblNoiseW.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// trkNoiseW (0-1000 → 0.0-1.0, default 800)
|
|
|
|
|
trkNoiseW.Location = new Point(475, 78);
|
|
|
|
|
trkNoiseW.Size = new Size(120, 45);
|
|
|
|
|
trkNoiseW.Minimum = 0;
|
|
|
|
|
trkNoiseW.Maximum = 1000;
|
|
|
|
|
trkNoiseW.Value = 800;
|
|
|
|
|
trkNoiseW.TickFrequency = 200;
|
|
|
|
|
trkNoiseW.Orientation = Orientation.Horizontal;
|
|
|
|
|
|
|
|
|
|
// lblNoiseWVal
|
|
|
|
|
lblNoiseWVal.Text = "0.800";
|
|
|
|
|
lblNoiseWVal.Location = new Point(598, 82);
|
|
|
|
|
lblNoiseWVal.Size = new Size(45, 23);
|
|
|
|
|
lblNoiseWVal.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
2026-08-10 11:27:28 +00:00
|
|
|
// txtLog
|
2026-08-10 11:50:48 +00:00
|
|
|
txtLog.Location = new Point(12, 149);
|
2026-08-10 11:27:28 +00:00
|
|
|
txtLog.Size = new Size(800, 310);
|
|
|
|
|
|
|
|
|
|
// lblTextInput
|
|
|
|
|
lblTextInput.Text = "Text:";
|
2026-08-10 11:50:48 +00:00
|
|
|
lblTextInput.Location = new Point(12, 121);
|
2026-08-10 11:27:28 +00:00
|
|
|
lblTextInput.Size = new Size(35, 23);
|
|
|
|
|
lblTextInput.TextAlign = ContentAlignment.MiddleLeft;
|
|
|
|
|
|
|
|
|
|
// txtTextInput
|
2026-08-10 11:50:48 +00:00
|
|
|
txtTextInput.Location = new Point(50, 118);
|
2026-08-10 11:27:28 +00:00
|
|
|
txtTextInput.Size = new Size(680, 23);
|
|
|
|
|
|
|
|
|
|
// btnSpeakInput
|
|
|
|
|
btnSpeakInput.Text = "Speak";
|
2026-08-10 11:50:48 +00:00
|
|
|
btnSpeakInput.Location = new Point(737, 117);
|
2026-08-10 11:27:28 +00:00
|
|
|
btnSpeakInput.Size = new Size(75, 25);
|
|
|
|
|
btnSpeakInput.UseVisualStyleBackColor = true;
|
|
|
|
|
txtLog.ReadOnly = true;
|
|
|
|
|
txtLog.Font = new Font("Consolas", 9F);
|
|
|
|
|
txtLog.BackColor = Color.FromArgb(30, 30, 30);
|
|
|
|
|
txtLog.ForeColor = Color.FromArgb(220, 220, 220);
|
|
|
|
|
|
|
|
|
|
// chkMinimizeToTray
|
|
|
|
|
chkMinimizeToTray.Text = "Minimize to tray on close";
|
2026-08-10 11:50:48 +00:00
|
|
|
chkMinimizeToTray.Location = new Point(12, 477);
|
2026-08-10 11:27:28 +00:00
|
|
|
chkMinimizeToTray.Size = new Size(180, 24);
|
|
|
|
|
chkMinimizeToTray.UseVisualStyleBackColor = true;
|
|
|
|
|
|
|
|
|
|
// btnClearLog
|
|
|
|
|
btnClearLog.Text = "Clear Log";
|
2026-08-10 11:50:48 +00:00
|
|
|
btnClearLog.Location = new Point(737, 475);
|
2026-08-10 11:27:28 +00:00
|
|
|
btnClearLog.Size = new Size(75, 25);
|
|
|
|
|
btnClearLog.UseVisualStyleBackColor = true;
|
|
|
|
|
|
|
|
|
|
// MainForm
|
|
|
|
|
AutoScaleDimensions = new SizeF(7F, 15F);
|
|
|
|
|
AutoScaleMode = AutoScaleMode.Font;
|
2026-08-10 11:50:48 +00:00
|
|
|
ClientSize = new Size(824, 509);
|
2026-08-10 11:27:28 +00:00
|
|
|
Controls.Add(lblPttKey);
|
2026-08-10 12:07:34 +00:00
|
|
|
Controls.Add(txtPttKey);
|
2026-08-10 11:27:28 +00:00
|
|
|
Controls.Add(lblVoice);
|
|
|
|
|
Controls.Add(cmbVoice);
|
|
|
|
|
Controls.Add(btnTestVoice);
|
|
|
|
|
Controls.Add(btnManageVoices);
|
|
|
|
|
Controls.Add(lblOutput);
|
|
|
|
|
Controls.Add(cmbOutput);
|
|
|
|
|
Controls.Add(lblFile);
|
|
|
|
|
Controls.Add(btnBrowseFile);
|
|
|
|
|
Controls.Add(lblFileName);
|
|
|
|
|
Controls.Add(lblLineStatus);
|
2026-08-10 11:50:48 +00:00
|
|
|
Controls.Add(lblNoise);
|
|
|
|
|
Controls.Add(trkNoise);
|
|
|
|
|
Controls.Add(lblNoiseVal);
|
|
|
|
|
Controls.Add(lblSpeed);
|
|
|
|
|
Controls.Add(trkSpeed);
|
|
|
|
|
Controls.Add(lblSpeedVal);
|
|
|
|
|
Controls.Add(lblNoiseW);
|
|
|
|
|
Controls.Add(trkNoiseW);
|
|
|
|
|
Controls.Add(lblNoiseWVal);
|
2026-08-10 11:27:28 +00:00
|
|
|
Controls.Add(lblTextInput);
|
|
|
|
|
Controls.Add(txtTextInput);
|
|
|
|
|
Controls.Add(btnSpeakInput);
|
|
|
|
|
Controls.Add(txtLog);
|
|
|
|
|
Controls.Add(chkMinimizeToTray);
|
|
|
|
|
Controls.Add(btnClearLog);
|
2026-08-10 11:50:48 +00:00
|
|
|
MinimumSize = new Size(840, 547);
|
2026-08-10 11:27:28 +00:00
|
|
|
Text = "Robovoice";
|
|
|
|
|
FormBorderStyle = FormBorderStyle.FixedSingle;
|
|
|
|
|
MaximizeBox = false;
|
|
|
|
|
ResumeLayout(false);
|
|
|
|
|
}
|
|
|
|
|
}
|