Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: External Tags (Read 81320 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Re: External Tags

Reply #175
1.0.16.2 working great here;  appreciate the changes you made as to how the context menu is handled for streams with/without tags, thanks Case!  This thing is a real piece of work.

Re: External Tags

Reply #176
One last thing (I hope! God I'm annoying): would it be possible to show the "edit file tags" menu regardless of whether or not external tags exist? Mostly for the consistency.

Re: External Tags

Reply #177
Bug:
folder.tags not updated when fb2k renames files.

Version 1.0.16 from the repository. (This behaviour encountered in earlier versions as well.)

Re: External Tags

Reply #178
Porcus, I saw a problem when directory name changes as the path in the callback no longer had tag data. When only filename was renamed I saw no issues. Path change scenario is now handled in the new test version and I added automatic refresh for the metadata for rename cases too.

Nisto: that request makes sense. Implemented that too in the new test version.

Edit: attachment removed - new version with the changes has been released.

Re: External Tags

Reply #179
when directory name changes

Oops, I did not think over that: yes I might have used Move and changed directory name. What I did when I discovered it, was to open folder.tags in Notepad++ and find that the old filenames (but not the new) were still referenced. But of course, as Move moves other files, including folder tags ...

(Speaking of which: would it break major functionality to insert linebreaks and have one line per track in folder.tags?)

Re: External Tags

Reply #180
(Speaking of which: would it break major functionality to insert linebreaks and have one line per track in folder.tags?)
It's binary data and the tag reader parses the file based on lengths stored before each string. If extra characters are added the parser will see wrong lengths and will stop parsing as soon as the data doesn't match expectations. If field lengths are fixed to account for the extra newline character(s) they will be read into a tag value by old component.

I wouldn't want to break compatibility especially as I'd also have to support reading the current format.

Re: External Tags

Reply #181
removed

Re: External Tags

Reply #182
Hi!
Case: I noticed that the component v1.0.16 (It is not typical for v1.0.16.2(3)) does affect the video playback on HLS links (foo_youtube). When the decoder (reader) is on, some links stop playing (an error appears), or the video playback slows down.
For testing, I am attaching the HLS link: http://bcliveuniv-lh.akamaihd.net/i/iptv1_1@194050/master.m3u8
When the decoder is turned off, video playback is performed normally.

Re: External Tags

Reply #183
I don't see external tags being involved at all. Process Explorer's thread view shows pretty much only foo_input_ffmpeg and foo_youtube running. Also I don't have video working reliably even with foo_external_tags uninstalled.

Re: External Tags

Reply #184
Perhaps agree. The behavior of HLS links is unstable and possibly independent of the component. Still testing and still not established dependency.

Re: External Tags

Reply #185
Nisto: that request makes sense. Implemented that too in the new test version.

The "edit file tags" menu is only available if >100 files are selected (or if external tags already exists). Could you fix this?

Re: External Tags

Reply #186
The "edit file tags" menu is only available if >100 files are selected (or if external tags already exists). Could you fix this?

That's strange, I'm using 1.0.16.3 and right-clicking a single file or single stream on a playlist does show "Edit file tags" as a submenu of Tagging;  this for files with or without an external tag.  Of course it is selected as a context menu display option in Preferences as I assume yours is also?


Re: External Tags

Reply #187
There is a bug indeed but not the way Nisto says. I have left the option always visible but I should disable it for streams and archives as those have no native tagging.

Edit: Nisto, are you sure you downloaded the right attachment? I didn't remove the old one this time and it sounds like you installed .2 instead of .3.

Re: External Tags

Reply #188
You're right, I somehow thought I had been using the attachment in post #178 for the past couple of days, and could've sworn I even downloaded that attachment more than once. But apparently not, because now it works. What the hell is wrong with me..

Sorry for the false alarm.

Re: External Tags

Reply #189
Test versions taken down as I released a new version with the changes. The file move issue Porcus reported with folder tags also affected APE tags so that was fixed too. Only other change from the third test version is that "Edit file tags" menu isn't shown when only selecting streams or archives.

Re: External Tags

Reply #190
Question: how is the component supposed to work with "/" in ID3 tags? ID3 was invented by someone who didn't know enough about music to think about AC/DC ...

Feature request - although I am a bit hesitant to post such, given the work you have to put into it:
Is there a way from within foobar2000 to check if the media file is more recently updated than the tags file - or has different tags? Reasons:
* Tagging with other applications. Picard, MP3Tag, CUETools ...
* General robustness towards errors or mistakes or "potentially unwanted" behaviour. (Inter alia, the "/"?)

 (btw, I fully understand the backwards compatibility concern, but with all this testing I have had so many .tags files open in Notepad++ for human reading ...)

Re: External Tags

Reply #191
Question: how is the component supposed to work with "/" in ID3 tags? ID3 was invented by someone who didn't know enough about music to think about AC/DC ...
I don't think I understand the question. Since the component doesn't parse tags itself but uses metadata provided by foobar2000 the slash is read as foobar2000 sees it. If foobar2000 interprets artist as AC/DC that's what external tag will contain. If it gets read as two fields AC and DC, external tag will include two artist fields.

Is there a way from within foobar2000 to check if the media file is more recently updated than the tags file - or has different tags?
How would such info be presented? I imagine it would need a new dialog showing the track and differences between the two tag sets. It wouldn't be pretty with my skills.

Re: External Tags

Reply #192
I don't think I understand the question.

I am not sure if I understand the issue either, which was the reason for the vague "how is ... supposed to ..." question.
I'll do some more testing.


How would such info be presented? I imagine it would need a new dialog showing the track and differences between the two tag sets. It wouldn't be pretty with my skills.
From an end-user point of view, a query for files-newer-than-tags would do - but I have no idea whether that is implementable at all.



Re: External Tags

Reply #193
Test version with a new context command for finding tracks edited since external tagging. If it finds such tracks it will create a new playlist and place the findings there.

Edit: Attachment removed.

Re: External Tags

Reply #194
OK, I found the "issue" with the "/", and it seems "independent of" External Tags: If I force MP3 files into ID3v2.3, it seems that Tom / Dick / Harry becomes a multivalue field. So if fb2k
- has Tom / Dick / Harry
- creates External Tags out of that
- commits to files
it does sometimes happen that it comes out as multivalue and reads Tom; Dick; Harry.

But, I provoked the same to happen by "Rewrite file tags" without invoking External Tags. @Peter , is this expected behaviour?


Test version with a new context command for finding tracks edited since external tagging. If it finds such tracks it will create a new playlist and place the findings there.

All testing for this post done with that. Seems to work.

Re: External Tags

Reply #195
Seems to work.
Meaning: new functionality seems to work, no change detected in old behaviour. Including the "/".

Edit: Although ... now it seems easier to make fb2k unresponsive? More things stuffed into the "main" thread or whatever it is called?

Re: External Tags

Reply #196
The new function runs in main thread for simplicity. If it's what you want and you find it useful I can move it to its own thread.

Re: External Tags

Reply #197
Version 1.0.18 up with the new search function moved to its own thread. Also fixed a bug with reading back ReplayGain info from non-subsong enabled external APE tags.

Re: External Tags

Reply #198
Okay, here's a problem: if you select a set of audio files where only one of them contains a certain tag and you remove it (via "Edit External Tags"), it will only create a .tag file for the one file that contained the tag. I would've preferred it created a .tag file for all files, even if there's technically no change for some.

Re: External Tags

Reply #199
That's how properties dialog works. It doesn't call tagging functions unless something actually changes. I have been trying to tell about that since the 10th day. You wanted Edit command not to write anything until Properties dialog confirms the write and now it's implemented. But remember that I also added a "Create External Tags" command that will force-write external tags to tracks. The command is hidden by default so seeing it requires holding shift when opening the menu or ticking its checkbox in context menu preferences to make it always visible.