Have hit also another possible limit, but not sure if the
problem it's on the GMini itself reading the library or in
generating it with jbmgen.
Files with path components (dirnames of filenames)
longer than 64 characters cannot be played from the
library, while play fine from the browse mode on the
GMini.
Dir names > 64 characters have problems only when 2
dirs with the first 64 characters identical (difference is
past 64 chars). Found the case with some double
albums. Then only titles from one of them can be
played, while the others show on the list, but cannot be
played.
Easy workaround is simply renaming the directories to
have even only 1 difference into the first 64 characters.
Then jbmgen generated library not only shows the titles,
but all of them are also playable.
File names > 64 characters (not the full path, but
strictly the file name, and without counting the
extension -.mp3, e.g.) are simply not playable from the
library screens. Titles are shown normally (taken from
ID3 tag), but clicking does not play them, simply returns
to the title list. No need to have any other file with the
same initial string, depens on each file alone. When
using file browse mode, they are playable without
problems, no matter how long is the filename or dirname
(have observed anyway that only 64 characters from
the tag are shown on Archos screen).
Workaround is also very simple, rename them to have 64
or less characters. Title appears fine anyway as is taken
from the ID3 tag (and can be more than 64 chars, no
problem on this).
Have checked the library file itself to see if jbmgen could
be truncating the strings on the path dictionary to 64
characters. For what I have seen, seems not the case,
the full strings appear there. Don't know if any other
element (like pointers or count fields) written from
jbmgen could be responsible of this.
Likely the problem is in the Archos itself, and the code
used to read and operate from the library file. In this
case, not much can be done from jbmgen, except
perhaps printing warnings while generating the library on
the dangerous path components, so the user can take
action and rename the files or dirs (it's mostly harmless,
the library shows the tag information and this is not
changed).
Let me know if I can help to further debug the issue.
Logged In: YES
user_id=1205325
Independently of further investigation, these modifications
will show warnings for path components and filenames longer
than 64 characters during the library build phase:
bash-3.00$ diff FileEntry.rb*
108,112d107
<
< if @filename.length > 64
< print "Warning Filename > 64: ",@filename
[0..63],"|",@filename[64..-1],"\n"
< print "Warning into Dir: ",@path,"\n"
< end
bash-3.00$ diff Path.rb*
56,58d55
< if dir.length > 64
< print "Warning Pathname > 64: ",dir[0..63],"|",dir
[64..-1],"\n"
< end
Sure than someone more expert in the application and on
Ruby will be able to improve this, or locate it in a more logic
place.