Added new information for web server

This commit is contained in:
2026-04-13 00:42:27 -04:00
parent a31bcc2971
commit ca20267307

View File

@@ -1,61 +1,57 @@
# RadioDJViewer
# RadioDJViewer v1.8.0
RadioDJViewer is a Windows Forms application for displaying song information and album art from a RadioDJ REST API. It is designed for use with RadioDJ automation software and provides a simple interface for viewing and exporting currently playing track details.
**RadioDJViewer** is a Windows Forms application designed to display song information and album art from a RadioDJ REST API. It bridges the gap between your automation software and your broadcast visuals by serving data to physical local files and a built-in network web server simultaneously.
## Features
- Connects to RadioDJ REST API to acquire song info
- Displays title, artist, and album (with scrolling marquee for long text)
- Shows album art or a fallback image if none is available
- Exports title, artist, album, and album art to output folder
- Supports multiple profiles for different RadioDJ instances
- Auto-regenerates missing `profiles.json` and fallback image
## 🚀 New in v1.8.0: The Web Update
* **Integrated Web Server:** Hosts a live, high-performance web widget for OBS Browser Sources.
* **Tri-State Status Indicator:**
* 🔴 **Red:** Disconnected from RadioDJ API.
* 🟢 **Green:** Connected to API (Web Server Off).
* 🔵 **Blue:** Full Broadcast Mode (API Connected + Web Server Live).
* **Memory-Caching:** Data is served to the web widget directly from RAM for zero-latency updates and reduced disk wear.
* **Network-Wide Access:** View your "Now Playing" widget on any device (Phones, Tablets, or second PCs) on your local network.
## Requirements
- Windows 7 or later
- .NET Framework 4.7.2
- RadioDJ REST API running and accessible
## 🛠 Features
* Connects to RadioDJ REST API to acquire real-time song info.
* Displays title, artist, and album (with scrolling marquee for long text).
* Dual-Output: Exports `.txt` and `.png` files for legacy GDI+ sources while hosting the web stream.
* Supports multiple profiles for different RadioDJ instances.
* Auto-regenerates missing `profiles.json` and fallback images.
## Installation
1. Download the release ZIP and extract all files to a folder.
2. Ensure the following files are present:
- `RadioDJViewer.exe`
- `Newtonsoft.Json.dll`
- `RadioDJViewer.exe.config`
- (Optional) `default.jpg` and `profiles.json` (will be auto-generated if missing)
3. Run `RadioDJViewer.exe`.
## 📋 Requirements
* Windows 7 or later.
* .NET Framework 4.7.2.
* RadioDJ with **REST Server Plugin** enabled and accessible.
## Usage
1. Configure a profile with the REST API URL, output folder, and image settings.
2. Click Connect to start polling the API and display song info.
3. Output files will be saved in the selected output folder.
4. If album art is missing, a fallback image will be used.
## 🔧 Installation & Setup
1. Download the release ZIP and extract all files.
2. Ensure `RadioDJViewer.exe`, `Newtonsoft.Json.dll`, and `RadioDJViewer.exe.config` are present.
3. **Run `RadioDJViewer.exe` as Administrator** (Required for the Web Server to bind to your network port).
4. Configure your profile (IP, Port, Password, and Output Folder).
5. Click **Connect**. When the status box turns **Blue**, your web server is live.
## 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
## 🌐 Web Widget & Network Setup
### **Using in OBS**
Add a **Browser Source** in OBS using the URL: `http://localhost:8181`. You can customize the look using the "Custom CSS" box in the OBS properties.
## License
This project is licensed under the MIT License.
### **Network Verification (Firewall)**
To access the widget from another device (like a phone or second PC), you must open a port in the Windows Firewall:
1. Open **Windows Firewall with Advanced Security**.
2. Create a **New Inbound Rule** -> **Port** -> **TCP**.
3. Enter Port **8181** and select **Allow the connection**.
4. Access on your phone via: `http://{your-pc-ip}:8181`.
## Repository
[https://git.smartcraft.me/minster586/RadioDJViewer](https://git.smartcraft.me/minster586/RadioDJViewer)
## 📂 URL Variables
The URL format follows the RadioDJ standard: `http://{ip}:{port}/np?auth={password}`. Ensure `{ip}`, `{port}`, and `{password}` are correctly entered in the profile settings, or the program will be unable to parse the API data.
## 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
## 📝 Project Background
This project was born from a desire to move away from purely web-based external tools and create a native Windows utility for stream overlays. Special thanks to [Roderick's RadioDJ Tutorials](https://www.youtube.com/@RodericksRadioDJTutorials) for the inspiration and initial logic concepts.
[https://www.youtube.com/@RodericksRadioDJTutorials] Yes I put your Youtube channel
This program was developed as a learning journey into C# and .NET, with significant collaborative assistance from **Microsoft Copilot** and **Google Gemini** to refine the API parsing and web server logic.
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]
## 🔗 Links
* **Repository:** [https://git.smartcraft.me/minster586/RadioDJViewer](https://git.smartcraft.me/minster586/RadioDJViewer)
* **Contact/Stream:** [https://links.smartcraft.me/@minster586](https://links.smartcraft.me/@minster586)
---
For questions or issues, please open an issue on the repository or contact the maintainer.