Package: gnump3d Version: 2.9.9.9-2 It's seems that when giving a root directory for gnump3d with and ending slash, e.g. '/opt/music/' lookups in the tag-cache will fail when m3u files a generated in advanced_playlists are used. The reason for this is that the tag-cache lookup strips double '/', and when generating the m3u files the hash-lookup on the cache's return value fails, since the key (the filename) is stored with double-'/' stripped, and the lookup still contains the double '/''s.
Patch attached. Kind regards Jesper L. Nielsen
--- usr/bin/gnump3d 2006-11-04 19:19:27.000000000 +0100 +++ /usr/bin/gnump3d 2007-08-30 15:25:05.000000000 +0200 @@ -1584,10 +1584,10 @@ $tags = getSongDisplay( $file ) . "\n"; if ( not ( $tags =~ /^#EXTINF/ ) ) { - # fall back to just getting the length and filename - $tagCache->setFormatString( "#EXTINF:\$SECONDS,\$FILENAME" ); + # fall back to just getting the length and filename + $tagCache->setFormatString( "#EXTINF:\$SECONDS,\$FILENAME" ); - $tags = getSongDisplay( $file ) . "\n"; + $tags = getSongDisplay( $file ) . "\n"; # # Remove any leading path @@ -2762,6 +2762,15 @@ { my ( $file, $format ) = ( @_ ); + # Remove double slashes, needed because the formatMultipleSongTags + # does this, and if we don't the $TAGS{ $file } lookup will fail + # because the filename stored (without double '/') doesn't match + # the $file variable here (possibly containing double '/'). + while( $file =~ /\/\// ) + { + $file =~ s/\/\//\//g; + } + # # If we're hiding song tags just display the filename if ( $hide_song_tags )