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

External Tags

External Tags is a new experimental component that allows tagging file formats that don't natively support tagging.

The component requires foobar2000 v1.4 version as it utilizes the new decoder priority configuration.

The component was created to allow ReplayGaining tracker modules but it may be useful for other purposes too.

Re: External Tags

Reply #1
I'd like to try it out, but I don't see how to set the component's priority as instructed.

Re: External Tags

Reply #2
Preferences ->Playback -> Decoding.

Re: External Tags

Reply #3
When the component is installed the decoder priorities are correct. They may need adjusting when you install new decoder components or old ones are updated to include the new decoder priority control.

Re: External Tags

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

Re: External Tags

Reply #5
In theory but it would be messy. If you wish to do that you can move the (writer) part to the top of the decoder list, write the info you don't want to go to the files, then move the writer back to bottom.

Re: External Tags

Reply #6
Confidential tags... What the hell could it be?

Re: External Tags

Reply #7
@Case, is it possible use External Tags component for edit metadata field for stream items in playlist (for example stream radio station) ?
Thanks.

Re: External Tags

Reply #8
It should be but tag writing routines don't seem to get called for streams. I'll probably need to consult Peter to see how to circumvent that restriction.

Re: External Tags

Reply #9
What's the diference between this and the M-Tags plugin?

Re: External Tags

Reply #10
It's my understanding m-TAGS component requires loading files you want to tag to a playlist, use a menu entry to create tag files, remove the files from playlist and load the newly created tag files in their place.

This component will use external tags transparently. Just edit tags and they will be written as APEv2 tags next to the files you tagged. Load any file and external tags will be read if they exist.

Re: External Tags

Reply #11
I believe External Tags component can to have more potential and advantages in TAG edit, if @Case will progress it of course.
I personally like ease of use.

Re: External Tags

Reply #12
It should be but tag writing routines don't seem to get called for streams. I'll probably need to consult Peter to see how to circumvent that restriction.
Case a strong +1 for this from me, as Sergey77 mentions it would be great to have an easier to use, transparent option to m-TAGs in order to tag radio stream playlists, which are desperately in need of a way to show a fixed station name on each URL entry, etc.  I hope you will follow up with Peter on a solution.

Re: External Tags

Reply #13
I did ask Peter about it and it's apparently not too easy to accomplish. But I have already added a workaround that just needs some finishing touches.

Re: External Tags

Reply #14
It should be but tag writing routines don't seem to get called for streams. I'll probably need to consult Peter to see how to circumvent that restriction.
Case a strong +1 for this from me, as Sergey77 mentions it would be great to have an easier to use, transparent option to m-TAGs in order to tag radio stream playlists, which are desperately in need of a way to show a fixed station name on each URL entry, etc.  I hope you will follow up with Peter on a solution.
Just FYI, you can do that already with m-TAGs (as @Sergey77 posted), although as you say not automated. m-TAGs is quite handy for streams because you can even add artwork for each radio station / m-TAGs file (go to somewhere like onlineradiobox.com to find stations and art/logo)

Although yes, it would be nice to have an easy alternative. +1 to that. ;)

 

Re: External Tags

Reply #15
I did ask Peter about it and it's apparently not too easy to accomplish. But I have already added a workaround that just needs some finishing touches.
Thanks Case, looking forward to seeing this new version when it is ready! :)

Re: External Tags

Reply #16
Preferences ->Playback -> Decoding.

Suggestion: Put this information in the "About" box. People will search under Tools or Advanced.
* Also, will "writer" work "properly" if priority is higher, if the user wants external tags to overrule internal?
* Furthermore: if priority changes (by new or updated codecs, or user error): will reinstalling the component just rectify this? (If so, is there a way to do this simple?)

Let me suggest a text like e.g. the following (provided of course, that it is factually correct):

Adds tagging support for non-taggable file formats.
The tags are written as external files to the same directory as the target audio files.

For the component to work properly the "External Tags (reader)" decoder must have higher priority than the format to be tagged.
The "External Tags (writer)" decoder should have lowest priority unless you want external tags to take priority over native tags of any format.
Priority rules rules are automatically set correctly when foo_external_tags is installed. If codecs are installed or updated later, you may want to review priority rules (Preferences -> Playback -> Decoding) or simply reinstall foo_external_tags.

Re: External Tags

Reply #17
Thanks for the suggestion, Porcus. I'll steal your text with some edits if I'll release a new version. Your assumptions about the writer are correct. But re-installing the component doesn't fix decoder priorities. The core seems to remember positions even for removed components and reinstall returns the old order.

I have some bad news about the stream handling. My component seems to be completely circumvented by the FFmpeg decoder wrapper, which is required to support at least HLS streams. I can't make custom tags show up for this scenario.

Album art extractor is hardcoded not to run for streams so I can't show album art.

The latter problem could be kind of circumvented by loading a custom wrapper file instead of the actual stream and by handling the streaming hidden behind the scenes. But this confuses other components. For example Waveform Minibar thought it's dealing with a local file and tried to extract waveform never succeeding... And trying to wrap FFmpeg decoder wrapper this way appears to always fail.

Sorry for letting you down.

Re: External Tags

Reply #18
"Letting you down"?? ???  hey Case you gotta be kidding, THANK YOU for the work on this and for what it does!!  I don't run any HLS streams so for me at least that part is a non-issue.  The album art per URL absence due to the hardcoding is a drag but I've still got 4 "stub" images to pick from in normal display prefs which suffice for my radio moods..  MOST of them, haha.  Thanks again for all the work you do on all of your invaluable plugins  :) !

Re: External Tags

Reply #19
New version released. Biggest changes are the added album art support for local files and text-based tag support for streams.

Note that the regular Properties dialog won't attempt to save anything with streams. It's probably a bug that it's even allowed to be opened. Stream tagging requires using Tagging -> Edit External Tags context menu command. Tags added that way won't show up immediately on the playlist but once the stream is opened and stopped the edited tags should be visible.

Context menu also has a hidden-by-default menu entry for removing external tag files from selected tracks. It's visible when opening the menu while holding shift or can be made permanently visible in the context menu settings.

And files that have external tags can now be found if needed as $info(tagtype) will return "External APEv2" for them.

Re: External Tags

Reply #20
My question to this plugin:
Can I somehow force it to use external file even for tagable formats (e.g. FLAC) but only per choice?
Is the plugin deciding completely automatically when it would be used and when not?
Eventually I could accept using external tags always for given format.

Re: External Tags

Reply #21
What kind of choice are you after? If you drag FLAC below the external tag writer in the decoder priority list no FLACs will get altered and they will get external tags instead. I could enable the context menu command for external tag adding for all formats and not just streams, but I don't really see the point.

Re: External Tags

Reply #22
If you drag FLAC below the external tag writer in the decoder priority list no FLACs will get altered and they will get external tags instead. I could enable the context menu command for external tag adding for all formats and not just streams, but I don't really see the point.

Since there is m-TAGS, I take it that there is indeed a demand for external tag files even for tag-able formats. (It is not a bad thing for maintaining a backup - you can run a backup on the tag files first, and then check what audio files have actually changed, and ...)

However, those who want that consistently should rather drag the Writer up to top priority? (Or second, after the tag Reader?)

A suggestion then:
A function to commit tags to media files - if different. (Overwriting only if there is any change.)
(Ideally, I would want to search for those files too, but that is likely quite a fuss?)

Re: External Tags

Reply #23
New version released. Biggest changes are the added album art support for local files and text-based tag support for streams.
Unbelievable!
@Case, you make us happy  :)
Thank you and respect for You, Coder!
We will try.
"Letting you down"?? ???  hey Case you gotta be kidding, THANK YOU for the work on this and for what it does!!  I don't run any HLS streams so for me at least that part is a non-issue.  The album art per URL absence due to the hardcoding is a drag but I've still got 4 "stub" images to pick from in normal display prefs which suffice for my radio moods..  MOST of them, haha.  Thanks again for all the work you do on all of your invaluable plugins  :) !
@sveakul, looks like you supported to @Case on time! Thanks!

Re: External Tags

Reply #24
I want to add a logo (.png from onlineradiobox thanks to @anamorphic) for stream radio item at playlist.
Case, could you tell, how can i do that with External Tags ?

Thanks.