diff --git a/Main.Designer.cs b/Main.Designer.cs
new file mode 100644
index 0000000..c856021
--- /dev/null
+++ b/Main.Designer.cs
@@ -0,0 +1,205 @@
+namespace PainoBar_Helper
+{
+ partial class Main
+ {
+ ///
+ /// 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()
+ {
+ menuStrip1 = new MenuStrip();
+ fileToolStripMenuItem = new ToolStripMenuItem();
+ settingsToolStripMenuItem = new ToolStripMenuItem();
+ profilesToolStripMenuItem = new ToolStripMenuItem();
+ album_art_picture_box = new PictureBox();
+ info_table_Panel = new TableLayoutPanel();
+ connect_button = new Button();
+ disconnect_button = new Button();
+ statusStrip1 = new StatusStrip();
+ stations_button = new Button();
+ groupBox1 = new GroupBox();
+ btnPlayPause = new Button();
+ btnSkip = new Button();
+ menuStrip1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)album_art_picture_box).BeginInit();
+ groupBox1.SuspendLayout();
+ SuspendLayout();
+ //
+ // menuStrip1
+ //
+ menuStrip1.Items.AddRange(new ToolStripItem[] { fileToolStripMenuItem });
+ menuStrip1.Location = new Point(0, 0);
+ menuStrip1.Name = "menuStrip1";
+ menuStrip1.Size = new Size(666, 25);
+ menuStrip1.TabIndex = 0;
+ menuStrip1.Text = "menuStrip1";
+ //
+ // fileToolStripMenuItem
+ //
+ fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { settingsToolStripMenuItem, profilesToolStripMenuItem });
+ fileToolStripMenuItem.Name = "fileToolStripMenuItem";
+ fileToolStripMenuItem.Size = new Size(41, 21);
+ fileToolStripMenuItem.Text = "File";
+ //
+ // settingsToolStripMenuItem
+ //
+ settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
+ settingsToolStripMenuItem.Size = new Size(124, 22);
+ settingsToolStripMenuItem.Text = "Settings";
+ //
+ // profilesToolStripMenuItem
+ //
+ profilesToolStripMenuItem.Name = "profilesToolStripMenuItem";
+ profilesToolStripMenuItem.Size = new Size(124, 22);
+ profilesToolStripMenuItem.Text = "Profiles";
+ //
+ // album_art_picture_box
+ //
+ album_art_picture_box.Location = new Point(23, 44);
+ album_art_picture_box.Name = "album_art_picture_box";
+ album_art_picture_box.Size = new Size(171, 170);
+ album_art_picture_box.TabIndex = 1;
+ album_art_picture_box.TabStop = false;
+ //
+ // info_table_Panel
+ //
+ info_table_Panel.ColumnCount = 2;
+ info_table_Panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
+ info_table_Panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
+ info_table_Panel.Location = new Point(241, 55);
+ info_table_Panel.Name = "info_table_Panel";
+ info_table_Panel.RowCount = 5;
+ info_table_Panel.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ info_table_Panel.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ info_table_Panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
+ info_table_Panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
+ info_table_Panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
+ info_table_Panel.Size = new Size(383, 147);
+ info_table_Panel.TabIndex = 2;
+ //
+ // connect_button
+ //
+ connect_button.Location = new Point(298, 218);
+ connect_button.Name = "connect_button";
+ connect_button.Size = new Size(89, 23);
+ connect_button.TabIndex = 4;
+ connect_button.Text = "Connect";
+ connect_button.UseVisualStyleBackColor = true;
+ //
+ // disconnect_button
+ //
+ disconnect_button.Location = new Point(486, 217);
+ disconnect_button.Name = "disconnect_button";
+ disconnect_button.Size = new Size(89, 23);
+ disconnect_button.TabIndex = 5;
+ disconnect_button.Text = "Disconnect";
+ disconnect_button.UseVisualStyleBackColor = true;
+ //
+ // statusStrip1
+ //
+ statusStrip1.Location = new Point(0, 377);
+ statusStrip1.Name = "statusStrip1";
+ statusStrip1.Size = new Size(666, 22);
+ statusStrip1.TabIndex = 6;
+ statusStrip1.Text = "statusStrip1";
+ //
+ // stations_button
+ //
+ stations_button.Location = new Point(385, 253);
+ stations_button.Name = "stations_button";
+ stations_button.Size = new Size(107, 23);
+ stations_button.TabIndex = 7;
+ stations_button.Text = "Stations";
+ stations_button.UseVisualStyleBackColor = true;
+ //
+ // groupBox1
+ //
+ groupBox1.Controls.Add(btnSkip);
+ groupBox1.Controls.Add(btnPlayPause);
+ groupBox1.Location = new Point(23, 307);
+ groupBox1.Name = "groupBox1";
+ groupBox1.Size = new Size(601, 64);
+ groupBox1.TabIndex = 8;
+ groupBox1.TabStop = false;
+ groupBox1.Text = "Playback Controls";
+ //
+ // btnPlayPause
+ //
+ btnPlayPause.Location = new Point(106, 23);
+ btnPlayPause.Name = "btnPlayPause";
+ btnPlayPause.Size = new Size(89, 23);
+ btnPlayPause.TabIndex = 0;
+ btnPlayPause.Text = "Play / Pause";
+ btnPlayPause.UseVisualStyleBackColor = true;
+ //
+ // btnSkip
+ //
+ btnSkip.Location = new Point(408, 23);
+ btnSkip.Name = "btnSkip";
+ btnSkip.Size = new Size(89, 23);
+ btnSkip.TabIndex = 1;
+ btnSkip.Text = "Skip";
+ btnSkip.UseVisualStyleBackColor = true;
+ //
+ // Main
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(666, 399);
+ Controls.Add(groupBox1);
+ Controls.Add(stations_button);
+ Controls.Add(statusStrip1);
+ Controls.Add(disconnect_button);
+ Controls.Add(connect_button);
+ Controls.Add(info_table_Panel);
+ Controls.Add(album_art_picture_box);
+ Controls.Add(menuStrip1);
+ MainMenuStrip = menuStrip1;
+ Name = "Main";
+ Text = "PainoBar Helper";
+ menuStrip1.ResumeLayout(false);
+ menuStrip1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)album_art_picture_box).EndInit();
+ groupBox1.ResumeLayout(false);
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+
+ private MenuStrip menuStrip1;
+ private ToolStripMenuItem fileToolStripMenuItem;
+ private ToolStripMenuItem settingsToolStripMenuItem;
+ private PictureBox album_art_picture_box;
+ private TableLayoutPanel info_table_Panel;
+ private Button connect_button;
+ private Button disconnect_button;
+ private StatusStrip statusStrip1;
+ private ToolStripMenuItem profilesToolStripMenuItem;
+ private Button stations_button;
+ private GroupBox groupBox1;
+ private Button btnPlayPause;
+ private Button btnSkip;
+ }
+}
diff --git a/Main.cs b/Main.cs
new file mode 100644
index 0000000..20952ac
--- /dev/null
+++ b/Main.cs
@@ -0,0 +1,10 @@
+namespace PainoBar_Helper
+{
+ public partial class Main : Form
+ {
+ public Main()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Main.resx b/Main.resx
new file mode 100644
index 0000000..7663427
--- /dev/null
+++ b/Main.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 17, 17
+
+
+ 133, 17
+
+
\ No newline at end of file
diff --git a/PainoBar Helper.csproj b/PainoBar Helper.csproj
new file mode 100644
index 0000000..acabef9
--- /dev/null
+++ b/PainoBar Helper.csproj
@@ -0,0 +1,12 @@
+
+
+
+ WinExe
+ net8.0-windows
+ PainoBar_Helper
+ enable
+ true
+ enable
+
+
+
\ No newline at end of file
diff --git a/PainoBar Helper.sln b/PainoBar Helper.sln
new file mode 100644
index 0000000..b622537
--- /dev/null
+++ b/PainoBar Helper.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.37502.11 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PainoBar Helper", "PainoBar Helper.csproj", "{63AC2404-8913-46BC-9048-E90F11DB0C74}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {63AC2404-8913-46BC-9048-E90F11DB0C74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {63AC2404-8913-46BC-9048-E90F11DB0C74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {63AC2404-8913-46BC-9048-E90F11DB0C74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {63AC2404-8913-46BC-9048-E90F11DB0C74}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {EEB32EDF-D45E-4840-8D0A-ED56AF4BB9A7}
+ EndGlobalSection
+EndGlobal
diff --git a/Program.cs b/Program.cs
new file mode 100644
index 0000000..9077396
--- /dev/null
+++ b/Program.cs
@@ -0,0 +1,17 @@
+namespace PainoBar_Helper
+{
+ internal static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new Main());
+ }
+ }
+}
\ No newline at end of file
diff --git a/Settings.Designer.cs b/Settings.Designer.cs
new file mode 100644
index 0000000..2f701cd
--- /dev/null
+++ b/Settings.Designer.cs
@@ -0,0 +1,424 @@
+namespace PainoBar_Helper
+{
+ partial class settings_form
+ {
+ ///
+ /// 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()
+ {
+ profiles_group_box = new GroupBox();
+ selected_profile_label = new Label();
+ profiles_combo_box_selector = new ComboBox();
+ new_profile_button = new Button();
+ delete_profile_button = new Button();
+ profile_name_label = new Label();
+ profile_name_text_box = new TextBox();
+ profile_configuration_group_box = new GroupBox();
+ pianobar_path_label = new Label();
+ pianobar_path_text_box = new TextBox();
+ browse_button = new Button();
+ profile_config_tab_control = new TabControl();
+ outputs_tab_page = new TabPage();
+ pianobar_override_tab_page = new TabPage();
+ obs_text_output_check_box = new CheckBox();
+ output_label = new Label();
+ output_folder_text_box = new TextBox();
+ output_folder_browse_button = new Button();
+ local_web_server_check_box = new CheckBox();
+ port_label = new Label();
+ textBox1 = new TextBox();
+ chk_toast_notifications = new CheckBox();
+ chkSMTC = new CheckBox();
+ chkOverrideCredentials = new CheckBox();
+ txtConfigFilePathLabel = new Label();
+ txtConfigFilePath = new TextBox();
+ btnBrowseConfigFile = new Button();
+ UsernameLabel = new Label();
+ txtPianobarUser = new TextBox();
+ PasswordLabel = new Label();
+ txtPianobarPass = new TextBox();
+ profiles_group_box.SuspendLayout();
+ profile_configuration_group_box.SuspendLayout();
+ profile_config_tab_control.SuspendLayout();
+ outputs_tab_page.SuspendLayout();
+ pianobar_override_tab_page.SuspendLayout();
+ SuspendLayout();
+ //
+ // profiles_group_box
+ //
+ profiles_group_box.Controls.Add(delete_profile_button);
+ profiles_group_box.Controls.Add(new_profile_button);
+ profiles_group_box.Controls.Add(profiles_combo_box_selector);
+ profiles_group_box.Controls.Add(selected_profile_label);
+ profiles_group_box.Location = new Point(12, 22);
+ profiles_group_box.Name = "profiles_group_box";
+ profiles_group_box.Size = new Size(422, 83);
+ profiles_group_box.TabIndex = 0;
+ profiles_group_box.TabStop = false;
+ profiles_group_box.Text = "Profile Management";
+ //
+ // selected_profile_label
+ //
+ selected_profile_label.AutoSize = true;
+ selected_profile_label.Location = new Point(16, 36);
+ selected_profile_label.Name = "selected_profile_label";
+ selected_profile_label.Size = new Size(102, 17);
+ selected_profile_label.TabIndex = 0;
+ selected_profile_label.Text = "Selected profile:";
+ //
+ // profiles_combo_box_selector
+ //
+ profiles_combo_box_selector.FormattingEnabled = true;
+ profiles_combo_box_selector.Location = new Point(124, 32);
+ profiles_combo_box_selector.Name = "profiles_combo_box_selector";
+ profiles_combo_box_selector.Size = new Size(199, 25);
+ profiles_combo_box_selector.TabIndex = 1;
+ //
+ // new_profile_button
+ //
+ new_profile_button.Location = new Point(330, 20);
+ new_profile_button.Name = "new_profile_button";
+ new_profile_button.Size = new Size(75, 23);
+ new_profile_button.TabIndex = 2;
+ new_profile_button.Text = "+ New";
+ new_profile_button.UseVisualStyleBackColor = true;
+ //
+ // delete_profile_button
+ //
+ delete_profile_button.Location = new Point(329, 49);
+ delete_profile_button.Name = "delete_profile_button";
+ delete_profile_button.Size = new Size(75, 23);
+ delete_profile_button.TabIndex = 3;
+ delete_profile_button.Text = "Delete";
+ delete_profile_button.UseVisualStyleBackColor = true;
+ //
+ // profile_name_label
+ //
+ profile_name_label.AutoSize = true;
+ profile_name_label.Location = new Point(12, 26);
+ profile_name_label.Name = "profile_name_label";
+ profile_name_label.Size = new Size(84, 17);
+ profile_name_label.TabIndex = 0;
+ profile_name_label.Text = "Profile Name:";
+ //
+ // profile_name_text_box
+ //
+ profile_name_text_box.Location = new Point(104, 23);
+ profile_name_text_box.Name = "profile_name_text_box";
+ profile_name_text_box.Size = new Size(224, 24);
+ profile_name_text_box.TabIndex = 1;
+ //
+ // profile_configuration_group_box
+ //
+ profile_configuration_group_box.Controls.Add(profile_config_tab_control);
+ profile_configuration_group_box.Controls.Add(browse_button);
+ profile_configuration_group_box.Controls.Add(pianobar_path_text_box);
+ profile_configuration_group_box.Controls.Add(pianobar_path_label);
+ profile_configuration_group_box.Controls.Add(profile_name_text_box);
+ profile_configuration_group_box.Controls.Add(profile_name_label);
+ profile_configuration_group_box.Location = new Point(12, 143);
+ profile_configuration_group_box.Name = "profile_configuration_group_box";
+ profile_configuration_group_box.Size = new Size(422, 401);
+ profile_configuration_group_box.TabIndex = 1;
+ profile_configuration_group_box.TabStop = false;
+ profile_configuration_group_box.Text = "Profile Configuration";
+ //
+ // pianobar_path_label
+ //
+ pianobar_path_label.AutoSize = true;
+ pianobar_path_label.Location = new Point(12, 55);
+ pianobar_path_label.Name = "pianobar_path_label";
+ pianobar_path_label.Size = new Size(86, 17);
+ pianobar_path_label.TabIndex = 2;
+ pianobar_path_label.Text = "Pianobar Path:";
+ //
+ // pianobar_path_text_box
+ //
+ pianobar_path_text_box.Location = new Point(104, 53);
+ pianobar_path_text_box.Name = "pianobar_path_text_box";
+ pianobar_path_text_box.Size = new Size(224, 24);
+ pianobar_path_text_box.TabIndex = 3;
+ //
+ // browse_button
+ //
+ browse_button.Location = new Point(334, 53);
+ browse_button.Name = "browse_button";
+ browse_button.Size = new Size(75, 23);
+ browse_button.TabIndex = 4;
+ browse_button.Text = "Browse";
+ browse_button.UseVisualStyleBackColor = true;
+ //
+ // profile_config_tab_control
+ //
+ profile_config_tab_control.Controls.Add(outputs_tab_page);
+ profile_config_tab_control.Controls.Add(pianobar_override_tab_page);
+ profile_config_tab_control.Location = new Point(16, 95);
+ profile_config_tab_control.Name = "profile_config_tab_control";
+ profile_config_tab_control.SelectedIndex = 0;
+ profile_config_tab_control.Size = new Size(389, 289);
+ profile_config_tab_control.TabIndex = 5;
+ //
+ // outputs_tab_page
+ //
+ outputs_tab_page.Controls.Add(chkSMTC);
+ outputs_tab_page.Controls.Add(chk_toast_notifications);
+ outputs_tab_page.Controls.Add(textBox1);
+ outputs_tab_page.Controls.Add(port_label);
+ outputs_tab_page.Controls.Add(local_web_server_check_box);
+ outputs_tab_page.Controls.Add(output_folder_browse_button);
+ outputs_tab_page.Controls.Add(output_folder_text_box);
+ outputs_tab_page.Controls.Add(output_label);
+ outputs_tab_page.Controls.Add(obs_text_output_check_box);
+ outputs_tab_page.Location = new Point(4, 26);
+ outputs_tab_page.Name = "outputs_tab_page";
+ outputs_tab_page.Padding = new Padding(3);
+ outputs_tab_page.Size = new Size(381, 259);
+ outputs_tab_page.TabIndex = 0;
+ outputs_tab_page.Text = "Outputs";
+ outputs_tab_page.UseVisualStyleBackColor = true;
+ //
+ // pianobar_override_tab_page
+ //
+ pianobar_override_tab_page.Controls.Add(txtPianobarPass);
+ pianobar_override_tab_page.Controls.Add(PasswordLabel);
+ pianobar_override_tab_page.Controls.Add(txtPianobarUser);
+ pianobar_override_tab_page.Controls.Add(UsernameLabel);
+ pianobar_override_tab_page.Controls.Add(btnBrowseConfigFile);
+ pianobar_override_tab_page.Controls.Add(txtConfigFilePath);
+ pianobar_override_tab_page.Controls.Add(txtConfigFilePathLabel);
+ pianobar_override_tab_page.Controls.Add(chkOverrideCredentials);
+ pianobar_override_tab_page.Location = new Point(4, 26);
+ pianobar_override_tab_page.Name = "pianobar_override_tab_page";
+ pianobar_override_tab_page.Padding = new Padding(3);
+ pianobar_override_tab_page.Size = new Size(381, 259);
+ pianobar_override_tab_page.TabIndex = 1;
+ pianobar_override_tab_page.Text = "Pianobar Config & Auth";
+ pianobar_override_tab_page.UseVisualStyleBackColor = true;
+ //
+ // obs_text_output_check_box
+ //
+ obs_text_output_check_box.AutoSize = true;
+ obs_text_output_check_box.Location = new Point(18, 18);
+ obs_text_output_check_box.Name = "obs_text_output_check_box";
+ obs_text_output_check_box.Size = new Size(219, 21);
+ obs_text_output_check_box.TabIndex = 0;
+ obs_text_output_check_box.Text = "File output (For OBS / Streaming)";
+ obs_text_output_check_box.UseVisualStyleBackColor = true;
+ //
+ // output_label
+ //
+ output_label.AutoSize = true;
+ output_label.Location = new Point(18, 47);
+ output_label.Name = "output_label";
+ output_label.Size = new Size(91, 17);
+ output_label.TabIndex = 1;
+ output_label.Text = "Output Folder:";
+ //
+ // output_folder_text_box
+ //
+ output_folder_text_box.Location = new Point(111, 43);
+ output_folder_text_box.Name = "output_folder_text_box";
+ output_folder_text_box.Size = new Size(169, 24);
+ output_folder_text_box.TabIndex = 2;
+ //
+ // output_folder_browse_button
+ //
+ output_folder_browse_button.Location = new Point(288, 45);
+ output_folder_browse_button.Name = "output_folder_browse_button";
+ output_folder_browse_button.Size = new Size(75, 23);
+ output_folder_browse_button.TabIndex = 3;
+ output_folder_browse_button.Text = "Browse";
+ output_folder_browse_button.UseVisualStyleBackColor = true;
+ //
+ // local_web_server_check_box
+ //
+ local_web_server_check_box.AutoSize = true;
+ local_web_server_check_box.Location = new Point(18, 77);
+ local_web_server_check_box.Name = "local_web_server_check_box";
+ local_web_server_check_box.Size = new Size(166, 21);
+ local_web_server_check_box.TabIndex = 4;
+ local_web_server_check_box.Text = "Enable Local Web Server";
+ local_web_server_check_box.UseVisualStyleBackColor = true;
+ //
+ // port_label
+ //
+ port_label.AutoSize = true;
+ port_label.Location = new Point(18, 110);
+ port_label.Name = "port_label";
+ port_label.Size = new Size(36, 17);
+ port_label.TabIndex = 5;
+ port_label.Text = "Port:";
+ //
+ // textBox1
+ //
+ textBox1.Location = new Point(111, 105);
+ textBox1.Name = "textBox1";
+ textBox1.Size = new Size(169, 24);
+ textBox1.TabIndex = 6;
+ //
+ // chk_toast_notifications
+ //
+ chk_toast_notifications.AutoSize = true;
+ chk_toast_notifications.Location = new Point(18, 149);
+ chk_toast_notifications.Name = "chk_toast_notifications";
+ chk_toast_notifications.Size = new Size(223, 21);
+ chk_toast_notifications.TabIndex = 7;
+ chk_toast_notifications.Text = "Show Windows Toast Notifications";
+ chk_toast_notifications.UseVisualStyleBackColor = true;
+ //
+ // chkSMTC
+ //
+ chkSMTC.AutoSize = true;
+ chkSMTC.Location = new Point(18, 198);
+ chkSMTC.Name = "chkSMTC";
+ chkSMTC.Size = new Size(251, 21);
+ chkSMTC.TabIndex = 8;
+ chkSMTC.Text = "Windows System Media Controls (SMTC)";
+ chkSMTC.UseVisualStyleBackColor = true;
+ //
+ // chkOverrideCredentials
+ //
+ chkOverrideCredentials.AutoSize = true;
+ chkOverrideCredentials.Location = new Point(14, 9);
+ chkOverrideCredentials.Name = "chkOverrideCredentials";
+ chkOverrideCredentials.Size = new Size(340, 21);
+ chkOverrideCredentials.TabIndex = 0;
+ chkOverrideCredentials.Text = "Enable Profile Credentials and Custom Config Generation";
+ chkOverrideCredentials.UseVisualStyleBackColor = true;
+ //
+ // txtConfigFilePathLabel
+ //
+ txtConfigFilePathLabel.AutoSize = true;
+ txtConfigFilePathLabel.Location = new Point(14, 44);
+ txtConfigFilePathLabel.Name = "txtConfigFilePathLabel";
+ txtConfigFilePathLabel.Size = new Size(105, 17);
+ txtConfigFilePathLabel.TabIndex = 1;
+ txtConfigFilePathLabel.Text = "Config Save Path:";
+ //
+ // txtConfigFilePath
+ //
+ txtConfigFilePath.Location = new Point(121, 42);
+ txtConfigFilePath.Name = "txtConfigFilePath";
+ txtConfigFilePath.Size = new Size(165, 24);
+ txtConfigFilePath.TabIndex = 2;
+ //
+ // btnBrowseConfigFile
+ //
+ btnBrowseConfigFile.Location = new Point(292, 43);
+ btnBrowseConfigFile.Name = "btnBrowseConfigFile";
+ btnBrowseConfigFile.Size = new Size(75, 23);
+ btnBrowseConfigFile.TabIndex = 3;
+ btnBrowseConfigFile.Text = "Browse";
+ btnBrowseConfigFile.UseVisualStyleBackColor = true;
+ //
+ // UsernameLabel
+ //
+ UsernameLabel.AutoSize = true;
+ UsernameLabel.Location = new Point(19, 79);
+ UsernameLabel.Name = "UsernameLabel";
+ UsernameLabel.Size = new Size(109, 17);
+ UsernameLabel.TabIndex = 4;
+ UsernameLabel.Text = "Username / Email:";
+ //
+ // txtPianobarUser
+ //
+ txtPianobarUser.Location = new Point(134, 76);
+ txtPianobarUser.Name = "txtPianobarUser";
+ txtPianobarUser.Size = new Size(152, 24);
+ txtPianobarUser.TabIndex = 5;
+ //
+ // PasswordLabel
+ //
+ PasswordLabel.AutoSize = true;
+ PasswordLabel.Location = new Point(19, 115);
+ PasswordLabel.Name = "PasswordLabel";
+ PasswordLabel.Size = new Size(62, 17);
+ PasswordLabel.TabIndex = 6;
+ PasswordLabel.Text = "Password:";
+ //
+ // txtPianobarPass
+ //
+ txtPianobarPass.Location = new Point(133, 109);
+ txtPianobarPass.Name = "txtPianobarPass";
+ txtPianobarPass.Size = new Size(152, 24);
+ txtPianobarPass.TabIndex = 7;
+ txtPianobarPass.UseSystemPasswordChar = true;
+ //
+ // settings_form
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(454, 586);
+ Controls.Add(profile_configuration_group_box);
+ Controls.Add(profiles_group_box);
+ Name = "settings_form";
+ Text = "Settings";
+ profiles_group_box.ResumeLayout(false);
+ profiles_group_box.PerformLayout();
+ profile_configuration_group_box.ResumeLayout(false);
+ profile_configuration_group_box.PerformLayout();
+ profile_config_tab_control.ResumeLayout(false);
+ outputs_tab_page.ResumeLayout(false);
+ outputs_tab_page.PerformLayout();
+ pianobar_override_tab_page.ResumeLayout(false);
+ pianobar_override_tab_page.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private GroupBox profiles_group_box;
+ private Button new_profile_button;
+ private ComboBox profiles_combo_box_selector;
+ private Label selected_profile_label;
+ private Button delete_profile_button;
+ private Label profile_name_label;
+ private TextBox profile_name_text_box;
+ private GroupBox profile_configuration_group_box;
+ private Button browse_button;
+ private TextBox pianobar_path_text_box;
+ private Label pianobar_path_label;
+ private TabControl profile_config_tab_control;
+ private TabPage outputs_tab_page;
+ private TabPage pianobar_override_tab_page;
+ private CheckBox obs_text_output_check_box;
+ private Button output_folder_browse_button;
+ private TextBox output_folder_text_box;
+ private Label output_label;
+ private CheckBox chkSMTC;
+ private CheckBox chk_toast_notifications;
+ private TextBox textBox1;
+ private Label port_label;
+ private CheckBox local_web_server_check_box;
+ private Label txtConfigFilePathLabel;
+ private CheckBox chkOverrideCredentials;
+ private TextBox txtConfigFilePath;
+ private Label PasswordLabel;
+ private TextBox txtPianobarUser;
+ private Label UsernameLabel;
+ private Button btnBrowseConfigFile;
+ private TextBox txtPianobarPass;
+ }
+}
\ No newline at end of file
diff --git a/Settings.cs b/Settings.cs
new file mode 100644
index 0000000..5b4a762
--- /dev/null
+++ b/Settings.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 PainoBar_Helper
+{
+ public partial class settings_form : Form
+ {
+ public settings_form()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Settings.resx b/Settings.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/Settings.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/StationForm.Designer.cs b/StationForm.Designer.cs
new file mode 100644
index 0000000..da762fc
--- /dev/null
+++ b/StationForm.Designer.cs
@@ -0,0 +1,130 @@
+namespace PainoBar_Helper
+{
+ partial class StationForm
+ {
+ ///
+ /// 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()
+ {
+ station_list_group_box = new GroupBox();
+ search_label = new Label();
+ textBox1 = new TextBox();
+ lstStations = new ListBox();
+ refresh_button = new Button();
+ btnSelectStation = new Button();
+ btnCancelStation = new Button();
+ station_list_group_box.SuspendLayout();
+ SuspendLayout();
+ //
+ // station_list_group_box
+ //
+ station_list_group_box.Controls.Add(lstStations);
+ station_list_group_box.Controls.Add(textBox1);
+ station_list_group_box.Controls.Add(search_label);
+ station_list_group_box.Location = new Point(12, 22);
+ station_list_group_box.Name = "station_list_group_box";
+ station_list_group_box.Size = new Size(391, 263);
+ station_list_group_box.TabIndex = 0;
+ station_list_group_box.TabStop = false;
+ station_list_group_box.Text = "Available Stations";
+ //
+ // search_label
+ //
+ search_label.AutoSize = true;
+ search_label.Location = new Point(26, 32);
+ search_label.Name = "search_label";
+ search_label.Size = new Size(50, 17);
+ search_label.TabIndex = 0;
+ search_label.Text = "Search:";
+ //
+ // textBox1
+ //
+ textBox1.Location = new Point(85, 32);
+ textBox1.Name = "textBox1";
+ textBox1.Size = new Size(273, 24);
+ textBox1.TabIndex = 1;
+ //
+ // lstStations
+ //
+ lstStations.FormattingEnabled = true;
+ lstStations.Location = new Point(26, 65);
+ lstStations.Name = "lstStations";
+ lstStations.Size = new Size(332, 174);
+ lstStations.TabIndex = 2;
+ //
+ // refresh_button
+ //
+ refresh_button.Location = new Point(13, 307);
+ refresh_button.Name = "refresh_button";
+ refresh_button.Size = new Size(117, 23);
+ refresh_button.TabIndex = 1;
+ refresh_button.Text = "Refresh stations";
+ refresh_button.UseVisualStyleBackColor = true;
+ //
+ // btnSelectStation
+ //
+ btnSelectStation.Location = new Point(205, 307);
+ btnSelectStation.Name = "btnSelectStation";
+ btnSelectStation.Size = new Size(117, 23);
+ btnSelectStation.TabIndex = 2;
+ btnSelectStation.Text = "Refresh stations";
+ btnSelectStation.UseVisualStyleBackColor = true;
+ //
+ // btnCancelStation
+ //
+ btnCancelStation.Location = new Point(328, 307);
+ btnCancelStation.Name = "btnCancelStation";
+ btnCancelStation.Size = new Size(86, 23);
+ btnCancelStation.TabIndex = 3;
+ btnCancelStation.Text = "Cancel";
+ btnCancelStation.UseVisualStyleBackColor = true;
+ //
+ // StationForm
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(426, 351);
+ Controls.Add(btnCancelStation);
+ Controls.Add(btnSelectStation);
+ Controls.Add(refresh_button);
+ Controls.Add(station_list_group_box);
+ Name = "StationForm";
+ Text = "StationForm";
+ station_list_group_box.ResumeLayout(false);
+ station_list_group_box.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private GroupBox station_list_group_box;
+ private ListBox lstStations;
+ private TextBox textBox1;
+ private Label search_label;
+ private Button refresh_button;
+ private Button btnSelectStation;
+ private Button btnCancelStation;
+ }
+}
\ No newline at end of file
diff --git a/StationForm.cs b/StationForm.cs
new file mode 100644
index 0000000..7136b57
--- /dev/null
+++ b/StationForm.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 PainoBar_Helper
+{
+ public partial class StationForm : Form
+ {
+ public StationForm()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/StationForm.resx b/StationForm.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/StationForm.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