* Problems with GNOMAD:

  OUTSTANDING BUGS:
  -----------------

  Removing two files after another from a playlist fails :-P
  This must really be fixed soon.

  Trying to transfer protected files will end in misery.
  Warn and remove from transfer list.

  ENHANCEMENTS:
  -------------

  Do not show charging status for series 3 boxen.

  Full GTK+ 2.6 migration from libgnomeui where possible
  and remove dependency on libgnomeui even from autoconf 
  script if GTK+-2.6 is present.

  Full GTK+ 2.4 migration on checkboxed (OK?)

  RIFF-WAV metadata scanner? (from getid3())

  Add possibility to send a bitmap.

  Add possibility to skip forward/backward in files when
  playing.

  Synch of songs in a harddisk directory, w/checksums?
  Put jukebox ID in ID3 tag?

  Add some stuff to the playlist view: sort playlist by 
  different criteria, remove playlist AND files, move files
  around by drag'n'drop etc. (Hard to do.)
  Add contents of a playlist to another playlist.

  Keybindings to all menus (including popups)

  Transfer queue showing -- even w/o full queue, 
  be able to queue things while trasferring.

  Player queue visible. Queueview widget builder?



STUFF TO BE DONE ELSEWHERE:

* Libnjb:

  NJB_Update_Playlist() should return the new playlist ID
   if it has changed, so that I don't have to rescan the
   playlist list everytime something is changed about a
   playlist.

* Problems with the USB protocol spec:

  The commands 0x29 and 0x2a are not documented.

  Request: C3
  Command: 29
  Name: Get time
  Description: Gets the time of the internal clock of
               the jukebox.

  Request: 43
  Command: 2a
  Name: Set time
  Description: Sets the time of the internal clock
               of the jukebox.

  Their datatypes can be documentet with a brief look at
  time.c

  (p 44)

  The data file tag size sent in the data phase includes
  the four padding zero bytes.

  --- Already sent to John: ---

  Status codes (p 15):

  Add for playback:
    0x40  NJB_ERR_QUEUE_ALREADY_EMPTY

  EAX block structure (p 13):

  The blocks named:
    number of spatializations, nspat
    active spatialization
    nspat x spatialization frames
  Is actually:
    number of headphone modes, nphone
    active headphone mode
    nphone x headphone frames

  Also it should be noted that effect, headphone,
  and rear frames are actually just a sequential 
  list of strings with the names of the mode at
  indexed position.

  Adjust sound (p 53):

  The table of effect bytes:
    0x01 -- Volume value is between 0 and 100
    0x08 -- Amount of current EAX effect a value between 0 
            and 100
            note that a change actually changes the
            amount of ALL effects, not just the current
            one. The EAX structure will hold the same
            value for all effects afterwards. (Atleast
            with Firmware 2.93.)
    0x0b, 0x0c -- these must have a meaning too, but I
            just cannot decipher it... Tried all kind of
            input I could think of.

* Problems with LIBNJB:

  These functions seem not to like if you (softwarewise) captures/opens and
  closes/releases the jukebox too much:

  * NJB_Delete_Track
  * NJB_Update_Playlist
  * NJB_Delete_Playlist

* Things that would be good in LIBNJB:

  If
  playlist_deltrack (playlist_t *pl, unsigned int pos);

  Took a track ID instead if a position, would be good:
  playlist_deltrack (playlist_t *pl, u_int32_t trackid);

