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

Re: External Tags

Reply #400
No, only SACD input.

Re: External Tags

Reply #401
Ok, managed to replicate the issue. foo_input_sacd has hacks in it, it alters its behavior based on context. It for example attempts to work differently when used in Converter. I don't know what it thinks is happening when called by foo_external_tags, but it doesn't want to return file properties but PCM output properties. And for some reason it's super broken here in my test setup and returns 0 for sample rate.

foobar2000 has a lot of new interfaces. I might be able to work around bugged inputs like foo_input_sacd returning nonsense, but it would mean a lot of re-engineering for me. Part of me wants to do it, but I worry it's a lof of work for little benefit. And possibly wasted effort.

Re: External Tags

Reply #402
I have an idea/suggestion for the component, it would be neat if there were an option to write the saved external tags to the file (if the format supports it)
Example, I have a number of badly tagged scene releases, use another component to get the metadata off of Discogs, and use this component to write the "Proper" tags & Metadata separately without modifying the original file. There's some files where I'd like to "export" these external tags and modify the file itself.
Would that be possible/reasonable?

Tangentially, I didn't see this on the foobar component page, your homepage, or in this thread, but is this plugin OSS? I'm not all that familiar with C and don't know the foobar SDK, but would be interested in helping out if possible.

Re: External Tags

Reply #403
You mean commit the external tags to file? Yes you can. But then it will delete the external tags, so you have to commit and then create. Use shift and right-click, that gives you more complete options and actions.

What can only be done file by file (I think?) is to commit only some of the tags. Then you have to copy them, then select the edit file tags, paste and save.

Re: External Tags

Reply #404
I've spent hours going through this entire thread and still can't get artwork to display on internet streams. I'm not getting any errors either, so I have no way of knowing why. Using Foobar v2.1 x64 and External Tags 1.5.14, SQL db only.

The db gets written and the artwork retained, it just doesn't display. This method looked promising but it doesn't work either.
https://hydrogenaud.io/index.php/topic,116141.msg963903.html#msg963903 

I haven't bothered trying to use urls for artwork, only locally stored jpgs.

I have tried reloading info and closing/opening FB over and over. No joy.

On a side note, wouldn't it be easier to make FB use m3u extensions like this: #EXTINF:-1, logo="cover.jpg", Stream Name, instead of a complicated component that doesn't seem to fully work? I tried adding logo="cover.jpg" to my #EXTINF lines and FB just ignores it, even though the titles display fine.

I don't mean to denigrate the author's hard work, I'm just frustrated af. This is something that should be incredibly simple and built into FB, yet it isn't.

For reference, here's the streams I'm using. I have many others, but there's no point in trying with them until the problem is solved.

Code: [Select]
#EXTM3U
#EXTINF:-1, 80's Hair and Hits
https://ais-edge102-live365-dal02.cdnstream.com/a36545
#EXTINF:-1, America's Greatest 80's Hits
https://ais-edge104-live365-dal02.cdnstream.com/a18506
#EXTINF:-1, Classic Rock Planet
https://ais-edge104-live365-dal02.cdnstream.com/a80053
#EXTINF:-1, KFlash Classic and Hippie Rock
https://ais-edge101-live365-dal02.cdnstream.com/a11112
#EXTINF:-1, The Hippie Shack
https://ais-edge101-live365-dal02.cdnstream.com/a98816
#EXTINF:-1, The Outlaw
https://ais-edge105-live365-dal02.cdnstream.com/a03843
#EXTINF:-1, WSKY Country Radio
https://ais-edge101-live365-dal02.cdnstream.com/a90551

Re: External Tags

Reply #405
The method you linked to in the old Forum post I made still works for me with Foobar v.2.1 x64 and External Tags 1.5.14, however I have always had the latter's options set as "Use only APE tags."

Re: External Tags

Reply #406
Just tried that. Had to re-add the logos for each feed since reloading info removed the "cover" field. Guess it wasn't getting saved to the SQL db after all.
Got it switched to only ape tags now, the .tag files are created, but there is still no artwork displayed after restarting FB.

I forgot to mention this is a fresh install of Fb v2.1, upgraded from v2.0 just last night, and v2.0 was installed fresh just days ago. Previously I was using a portable install of a much older x32 version, so I deleted that entirely before updating to v2.0 just to eliminate anything being left over.

Re: External Tags

Reply #407
I'm only using it for locally stored jpg's not URL logos so can't comment there.  My options are as below:


Re: External Tags

Reply #408
The option I didn't have checked is Always write external tags in preferred format, but it's checked now. I also uninstalled/reinstalled the component, since I saw where that made things work for others in this thread. Deleted the db files and .tag files as well. Set it up from scratch again. Still nothing.

I just don't understand why it won't work.


Re: External Tags

Reply #410
Yes, I tried doing it that way first. It didn't work, so I tried the method in Reply 87 which says it's not needed. Unforunately, that didn't work either.

EDIT: Just tried the wrapper method again, and it sort of worked. Added a cover to one stream, but now it shows for all 7 streams in the m3u file I posted, even when not playing. I continued with the rest of the streams, each getting their own cover, but only the first one shows, again, even when not playing.

EDIT2: Added a cover in a different playlist, in this case one with multiple TuneIn Radio streams for a single station, and it's the same thing, The proper image displays for every link in the playlist, even though I only added it to the top link.
Seems this component doesn't properly account for multiple streams in a playlist, instead it applies the first image assigned to the entire playlist and ignores any others added afterward.

EDIT3: To test this, I removed the cover I assigned to the first link in the playlist, and left the other 6 alone. Closed/opened FB, and sure enough that one cover is gone, but the other 6 do not display, even though they are still shown in the properties for each stream.

Re: External Tags

Reply #411
I just tried both methods with both Default UI and Columns UI. Each stream shows the artwork I specified for them.

Are you using some very custom UI that combines all the streams into one "unit" and can only handle single artwork for said unit?

Without using the wrapper you have to follow the instructions quite precisely. The tag field you choose to use, for example COVER, must only contain the filename or part of the filename. If you try to include paths there it won't work.

Re: External Tags

Reply #412
I am using Columns UI but there's nothing custom about it other than the addition of a Lyric Show 3 panel. I have not installed any of the Columns UI additions.

Using the <COVER> field doesn't work at all, and does contain only the file name, as the path to the covers is set in Preferences > Display > Album Art > Front Cover tab with the following path: D:\Programs\Foobar\Art\%COVER%. And for good measure I moved it to the top of the list.

Forgot to add: I had a hell of a time adding covers to every stream I have. The option to wrap for external tags would not show up on any stream until I created external tags without shift right clicking on them. Even then, sometimes I had to add a cover and remove it before the wrap for external tags option would show up.

Re: External Tags

Reply #413
Sounds like you are using album art display in playlist then. If you haven't tweaked settings or added more custom tags to the streams you no doubt notice that the streams are all in the same group in the playlist. The in-playlist album art viewer shows the same art for each group.
You can add a separate art viewer panel that shows art for the playing item or selected item. Or you can tweak the Columns UI grouping in Preferences -> Display -> Columns UI -> Playlist view -> Grouping tab.
For example to treat all http or https streams as separate groups you can change the default Groups string into this:
Code: [Select]
$if($left(%_path_raw%,4),http),%path%,$if2(%album artist%,<no artist>)[ / %album%])

Re: External Tags

Reply #414
Your string sort of works. I've attached 2 shots before and after your string.

The Before shot is using the default string.
Code: [Select]
$if2(%album artist%,<no artist>)[ / %album%]

Maybe I'm wrong, but I thought I could have it look like the Before shot, while having the cover change depending on which stream is selected. Might still be possible, I'll have to play with it to clean it up and tweak it to my liking. I noticed when adding your string there's an option for Playlist Filters that might also come into play since the playlist shown is the only one with different stations in it.

I'm also going to try removing the default art viewer and add an artwork view panel. Tried that before but couldn't get it placed where I wanted it, and ended up having to restore my config.

Thank you.

EDIT: Removed the string entirely, added the artwork view panel, and assigned covers to every feed. Works good. Covers only show when a stream plays, rather than as selected, but I can live with it. New pic attached.

Re: External Tags

Reply #415
The grouping string I posted earlier is nonsense, sorry about that (this has been a long day...).
Here's a fixed string that does what I meant it to do. That is, to have each url in a different group, otherwise use the default grouping:
Code: [Select]
$if($or($strcmp($left(%_path_raw%,13),'exttag://http'),$strcmp($left(%_path_raw%,4),'http')),%path%,$if2(%album artist%,<no artist>)[ / %album%])

The album art support inside a playlist is for a group. It's meant to show album art for an album. It doesn't make sense for the playlist viewer to support it randomly changing for different tracks of the album. Your solutions are to have each radiostation in their own group or to show the image in a panel outside the playlist.

Re: External Tags

Reply #416
Your new string produces the same result as your first one. but that's ok. I just found where I can change what's displayed in the artwork view panel, so it shows what's selected, which is what I wanted all along, so it looks like I've now got Foobar configured to my liking. It was a pita, but it's finally done. Never really bothered tweaking it like this before.

Thank you, Case, and everyone else here.

BTW, it's been fascinating seeing your component develop through the course of this thread.

Re: External Tags

Reply #417
Niiice! This is exactly what I was looking for! I was originally recommended m-tags, but seeing as that is kind of dead and not expecting a 64-bit version of that component, it's nice to see that someone else has made a better and more feature rich alternative. 
Great documentation, although it would be nice if the location of the SQLite DB was listed somewhere as I'm sure people would like to back it up from time to time. Heck, maybe having a secondary backup location feature would be neat, i.e. like automatically backing it up to a USB stick when closing Foobar2000. 

Great work on this!


EDIT: I did find the location. It's %appdata%\foobar2000-v2\external-tags.db for anyone wondering

EDIT2: PS: Is there any configuration that'd make it possible to only use the SQLite option when saving replaygain tags, and use 'normal' tag writing for everything else?
"foolish humans, no matter how you try to cover the sky with your hands - is the sky truly smaller than your grasp?" - Gran Kain

Re: External Tags

Reply #418
Is there any configuration that'd make it possible to only use the SQLite option when saving replaygain tags, and use 'normal' tag writing for everything else?

Make that any user-specified selection of tags: I would like to store tempo_amt separately.
It's your privilege to disagree, but that doesn't make you right and me wrong.

Re: External Tags

Reply #419
I was under the impression that SQLite Utilities allows you to do that.


Re: External Tags

Reply #421
I was under the impression that SQLite Utilities allows you to do that.

Good tip. Will look at this tomorrow, looks promising!
"foolish humans, no matter how you try to cover the sky with your hands - is the sky truly smaller than your grasp?" - Gran Kain


Re: External Tags

Reply #423
I had already checked it out when I noticed the comment in the other thread. Stream pauses briefly even with a clean foobar2000 install without any additional components when tagging attempt is made. I don't see External Tags doing anything to the stream in the code, it appears to just humbly write the external tag when it gets the information.
But Peter has been notified about the issue. Perhaps the behavior can be improved.

Re: External Tags

Reply #424
Thanks a lot for the update, hopefully, it gets resolved.