Reza`s Rio Receiver (RRR)

Home » Projects » Rio Audio Receiver Hacking » Reza`s Rio Receiver (RRR)


8/23/2002 - Released v0.7.9 -- Many Additions

- Added ability to Enqueu (add) songs to the playlist instead of replacing the playlist with each new playlist selection
- Added Random Play feature
- Added Repeat Play feature
- The backlight will automatically turn off after some period of time (configurable via the "lcd_powerdown_interval" setting in the configuration)
- Added FLAC (Free Lossless Audio Compression) support
- Added 'Play All' Feature
- Added /rawDataDump request to help integrate with jRec
- Code Cleanup (moved functions to new files and got rid of redundant struct entries)
- Changed the way Local MP3s are streamed (one big http get rather than a bunch of smaller requests)

8/14/2002 - Released v0.7.2 -- Another Bug Fix & Configurable BufferSize

It seems as if I had another bug -- which took some time to track down in list.c. It's fixed, and I'm feeling very positive that the bootup problem some people were having will be resolved. Please download the latest version and give it a shot.

I've also added the ability to configure the various buffersizes. You should find (or if not, please add) the following lines to the configuration:


These represent the buffersizes for the shoutcast stream, the local mp3 stream, and the decoded-audio buffer before it is sent to the audio device (respectivly). If you're having problems with skipping audio, you can try editing these numbers and seeing if it helps at all. The first two will take place immediatly, the last one requires a reboot of the software.

8/8/2002 - Released v0.7.1f -- Bug Fix

It seemed as if the application was crashing if you didn't have anything set in the Favourites ever. The receiver.arf file has been updated accordingly. If yo are using apache as your server, please add this file to your document root : /favourites/all containing the lines, or else try the latest version of rrr from the receiver.arf file listed above :


8/6/2002 - Released v0.7.1 -- Added resampling, fixed configurations

This release adds resampling support (though I havn't tested it yet *doh*). It also fixes an issue with saving configuratons with read-only nfs mounted root partitions (i.e. the windows audio receiver program). It now stores the configuration where the favourites are normally stored. I also finally got around to adding some code to get the POWER button to do work.

7/30/2002 - Working Great.

Well, I've not been working on this for some time cuz I did some traveling and had a 3rd operation on my leg to deal with getting hit by a car. I've also noticed that someone else has decided to put out similar software (rioplay) which is very cool. But I figured I had spent a lot of time on this, so I figured I'd finish it. And I've gotten a long way towards that. The current release supports everything but playlists. It has a nice web front end (screenshot - if you want a bigger view, login and edit the preferences) where you can do a lot of things from managing the configuration to interacting with the menus on the receiver itself. Shoutcast support has been added and seems to work fairly well.

One of the big changes I did (inspired by rioplay) is that I went ahead and set it up to use the same protocol as the server that comes with the reciever -- that way I figured I wouldn't have to re-invent the wheel..

So, you can find the links to the code above. It also has a sourceforge presence here.

6/3/2002 - First Useful Release! Version 0.4 & 0.5

Ok, This version includes the rio code, plus a stand-alone server so you don't have to setup apache and various perl CGIs. I've included a binary distribution, as well as the source. Also, to simplify things for those using the binary distribution, it will use the same IP as the nfs server for the MP3 server. I'll post the code to sourceforge as soon as they respond to my emails.

A few hours after I released version 0.4, I added a status bar (displays filename and time elapsed), and re-released the code as version 0.5. I also went ahead and tar'ed up the RIO's NFS root partition, as there is no longer any proprietary code on it.

rio_root_dir.tgz Note! This tarfile is untested. Please let me know if I'm missing something.

5/27/2002 - Got MP3 Playback Working!

I've added the Mad MPEG decoder to my code, and have gotten it to play the theme song from Married with Children. There are a few bugs that still need to be cleaned up before I want to release the next version. I'm also planning on releasing a stand-alone server application so you dont have to setup Apache and Perl on your server to get this to work.

4/22/2002 - Released Verion 0.2 of the code. Plays Audio, slightly more useful.

I've gotten a lot more features in it. It has a functioning menu system (though not much content), and the ability to play audio files (in it's native format). Again, unless you are into playing around with the code, this code is still too buggy and raw. I've been getting some positive feedback and good suggestions, which makes it all the more worthwile. Thanks.

4/15/2002 - Released Verion 0.1 of the code. Not useful to the general public.

So far, it compiles, and it runs. I've tested each component individualy as I was coding, and now it's time to get them all working together. I couldnt get away with solely an event-based approach, so it currently uses threads to get, decode, and write the data using shared buffers and status flags all over. The main loop is based on a select loop around the web server and the IR/Console input. You're going to need a copy of the from the toolchain to get it to run. It also want to talk back to a server to reteive data from using the cgi getFile. The IP/port are hard coded currenlty.


I'm finally releasing the first version of my code which I think might be useful for others who are also hacking away. The code is ugly, and the only documenation is in the code itself, currently. So far, this is what it has under the hood (though it doesn't all work).
  • LCD Support
  • Built-In HTTP Server
  • IR Support
  • Talks to back-end web server to retreive data
  • Multi-Threaded (3 So far..)
    • Syncronizes compressed data with local buffers and does garbage collecting, read ahead, read behind.
    • Audio Decoding Thread (no codec inserted yet to ease testing, but it's designed to be FLAC happy, and I'll add multiple codec support soon)
    • Audio Writing Thread to write data from decompressed buffers into /dev/audio


If you're interested in contributing in either artwork, fonts, or coding, please drop me an email. Please send comments to Reza Naima

SourceForge Logo