Codebase list gnomad2 / debian/2.6.1-1
debian/2.6.1-1

Tree @debian/2.6.1-1 (Download .tar.gz)

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).