README for Gnomad2
1. Gnomad2 requires the library GTK+-2.0 to build.
Get it here: http://www.gtk.org/
This comes by default on most systems by the way.
You mostly only need to install a gtk+-2.0-dev(el)
package to enable compiling.
Any distribution built on GNOME 2.2+ will work
fine with Gnomad2.
2. Gnomad2 requires the library libGnomeui to build.
Get it here http://developer.gnome.org/doc/API/
Any distribution built on GNOME 2.2+ will work
fine with Gnomad2.
3. Gnomad2 also requires the library libnjb
to build.
Get it here: http://sourceforge.net/projects/libnjb/
Pay attention to the notes in the libnjb README file
for underlying functionality requirements and
troubleshooting.
libnjb may in turn require libusb if you're building
under Linux. Find libusb here:
Debian: apt-get install libusb0
apt-get install libusb-dev
libnjb is not included in the Debian
distribution, you have to build it from
source! For the moment you'll have to
download the CVS version and install it
(only the CVS version is reliable as
of now, 2003-03-30.)
apt-get install libnjb0
apt-get install libnjb-dev
will soon be available.
RedHat: An RPM package of libusb is included in the
RedHat distribution. New versions are available
at RawHide (RedHat beta). It is installed by
default, you don't have to do anything about it.
The Gnomad2 RPM package includes statically
linked libnjb and id3lib. You need not install
either, just smack in the Gnomad2 RPM.
4. Gnomad2 also requires the library id3tag to build.
NOTE: Gnomad has switched from using id3lib to using
libid3tag produced by the libmad project. This
library is used by e.g. gtkpod and the gstreamer
project use id3tag instead of id3lib. These two
libraries are confused all the time, so please
pay attention.
Get it here: http://sourceforge.net/projects/mad/
http://sourceforge.net/project/showfiles.php?group_id=12349
FIXME: update info below.
Debian: apt-get install libid3
apt-get install libid3-dev
NOTE: do NOT install libid3tag0!!
RedHat: The RPM of Gnomad2 already includes a
statically linked version of id3tag library.
You do not need to install it to install
Gnomad2.
If you want to compile from sources:
You may as well build the id3lib from source
as most RPMs seem unreliable on RedHat 8.0 and
upwards. Communicate with the id3lib project
and download their tarballs/use their
RPMs.
5. Install gnomad using this sequence:
tar xvfz gnomad2-2.X.X.tar.gz
cd gnomad2-2.X.X
./configure
make
make install
(make may be named gmake on some systems)
FAQ:
1. Q: Hey, it starts, but it doesn't connect to the jukebox!
A: First, do you have USB support in your kernel, with
the usbfs filesystem activated?
/proc/bus/usb/ is a virtual file system implemented
(usbfs) in the 2.4.x versions of the Linux kernel that
represents the USB port. So this info is worthless for
BSD users.
In the Linux kernel USB is used in user mode by
accessing this virtual file system. Devices that have
kernel drivers appear here, and devices that haven't
atleast appear in /proc/usb/001/... etc. And this is
how libusb access your USB port.
* Distributions with hotplugging:
(Eg: RedHat 7.2 / 7.3 / 8.0 / 9, Fedora Core, Debian)
This is info for distributions with hotplugging enabled
for USB / PCI devices. This typically means you have
something i /etc/hotplug and that hotplugging is started
when you boot your machine in a script named
/etc/init.d/hotplug or similar.
See the README file of libnjb for instructions on how this
works. Compiling libnjb from source will nowadays add
hotplugging for you by default. The RPM for Gnomad2 will
also try to add hotplugging using a script.
* Other distributions:
This is if you don't have hotplugging enabled and do not
want to set it up on your machine either. You want to
mount the usbfs manually.
According to Tim Pepper, this should work in your
/etc/fstab:
none /proc/bus/usb usbdevfs noauto,devmode=0666 0 0
You can find the Linux hotplug project at:
http://linux-hotplug.sourceforge.net/
A: Check out the libusb homepage for more information on
USB problems that might be caused by USB stuff, and check
out: http://www.linux-usb.org/FAQ.html
2: Q: My kernel does not find a driver for the jukebox!
A: So I guess you're using Linux. libnjb doesn't use a
kernel driver for the jukebox anyway. It uses the USB
from userland, accessing the device through /proc/bus/usb.
The important thing for you is to see that if you write
cat /prob/bus/usb/devices you find your jukebox among
the listed devices (the Vendor/Product ID combo can be
found in the "nomad.usermap" file that comes with
Gnomad2.
OK this is quite technical but you asked for it.
3. Q: How do I use Gnomad2?
A: Plug in your jukebox, start the program. Gnomad2 will
locate and scan your jukebox for files. (If it fails
you may use the "rescan contents" option in the
Jukebox menu, or the popups in the jukebox file lists.)
4. Q: How do I select multiple files?
A: Click first file, then hold down CTRL and click
additional files. To select a large region of files,
click top file, hold down SHIFT and click bottom file.
Easy, see? (You really ought to know this behaviour
from other applications.)
5. Q: How do I add some tracks in the jukebox library to a
playlist?
A: OK this might be not-so-logical: you add the files
in the music transfer frame, by selecting the files
you want in the jukebox view, right clicking your
mouse and selectiong "Add selected to playlist" on
the popup menu.
6. Q: How does Gnomad2 determine metadata for a file?
A: Gnomad2 will try to retrieve metadata from files
in the left view of the music transfer view using
several heuristic methods.
For MP3 files, concerning the "Remove ID3 tag"
option: What is shown on the screen is not primarily
related to ID3 as a matter of fact. The "Remove ID3"
option just removes the ID3-tag block from the
file when transferring it, it does not avoid reading
in the information from the file in the first place.
Gnomad will always try everything it can to retrieve
the metadata:
* first it reads the ID3 info (on MP3 files)
* next it looks at the filename path to determine
probable metadata
* if this fails it will use the string <unknown>
There is yet no logic to read WMA metadata. Don't
use WMA. Mail Creative and tell them to include
support for Ogg Vorbis instead.
When transferring files from harddisk to jukebox,
the info on the left is always added to the files in
the view on the right. If some part of it is missing
after a rescan, that's a bug.
7. Q: But how do I...
A: Hey! did you try selecting something and clicking the
right mousebutton? Different popups may appear
depending on what is selected. Notably in the playlist.
8. Q: Sometimes the graphics freeze for example when I delete
some files on the jukebox.
A: OK so Gnomad2 is not 100% multi-threaded. Might fix it
someday when everything that is more important has been
fixed. Sit back and enjoy the show.
9. Q: Gnomad2 seqfaulted/crashed on me!
A: OK so neither Gnomad2 nor the libnjb, libusb or id3lib
are entirely stable. Please start up you GDB and help
us find the error and submit patches to respective
maintainer, thats how it works.
The problem can be in several different places:
* Gnomad2
* libnjb
* libusb
* Your operating system
The first task is to find out where the problem is.
Some things are obviously in gnomad2, while others,
especially relating to the NJB USB communications, are
more elusive.
To intercept the libnjb USB traffic, invoke gnomad2 with
"gnomad2 -D7". If you think the problem is in libnjb
join the libnjb mailing list and discuss the problem
there.
Error messages that explicitly say that they are USB
errors (and this happens from time to time) may be either
in libnjb (unlikely) libusb (more likely) or the kernel
of your operating system (also very likely).