GNOME Bugzilla – Bug 149716
Ability to work with iRiver MP3/Ogg players
Last modified: 2018-05-24 10:35:37 UTC
There are opensource libraries andrivers for access to iRiver's iFP portable
MP3/Ogg players series:
Please consider reusing them in order to make Rhythmbox able excahnge songs with
I guess this will be done when someone owning an iRiver cares enough to hack on
rhythmbox so that it supports it...
Well, I cannot hack, but I can test result of a hack :)
Attached is a patch that integrates the iRiver (well at least an iHP-140)
database access into rhythmbox. A few caveats ...
a) It is rather slow as the files themselves have to be parsed to get much of
the required metadata
b) No playlist support
c) iRiver goes 'read-only' quite frequently and this seems to bork rhythmbox
d) Icon is a total rip off of the iPod one!
Created attachment 32232 [details] [review]
Diff to introduce iRiver source
Created attachment 32233 [details]
Icon for the iHP-140
Total rip off of the iPod icon!
You can use the totem-pl-parser functions to save as m3u files, it handles
relative paths, and DOS/Unix modes.
The iriverdb.[ch] files are missing from the patch.
Created attachment 32273 [details]
iriverdb.c file - extraction of iNavi.iDB functionality
Should be in sources directory
Created attachment 32274 [details]
Headers for iriverdb.c
Should be in sources directory alongside the iriverdb.c file
Playlists are already .m3u files, but they are just on the filesystem, so it's
not too difficult to read them in, just how to present them in rhythmbox. i.e.
Christophe suggested something like the layout below ...
+ Playlist 1
+ Playlist 2
+ Playlist 1
+ Playlist 2
walters agreed with such a layout on irc, and ish said he'd work on that once he
has integrated daap support in rhythmbox. If you are interested in working on
that too, you should check with him.
Created attachment 35735 [details]
Replacement iriverdb.c code - after testing
After testing by email@example.com, have fixed an issue with the location
of the mount point of the device when using gnome-volume-manager.
I couldn't get your code to work Mark with my iRiver H320, but I'll try to adapt
the code a little bit.
the patch may have bitrotted, due to changes in RB.
As a point of interest, I have started work an a "removable media framework" for
RB as part of my work on audio cd support (bug 110928). Although it still needs
some more work on it, should make adding support for new media easier. It
shouldn't be too hard to port the iRiver code over to using that, because both
the removable media stuff and this iRiver code are based on the ipod code.
I'm currently working on my own patch for iriver, but if your framework is more
or less ready for use, I'll start porting my code.
IMHO rhythmbox should have some sort of rbsource pluginsystem based on GModule,
so it could be possible to develop support for non-free stuff like opendaap.
This could probably remove some code/dependencies too, for example could the
itunesdb code be removed. Afaik, it's from libitunes, which most ipod users
would have anyways. I think gtkpod and other ipod utilities needs it, allthough
The framework works for audio cds, and it was relatively trivial to port the
ipod source over to it. There are going to things that it should have, which
aren't in it yet - but until someone else tries to use it to support something a
different, I'm not sure exactly what it needs. One thing it probably does want
is a general "unmount/eject" method, that gets called when the user requests the
media to be unmounted.
I've been talking with some people about a "plugin" system over the past few
days, and will probably post some of my ideas to the mailing list in the next
couple of days.
Actually if you do plan on using my stuff, it's probably worth waiting a day or
two - I've got an new patch which fixes some issues and renames several things,
I just need to tidy a couple of things up before uploading.
If you don't want to use it yet, that's fine, and having another media source to
look at will get me a better idea of what I need in the framework.
The removable media framework is in 0.9.1 and cvs, which will help if you want
to add iRiver support. If you have any questions about it, or suggestions for
improvements feel free to mail me or ask on irc.
Obsoleting the patch because it is really out of date.
Switch component to "Removable Media".
I can do testing if needed, I'm also going to submit the playlist information in a bug in response to Mr. Livingston's call for such a thing.
This seems moderately related -- attached is an icon I made for the iRiver H300 series. Other sizes are available if it's used, whatever license you guys want it under, you can have it -- presumably whatever Jimmac puts his under. He didn't like it enough to commit it to GNOME, perhaps one of the Rhythmbox developers do.
Created attachment 63842 [details]
iRiver H300 series device icon
An icon (using the GNOME color palette) for the iRiver H300 series of media players, possibly useful for displaying the device in Rhythmbox.
Other sizes (perhaps a simpler 24x24 version) are available, plus the SVG.
Created attachment 63915 [details] [review]
start of a patch
This is the start of a patch to add support for iFP-based devices, using libifp (http://ifp-driver.sourceforge.net/). The patch is against cvs, but it should work against 0.9.4 too.
To test this, you need to compile RB with the patch applied (having libifp installed), go to Edit->Plugins and turn "iFP Device Support" on. All it should do at the moment is make a new source show up when the device is plugged in.
As far as iriver support is concerned you could try using http://pmplib.sourceforge.net/. I don't know about other iriver models, but it's the only library that supports iriver H10Jr. The library supports players from other vendors as well and here's the full list:
* iRiver H100 series
* iRiver H300 series
* iRiver H10 UMS
* iRiver H10 MTP (with emergency connect mode)
* iRiver H10Jr. UMS
* iRiver U10 UMS
* MEDION MDJuke220
* MEDION MDJuke440
* Samsung YH-820
* Samsung YH-920
* Samsung YH-925
Is anyone able to pick up the work on this? The basic structure of the plugin is done. It shouldn't be hard to extract a list of files from the device and display them in the source, but it appears that reading metadata and playing from the device would be a fair bit harder. It seems that GStreamer source and sink elements would be required.
-- GitLab Migration Automatic Message --
This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/42.