RadioDJViewer v1.15.1

RadioDJViewer is a Windows desktop app that reads Now Playing data from the RadioDJ REST API and publishes it to:

  • local output files (.txt + album-art image)
  • an embedded HTTP widget server for OBS/browser overlays
  • Windows media integrations (SMTC + optional track-change toasts)

What Changed Since the Old v1.8.0 README

This project has moved beyond the original web-server-focused release notes. The app now includes:

  • Version update: now documented at v1.15.1.
  • Profile-level toggles for:
    • Web server enable/port
    • Clock visibility
    • Toast notifications
    • SMTC publishing
  • Expanded web endpoints for time/playback state, not only title/artist/artwork.
  • SMTC integration with metadata, artwork, playback status, and timeline behavior.
  • Live-stream SMTC handling (Duration <= 0) that keeps playback reported as active.
  • Track-change toast notifications with generated hero artwork.
  • Polling-rate support per profile.
  • UI status behavior remains tri-state (Disconnected/API/Web+API).

Core Features

  • Connects to RadioDJ REST API and parses:
    • Title
    • Artist
    • Album
    • AlbumArt
    • Elapsed
    • Duration
  • Writes metadata output files for broadcast workflows.
  • Serves a browser widget over HTTP from embedded resources.
  • Caches metadata and artwork in memory for low-latency serving.
  • Supports multiple saved profiles in profiles.json.
  • Supports dark-mode theming in the app/settings UI.

Playback and Time Behavior

The app tracks playback state from API Elapsed + Duration values.

  • For normal tracks (Duration > 0):
    • elapsed/duration time is calculated and exposed
    • paused state can be inferred from unchanged elapsed progression
  • For live streams (Duration <= 0):
    • treated as live (non-scrubbable)
    • SMTC is forced to active Playing
    • play/pause controls are disabled for read-only behavior
    • fixed-length timeline updates are bypassed

Windows Integration

SMTC (System Media Transport Controls)

When enabled per profile, the app publishes:

  • title + artist
  • current artwork thumbnail
  • playback status (Playing/Paused/Stopped)
  • timeline properties for fixed-duration tracks

Live-stream mode is intentionally read-only and continuously reported as playing for system widgets/tools that depend on active media state.

Toast Notifications

When enabled per profile, track-change toasts can be shown with:

  • title
  • artist
  • attribution line (date/time)
  • generated 16:9 hero artwork image

Embedded Web Server

When enabled, the app starts an HTTP listener on the profile-configured port.

Main Widget

  • http://127.0.0.1:<port>/
  • http://127.0.0.1:<port>/index.html

Metadata / State Endpoints

  • http://127.0.0.1:<port>/title.txt
  • http://127.0.0.1:<port>/artist.txt
  • http://127.0.0.1:<port>/time.txt
  • http://127.0.0.1:<port>/elapsed
  • http://127.0.0.1:<port>/duration
  • http://127.0.0.1:<port>/clock-visibility
  • http://127.0.0.1:<port>/status.json

Assets

  • http://127.0.0.1:<port>/Album-Art.png
  • http://127.0.0.1:<port>/album-art.png
  • http://127.0.0.1:<port>/style.css
  • http://127.0.0.1:<port>/script.js

The widget JavaScript supports refresh tuning via query string:

  • ?refreshrate=<seconds>

Status Indicator (App UI)

  • 🔴 Red: Disconnected
  • 🟢 Green: Connected to API, web server off
  • 🔵 Blue: Connected to API + web server running

Requirements

  • Windows
  • .NET Framework 4.7.2
  • RadioDJ with REST API/plugin access configured

Setup

  1. Launch RadioDJViewer.exe.
  2. Open settings and create/load a profile.
  3. Configure API values (IP, Port, Password, URL format).
  4. Configure output folder and images folder.
  5. Optional: configure polling rate, web server port, clock visibility, toast, and SMTC.
  6. Connect to API.

Repository

  • https://git.smartcraft.me/minster586/RadioDJViewer

Credits

Built and maintained by Smartcraft Media Group.


If you find an issue or need a feature adjustment, open an issue in the repository.

S
Description
No description provided
Readme
637 KiB
Progress bar
Latest
2026-10-31 04:12:10 -04:00
Languages
C# 92.4%
JavaScript 4.1%
CSS 2.7%
HTML 0.8%