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 82477 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: External Tags

Reply #275
On fb2k v1.4.6, updated external tags, some decoders, masstagger. Foobar starts crashing on startup.
Do you have any crash logs about this? I don't see any submitted crashes from the recent versions of foo_external_tags.

Unrelated to crashing but it looks like at least the latest 1.5.3 version fails showing external tags for me on 1.4.6. Apparently I need to keep the old version around for testing if this kind of accidents can happen.

Now, a large amount of my files don't have their tag files read in the library (my autoplaylists are all incorrect).
Library seems to ignore the filter info. Thanks for reporting.

Re: External Tags

Reply #276
I had forgotten to change the SDK to target foobar2000 v1.4 so some features of the component didn't work correctly. foobar2000 v1.4 was most seriously affected as the component appeared to be entirely non-operational.

I also made a mistake with my previous post where I mentioned that library seems to ignore filter info. Library shows information correctly but I made a silly mistake testing that.

There's a new version of the component out that fixes some issues and now uses properly configured SDK. Direct file manipulation functions like "Edit file tags" and "Commit external tags to files" should now work again - though they work best with foobar2000 v1.5 beta 11 that should be out soon.

If @bigexplosions still has problems with the new version please post back.

Re: External Tags

Reply #277
Case, FYI
an attempt to add a picture for streams creates an external tag automatically, right?
But the external tag created in this way does not support dynamic info $meta(genre) and $meta(url) fields.
However, an external tag created using the Сreate External Tags command works as expected.

Re: External Tags

Reply #278
Thanks for the problem finding. The fallback art writer will now create an external tag from existing info automatically so metadata won't get blanked in this case.

Re: External Tags

Reply #279
There is an option in foobar 2000 preferences:
  • Preferences window
  • -> Advanced tree section
  • -> Tagging
  • -> General
  • -> Preserve file creation/access/modification time when retagging

This option, being set, along with foo_external_tags preferences set to "Use only SQLite (fastest)" and "Always write external tags in preferred format" (I listed only relevant, as I see it, foo_external_tags options), leads to tag update error, when "OK"/"Apply" button is pressed in Tagging -> Edit external tags window (after changing any tag value): One file could not be updated: Invalid path with following information in status log:
Code: [Select]
Could not update info on:
exttag://(fy+https://www.youtube.com/watch?v=XXXXXXX)
Reason: Invalid path

Which is understandable, though it would be nice to somehow fix either foobar2000, or foo_external_tags to not produce this error.
Thanks for reporting. Latest version of the component has a filesystem wrapper for my custom protocols and this operation will no longer fail and timestamp preservation works when using "Tagging" -> "Edit file tags" command. Also next version of foobar2000 has a generic fix so timestamp manipulation failing will no longer abort the entire operation.

Re: External Tags

Reply #280
Probably this is bug or unintended behaviour.
When updating embedded cover art in TAK audio, new external tags are always created and the artwork is stored there. TAK audio has a full decoding and tagging support given by TAK decoder plugin (in decoders list it's positioned above External Tags). If I disable ET writer, the artwork is normally stored in the tags, so it's no problem with the TAK component. Still working.

Re: External Tags

Reply #281
Interesting. This could be a foobar bug or by design. The mishap doesn't happen when the decoder properly sets art support to use the GUIDs from the input as the priorities match decoder priorities. Without matching GUIDs there is no defined order.
I had a version of my alternative TAK decoder with explicit album art support but I never released it as it didn't appear necessary. But now I see that it is. If you don't mind switching you can fix this issue by using TAK Decoder (alt).

Re: External Tags

Reply #282
Fixed. It required an album art editor implementation, handily supplied by Case. I also replaced the original reader with the v2 one he supplied.

Previously, there was only an extractor/reader, not an editor/writer.

Re: External Tags

Reply #283
Thanks for the quick fix

Re: External Tags

Reply #284
Hello, can this component tag Spotify tags retrieved by the foo_spotify component? I am just asking if it is possible by now. When I tried to add the BPM tag I had to get it calculated manually, after that I tried to add the BPM field via Tagging > Edit external tags menu command. The problem is my changes aren't accepted and the Properties dialog is being invoked again and again until I click Cancel.

Re: External Tags

Reply #285
I don't have Spotify but it should work with everything. Make sure you are on foobar2000 v1.5 (currently at beta 16/17) and that you haven't configured the component to only write folder tags. Folder tags require write access to the location the audio is stored at so they only work with local files.

Re: External Tags

Reply #286
Hi Case,

Thanks for your reply. I am blind and my screen reader does not announce states of treeview items in the Advanced Preferences. I used the default settings but yesterday fiddled with them a bit with no luck. Could you please look at the screenshot and tell me where to press Space Bar in order to make correct changes?

Re: External Tags

Reply #287
Your settings are correct. Your configuration is set to always write External Tags in SQLite database.

I registered for Spotify Premium and installed foo_input_spotify to test this and I could tag my test track just fine.

Make sure External Tags is enabled at Preferences / Tools / Track Info Filters. Also make sure "External Tags (writer)" is enabled at Preferences / Playback / Decoding.

 I asked Peter about the screenreader failing to read checkbox states, perhaps it's a bug in foobar.

Re: External Tags

Reply #288
Case, can I edit the APEv2 tags files with an external text editor?

Re: External Tags

Reply #289
Not really. APE tags have binary length fields that need updating. You could edit the strings if their lengths didn't change and the editor didn't mess up the non-ascii parts.

Re: External Tags

Reply #290
Peter wrote once about SQLite in a thread about 64 builds:
Quote
There are other options for improving large media library search performance at cost of component compatibility, for an example replacing the ancient metadb design with a modern SQLite backend - which would solve slow search, slow startup, slow shutdown and large memory usage.

So does it imply that external tags database is much faster than foobar's internal one?

Re: External Tags

Reply #291
SQLite may be faster for some tasks. But all operations go through foobar's database so any potential speed benefit is irrelevant.

Re: External Tags

Reply #292
Not really. APE tags have binary length fields that need updating. You could edit the strings if their lengths didn't change and the editor didn't mess up the non-ascii parts.

alright, thanks. so maybe I can read it and decode it using some python module.

thanks for the help

Re: External Tags

Reply #293
Hi Case,
unfortunately no luck tagging. I have foo_input_spotify 0.0.4, I even tried to move the writer decoder to the top (although not recommended) with no change. Where is the database create so that I could check it is actually written? I even tried to execute Create external tags and Wrap for external tags command (although I don't know what these commands are doing). I have my foobar2000 in Portable Mode in the OneDrive synchronized folder (at D:\OneDrive\Documents\foobar2000) but foobar2000 can normally write to it. Strangely my Properties dialog on the Details tab says it is an external tag in SQLite. My file path is File path : exttag://spotify:track:5ZxWXosb6QEVvdDU6fItW8 . My problem is that whenever I try to use the Edit external tags command and I enter some additional tag like the BPM or SKIP tag the information is changed in the dialog but when I press OK I am back in the Properties dielog and when I press Apply it remains in the same state and I can keep pressing the OK button, always returning into Properties.

Re: External Tags

Reply #294
OK I checked and have found the SQLite file. I looked into it in a text editor (no SQLite viewer at hand) and I could find my two Spotify tracks with their basic details as retrieved from Spotify but none of my extra tags I requested are there.

Re: External Tags

Reply #295
The "Wrap for External Tags" forces the component to take over the wrapped track. For example in foobar2000 v1.4 the normal properties dialog couldn't be used to tag streams at all without wrapping. And at least with 1.4 album art reader wasn't called for streams unless they were wrapped. You should never need to use it with foobar2000 v1.5.

I didn't realize until you mentioned SKIP tag that you also use the Skip Track component. Make sure it is the latest version as otherwise it can conflict External Tags. Using "Help" / "Check for updated components" menu command will download the latest in case it's not already in use.

Lastly if everything is up-to-date please check the console (View / Console) if tagging still fails. External Tags should report most error situations there.

I do all my testing with foo_input_spotify 0.0.4 version too. Downloaded from https://cpancake.me/spotify-on-foobar2000.html and a direct link to the download is https://cpancake.me/archives/foo_input_spotify.zip.

Re: External Tags

Reply #296
Hi all,
for those who might have similar problem as me I am posting the one crucial thing that has solved my problem. I wanted my tagging to preserve file modification time (found under Advanced > Tagging > General). As soon as I turned this off External tags has started working. Hope there will be a way to intercept this setting and ignore it with external tags so it won't clash.

Re: External Tags

Reply #297
Thanks for reporting back. The filesystem wrapper I added to better support timestamp preservation actually caused this problem. I just released a new version where my filesystem handler is modified to only be active for actual files and skip all other protocols.

Though it would appear the timestamp preservation fix added to foobar2000 v1.5 beta 12 is not fully working as External Tags doesn't work as a fallback tag writer. Just directly editing tags of an untagged Spotify track with Properties dialog doesn't get to External Tags as the timestamp reading fails with "Object not found" error.

Re: External Tags

Reply #298
Hi. Does anyone know where the tags sqlite database file is located?
I'm trying to remove external tags from some MIDI files. (Shift + Right click the file -> Tagging -> Remove tags from files) but after doing that, it still says "Tag type: apev2 db" in the song properties.

Re: External Tags

Reply #299
The SQLite database is stored inside the foobar2000 configuration directory. With regular install that's %appdata%\foobar2000. With portable install it's the install dir. The database file is called external-tags.db.
But if you quoted the tag type correctly it doesn't come from External Tags. All tag types from this component start with name "External Tag". For example a tag from SQLite has type "External Tag (SQLite)".