This Diff includes 2 fixes.
1) I was getting an incomplete list of all the tracks
stored on the device, and tracked the problem down to
the alignment of the "request more track info". I
added code to check and fill another buffer of USB data
if this occurs.
2) I was having the code seg fault during playlist
retreival. This was caused by a playlist that had the
first word == 0x0 instead of == 0xe as expected. This
was a full playlist that contained more than 1 buffers
worth of tracks, and the code would crash when it
requested the next playlist and instead got the
continuation of the last one. The code was modified to
accept both 0xe and 0x0 as valid playlists.
Note: I haven't tested this against an empty playlist,
so there may be a new problem there.
This is based upon the 1.0.1 code download.
These problems were found on and tested against a
Creative Nomdad Jukebox Zen XTRA (40GB).