6 Commits
1.1.0 ... 1.5.0

Author SHA1 Message Date
minster586
79268a61ff update version 2025-10-10 04:28:22 -04:00
minster586
6c6ee120ce Made a few design changes 2025-10-10 04:24:49 -04:00
minster586
d07c32556b Trying to work on the marquee 2025-10-10 03:58:19 -04:00
minster586
7c1da23da0 I have moved the load profile to the main window 2025-10-10 03:18:11 -04:00
minster586
9fecd18519 uploaded screenshots 2025-09-08 17:52:06 -04:00
minster586
f5708c6dc6 Updated the readme 2025-09-08 17:19:38 -04:00
9 changed files with 232 additions and 92 deletions

View File

@@ -30,11 +30,32 @@ RadioDJViewer is a Windows Forms application for displaying song information and
3. Output files will be saved in the selected output folder.
4. If album art is missing, a fallback image will be used.
## Some info for you
1. URL format follows the format from RadioDJ (http://{ip}:{port}/np?auth={password})
2. The Variables that you see in the URL format like "{ip},{port} and {password}" They need to be present in format box which you would have typed out, If not the program cannot access the REST API
## License
This project is licensed under the MIT License.
## Repository
[https://git.smartcraft.me/minster586/RadioDJViewer](https://git.smartcraft.me/minster586/RadioDJViewer)
## My inspiration
I was inspired to use this make this program by a few people as I use Radio DJ for pretty much everything music relatedwise.
When I started this it originally was just a command line console based program written in Java which is still available and works on pretty much any OS you can think of
This started off as a thing where I wanted my actual music playing program for streams playing video games to show what was playing
A quick google search led to a bunch of things that I liked but were web based and I was trying to stick away from web based programs
And I know that particular person that I'm about to mention is probably going to look at this and get a kick out of it
It got me thinking that is there a way that I can get the information and parse that information and this program was born
[https://www.youtube.com/@RodericksRadioDJTutorials] Yes I put your Youtube channel
All things aside it works the way that I like there are a few more changes that I want to do to it
For example debugging and what not but it should work on pretty much any system that has .NET framework 4.7.2 Obviously it says that in the requirements
I will say the biggest thing that helped me was copilot I know it seems a little strange but as I am just learning how to do this I figured why not give it a shot
With that being said if you want to see it live in action you can find my links page here Pop into my streams ask me about it
[https://links.smartcraft.me/@minster586]
---
For questions or issues, please open an issue on the repository or contact the maintainer.

View File

@@ -53,6 +53,11 @@
this.button2 = new System.Windows.Forms.Button();
this.uicolor = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.profile_drop_box = new System.Windows.Forms.ComboBox();
this.profile_label = new System.Windows.Forms.Label();
this.load_profile_button = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.statusStrip1.SuspendLayout();
this.menuStrip2.SuspendLayout();
this.groupBox1.SuspendLayout();
@@ -66,7 +71,7 @@
this.toolStripStatusLabel2,
this.toolStripStatusLabel4,
this.toolStripStatusLabel3});
this.statusStrip1.Location = new System.Drawing.Point(0, 268);
this.statusStrip1.Location = new System.Drawing.Point(0, 314);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(612, 25);
this.statusStrip1.TabIndex = 0;
@@ -137,7 +142,7 @@
this.offToolStripMenuItem});
this.loggingToolStripMenuItem.Enabled = false;
this.loggingToolStripMenuItem.Name = "loggingToolStripMenuItem";
this.loggingToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.loggingToolStripMenuItem.Size = new System.Drawing.Size(118, 22);
this.loggingToolStripMenuItem.Text = "Logging";
//
// onToolStripMenuItem
@@ -168,6 +173,8 @@
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.label4);
@@ -184,61 +191,67 @@
//
// label6
//
this.label6.Location = new System.Drawing.Point(99, 129);
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(99, 140);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(266, 17);
this.label6.TabIndex = 5;
this.label6.Text = "No album";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label5
//
this.label5.Location = new System.Drawing.Point(99, 83);
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.Location = new System.Drawing.Point(99, 84);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(266, 17);
this.label5.TabIndex = 4;
this.label5.Text = "No artist";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.Location = new System.Drawing.Point(99, 39);
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.Location = new System.Drawing.Point(99, 33);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(266, 16);
this.label4.TabIndex = 3;
this.label4.Text = "No title";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.Location = new System.Drawing.Point(23, 126);
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.Location = new System.Drawing.Point(23, 138);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(64, 20);
this.label3.Size = new System.Drawing.Size(76, 24);
this.label3.TabIndex = 2;
this.label3.Text = "Album:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(23, 80);
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(23, 82);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(57, 20);
this.label2.Size = new System.Drawing.Size(62, 24);
this.label2.TabIndex = 1;
this.label2.Text = "Artist:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(23, 35);
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(23, 29);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(48, 20);
this.label1.Size = new System.Drawing.Size(56, 24);
this.label1.TabIndex = 0;
this.label1.Text = "Title:";
//
// button1
//
this.button1.Location = new System.Drawing.Point(250, 216);
this.button1.Location = new System.Drawing.Point(62, 230);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(99, 42);
this.button1.TabIndex = 5;
@@ -248,7 +261,7 @@
//
// button2
//
this.button2.Location = new System.Drawing.Point(392, 216);
this.button2.Location = new System.Drawing.Point(180, 230);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(99, 42);
this.button2.TabIndex = 6;
@@ -259,7 +272,7 @@
// uicolor
//
this.uicolor.Image = global::RadioDJViewer.Properties.Resources.MdiWeatherNight;
this.uicolor.Location = new System.Drawing.Point(13, 234);
this.uicolor.Location = new System.Drawing.Point(572, 276);
this.uicolor.Name = "uicolor";
this.uicolor.Size = new System.Drawing.Size(28, 23);
this.uicolor.TabIndex = 7;
@@ -273,11 +286,60 @@
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
//
// profile_drop_box
//
this.profile_drop_box.FormattingEnabled = true;
this.profile_drop_box.Location = new System.Drawing.Point(62, 278);
this.profile_drop_box.Name = "profile_drop_box";
this.profile_drop_box.Size = new System.Drawing.Size(217, 21);
this.profile_drop_box.TabIndex = 8;
//
// profile_label
//
this.profile_label.AutoSize = true;
this.profile_label.Location = new System.Drawing.Point(12, 281);
this.profile_label.Name = "profile_label";
this.profile_label.Size = new System.Drawing.Size(44, 13);
this.profile_label.TabIndex = 9;
this.profile_label.Text = "Profiles:";
this.profile_label.Click += new System.EventHandler(this.label7_Click);
//
// load_profile_button
//
this.load_profile_button.Location = new System.Drawing.Point(285, 276);
this.load_profile_button.Name = "load_profile_button";
this.load_profile_button.Size = new System.Drawing.Size(75, 23);
this.load_profile_button.TabIndex = 10;
this.load_profile_button.Text = "Load Profile";
this.load_profile_button.UseVisualStyleBackColor = true;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(19, 61);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(357, 16);
this.label7.TabIndex = 6;
this.label7.Text = "――――――――――――――――――――――――――――――――――――――――――――――――――";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(24, 118);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(357, 16);
this.label8.TabIndex = 7;
this.label8.Text = "――――――――――――――――――――――――――――――――――――――――――――――――――";
this.label8.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
//
// Main
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(612, 293);
this.ClientSize = new System.Drawing.Size(612, 339);
this.Controls.Add(this.load_profile_button);
this.Controls.Add(this.profile_label);
this.Controls.Add(this.profile_drop_box);
this.Controls.Add(this.uicolor);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
@@ -326,6 +388,11 @@
private System.Windows.Forms.ToolStripMenuItem onToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem offToolStripMenuItem;
private System.Windows.Forms.Button uicolor;
private System.Windows.Forms.ComboBox profile_drop_box;
private System.Windows.Forms.Label profile_label;
private System.Windows.Forms.Button load_profile_button;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
}
}

View File

@@ -70,6 +70,8 @@ namespace RadioDJViewer
marqueeTimerAlbum.Tick += MarqueeTimerAlbum_Tick;
// Wire up dark mode button
this.uicolor.Click += Uicolor_Click;
this.load_profile_button.Click += load_profile_button_Click;
PopulateProfileDropBox();
UpdateTheme();
// Auto-load profiles if profiles.json exists
AutoLoadProfiles();
@@ -124,9 +126,28 @@ namespace RadioDJViewer
catch { }
}
private int GetVisibleChars(Label label)
{
// Use the label's actual width and font to estimate visible characters
using (Graphics g = label.CreateGraphics())
{
// Use the full label width for measurement
SizeF size = g.MeasureString("W", label.Font);
int chars = (int)(label.Width / size.Width);
// If the label is single-line, ensure we use the full width
return Math.Max(chars, 1);
}
}
private void SetLabelTextFull(Label label, string text)
{
// Always set the full text, and let marquee logic handle scrolling
label.Text = text;
}
private void MarqueeTimerTitle_Tick(object sender, EventArgs e)
{
int visibleChars = 30; // Adjust for label width
int visibleChars = GetVisibleChars(label4);
if (marqueeTextTitle.Length > visibleChars)
{
string separator = string.IsNullOrEmpty(marqueeSeparator) ? "" : marqueeSeparator;
@@ -152,13 +173,13 @@ namespace RadioDJViewer
}
else
{
label4.Text = marqueeTextTitle;
SetLabelTextFull(label4, marqueeTextTitle);
}
}
private void MarqueeTimerArtist_Tick(object sender, EventArgs e)
{
int visibleChars = 30;
int visibleChars = GetVisibleChars(label5);
if (marqueeTextArtist.Length > visibleChars)
{
string separator = string.IsNullOrEmpty(marqueeSeparator) ? "" : marqueeSeparator;
@@ -184,13 +205,13 @@ namespace RadioDJViewer
}
else
{
label5.Text = marqueeTextArtist;
SetLabelTextFull(label5, marqueeTextArtist);
}
}
private void MarqueeTimerAlbum_Tick(object sender, EventArgs e)
{
int visibleChars = 30;
int visibleChars = GetVisibleChars(label6);
if (marqueeTextAlbum.Length > visibleChars)
{
string separator = string.IsNullOrEmpty(marqueeSeparator) ? "" : marqueeSeparator;
@@ -216,7 +237,7 @@ namespace RadioDJViewer
}
else
{
label6.Text = marqueeTextAlbum;
SetLabelTextFull(label6, marqueeTextAlbum);
}
}
@@ -525,11 +546,18 @@ namespace RadioDJViewer
mainImagesFolderPath = profile.MainImagesFolder; // Update new field
loadedProfile = profile; // Store loaded profile for REST API connection
// Update polling rate when profile is loaded
int pollingRate = loadedProfile?.PollingRateSeconds > 0 ? loadedProfile.PollingRateSeconds : 3;
int pollingRate = profile.PollingRateSeconds > 0 ? profile.PollingRateSeconds : 3;
apiTimer.Interval = pollingRate * 1000;
SetMarqueeScrollSpeed(profile.MarqueeScrollSpeed ?? "Medium");
SetMarqueePauseTime(profile.MarqueePauseTime > 0 ? profile.MarqueePauseTime : 6);
SetMarqueeSeparator(profile.MarqueeSeparator ?? " | ");
// Immediately apply marquee settings to timers
if (pauseTimerTitle != null) pauseTimerTitle.Interval = marqueePauseTime;
if (pauseTimerArtist != null) pauseTimerArtist.Interval = marqueePauseTime;
if (pauseTimerAlbum != null) pauseTimerAlbum.Interval = marqueePauseTime;
marqueeTimerTitle.Interval = marqueeScrollSpeed;
marqueeTimerArtist.Interval = marqueeScrollSpeed;
marqueeTimerAlbum.Interval = marqueeScrollSpeed;
UpdateStatusBar();
// You can add more logic to update other fields if needed
}
@@ -593,5 +621,42 @@ namespace RadioDJViewer
ApplyThemeRecursive(child, backColor, foreColor);
}
}
private void label7_Click(object sender, EventArgs e)
{
}
public string GetCurrentProfileName()
{
return currentProfile;
}
private void PopulateProfileDropBox()
{
profile_drop_box.Items.Clear();
var profileNames = ProfileStorage.GetProfileNames();
profile_drop_box.Items.AddRange(profileNames.ToArray());
// Set selected item to current profile if available
string currentProfile = GetCurrentProfileName();
if (!string.IsNullOrEmpty(currentProfile) && profileNames.Contains(currentProfile))
profile_drop_box.SelectedItem = currentProfile;
else if (profile_drop_box.Items.Count > 0)
profile_drop_box.SelectedIndex = 0;
}
private void load_profile_button_Click(object sender, EventArgs e)
{
if (profile_drop_box.SelectedItem != null)
{
var profile = ProfileStorage.LoadProfile(profile_drop_box.SelectedItem.ToString());
if (profile != null)
{
LoadProfile(profile);
UpdateStatusBar();
MessageBox.Show($"Profile '{profile.Name}' loaded.", "Profile Loaded", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
}

View File

@@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("RadioDJViewer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyDescription("RadioDJ Metadata OBS Extractor")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyCompany("Smartcraft Media Group")]
[assembly: AssemblyProduct("RadioDJViewer")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.1.0")]
[assembly: AssemblyFileVersion("1.1.0")]
[assembly: AssemblyVersion("1.5.0")]
[assembly: AssemblyFileVersion("1.5.0")]

View File

@@ -13,6 +13,21 @@
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<ApplicationIcon>icon.ico</ApplicationIcon>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -112,5 +127,17 @@
<None Include="Resources\MdiWeatherSunny.png" />
<None Include="Resources\MdiWeatherNight.png" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -32,7 +32,7 @@
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.ok_button_master = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
@@ -51,12 +51,12 @@
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.textBox6 = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.button6 = new System.Windows.Forms.Button();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.textBox7 = new System.Windows.Forms.TextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label13 = new System.Windows.Forms.Label();
this.comboBoxScrollSpeed = new System.Windows.Forms.ComboBox();
this.textBoxPauseTime = new System.Windows.Forms.TextBox();
this.separatingcharacterformatbox = new System.Windows.Forms.TextBox();
@@ -64,7 +64,6 @@
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox2.SuspendLayout();
@@ -97,14 +96,14 @@
this.label1.TabIndex = 0;
this.label1.Text = "URL Format:";
//
// button1
// ok_button_master
//
this.button1.Location = new System.Drawing.Point(35, 584);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(157, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Save";
this.button1.UseVisualStyleBackColor = true;
this.ok_button_master.Location = new System.Drawing.Point(35, 584);
this.ok_button_master.Name = "ok_button_master";
this.ok_button_master.Size = new System.Drawing.Size(157, 23);
this.ok_button_master.TabIndex = 1;
this.ok_button_master.Text = "OK";
this.ok_button_master.UseVisualStyleBackColor = true;
//
// button2
//
@@ -182,7 +181,7 @@
//
// button3
//
this.button3.Location = new System.Drawing.Point(60, 419);
this.button3.Location = new System.Drawing.Point(90, 419);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(120, 30);
this.button3.TabIndex = 8;
@@ -191,7 +190,7 @@
//
// button4
//
this.button4.Location = new System.Drawing.Point(216, 419);
this.button4.Location = new System.Drawing.Point(305, 419);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(120, 30);
this.button4.TabIndex = 9;
@@ -261,15 +260,6 @@
this.textBox6.Size = new System.Drawing.Size(290, 20);
this.textBox6.TabIndex = 15;
//
// button5
//
this.button5.Location = new System.Drawing.Point(382, 419);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(120, 30);
this.button5.TabIndex = 16;
this.button5.Text = "Load Profile";
this.button5.UseVisualStyleBackColor = true;
//
// button6
//
this.button6.Location = new System.Drawing.Point(23, 269);
@@ -319,7 +309,6 @@
this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.button6);
this.groupBox2.Controls.Add(this.button5);
this.groupBox2.Controls.Add(this.groupBox3);
this.groupBox2.Controls.Add(this.button4);
this.groupBox2.Controls.Add(this.button3);
@@ -338,6 +327,15 @@
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Profiles";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(20, 240);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(142, 13);
this.label13.TabIndex = 32;
this.label13.Text = "Separating Character Format";
//
// comboBoxScrollSpeed
//
this.comboBoxScrollSpeed.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -402,15 +400,6 @@
this.label12.TabIndex = 27;
this.label12.Text = "Separating character format";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(20, 240);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(142, 13);
this.label13.TabIndex = 32;
this.label13.Text = "Separating Character Format";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -418,7 +407,7 @@
this.ClientSize = new System.Drawing.Size(543, 619);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.ok_button_master);
this.Controls.Add(this.groupBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "Form1";
@@ -438,7 +427,7 @@
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button ok_button_master;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label2;
@@ -457,7 +446,6 @@
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;

View File

@@ -32,9 +32,8 @@ namespace RadioDJViewer
this.buttonSelectOutputFolder.Click += ButtonSelectOutputFolder_Click;
this.button6.Click += ButtonSelectMainImagesFolder_Click;
this.button3.Click += button3_Click;
this.button1.Click += button1_Click;
this.ok_button_master.Click += button1_Click;
this.button4.Click += button4_Click;
this.button5.Click += button5_Click;
this.button2.Click += button2_Click;
// Populate profile list on open
LoadProfileList();
@@ -152,33 +151,6 @@ namespace RadioDJViewer
}
}
private void button5_Click(object sender, EventArgs e)
{
// Load Profile (Load Profile button)
if (comboBox1.SelectedItem != null)
{
var profile = ProfileStorage.LoadProfile(comboBox1.SelectedItem.ToString());
if (profile != null)
{
textBox6.Text = profile.Name;
textBox2.Text = profile.IP;
textBox3.Text = profile.Port;
textBox4.Text = profile.Password;
outputFolderPath = profile.OutputFolder;
mainImagesFolderPath = profile.MainImagesFolder;
labelOutputFolderPath.Text = outputFolderPath;
label6.Text = mainImagesFolderPath;
textBox5.Text = profile.OutputImageName;
textBox1.Text = profile.UrlFormat;
Main mainForm = Application.OpenForms["Main"] as Main;
if (mainForm != null)
{
mainForm.LoadProfile(profile);
}
}
}
}
private void button1_Click(object sender, EventArgs e)
{
// Save (bottom Save button) - save all fields to the currently selected or new profile

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB