Why NewRio500 ?
Overview
I started the NewRio500 project to familiarize myself with GTK+ development under linux while creating a program that would be useful to me. Although there already exist programs to interface with the Rio500, I wanted to create one that had exactly the features I wanted. As this project is under work, this page will be occasionally updated with progress reports.
Features
Those are the features that I am aiming for with this software.
- GUI front-end (duh)
- Drag-and-drop support
- Transcoding ability -- a.k.a. on the fly conversion from, say, ogg to mp3
- Backup/Restoration of Rio500 memories
Tools
For the development, I use the Eclipse platform with the CDT plugin. This is only for editing, however, as the project is still being compiled using gcc. For the GUI, I use the GTK+ 2.4 library. I also use the GLib 2.4 library for usual things like strings manipulation. The librio500_api library is used to provide communication to the Rio500 via USB.
Progress
![Waveforms and Java Code](images/alpha01_small.jpg)
April 8, 2004
First update. At the moment only the GUI has been more or less completed. I still have a few problems with the way menus are handled in GTK+ 2.4 (if two menus have the same items, how does one differentiate between them?)
librio500_api support seem to be working, though I had problems with C/C++ compability: to simplify things, I am now using C exclusively. At the moment I have the current free and total memory being queried from the Rio and being displayed as well as a few tests of the gtk treeview widget.
![Waveforms and Java Code](images/alpha02_small.jpg)
April 28, 2004
Second update. I had much problems with the librio500 library: the latest version, 0.8.1, simply refuses to compile with usbdevfs support. This is a large problem, as the kernel driver that is normally used is incompatible with the linux kernel 2.6.x (query functions, such as a query for the amount of free memory or a query for the list of files on the device worked, but transfer functions did not: this lead me to believe that the kernel driver worked when doing my initial tests). After much tinkering, I got the 0.7 version to compile and function adequately. However that version lacks features such as file transfers from the Rio to the PC, which means that I will not be able to include my backup/restore feature.
As visible on the screenshot on the left, I have got file transfers to work. A nice dialog is displayed while the files are being transferred that informs the user of the progress of the operation. Missing, however, is the estimated time remaining. Also available is the ability to format either internal or external memory.
Source code for NewRio500 Alpha02 (.tar.bz2 format)
December 10th , 2004
After a hardware failure suffered by my Rio 500 device, and the subsequent acquisition of a different model, there is little reason to continue development of this project. This project is therefore officially cancelled.