cwbowron, could you maybe add one fancy feature, and that's png support for icons? it would be enough if it would blend those png icons with transparency against color of background and the resulting bitmap feed to tree control. so we could use transparency / antialiasing with regular win32 tree control ...
also another thing - i have doubleclick set to send items to active playlist and play them, removing any other stuff in the playlist. what i don't like is that when i doubleclick on a node, it would expand it ... is there any setting to prevent this? (i have expand/contract buttons hidden and i use single click to do that - that may be the problem)
cwbowron
Sep 15 2005, 12:14
RELEASE 1.7.0_beta4
bug fix for crashing fb2k when dragging from browser
@notnode speed increases
SoulMan
Sep 15 2005, 12:37
thank you for all that work, very interesting evolutions!!!
jkwarras
Sep 15 2005, 12:58
Just tested beta4 and it gives me these problems:
- This label throw me and $if syntax error:
CODE
@format<$if($strstr(@playing<%album%>,?),'['Unknown Album']',@playing<%album%>)>
but if I change %album% by %artist% it works
- And it seems to be a problem when using @format<> mixed with Playlist_gen format in queries. This one, that worked before now gives completely wrong results:
CODE
@format<$if($strstr(@playing<%artist%>,?),'['Unknown Artist']',artist IS @playing<%artist%>)>
BTW, thanks for the new builds
cwbowron
Sep 15 2005, 13:11
QUOTE(jkwarras @ Sep 15 2005, 01:58 PM)
- And it seems to be a problem when using @format<> mixed with Playlist_gen format in queries. This one, that worked before now gives completely wrong results:
CODE
@format<$if($strstr(@playing<%artist%>,?),'['Unknown Artist']',artist IS @playing<%artist%>)>
What is this query supposed to be doing? The @format<> does not get executing inside of query strings but we may be able to figure out a way to do the same thing using either a simple query or a playlist_gen_ex style query using a different syntax.
cwbowron
Sep 15 2005, 13:13
QUOTE(jkwarras @ Sep 15 2005, 01:58 PM)
- This label throw me and $if syntax error:
CODE
@format<$if($strstr(@playing<%album%>,?),'['Unknown Album']',@playing<%album%>)>
This label seemed to work for me...
EDIT: my bad, no it doesnt...
EDIT2: It works for me as long as there is no quotes in the tag.
jkwarras
Sep 15 2005, 17:23
QUOTE(cwbowron @ Sep 15 2005, 11:11 AM)
What is this query supposed to be doing?
It search for the playing artist tag, if it doesn't exist (it returns ?) it'll return [Unknown artist], if it exist then it'll return a list of everything from the artist now playing. This query worked in the past without problem, but now with the new changes, maybe there's something to change dunno...
Edit: I remember that in the past we have a conversation about that, because using something like this:
CODE
@format<$if(@playing<%artist%> MISSING),'['Unknown Artist']',artist IS @playing<%artist%>)>
didn't work, and that's why I had to use $strstr(@playing<%artist%>,?) in order to know when a tag is missing in a query like that.
synth7
Sep 15 2005, 17:51
Does %foldercount% not work in the latest binary?
Eisprinz
Sep 16 2005, 06:55
I'm having trouble with a very simple query:
CODE
$if(%genre%,#genre#,-- No genre --)|%artist%|%album%|%title%
Obviously, this is supposed to display each and every song in the database, no matter if it has one, multiple, or none genre tag(s). It handles songs with multiple genre tags nicely (i.e. adds them to multiple nodes in the tree), but it completely ignores those without any genre tag. Tested with 1.7.0_beta4 and the stable release. Am I just stupid, or is this happening to anyone else, too?
I think I could use some workaround involving @node, but that'd be unnecessarily cumbersome.
cwbowron
Sep 16 2005, 07:25
QUOTE(synth7 @ Sep 15 2005, 06:51 PM)
Does %foldercount% not work in the latest binary?
It should, but it has been superceded by %_foldercount%. If the raw %_foldercount% does not work, try @format<%_foldercount%>
cwbowron
Sep 16 2005, 08:46
QUOTE(Eisprinz @ Sep 16 2005, 07:55 AM)
I'm having trouble with a very simple query:
CODE
$if(%genre%,#genre#,-- No genre --)|%artist%|%album%|%title%
Obviously, this is supposed to display each and every song in the database, no matter if it has one, multiple, or none genre tag(s). It handles songs with multiple genre tags nicely (i.e. adds them to multiple nodes in the tree), but it completely ignores those without any genre tag. Tested with 1.7.0_beta4 and the stable release. Am I just stupid, or is this happening to anyone else, too?
It's not you. I found the bug, and it will be fixed in the next release.
cwbowron
Sep 16 2005, 09:05
RELEASE 1.7.0_beta5
better support for control characters inside #tag#'s
fixed bug in query formatting that will now allow things like:
$if(%genre%,#genre#,--no genre--)|...
@quote<> converts a string so that it can pass thru title formatting and come back out as the same string. Allows you to do something like:
@format<$if($strstr(@quote<@playing<%album%>>,?),'['Unknown Album']',@quote<@playing<%album%>>)>
- without use @quote you run into problems with tags that have special characters in them
jkwarras
Sep 16 2005, 12:34
QUOTE(cwbowron @ Sep 16 2005, 07:05 AM)
Cool, I'll try it, let's see if I find some bugs

Thanks.
Fractal_Mortality
Sep 16 2005, 13:03
Nevermind... haha
cwbowron
Sep 18 2005, 14:05
RELEASE 1.7.6
possibly fixed album art focus stealing in browser refresh on tag change
@any<> function = combine multiple tags into the same level i.e.
@any<artist,artist2>|%title% will loop through all meta values of artist and artist2 creating folders for each. tracks without either tag will be ignored.
internal changes (parameters as const references) == possibly less mem allocation == possibly faster
internal changes to send to device code
can use @format<> in a foo_playlist_gen query.
example:
@format<$if($strstr(@quote<@playing<%artist%>>,?),artist MISSING,artist IS @quote<@playing<%artist%>>)>
Note: there is a better way to the do the above query, but its an easy example.
Eisprinz
Sep 18 2005, 15:28
QUOTE(cwbowron @ Sep 16 2005, 07:05 AM)
RELEASE 1.7.0_beta5
better support for control characters inside #tag#'s
fixed bug in query formatting that will now allow things like:
$if(%genre%,#genre#,--no genre--)|...
Works great, thanks
jkwarras
Sep 18 2005, 17:09
QUOTE(cwbowron @ Sep 18 2005, 12:05 PM)
RELEASE 1.7.6
Really nice release, thanks dude.
Eisprinz
Sep 19 2005, 05:47
Oops, new problem with #tag#. You seem to have a little unicode problem there. The genre "Hörbuch" is displayed as "Hrbuch" when you use %tag%, whereas it's displayed fine when you use %genre%. Same for other tags and German umlauts, I just tested #artist#. Ah, how good nice & simple were the times when we had 7 bit ASCII only

.
PS: Tested with 1.7._beta5 and 1.7.6 - need any further info?
SoulMan
Sep 19 2005, 06:58
This @any is a very very great feature!!!
I have the same problem than Eisprinz (with éèê...)
I was thinking to an other thing, is it possible, using @any, to use a string function onto the directory name? What I want is to transform "The Boogie Woogie Boys" into "Boogie Woogie Boys (The)" is it possible to do something like that?
edit: with this format:
$upper($cut(@any<album artist,artist>,1))|@any<album artist,artist>|%album%
The first A,B,C level is greatly done, but the problem is that, for this album :
ALBUM="Rough Guide To Ravi Shankar"
ARTIST="Ravi Shankar\Zakir Hussain", i have :
R\Rough Guide To Ravi Shankar
R\Ravi Shankar\Rough Guide To Ravi Shankar
R\Zakir Hussain\Rough Guide To Ravi Shankar
Z\Ravi Shankar\Rough Guide To Ravi Shankar
Z\Zakir Hussain\Rough Guide To Ravi Shankar
I understant why Zakir Hussain is displayed under R and why Ravi Shankar under Z, but I don't know what to do for having the wanted displaying??
And, I don't understant why the album is displayed directly under "R"? perhaps is it a bug?
edit2: I was trying to create a query displaying albums in double.
So i've done :
Query: 1
X foo_playlist_gen
Format: @format<$sub(%_itemcount%,@first<%tracknumber%>)> - %album%|%tracknumber% - %title%
Sort Criteria : %tracknumber%
X Reverse
Ok, so this function seems to have numerous problems :
- %_itemcount% --> ?
- %itemcount% --> ?
- Same thing with @format<>
- @format<@first<%tracknumber%>>|... creates one line per track
cwbowron
Sep 19 2005, 09:26
QUOTE(SoulMan @ Sep 19 2005, 07:58 AM)
edit2: I was trying to create a query displaying albums in double.
So i've done :
Query: 1
X foo_playlist_gen
Format: @format<$sub(%_itemcount%,@first<%tracknumber%>)> - %album%|%tracknumber% - %title%
Sort Criteria : %tracknumber%
X Reverse
Ok, so this function seems to have numerous problems :
- %_itemcount% --> ?
- %itemcount% --> ?
- Same thing with @format<>
- @format<@first<%tracknumber%>>|... creates one line per track

you dont need to use @format<> in the format for a query because they are automatically formated. If you want the folder to display the number of items in it (%_itemcount%), you need to make sure that %_itemcount% is not evaluated at the time of the query population, but rather at the time of display. Do this by putting it in quotes so that it doesnt get evaluated the first time thru.
%_itemcount% has no meaning at the time a query is being populated. It has meaning only when the folders are being displayed.
@first<> also has no meaning at the time of populating, but rather at the time of being displayed.
SoulMan
Sep 19 2005, 10:29
I have something to do for activate the on display evaluation?
cause if I use '%_itemcount%', I have %_itemcount% writed at the begining of my folder name.
edit: OK, it's '%itemcount%'
edit2: But, '@first<%tracknumber%>' don't work
cwbowron
Sep 19 2005, 10:37
QUOTE(SoulMan @ Sep 19 2005, 11:29 AM)
I have something to do for activate the on display evaluation?
cause if I use '%_itemcount%', I have %_itemcount% writed at the begining of my folder name.
edit: OK, it's '%itemcount%'
edit2: But, '@first<%tracknumber%>' don't work
it should be @format<%_itemcount%> and @format<@first<%tracknumber%>> I think, but since you are putting in the query format, you need to quote them so they dont get evaluated then.
So its should be '@format<%_itemcount%>' etc.
SoulMan
Sep 19 2005, 11:18
So :
- '@format<%_itemcount%>' - %album%| --> @format<%_itemcount%> - Unza Unza Time
- '@format<%itemcount%>' - %album%| --> @format<10> - Unza Unza Time
- '%itemcount%' - %album%| --> 10 - Unza Unza Time
and no way to have a result with @first... perhaps it's a bug of the last version.
cwbowron
Sep 19 2005, 11:41
QUOTE(SoulMan @ Sep 19 2005, 12:18 PM)
So :
- '@format<%_itemcount%>' - %album%| --> @format<%_itemcount%> - Unza Unza Time
- '@format<%itemcount%>' - %album%| --> @format<10> - Unza Unza Time
- '%itemcount%' - %album%| --> 10 - Unza Unza Time
and no way to have a result with @first... perhaps it's a bug of the last version.
How do you want the results displayed. Tell me that and I will tell you the format you need.
cwbowron
Sep 19 2005, 12:06
RELEASE 1.7.7
fixed unicode issues in #tags#
@multiple<> tag for query format. Separate by ; (semicolon) NOT comma. Allows you to have multiple entries in a query per file. This should allow for some pretty powerful stuff. Can take more than 2 parameters
simple example:
@multiple<by artist|%artist%|%title%;by album|%album%|%title%>
fabiospark
Sep 19 2005, 14:17
QUOTE(cwbowron @ Sep 19 2005, 08:06 PM)
RELEASE 1.7.7
@multiple<> tag for query format. Separate by ; (semicolon) NOT comma. Allows you to have multiple entries in a query per file. This should allow for some pretty powerful stuff. Can take more than 2 parameters
simple example:
@multiple<by artist|%artist%|%title%;by album|%album%|%title%>
Well, now, with that @multiple<> we have that "parent filtering" capability we asked for.
But... in this way we'll end up with very long format strings: could you enable an auto (or manual) CR+LF in the format box so we won't have to work on just one line of text, please?
Would you swear that in the readme.txt we can find all the valid commands of PLT and their sintax, at least? If no, would you mind making a list of them, please? I'm starting to feel a bit dizzy....
Thanks.
cwbowron
Sep 19 2005, 14:24
QUOTE(fabiospark @ Sep 19 2005, 03:17 PM)
Would you swear that in the readme.txt we can find all the valid commands of PLT and their sintax, at least? If no, would you mind making a list of them, please? I'm starting to feel a bit dizzy....
Between the readme.txt and the changelog.txt, I believe all playlist tree functions are accounted for.
I am hoping that someone will take up updating the Tutorial to update the syntax and the new functions.
SoulMan
Sep 19 2005, 14:51
cwbowron : what I wana want is something like that :
$sub(%_itemcount%,@first<%tracknumber%>) - %album%
to find easily albums presents several times in my collection.
Using a sort criteria on %tracknumber% in reverse, @first<%tracknumber%> will give me the tracknumber of the last track, so, if itemcount is higher than this value, I can supose there is too many tracks for this album...
fabiospark : you can CR+ LF, dooing CTRL+ENTER
cwbowron
Sep 19 2005, 14:59
QUOTE(SoulMan @ Sep 19 2005, 03:51 PM)
cwbowron : what I wana want is something like that :
$sub(%_itemcount%,@first<%tracknumber%>) - %album%
to find easily albums presents several times in my collection.
Using a sort criteria on %tracknumber% in reverse, @first<%tracknumber%> will give me the tracknumber of the last track, so, if itemcount is higher than this value, I can supose there is too many tracks for this album...
You might want to try something like this:
CODE
%album% - '@format<$sub(%_itemcount%,@first<%tracknumber%>)>'|%tracknumber% - %title%
SoulMan
Sep 19 2005, 15:17
Yeah, it's working very well... I think I was not using the last version... perhaps a copy/paste error...
So, is it possible to display only entries with a non 0 value for this count? I think no, cause itemcount have not value at the filtering time...
cwbowron
Sep 19 2005, 16:38
QUOTE(SoulMan @ Sep 19 2005, 04:17 PM)
So, is it possible to display only entries with a non 0 value for this count? I think no, cause itemcount have not value at the filtering time...
You are right. Because it doesnt actually know what the values of %_itemcount% are going to be at the time of population you cannot create only the items with non-zero.
SoulMan
Sep 20 2005, 01:53
But the "Max" field acts as a post-filtering, perhaps there is an interest to give the possibility to have a "min" post-filter.
so a enhanced version of this post-filtering could be something like :
- max/min
- per folder/per 1° level subfolders
- tracks/minutes/megs/next level subfolders
cwbowron
Sep 20 2005, 10:28
I put up some simple wiki software at
http://www.bowron.us/wiki and put the content of the tutorial in there. It should be a good source of information, and if you would like to add more information or correct any information that is in there, please do.
Thanks
SoulMan
Sep 20 2005, 11:02
Very good ID...
It will be cool if anybody here put there personal interresting queries, we can realize a queries database, joint to the tutorial.
jkwarras
Sep 20 2005, 12:46
QUOTE(SoulMan @ Sep 20 2005, 09:02 AM)
It will be cool if anybody here put there personal interresting queries, we can realize a queries database, joint to the tutorial.
That'll be nice.
A long time ago I submit some example collections here:
http://foobar.bowron.us/example_collections/What'll be nice is to have along with the wiki a querie database with the queries code and the downloadable *.col files (like the *.fcs for columns UI configurations.)
Fractal_Mortality
Sep 20 2005, 13:06
QUOTE(jkwarras @ Sep 20 2005, 01:46 PM)
QUOTE(SoulMan @ Sep 20 2005, 09:02 AM)
It will be cool if anybody here put there personal interresting queries, we can realize a queries database, joint to the tutorial.
That'll be nice.
A long time ago I submit some example collections here:
http://foobar.bowron.us/example_collections/What'll be nice is to have along with the wiki a querie database with the queries code and the downloadable *.col files (like the *.fcs for columns UI configurations.)
I agree as well... I suck at making queries. Not to mention far too lazy.
fabiospark
Sep 20 2005, 13:12
I wonder if it wouldn't be better starting a new thread for PLT Dynamic Queries...
------------
Now, let me ask for some help.
I'd like to pick up all the tracks where at least one of the performer of the now playing one is present and do this for each performer present in the now playing.
The following query do the job perfectly:
CODE
Query = Performer IS @playing<$meta_sep(performer, OR performer IS )>
Trouble is I'd like to show the results grouped by single performer but listing only the performers present in the now playing track.
Using this format string:
CODE
Format = #performer#|etc
I get a list of the performers of the now playing tracks plus the other performers present in the picked up tracks.
Let me give an example:
Now playing track has performer = Ruby Braff, Ellis Larkins
One (or more) picked up tracks has performer = Ruby Braff, Dick Hyman
My goal is to display
CODE
Same performer
+ Ellis Larkins
+ Ruby Braff
But I get
CODE
Same performer
+ Dick Hyman
+ Ellis Larkins
+ Ruby Braff
You can imagine that when there are many performers in one track (or some "prolific" one like Max Roach or Kenny Clarke, for instance) you'll end up with a list of twenty or more single performers. This is useful and very interesting sometimes, as a cross reference, but I'd like to have the other way too.
Now, with the @multiple<> function it's so easy having different groupings under the same query.
Any help will be appreciated.
Thanks.
fabiospark
Sep 20 2005, 13:26
To SoulMan: thanks for the CTRL+ENTER tip, I never registered it existed.
To cwbowron:
let me still ask for more space in the format box of the Query edit window. Please either make it resizable or make it bigger (both vertically and horizontally) if possible.
Thanks.
cwbowron
Sep 20 2005, 13:27
QUOTE(fabiospark @ Sep 20 2005, 02:12 PM)
CODE
Query = Performer IS @playing<$meta_sep(performer, OR performer IS )>
Trouble is I'd like to show the results grouped by single performer but listing only the performers present in the now playing track.
I think as a first cut you might be able to do something like this:
CODE
$if($strstr(#performer#,@quote<@playing<%performer%>>),#performer#,_ignore_) |etc
As a first cut, then all performers tags not in the @playing item will be placed under the _ignore_ folder.
fabiospark
Sep 20 2005, 13:50
Thanks for the answer.
I get only the _ignore_ group.
One question: is @playing<> being evaluated in the format box too?
If yes, shouldn't the
CODE
@playing<$meta_sep(performer)>
work too?
Sorry but I'm a bit lost.
cwbowron
Sep 20 2005, 14:03
QUOTE(fabiospark @ Sep 20 2005, 02:50 PM)
Thanks for the answer.
I get only the _ignore_ group.
One question: is @playing<> being evaluated in the format box too?
If yes, shouldn't the
CODE
@playing<$meta_sep(performer)>
work too?
Sorry but I'm a bit lost.
I think the problem could be related to the comma used to separate items in $meta_sep(). You might try doing something like $meta_sep(artist,-) in there or something instead.
2Pacalypse
Sep 27 2005, 10:54
im new to foobar and was looking for a plugin similar to Dynamic Library in winamp. was wondering if this is the cloesest match (display/add roots to a tree structure, and play/enqueue from there)
fabiospark
Sep 27 2005, 14:19
QUOTE(2Pacalypse @ Sep 27 2005, 06:54 PM)
im new to foobar and was looking for a plugin similar to Dynamic Library in winamp. was wondering if this is the cloesest match (display/add roots to a tree structure, and play/enqueue from there)
It is!
jkwarras
Sep 28 2005, 06:36
JUst wanted to report that the focus stealing by PT for the album art panel still exist. If you have a node with autorefresh enabled (so it refresh when a new track is played) and displayed the content in the browser, everytime the node refersh the album art goes back to the PT browser instead of the track now playing in the playlist. The only way to get it is to select a track in the browser and then selecting a track in the playlist (by just selecting a track in the playlist doesn't work), but then it's again stolen the next time it refresh.
cwbowron
Sep 28 2005, 10:50
RELEASE 1.7.8
%_isquery%, %_isleaf%, %_isfolder% - return 1 if true, undefined if not
browser/library only updates on selection change via keyboard or mouse
(collapsing a tree item will not automatically browse it)
fixed label reverting to unselected form on refresh of query
possibly faster browser interaction
@query<> function - @query<%_name%> will return the name of the parent query
(you can also use @query<_name>)
- if the folder is not inside a query it will be replace by an empty string
@playing & @first<> can be used as @first<%artist%> or just @first<artist>, etc
blammo
Sep 29 2005, 01:32
Hi,
Sorry if this has allready been asked but...
Is is possible to control what columns get displayed in the Tree Browser. e.g. I would like to be able to show the contents of the %station% tag but only for my "Radio Station" query.
Thanks
cwbowron
Sep 29 2005, 13:58
RELEASE 1.7.9
@parent function:
- @parent<_name> or @parent<1;_name> returns the name of the immediate parent,
- @parent<2;_name> returns name of the parent of the parent
- if the number exceeds the number of parents empty string is returned
----
%_nestlevel% variable for folders
----
Query Dialog box changes:
Population Sort Order
- order to fill the tree, sorts the tracks before adding to tree
- useful for max criteria stuff
- if no sorting needed, leave blank
- @default will use query format as the sort criteria
Display Sort Order
- sort order for sorting the tree after population
- this is similar to the sort order for static folders
- @default will use the default sort order
- %_name% will sort on display name
This will allow, for example, 5 random songs displayed in alphabetical order by artist.
Population Sort Order = $rand()
Display Sort Order = %artist% - %title%
----
new sort setup (folder sorting) - more flexible
example sort criteria:
$if(%_isleaf%,%artist% - %title%,%_name%)
will sort folders inline with artist-title leaves.
$if(%_isleaf%,B %artist% - %title%,A %_name%)
will sort with folders above leaves
$if(%_isleaf%,C %artist% - %title%,$if(%_isquery%,B %_name%,A %_name%))
will sort static folders, queries, then leaves
you can get fancy with the new %_isquery%, etc variables
SoulMan
Sep 30 2005, 02:09
Very good ID!!
cwbowron
Oct 6 2005, 11:46
I've broken some of the globals stuff in the browser in 1.7.10, but I've added some cool new stuff that you can play with while I figure out the best way to proceed with globals. Specifically, the new @browse_as<> function.
@browse_as will affect the node whose label contains it, and all folders underneath it...
RELEASE 1.7.10
@browse_as<> function. Allows dynamic fields in browser.
Goes in the name field of folder or query.
example: @browse_as<Artist|Title;%artist%|%title%>
BROKEN: changed the way globals work. I think they work the same way as column_ui now.
variables should be in the format xxx=yyyy|zzz=wwww| etc. | is the divider. Always leave a
divider at the end.
%_systemdate%, %_julian%, %_datetime% available in browser
option: Config->remove playlist duplicates
fixed some issues related to selection and expanding/contracting
cwbowron
Oct 6 2005, 11:49
QUOTE(blammo @ Sep 29 2005, 02:32 AM)
Is is possible to control what columns get displayed in the Tree Browser. e.g. I would like to be able to show the contents of the %station% tag but only for my "Radio Station" query.
Check out the new @browse_as function which allows this.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.