README for JRioUtil =================== Description ----------- JRioUtil is a Java Swing GUI that works on top of the rioutil tools to interface with the Rio series of USB based MP3 players. Visit the rioutil homepage for details on supported models (see Links below). Although JRioUtil does not directly interact with the hardware and has show itself to be quite reliable, THERE IS NO WARRANTY OF ANY KIND WITH THIS SOFTWARE. THERE IS NO GUARANTEE THAT JRIOUTIL WILL NOT DAMAGE HARDWARE OR CAUSE A LOSS OF SOFTWARE OR DATA. I AM NOT RESPONSIBLE FOR HARDWARE DAMAGE, SOFTWARE DAMAGE, OR DATA LOSS. You have been warned. Requirements ------------ o JRE >= 1.3 (http://java.sun.com) o rioutil (http://rioutil.sourceforge.net/) o ogg2mp3 for converting Oggs - optional (http://marginalhacks.com/index.4.html) o notLame for encoding mp3s from wav - optional (http://www.idiap.ch/~sanders/not_lame/) Installing/Running ------------------ Be sure that rioutil is installed and working with your rio device. Please note that I have NOT worked on any of the rioutil code so I cannot help you if there is a problem with it. Please use the RioUtil forums at http://sourceforge.net. To run the binaries, simply download the JAR file and run "java -jar jrioutil.jar". Java must be in your PATH, or you must enter the complete path to the 'java' executable, such as: '/usr/java/j2sdk/bin/java -jar ...' To compile from source you must have Apache Ant installed. Extract the source from the tarball and run "ant dist". This will build the jrioutil.jar file in the dist directory. See the instructions for running the binary. Note that you may have to run the application as root since rioutil requires root access to devices. Project Information ------------------- I hope to have some help/usage documents in the near future. Editing settings is only supported by directly editing the properties file for now. JRioUtil is designed to support any device, but I have only implemented support for the rioutil tool. If someone wants to port it to a new device, feel free to contact me for details. The "Automatic conversion of Oggs and Wavs" is a bit of marketing hype (ok, my marketing hype :), in reality the conversion is done by an external application (ogg2mp3 and/or notLame). When JRioUtil searches a directory for files, it checks the extension of the file (the last 3 characters only) to determine the filetype. If it is not one of "mp3" or "wma", it is assumed that the file must be converted. If you try to transfer a file that needs conversion to the Rio, JRioUtil will ask if you want to convert it. If you say yes, JRioUtil will: o copy the original file to a temp directory o look in the properties file for a key "convert..path" for the command to run to convert the the file TO AN MP3 o runs the conversion command o assumes that after the conversion the filename of the new mp3 is .mp3 o the copied temp file is deleted o the mp3 is transferred to the unit o the mp3 is deleted at application exit So, if JRioUtil finds a file named MySong.ogg, it will be copied to /tmp/jrioutil_1111.tmp, then the command defined in "convert.ogg.path" will be run on the file, and the mp3 name is assumed to be /tmp/jrioutil_1111.tmp.mp3 (note that the original extension is still there!). The convert command can have a %f which will be replaced with a clean version of the temp filename. Any output from the conversion process on stderr will be displayed to the user in the activity log. As of version 1.0, the supported formats of a device are defined in the properties file. Therefore it is possible to remove 'mp3' as a supported format, which will cause JRioUtil to attempt to convert mp3 files before transfer. This can be useful if you want to downsample mp3s before transfering them to the player. The property convert.confirm is a boolean that can be set to false to prevent JRioUtil from asking before converting each unsupported file (very useful once you know things work!). The JRioUtil property file can be found in ~/.jrioutil/jrioutil.properties. It will be created (with defaults) after the first run of the application. Links ----- o JRioUtil borrows some icons from the Noia icon set (http://www.carlitus.net/) (http://www.kde-look.org/content/show.php?content=3883) o Sonicblue, makers of the Rio line (http://www.diamondmm.com) o JRioUtil can always be found here (http://www.botch.com/mpilone/projects/jrioutil.phtml) Todo ---- Some other features I'd like to implement in the future: o Help browser x # of files/tracks with total file size x Refactor Device class for other devices (Rio500?) x Add about box x Add transfer destination for multiple memory units/playlists x Implement format command x Preferred column size in DevicePanel x Playlist support x Get memory unit information from Device (count and names) o Add config dialog x Cleanup change notification from Device x Write a README and ChangeLog o More default conversion commands in properties file x Reduce JRE CPU load when converting (maybe just a notLame problem) o Save state of activity log visibility o Device class file in config file x Supported formats in config file Notes ----- At last report Sonicblue was going out of business and auctioning off their assets, including the Rio line. It appears as though D&M has purchased the Rio line. Hopefully they will continue supporting it. Many thanks to all the developers of rioutil! It is a great utility! Please send feedback, comments, and patches to me at Mike Pilone http://www.botch.com/mpilone/personal/ Copyright 2004 Mike Pilone All trademarks are property of their respective owners.