Free RadioBOSS Song Request System with SongSync and Queue Estimates

Radio-Albena

New member
Hello RadioBOSS community,

I would like to share two free open-source projects I developed for my own internet station, Radio Albena.

The system provides a modern web-based song request page for RadioBOSS without requiring the public website to connect directly to the RadioBOSS database.

RadioBOSS SongSync Engine:
https://github.com/mixnetwork1959/RadioBOSS-SongSync-Engine

RadioBOSS Song Request System:
https://github.com/mixnetwork1959/radioboss-song-request-system

Both projects are required.

The SongSync Engine reads the RadioBOSS MySQL music library and generates:

  • A public JSON catalog containing track ID, artist and title
  • A private lookup file containing the actual RadioBOSS filenames
  • Artist and genre lists
  • Catalog information
  • A duplicate report
The Song Request System uses these generated files to provide:

  • Fast artist and title search
  • Direct requests through the RadioBOSS Remote Control API
  • Optional listener messages
  • RadioBOSS queue detection
  • Queue position information
  • Estimated playback time
  • Configurable request slots
  • IP-based request limits
  • Protection against requesting the same song too frequently
  • Responsive desktop and mobile design
  • Optional embedded station player
The request schedule is configurable. For example:

define('REQUEST_PLAY_MINUTES', [15, 45]);<br>define('REQUESTS_PER_SLOT', 1);<br>
When a listener sends a request, the system checks the current RadioBOSS request queue and can display a message such as:

“Your song request was added to queue position 2. Expected play time: around 11:45. Estimated waiting time: about 45 minutes.”

The estimated time is calculated from the unplayed requests in RadioBOSS and the configured playrequestedsong scheduler events.

Security was an important part of the project:

  • The browser never receives local music paths
  • RadioBOSS API credentials remain private
  • MySQL credentials remain on the SongSync computer
  • Private request files are protected
  • Only a hash of the listener’s IP address is stored
The system is currently running successfully with RadioBOSS 7.2.2 at Radio Albena.

Requirements include PHP 8 or newer, PHP cURL, PHP SimpleXML, Python 3, a RadioBOSS MySQL music library and access from the web server to the RadioBOSS Remote Control API.

Both projects are released under the MIT License.

Feedback, testing reports and suggestions are very welcome. I would also be interested to hear which request schedules other RadioBOSS users employ and whether additional configuration options would be useful.
 
The RadioBOSS Song Request System is now available for live testing at Radio Albena:

https://radio-albena.com/song-request-live-stream/

You can:

  • Search our live music catalog
  • Select a song
  • Add an optional message
  • Send a real request to RadioBOSS
  • See your queue position
  • See the estimated playback time and waiting time
At Radio Albena, requested songs are scheduled at 15 and 45 minutes past each hour. If another request is already waiting, the system automatically calculates the next available slot.

The page is connected to our live RadioBOSS installation, so please submit only genuine test requests and allow the requested songs to enter the normal broadcast queue.

I would appreciate feedback about:

  • Search behavior
  • Mobile display
  • Request submission
  • Queue position
  • Estimated playback time
  • Any errors or unclear messages
Thank you for testing!
 
Hello everyone,

I have released RadioBOSS SongSync Engine v1.3.0, an open-source companion tool for the RadioBOSS Song Request System.

SongSync reads the RadioBOSS MySQL music library, creates a secure JSON song catalog and can automatically upload the generated files to a web server using SFTP.

New in version 1.3.0​

  • Portable Windows EXE
  • No Python installation required
  • Automatic MySQL catalog export
  • Automatic SFTP upload
  • Password and SSH private-key authentication
  • SFTP server identity verification
  • Duplicate artist/title filtering
  • Public catalog and protected private filename lookup
  • Automatic execution through the RadioBOSS Scheduler
  • Complete installation, SFTP and automation documentation
The Windows package only requires users to copy config.example.py to config.py, enter their MySQL and SFTP settings and start run_songsync.bat.

The tool only reads the RadioBOSS database. It does not modify or delete any RadioBOSS data.

Download and source code​

RadioBOSS SongSync Engine:

https://github.com/mixnetwork1959/RadioBOSS-SongSync-Engine

RadioBOSS Song Request System:

Hello everyone,

I have released RadioBOSS SongSync Engine v1.3.0, an open-source companion tool for the RadioBOSS Song Request System.

SongSync reads the RadioBOSS MySQL music library, creates a secure JSON song catalog and can automatically upload the generated files to a web server using SFTP.

New in version 1.3.0​

  • Portable Windows EXE
  • No Python installation required
  • Automatic MySQL catalog export
  • Automatic SFTP upload
  • Password and SSH private-key authentication
  • SFTP server identity verification
  • Duplicate artist/title filtering
  • Public catalog and protected private filename lookup
  • Automatic execution through the RadioBOSS Scheduler
  • Complete installation, SFTP and automation documentation
The Windows package only requires users to copy config.example.py to config.py, enter their MySQL and SFTP settings and start run_songsync.bat.

The tool only reads the RadioBOSS database. It does not modify or delete any RadioBOSS data.

Download and source code​

RadioBOSS SongSync Engine:

https://github.com/mixnetwork1959/RadioBOSS-SongSync-Engine

RadioBOSS Song Request System:

https://github.com/mixnetwork1959/radioboss-song-request-system

Both projects are required for the complete web-based request system.

Live test​

You can test the system here:

https://radio-albena.com/song-request-live-stream/

The projects are released under the MIT License. Feedback, compatibility reports and suggestions are very welcome.

Both projects are required for the complete web-based request system.

Live test​

You can test the system here:

https://radio-albena.com/song-request-live-stream/

The projects are released under the MIT License. Feedback, compatibility reports and suggestions are very welcome.
 
Back
Top