libnjb is a nice library that provides support for the Creative NOMAD, Creative Zen, and Dell Juke Box (NJB) music player devices. Supporting the iPod was first priority, given they are the most popular (various reports indicate around 90% for hard-disk-based devices, and I think around 50% overall). Anyway, the Creative devices are also very popular, and I have had numerous requests from users of these devices to have them work with Banshee. It’s just a matter of time.
I began work on C# bindings for libnjb, and they are available in Mono SVN under the module njb-sharp. Currently I have only the device layer working, but I think that’s a good start for a late evening. I also add a HAL layer for detecting device events and roll that into the bindings.
The nice things about libnjb is that… well, they handle the dirty work. With libipoddevice/ipod-sharp, all the reverse engineering and device handling is done from scratch, because there was no existing “libipod.” This just means NJB support should take about a week, versus a few months.
After the bindings are finished, I’ll probably hold off on implementing them in Banshee, because I’d rather wait until I have finished the refactored Source/View core. Otherwise I’d have to re-implement the NJB source.
Now for those without an iPod or an NJB device, after NJB support is added, I’ll add generic USB mass storage audio player support. And after that… iRiver, maybe?