What is tRio?

tRio is a "java-based" client replacement for the Rio and Dell branded Digital Audio Receiver networked audio players.

The aim is to produce a fully featured, user-friendly system for the Rio Receiver (and possibly other devices) which is easy to maintain and extend.

What's New

Version 0.1.6

  1. Added a thin (pure html) web front-end designed for PDAs. See here for details.
  2. Added a mute button to the applet front-end.
  3. Forward and backbard buttons now skip to next and previous letter of alphabet in Queue and Play music listings (via front-panel on Receivers).
  4. Improved stability on unreliable networks.
  5. Fixed the handling of the '&' character in Artist and Album names for ARM.
Thanks to Dan Richardson for contributing the user manual for the thin front-end.

Version 0.1.5

The audio streaming code has been completely reworked in version 0.1.5 to make tRio usable on wireless (802.11x) networks. Please note you may still experience drop-outs with higher bit-rate recordings (> 192kbps under wireless only).

A new "tcp" send-method has been added as a "last resort" if the other settings don't work in your setup. The default "multicast" setting is still the recommended option - it uses half the band-width of "unicast" and "tcp" during synchronised playback. If your router does support multicast all that well then either "unicast" or "tcp" can be tried. "broadcast" is not a good choice under wireless networks because it forces data to be sent over the wireless link even if the wireless players aren't interested in it.

Summary of changes:

  1. Wireless networks now better supported.
  2. A new "tcp" send-method setting has been added ("multicast" is still the default).
  3. The synchronisation process is now faster (and hopefully more reliable) at higher bit-rates. Unfortunately it can still take about 10 seconds for low bit-rate (usually Shoutcast) streams.
  4. Added a "tRio Settings" tab to the web front-end which provides "Master Off" and "Restart" buttons. You can also schedule tRio to automatically restart itself ("never" is the default).
  5. Added "reconnect" logic to the web front-end to re-establish its connection to tRio if this is restarted.
  6. Queue 'n Play mode now by default shows the "Select By Artist" screen when you first enter this mode (only if the Play Queue is empty).
  7. Changed to use the java logging API. Logs are now written to a file (TRIO_HOME/logs) rather than to the console window.
  8. Replaced the various linux scripts with Jeff Christoffersen's "trio.sh". Install documentation updated accordingly.
  9. David Brower has enhanced the alpha key searching in the Queue 'n Play "Select By" screens. Pressing "forward" and "backwards" now changes the character position that is searched.
  10. Shoutcast processing changed to store the list of URLs within the Shoutcast playlist file (instead of the URL of the playlist file). This works around Shoutcast.com changing the .pls URLs from time to time.
  11. Added SSDP discovery of ARM and JReceiver music servers to simplify the install process. Please note new entry in the Troubleshooting section if this fails.
  12. Made the "tune title" in the playback screen a scrolling banner to show long tune titles.
  13. Various bug fixes.

Please note that substantial changes have been made to trio.xml and must start from scratch when upgrading from 0.1.4.

Version 0.1.4

The major addition in version 0.1.4 is the applet-based web front-end. Here's what it allows you to do:

  1. Switch between receivers via the navigation panel
  2. Reboot, delete and rename your receivers via its Status tabs
  3. See what's playing via the Player tabs and:

Note: The web front-end is a "heavy" implementation and will not currently run on PDAs.

Other enhancements:

  1. A new "Player Settings" menu has been added which allows the Playback Panel layout and Access settings to be changed on the fly.
  2. StreamSickle playback is now supported.
  3. tRio should now work with windows and router-based DHCP servers.
  4. tRio can now run without x11 support in Linux (thanks to the new version of PJA)
  5. Various bug fixes including:

Note: New features in version 0.1.4 are indicated by in the User Manual and Install Instructions. Changes are shown with .

Version 0.1.3

Here's what's new and improved in verion 0.1.3:

  1. Introduced a new "Jukebox" mode (contributed by Chris Campbell) - JReceiver only.
  2. Introduced the concept of playback modes via a "mode" entry on player menu. This allows users to select between "Queue 'n Play", "Jukebox", "Radio" and "Listen" modes. Playback panel layouts adjusted accordingly.
  3. Added shuffle and random support to "Queue 'n Play" mode.
  4. Implemented playlist support for ARM users.
  5. Introduced "track number" ordering for ARM users.
  6. Changed the default tune ordering when "all tunes for artist" is selected from "tune title" to "album, track number".
  7. Synchronisation enhancements:
    7.1. All units listening to the same radio station are now automatically synchronised with each other.
    7.2. Added "access" setting which controls whether a unit can be listened to and, if so, controlled by other units.
    7.3. Listening units now have limited control over the unit they are listening to (if access="public").
    7.4. Added synchronisation icons to show sync status.
    7.5. Improved error recovery if synchronisation fails.
  8. Line out volume can now be set to "fixed" or "variable" via the settings menu.
  9. New "Player Settings" menu which allows the Playback Panel Layout and and Access setting to be changed without restarting the tRio server.
  10. Performance enhancements which should reduce (and hopefully eliminate) skipping in HPNA set ups.
  11. Various bug fixes including:

Note: New features in version 0.1.3 are indicated by in the User Manual and Install Instructions. Changes are shown with .


tRio supports the following in version 0.1:

  1. MP3, Ogg/Vorbis and FLAC playback via either the original Audio Receiver Manager software (MP3 only) or JReceiver (recommended).
  2. It exploits JReceiver's XML-RPC interface which provides new music selection features. For example, it lists all Albums for a chosen Artist.
  3. It has the ability to synchronise playback between two or more Receivers via the "Listen To" menu option. This allows you to go some way towards setting up a "Whole Home" audio system using Rio Receivers!
  4. It has a basic SHOUTcast implementation.
  5. The screen layouts used by the music player are defined in the configuration file and it shouldn't be too difficult to write your own.
  6. Version 0.1 has a simple Clock application which will be developed into a Radio Alarm Clock in version 0.2.
  7. tRio has a "plug-in" design that makes it quite easy to develop and add new applications to it (Mail Checker? WAP browser?) - all in Java code.


While the program code running on the Receivers themselves is written in C, all the screen handling and high-level control is done by Java-code running on your host PC. This allows the Receivers to get on with their the real work of decoding and playing your music while your host PC takes care of the rest.

This approach makes it much easier to develop and enhance features for the Receivers (remote C-code vs. local Java). And so it's a good choice for all your folks out there who are itching to improve things but find the idea of cross-compiling and remote debugging C-code a bit daunting (the author included!).

What's Next

With version 0.1.4, tRio now has a fully featured web-font end. Here's what's in the pipe-line:


If you're struggling with a problem while installing or running tRio then:

  1. First go through the Troubleshooting section at the bottom of the Install Instructions.
  2. Then search through any existing posts in the Support List and the Rio Forum to see if your problem has been solved before.
  3. If you're still struggling, post the details of your problem to the Support List including:

Please post details of any bugs you uncover here.


If you like what you see and have some time and energy you are most welcome to contribute. You don't necessarily need to be a Java developer.

New Features

Let us know what new features you'd like to see here. Please bear in mind that not every idea will make it into the next release though.

Playback Panel Layouts

If you've written any good layouts for the Playback Panel then tell us about them by posting a description and the xml on the Ideas List. If we like what we see, we may even build in into the standard distribution for the next release.

Java Developers

If you'd like to do some coding then join up as a developer on the project on SourceForge and we'll take it from there. The source is all there in CVS, so why don't you have a look first.


tRio is built on the groundwork laid by several open source developments, in particular: