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: [Not My Release] Library Tree (Read 129085 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[Not My Release] Library Tree

Reply #150
NowPlaying Artist: [font= "Lucida Console"]%artist% IS $nowplaying{%artist%}[/font]

When multivalue %artist% is playing it matches only tracks with all artists in %artist% tag (not separated values)
[font= "Lucida Console"]%artist% IS $nowplaying{%<artist>%}[/font]
results in artists with one character names (as reported in my previous post;))

Even something like this doesn't work:
[font= "Lucida Console"]%artist% IS $nowplaying{$meta(artist,0)} OR %artist% IS $nowplaying{$meta(artist,1)} OR %artist% IS $nowplaying{$meta(artist,2)}[/font]
More precisely it works only if %artist% has three artist, but fails otherwise (!?)

It would be nice if %<artist>% could be used

As partial workaround I've set it right now to: [font= "Lucida Console"]%artist% HAS $nowplaying{$meta(artist,0)}[/font]


[Not My Release] Library Tree

Reply #151
I'll continue with my solo posting here

I wanted to share this $nowplaying() view filter:
Code: [Select]
%artist% IS $nowplaying{$directory($replace(%lastfm_similar_artist%,; ,\),4)} OR 
%artist% IS $nowplaying{$directory($replace(%lastfm_similar_artist%,; ,\),3)} OR
%artist% IS $nowplaying{$directory($replace(%lastfm_similar_artist%,; ,\),2)} OR
%artist% IS $nowplaying{$directory($replace(%lastfm_similar_artist%,; ,\),1)} OR
%artist% IS $nowplaying{$filename($replace(%lastfm_similar_artist%,; ,\))}

Should be in one line, and IS can be replaced with HAS also
It displays node with similar artist from user library to current playing artist, and only glitch seems to be that library tree refreshes faster than biography view fills %lastfm_similar_artist% (at least with my internet connection) so in some cases isn't refreshed properly

[Not My Release] Library Tree

Reply #152
that's pretty awesome, I've been trying to get that done but I never thought of the directory function (why does that work anyway?).

I do have the refreshing problem too, do you have any idea for a workaround?

[Not My Release] Library Tree

Reply #153
replacing semicolon+space with backslash makes it look like valid path string
don't know about workaround, maybe playing with biography caching settings, but not sure

[edit] some funny workaround would be adding hard processing node above similar artist node as library tree seems to process the tree from top to bottom
not for real use thou

[Not My Release] Library Tree

Reply #154

try this:

artist IS $nowplaying{$meta_sep(lastfm_similar_artist, AND artist IS )}

or maybe better this (i am not sure):

artist IS $nowplaying{'$meta_sep(lastfm_similar_artist, AND artist IS )'}

That trick works in Playlist Tree (edit:) or in database search!

[Not My Release] Library Tree

Reply #155
thanks for the tip, but as %lasfm_similar_artist% is dynamic tag, I think it can't be used with $meta()
are you sure it works in playlist tree?

[Not My Release] Library Tree

Reply #156
What do you mean with dynamic tag? If you mean: not a real tag, but something in foo_customdb, so it won't work!

Sure it works in PT (i used it 3 years ago since fabiospark created this query). You surely have to take care about the special syntax. In Pt you would write:

artist IS @format<$playing('$meta_sep(lastfm_similar_artist, AND lastfm_similar_artist IS )')>

I also get this to work in database search.

[Not My Release] Library Tree

Reply #157
OK this works well:
Code: [Select]
%artist% IS $nowplaying{$replace(%lastfm_similar_artist%,; , OR '%'artist'%' IS )}

I guess that was the idea

BTW I'm interested about $meta_sep(lastfm_similar_artist,) string for database search: can you paste example?

[Not My Release] Library Tree

Reply #158
Currently i don't have the queries in use (means: database search is not installed) but this should work.

artist IS $meta_sep(lastfm_similar_artist, AND IS )

Play around with '
Maybe this is correct:

artist IS '$meta_sep(lastfm_similar_artist, AND IS )'
artist IS $meta_sep('lastfm_similar_artist, AND IS ')

I really forgot it

[Not My Release] Library Tree

Reply #159
I can't make it to work in database search

When I first tried to make similar artist node, first idea was to use $meta_sep() but trying it, then trying $meta() in item details for example, I realized that it can't be used for this kind of dynamic tag (tag that is provided by third party component) even while track is playing and tag is provided

Anyway thanks, I like compact scripts like this one instead long lines of code

v [edit] post #158?

[Not My Release] Library Tree

Reply #160
I never tried that for unreal tags: can't then the $replace-function help instead of $meta_sep?

Sorry, you already did that!

[Not My Release] Library Tree

Reply #161
If %album% is empty, NowPlaying Album shows albums that have 1 letter, or if %artist% is empty then under NowPlaying Artist are artists whose names are just 1 letter

It seems to me that this has something to do with missing tag outputting "?" which then library tree matches to any tag that has one character length. It can be avoided if tag is closed in square brackets:
Code: [Select]
[%album%] IS $nowplaying{[%album%]}

Additionally, i.e. using q-stankovic's nice tip, NowPlaying branches for multivalue tags can branch according separate values correctly:

Code: [Select]
[%artist%] IS $nowplaying{$replace([%artist%],',', OR '%artist%' IS )}

[Not My Release] Library Tree

Reply #162
OK this works well:
Code: [Select]
%artist% IS $nowplaying{$replace(%lastfm_similar_artist%,; , OR '%'artist'%' IS )}

great, really! 

though it´s a little off-topic: Can you explain me, why the title format %lastfm_similar_artist% works although in properties there´s only a meta-tag called "Similar Artist" under

Tried also $meta(Similar Artist) in your script but, strangely, that does not work. 

edit: seems it´s not biography panel which provides the tag, but I have it in some tracks, so where did it come from?

[Not My Release] Library Tree

Reply #163
Biography view is provider, and in properties you see s just the name of the tag which can be anything you set, i.e. in advanced properties under Standard Fields you can set Label=PUBLISHER and see in properties tag named Label but you can't call it with %label%, or properties displays Played name for %play_count% mapping etc

BTW this:
Code: [Select]
[%artist%] IS $nowplaying{$replace([%lastfm_similar_artist%],; , OR '%artist%' IS )}

would be more correct, unless you don't have artists with one character name

[Not My Release] Library Tree

Reply #164
ok, I see.

And, yes it´s definitely biography. The filter works as soon as some artist (not track) is played the second time, because biography is so intelligent to update lastfm tags for  a l l  tracks by this artist - really cool!

[Not My Release] Library Tree

Reply #165
Thank you. But I can't reproduce the problem yet...
I'd like to ask the following.
(1) Where is %play_count% saved? if %play_count% is saved in foo_customdb, could you provide foo_customdb.dlll.cfg too ?
(2) Could you try reinstalling Library Tree ? (removing foo_uie_library_tee.dll.cfg from configuration folder)
Please copy foo_uie_library_tee.cfg.dll to another folder for reproducing the problem.

Sorry for the delayed response, I missed this.
I disabled completely customdb, removed tree cfg, same thing.

[Not My Release] Library Tree

Reply #166
hmm, it´s a pity, seems to be different than I wrote above, the TF fields are only teporarily available. So not really useful. Would be nice, if Biography would write the lastfm fields permanently for this filter script in Library Tree...

[Not My Release] Library Tree

Reply #167
they are available for nowplaying track
maybe you should play with biography view cache settings

[Not My Release] Library Tree

Reply #168
I disabled completely customdb, removed tree cfg, same thing.

Issue resolved in the current foobar2000 beta:
Undecodable tracks now get substituted with 1s of silence to prevent deadlocks with dodgy third-party components.

[Not My Release] Library Tree

Reply #169
%artist% IS $nowplaying{%artist%} AND %rating% GREATER 1

Although this filter seems to work properly, upon loading foobar2000, I receive the following notification in the console when I use that filter: Library Tree : filter error. What's wrong with it and how can I fix it?

[Not My Release] Library Tree

Reply #170
new version out

new feature: a search bar 

[Not My Release] Library Tree

Reply #171

It's not new... or am I missing something?

[Not My Release] Library Tree

Reply #172
yes, true, seems I didn´t update for some time 

[Not My Release] Library Tree

Reply #173
Does anyone know if it's possible to have an item appear in several same levels in the sorting hierarchy? I guess that sounds confusing, but let me illustrate :

I have several ways to access my library. One I'm working on is by genres. I run into problems with fusion genres, genres that could potentially belong to two different values in a sorting hierarchy. Here's an example. Each of these levels are represented by a value in a tag. What I'd really like is a way to make a fusion genre like "Jazz-Rock Fusion" appear as a level both under Rock and Jazz.

  • Popular Music
    • Rock
      • Jazz-rock Fusion
    • Jazz
      • Jazz-rock Fusion

The above is a dream scenario. I can only make Jazz-Rock Fusion appear either under Rock or under Jazz, but not both! The view format at the moment is simple, something like "%supergenre1%/%supergenre2%/%genre%" just with a few brackets thrown in. Any attempts at tricking around with if-conditions and so on have so far proven fruitless. Is what I'm thinking of at all possible?

[Not My Release] Library Tree

Reply #174
You can use multivalue field: i.e. I use genre and style, both set in multivalue fields in advanced preferences, then use: %<genre>%\%<style>%

in your example:

genre = Rock; Jazz
style = Jazz-rock Fusion