no recognition of updated id3 in exaile v3.4.0 #11

Closed
FiSHYsolutions opened this Issue Nov 7, 2014 · 15 comments

Projects

None yet

2 participants

@FiSHYsolutions

exaile v3.4.0 doesn't recognize updated id3v2.4-tags of imported mp3-files. i always have to drop the whole exaile-database and import the music-library again to get the updated tags.

@virtuald
Contributor
virtuald commented Nov 7, 2014

Have you tried the 'rescan collection' option in the menu?
Also, when setting up the collection, if you tell it to 'monitor' and 'scan at startup' it should also update the tags automatically.

@FiSHYsolutions

yes, i tried both without success.

@virtuald
Contributor
virtuald commented Nov 7, 2014

Hm. That always works for me. What OS -- I think you said Ubuntu previously? Can you run exaile from the command line, are there exceptions anywhere in the output when you do 'rescan collection'?

Also, on the command line, you can use 'mutagen-inspect /path/to/file' to actually check the tags on the file -- just to make sure that they actually changed.

@FiSHYsolutions

OS: xubuntu 14.04.1 lts

output of an example file:

bash$ mutagen-inspect Gold.mp3 
-- Gold.mp3
- MPEG 1 layer 3, 128000 bps, 44100 Hz, 267.31 seconds (audio/mp3)
APIC=cover.jpg (image/jpeg, 39803 bytes)
COMM=='\x00\x00\x00'=Chet Faker reworked by Flume
TCON=Electronic
TIT2=Gold
TPE1=Flume

as far as i see in the output above, there is no album-name, which would be correct. but if i open exaile it scans for a very short time and show the album-name still as "misc" (what i set previsouly for testing). so the lib is IMHO scanned, but not updated.

btw, i use EasyTAG v2.1.10
the output of exaile while opening from CLI:

bash$ exaile 
INFO    : Loading Exaile 3.4.0 on Python 2.7.6...
INFO    : Loading settings...
INFO    : Using de_DE UTF-8 locale
INFO    : Loading plugins...
INFO    : Loading collection...
INFO    : Loading devices...
INFO    : Connected to udisks2
INFO    : Loading interface...
INFO    : Using GTK+ 2.24.23
INFO    : Loading main window...
INFO    : Connecting main window events...
INFO    : Loading panels...
INFO    : Connecting panel events...
INFO    : Done loading main window...
/usr/lib/exaile/xl/main.py:316: Warning: unable to set property 'rating' of type 'gint' from value of type 'gchararray'
  self.gui.main.window.show_all()
INFO    : WARNING: could not open podcast file
INFO    : Scanning library: file:///home/fish/Media/Music
INFO    : Playing file:///home/fish/Media/Music/Flume/Afterlife.mp3
/usr/lib/exaile/xlgui/__init__.py:58: Warning: unable to set property 'rating' of type 'gint' from value of type 'gchararray'
  gtk.main()
INFO    : Scan completed: file:///home/fish/Media/Music
INFO    : Exaile is shutting down...
INFO    : Disabling plugins...
INFO    : Saving state...
INFO    : Bye!

(after "scan completed" exaile stayed open for few minutes before i closed it)

@virtuald
Contributor
virtuald commented Nov 7, 2014

Oh interesting, so you're completely removing the tag. Does this also happen when you change the tag (but not remove it)?

@FiSHYsolutions

i have no idea, what you're talking about :)

my EasyTag doesn't write ID3v1 (i disabled that). usually i have untagged mp3's and use EasyTag to write "only the information i have" as ID3v2.4 (mostly title, artist, maybe album, title, maybe year, genre, cover, maybe comment, nothing else).

in the case above (Gold.mp3) the track had "misc" as album-name in id3v2, i cleared this entry with easytag, saved the file and scanned exailes lib. but exaile didn't recognize this change.

edit:

i tried it again and changed the empty album-name to "foo". exailes behaviour is the same (no recognition of the change), but for your interest the mutagen-out:

bash$ mutagen-inspect Gold.mp3 
-- Gold.mp3
- MPEG 1 layer 3, 128000 bps, 44100 Hz, 267.31 seconds (audio/mp3)
APIC=cover.jpg (image/jpeg, 39803 bytes)
COMM=='\x00\x00\x00'=Chet Faker reworked by Flume
TALB=foo
TCON=Electronic
TIT2=Gold
TPE1=Flume
@virtuald
Contributor
virtuald commented Nov 7, 2014

Right. What I'm asking, is instead of completely clearing the tag, can you change it from 'misc' to 'something else', and see if exaile recognizes that change?

If it does recognize that, then it just means that exaile doesn't recognize tags disappearing -- which is a more specific thing to diagnose/fix. However, if it doesn't, then its a bigger problem (since changing tags externally works for me).

@FiSHYsolutions

now i did the following:

step 0)
have a lot of mp3's ... one of them is Gold.mp3 with album-name "foo"
exaile doesn't know that, it thinks the album-name is unknown.

bash$ mutagen-inspect Gold.mp3 | grep TALB
TALB=foo

step 1)
drop the stuff nobody needs:
bash$ rm -r .cache/exaile/ .local/share/exaile/

step 2)
opening exaile, add a library (the path i always use) and scan it
now exaile knows the album name of Gold.mp3 is "foo"
so far so good, i close exaile

step 3)
opening EasyTag to change the album-name of Gold.mp3 from "foo" to "something else"

bash$ mutagen-inspect Gold.mp3 | grep TALB
TALB=something else

step 4)
opening exaile again and it scans the lib automaticlly, but the album-name is still "foo"

step 5)
i do a manual scan of the library, nothing changed, the album-name is still "foo"

@virtuald
Contributor
virtuald commented Nov 7, 2014

Alright, thanks for the information. We had some problems with this stuff in the past, but I thought it had been fixed.

@FiSHYsolutions

i got an exaile-update right now to v3.4.1
for docu reasons and to whom it may concern: the problem still exists

@virtuald
Contributor
virtuald commented Nov 9, 2014

I'll try to look at this tonight.

@virtuald
Contributor
virtuald commented Nov 9, 2014

I am able to duplicate this bug with EasyTag 2.24 -- but not with the default settings.

With the default settings of EasyTag, when a collection is being monitored, Exaile receives a notification that the file changed. Exaile does not currently update the file immediately -- this bug I will track down and fix. However, when the collection is rescanned, Exaile correctly updates the file's album.

However, EasyTag has an option 'preserve modification time of the file'. If this option is enabled, Exaile does not detect that the file changed -- as it caches the modification time of the file, to make rescans more efficient. If you have this option enabled, I don't see a reasonable way for Exaile to determine that the file has changed. This bug was previously reported on our old bug tracker: https://bugs.launchpad.net/exaile/+bug/312151

@virtuald virtuald closed this in 59a448e Nov 9, 2014
@virtuald virtuald added a commit that referenced this issue Nov 9, 2014
@virtuald virtuald Add option to force a rescan of all files, which is slow
- Fixes #12, also should address concerns raised in #11
04891d7
@virtuald
Contributor
virtuald commented Nov 9, 2014

Ok, please install from the master branch, it should address all of your concerns. I added a 'slow rescan' option, which will manually scan every file in your collection, regardless of mtime.

@virtuald virtuald self-assigned this Nov 9, 2014
@virtuald virtuald added this to the Exaile 3.4.2 milestone Nov 9, 2014
@FiSHYsolutions

i want to confirm that. obviously my mistake. the default setting in easytag is to keep the modtime of the file (i'd never thought about that setting before). i disabled this option and exaile v3.4.1 updated (after rescan) the required id3-fields. anyway, an additional slow-rescan-option is a useful layer-8-gimmick. thanks a lot for your work.

@virtuald
Contributor
virtuald commented Nov 9, 2014

Excellent. Also, I added a 'frequently asked questions' section to the user guide, and included this there in case it comes up again: http://exaile.readthedocs.org/en/latest/user/faq.html#file-tags-don-t-update-when-i-change-them-using-an-external-program.

@virtuald virtuald added a commit that referenced this issue Nov 17, 2014
@virtuald virtuald Add option to force a rescan of all files, which is slow
- Fixes #12, also should address concerns raised in #11
175cb69
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment