Hello,

This is an assistance request formulated as a bug report for clarity (it might be an actual bug, after all).

Summary On Xubuntu 13.10 64-bit, it is observed that gmusicbrowser doesn't deal with all expected formats.

Context

Available files have various extensions (.mp3 .mp4 .ogg .m4a .wav .OGG .MP3 .flac .mp2).
All files can be played with e.g. gst123, so they can be played by gmusicbrowser too, can't they ?
tested mp3 files have tags.
tested mp4 and m4a files have no tags.
the .mp2 file is actually an MPEG Layer 3 with tags.

How to reproduce

Drop files in gmusicbrowser main window from file manager.

Expected behavior

All files are added to current playlist

Observed behavior

Files with these extensions are added to playlist: .mp3 .ogg .OGG .MP3 .flac

Files with these extensions are not added to playlist: .mp4 .m4a .wav .mp2

Additional information

Version is 1.1.10-0ubuntu1. It is patched a little by Debian/Ubuntu . I reviewed them, nothing seems related to the issue (patches downloadable on http://archive.ubuntu.com/ubuntu/pool/universe/g/gmusicbrowser/gmusicbrowser_1.1.10-0ubuntu1.debian.tar.gz link retrieved from http://packages.ubuntu.com/saucy/gmusicbrowser ).

Launching gmusicbrowser from command line allows to see stdout/stderr.

When darg-n-dropping a MP4 file with .m4a extension this appears :


Reading Tag for /somepath/somefile.m4a
error, can't read file or not a valid m4a file
can't read tags for /somepath/somefile.m4a
Error reading tag for /somepath/somefile.m4a


As stated above, tested mp4 and m4a files have no tags.

In all other cases, nothing appears.



This appeared once but not every times:


Use of uninitialized value in substitution (s///) at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2008.
Use of uninitialized value in substitution (s///) at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2008.
Use of uninitialized value in substitution (s///) at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2008.
Use of uninitialized value in pattern match (m//) at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2009.
Use of uninitialized value within @MissingKeyFields in join or string at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2011.
Use of uninitialized value within @MissingKeyFields in join or string at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2011.
Use of uninitialized value within @MissingKeyFields in join or string at /usr/bin/../share/gmusicbrowser/gmusicbrowser_songs.pm line 2011.
Use of uninitialized value in transliteration (tr///) at (eval 72) line 37.
Use of uninitialized value $val in substitution (s///) at (eval 72) line 37.
Use of uninitialized value in subroutine entry at /usr/bin/gmusicbrowser line 625.
Use of uninitialized value in transliteration (tr///) at (eval 72) line 137.
Use of uninitialized value $val in substitution (s///) at (eval 72) line 137.
Use of uninitialized value $val in hash element at (eval 72) line 138.
Use of uninitialized value in transliteration (tr///) at (eval 72) line 143.
Use of uninitialized value $val in substitution (s///) at (eval 72) line 143.
Use of uninitialized value $name in concatenation (.) or string at (eval 72) line 144.
Use of uninitialized value $name in string eq at (eval 72) line 144.
Use of uninitialized value in pattern match (m//) at (eval 72) line 148.
File '/someotherpath/somefileinexistingcollectionnotrelatedtotheonedropped.mp3' does not exist.
can't read tags for /someotherpath/somefileinexistingcollectionnotrelatedtotheonedropped.mp3



Request : how to ensure .mp4 files and .m4a without tags are included in collection like any other ?

Thanks !


Created a second pull request for the second (and last) issue:

Accept MPEG4 files without ilst box. by fidergo-stephane-gourichon · Pull Request #64 · squentin/gmusicbrowser

I observe that these two pull request fix the issues on my machine, and believe they are a correct fix in general.

Please tell me if they are.

Thank you for your attention.