Skip to main content


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 67950 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Re: External Tags

Reply #200
A yesterday's update introduces a new bug: Context>Edit External Tags doesn't create folder.tags => Any further edit writes directly to audio files. Having the prefs to prefer folder tags, write stream tags to SQlite and read any format.

Damn, I forgot to read changelog, delete this post.

Re: External Tags

Reply #201
I didn't even consider that scenario, I was so accustomed to people using the Edit menu for all external tag editing. Hope you didn't ruin anything permanently.

Re: External Tags

Reply #202
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.

ID3v2.3 specification says that multi value fields are to be delimited with forward slashes. Real support for multi value fields was introduced with 2.4.
foobar2000 slightly bends the spec by delimiting the multi value fields with " / " (with the spaces), so actual artist names with slashes do not become multiple artists.
Microsoft Windows: We can't script here, this is bat country.

Re: External Tags

Reply #203
Heh, I've just tested the component without reading much into it (bravo me). I chose the sqlite option, because I love the idea of a neat .db file with all my extra info in there. And only then I noticed that external tags supersede the file tags. Looks like I was rather thinking about a use case I found posted here earlier:
Hi, is it possible to implement the addition of selective tags to an external file, and add the rest of the tags as usual? (For example, to save personal or confidential tags separately from the music file). Thanks.
Likewise, I thought about using external tags as something additional only for my personal purposes, like ReplayGain data, maybe my own set of ratings, tags, moods, comments or anything else that wasn't intended by the artist.

In the end it's not a big deal. Just a little bit redundant in my scenario because I will be left with a whole library of music files with [basic set of tags like artist, title, date] and quite a huge .db file with exactly the same [basic set of tags] + [some additional custom info].

Still, it's a great component, long sought after. Thanks!

Re: External Tags

Reply #204
Hi, I hope this is the correct place to ask. If this issue has been addressed already I apologise but I couldn't find reference to it earlier in the thread.

I recently updated foo_external_tags to 1.0.19, though this may be coincidental as I also updated foobar2000 to 1.4.1. I have recently noticed that many of the external tags I have created in the past are no longer recognised in foobar2000 playlists - fields are appearing empty. It seems like it may only be certain formats that are affected, most notably modules (foo_dumb) and VGM (foo_input_vgm) in my experience. Example:

When I select the "Edit External Tags" option for songs I know to have external tags like in the above screencap, it's clear that the tag info is safe, but I don't understand why it isn't propagating to playlists automatically. Manually selecting the Edit External Tags -> Reload Info option doesn't work either, and I expected it would, the only thing that does restore the external tags is to modify them to 'force' them to re-propagate. For practical reasons I would prefer not to have to carte-blanche modify (presently) 4,000 or so TAG files to add & then remove arbitrary junk data; is this my only option for getting them to re-propagate in playlists or is there a more elegant solution & explanation for why these tags aren't being picked up without intervention? I've also uploaded one example below if it could help diagnose the issue, though of course no guarantee it'll manifest the same problems on other computers as I'm not sure whether the source of the issue is this component or the main application.


Re: External Tags

Reply #205
The problem could be caused by having wrong decoder priorities. Open preferences and verify on the playback -> decoding screen that "External Tags (reader)" is at the top.

Re: External Tags

Reply #206
Aha, thank you Case! That was indeed the problem, though it isn't clear how the tag reader fell lower down the order of priorities - I'll keep an eye on this in future. Fortunately it was only foo_openmpt (actually) and foo_input_vgm that were higher priority so only those files need info reloaded.

Re: External Tags

Reply #207
Hi and thanks for this wonderful component and your hard work. It is much appreciated.
A few questions from me and please excuse my ignorance.
1. How can I enter a multivalued tag using external tags? Use the " / " separator? Something else?
2. I notice a bug when choosing File Operations > Copy to... on a file that has an external tag. The file copies, but the folder.tags file is not also copied to the new folder.

Once again thanks for your work and looking forward to use this component heavily (it is a life saver and better IMHO than m-tags).

Re: External Tags

Reply #209
Multivalue field separator is semicolon (;). The component uses standard properties dialog so same rules apply to external tags and regular tags.
Tag value copying isn't implemented. I assumed it isn't necessary. If you think it would be useful I can add the feature. But I can't think of use for track copying that doesn't involve taking the files away from current foobar2000 instance so it won't be added to SQLite database.

Re: External Tags

Reply #210
Tag value copying isn't implemented. I assumed it isn't necessary. If you think it would be useful I can add the feature.

Thanks Case. This feature would be useful, but not critical (at least to me). I am also not sure of the amount of work it requires. If it is easy, it could perhaps be added as a checkbox option in Advanced properties...something like "Copy external tag file(s) on file copy/move operations".

There is something else I discovered. I think it is a bug, unless I am misunderstanding something.
The issue is that when writing directly to the file's tags using the "Edit file tags" context menu command, the changes are not visible if I invoke again "Edit file tags" to do another edit.

To replicate:
  • Select a song on the playlist, right-click and choose Tagging > Edit external tags.
  • Add a new tag, let's say BPM and give it a value.
  • Use Tagging > Reload from file
  • Now invoke Tagging > Edit external tags again. You will not see the BPM tag that was added in Step 2, but if you right-click and choose properties the value is there.

If your restart foobar2000, then "Edit external tags" will show the value.

Alternatively, if we had set the tag via Right click > Properties, it would be immediately visible when using Edit file tags.

Hope I explained it clearly.

PS: In case it is important, I am doing these tests on FLAC files and under Preferences > Advanced > Tagging > External Tags I have selected the option "Use only folder tags...)

Re: External Tags

Reply #211
Adding tag writing for file copying isn't too much work. I can do that for the next version. But I seem unable to trigger the problem you described. Are the steps perhaps mixing up file tag editing and external tag editing? Editing file tags should produce no visible changes in foobar2000 for a file that has external tag present.

Re: External Tags

Reply #212
Hmm...I will try to describe this a bit differently.

  • Load one or more songs that have no external tags, whatsoever, in foobar. All tags of these songs are embedded in the actual files and only there (a very typical scenario).
  • Now use the context command "Edit file tags" to change something. Maybe erase a tag or add a new one. I am assuming here that the "Edit file tags" command is supposed to be writing tags in the file. As an example, see image below, where I am adding the tag "Context" with a value of "Party"

  • Click apply. When I do that, the tag disappears as below (this does not make sense to me).

  • Close the properties dialog box and use the context command "Tagging > Reload Info from file(s)". The effect of this is that the newly entered tag now appears in Playlist view, as below:

  • Finally, repeat step 2, that is, use again the context command "Edit file tags" to bring up the Properties dialog box. The tag is not there. I see again image 2, even though Playlist view shows the tag
  • Restart foobar, the tag now shows everywhere, both in Playlist view and Properties dialog box.

I would expect the tag to show everywhere immediately after I enter it and reload the tags from file. I also would expect that it does not disappear when I press the Apply button. For the record, External Tags (reader) is first in the Decoding priority and External tags (Writer) is last (From what I am reading I suppose that's the way it should be. I installed external tags as my last component to make sure I get this order).

Re: External Tags

Reply #213
Fixed version released. Also implemented the external tag copying.

Re: External Tags

Reply #214
A bug is here with latest update: when creating external tags for CUEsheet items, the original tags are copied+preserved only till first change. After that all items have the same name as 1st one (not changeable).

Re: External Tags

Reply #215
Thanks for reporting. I feared the way I fixed the refresh issue would have side effects and now I know what those were. Fixed the refresh issue in a better way to get subsong formats working again.

Re: External Tags

Reply #217
I have an issue. I have a MP3 file with external tag. I want to replace the MP3 file with better quality (e.g 128 to 320 kbps) and keep using the tag file. All tag looks fine but general info still use info from old file, Any solution without recreate the external tag? thanks.

I'm sorry. I believe I did see this, but when I try to recreate the issue with other file, it doesn't happen.

Re: External Tags

Reply #218
If you do that and see old info, just reload tags from properties dialog or shift+clicked tagging menu.

Re: External Tags

Reply #219
How add tags to the CUE sheet (*cue.tag) automatically when adding from the library?

How disable properties window call when "Create external tags"?

Re: External Tags

Reply #220
There is no automatic tag creation implemented and I see no reason to add such a thing.

There is no option to disable properties dialog opening. You can use the dialog to verify that all tracks got external tags and make any changes you wish. Or just close it instantly if there's no need for that. I could add a setting for this behavior if it is a huge bother.

Re: External Tags

Reply #221
I see no reason to add such a thing
I can not mark  favorite tracks (Mood), for example in this playlist :
without * .cue.tag
At the same time
Super Audio CD Decoder - creates (Editable Tags) automatically.
And it's really comfortable.
I could add a setting for this behavior

Re: External Tags

Reply #222
You can force External Tags to take over cue sheet tagging by adjusting decoder priorities in Preferences. Drag "foobar2000 Cue Sheet Reader" below the "External Tags (writer)" and any tagging you try to perform with cues will go to external tags.

I uploaded a new version with possibility to disable properties dialog opening when creating tags. The new setting - like all the other options - can be found under Preferences -> Advanced -> Tagging -> External Tags.

Re: External Tags

Reply #223
You can force External Tags to take over cue sheet tagging by adjusting decoder priorities in Preferences. Drag "foobar2000 Cue Sheet Reader" below the "External Tags (writer)" and any tagging you try to perform with cues will go to external tags.
Thank! This is what I need.

Re: External Tags

Reply #224
I uploaded a new version with possibility to disable properties dialog opening when creating tags. The new setting - like all the other options - can be found under Preferences -> Advanced -> Tagging -> External Tags.

This feature doesn't seem to be working for me, unless I am misunderstanding how it works. I've unchecked the "Open properties (...)" option in Preferences, yet I'm still able to open the properties dialog and make changes to files for which external tags already exist (this is a concern with VGM, as certain fields can be edited natively whilst others cannot.) This could be a great and very useful feature because I often (habitually) open the properties dialog by mistake, instead of the edit external tag dialog, and would like to be prevented from doing that once I have the external tags. Can't figure out what I'm doing wrong though?