Files
RadioDJViewer/README.md

57 lines
3.5 KiB
Markdown

# RadioDJViewer v1.8.0
**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.
## 🚀 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.
## 🛠 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.
## 📋 Requirements
* Windows 7 or later.
* .NET Framework 4.7.2.
* RadioDJ with **REST Server Plugin** enabled and accessible.
## 🔧 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.
## 🌐 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.
### **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`.
## 📂 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.
## 📝 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.
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.
## 🔗 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.