Exporting Now-Playing Data from RCS NexGen

Create "Now Playing" and "Song Finder" Functionality on Your Radio Station's Website

RCS NexGen is one of the most popular FM Automation Systems in Australia. If you have it, you might be wondering how to export the live Now Playing data to your website. Thankfully, it’s actually pretty easy to send this data as XML to your website.

Here’s how…

Finding the Setup Screens

The Export setup screen is buried several levels deep in NexGen’s setup screens.

Here’s where to find it:

  1. “Config” icon (in main toolbar)
  2. “Station” icon on the Config toolbar
  3. Click on the station then press “Edit”
  4. Format Configuration > Export

Here’s a screenshot of NexGen with the appropriate buttons circled:

NexGen Now Playing Export - Setup Screenshot 1

When you click that magic “Export” button, you’ll get a screen like this:

NexGen Now Playing Export - Setup Screenshot 2

You can configure up to four separate export formats. Pick a spare one from one of the four tabs at the top of the window, and then start checking the boxes!

NexGen XML Output Setup

The format ‘XML’ with Output ‘HTTP Export’ is probably one of the best formats, as it allows you to send data directly to a script on your website as soon as the item start playing.

Each “Output Field” is one XML element that will be sent to your script. If you fill out the “Lead Text” you’ll get extra text appended to the data, which you probably don’t want. Leave the “Lead Text” fields blank, and set the Output Fields to the fields you’ll need on your website.

The actual destination URL is setup across multiple fields (all found down the bottom right). Here’s what the fields do:

  • URL: The FQDN or IP Address of your destination server
  • CGI Script: the path to the script that’ll process your data
  • Variable: The GET URL Parameter that’ll contain the XML data (encoded)
  • Port: Probably port 80. I don’t think NexGen supports HTTPS, only HTTP.

Of course, this server will need to be accessible from your NexGen A-Serv (Audio Server) that controls this server. When you save the settings, you’ll be prompted to restart this A-Serv. Changes won’t take affect until you restart the appropriate process on the A-Serv.

Parsing Script For Your Website

The actual script that receive this on your website can be entirely of your creation. Here’s a sample PHP script which demonstrates how to get the data and write it to a file:


//GET XML data from RCS NexGen

// The raw XML data sent from NexGen
$xml_raw = $_GET['nexgendata'];

// A simple way to convert the XML to an associative array
$xml_nexgen = json_decode(json_encode((array)simplexml_load_string($xml_raw)), 1);

// This array will store all the data
$data = array();

if(!empty($xml_nexgen['title']) && $xml_nexgen['title'] !== array()) {
    $data['title'] = (String)$xml_nexgen['title'];

if(!empty($xml_nexgen['artist']) && $xml_nexgen['artist'] !== array()) {
    $data['artist'] = (String)$xml_nexgen['artist'];

// The item number and cut number
$data['item_num'] = $xml_nexgen['number'];
$data['item_cut'] = $xml_nexgen['cut'];

// Duration is provided by NexGen as HH:MM:SS
$data['duration'] = (String)$xml_nexgen['length'];

// Timestamp is provided as MM/DD/YYYY
$data['date'] = (String)$xml_nexgen['played_date'];
$data['time'] = (String)$xml_nexgen['played_time'];

// Is the file is currently playing?
if($xml_nexgen['status'] == "Playing") {
    $data['played'] = "true";
} else {
    $data['played'] = "false";

// Write the data to a JSON file
file_put_contents("nexgen_now.xml", json_encode($data));


This script writes the file “nexgen_now.json” with some of the most important fields saved. You can easily read this file on your website and output the fields as needed.

Of course, you’ll need to add some error checking and all that important stuff. You could also log it to a database in order to create a “Song Finder” (a directory of songs played, sorted by time and date). You could also show weekly play charts.

Use my script as a starting point for capturing this data.

I Need Some Expertise Writing The Web Software…

Cool! I’ve integrated several playout systems with websites before (including NexGen, Zetta, Simian, ZaraRadio, and StationPlaylist Studio), so I’m sure I can help you with this. Send me an email if you’re interested in hiring me for this project.

Get the Broadcast Technology Newsletter

Sign up for the email newsletter about media and technology. Sent irregularly. No spam.

I'm Anthony Eden, and I'm a IT Professional, Broadcast Technician, Software Developer, and Solutions Engineer. I've been working in broadcast media since 2008, and developing software and websites for just as long. Right now, I provide freelance services through Media Realm - in particular, to the media and not-for-profit industries.

Follow Anthony on Twitter: @anthony_eden