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
- Added a thin (pure html) web front-end designed for PDAs. See here
for details.
- Added a mute button to the applet front-end.
- Forward and backbard buttons now skip to next and previous letter of alphabet
in Queue and Play music listings (via front-panel on Receivers).
- Improved stability on unreliable networks.
- 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:
- Wireless networks now better supported.
- A new "tcp" send-method setting has been added ("multicast"
is still the default).
- 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.
- 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).
- Added "reconnect" logic to the web front-end to re-establish its
connection to tRio if this is restarted.
- 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).
- Changed to use the java logging API. Logs are now written to a file (TRIO_HOME/logs)
rather than to the console window.
- Replaced the various linux scripts with Jeff Christoffersen's "trio.sh".
Install documentation updated accordingly.
- 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.
- 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.
- 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.
- Made the "tune title" in the playback screen a scrolling banner
to show long tune titles.
- 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:
- Switch between receivers via the navigation panel
- Reboot, delete and rename your receivers via its Status tabs
- See what's playing via the Player tabs and:
- Control playback via Stop, Play, Pause and Skip buttons.
- Adjust the volume, balance, repeat and random settings
- Select between the supported playback modes (Jukebox, Queue 'n Play,
Radio and Listen)
- Browse and position yourself in your music collection (by Artist or
Genre) when in Jukebox mode
- Add tunes by Artist, Album, Genre or Playlist to the Play Queue when
in Queue 'n Play mode
- Add, edit, delete and play stations when in Radio mode. Drag and Drop
is also supported from shoutcast.com.
- Synchronise playback with another eligible receiver when in Listen Mode
Note: The web front-end is a "heavy" implementation
and will not currently run on PDAs.
Other enhancements:
- A new "Player Settings" menu has been added which allows the Playback
Panel layout and Access settings to be changed on the fly.
- StreamSickle playback is now supported.
- tRio should now work with windows and router-based DHCP servers.
- tRio can now run without x11 support in Linux (thanks to the new version
of PJA)
- Various bug fixes including:
- Shoutcast retuning error
- Playlist sequencing error with JReceiver
- Ogg monographic playback fix
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:
- Introduced a new "Jukebox" mode (contributed by Chris Campbell)
- JReceiver only.
- 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.
- Added shuffle and random support to "Queue 'n Play" mode.
- Implemented playlist support for ARM users.
- Introduced "track number" ordering for ARM users.
- Changed the default tune ordering when "all tunes for artist"
is selected from "tune title" to "album, track number".
- 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.
- Line out volume can now be set to "fixed" or "variable"
via the settings menu.
- New "Player Settings" menu which allows the Playback Panel Layout
and and Access setting to be changed without restarting the tRio server.
- Performance enhancements which should reduce (and hopefully eliminate) skipping
in HPNA set ups.
- Various bug fixes including:
- Fixed error causing drop outs during synchronised ogg/vorbis playback.
- Improved shoutcast error handling.
- Fixed bug causing some screen artifacts.
- Fixed problem where Receiver does not respond to power key after power off
Note: New features in version 0.1.3 are indicated
by in the User Manual and Install
Instructions. Changes are shown with .
Features
tRio supports the following in version 0.1:
- MP3, Ogg/Vorbis and FLAC playback via either the original Audio Receiver
Manager software (MP3 only) or JReceiver
(recommended).
- It exploits JReceiver's XML-RPC interface which provides new music selection
features. For example, it lists all Albums for a chosen Artist.
- 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!
- It has a basic SHOUTcast implementation.
- 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.
- Version 0.1 has a simple Clock application which will be developed into
a Radio Alarm Clock in version 0.2.
- 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.
"Java-based"?
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:
- A thin front-end that will run on wireless PDAs. This would either be pure
html-based or a PersonalJava compliant applet
- Better windows integration:
- ability to run the tRio Server as a windows service
- a system tray icon to bring up the front-end
Support
If you're struggling with a problem while installing or running tRio then:
- First go through the Troubleshooting section at the bottom of the Install
Instructions.
- Then search through any existing posts in the Support
List and the Rio
Forum to see if your problem has been solved before.
- If you're still struggling, post
the details of your problem to the Support
List including:
- a brief description of your set up including your operating system,
whether you are using JReceiver or Audio Receiver Manager, brief description
of your LAN set up and details of anything unusual about your setup
- a copy of your trio.xml file
- a detailed description of what is going wrong (please give as much information
as you can).
Please post details of any bugs you uncover here.
Contributing
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.
Credits
tRio is built on the groundwork laid by several open source developments, in
particular: