HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: cwbowron on 2004-11-15 22:23:50

Title: foo_playlist_tree
Post by: cwbowron on 2004-11-15 22:23:50
foo_playlist_tree is a very customizable media library, with support for hierarchical playlists as well as dynamic playlists.  Dynamic playlists can be generated using the same syntax as foo_playlistgen_ex.  It can operate in its own window or as a column_ui panel.

More information and downloads are available at:

http://www.bazquux.com/wiki/Foobar2000:Playlist_Tree (http://www.bazquux.com/wiki/Foobar2000%3a%50laylist_Tree)
Title: foo_playlist_tree
Post by: foosion on 2004-11-16 00:30:44
Quote
If anyone wants to help make it better, have a go at it and send me back your updates, thanks.
Sorry, I had a look at it, and I don't even have enough time to create a complete list of all present problems. Just to name a few:
Quote
The code is in a pre-beta stage really,
pre-alpha maybe? If I were you, I wouldn't have released it at this stage (even with massive console output enabled).
Quote
but you can see what I am trying to do
Not really.
Quote
and I dont think it will take much effort to make this pretty useful.
I beg to differ, see above.
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-16 05:21:44
I had not intended that the release I made be for general consumption and I should have been more clear in the original post.  The post was made to show something that I am working on and to see if there was anybody who was interested in it, especially developer's who might have more experience in writing foobar2000 extension who might want to help me develop it. 

I had originally posted in the development section so that it would reach its target audience of other developer's, but the category was changed to the 3rd party plugins.

If  it is not clear what I am trying to do, check out the way the beta version of MacAmp for Windows deals with playlists or the program Advanced MP3 Manager.

MacAmp For Windows:
http://www.macamp.com/win (http://www.macamp.com/win)

Advanced MP3 Manager: http://www.topshareware.com/Advanced-MP3-M...wnload-3839.htm (http://www.topshareware.com/Advanced-MP3-Manager-download-3839.htm)
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-11-16 06:00:24
I would be very interested by such a plugin (once it is stabilised and integrated with ui_columns and the tabbed panels).

Have a look at j River Media Center (http://www.musicex.com/mediacenter/), which has this capability IIRC.
Title: foo_playlist_tree
Post by: Sandman2012 on 2004-11-16 06:47:38
Quote
Have a look at j River Media Center (http://http://www.musicex.com/mediacenter/), which has this capability IIRC.
[a href="index.php?act=findpost&pid=254244"][{POST_SNAPBACK}][/a]

That link takes me to a Microsoft site for some reason. :S
Title: foo_playlist_tree
Post by: ssamadhi97 on 2004-11-16 06:54:18
duplicate "http://" in the url. I just fixed it.
Title: foo_playlist_tree
Post by: Sandman2012 on 2004-11-16 06:59:51
Quote
duplicate "http://" in the url. I just fixed it.
[a href="index.php?act=findpost&pid=254252"][{POST_SNAPBACK}][/a]

That's not it, because I pasted the url without the additional http and got the same result. Firefox initially goes to a page called "untitled," then ends up at Microsoft.

edit: yet the link works fine.  On topic - jRiver seems to have a nice interface, but I'm only judging by screenshots.
Title: foo_playlist_tree
Post by: jkwarras on 2004-11-16 11:00:39
Quote
I'm working on a new extension that allows multi level hierarchical playlists
[...]
So I decided to write my own as an extension to foobar2k...

Thanks cwbowron. I would like to see your extension implemented

I'm not a developper, just a possible end-user. I've downloaded your extension, but I don't see a difference between your plugin and the regular Album list.

It's this what you're trying to achieve?
http://www.macamp.com/win/features/playlist.html (http://www.macamp.com/win/features/playlist.html)

It looks great and I would love to see somethign like this implemented as a panel for Column UI. I mean, it looks like the Album list panel but with columns for values like lenght, rating, genre, etc... It'll be a cool Media Library.

Cheers.

BTW, you need msvcrtd.dll to make it work.
Title: foo_playlist_tree
Post by: upNorth on 2004-11-16 13:00:23
I think he actually wants to make a new playlist, not a media library or db view. So that you will actually play the track "inside" this component. Something similar to the screenshot you posted, or as the player discussed here: Deliplayer 2 vs. Foobar (http://www.hydrogenaudio.org/forums/index.php?showtopic=29380&hl=)
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-17 19:13:06
I've updated my program and made it availabe at the original location http://www.bowron.us/foo_playlist_tree.zip (http://www.bowron.us/foo_playlist_tree.zip)

What I am envisioning is more of a playlist manager than anything.  It allows you to build nested playlists.  You can then send any level of the tree to the active playlist.

I still havent implemented local drag and drop, but you can drag and drop files and directories from folders into the window and have them added to any level of the tree.

It's still needs to be made more robust, but this might give everyone a better idea where I am heading...
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-11-17 19:38:46
Quote
...

It's still needs to be made more robust, but this might give everyone a better idea where I am heading...
[a href="index.php?act=findpost&pid=254571"][{POST_SNAPBACK}][/a]


Yes .... See Crash log below

Quote
.... but I don't see a difference between your plugin and the regular Album list.

[a href="index.php?act=findpost&pid=254289"][{POST_SNAPBACK}][/a]


So do I



Illegal operation:
Code: C0000005h, flags: 00000000h, address: 012B8560h
Access violation, operation: read, address: 00000034h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (012B8560h):
012B8520h:  02 00 8B E5 5D C3 CC CC CC CC CC CC CC CC CC CC
012B8530h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
012B8540h:  55 8B EC 83 EC 44 53 56 57 51 8D 7D BC B9 11 00
012B8550h:  00 00 B8 CC CC CC CC F3 AB 59 89 4D FC 8B 45 FC
012B8560h:  8B 40 08 5F 5E 5B 8B E5 5D C3 CC CC CC CC CC CC
012B8570h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
012B8580h:  55 8B EC 83 EC 44 53 56 57 51 8D 7D BC B9 11 00
012B8590h:  00 00 B8 CC CC CC CC F3 AB 59 89 4D FC 8B 4D FC
Stack (0012F704h):
0012F6E4h:  78461F55 78462528 FFFFFFFF 00E2D4AC
0012F6F4h:  77E9F6C9 00070000 00000000 03E53DA0
0012F704h:  0012F7AC 0012F9AC 004F8E18 CCCCCCCC
0012F714h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F724h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F734h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F744h:  CCCCCCCC CCCCCCCC CCCCCCCC 0000002C
0012F754h:  0012F7AC 012BFB85 0012F804 0012F9AC
0012F764h:  004F8E18 CCCCCCCC CCCCCCCC CCCCCCCC
0012F774h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F784h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F794h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F7A4h:  CCCCCCCC 0000002C 0012F804 012B81D5
0012F7B4h:  0012F884 0012F9AC 004F8E18 CCCCCCCC
0012F7C4h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F7D4h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F7E4h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F7F4h:  CCCCCCCC CCCCCCCC CCCCCCCC 0000002C
0012F804h:  0012F890 012BF9EA 0012F8EC 0012F9AC
0012F814h:  004F8E18 CCCCCCCC CCCCCCCC CCCCCCCC
Registers:
EAX: 0000002C, EBX: 004F8E18, ECX: 0000002C, EDX: 01305984
ESI: 0012F9AC, EDI: 0012F754, EBP: 0012F754, ESP: 0012F704
Crash location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 78460000h - 784E3000h
KERNEL32                        loaded at 77E70000h - 77F2E000h
USER32                          loaded at 77E00000h - 77E65000h
GDI32                            loaded at 77F40000h - 77F7B000h
ole32                            loaded at 77A40000h - 77B2F000h
RPCRT4                          loaded at 770C0000h - 77131000h
ADVAPI32                        loaded at 78ED0000h - 78F32000h
COMCTL32                        loaded at 77B40000h - 77BC9000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76B00000h - 76B3E000h
SHLWAPI                          loaded at 77C60000h - 77CA9000h
SHELL32                          loaded at 77580000h - 777CC000h
MSVCRT                          loaded at 78000000h - 78045000h
foo_ac3                          loaded at 00800000h - 00813000h
foo_albumlist                    loaded at 00820000h - 0082B000h
foo_burninate                    loaded at 00830000h - 0083C000h
VERSION                          loaded at 77810000h - 77817000h
LZ32                            loaded at 75950000h - 75956000h
foo_cdda                        loaded at 00840000h - 0084E000h
foo_clienc                      loaded at 00850000h - 0085B000h
foo_console                      loaded at 00860000h - 00867000h
foo_dbsearch                    loaded at 00870000h - 00888000h
foo_diskwriter                  loaded at 00890000h - 008A2000h
WINMM                            loaded at 77540000h - 77571000h
foo_dsp_extra                    loaded at 00930000h - 00945000h
foo_dsp_nogaps                  loaded at 00950000h - 00957000h
foo_dynamics                    loaded at 00960000h - 00967000h
foo_faac                        loaded at 00970000h - 009A3000h
foo_flac                        loaded at 009B0000h - 009CC000h
foo_flaccer                      loaded at 009D0000h - 009E6000h
foo_freedb                      loaded at 009F0000h - 00A1E000h
WS2_32                          loaded at 74FB0000h - 74FC4000h
WS2HELP                          loaded at 74FA0000h - 74FA8000h
foo_id3v2                        loaded at 00A20000h - 00A50000h
MSVCP60                          loaded at 780C0000h - 78121000h
foo_infobox                      loaded at 00A50000h - 00A63000h
foo_input_std                    loaded at 00A70000h - 00B0E000h
MSACM32                          loaded at 773E0000h - 773F3000h
foo_masstag                      loaded at 00B10000h - 00B24000h
foo_null                        loaded at 00B30000h - 00B37000h
foo_output_std                  loaded at 00B40000h - 00B49000h
foo_out_dsound_ex                loaded at 00B50000h - 00B59000h
DSOUND                          loaded at 51080000h - 510DD000h
foo_out_ks                      loaded at 00B70000h - 00B7B000h
SETUPAPI                        loaded at 783C0000h - 78451000h
USERENV                          loaded at 78D20000h - 78D82000h
foo_playlistgen_ex              loaded at 00B80000h - 00B8F000h
foo_rgscan                      loaded at 00B90000h - 00B9D000h
foo_scroll                      loaded at 00BA0000h - 00BA6000h
foo_ui_std                      loaded at 00BB0000h - 00BC7000h
foo_utils                        loaded at 00BD0000h - 00BE1000h
foo_vis_manager                  loaded at 00BF0000h - 00BF8000h
foo_vorbisenc                    loaded at 00C00000h - 00D11000h
foo_wma                          loaded at 00D20000h - 00D3A000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
OLEAUT32                        loaded at 779A0000h - 77A3B000h
foo_history                      loaded at 01150000h - 01165000h
foo_history_panel                loaded at 01270000h - 01278000h
foo_openwith                    loaded at 01280000h - 01289000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_osd                          loaded at 012A0000h - 012AB000h
foo_playlist_tree                loaded at 012B0000h - 0130B000h
MSVCRTD                          loaded at 10200000h - 10264000h
foo_pod                          loaded at 01320000h - 01382000h
foo_podclienc                    loaded at 01390000h - 0139E000h
foo_podtranscoder                loaded at 013A0000h - 013AB000h
foo_read_http                    loaded at 013B0000h - 013C3000h
foo_scheduler                    loaded at 013D0000h - 013E4000h
foo_shuffle                      loaded at 013F0000h - 013FA000h
foo_temple                      loaded at 01400000h - 0140B000h
foo_uie_albumart                loaded at 01410000h - 0141B000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
foo_uie_albumlist                loaded at 01420000h - 0142E000h
foo_uie_tabs                    loaded at 01430000h - 0143A000h
foo_uie_trackinfo                loaded at 01440000h - 0144B000h
foo_uie_volume                  loaded at 01450000h - 0145A000h
foo_ui_columns                  loaded at 01460000h - 01496000h
foo_web                          loaded at 014A0000h - 014B8000h
foo_write_http                  loaded at 014C0000h - 014DA000h
wdmaud                          loaded at 77530000h - 77538000h
CLBCATQ                          loaded at 72C60000h - 72CF0000h
Powrprof                        loaded at 76690000h - 76697000h
SSSensor                        loaded at 06270000h - 06285000h
imagehlp                        loaded at 77910000h - 77933000h
DBGHELP                          loaded at 72970000h - 7299D000h

Stack dump analysis:
Address: 012BFB85h, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012B81D5h, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012BF9EAh, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012E1A39h, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012BD239h, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012BB9FCh, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012BB9A4h, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 012BAAEBh, location: "foo_playlist_tree", loaded at 012B0000h - 0130B000h
Address: 00BC0150h, location: "foo_ui_std", loaded at 00BB0000h - 00BC7000h

Version info:
foobar2000 v0.8.3
UNICODE
Title: foo_playlist_tree
Post by: jkwarras on 2004-11-17 21:12:57
Quote
...
It's still needs to be made more robust, but this might give everyone a better idea where I am heading...
[a href="index.php?act=findpost&pid=254571"][{POST_SNAPBACK}][/a]

I'm getting this message:
Code: [Select]
ERROR (CORE) : Failed to load DLL: foo_playlist_tree.dll, reason: Unable to load DLL.

WIn XP, foobar0.8.3.

Quote
.... but I don't see a difference between your plugin and the regular Album list.
[a href="index.php?act=findpost&pid=254289"][{POST_SNAPBACK}][/a]

Quote
So do I

As the author said it's a pre-alpha buggy release, use it at your own risk.

Anyway, I still don't see the difference between playlist_tree and regular album list in terms of practical use, I'm sure I'm missing something so I'll wait to see if I can get it working 
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-18 21:15:32
Ok, so i figured out today why no one could see differences between this and albumlist...

I didnt have my database enabled and when i did all the files showed up like they would in album list.

I've fixed that and allowed for local drag and drop operations, and rearrangement of items in the tree ( to move an item up use '[' and ']' for down)

I dont want a program that displays all my albums in a hierarchical structure like album list does.. I want to be able to build playlist off various levels that I control what is in them.

when you run the program you should see a blank tree which you can add items and folders to and arrange however you like.  You can then send any level of the tree to the active playlist. 

It's still unstable but it works for me.

Here's an example of how I use this.

I have a playlist called country, that has most of my country music in it.  But I often like to listen to a mix of my favorites which are Johnny Cash, Willie Nelson, Waylon Jennings and Kris Kristofferson. 

so I have a tree like this

+ Country
+-----+  Highwaymen
|        +----+ Johnny Cash
|        |      + Best Of
|        |      + American IV - Man Comes Around
|        +----+ Willie Nelson
|        +----+ Kris Kristofferson
|        +----+  Waylon Jennings
+-----+ Left Frizzell
+------+ J Random Country Singer


Then, I can play the whole country list or, i can listen to all of the highwaymen or I could select any particular singer or any parcicular album by a singer
Title: foo_playlist_tree
Post by: Killmaster on 2004-11-18 22:34:55
Looks like it needs a certain MSVCRTD.dll, is this right?
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-19 00:54:28
I updated the zip file to include the missing dll.
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-19 22:00:56
I've updated the file at http://www.bowron.us/foo_playlist_tree.zip (http://www.bowron.us/foo_playlist_tree.zip).  It also includes the required dll that people were having problems with not having.

I've added support for dragging and dropping playlists, collections and windows shortcut files.  Most of the features I wanted to put into the extension are now there. 

I have not done extensive testing, but its working for me.

If you try it, and it crashes, please let me know what was happening when it crashed and I will try to fix bugs.

Thanks.
Title: foo_playlist_tree
Post by: jkwarras on 2004-11-19 23:35:14
Hi,

I've finally understood what your plugin is about  It looks interesting, you can build your own folders, subcategories, etc...

Do you plan to make a panel for Column UI?

Anyway, while closing fb2k I get a cash:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 012AD11Ch
Access violation, operation: read, address: 0000000Ch
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (012AD11Ch):
012AD0DCh:  52 FF 15 C8 15 2F 01 83 C4 08 3B F4 E8 2F A2 01
012AD0ECh:  00 89 85 98 EF FF FF 68 14 C2 2E 01 6A 01 E8 E1
012AD0FCh:  3F 00 00 83 C4 08 B9 90 09 2F 01 E8 30 3F FF FF
012AD10Ch:  C7 85 9C EF FF FF 90 09 2F 01 8B 85 98 EF FF FF
012AD11Ch:  8B 48 0C 83 E1 10 85 C9 0F 85 58 03 00 00 8B F4
012AD12Ch:  8B 95 98 EF FF FF 52 68 00 04 00 00 8D 85 A4 F3
012AD13Ch:  FF FF 50 FF 15 CC 15 2F 01 83 C4 0C 3B F4 E8 CD
012AD14Ch:  A1 01 00 8B F4 8B 8D 98 EF FF FF 51 68 00 04 00
Stack (0012DBD0h):
0012DBB0h:  00CFDCDC 7C9D76F0 77F443DD 7C9D76F0
0012DBC0h:  00000004 00000000 00CFD1E8 00000000
0012DBD0h:  0012FAE4 012AB770 00000000 CCCCCCCC
0012DBE0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DBF0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC00h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC10h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC20h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC30h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC40h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC50h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC60h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC70h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC80h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DC90h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DCA0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DCB0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DCC0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DCD0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012DCE0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
Registers:
EAX: 00000000, EBX: 00000000, ECX: 012F09A8, EDX: 012EBD70
ESI: 0012DBD0, EDI: 0012F8A8, EBP: 0012F8B4, ESP: 0012DBD0
Crash location: "foo_playlist_tree", loaded at 012A0000h - 012F6000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                         loaded at 7C800000h - 7C901000h
USER32                           loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77EF0000h - 77F36000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                           loaded at 77BE0000h - 77C38000h
ADVAPI32                         loaded at 77DA0000h - 77E4C000h
RPCRT4                           loaded at 77E50000h - 77EE1000h
COMCTL32                         loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
IMM32                            loaded at 76340000h - 7635D000h
LPK                              loaded at 62E30000h - 62E39000h
USP10                            loaded at 74D20000h - 74D8B000h
foo_abx                          loaded at 003F0000h - 003FA000h
foo_ac3                          loaded at 00A40000h - 00A53000h
foo_albumlist                    loaded at 00A60000h - 00A6B000h
foo_ape                          loaded at 00A70000h - 00A8F000h
foo_audioscrobbler               loaded at 00A90000h - 00AB0000h
LIBCURL                          loaded at 00AB0000h - 00AC9000h
WS2_32                           loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
WINMM                            loaded at 76B00000h - 76B2E000h
foo_bookmark                     loaded at 00B60000h - 00B71000h
MFC42u                           loaded at 727B0000h - 728AE000h
MFC42LOC                         loaded at 61DF0000h - 61DFE000h
foo_burninate                    loaded at 00B80000h - 00B8C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                         loaded at 00B90000h - 00B9E000h
foo_clienc                       loaded at 00BA0000h - 00BAB000h
foo_console                      loaded at 00BB0000h - 00BB7000h
foo_custom_sort                  loaded at 00BC0000h - 00BC8000h
foo_dbexplorer                   loaded at 00BD0000h - 00BDD000h
foo_dbsearch                     loaded at 00BE0000h - 00BFA000h
foo_diskwriter                   loaded at 00C00000h - 00C12000h
foo_dsp_continuator              loaded at 00C20000h - 00C28000h
foo_dsp_crossfade                loaded at 00C30000h - 00C37000h
foo_dsp_extra                    loaded at 00C40000h - 00C55000h
foo_filedate                     loaded at 00C60000h - 00C69000h
foo_flac                         loaded at 00C70000h - 00C8C000h
foo_flaccer                      loaded at 00C90000h - 00CA6000h
foo_freedb                       loaded at 00CB0000h - 00CE2000h
foo_history                      loaded at 00CF0000h - 00D05000h
foo_id3v2                        loaded at 00D10000h - 00D40000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_infobox                      loaded at 00D40000h - 00D53000h
foo_info_samurize                loaded at 00D60000h - 00D7A000h
foo_input_std                    loaded at 00EA0000h - 00F42000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
foo_lame                         loaded at 00F50000h - 00F5C000h
foo_looks                        loaded at 00FA0000h - 0100D000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_massdelete                   loaded at 01020000h - 0102A000h
foo_masstag                      loaded at 01030000h - 01044000h
foo_matroska                     loaded at 01050000h - 010AB000h
foo_midi                         loaded at 010C0000h - 0114E000h
MFC71                            loaded at 7C140000h - 7C243000h
MSVCR71                          loaded at 7C340000h - 7C396000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
OLEAUT32                         loaded at 770F0000h - 7717C000h
foo_mod                          loaded at 01160000h - 01169000h
BASS                             loaded at 01170000h - 011CA000h
foo_mpcenc                       loaded at 011D0000h - 011DB000h
foo_nero                         loaded at 011E0000h - 011ED000h
MFC42                            loaded at 73D50000h - 73E4E000h
foo_output_asio(exe)             loaded at 011F0000h - 0121C000h
foo_output_std                   loaded at 01230000h - 01239000h
foo_out_dsound_ex                loaded at 01240000h - 01249000h
DSOUND                           loaded at 73E90000h - 73EEC000h
foo_out_ks                       loaded at 01260000h - 0126B000h
SETUPAPI                         loaded at 778F0000h - 779E7000h
foo_playcount                    loaded at 01270000h - 0127A000h
foo_playlistfind                 loaded at 01280000h - 0128B000h
foo_playlistgen_ex               loaded at 01290000h - 0129F000h
foo_playlist_tree                loaded at 012A0000h - 012F6000h
MSVCRTD                          loaded at 10200000h - 10264000h
foo_pod                          loaded at 01310000h - 0137B000h
foo_podclienc                    loaded at 01380000h - 0138E000h
foo_podtranscoder                loaded at 01390000h - 0139B000h
foo_qconfig                      loaded at 013A0000h - 013AC000h
foo_quicktag                     loaded at 013B0000h - 013B9000h
foo_read_http                    loaded at 013C0000h - 013D3000h
foo_record                       loaded at 013E0000h - 013EE000h
foo_remote                       loaded at 013F0000h - 013FB000h
foo_rgscan                       loaded at 01400000h - 0140D000h
foo_scheduler                    loaded at 01410000h - 01422000h
foo_scroll                       loaded at 01430000h - 01436000h
foo_send_to_pl                   loaded at 01440000h - 01449000h
foo_shuffle                      loaded at 01450000h - 0145B000h
foo_spc                          loaded at 01460000h - 01471000h
foo_speex                        loaded at 01480000h - 01498000h
foo_systemdate2                  loaded at 014A0000h - 014AB000h
foo_temple                       loaded at 014B0000h - 014BB000h
foo_uie_albumart                 loaded at 014C0000h - 014CB000h
foo_uie_albumlist                loaded at 014D0000h - 014DE000h
foo_uie_dbexplorer               loaded at 014E0000h - 014EA000h
foo_uie_simple_spectrum          loaded at 014F0000h - 014FB000h
foo_uie_tabs                     loaded at 01500000h - 0150A000h
foo_uie_trackinfo                loaded at 01510000h - 0151B000h
foo_uie_volume                   loaded at 01520000h - 0152B000h
foo_ui_columns                   loaded at 01530000h - 01566000h
foo_ui_std                       loaded at 01570000h - 01587000h
foo_unpack                       loaded at 01590000h - 015C1000h
foo_vis_bubbla                   loaded at 015D0000h - 015E4000h
OPENGL32                         loaded at 5F120000h - 5F1EC000h
GLU32                            loaded at 5FEA0000h - 5FEC1000h
DDRAW                            loaded at 736E0000h - 73729000h
DCIMAN32                         loaded at 73B40000h - 73B46000h
foo_vis_manager                  loaded at 035F0000h - 035F8000h
foo_vis_samurize2                loaded at 03600000h - 03627000h
foo_vis_simple_spectrum          loaded at 03750000h - 0375B000h
foo_vis_stereo                   loaded at 03760000h - 037E8000h
foo_vis_vu_meter                 loaded at 037F0000h - 037F8000h
foo_vorbisenc                    loaded at 03800000h - 038FA000h
foo_wavpack                      loaded at 03900000h - 03912000h
foo_web                          loaded at 03920000h - 03939000h
foo_wma                          loaded at 03940000h - 03959000h
WMVCore                          loaded at 7D7A0000h - 7D9AA000h
wmidx                            loaded at 4B380000h - 4B3A9000h
WMASF                            loaded at 59DE0000h - 59E1C000h
msdmo                            loaded at 73630000h - 73637000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                           loaded at 77AF0000h - 77B02000h
urlmon                           loaded at 77230000h - 772CE000h
MSVFW32                          loaded at 75ED0000h - 75EF1000h
WSOCK32                          loaded at 71A50000h - 71A5A000h
DRMClien                         loaded at 03960000h - 039AF000h
foo_tbar                         loaded at 039C0000h - 039C9000h
foo_text                         loaded at 039D0000h - 039E3000h
msctfime                         loaded at 75160000h - 7518E000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                           loaded at 77010000h - 770E0000h
msi                              loaded at 7D1F0000h - 7D4A2000h
USERENV                          loaded at 76630000h - 766E4000h
xpsp2res                         loaded at 20000000h - 202D6000h
SXS                              loaded at 76980000h - 76A31000h
Powrprof                         loaded at 74A60000h - 74A68000h
mswsock                          loaded at 719D0000h - 71A10000h
DNSAPI                           loaded at 76EE0000h - 76F07000h
winrnr                           loaded at 76F70000h - 76F78000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
rasadhlp                         loaded at 76F80000h - 76F86000h
hnetcfg                          loaded at 66740000h - 66799000h
wshtcpip                         loaded at 71A10000h - 71A18000h
appHelp                          loaded at 77B10000h - 77B32000h
cscui                            loaded at 779F0000h - 77A45000h
CSCDLL                           loaded at 765B0000h - 765CD000h
browseui                         loaded at 75F30000h - 7602C000h
ntshrui                          loaded at 76950000h - 76976000h
ATL                              loaded at 76AE0000h - 76AF1000h
NETAPI32                         loaded at 597F0000h - 59844000h
shdocvw                          loaded at 77730000h - 7789C000h
CRYPTUI                          loaded at 76890000h - 76914000h
WINTRUST                         loaded at 76BF0000h - 76C1E000h
IMAGEHLP                         loaded at 76C50000h - 76C78000h
NTMARTA                          loaded at 77660000h - 77681000h
SAMLIB                           loaded at 71B90000h - 71BA3000h
DBGHELP                          loaded at 5D4B0000h - 5D551000h

Stack dump analysis:
Address: 012AB770h, location: "foo_playlist_tree", loaded at 012A0000h - 012F6000h

Version info:
foobar2000 v0.8.3
UNICODE


Screenshot of the debug message I get:
http://www.hydrogenaudio.org/forums/index....showtopic=29530 (http://www.hydrogenaudio.org/forums/index.php?showtopic=29530)
Title: foo_playlist_tree
Post by: Killmaster on 2004-11-20 07:31:46
This might be going past the focus of this plugin, but here goes:

What if you took the idea of this plugin, but have it replace the actual playlist window? Files would play through in the same order as they do now, but everything would be displayed in heirarchial format. This way, I could drag an album from the albumlist and have it show up as a tree entry. What I'd change, however, is to make it exactly like the default playlist, just with indentations to represent tree levels. It would look something like this, with each line a entry on the playlist:

Code: [Select]
single track
single track 2
Artist1
  (2001) Album1
single track 3
  (2002) Album2 (elapsed/total)
      .01 song1 << (now playing)
      .02 song2


If I were to double click on album 2, then it would play all the songs within it. If you right-clicked on it there would be an option to open/close it along with all the other stuff.. basically this would be a way to keep the playlist nice and compact, so each of my albums that I have queued up only take one entry.

everything would be tagz configurable of course
Title: foo_playlist_tree
Post by: spase on 2004-11-23 07:21:36
i VERY MUCH like this component idea, expecially because it is (for the most part) drag and drop!

one use i have found already (after playing with it for maybe 2 minutes) is:

I have a lot of releases that are on an internet label called kahvi, not all of which i have listened to, but some of which i quite like.  so i can add a part of the tree called "kahvi" and add sub items for each release (most are 3-5 track releases)

this is quite easy with the drag and drop, but would be quite difficult with the album list panel, and would probably require making all sorts of tags that I didn't really need.

thanks a ton and keep up the good work... oh yea i second the idea for a panel UI extension... this would probably replace my album list config (which i so painstakingly created).

oh, and i will report any crashes or bugs i find.  thanks!
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-23 19:46:34
I'm glad some people are starting to understand what I am doing.

I've updated the program to allow for rearranging order using drag and drop.

The program now loads the last collection you saved or loaded when you start it up, and asks you to save if the collection has changed since the last load or save when you quit foobar2000.

I'm not averse to the idea of making it into a ui_extension, but the ui_extension api is giving me some issues... if anyone out there wants to help me do that, let me know...
Title: foo_playlist_tree
Post by: spase on 2004-11-24 05:27:08
ok i opened playlist tree, right clicked on the "ALL" category and got a crash (using the newest version)

here is the info:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 015D8DA0h
Access violation, operation: read, address: CCCCCCECh
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (015D8DA0h):
015D8D60h:  01 00 8B E5 5D C3 CC CC CC CC CC CC CC CC CC CC
015D8D70h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
015D8D80h:  55 8B EC 83 EC 44 53 56 57 51 8D 7D BC B9 11 00
015D8D90h:  00 00 B8 CC CC CC CC F3 AB 59 89 4D FC 8B 45 FC
015D8DA0h:  8B 40 08 5F 5E 5B 8B E5 5D C3 CC CC CC CC CC CC
015D8DB0h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
015D8DC0h:  55 8B EC 83 EC 44 53 56 57 51 8D 7D BC B9 11 00
015D8DD0h:  00 00 B8 CC CC CC CC F3 AB 59 89 4D FC 8B 4D FC
Stack (0012F6B0h):
0012F690h:  00000040 F861588C BF803DD3 00000000
0012F6A0h:  F8615B34 0000003B 00000000 00C5FF28
0012F6B0h:  0012F758 0012F810 00000000 CCCCCCCC
0012F6C0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F6D0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F6E0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F6F0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCE4
0012F700h:  0012F758 015DF6E5 0012F7B0 0012F810
0012F710h:  00000000 CCCCCCCC CCCCCCCC CCCCCCCC
0012F720h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F730h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F740h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F750h:  CCCCCCCC CCCCCCE4 0012F7B0 015D8A65
0012F760h:  0012F808 0012F810 00000000 CCCCCCCC
0012F770h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F780h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F790h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F7A0h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCE4
0012F7B0h:  0012F808 015D4298 0012FA44 0012F810
0012F7C0h:  00000000 CCCCCCCC CCCCCCCC CCCCCCCC
Registers:
EAX: CCCCCCE4, EBX: 00000000, ECX: CCCCCCE4, EDX: 77C61AA0
ESI: 0012F810, EDI: 0012F700, EBP: 0012F700, ESP: 0012F6B0
Crash location: "foo_playlist_tree", loaded at 015D0000h - 01628000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                         loaded at 7C800000h - 7C8F4000h
USER32                           loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761C000h
msvcrt                           loaded at 77C10000h - 77C68000h
ADVAPI32                         loaded at 77DD0000h - 77E6B000h
RPCRT4                           loaded at 77E70000h - 77F01000h
COMCTL32                         loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
IMM32                            loaded at 76390000h - 763AD000h
LPK                              loaded at 629C0000h - 629C9000h
USP10                            loaded at 74D90000h - 74DFB000h
foo_abx                          loaded at 009E0000h - 009EC000h
foo_ac3                          loaded at 009F0000h - 00A03000h
foo_albumlist                    loaded at 00A10000h - 00A1B000h
foo_ape                          loaded at 00A20000h - 00A3F000h
foo_apl                          loaded at 00A40000h - 00A4A000h
foo_bitcompare                   loaded at 00A50000h - 00A59000h
foo_burninate                    loaded at 00A60000h - 00A6C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                         loaded at 00A70000h - 00A7E000h
foo_clienc                       loaded at 00A80000h - 00A8B000h
foo_console                      loaded at 00A90000h - 00A97000h
foo_convolve                     loaded at 00AA0000h - 00AEF000h
foo_cue_ex                       loaded at 00AF0000h - 00AFB000h
foo_custom_sort                  loaded at 00B00000h - 00B08000h
foo_dbsearch                     loaded at 00B10000h - 00B28000h
foo_diskwriter                   loaded at 00B30000h - 00B42000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_crossfade                loaded at 00BD0000h - 00BD7000h
foo_dsp_crossfeed                loaded at 00BE0000h - 00BE6000h
foo_dsp_extra                    loaded at 00BF0000h - 00C05000h
foo_dsp_mute                     loaded at 00C10000h - 00C17000h
foo_dsp_nogaps                   loaded at 00C20000h - 00C27000h
foo_dsp_pause                    loaded at 00C30000h - 00C37000h
foo_dsp_skip_silence             loaded at 00C40000h - 00C47000h
foo_dsp_soundtouch               loaded at 00C50000h - 00C5B000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_dynamics                     loaded at 00C60000h - 00C67000h
foo_faac                         loaded at 00C70000h - 00CA3000h
foo_festalon                     loaded at 00CB0000h - 00DEE000h
foo_flac                         loaded at 00DF0000h - 00E0C000h
foo_flaccer                      loaded at 00E10000h - 00E26000h
foo_freedb                       loaded at 00E30000h - 00E5E000h
WS2_32                           loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_history                      loaded at 00E60000h - 00E72000h
foo_id3v2                        loaded at 00E80000h - 00EB0000h
foo_infobox                      loaded at 00EB0000h - 00EC3000h
foo_input_std                    loaded at 00ED0000h - 00F6E000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_lame                         loaded at 00F70000h - 00F79000h
foo_lpac                         loaded at 00F80000h - 00F87000h
lpac_codec_api                   loaded at 00F90000h - 00F9A000h
lpaccodec                        loaded at 00FA0000h - 00FC9000h
foo_masstag                      loaded at 011F0000h - 01204000h
foo_matroska                     loaded at 01210000h - 01258000h
foo_midi                         loaded at 01260000h - 012EF000h
MFC42                            loaded at 73DD0000h - 73ECE000h
OLEAUT32                         loaded at 77120000h - 771AC000h
foo_mod                          loaded at 012F0000h - 012F9000h
BASS                             loaded at 01300000h - 0135A000h
foo_monkey                       loaded at 01360000h - 0137C000h
foo_mpeg4u                       loaded at 01380000h - 013A9000h
foo_nez                          loaded at 013B0000h - 013DB000h
foo_null                         loaded at 013E0000h - 013E7000h
foo_ofr                          loaded at 013F0000h - 013F6000h
OptimFROG                        loaded at 01400000h - 0142C000h
foo_oggpreview                   loaded at 01440000h - 01541000h
foo_osd                          loaded at 01550000h - 0155C000h
foo_output_std                   loaded at 01560000h - 01569000h
foo_out_dsound_ex                loaded at 01570000h - 01579000h
DSOUND                           loaded at 73F10000h - 73F6C000h
foo_out_dsound_ex2               loaded at 01590000h - 01599000h
foo_out_ks                       loaded at 015A0000h - 015AB000h
SETUPAPI                         loaded at 77920000h - 77A13000h
foo_playlistfind                 loaded at 015B0000h - 015BB000h
foo_playlistgen_ex               loaded at 015C0000h - 015CF000h
foo_playlist_tree                loaded at 015D0000h - 01628000h
MSVCRTD                          loaded at 10200000h - 10264000h
foo_pphsresample                 loaded at 01640000h - 01650000h
foo_psf                          loaded at 01650000h - 016FC000h
foo_quicktag                     loaded at 01700000h - 01709000h
foo_read_http                    loaded at 01710000h - 01719000h
foo_recycle                      loaded at 01720000h - 01729000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_rgscan                       loaded at 01740000h - 0174D000h
foo_scroll                       loaded at 01750000h - 01756000h
foo_search_ex                    loaded at 01760000h - 01768000h
foo_shn                          loaded at 01770000h - 0177F000h
foo_shuffle                      loaded at 01780000h - 01789000h
foo_sid                          loaded at 017D0000h - 01817000h
foo_spc                          loaded at 01790000h - 017A1000h
foo_speex                        loaded at 01820000h - 01838000h
foo_temple                       loaded at 017B0000h - 017BB000h
foo_tfmx                         loaded at 01840000h - 01849000h
foo_tta                          loaded at 01850000h - 01859000h
foo_tta_old                      loaded at 01860000h - 01869000h
foo_uie_albumart                 loaded at 01870000h - 0187B000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
foo_uie_albumlist                loaded at 01880000h - 0188E000h
foo_uie_ascii_buttons            loaded at 01890000h - 01896000h
foo_uie_tabs                     loaded at 018A0000h - 018AA000h
foo_uie_trackinfo                loaded at 018B0000h - 018BB000h
foo_uie_volume                   loaded at 018C0000h - 018CA000h
foo_ui_columns                   loaded at 018D0000h - 01906000h
foo_ui_std                       loaded at 01910000h - 01927000h
foo_unpack                       loaded at 01930000h - 01961000h
foo_utils                        loaded at 01970000h - 01981000h
foo_vis_bacon                    loaded at 01990000h - 019A7000h
foo_vis_manager                  loaded at 019B0000h - 019B8000h
foo_vis_simple_spectrum          loaded at 019C0000h - 019CA000h
foo_vis_vu_meter                 loaded at 019D0000h - 019D8000h
foo_vorbisenc                    loaded at 019E0000h - 01AF1000h
foo_wavpack                      loaded at 01B00000h - 01B12000h
foo_web                          loaded at 01B20000h - 01B39000h
foo_wma                          loaded at 01B40000h - 01B5A000h
WMVCore                          loaded at 7D790000h - 7D99A000h
wmidx                            loaded at 4B320000h - 4B349000h
WMASF                            loaded at 59A10000h - 59A4C000h
msdmo                            loaded at 736B0000h - 736B7000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                           loaded at 77B20000h - 77B32000h
urlmon                           loaded at 77260000h - 772FE000h
MSVFW32                          loaded at 75A70000h - 75A91000h
WSOCK32                          loaded at 71AD0000h - 71AD9000h
DRMClien                         loaded at 01B60000h - 01BAF000h
foo_xa                           loaded at 01BC0000h - 01BCF000h
msctfime                         loaded at 755C0000h - 755EE000h
asycfilt                         loaded at 708F0000h - 70903000h
UxTheme                          loaded at 5AD70000h - 5ADA8000h
winroll                          loaded at 023B0000h - 023B7000h
WINTRUST                         loaded at 76C30000h - 76C5E000h
IMAGEHLP                         loaded at 76C90000h - 76CB8000h
wdmaud                           loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                           loaded at 73EE0000h - 73EE4000h
xpsp2res                         loaded at 20000000h - 202C5000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 015DF6E5h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 015D8A65h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 015D4298h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 015DBDF0h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 015DBB50h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 015FF0BCh, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 015DBB50h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 015DBB50h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h
Address: 77D54CA6h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CreateIconFromResourceEx" (+000002C2h)
Address: 015DBB50h, location: "foo_playlist_tree", loaded at 015D0000h - 01628000h

Version info:
foobar2000 v0.8.3
UNICODE


edit: not reproducible (yet)
Title: foo_playlist_tree
Post by: spase on 2004-11-24 05:35:45
also, i tried to add 333 tracks to the tree and it seemed to freeze foobar... no error messages or anything, just stopped responding.  it was still playing tho... odd.
Title: foo_playlist_tree
Post by: spase on 2004-11-24 05:56:04
i think this "freezing" was it just taking its time to load the tracks.

couple other things tho:

would it be possible to have multi-select?

can you make it scroll while dragging items?

can yo umake it so every tree is not re-opened every time items or a new sub-tree is added?

is customizable track display in the future? (i.e. adding tracknumbers maybe?)

thats all the suggestions i have for now.

oh and it seems to have focus issues a lot (looses focus to main foobar window for some reason?)
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-24 17:58:27
Quote
i think this "freezing" was it just taking its time to load the tracks.
[a href="index.php?act=findpost&pid=255863"][{POST_SNAPBACK}][/a]


I added a progress bar to the window so you can now tell when things are happening... this should clear up the freezing issue...

Quote
would it be possible to have multi-select?

can you make it scroll while dragging items?
[a href="index.php?act=findpost&pid=255863"][{POST_SNAPBACK}][/a]


Multi select is not a bad idea, but it probably won't happen for a while... I'm not sure how do the the scrolling but if its not too hard I might do it...


Quote
is customizable track display in the future? (i.e. adding tracknumbers maybe?)

oh and it seems to have focus issues a lot (looses focus to main foobar window for some reason?)
[a href="index.php?act=findpost&pid=255863"][{POST_SNAPBACK}][/a]


Yes, the future is now.  I updated the program to allow customizing the track display information.

The focus issue I'm not sure of... I can make it so that the playlist tree always has focus when foobar2000 is active but that can be annoying so I'm not sure how to get around the losing focus issue.

I also added an option to automatically start playlist_tree when foobar2000 starts, and an option to load the previous tree or not.
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-11-24 20:30:29
Can you make it a panel?
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-24 22:59:03
I added a kludged version of scrolling... if you are dragging an item and go above or below the window the tree will scroll...

I also added the option of sending a tree to a device... what this does is copy all the files in the list to the path that is specified in the configuration...

For example, my mp3 acts as a usb thumbdrive and attaches as E: drive.  I can put E:\ as the path and then send a list to the device.  I also added the total file size to the display at the folder level of the playlist so you can determine if it will fit on your device.
Title: foo_playlist_tree
Post by: anza on 2004-11-24 23:04:14
The zip file seems to be broken.
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-25 05:18:09
Quote
The zip file seems to be broken.
[a href="index.php?act=findpost&pid=256031"][{POST_SNAPBACK}][/a]


Thanks for the heads up.  I forgot to ftp it in binary mode.  its fixed.
Title: foo_playlist_tree
Post by: pIv on 2004-11-25 12:23:10
To cwbowron

1. When I try drag to playlist_tree_window any folder with  subfolder  including cyrillic character in it's names, I have next result:

tree with next empty entryes

<Foldeê name> [0:00] {0 megs}
  !-<
  !-<
.

2. My opinion is use idea of 1by1 player for ui tree extension with ui_columns.

You can find it on http://www.mpesch3.de/ (http://www.mpesch3.de/).
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-26 06:36:38
playlist tree now works as a ui extension which means that it can be used as a tab.

as always it is available at http://www.bowron.us/foo_playlist_tree.zip (http://www.bowron.us/foo_playlist_tree.zip)

share and enjoy.
Title: foo_playlist_tree
Post by: Sperber on 2004-11-26 08:18:51
Quote
playlist tree now works as a ui extension which means that it can be used as a tab.

as always it is available at http://www.bowron.us/foo_playlist_tree.zip (http://www.bowron.us/foo_playlist_tree.zip)

share and enjoy.
[a href="index.php?act=findpost&pid=256223"][{POST_SNAPBACK}][/a]





Claus
Title: foo_playlist_tree
Post by: jkwarras on 2004-11-26 08:20:26
Ohoh! Thanks
Title: foo_playlist_tree
Post by: stroke on 2004-11-26 18:05:23
the panel version of playlist tree is a great idea, but i have a problem, sort of ... well, drag & drop, when draging frorm playlist to the playlist tree, works OK for me ... with the right mouse button. while i'm drging folders within the playlist tree panel i have to use the left mouse button. a little confusing. is it intended?

when i save a collection, file extension is not saved, unless i enter the file name in the following format: name.col

and i also have an idea. what about including a possibility to display database content formated according to a set of rules, specified in formatting strings, just like album list panel, or database expolrer panel display. these folders would update automatically whenever database content changes. and one could use only one panel instead of two to organize one's music & stuff. it could look something like that:

(http://img41.exs.cx/img41/9808/playlist_tree_mockup.png)

the first 14 folders updating automatically, as they were created by inserting a certain formatting string in the plugin's preferences, and the Radiohead folder staying unchanged, as long as i want, since it was created by the drag & drop method

what do you think?

ps. move up/down feature would also be useful
Title: foo_playlist_tree
Post by: spase on 2004-11-27 07:36:05
i like stroke's idea.

also i have come across some annoying behavior:

given this tree:
Code: [Select]
All Music
 |
 +1
 |
 +2
    |
    +a
    |
    +b


if i add a subfolder below b, within 2, then this happens, no matter what it seems:
Code: [Select]
All Music
 |
 +1
 |
 +2
    |
    +a
    |  |
    |  -entry1
    |  -entry2
    +b
    |  |
    |  -entry1
    |  -entry2
    +c


basically, when adding empty subfolder "c", subfolder "b" and "a" are opened completely, making it necessary to scroll back up the window to drag tracks into "c" after it is created.

also, this happens if "c" were to already exist and i drag tracks onto it... all the subfolders in its containing subfolder open up.

can you make this not happen?

thanks!
Title: foo_playlist_tree
Post by: spase on 2004-11-27 07:44:34
also, in creating a new item or renaming an old one, after editing the name, pressing enter does nothing... i think it would be best if it accepted the changes made (like when renaming files in explorer)
Title: foo_playlist_tree
Post by: jkwarras on 2004-11-27 10:39:52
Quote
what do you think?
[a href="index.php?act=findpost&pid=256299"][{POST_SNAPBACK}][/a]

I like it 
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-28 21:59:21
Quote
the panel version of playlist tree is a great idea, but i have a problem, sort of ... well, drag & drop, when draging frorm playlist to the playlist tree, works OK for me ... with the right mouse button. while i'm drging folders within the playlist tree panel i have to use the left mouse button. a little confusing. is it intended?

when i save a collection, file extension is not saved, unless i enter the file name in the following format: name.col
[a href="index.php?act=findpost&pid=256299"][{POST_SNAPBACK}][/a]


I had never intended dragging items from the playlist to the playlist tree so any way in which that works is a by product of other stuff.  My intent was just to be able to drag and drop files from explorer and to drag and drop items within the tree.

I have noted that it doest add the extension if one is not given and that will most likely be changed in the next release.


Quote
and i also have an idea. what about including a possibility to display database content formated according to a set of rules, specified in formatting strings, just like album list panel, or database expolrer panel display. these folders would update automatically whenever database content changes. and one could use only one panel instead of two to organize one's music & stuff. it could look something like that:

(http://img41.exs.cx/img41/9808/playlist_tree_mockup.png)

the first 14 folders updating automatically, as they were created by inserting a certain formatting string in the plugin's preferences, and the Radiohead folder staying unchanged, as long as i want, since it was created by the drag & drop method

what do you think?
[a href="index.php?act=findpost&pid=256299"][{POST_SNAPBACK}][/a]


Not a bad idea, but it's not something I am likely to implement.  If any one else want to take my code and run with it, they are free to do so.

Is there any advantage to this that could not be done using two panels, one to have your playlist tree and one to have your albumlist panel?

To give some background, I have a collection of over 700 cds... I dont want anything that automatically shows me my entire collection.  I use explorer to nagivate that.  What I use this for is generating categorized trees of small subsets of my collection so they are much more managable.

Quote
ps. move up/down feature would also be useful
[a href="index.php?act=findpost&pid=256299"][{POST_SNAPBACK}][/a]


A move up/down feature is already in it... You can move songs up and down in their playlist using drag and drop, and you can use '[' and ']' to move songs and entire trees up and down.

As far as the renaming goes, that should already work, but apparently its not working for some people... its working for me...  Renaming only works for folders, not for files.

As for the trees being expanded when dropping new ones, I dont know what thats all about, I might look into it... Could be a side effect of TreeView_EnsureVisible.
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-29 00:18:58
Quote
I have noted that it doest add the extension if one is not given and that will most likely be changed in the next release.


As for the trees being expanded when dropping new ones, I dont know what thats all about, I might look into it... Could be a side effect of TreeView_EnsureVisible.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=256609")


I fixed the extension issue.  If you type in a name without an extension, .col will be added to it.

I also fixed the expansion issue.  Now when you drag and drop files and folders, the expansion of other trees will not be affected.

the file, as always, can be found at [a href="http://www.bowron.us/foo_playlist_tree.zip]http://www.bowron.us/foo_playlist_tree.zip[/url]
Title: foo_playlist_tree
Post by: spase on 2004-11-29 22:18:27
looks good...

i'm not sure if its possible, but i know some other programs allow using the scroll button to scroll while drag and dropping items... i never really noticed it until i couldnt do it in the playlist tree.

this is something that could certainly be useful.
Title: foo_playlist_tree
Post by: spase on 2004-11-29 22:18:52
oh and also, do your ".col" files have the same format as the ones from mpeg audio collection?
Title: foo_playlist_tree
Post by: spase on 2004-11-29 22:28:53
hmm i got this crash one time when renaming an item... so far not reproducible:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 015DBD30h
Access violation, operation: read, address: CCCCCCD4h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (015DBD30h):
015DBCF0h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
015DBD00h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
015DBD10h:  55 8B EC 83 EC 44 53 56 57 51 8D 7D BC B9 11 00
015DBD20h:  00 00 B8 CC CC CC CC F3 AB 59 89 4D FC 8B 45 FC
015DBD30h:  83 38 00 74 17 8B 4D FC 8B 11 52 E8 6F 53 FF FF
015DBD40h:  83 C4 04 8B 45 FC C7 00 00 00 00 00 5F 5E 5B 83
015DBD50h:  C4 44 3B EC E8 D3 F6 01 00 8B E5 5D C3 CC CC CC
015DBD60h:  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
Stack (0012F0E8h):
0012F0C8h:  0255EB70 7C9C76F0 77F643DD 7C9C76F0
0012F0D8h:  00000004 00000000 0255E07C 00000000
0012F0E8h:  0012F374 015DE090 00000000 CCCCCCCC
0012F0F8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F108h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F118h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F128h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCD4
0012F138h:  0012F380 015DECD2 0012F3E8 015DE090
0012F148h:  00000000 CCCCCCCC CCCCCCCC CCCCCCCC
0012F158h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F168h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F178h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F188h:  CCCCCCCC CCCCCCCC FFFFFE34 CCCCCCCC
0012F198h:  CCCCCCCC 0000004C CCCCCCCC CCCCCCCC
0012F1A8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F1B8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F1C8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F1D8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F1E8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
0012F1F8h:  CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
Registers:
EAX: CCCCCCD4, EBX: 00000000, ECX: CCCCCCD4, EDX: 00A93120
ESI: 015DE090, EDI: 0012F138, EBP: 0012F138, ESP: 0012F0E8
Crash location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                         loaded at 7C800000h - 7C8F4000h
USER32                           loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761C000h
msvcrt                           loaded at 77C10000h - 77C68000h
ADVAPI32                         loaded at 77DD0000h - 77E6B000h
RPCRT4                           loaded at 77E70000h - 77F01000h
COMCTL32                         loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
IMM32                            loaded at 76390000h - 763AD000h
LPK                              loaded at 629C0000h - 629C9000h
USP10                            loaded at 74D90000h - 74DFB000h
foo_abx                          loaded at 009E0000h - 009EC000h
foo_ac3                          loaded at 009F0000h - 00A03000h
foo_albumlist                    loaded at 00A10000h - 00A1B000h
foo_ape                          loaded at 00A20000h - 00A3F000h
foo_apl                          loaded at 00A40000h - 00A4A000h
foo_bitcompare                   loaded at 00A50000h - 00A59000h
foo_burninate                    loaded at 00A60000h - 00A6C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                         loaded at 00A70000h - 00A7E000h
foo_clienc                       loaded at 00A80000h - 00A8B000h
foo_console                      loaded at 00A90000h - 00A97000h
foo_convolve                     loaded at 00AA0000h - 00AEF000h
foo_cue_ex                       loaded at 00AF0000h - 00AFB000h
foo_custom_sort                  loaded at 00B00000h - 00B08000h
foo_dbsearch                     loaded at 00B10000h - 00B28000h
foo_diskwriter                   loaded at 00B30000h - 00B42000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_crossfade                loaded at 00BD0000h - 00BD7000h
foo_dsp_crossfeed                loaded at 00BE0000h - 00BE6000h
foo_dsp_extra                    loaded at 00BF0000h - 00C05000h
foo_dsp_mute                     loaded at 00C10000h - 00C17000h
foo_dsp_nogaps                   loaded at 00C20000h - 00C27000h
foo_dsp_pause                    loaded at 00C30000h - 00C37000h
foo_dsp_skip_silence             loaded at 00C40000h - 00C47000h
foo_dsp_soundtouch               loaded at 00C50000h - 00C5B000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_dynamics                     loaded at 00C60000h - 00C67000h
foo_faac                         loaded at 00C70000h - 00CA3000h
foo_festalon                     loaded at 00CB0000h - 00DEE000h
foo_flac                         loaded at 00DF0000h - 00E0C000h
foo_flaccer                      loaded at 00E10000h - 00E26000h
foo_freedb                       loaded at 00E30000h - 00E5E000h
WS2_32                           loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_history                      loaded at 00E60000h - 00E72000h
foo_id3v2                        loaded at 00E80000h - 00EB0000h
foo_infobox                      loaded at 00EB0000h - 00EC3000h
foo_input_std                    loaded at 00ED0000h - 00F6E000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_lame                         loaded at 00F70000h - 00F79000h
foo_lpac                         loaded at 00F80000h - 00F87000h
lpac_codec_api                   loaded at 00F90000h - 00F9A000h
lpaccodec                        loaded at 00FA0000h - 00FC9000h
foo_masstag                      loaded at 011F0000h - 01204000h
foo_matroska                     loaded at 01210000h - 01258000h
foo_midi                         loaded at 01260000h - 012EF000h
MFC42                            loaded at 73DD0000h - 73ECE000h
OLEAUT32                         loaded at 77120000h - 771AC000h
foo_mod                          loaded at 012F0000h - 012F9000h
BASS                             loaded at 01300000h - 0135A000h
foo_monkey                       loaded at 01360000h - 0137C000h
foo_mpeg4u                       loaded at 01380000h - 013A9000h
foo_nez                          loaded at 013B0000h - 013DB000h
foo_null                         loaded at 013E0000h - 013E7000h
foo_ofr                          loaded at 013F0000h - 013F6000h
OptimFROG                        loaded at 01400000h - 0142C000h
foo_oggpreview                   loaded at 01440000h - 01541000h
foo_osd                          loaded at 01550000h - 0155C000h
foo_output_std                   loaded at 01560000h - 01569000h
foo_out_dsound_ex                loaded at 01570000h - 01579000h
DSOUND                           loaded at 73F10000h - 73F6C000h
foo_out_dsound_ex2               loaded at 01590000h - 01599000h
foo_out_ks                       loaded at 015A0000h - 015AB000h
SETUPAPI                         loaded at 77920000h - 77A13000h
foo_playlistfind                 loaded at 015B0000h - 015BB000h
foo_playlistgen_ex               loaded at 015C0000h - 015CF000h
foo_playlist_tree                loaded at 015D0000h - 0162E000h
MSVCRTD                          loaded at 10200000h - 10264000h
foo_pphsresample                 loaded at 01640000h - 01650000h
foo_psf                          loaded at 01650000h - 016FC000h
foo_quicktag                     loaded at 01700000h - 01709000h
foo_read_http                    loaded at 01710000h - 01719000h
foo_recycle                      loaded at 01720000h - 01729000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_rgscan                       loaded at 01740000h - 0174D000h
foo_scroll                       loaded at 01750000h - 01756000h
foo_search_ex                    loaded at 01760000h - 01768000h
foo_shn                          loaded at 01770000h - 0177F000h
foo_shuffle                      loaded at 01780000h - 01789000h
foo_sid                          loaded at 017D0000h - 01817000h
foo_spc                          loaded at 01790000h - 017A1000h
foo_speex                        loaded at 01820000h - 01838000h
foo_temple                       loaded at 017B0000h - 017BB000h
foo_tfmx                         loaded at 01840000h - 01849000h
foo_tta                          loaded at 01850000h - 01859000h
foo_tta_old                      loaded at 01860000h - 01869000h
foo_uie_albumart                 loaded at 01870000h - 0187B000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
foo_uie_albumlist                loaded at 01880000h - 0188E000h
foo_uie_ascii_buttons            loaded at 01890000h - 01896000h
foo_uie_tabs                     loaded at 018A0000h - 018AA000h
foo_uie_trackinfo                loaded at 018B0000h - 018BB000h
foo_uie_volume                   loaded at 018C0000h - 018CA000h
foo_ui_columns                   loaded at 018D0000h - 01906000h
foo_ui_std                       loaded at 01910000h - 01927000h
foo_unpack                       loaded at 01930000h - 01961000h
foo_utils                        loaded at 01970000h - 01981000h
foo_vis_bacon                    loaded at 01990000h - 019A7000h
foo_vis_manager                  loaded at 019B0000h - 019B8000h
foo_vis_simple_spectrum          loaded at 019C0000h - 019CA000h
foo_vis_vu_meter                 loaded at 019D0000h - 019D8000h
foo_vorbisenc                    loaded at 019E0000h - 01AF1000h
foo_wavpack                      loaded at 01B00000h - 01B12000h
foo_web                          loaded at 01B20000h - 01B39000h
foo_wma                          loaded at 01B40000h - 01B5A000h
WMVCore                          loaded at 7D790000h - 7D99A000h
wmidx                            loaded at 4B320000h - 4B349000h
WMASF                            loaded at 59A10000h - 59A4C000h
msdmo                            loaded at 736B0000h - 736B7000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                           loaded at 77B20000h - 77B32000h
urlmon                           loaded at 77260000h - 772FE000h
MSVFW32                          loaded at 75A70000h - 75A91000h
WSOCK32                          loaded at 71AD0000h - 71AD9000h
DRMClien                         loaded at 01B60000h - 01BAF000h
foo_xa                           loaded at 01BC0000h - 01BCF000h
msctfime                         loaded at 755C0000h - 755EE000h
UxTheme                          loaded at 5AD70000h - 5ADA8000h
winroll                          loaded at 01C00000h - 01C07000h
asycfilt                         loaded at 708F0000h - 70903000h
netapi32                         loaded at 5B860000h - 5B8B4000h
appHelp                          loaded at 77B40000h - 77B62000h
CLBCATQ                          loaded at 76FD0000h - 7704F000h
COMRes                           loaded at 77050000h - 77115000h
shdocvw                          loaded at 77760000h - 778CC000h
CRYPTUI                          loaded at 754D0000h - 75550000h
WINTRUST                         loaded at 76C30000h - 76C5E000h
IMAGEHLP                         loaded at 76C90000h - 76CB8000h
WLDAP32                          loaded at 76F60000h - 76F8C000h
Secur32                          loaded at 77FE0000h - 77FF1000h
xpsp2res                         loaded at 20000000h - 202C5000h
cscui                            loaded at 77A20000h - 77A74000h
CSCDLL                           loaded at 76600000h - 7661D000h
browseui                         loaded at 75F80000h - 7607C000h
ntshrui                          loaded at 76990000h - 769B5000h
ATL                              loaded at 76B20000h - 76B31000h
USERENV                          loaded at 769C0000h - 76A73000h
MPR                              loaded at 71B20000h - 71B32000h
drprov                           loaded at 75F60000h - 75F67000h
ntlanman                         loaded at 71C10000h - 71C1E000h
NETUI0                           loaded at 71CD0000h - 71CE7000h
NETUI1                           loaded at 71C90000h - 71CD0000h
NETRAP                           loaded at 71C80000h - 71C87000h
SAMLIB                           loaded at 71BF0000h - 71C03000h
davclnt                          loaded at 75F70000h - 75F79000h
MSGINA                           loaded at 75970000h - 75A67000h
WINSTA                           loaded at 76360000h - 76370000h
ODBC32                           loaded at 74320000h - 7435D000h
odbcint                          loaded at 03AA0000h - 03AB7000h
wiashext                         loaded at 593F0000h - 59482000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
sti                              loaded at 73BA0000h - 73BB3000h
CFGMGR32                         loaded at 74AE0000h - 74AE7000h
LINKINFO                         loaded at 76980000h - 76988000h
msi                              loaded at 7D1E0000h - 7D492000h
shook45                          loaded at 02860000h - 02868000h
iconv                            loaded at 03B60000h - 03C3A000h
GoogleDesktopNetwork1            loaded at 43000000h - 43005000h
mswsock                          loaded at 71A50000h - 71A8F000h
hnetcfg                          loaded at 662B0000h - 66308000h
wshtcpip                         loaded at 71A90000h - 71A98000h
DNSAPI                           loaded at 76F20000h - 76F47000h
winrnr                           loaded at 76FB0000h - 76FB8000h
wshbth                           loaded at 751D0000h - 751EE000h
rasadhlp                         loaded at 76FC0000h - 76FC6000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 015DE090h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 015DECD2h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 015DE090h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 01622804h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 01602E7Ch, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 015DE090h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 015DE090h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 77D54CA6h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CreateIconFromResourceEx" (+000002C2h)
Address: 015DE090h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D54CC8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CreateIconFromResourceEx" (+000002E4h)
Address: 77D54AF2h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CreateIconFromResourceEx" (+0000010Eh)
Address: 015DE090h, location: "foo_playlist_tree", loaded at 015D0000h - 0162E000h
Address: 77D48832h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000019Bh)
Address: 77D487FFh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000168h)
Address: 77D6BF51h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "SoftModalMessageBox" (+00000E03h)
Address: 77D4B7ABh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "SendMessageW" (+00000049h)
Address: 773EAF7Bh, location: "COMCTL32", loaded at 773D0000h - 774D2000h
Symbol: "Ordinal414" (+00000FB4h)
Address: 00C804FEh, location: "foo_faac", loaded at 00C70000h - 00CA3000h
Address: 00C804FEh, location: "foo_faac", loaded at 00C70000h - 00CA3000h
Address: 77D9C46Bh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IMPSetIMEA" (+000013C7h)

Version info:
foobar2000 v0.8.3
UNICODE



ALSO i was thinking that it would be useful if groups could be created for files dragged from playlists or the albumlist to the playlist tree.

what i mean is that right now when a foler is dragged to the playlist tree from explorer, a subfoler is created in the playlist tree.

when i drag a bunch of files from the playlist, no subfolder is created.  maybe you could make it check all the files album tags or directory names to see if they are the same and create a subfolder on that basis?

i know musicmusic implemented something like this in the columns ui interface for dragging files onto the playlist list.  maybe you can have a look at his code.


also it would be useful to have the things added to a certain playlist by default (like they are from the albumlist panel) rather than just the current one.
Title: foo_playlist_tree
Post by: spase on 2004-11-29 22:33:53
hmm it also seems in this newest version that i cannot remove any sub trees (or anything for that matter)
Title: foo_playlist_tree
Post by: cwbowron on 2004-11-30 00:22:42
Quote
hmm it also seems in this newest version that i cannot remove any sub trees (or anything for that matter)
[a href="index.php?act=findpost&pid=256816"][{POST_SNAPBACK}][/a]


I uploaded a more recent version that should fix that...

As for creating groups for files, just add a new subfolder first, then move the files into that.

I'm guessing my .col files are not the same as the other one you mentioned.

As for automatic updating, that's not something I'm interested in so if someone else wants to do it, thats fine.

Scrolling might get implemented with the middle mouse button, but for now, if you drag the the item below the visible items or above them it should scroll the tree..
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-01 19:05:42
I've added folder and music file icons to the display and done some other random stuff since the last update... latest version is at http://www.bowron.us/foo_playlist_tree.zip (http://www.bowron.us/foo_playlist_tree.zip)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-01 21:51:23
I moved my files to http://foobar.bowron.us (http://foobar.bowron.us) and I added a screenshot of my default playlist tree to give people an idea of how I use this program.

The screenshot is available at http://foobar.bowron.us/foo_playlist_tree_screenshot.JPG (http://foobar.bowron.us/foo_playlist_tree_screenshot.JPG)

The program is available http://foobar.bowron.us/foo_playlist_tree.zip (http://foobar.bowron.us/foo_playlist_tree.zip)
Title: foo_playlist_tree
Post by: Tomacco_Boy on 2004-12-01 22:53:19
Great work cwbowron, i have a question tho ? can your component read archived files like foo_unpack ? or is this not/never going to be a added feature ?
Title: foo_playlist_tree
Post by: Genesis on 2004-12-02 00:30:31
execelent plugin this could be exactly what I've been looking for for several years  I have some reqs though.

in my folders there are a .m3u of all the files in that folder. This creates an unnessary subfolder in each folder. Could you include a possibility to ignore playlist files or at least not treat them as folders?

Option to select several folders at once and enque them.

Play musicfile or folder on doubleclick

Sorting possibilities

Faster enqueing to playlist. enqueing all files in my tree takes several hours
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-02 17:22:13
Quote
in my folders there are a .m3u of all the files in that folder. This creates an unnessary subfolder in each folder. Could you include a possibility to ignore playlist files or at least not treat them as folders?

Option to select several folders at once and enque them.

Play musicfile or folder on doubleclick

Sorting possibilities

Faster enqueing to playlist. enqueing all files in my tree takes several hours
[a href="index.php?act=findpost&pid=257264"][{POST_SNAPBACK}][/a]


Done.

Not Done. See Below.

Done.

Done.

The default treeview control in windows does not support multiple selections, and I am much too lazy to implement it myself.  One possibilty would be to add check boxes next to every folder and add an option to enqueue all checked folders, but I don't know if that would look silly or not.

The faster enqueueing suggestion was a really good one... I had noticed that it took a while, but I might not have investigated it had you not brought it up... It should be *much* faster now...

Check out the new versions and look at the preferences... you can skip m3u files when dropping directories now with the checkbox... I also added an option for sending to playlist on doubleclick.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-02 18:49:03
Quote
Not Done. See Below.
[a href="index.php?act=findpost&pid=257409"][{POST_SNAPBACK}][/a]


Ok, I got an idea how to do this and I've implemented it and uploaded the new version.

Here's how it works (from my readme.txt)

Multiple selections
      To enqueue or play multiple folders select the folders/files you wish to       play by holding ctl and left clicking on them.  They names of the selection should become bold.  Using the right mouse click menu you can add or play the bolded items.  You can unselect an item by ctrl-left click again.  It will take longer to enqueue all the items this way, because it has to start at the root of the tree and enqueue/add all bolded items...
Title: foo_playlist_tree
Post by: Genesis on 2004-12-02 18:51:01
Quote
Quote
in my folders there are a .m3u of all the files in that folder. This creates an unnessary subfolder in each folder. Could you include a possibility to ignore playlist files or at least not treat them as folders?

Option to select several folders at once and enque them.

Play musicfile or folder on doubleclick

Sorting possibilities

Faster enqueing to playlist. enqueing all files in my tree takes several hours
[a href="index.php?act=findpost&pid=257264"][{POST_SNAPBACK}][/a]


Done.

Not Done. See Below.

Done.

Done.

The default treeview control in windows does not support multiple selections, and I am much too lazy to implement it myself.  One possibilty would be to add check boxes next to every folder and add an option to enqueue all checked folders, but I don't know if that would look silly or not.

The faster enqueueing suggestion was a really good one... I had noticed that it took a while, but I might not have investigated it had you not brought it up... It should be *much* faster now...

Check out the new versions and look at the preferences... you can skip m3u files when dropping directories now with the checkbox... I also added an option for sending to playlist on doubleclick.
[a href="index.php?act=findpost&pid=257409"][{POST_SNAPBACK}][/a]



I must say that this fast response amazed me. Thanks alot!
A new problem has arisen though when I try to load the directory with my huge album collection in it foobar terminates just terminates itself with the following failure information.

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 68542072h
Access violation, operation: read, address: 68542072h
Call path:

This is the first crash logged by this instance.
Access violation, operation: read, address: 68542072h
Stack (0130FEA8h):
0130FE88h:  00000005 0012FB98 77605660 00000014
0130FE98h:  001565E8 00156260 001565FC 9BDB71EF
0130FEA8h:  00B57E71 00B50000 00000003 00000000
0130FEB8h:  00000000 0130FED8 002532B8 0130FEE4
0130FEC8h:  7C9011A7 00B50000 00000001 00000000
0130FED8h:  002532B8 00000000 00253388 0130FF5C
0130FEE8h:  7C919213 00B57DE1 00B50000 00000003
0130FEF8h:  00000000 00000000 7FFD9000 0024FFE8
0130FF08h:  00000014 00000001 00000000 00000000
0130FF18h:  00000010 7FFD9000 00000020 00000000
0130FF28h:  7FFD9000 0130FF8C 7C80262A 00253388
0130FF38h:  7FFDE000 00B57DE1 002532B8 0130FEFC
0130FF48h:  0130FACC 0130FF84 7C90EE18 7C919168
0130FF58h:  00000001 0130FF94 7C80CCE7 00000000
0130FF68h:  774E0000 0024FFE8 0130FFDC 7FFD9000
0130FF78h:  00000000 0130FF64 0130FACC 0130FFDC
0130FF88h:  7C8399F3 7C80CD10 FFFFFFFF 0130FFA0
0130FF98h:  7C80CEBF 00000000 0130FFB4 774F31CE
0130FFA8h:  774E0000 00000000 7C91094E 0130FFEC
0130FFB8h:  7C80B50B 0024FFE8 00000000 7C91094E
Registers:
EAX: 68542072, EBX: 00B50000, ECX: 00000000, EDX: 00000000
ESI: 00000003, EDI: 00000000, EBP: 0130FEC4, ESP: 0130FEA8
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                        loaded at 7C800000h - 7C8F4000h
USER32                          loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761C000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 77DD0000h - 77E6B000h
RPCRT4                          loaded at 77E70000h - 77F01000h
COMCTL32                        loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
foo_ape                          loaded at 00920000h - 0093F000h
foo_cdda                        loaded at 00940000h - 0094E000h
foo_console                      loaded at 00950000h - 00957000h
foo_dbsearch                    loaded at 00960000h - 00977000h
foo_dsp_extra                    loaded at 00980000h - 00995000h
foo_flac                        loaded at 009A0000h - 009BC000h
foo_history_panel                loaded at 009C0000h - 009C8000h
foo_id3v2                        loaded at 009D0000h - 00A00000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_input_std                    loaded at 00A00000h - 00A9E000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_masstag                      loaded at 00B20000h - 00B34000h
foo_output_std                  loaded at 00B40000h - 00B49000h
foo_playlist_tree                loaded at 00B50000h - 00B5F000h
foo_read_http                    loaded at 00B60000h - 00B69000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_rgscan                      loaded at 00B70000h - 00B7D000h
foo_speex                        loaded at 00B80000h - 00B98000h
foo_temple                      loaded at 00BA0000h - 00BAD000h
foo_uie_dbexplorer              loaded at 00BB0000h - 00BBA000h
foo_uie_volume                  loaded at 00BC0000h - 00BCB000h
foo_ui_columns                  loaded at 00BD0000h - 00C01000h
foo_ui_std                      loaded at 00C10000h - 00C27000h
foo_utils                        loaded at 00C30000h - 00C3E000h
foo_vis_manager                  loaded at 00C40000h - 00C48000h
foo_wavpack                      loaded at 00C50000h - 00C62000h
foo_info_samurize                loaded at 00C70000h - 00C8A000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
xpsp2res                        loaded at 20000000h - 202C5000h
imagehlp                        loaded at 76C90000h - 76CB8000h
DBGHELP                          loaded at 59A60000h - 59B01000h
VERSION                          loaded at 77C00000h - 77C08000h

Stack dump analysis:
Address: 00B57E71h, location: "foo_playlist_tree", loaded at 00B50000h - 00B5F000h
Address: 00B50000h, location: "foo_playlist_tree", loaded at 00B50000h - 00B5F000h
Address: 7C9011A7h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "LdrInitializeThunk" (+00000029h)
Address: 00B50000h, location: "foo_playlist_tree", loaded at 00B50000h - 00B5F000h
Address: 7C919213h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "LdrShutdownThread" (+000000EDh)
Address: 00B57DE1h, location: "foo_playlist_tree", loaded at 00B50000h - 00B5F000h
Address: 00B50000h, location: "foo_playlist_tree", loaded at 00B50000h - 00B5F000h
Address: 7C80262Ah, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "WaitForSingleObjectEx" (+000000DAh)
Address: 00B57DE1h, location: "foo_playlist_tree", loaded at 00B50000h - 00B5F000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C919168h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "LdrShutdownThread" (+00000042h)
Address: 7C80CCE7h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "ExitThread" (+0000003Eh)
Address: 774E0000h, location: "ole32", loaded at 774E0000h - 7761C000h
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C80CD10h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "ExitThread" (+00000067h)
Address: 7C80CEBFh, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "FreeLibraryAndExitThread" (+0000001Eh)
Address: 774F31CEh, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "CoGetMalloc" (+0000017Bh)
Address: 774E0000h, location: "ole32", loaded at 774E0000h - 7761C000h
Address: 7C91094Eh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAcquirePebLock" (+00000031h)
Address: 7C80B50Bh, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "GetModuleFileNameA" (+000001B4h)
Address: 7C91094Eh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAcquirePebLock" (+00000031h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C80B518h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "GetModuleFileNameA" (+000001C1h)
Address: 774F319Ah, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "CoGetMalloc" (+00000147h)

Version info:
foobar2000 v0.8.3
UNICODE
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-02 19:10:27
Hey!, thanks a lot for this plugin and new build

Just some suggestions:

- Custom background colours, selection, blabla options (like album list panel).
- I really like stroke idea: normal playlists + autoupdated customated trees. I know you said that you are not going to implement it, but hey, I try it anyway or maybe someone will like to implement it.

BTW, I like the idea of using icons

Edit: Added 'colours' to first request
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-02 19:30:10
Quote
Hey!, thanks a lot for this plugin and new build

Just some suggestions:

- Custom background, selection, blabla options (like album list panel).
- I really like stroke idea: normal playlists + autoupdated customated trees. I know you said that you are not going to implement it, but hey, I try it anyway or maybe someone will like to implement it.

BTW, I like the idea of using icons
[a href="index.php?act=findpost&pid=257424"][{POST_SNAPBACK}][/a]


So how does the idea of autoupdated customized trees work?  This is how I see it: You make a folder, but in addition to giving it a name you give it a criteria something like $if($strcmp($artist, "Johnny Cash"),1,0) and then all the files that have artist as johnny cash automagically show up under this?

Is this how you see it?
Title: foo_playlist_tree
Post by: stroke on 2004-12-02 20:38:35
Quote
- I really like stroke idea: normal playlists + autoupdated customated trees. I know you said that you are not going to implement it, but hey, I try it anyway or maybe someone will like to implement it.

nice to hear that, and let's try to talk chris into implementing the feature, i think he's getting interested in it

Quote
So how does the idea of autoupdated customized trees work?  This is how I see it: You make a folder, but in addition to giving it a name you give it a criteria something like $if($strcmp($artist, "Johnny Cash"),1,0) and then all the files that have artist as johnny cash automagically show up under this?

Is this how you see it?
[a href="index.php?act=findpost&pid=257427"][{POST_SNAPBACK}][/a]


not exactly, i thought that it would be usefull to implement this feature in exactly the same way it is implemented in album list panel. i.e. you create a folder, let's say 'live performances' and then in the properties for this folder you paste a formating string which specifies that files with the tag TYPE=live appear in this folder, and are automagically sorted into further folders and subfolders, according to one's liking (one of mine would be artist\date-album\tracktitle). so basically it boils down to putting the functionality of album list panel into playlist tree (panel?)

as you wrote this is perfectly achivable via the album list panel, but i'm sure people would find lots of ways to use these functionalities combined in one panel effectively, like sending files to the collection folders from within the same interface, instead of dragging them from explorer or playlist (seems much more convenient for me), or embeding an autoupdating folder within a collection folder. what do you think?

anyway, keep on the good work on playlist tree
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-02 20:53:05
Quote
not exactly, i thought that it would be usefull to implement this feature in exactly the same way it is implemented in album list panel. i.e. you create a folder, let's say 'live performances' and then in the properties for this folder you paste a formating string which specifies that files with the tag TYPE=live appear in this folder, and are automagically sorted into further folders and subfolders, according to one's liking (one of mine would be artist\date-album\tracktitle). so basically it boils down to putting the functionality of album list panel into playlist tree (panel?)

Yeah, that's exactly what I'm thinking. The reason are exactly the same as stroke: all in one panel. Some people will use it, others not

Just as a thought, you may also want to take a look at database explorer, a sort of albumlist panel but that allows multiple trees (in the same view inside the same panel):

+by album
+by artist
+by rating
blablabla

BTW, one little request (another one, sorry ):
- 'Add to playlist on double-click' option (I like it more than the send option).

Anyway: thanks for everything! this plugin is very cool.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-02 22:06:44
Quote
BTW, one little request (another one, sorry ):
- 'Add to playlist on double-click' option (I like it more than the send option).

Anyway: thanks for everything! this plugin is very cool.
[a href="index.php?act=findpost&pid=257442"][{POST_SNAPBACK}][/a]


I added 4 options for double click { do nothing, send to playlist, add to playlist, create new playlist}
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-02 22:26:04
Quote
Quote
BTW, one little request (another one, sorry ):
- 'Add to playlist on double-click' option (I like it more than the send option).

Anyway: thanks for everything! this plugin is very cool.
[a href="index.php?act=findpost&pid=257442"][{POST_SNAPBACK}][/a]


I added 4 options for double click { do nothing, send to playlist, add to playlist, create new playlist}
[a href="index.php?act=findpost&pid=257458"][{POST_SNAPBACK}][/a]

Oh my God! You're really quick man. Thanks a lot.
Title: foo_playlist_tree
Post by: Genesis on 2004-12-03 09:34:51
Do you have any idea why foobar justs exits when loading a large batch of albums (I posted the faliure code earlier).
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 11:35:27
Quote
not exactly, i thought that it would be usefull to implement this feature in exactly the same way it is implemented in album list panel. i.e. you create a folder, let's say 'live performances' and then in the properties for this folder you paste a formating string which specifies that files with the tag TYPE=live appear in this folder, and are automagically sorted into further folders and subfolders, according to one's liking (one of mine would be artist\date-album\tracktitle). so basically it boils down to putting the functionality of album list panel into playlist tree (panel?)


I think this is the best option to have, to create custom folders and be able to specify formatting strings that apply to this folders and subfolders. For ex. a playlist tree could look like this:

+ by Artist
+ by Album
+ by Date
+ by Genre/Styles
+ by Moods
--+ Tempo
--+ Tunes
--+ Situation
+ by Rating
--+ No rating
--+ Favorites
--+ *****
--+ ****
--+ ***
--+ **
--+ *
+ My Top Songs
+ All time favorites

In my example all folders until 'My Top songs' are automaticaly (+ updated) sorted by a formatting string. But in the case of Mood (or rating) I woudl love the possibility to create different subfolders each one with his own formatting string (that fits under the mood definition but are a different tag). This is actually not possible with the album list panel or database explorer panel (with the last one, you can have different trees with a formatting string but that's it, you can't have subtrees with different fromatting strings calling different tags).

Last ones are custom folders that I woudl create for my top songs and all time favorites.

Hope this explanation makes sens and explains +- the use of such an implementation

A suggestion (for the actual panel): Make option to disable displaying total time and MB at left side of the tree.

Edit: I'm sure someone is going to request it soon or later  Could you please think about updating the plugin for last version of columns ui (http://www.hydrogenaudio.org/forums/index.php?showtopic=28647&view=findpost&p=89754) (beta 4, apparently has changed something that breaks compatibility with panels for previous versions).
Title: foo_playlist_tree
Post by: phwip on 2004-12-03 12:36:02
Thanks for a very useful component.

Quote
A suggestion (for the actual panel): Make option to disable displaying total time and MB at left side of the tree.
[a href="index.php?act=findpost&pid=257558"][{POST_SNAPBACK}][/a]


I also would like to be able to hide the time and size stats.  I presume there is not already some way to do this?

Also I would like the playlist tree to fill up the available space: currently there is a grey area a few pixels wide on the left hand side that doesn't seem to do anything.  And I am also unsure of the purpose of the progress bar at the bottom of the panel.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 12:54:39
Quote
And I am also unsure of the purpose of the progress bar at the bottom of the panel.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=257567")

I think that the answer is here:
[a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=255971]http://www.hydrogenaudio.org/forums/index....ndpost&p=255971[/url]

I think it display the progress of loading traks into the playlist tree. Dunno.
Title: foo_playlist_tree
Post by: phwip on 2004-12-03 13:07:01
Quote
I think that the answer is here:
http://www.hydrogenaudio.org/forums/index....ndpost&p=255971 (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=255971)

I think it display the progress of loading traks into the playlist tree. Dunno.
[a href="index.php?act=findpost&pid=257572"][{POST_SNAPBACK}][/a]


Thanks.  I had read that but before I actually started using the component.  Brain like a sieve 

That begin the case, is there any way to hide it?  If not, another request...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 13:44:00
@cwbowron: Maybe you can add the component in the Officical fb2k 3rd party components (http://pelit.koillismaa.fi/plugins/index.php). and maybe edit the first post of this topic pointing to the permanent link to get the component (+ screenshot, etc...). This way people will have an overview of the plugin very quickly
Title: foo_playlist_tree
Post by: witt on 2004-12-03 14:14:01
foo_playlist_tree still lacks Unicode support... 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-03 15:47:05
Latest version uploaded this morning supports customizable display name for folders.  From the readme file:

   You can customize the way folders are displayed.  Use %name% for name, %size% for total file size, and %length% for play length.  This is a simple textual replacement....

I would be happy to improve the unicode support for the playlist if some other developers could give me some pointers on unicode support in foobar2000.

I would like to upload the program to the 3rd party plugin site mentioned.  I tried to signup today to create an account but as of yet have not received the confirmation email.

I've begun prelimary work on dynamic playlists.  I'm planning on implementing them in the following way:

You create a dynamic playlist by giving condition, i.e. "$strcmp(%artist%,Johnny Cash)" and selecting which display mode this playlist will use, i.e.  "%album%|%title"

This way you can have it be an entire view of your files in a particular format by using 1 as the condition.

To Genesis:
    Is the problem when you are loading a collection or dropping files or what?  If it's loading a previously made collection perhaps it has been corrupted.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 16:05:19
Quote
Latest version uploaded this morning supports customizable display name for folders.




Quote
I would be happy to improve the unicode support for the playlist if some other developers could give me some pointers on unicode support in foobar2000.

Maybe you can ask in the developpement forum...

Quote
I would like to upload the program to the 3rd party plugin site mentioned.  I tried to signup today to create an account but as of yet have not received the confirmation email.

Try asking here:
http://www.hydrogenaudio.org/forums/index....opic=11222&st=0 (http://www.hydrogenaudio.org/forums/index.php?showtopic=11222&st=0)

Quote
I've begun prelimary work on dynamic playlists.  I'm planning on implementing them in the following way:

You create a dynamic playlist by giving condition, i.e. "$strcmp(%artist%,Johnny Cash)" and selecting which display mode this playlist will use, i.e.  "%album%|%title"


hmmm... let's see if I understand. If for ex. I want to do a simple %artist%|%album%|%title% as a subtree would it be possible in your approach? Will something like $if2(%album artist%,%artist%) or $if(%artist%) [these are really widely used scripts in foobar] work as a 1º condition? 

BTW: Will your pnale have an option to link to the database? This way if you restrict your database to a directory and scan it, you define some folders with conditions then you don't have to drag your library into the panel. Maybe you're already thought about that and I'm talking bullshit...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 16:11:05
ops! Last version of your plugin: I'm getting a zip with only msvcrtd.dll inside.
Title: foo_playlist_tree
Post by: spase on 2004-12-03 16:35:35
afaik it already has a "link to the database," as if you change the tags of some files in the playlist tree and press refresh, it updates the display of the files.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-03 17:49:32
Quote
hmmm... let's see if I understand. If for ex. I want to do a simple %artist%|%album%|%title% as a subtree would it be possible in your approach? Will something like $if2(%album artist%,%artist%) or $if(%artist%) [these are really widely used scripts in foobar] work as a 1º condition? 

BTW: Will your pnale have an option to link to the database? This way if you restrict your database to a directory and scan it, you define some folders with conditions then you don't have to drag your library into the panel. Maybe you're already thought about that and I'm talking bullshit...
[a href="index.php?act=findpost&pid=257596"][{POST_SNAPBACK}][/a]


I fixed the broken zip file at the site... must have messed up when uploading it this morning...

Yes, you can have a subtree that is %artist%|%album|%title% with my approach... think of it this way, the first layer is a filter so if you want everything in it you just have the filter something static that is always true, or in this case you could just have it if(%artist) or whatever so only items that actually have the artist tag get picked up...

I'm linking the to database... it scans all the files in the database looking for matches...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 18:23:35
Quote
Yes, you can have a subtree that is %artist%|%album|%title% with my approach... think of it this way, the first layer is a filter so if you want everything in it you just have the filter something static that is always true, or in this case you could just have it if(%artist) or whatever so only items that actually have the artist tag get picked up...

Excellent news

Quote
I'm linking the to database... it scans all the files in the database looking for matches...
[a href="index.php?act=findpost&pid=257617"][{POST_SNAPBACK}][/a]

Great, looking forward for updates
Title: foo_playlist_tree
Post by: Genesis on 2004-12-03 19:50:37
Quote
To Genesis:
    Is the problem when you are loading a collection or dropping files or what?  If it's loading a previously made collection perhaps it has been corrupted.
[a href="index.php?act=findpost&pid=257595"][{POST_SNAPBACK}][/a]


I apologize for not expressing my problem thorougly enough

The problem occurs when i try to drop a folder containing many other folders with albums in them from explorer. I am creating the collection for the first time so to say. I'll try the new version and see if it works better. It didn't work
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-03 22:59:02
Quote
Quote
To Genesis:
    Is the problem when you are loading a collection or dropping files or what?  If it's loading a previously made collection perhaps it has been corrupted.
[a href="index.php?act=findpost&pid=257595"][{POST_SNAPBACK}][/a]


I apologize for not expressing my problem thorougly enough

The problem occurs when i try to drop a folder containing many other folders with albums in them from explorer. I am creating the collection for the first time so to say. I'll try the new version and see if it works better. It didn't work
[a href="index.php?act=findpost&pid=257645"][{POST_SNAPBACK}][/a]


If you get a chance, try to break it down into smaller sets of files and see if it is one particular folder/file thats breaking it or just the sheer volume of files...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-03 23:04:52
Dynamic Playlists are in. 

The way I have implemented them appears pretty slow though, take a look and let me know what you think... 

Here's how they work, from the readme (it sounds more complicated than it is)

      I'm working on dynamic folders.  Dynamic folders work by having a query
      string that acts as a filter.  Then there is a query_display format string
      that will seperate all the positive matches in subfolders of the query.
      The default display format will be used unless the display format for an
      individual folder has been changed.  When you save a collection with dynamic
      playlists the playlist should be populated when you load it.

      Example of use:
      
      From the right click menu select Add Dynamic Folder

      Enter the Name Johnny Cash

      Right Click in the new Dynamic Folder and select Edit Query

      Enter the Query String $strcmp(%artist%,Johnny Cash)

      All your Johnny Cash file will show up under the query

      Right click on Edit Display and Enter:

      %artist%|%album%|%title%

      a subfolder called johnny cash will show up with subfolders for each
      album, then the actual files.  The actual display mode is not quite right
      yet, so it will use the default file display mode for normal files.
      (i.e. the %title$ in the above string won't effect the display)

      Dont add anything to a query folder (dont drop other folders there, etc)
      because on the next refresh it will be gone.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-03 23:33:15
Quote
Dynamic Playlists are in. 

The way I have implemented them appears pretty slow though, take a look and let me know what you think...  [a href="index.php?act=findpost&pid=257672"][{POST_SNAPBACK}][/a]

Thanks! I'll play with it right away
Title: foo_playlist_tree
Post by: stroke on 2004-12-03 23:59:49
Quote
Dynamic Playlists are in. 

The way I have implemented them appears pretty slow though, take a look and let me know what you think... 
[a href="index.php?act=findpost&pid=257672"][{POST_SNAPBACK}][/a]

wow! it's alive! it's working! it's great! and it's not so slow at all. of course it could be faster, but i can live with the current speed. if anything can be done to speed the process up it would be more than welcome, but as i said it's fast enough. i guess it's a kind of a pleasure watching the plugin's hard work digesting my music collection

however i find it 'slightly'  uncomfortable to acces playlist tree when i have any other program running in maximized mode, even foobar. would it be possible to have more options, like make it appear as a panel, or display in icon and title in taskbar, just like regular software does, or the possibility to ALT+TAB to it.

you wrote that one should not embed regular collection folders within dynamic folders, is the oposite a valid option? foobar crashed when i tried embedding dynamic folder within a static one.

is it possible to use %tracknumber% in the display string? it does not work for me

that's all i can think about right now. i'll keep experimenting. tomorrow (tomorrow comes today, grhhh!)
thank you for your work on the plugin
Title: foo_playlist_tree
Post by: spase on 2004-12-04 00:19:05
afaik it used to be a panel.  maybe he hasn't updated to the new UIE API

(he certainly wouldnt be the only one)
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-04 02:24:00
I support the idea of making it a panel.

In adition usability coul be greatly improved by having the result of a selection (the tracks at the last level) going into the right side of the screen and formatted using columns. What you would need to do is just punch the output to a given playlist whose name would be a parameter (see the album list panel or db explorer panel as an example of this behaviour).

Is it feasible ?
Title: foo_playlist_tree
Post by: stroke on 2004-12-04 14:28:52
i've just recollected that some time ago i wrote about a feture i would like to see implemented in album list. it would be a quick find box sitting at the bottom or at the top of the component window and refining the display "as you type", showing only the results relevant to the string you put in. wouldn't that be a lovely feature?

chris, i hope the ideas we post inspire rather that overwhelm you
greetings
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-04 16:06:35
Quote
i've just recollected that some time ago i wrote about a feture i would like to see implemented in album list. it would be a quick find box sitting at the bottom or at the top of the component window and refining the display "as you type", showing only the results relevant to the string you put in. wouldn't that be a lovely feature?

chris, i hope the ideas we post inspire rather that overwhelm you
greetings
[a href="index.php?act=findpost&pid=257766"][{POST_SNAPBACK}][/a]


Actually that is an idea that I have contemplated before... If any one is familiar with the way firefox search works, I'm thinking that would be a good way to do it... when you hit Ctl-F it brings up the search box and finds the first item that matches as you type stuff...
Title: foo_playlist_tree
Post by: stroke on 2004-12-04 16:31:18
Quote
Quote
i've just recollected that some time ago i wrote about a feture i would like to see implemented in album list. it would be a quick find box sitting at the bottom or at the top of the component window and refining the display "as you type", showing only the results relevant to the string you put in. wouldn't that be a lovely feature?

chris, i hope the ideas we post inspire rather that overwhelm you
greetings
[a href="index.php?act=findpost&pid=257766"][{POST_SNAPBACK}][/a]


Actually that is an idea that I have contemplated before... If any one is familiar with the way firefox search works, I'm thinking that would be a good way to do it... when you hit Ctl-F it brings up the search box and finds the first item that matches as you type stuff...
[a href="index.php?act=findpost&pid=257773"][{POST_SNAPBACK}][/a]

i just took a look at firefox (opera is my browser of choice  ) search and it seems ok to me. as i think of it, highliting instead of limiting the display is not a bad solution at all. and pressing enter to move to the next matching result is also comfortable. put highliting all by pressing highlight button on top of it all and it's perfect.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-04 17:53:15
Updated current version to support the latest ui_columns api. 

The older api version is still available as foo_playlist_tree_old_api.zip

New updates will continue from the latest ui_columns api code.

on the To Do list:

improved dynamic playlist control (speed issues)
file search

As usual files are availabe at http://foobar.bowron.us (http://foobar.bowron.us)
Title: foo_playlist_tree
Post by: The Link on 2004-12-04 18:47:24
Since you updated to the latest ui_columns api I tried your pugin again and I must say that I begin to like it. Especially the dynamic folders look promising and are useful for me.

Besides some instabilities I get from time to time (see the already existing crash logs in this thread) one really big drawback for me is the lack of unicode support. This really reduces the usability for me. Perhaps you'll find some useful threads about how to use utf8api.dll in the development forum. That would be great.

Thank you for this plugin!
The Link
Title: foo_playlist_tree
Post by: spase on 2004-12-05 00:05:43
shouldnt i be able to just copy and paste any view setting from the album list to the playlsit tree dynamic folder?
Title: foo_playlist_tree
Post by: spase on 2004-12-05 00:18:56
also how do i get it to sort the dynamic folders properly?

it seems pretty random right now:

(http://wam.umd.edu/~ramseth/pl_tree.png)

EDIT: it seems the sorting of the tracks under the individual parts of the dynamic fodlers is quite random as well.  i suppose a "dynamic sort string" in the settings, or the ability to set a different sort style for each dynamic folder (or both) would be a good idea.

EDIT2: I found the right click > sort option.  i think a per-subfolder sort string might still be a good idea though (or sort by display)
Title: foo_playlist_tree
Post by: spase on 2004-12-05 00:54:51
another thing i found, if you hide the window, then activate it again, it doesnt have any icons (as in the picture i posted above).
Title: foo_playlist_tree
Post by: spase on 2004-12-05 01:11:32
found a reproducible crash:

occurs when trying to drag the root folder from the playlist tree to the playlist list of columns ui

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 77531063h
Access violation, operation: read, address: 000001E7h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (77531063h):
77531023h:  8B 08 56 FF 75 08 50 FF 11 5E 5D C2 08 00 B8 F0
77531033h:  01 04 80 EB F4 90 90 90 90 90 8B FF 55 8B EC 83
77531043h:  3D 14 57 60 77 00 0F 85 EA 3E 03 00 33 C0 40 5D
77531053h:  C2 04 00 50 E8 51 2B FC FF 85 C0 74 09 8B 46 08
77531063h:  8B 08 50 FF 51 08 83 66 08 00 E9 F3 47 FF FF 8B
77531073h:  46 04 85 C0 0F 84 DC 47 FF FF 50 E8 2A 2B FC FF
77531083h:  85 C0 0F 84 CE 47 FF FF 8B 46 04 8B 08 50 FF 51
77531093h:  08 E9 C0 47 FF FF 8D 85 64 FF FF FF 50 FF 75 80
Stack (0012FB30h):
0012FB10h:  00000000 00000000 00000000 00000000
0012FB20h:  00000000 00000000 00000000 00000000
0012FB30h:  0189B89C 00000001 0012FC24 01888FB6
0012FB40h:  0012FBC4 7C809737 77D5674F 01D53650
0012FB50h:  FFFFFFEB 77D488B2 0012FB74 77D4B2A1
0012FB60h:  001303E2 00000215 00000000 00000000
0012FB70h:  00000000 00000010 00000297 0000015E
0012FB80h:  00000215 00000000 77D4B250 0012FC40
0012FB90h:  00000000 018953EC 01D66C80 0000001D
0012FBA0h:  0000001D 00000000 0000000C 7C90000F
0012FBB0h:  00000000 00000001 FFFFFFFF 00000001
0012FBC0h:  0000006D 00000001 00B50054 000001E7
0012FBD0h:  000D02BE 0000007F 000000C0 0000007F
0012FBE0h:  000000C0 018953EC 00000000 00000000
0012FBF0h:  00000000 00000000 00000000 004465AC
0012FC00h:  01C52008 00000800 0000051C 00000001
0012FC10h:  018957D4 018957C0 0012FE2C 01894853
0012FC20h:  00000003 0012FC58 775F807E 01000009
0012FC30h:  015DC4E0 00000000 000000EC 00000009
0012FC40h:  0012FDB4 774E6E2C 00189F68 00000000
Registers:
EAX: 000001E7, EBX: 00000000, ECX: 774F3BD5, EDX: 00150608
ESI: 0012FBC4, EDI: 7C809EB3, EBP: 0012FB38, ESP: 0012FB30
Crash location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "CoGetObjectContext" (+0000005Eh)

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                         loaded at 7C800000h - 7C8F4000h
USER32                           loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761C000h
msvcrt                           loaded at 77C10000h - 77C68000h
ADVAPI32                         loaded at 77DD0000h - 77E6B000h
RPCRT4                           loaded at 77E70000h - 77F01000h
COMCTL32                         loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
IMM32                            loaded at 76390000h - 763AD000h
LPK                              loaded at 629C0000h - 629C9000h
USP10                            loaded at 74D90000h - 74DFB000h
foo_abx                          loaded at 009E0000h - 009EC000h
foo_ac3                          loaded at 009F0000h - 00A03000h
foo_albumlist                    loaded at 00A10000h - 00A1B000h
foo_ape                          loaded at 00A20000h - 00A3F000h
foo_apl                          loaded at 00A40000h - 00A4A000h
foo_bitcompare                   loaded at 00A50000h - 00A59000h
foo_burninate                    loaded at 00A60000h - 00A6C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                         loaded at 00A70000h - 00A7E000h
foo_clienc                       loaded at 00A80000h - 00A8B000h
foo_console                      loaded at 00A90000h - 00A97000h
foo_convolve                     loaded at 00AA0000h - 00AEF000h
foo_cue_ex                       loaded at 00AF0000h - 00AFB000h
foo_custom_sort                  loaded at 00B00000h - 00B08000h
foo_dbsearch                     loaded at 00B10000h - 00B28000h
foo_diskwriter                   loaded at 00B30000h - 00B42000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_crossfade                loaded at 00BD0000h - 00BD7000h
foo_dsp_crossfeed                loaded at 00BE0000h - 00BE6000h
foo_dsp_extra                    loaded at 00BF0000h - 00C05000h
foo_dsp_mute                     loaded at 00C10000h - 00C17000h
foo_dsp_nogaps                   loaded at 00C20000h - 00C27000h
foo_dsp_pause                    loaded at 00C30000h - 00C37000h
foo_dsp_skip_silence             loaded at 00C40000h - 00C47000h
foo_dsp_soundtouch               loaded at 00C50000h - 00C5B000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_dynamics                     loaded at 00C60000h - 00C67000h
foo_faac                         loaded at 00C70000h - 00CA3000h
foo_festalon                     loaded at 00CB0000h - 00DEE000h
foo_flac                         loaded at 00DF0000h - 00E0C000h
foo_flaccer                      loaded at 00E10000h - 00E26000h
foo_freedb                       loaded at 00E30000h - 00E5E000h
WS2_32                           loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_history                      loaded at 00E60000h - 00E72000h
foo_id3v2                        loaded at 00E80000h - 00EB0000h
foo_infobox                      loaded at 00EB0000h - 00EC3000h
foo_input_std                    loaded at 00ED0000h - 00F6E000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_lame                         loaded at 00F70000h - 00F79000h
foo_lpac                         loaded at 00F80000h - 00F87000h
lpac_codec_api                   loaded at 00F90000h - 00F9A000h
lpaccodec                        loaded at 00FA0000h - 00FC9000h
foo_masstag                      loaded at 011F0000h - 01204000h
foo_matroska                     loaded at 01210000h - 01258000h
foo_midi                         loaded at 01260000h - 012EF000h
MFC42                            loaded at 73DD0000h - 73ECE000h
OLEAUT32                         loaded at 77120000h - 771AC000h
foo_mod                          loaded at 012F0000h - 012F9000h
BASS                             loaded at 01300000h - 0135A000h
foo_monkey                       loaded at 01360000h - 0137C000h
foo_mpeg4u                       loaded at 01380000h - 013A9000h
foo_nez                          loaded at 013B0000h - 013DB000h
foo_null                         loaded at 013E0000h - 013E7000h
foo_ofr                          loaded at 013F0000h - 013F6000h
OptimFROG                        loaded at 01400000h - 0142C000h
foo_oggpreview                   loaded at 01440000h - 01541000h
foo_osd                          loaded at 01550000h - 0155C000h
foo_output_std                   loaded at 01560000h - 01569000h
foo_out_dsound_ex                loaded at 01570000h - 01579000h
DSOUND                           loaded at 73F10000h - 73F6C000h
foo_out_dsound_ex2               loaded at 01590000h - 01599000h
foo_out_ks                       loaded at 015A0000h - 015AB000h
SETUPAPI                         loaded at 77920000h - 77A13000h
foo_playlistfind                 loaded at 015B0000h - 015BB000h
foo_playlistgen_ex               loaded at 015C0000h - 015CF000h
foo_playlist_tree                loaded at 015D0000h - 015E0000h
foo_pphsresample                 loaded at 015E0000h - 015F0000h
foo_psf                          loaded at 015F0000h - 0169C000h
foo_quicktag                     loaded at 016A0000h - 016A9000h
foo_read_http                    loaded at 016B0000h - 016B9000h
foo_recycle                      loaded at 016C0000h - 016C9000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_rgscan                       loaded at 016E0000h - 016ED000h
foo_scroll                       loaded at 016F0000h - 016F6000h
foo_search_ex                    loaded at 01700000h - 01708000h
foo_shn                          loaded at 01710000h - 0171F000h
foo_shuffle                      loaded at 01720000h - 01729000h
foo_sid                          loaded at 01770000h - 017B7000h
foo_spc                          loaded at 01730000h - 01741000h
foo_speex                        loaded at 017C0000h - 017D8000h
foo_temple                       loaded at 01750000h - 0175B000h
foo_tfmx                         loaded at 017E0000h - 017E9000h
foo_tta                          loaded at 017F0000h - 017F9000h
foo_tta_old                      loaded at 01800000h - 01809000h
foo_uie_albumart                 loaded at 01810000h - 0181B000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
foo_uie_albumlist                loaded at 01820000h - 0182E000h
foo_uie_ascii_buttons            loaded at 01830000h - 01836000h
foo_uie_tabs                     loaded at 01840000h - 0184A000h
foo_uie_trackinfo                loaded at 01850000h - 0185B000h
foo_uie_volume                   loaded at 01860000h - 0186A000h
foo_ui_columns                   loaded at 01870000h - 018A6000h
foo_ui_std                       loaded at 018B0000h - 018C7000h
foo_unpack                       loaded at 018D0000h - 01901000h
foo_utils                        loaded at 01910000h - 01921000h
foo_vis_bacon                    loaded at 01930000h - 01947000h
foo_vis_manager                  loaded at 01950000h - 01958000h
foo_vis_simple_spectrum          loaded at 01960000h - 0196A000h
foo_vis_vu_meter                 loaded at 01970000h - 01978000h
foo_vorbisenc                    loaded at 01980000h - 01A91000h
foo_wavpack                      loaded at 01AA0000h - 01AB2000h
foo_web                          loaded at 01AC0000h - 01AD9000h
foo_wma                          loaded at 01AE0000h - 01AFA000h
WMVCore                          loaded at 7D790000h - 7D99A000h
wmidx                            loaded at 4B320000h - 4B349000h
WMASF                            loaded at 59A10000h - 59A4C000h
msdmo                            loaded at 736B0000h - 736B7000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                           loaded at 77B20000h - 77B32000h
urlmon                           loaded at 77260000h - 772FE000h
MSVFW32                          loaded at 75A70000h - 75A91000h
WSOCK32                          loaded at 71AD0000h - 71AD9000h
DRMClien                         loaded at 01B00000h - 01B4F000h
foo_xa                           loaded at 01B60000h - 01B6F000h
msctfime                         loaded at 755C0000h - 755EE000h
asycfilt                         loaded at 708F0000h - 70903000h
UxTheme                          loaded at 5AD70000h - 5ADA8000h
winroll                          loaded at 02350000h - 02357000h
WINTRUST                         loaded at 76C30000h - 76C5E000h
IMAGEHLP                         loaded at 76C90000h - 76CB8000h
wdmaud                           loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                           loaded at 73EE0000h - 73EE4000h
xpsp2res                         loaded at 20000000h - 202C5000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 0189B89Ch, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 01888FB6h, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 7C809737h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "GetCurrentThreadId" (+00000000h)
Address: 77D5674Fh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "AttachThreadInput" (+00000000h)
Address: 77D488B2h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 77D4B2A1h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+000000BCh)
Address: 77D4B250h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+0000006Bh)
Address: 018953ECh, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 7C90000Fh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Address: 018953ECh, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 004465ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 018957D4h, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 018957C0h, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 01894853h, location: "foo_ui_columns", loaded at 01870000h - 018A6000h
Address: 775F807Eh, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "StgGetIFillLockBytesOnFile" (+00008591h)
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 774E6E2Ch, location: "ole32", loaded at 774E0000h - 7761C000h
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 775F82C0h, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "StgGetIFillLockBytesOnFile" (+000087D3h)
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 775CF400h, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "CreateDataCache" (+00003CD2h)
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 77D4B3C4h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+000001DFh)
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 775CF288h, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "CreateDataCache" (+00003B5Ah)
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 775CFBB5h, location: "ole32", loaded at 774E0000h - 7761C000h
Symbol: "DoDragDrop" (+000000ABh)
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015DBBB0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015D5149h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015DC4E0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015DBBB0h, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015D4EBFh, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 015D4EBFh, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 015D4EBFh, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 77D487EBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000154h)
Address: 015D4EBFh, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D48808h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000171h)
Address: 77D489A5h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 015D4EBFh, location: "foo_playlist_tree", loaded at 015D0000h - 015E0000h
Address: 77D553A0h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "SetActiveWindow" (+00000020h)
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D489C8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D489E8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D6E819h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsDialogMessageW" (+000000DBh)
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h

Version info:
foobar2000 v0.8.3
UNICODE
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-05 04:56:28
I've updated the dynamic playlists to increase the speed dramatically.  My test query dropped from 3000 milliseconds to 300 ms.

I've changed the display mode for the last element in query format string so files should display correctly now (prior to this, it used the default format string for files even if you specified something else)

I've also added a right-click menu option to sort a folder recursively.

I tried to reproduce Spase's error, but when I dropped the root node into the columns_ui playlist it worked fine.  Has anyone else seen this problem?  I'm thinking that its not necessarily that its the root node, but rather some folder somewhere in the tree is causing the problem.

I've noted the issue of dissappearing bitmaps.
Title: foo_playlist_tree
Post by: The Link on 2004-12-05 11:47:34
The recursive sorting works great but it would be nice if the sorted order would be saved after closing foobar.
There also seems to be a problem with the reported folder size when the album is an image file with embedded cuesheet (image size * number of tracks in the cuesheet seems to be reported).

Regards,
The Link
Title: foo_playlist_tree
Post by: Genesis on 2004-12-05 13:54:07
Now it finally works to add my albums  I have some more reqs.

1. searching in the tree.

2. using it as a panel this was possible before but doesn't seam to work now
Title: foo_playlist_tree
Post by: The Link on 2004-12-05 13:56:55
Quote
2. using it as a panel this was possible before but doesn't seam to work now
[a href="index.php?act=findpost&pid=257875"][{POST_SNAPBACK}][/a]

You need to update ui_columns to the latest version.
Title: foo_playlist_tree
Post by: spase on 2004-12-05 16:52:30
Quote
I've updated the dynamic playlists to increase the speed dramatically.  My test query dropped from 3000 milliseconds to 300 ms.

I've changed the display mode for the last element in query format string so files should display correctly now (prior to this, it used the default format string for files even if you specified something else)

I've also added a right-click menu option to sort a folder recursively.

I tried to reproduce Spase's error, but when I dropped the root node into the columns_ui playlist it worked fine.  Has anyone else seen this problem?  I'm thinking that its not necessarily that its the root node, but rather some folder somewhere in the tree is causing the problem.

I've noted the issue of dissappearing bitmaps.
[a href="index.php?act=findpost&pid=257855"][{POST_SNAPBACK}][/a]


i just realized i AM using the older columns UI version (waiting for the new album art panel to update)

so that migh tbe an issue.

i will check it out when i get the new columsn ui
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-05 18:39:59
Quote
Just some suggestions:

- Custom background colours, selection, blabla options (like album list panel).
[a href="index.php?act=findpost&pid=257424"][{POST_SNAPBACK}][/a]

Have your some plans in implementing this? 
Title: foo_playlist_tree
Post by: stroke on 2004-12-05 18:57:25
i'm using the following display formatting string:

%date%_%album%|$num(%tracknumber%,2)_%title%

when i sort the list, the tracks get sorted alphabetically, by title. i'd rather have them sorted by tracknumber. on the other hand, on the album level the playlist is sorted by date. i guess the problem would be related to $num(....), nut that's just a guess
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-06 15:43:15
After playing with this great extension here goes some suggestions to developper:

- Move right context-menu specific for the penale to s subcategory, and make available the normal fb2k right-click context-menu. For ex. there's no way to select a folder and get 'properties'context menu, so you have to add it to a playlist reselect all files and then get 'properties'.

- Remove progress bar embedded and make it a floating window (use less space when no needed).

- It seems that there's some kind of lenght limit for display: i.e. this is my display album panel query for 'by artist':
Code: [Select]
[$if(%album artist%,%album artist%,%artist%)]|'('[%date%]')' [%album%]|$if(%album artist%,[[%disc%.][$num(%tracknumber%,2) - ] ]%artist% - $if2(%title%,%_filename%),[[%disc%.][$num(%tracknumber%,2) - ] ]$if2(%title%,%_filename%)) - $if($strstr($lower(%favorite%),fly),'[')
$repeat(●,%rating%)$repeat(□,$sub(5,%rating%))
$if($strstr($lower(%favorite%),fly),']')


in your panel it gets cuted like this:
Code: [Select]
[$if(%album artist%,%album artist%,%artist%)]|'('[%date%]')' [%album%]|$if(%album artist%,[[%disc%.][$num(%tracknumber%,2) - ] ]%artist% - $if2(%title%,%_filename%),[[%disc%.][$num(%tracknumber%,2) - ] ]$if2(%title%,%_filename%)) - $if($strstr($lower(%favorit


- Make option to set sort (and sort recursively) as default.
- Custom colour background/ etc... like album list panel to fit colour configuration.

Hope this help future developpement

BTW I'm getting random crashes while closing foobar (due to this plugin), so the playlist tree is not saved and I have to rebuild everything again.

Oh, and I don't know why but I can't get my tracks with the posted formatting string to be sorted by tracknumber while it works for albun panel list 

Keep up the good work, it's much appretiated.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-06 18:59:15
Quote
After playing with this great extension here goes some suggestions to developper:

- Move right context-menu specific for the penale to s subcategory, and make available the normal fb2k right-click context-menu. For ex. there's no way to select a folder and get 'properties'context menu, so you have to add it to a playlist reselect all files and then get 'properties'.

- Remove progress bar embedded and make it a floating window (use less space when no needed).

- It seems that there's some kind of lenght limit for display: i.e. this is my display album panel query for 'by artist':
Code: [Select]
[$if(%album artist%,%album artist%,%artist%)]|'('[%date%]')' [%album%]|$if(%album artist%,[[%disc%.][$num(%tracknumber%,2) - ] ]%artist% - $if2(%title%,%_filename%),[[%disc%.][$num(%tracknumber%,2) - ] ]$if2(%title%,%_filename%)) - $if($strstr($lower(%favorite%),fly),'[')
$repeat(●,%rating%)$repeat(□,$sub(5,%rating%))
$if($strstr($lower(%favorite%),fly),']')


in your panel it gets cuted like this:
Code: [Select]
[$if(%album artist%,%album artist%,%artist%)]|'('[%date%]')' [%album%]|$if(%album artist%,[[%disc%.][$num(%tracknumber%,2) - ] ]%artist% - $if2(%title%,%_filename%),[[%disc%.][$num(%tracknumber%,2) - ] ]$if2(%title%,%_filename%)) - $if($strstr($lower(%favorit


- Make option to set sort (and sort recursively) as default.
- Custom colour background/ etc... like album list panel to fit colour configuration.

Hope this help future developpement

BTW I'm getting random crashes while closing foobar (due to this plugin), so the playlist tree is not saved and I have to rebuild everything again.

Oh, and I don't know why but I can't get my tracks with the posted formatting string to be sorted by tracknumber while it works for albun panel list  

Keep up the good work, it's much appretiated.
[a href="index.php?act=findpost&pid=258067"][{POST_SNAPBACK}][/a]


I've upped the text size limit on queries from 256 to 1024... I'm a little lazy right now to do it the way it should be and dynamically allocate the space... (plus that is slower)... let me know if this still isnt enough...

Queries are now sorted automatically

Custom background, text and line color are now supported.

Basic search is now implemented.

I've added somewhat better unicode support.  (previous versions would not recognize nested files that had unicode names.... now they are added, but if you edit the text of the name it gets munged.)

The treeview now takes up the entire panel, and the progress bar hides itself after 3 seconds of inactivity.
Title: foo_playlist_tree
Post by: witt on 2004-12-06 19:45:41
Quote
I've added somewhat better unicode support.  (previous versions would not recognize nested files that had unicode names.... now they are added, but if you edit the text of the name it gets munged.)

[a href="index.php?act=findpost&pid=258108"][{POST_SNAPBACK}][/a]

Files which has unicode directory name are not recognized.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-06 19:58:23
First: thanks! you're really devoted 

Quote
I've upped the text size limit on queries from 256 to 1024... I'm a little lazy right now to do it the way it should be and dynamically allocate the space... (plus that is slower)... let me know if this still isnt enough...


For some reason I still get the same limit (in display, where I think it's really needed).

Quote
Queries are now sorted automatically

Everything works fine now, thanks.

Quote
Custom background, text and line color are now supported.

Cool 
The only downside of this is that there's an ugly icons white background  Maybe disabling the use of icons will be the easiest way to solve this

Quote
Basic search is now implemented.

I don't find it 

Quote
and the progress bar hides itself after 3 seconds of inactivity.
[a href="index.php?act=findpost&pid=258108"][{POST_SNAPBACK}][/a]

Thanks. For some reason the progress bar while working, is flashing, I mean it doesn't go slowly from left to right. Instead it goes really quickly from left to right over and over until the progress stop.

I don't mean to be a PITA but I hope that you'll want to take a look at this whenever you got time and motivation :

Quote
- Move right context-menu specific for the penale to s subcategory, and make available the normal fb2k right-click context-menu. For ex. there's no way to select a folder and get 'properties'context menu, so you have to add it to a playlist reselect all files and then get 'properties'.


And BTW, maybe you'll think about implementing the use of
Code: [Select]
field

because right now we can just use
Code: [Select]
%field%

wich doesn't allow multiple instances of the same item in different trees (that's supported in the album panel), i.e. I have a file tagged with %artist%=A and %artist%=B and I want to display it in 'A' and 'B'. Currently with %artist% i'll go in a tree named 'A,B'.

Thanks for this excellent plugin. I love how it's customizable. You can almost make it display what you wish and how you wish!
Title: foo_playlist_tree
Post by: foosion on 2004-12-06 20:09:05
Quote
I've upped the text size limit on queries from 256 to 1024... I'm a little lazy right now to do it the way it should be and dynamically allocate the space... (plus that is slower)... let me know if this still isnt enough... [a href="index.php?act=findpost&pid=258108"][{POST_SNAPBACK}][/a]
Do you really think using a dynamically allocated buffer to get the contents of an edit box will have a noticable impact on your component's performance?

The preferred way for a foobar2000 component to access a window's text is using the string_utf8_ftom_window class from utf8api. There are a lot more Win32 wrappers in utf8api that allow you to make Win32 API calls with UTF-8 strings. The pfc library contains some more helpers for working with UTF-8 strings, including the string_X_from_Y conversion classes. Internally, all strings in foobar2000 are encoded in UTF-8. Usage examples for most classes and functions can be found in the components included in the SDK.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-06 20:15:15
Quote
First: thanks! you're really devoted  

For some reason I still get the same limit (in display, where I think it's really needed).

Cool  
The only downside of this is that there's an ugly icons white background   Maybe disabling the use of icons will be the easiest way to solve this

Quote
Basic search is now implemented.

I don't find it 

Thanks for this excellent plugin. I love how it's customizable. You can almost make it display what you wish and how you wish!
[a href="index.php?act=findpost&pid=258121"][{POST_SNAPBACK}][/a]


My icons come up correctly on my version and that's something that took me a long time to figure out... I'm not sure why it wouldnt work for you... does it work for anybody else?

The search is available from the right click menu as "Find..." and also as C-F if the focus is on the tree....

I'm working on having the search come up as a cool popup window inside the tree panel... it looks much cooler that way

I'll take a look at the edit length thing... must be more complicated than i had thought...

As to foosions last post about dynamically allocated stuff effecting the time in an edit box, no, obviously it doesnt make a difference there... I had thought the problem was in my actual search function, where dynamically allocating a string 10,000 times would affect performance... thanks for the heads up on the utf8_from_window class I'll look into that...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-06 20:49:03
Quote
Speficially the zip file containt source and dll
http://www.bowron.us/foo_playlist_tree.zip (http://www.bowron.us/foo_playlist_tree.zip)[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=254166")
Shouldn't it be
[a href="http://foobar.bowron.us/foo_playlist_tree.zip]http://foobar.bowron.us/foo_playlist_tree.zip[/url] ?

BTW, I'm getting a crash while removeing the playlist tree tab (resulting in closing foobar without saving settings):

Illegal operation:
Code: 80000003h, flags: 00000000h, address: 03A8DC06h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (03A8DC06h):
03A8DBC6h:  A8 03 C0 DB A8 03 C8 DB A8 03 C8 DB A8 03 D0 DB
03A8DBD6h:  A8 03 D0 DB A8 03 D8 DB A8 03 D8 DB A8 03 2A 02
03A8DBE6h:  00 00 2C 71 CC 03 FC 74 CC 03 9C 76 CC 03 1C 73
03A8DBF6h:  CC 03 BC 19 CC 03 BC 19 CC 03 AC 3F CC 03 AC 3F
03A8DC06h:  CC 03 04 DC A8 03 04 DC A8 03 7C 1A CC 03 7C 1A
03A8DC16h:  CC 03 14 DC A8 03 14 DC A8 03 1C DC A8 03 1C DC
03A8DC26h:  A8 03 24 DC A8 03 24 DC A8 03 2C DC A8 03 2C DC
03A8DC36h:  A8 03 34 DC A8 03 34 DC A8 03 3C DC A8 03 3C DC
Stack (0012FD08h):
0012FCE8h:  E2391008 00000000 0000000C BBFDBDF0
0012FCF8h:  0012FE58 00009FAB F2FE6B64 BF805DD7
0012FD08h:  012B77E1 0012FD88 012B778E 00000000
0012FD18h:  00000000 00000000 0012FD4C 77D18709
0012FD28h:  00300996 0000000F 00000000 00000000
0012FD38h:  012B778E DCBAABCD 00000000 0012FD88
0012FD48h:  012B778E 0012FDB4 77D187EB 012B778E
0012FD58h:  00300996 0000000F 00000000 00000000
0012FD68h:  00000000 00300996 007C9EC0 00000014
0012FD78h:  00000001 00000000 00000000 00000010
0012FD88h:  00000000 0012FDA8 00000001 00000000
0012FD98h:  00000000 0012FD68 0012F928 0012FDF8
0012FDA8h:  77D40494 77D18808 00000000 0012FE08
0012FDB8h:  77D1B368 00000000 012B778E 00300996
0012FDC8h:  0000000F 00000000 00000000 007C9ED4
0012FDD8h:  00000001 0012FF00 0012FEF8 007C9EC0
0012FDE8h:  0012FE04 00000000 0012FDDC 0012F928
0012FDF8h:  0012FE8C 77D40494 77D1B378 FFFFFFFF
0012FE08h:  0012FE30 77D1B3B4 007C9EC0 0000000F
0012FE18h:  00000000 00000000 012B778E 00000000
Registers:
EAX: 03A8DB06, EBX: 00000000, ECX: 03CC1A80, EDX: 00000001
ESI: 03CC1A81, EDI: 00300996, EBP: 0012FD20, ESP: 0012FD08
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                        loaded at 7C800000h - 7C901000h
USER32                          loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77EF0000h - 77F36000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4C000h
RPCRT4                          loaded at 77E50000h - 77EE1000h
COMCTL32                        loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
IMM32                            loaded at 76340000h - 7635D000h
LPK                              loaded at 62E30000h - 62E39000h
USP10                            loaded at 74D20000h - 74D8B000h
foo_abx                          loaded at 003F0000h - 003FA000h
foo_ac3                          loaded at 00A40000h - 00A53000h
foo_albumlist                    loaded at 00A60000h - 00A6B000h
foo_ape                          loaded at 00A70000h - 00A8F000h
foo_audioscrobbler              loaded at 00A90000h - 00AB0000h
LIBCURL                          loaded at 00AB0000h - 00AC9000h
WS2_32                          loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
WINMM                            loaded at 76B00000h - 76B2E000h
foo_bookmark                    loaded at 00B60000h - 00B71000h
MFC42u                          loaded at 727B0000h - 728AE000h
MFC42LOC                        loaded at 61DF0000h - 61DFE000h
foo_burninate                    loaded at 00B80000h - 00B8C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                        loaded at 00B90000h - 00B9E000h
foo_clienc                      loaded at 00BA0000h - 00BAB000h
foo_console                      loaded at 00BB0000h - 00BB7000h
foo_custom_sort                  loaded at 00BC0000h - 00BC8000h
foo_dbexplorer                  loaded at 00BD0000h - 00BDD000h
foo_dbsearch                    loaded at 00BE0000h - 00BFA000h
foo_diskwriter                  loaded at 00C00000h - 00C12000h
foo_dsp_continuator              loaded at 00C20000h - 00C28000h
foo_dsp_crossfade                loaded at 00C30000h - 00C37000h
foo_dsp_extra                    loaded at 00C40000h - 00C55000h
foo_filedate                    loaded at 00C60000h - 00C69000h
foo_flac                        loaded at 00C70000h - 00C8C000h
foo_flaccer                      loaded at 00C90000h - 00CA6000h
foo_freedb                      loaded at 00CB0000h - 00CE2000h
foo_history                      loaded at 00CF0000h - 00D05000h
foo_id3v2                        loaded at 00D10000h - 00D40000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_infobox                      loaded at 00D40000h - 00D53000h
foo_info_samurize                loaded at 00D60000h - 00D7A000h
foo_input_std                    loaded at 00EA0000h - 00F42000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
foo_lame                        loaded at 00F50000h - 00F5C000h
foo_looks                        loaded at 00FA0000h - 0100D000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_massdelete                  loaded at 01020000h - 0102A000h
foo_masstag                      loaded at 01030000h - 01044000h
foo_matroska                    loaded at 01050000h - 010AB000h
foo_midi                        loaded at 010C0000h - 0114E000h
MFC71                            loaded at 7C140000h - 7C243000h
MSVCR71                          loaded at 7C340000h - 7C396000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
OLEAUT32                        loaded at 770F0000h - 7717C000h
foo_mod                          loaded at 01160000h - 01169000h
BASS                            loaded at 01170000h - 011CA000h
foo_mpcenc                      loaded at 011D0000h - 011DB000h
foo_nero                        loaded at 011E0000h - 011ED000h
MFC42                            loaded at 73D50000h - 73E4E000h
foo_openwith                    loaded at 011F0000h - 011F9000h
foo_output_asio(exe)            loaded at 01200000h - 0122C000h
foo_output_std                  loaded at 01240000h - 01249000h
foo_out_dsound_ex                loaded at 01250000h - 01259000h
DSOUND                          loaded at 73E90000h - 73EEC000h
foo_out_ks                      loaded at 01270000h - 0127B000h
SETUPAPI                        loaded at 778F0000h - 779E7000h
foo_playcount                    loaded at 01280000h - 0128A000h
foo_playlistfind                loaded at 01290000h - 0129B000h
foo_playlistgen_ex              loaded at 012A0000h - 012AF000h
foo_playlist_tree                loaded at 012B0000h - 012C3000h
foo_pod                          loaded at 012D0000h - 0133E000h
foo_podclienc                    loaded at 01340000h - 0134E000h
foo_podtranscoder                loaded at 01350000h - 0135B000h
foo_qconfig                      loaded at 01360000h - 0136C000h
foo_quicktag                    loaded at 01370000h - 01379000h
foo_read_http                    loaded at 01380000h - 01395000h
foo_record                      loaded at 013A0000h - 013AE000h
foo_remote                      loaded at 013B0000h - 013BB000h
foo_rgscan                      loaded at 013C0000h - 013CD000h
foo_scheduler                    loaded at 013D0000h - 013E5000h
foo_scroll                      loaded at 013F0000h - 013F6000h
foo_send_to_pl                  loaded at 01400000h - 01409000h
foo_shuffle                      loaded at 01410000h - 0141B000h
foo_spc                          loaded at 01420000h - 01431000h
foo_speex                        loaded at 01440000h - 01458000h
foo_systemdate2                  loaded at 01460000h - 0146B000h
foo_temple                      loaded at 01470000h - 0147B000h
foo_uie_albumart                loaded at 01480000h - 0148B000h
foo_uie_albumlist                loaded at 01490000h - 0149F000h
foo_uie_dbexplorer              loaded at 014A0000h - 014AB000h
foo_uie_simple_spectrum          loaded at 014B0000h - 014BB000h
foo_uie_tabs                    loaded at 014C0000h - 014CA000h
foo_uie_trackinfo                loaded at 014D0000h - 014DB000h
foo_uie_volume                  loaded at 014E0000h - 014EA000h
foo_ui_columns                  loaded at 014F0000h - 01527000h
foo_ui_std                      loaded at 01530000h - 01547000h
foo_unpack                      loaded at 01550000h - 01581000h
foo_vis_bubbla                  loaded at 01590000h - 015A4000h
OPENGL32                        loaded at 5F120000h - 5F1EC000h
GLU32                            loaded at 5FEA0000h - 5FEC1000h
DDRAW                            loaded at 736E0000h - 73729000h
DCIMAN32                        loaded at 73B40000h - 73B46000h
foo_vis_manager                  loaded at 035B0000h - 035B8000h
foo_vis_samurize2                loaded at 035C0000h - 035E7000h
foo_vis_simple_spectrum          loaded at 03710000h - 0371B000h
foo_vis_stereo                  loaded at 03720000h - 037A8000h
foo_vis_vu_meter                loaded at 037B0000h - 037B8000h
foo_vorbisenc                    loaded at 037C0000h - 038BA000h
foo_wavpack                      loaded at 038C0000h - 038D2000h
foo_web                          loaded at 038E0000h - 038F9000h
foo_wma                          loaded at 03900000h - 03919000h
WMVCore                          loaded at 7D7A0000h - 7D9AA000h
wmidx                            loaded at 4B380000h - 4B3A9000h
WMASF                            loaded at 59DE0000h - 59E1C000h
msdmo                            loaded at 73630000h - 73637000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                          loaded at 77AF0000h - 77B02000h
urlmon                          loaded at 77230000h - 772CE000h
MSVFW32                          loaded at 75ED0000h - 75EF1000h
WSOCK32                          loaded at 71A50000h - 71A5A000h
DRMClien                        loaded at 03920000h - 0396F000h
foo_tbar                        loaded at 03980000h - 03989000h
foo_text                        loaded at 03990000h - 039A3000h
msctfime                        loaded at 75160000h - 7518E000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                          loaded at 77010000h - 770E0000h
msi                              loaded at 7D1F0000h - 7D4A2000h
USERENV                          loaded at 76630000h - 766E4000h
xpsp2res                        loaded at 20000000h - 202D6000h
SXS                              loaded at 76980000h - 76A31000h
Powrprof                        loaded at 74A60000h - 74A68000h
mswsock                          loaded at 719D0000h - 71A10000h
DNSAPI                          loaded at 76EE0000h - 76F07000h
winrnr                          loaded at 76F70000h - 76F78000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
rasadhlp                        loaded at 76F80000h - 76F86000h
hnetcfg                          loaded at 66740000h - 66799000h
wshtcpip                        loaded at 71A10000h - 71A18000h
imagehlp                        loaded at 76C50000h - 76C78000h
DBGHELP                          loaded at 5D4B0000h - 5D551000h

Stack dump analysis:
Address: 012B77E1h, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D1B368h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000183h)
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D1B378h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000193h)
Address: 77D1B3B4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001CFh)
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 7C91EAE3h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 012B778Eh, location: "foo_playlist_tree", loaded at 012B0000h - 012C3000h
Address: 77D1B31Bh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000136h)
Address: 77D194F7h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongA" (+0000007Bh)
Address: 77D1B3D8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001F3h)
Address: 77D253A0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetActiveWindow" (+00000020h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D189C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D189E8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D3E819h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsDialogMessageW" (+000000DBh)
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 00438C81h, location: "foobar2000", loaded at 00400000h - 00452000h

Version info:
foobar2000 v0.8.3
UNICODE
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-06 21:18:42
Quote
Quote

I've added somewhat better unicode support.  (previous versions would not recognize nested files that had unicode names.... now they are added, but if you edit the text of the name it gets munged.)

[a href="index.php?act=findpost&pid=258108"][{POST_SNAPBACK}][/a]

Files which has unicode directory name are not recognized.
[a href="index.php?act=findpost&pid=258120"][{POST_SNAPBACK}][/a]


Still not perfect, but now it gets the folders... The names dont display correctly yet, but at least they show up now...

I also improved the progress bar showing/hiding so resizing isnt so choppy now...

and I made the search a popup window inside the panel... i think it looks pretty slick...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-07 01:58:09
First of all, Chris, thanks for the great plugin. It's very promising and it might well replace album list and playlist switcher very soon... I just hope you could keep working at this extraordinary pace!

Quote
Quote

The only downside of this is that there's an ugly icons white background   Maybe disabling the use of icons will be the easiest way to solve this
[a href="index.php?act=findpost&pid=258121"][{POST_SNAPBACK}][/a]

My icons come up correctly on my version and that's something that took me a long time to figure out... I'm not sure why it wouldnt work for you... does it work for anybody else?
[a href="index.php?act=findpost&pid=258127"][{POST_SNAPBACK}][/a]


When you change the colour of the background, the icons appear as still surrounded by a white frame. I hope you can fix it. 

I like the idea of having icons, I'll try to customize them with Resource Hacker later.

I think the plugin has still some speed issues. If I double click on All music in Album list, the plugin adds the playlist almost istantly, whereas Playlist tree takes several seconds....

The search function is a great feature but I hope you have the time to make the plugin as quick and reliable as the album list on the core features (dinamic and static playlists)

Thank you very much again 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 04:39:35
Quote
First of all, Chris, thanks for the great plugin. It's very promising and it might well replace album list and playlist switcher very soon... I just hope you could keep working at this extraordinary pace!

When you change the colour of the background, the icons appear as still surrounded by a white frame. I hope you can fix it. 

[a href="index.php?act=findpost&pid=258185"][{POST_SNAPBACK}][/a]


What version of Windows are you using? 

Do the icons have a white frame for everyone or is it working for some people... let me know if it works and what version of windows it is... might help me track down the problem... i use XP Home with all the latest service packs on the machine i developing this on and it works for me... the background of the images are set to the as the background color... Any developers out there see what might be the problem in the code?
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-07 11:46:38
Mine (not working) version is Windows XP Pro, SP2 

BTW, some bug report:

- I'm getting the same crash posted yesterday while removing playlist tree tab. Foobar closes without saving new/modified settings.

- When I close foobar I got the impression that the program is crashing but without reporting it. I.E. if I have modified the playlist tree, when closing I have the window that pop up asking me if I want to save the new playlist tree. I save it and everything seems to close fine. But when I reload fb2k, the playlist tree is the same as it was before the modifications, and if I try to load the .col saved when losing previous session of fb2k it loads but without bringing new settings. It happens all the time since yesterday to me (after having installed last version of your plugin).

Hope it helps.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 13:42:46
Quote
Mine (not working) version is Windows XP Pro, SP2 

BTW, some bug report:

- I'm getting the same crash posted yesterday while removing playlist tree tab. Foobar closes without saving new/modified settings.

- When I close foobar I got the impression that the program is crashing but without reporting it. I.E. if I have modified the playlist tree, when closing I have the window that pop up asking me if I want to save the new playlist tree. I save it and everything seems to close fine. But when I reload fb2k, the playlist tree is the same as it was before the modifications, and if I try to load the .col saved when losing previous session of fb2k it loads but without bringing new settings. It happens all the time since yesterday to me (after having installed last version of your plugin).

Hope it helps.
[a href="index.php?act=findpost&pid=258248"][{POST_SNAPBACK}][/a]


If you save it on your own (Components->Playlist Tree->Save Tree) Does it work?

That will help me know it its the actual saving or in the shutting down code.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 15:51:49
Quote
Mine (not working) version is Windows XP Pro, SP2 

- I'm getting the same crash posted yesterday while removing playlist tree tab. Foobar closes without saving new/modified settings.

- When I close foobar I got the impression that the program is crashing but without reporting it. I.E. if I have modified the playlist tree, when closing I have the window that pop up asking me if I want to save the new playlist tree. I save it and everything seems to close fine. But when I reload fb2k, the playlist tree is the same as it was before the modifications, and if I try to load the .col saved when losing previous session of fb2k it loads but without bringing new settings. It happens all the time since yesterday to me (after having installed last version of your plugin).

[a href="index.php?act=findpost&pid=258248"][{POST_SNAPBACK}][/a]


Try the version I just uploaded to see if the images work correctly now...

I tried displaying and removing the playlist tree panel repeatedly and couldnt get it to crash...    Are you using the tabbed panel extension? It might be related to using that...

I redid the save/load code.... see if it still crashes...
Title: foo_playlist_tree
Post by: The Link on 2004-12-07 16:02:44
An option to disable the horizontal scrollbar as in the albumlist panel would be nice, too.

The Link
Title: foo_playlist_tree
Post by: Sperber on 2004-12-07 16:28:54
And maybe a possibility to change the Icons for folders and files 

Claus
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 16:30:58
Quote
An option to disable the horizontal scrollbar as in the albumlist panel would be nice, too.

The Link
[a href="index.php?act=findpost&pid=258295"][{POST_SNAPBACK}][/a]


Yes, I thought that too... I looked into it and it requires me to upgrade my Platform SDK... which sounds like a lot of work....
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-07 16:49:56
Quote
If you save it on your own (Components->Playlist Tree->Save Tree) Does it work?
Still doesn't work here. Removing tab (panel version) is still crashing even if I save it some time before closing the fb2k or closing tab. The first action (closing fb2k) doesn't report anything (but as before playlist tree is the same as before changes), and second action report a crash and nothing is saved (even if dialog and file has been saved 

Quote
Try the version I just uploaded to see if the images work correctly now...

No. Still the same behaviour. Icons has white background.

Quote
I tried displaying and removing the playlist tree panel repeatedly and couldnt get it to crash...  Are you using the tabbed panel extension? It might be related to using that...

Yes, I'm using the tabbed panel extension.

Edit: Using the non-tabbed/panel version (as a normal separate window. everything works fine: saving, closing, etc... So I guess it's related to tabbed and/or panel version. Icons still have a white background in the component window.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-07 16:59:24
Quote
Try the version I just uploaded to see if the images work correctly now...


I still see the icons in a white frame. I tried to change the background several times but it doesn't change. I'm using Win XP Pro SP2 and the non-panel window of playlist_tree (I still have columns_ui beta 3, so I'm not using the plugin as a panel)

Quote
I redid the save/load code.... see if it still crashes...
[a href="index.php?act=findpost&pid=258292"][{POST_SNAPBACK}][/a]


I don't have crashes with load/save (I had a crash when I moved a dynamic folder in the root folder but I cannot reproduce it). However, a root folder is added every time I reload a tree, . If I save:

All
  | 
  |_by Artist
  |_by Genre

when I reload I'll have

All
  |
  | _ All
.......|
.......|_by Artist
.......|_by Genre


I hope it helps 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 17:07:07
Quote
I don't have crashes with load/save (I had a crash when I moved a dynamic folder in the root folder but I cannot reproduce it). However, a root folder is added every time I reload a tree, . If I save:

All
  | 
  |_by Artist
  |_by Genre

when I reload I'll have

All
  |
  | _ All
.......|
.......|_by Artist
.......|_by Genre


I hope it helps 
[a href="index.php?act=findpost&pid=258312"][{POST_SNAPBACK}][/a]


Yes, I noticed this too... I have fixed it, but not uploaded it yet... the next release will have this fixed.

This white background thing is puzzling me... I'll see what i can come up with...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-07 17:16:44
Quote
This white background thing is puzzling me... I'll see what i can come up with...
[a href="index.php?act=findpost&pid=258315"][{POST_SNAPBACK}][/a]


If you need any test, don't hesitate to ask. 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 17:46:37
Here's a thought... I'm thinking that the people who are having issues with bitmaps with white backgrounds have played around with color settings in the main foobar2000 program and/or columns UI... is that true? 

How can I adjust things so that the display is like yours so I can test things?
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 17:59:12
I just uploaded a new version in which the folder icons are optional... until I can figure out what the problem is, you can turn them icons off if you want...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-07 18:21:09
Quote
I just uploaded a new version in which the folder icons are optional... until I can figure out what the problem is, you can turn them icons off if you want...
[a href="index.php?act=findpost&pid=258328"][{POST_SNAPBACK}][/a]



OK.

I de-installed foobar, took away everything from the directory, reinstalled the light version of foobar with the last playlist tree (my other two component are just foo_console and foo_input and...

Well, no white frame around icons. I'll try to add components now and see which is the one who creates problems.

At least is something... 
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-07 19:15:08
Quote
How can I adjust things so that the display is like yours so I can test things?
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=258323")

Link to my column UI configuration:
[a href="http://www.mokava.org/temp/superfly.foobar_colums_UI.fcs]http://www.mokava.org/temp/superfly.foobar_colums_UI.fcs[/url]

Hope it help
Title: foo_playlist_tree
Post by: stroke on 2004-12-07 19:43:21
1. i experienced this problem with white icon background until i downloaded the latest version. now it works fine and looks real cute

2. maybe someone else is already doing it, but i just found out a wonderful  use for playlist tree. i use it to catalog my mp3 cds, since i don't have enough harddrive space to store all of them. at last i won't have to use dedicated software, & rummage for them all over my room . now i won't have to leave foobar to know exactly where a particular track is. thank you a ton, Chris. what would you say to implementing some additional features to better support this functionality? like a popup window saying sth like: pls insert cd _your_custom_&unique_cd_name to play  selected item. this would definitely improve user experience

3. search box
- don't you think that using ENTER for starting a search and moving to the next item would be better than clicking the search button? if not enter then maybe a keyboard shortcut.
- what about using ESCAPE key instead of cancel button?
- keyboard shortcut for calling up the search box even if playlist tree is not focused would be also a feature i would love

take care our precious playlist tree developer
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-07 20:47:39
Quote
1. i experienced this problem with white icon background until i downloaded the latest version. now it works fine and looks real cute

Same here. Now it works   

What still doesn't work is closing tab/panel version, still getting same crash.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 21:18:53
Quote
3. search box
- don't you think that using ENTER for starting a search and moving to the next item would be better than clicking the search button? if not enter then maybe a keyboard shortcut.
- what about using ESCAPE key instead of cancel button?
- keyboard shortcut for calling up the search box even if playlist tree is not focused would be also a feature i would love

[a href="index.php?act=findpost&pid=258358"][{POST_SNAPBACK}][/a]


I concur.  I had planned on doing that, but for some reason that's not working the way it normally does...

I'm going to look into the possibility of a global hot key over in the development forum.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-07 21:48:30
Quote
I concur.  I had planned on doing that, but for some reason that's not working the way it normally does...

I'm going to look into the possibility of a global hot key over in the development forum.
[a href="index.php?act=findpost&pid=258374"][{POST_SNAPBACK}][/a]


Ok, I figured it out... All I had to do on my end was add a menu option... Under Component->Playlist Tree->Find you can do a search...

Now you can go into the preferences and under Core->Keyboard shortcuts you can add a global shortcut to the playlist tree search box...

cool.... 
Title: foo_playlist_tree
Post by: stroke on 2004-12-07 22:52:24
just noticed that the search box covers the scroll bar making it impossible to use scroll down arrow
(http://img41.exs.cx/img41/7716/playlisttreesearchboxscrollbar.png)

also when i do not exit searchbox or do not minimize foobar, and then open any other app searchbox stays on top, see screenshot below. (always minimizing to system try, so i don't know how it behaves when minimizing to taskbar)

(http://img41.exs.cx/img41/7046/playlisttreesearchboxontop6mh.png)
Title: foo_playlist_tree
Post by: marcomk on 2004-12-08 01:02:02
I tried to replace the icons with Resource Hacker. I edited the bitmap by appling some GANT images.

Well, it didn't work well. I got the white background once again and the colors are messed up. I'm not an expert at all but I think it's because the images I applied on the  original bitmap have a greater color depth (the original bitmap has very few basic colors).  Anyone has a clue about it?

I posted the original bitmap and the modified one here (http://www.hydrogenaudio.org/forums/index.php?showtopic=29894)

Thank you
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-08 16:20:42
Quote
just noticed that the search box covers the scroll bar making it impossible to use scroll down arrow
[a href="index.php?act=findpost&pid=258389"][{POST_SNAPBACK}][/a]


Fixed.

Quote
also when i do not exit searchbox or do not minimize foobar, and then open any other app searchbox stays on top, see screenshot below. (always minimizing to system try, so i don't know how it behaves when minimizing to taskbar)
[a href="index.php?act=findpost&pid=258389"][{POST_SNAPBACK}][/a]


Fixed.

I also added a special feature just for marcomk
Title: foo_playlist_tree
Post by: marcomk on 2004-12-08 18:31:19
Quote
I also added a special feature just for marcomk
[a href="index.php?act=findpost&pid=258530"][{POST_SNAPBACK}][/a]


Thanks very much for the feature!   

However, I have still some problem with the modified GANT bitmap (is the same one I uploaded, right?).  When I choose to  use that bitmap, the colors of the icons are messed up and there is still a white frame around the icons. I think it's related to the color depth of the images (the originl bitmap has very few colors) but I don't have much knowledge about this stuff.

Some other request now. 
I still have some problem with the speed of this plugin. When I load a .col tree, for example, it takes 5-6 seconds to process the file. When I doubleclick on the root to create a playlist with all my music, it takes a few seconds too (albumlist does it instantly).  Also, when I expand a nodes, the backgroud flickers (I have a blu background, I can see a white flash during the process).

I still experience some crashes from time to time, when I will able to reproduce them, I will report them.

Thanks again for your hard work!
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-08 18:48:52
Quote
Quote
I also added a special feature just for marcomk
[a href="index.php?act=findpost&pid=258530"][{POST_SNAPBACK}][/a]

However, I have still some problem with the modified GANT bitmap (is the same one I uploaded, right?).  When I choose to  use that bitmap, the colors of the icons are messed up and there is still a white frame around the icons. I think it's related to the color depth of the images (the originl bitmap has very few colors) but I don't have much knowledge about this stuff.
[a href="index.php?act=findpost&pid=258566"][{POST_SNAPBACK}][/a]


I think the problem might be in the generic windows TreeView control.  I think that it might be able to only use 16 color bitmaps, but I am not sure about that.

Quote
Some other request now.  
I still have some problem with the speed of this plugin. When I load a .col tree, for example, it takes 5-6 seconds to process the file. When I doubleclick on the root to create a playlist with all my music, it takes a few seconds too (albumlist does it instantly).  Also, when I expand a nodes, the backgroud flickers (I have a blu background, I can see a white flash during the process).
[a href="index.php?act=findpost&pid=258566"][{POST_SNAPBACK}][/a]


albumlist and playlist_tree handle the way they store files very differently.  In playlist_tree files are only associated with the deepest level in which they exist.  In albumlist files are associated with each level of the tree in which they lie.  This means that the playlist tree has to visit the leaf nodes of every branch of the tree to send the files to the playlist.  Storing files only at the leaf nodes saves on storage space but more importantly it makes rearranging the tree much more easy (for example if you were to remove a subtree you have to propagate all those changes but up throw the tree so each parent removes all the entries that were in the subtree).  Bottom line is that playlist tree is always going to be slower than albumlist if you want to enqueue everything, but I will see if I can make any improvements on the speed. 

The flash you see when expanding nodes is probably because I am doing something wrong in the way I handle the windows.  This is probably the first program I've written that makes heavy use of the windows API and some of the window layout stuff can be a bit tricky.

I've fixed the search box stuff so now you can just hit enter when typing your search criteria and it will automatically "find next" and escape will stop searching.  I will upload this new version by the end of the day.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-08 18:55:14
Quote
I still experience some crashes from time to time, when I will able to reproduce them, I will report them.
[a href="index.php?act=findpost&pid=258566"][{POST_SNAPBACK}][/a]

Did you try closing the tabbed panel version? I get a crash everytime... don't know if I'm the only one experiencing this. Window component doesn't crash.

BTW, you're right about the speed. I mean, if this plugin is based in the album list (and it's very similar) it should behave +- the same regarding building dynamic queries, and adding it to a playlist. Playlist tree takes much more time doing the same thing 

Even building a same query takes more time in this plugin 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-08 19:13:23
Quote
Quote
I still experience some crashes from time to time, when I will able to reproduce them, I will report them.
[a href="index.php?act=findpost&pid=258566"][{POST_SNAPBACK}][/a]

Did you try closing the tabbed panel version? I get a crash everytime... don't know if I'm the only one experiencing this. Window component doesn't crash.

BTW, you're right about the speed. I mean, if this plugin is based in the album list (and it's very similar) it should behave +- the same regarding building dynamic queries, and adding it to a playlist. Playlist tree takes much more time doing the same thing 

Even building a same query takes more time in this plugin 
[a href="index.php?act=findpost&pid=258570"][{POST_SNAPBACK}][/a]


I figured out that most of the speed issues were due to progress bar updates... so I got rid of them....

Much faster... check out the latest version...
Title: foo_playlist_tree
Post by: witt on 2004-12-08 19:32:08
How do I get along with archived files, cuesheet&entire-album or matroska files?
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-08 20:43:59
Quote
I figured out that most of the speed issues were due to progress bar updates... so I got rid of them....

Much faster... check out the latest version...
[a href="index.php?act=findpost&pid=258571"][{POST_SNAPBACK}][/a]

You're right! Now it's much faster  Thanks.

I keep getting that crash while closing the plugin tab, I post the log crash if it's help you:

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 03D2DE1Bh
Access violation, operation: write, address: 5BD2FF90h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (03D2DE1Bh):
03D2DDDBh:  00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00
03D2DDEBh:  00 31 00 00 00 4C 61 75 72 69 27 73 20 66 61 76
03D2DDFBh:  6F 72 69 74 65 73 00 00 00 00 00 00 00 00 00 00
03D2DE0Bh:  00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00
03D2DE1Bh:  00 91 00 00 00 58 A1 2A 01 F0 DD D2 03 1D 00 00
03D2DE2Bh:  00 1D 00 00 00 00 00 00 00 11 00 00 00 01 00 00
03D2DE3Bh:  00 58 A1 2A 01 90 DD D2 03 23 00 00 00 23 00 00
03D2DE4Bh:  00 00 00 00 00 12 00 00 00 02 00 00 00 01 00 00
Stack (0012FD04h):
0012FCE4h:  00000000 00000000 0000000C BBEDC238
0012FCF4h:  0012FE58 00009F9F F2C85B64 00000030
0012FD04h:  00000246 012B8021 0012FD88 012B7FCE
0012FD14h:  00000000 00000000 00000000 0012FD4C
0012FD24h:  77D18709 000E0B94 0000000F 00000000
0012FD34h:  00000000 012B7FCE DCBAABCD 00000000
0012FD44h:  0012FD88 012B7FCE 0012FDB4 77D187EB
0012FD54h:  012B7FCE 000E0B94 0000000F 00000000
0012FD64h:  00000000 00000000 000E0B94 0070B0C8
0012FD74h:  00000014 00000001 00000000 00000000
0012FD84h:  00000010 00000000 0012FDA8 00000001
0012FD94h:  00000000 00000000 0012FD68 0012F928
0012FDA4h:  0012FDF8 77D40494 77D18808 00000000
0012FDB4h:  0012FE08 77D1B368 00000000 012B7FCE
0012FDC4h:  000E0B94 0000000F 00000000 00000000
0012FDD4h:  0070B0DC 00000001 0012FF00 0012FEF8
0012FDE4h:  0070B0C8 0012FE04 00000000 0012FDDC
0012FDF4h:  0012F928 0012FE8C 77D40494 77D1B378
0012FE04h:  FFFFFFFF 0012FE30 77D1B3B4 0070B0C8
0012FE14h:  0000000F 00000000 00000000 012B7FCE
Registers:
EAX: 03A89A78, EBX: 00000000, ECX: 03D2FF90, EDX: 03D2DD6D
ESI: 03D2FF90, EDI: 000E0B94, EBP: 0012FD20, ESP: 0012FD04
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                        loaded at 7C800000h - 7C901000h
USER32                          loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77EF0000h - 77F36000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4C000h
RPCRT4                          loaded at 77E50000h - 77EE1000h
COMCTL32                        loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
IMM32                            loaded at 76340000h - 7635D000h
LPK                              loaded at 62E30000h - 62E39000h
USP10                            loaded at 74D20000h - 74D8B000h
foo_abx                          loaded at 003F0000h - 003FA000h
foo_ac3                          loaded at 00A40000h - 00A53000h
foo_albumlist                    loaded at 00A60000h - 00A6B000h
foo_ape                          loaded at 00A70000h - 00A8F000h
foo_audioscrobbler              loaded at 00A90000h - 00AB0000h
LIBCURL                          loaded at 00AB0000h - 00AC9000h
WS2_32                          loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
WINMM                            loaded at 76B00000h - 76B2E000h
foo_bookmark                    loaded at 00B60000h - 00B71000h
MFC42u                          loaded at 727B0000h - 728AE000h
MFC42LOC                        loaded at 61DF0000h - 61DFE000h
foo_burninate                    loaded at 00B80000h - 00B8C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                        loaded at 00B90000h - 00B9E000h
foo_clienc                      loaded at 00BA0000h - 00BAB000h
foo_console                      loaded at 00BB0000h - 00BB7000h
foo_custom_sort                  loaded at 00BC0000h - 00BC8000h
foo_dbexplorer                  loaded at 00BD0000h - 00BDD000h
foo_dbsearch                    loaded at 00BE0000h - 00BFA000h
foo_diskwriter                  loaded at 00C00000h - 00C12000h
foo_dsp_continuator              loaded at 00C20000h - 00C28000h
foo_dsp_crossfade                loaded at 00C30000h - 00C37000h
foo_dsp_extra                    loaded at 00C40000h - 00C55000h
foo_filedate                    loaded at 00C60000h - 00C69000h
foo_flac                        loaded at 00C70000h - 00C8C000h
foo_flaccer                      loaded at 00C90000h - 00CA6000h
foo_freedb                      loaded at 00CB0000h - 00CE2000h
foo_history                      loaded at 00CF0000h - 00D05000h
foo_id3v2                        loaded at 00D10000h - 00D40000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_infobox                      loaded at 00D40000h - 00D53000h
foo_info_samurize                loaded at 00D60000h - 00D7A000h
foo_input_std                    loaded at 00EA0000h - 00F42000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
foo_lame                        loaded at 00F50000h - 00F5C000h
foo_looks                        loaded at 00FA0000h - 0100D000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_massdelete                  loaded at 01020000h - 0102A000h
foo_masstag                      loaded at 01030000h - 01044000h
foo_matroska                    loaded at 01050000h - 010AB000h
foo_midi                        loaded at 010C0000h - 0114E000h
MFC71                            loaded at 7C140000h - 7C243000h
MSVCR71                          loaded at 7C340000h - 7C396000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
OLEAUT32                        loaded at 770F0000h - 7717C000h
foo_mod                          loaded at 01160000h - 01169000h
BASS                            loaded at 01170000h - 011CA000h
foo_mpcenc                      loaded at 011D0000h - 011DB000h
foo_nero                        loaded at 011E0000h - 011ED000h
MFC42                            loaded at 73D50000h - 73E4E000h
foo_openwith                    loaded at 011F0000h - 011F9000h
foo_output_asio(exe)            loaded at 01200000h - 0122C000h
foo_output_std                  loaded at 01240000h - 01249000h
foo_out_dsound_ex                loaded at 01250000h - 01259000h
DSOUND                          loaded at 73E90000h - 73EEC000h
foo_out_ks                      loaded at 01270000h - 0127B000h
SETUPAPI                        loaded at 778F0000h - 779E7000h
foo_playcount                    loaded at 01280000h - 0128A000h
foo_playlistfind                loaded at 01290000h - 0129B000h
foo_playlistgen_ex              loaded at 012A0000h - 012AF000h
foo_playlist_tree                loaded at 012B0000h - 012C5000h
foo_pod                          loaded at 012D0000h - 0133E000h
foo_podclienc                    loaded at 01340000h - 0134E000h
foo_podtranscoder                loaded at 01350000h - 0135B000h
foo_qconfig                      loaded at 01360000h - 0136C000h
foo_quicktag                    loaded at 01370000h - 01379000h
foo_read_http                    loaded at 01380000h - 01395000h
foo_record                      loaded at 013A0000h - 013AE000h
foo_remote                      loaded at 013B0000h - 013BB000h
foo_rgscan                      loaded at 013C0000h - 013CD000h
foo_scheduler                    loaded at 013D0000h - 013E5000h
foo_scroll                      loaded at 013F0000h - 013F6000h
foo_send_to_pl                  loaded at 01400000h - 01409000h
foo_shuffle                      loaded at 01410000h - 0141B000h
foo_spc                          loaded at 01420000h - 01431000h
foo_speex                        loaded at 01440000h - 01458000h
foo_systemdate2                  loaded at 01460000h - 0146B000h
foo_temple                      loaded at 01470000h - 0147B000h
foo_uie_albumart                loaded at 01480000h - 0148B000h
foo_uie_albumlist                loaded at 01490000h - 0149F000h
foo_uie_dbexplorer              loaded at 014A0000h - 014AB000h
foo_uie_simple_spectrum          loaded at 014B0000h - 014BB000h
foo_uie_tabs                    loaded at 014C0000h - 014CA000h
foo_uie_trackinfo                loaded at 014D0000h - 014DB000h
foo_uie_volume                  loaded at 014E0000h - 014EA000h
foo_ui_columns                  loaded at 014F0000h - 01527000h
foo_ui_std                      loaded at 01530000h - 01547000h
foo_unpack                      loaded at 01550000h - 01581000h
foo_vis_bubbla                  loaded at 01590000h - 015A4000h
OPENGL32                        loaded at 5F120000h - 5F1EC000h
GLU32                            loaded at 5FEA0000h - 5FEC1000h
DDRAW                            loaded at 736E0000h - 73729000h
DCIMAN32                        loaded at 73B40000h - 73B46000h
foo_vis_manager                  loaded at 035B0000h - 035B8000h
foo_vis_samurize2                loaded at 035C0000h - 035E7000h
foo_vis_simple_spectrum          loaded at 03710000h - 0371B000h
foo_vis_stereo                  loaded at 03720000h - 037A8000h
foo_vis_vu_meter                loaded at 037B0000h - 037B8000h
foo_vorbisenc                    loaded at 037C0000h - 038BA000h
foo_wavpack                      loaded at 038C0000h - 038D2000h
foo_web                          loaded at 038E0000h - 038F9000h
foo_wma                          loaded at 03900000h - 03919000h
WMVCore                          loaded at 7D7A0000h - 7D9AA000h
wmidx                            loaded at 4B380000h - 4B3A9000h
WMASF                            loaded at 59DE0000h - 59E1C000h
msdmo                            loaded at 73630000h - 73637000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                          loaded at 77AF0000h - 77B02000h
urlmon                          loaded at 77230000h - 772CE000h
MSVFW32                          loaded at 75ED0000h - 75EF1000h
WSOCK32                          loaded at 71A50000h - 71A5A000h
DRMClien                        loaded at 03920000h - 0396F000h
foo_tbar                        loaded at 03980000h - 03989000h
foo_text                        loaded at 03990000h - 039A3000h
msctfime                        loaded at 75160000h - 7518E000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                          loaded at 77010000h - 770E0000h
msi                              loaded at 7D1F0000h - 7D4A2000h
USERENV                          loaded at 76630000h - 766E4000h
xpsp2res                        loaded at 20000000h - 202D6000h
SXS                              loaded at 76980000h - 76A31000h
Powrprof                        loaded at 74A60000h - 74A68000h
mswsock                          loaded at 719D0000h - 71A10000h
DNSAPI                          loaded at 76EE0000h - 76F07000h
winrnr                          loaded at 76F70000h - 76F78000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
rasadhlp                        loaded at 76F80000h - 76F86000h
hnetcfg                          loaded at 66740000h - 66799000h
wshtcpip                        loaded at 71A10000h - 71A18000h
appHelp                          loaded at 77B10000h - 77B32000h
cscui                            loaded at 779F0000h - 77A45000h
CSCDLL                          loaded at 765B0000h - 765CD000h
browseui                        loaded at 75F30000h - 7602C000h
ntshrui                          loaded at 76950000h - 76976000h
ATL                              loaded at 76AE0000h - 76AF1000h
NETAPI32                        loaded at 597F0000h - 59844000h
shdocvw                          loaded at 77730000h - 7789C000h
CRYPTUI                          loaded at 76890000h - 76914000h
WINTRUST                        loaded at 76BF0000h - 76C1E000h
IMAGEHLP                        loaded at 76C50000h - 76C78000h
DBGHELP                          loaded at 5D4B0000h - 5D551000h

Stack dump analysis:
Address: 012B8021h, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D1B368h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000183h)
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D1B378h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000193h)
Address: 77D1B3B4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001CFh)
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 7C91EAE3h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 012B7FCEh, location: "foo_playlist_tree", loaded at 012B0000h - 012C5000h
Address: 77D1B31Bh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000136h)
Address: 77D194F7h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongA" (+0000007Bh)
Address: 77D1B3D8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001F3h)
Address: 77D253A0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetActiveWindow" (+00000020h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D189C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D189E8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D3E819h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsDialogMessageW" (+000000DBh)
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 00438C81h, location: "foobar2000", loaded at 00400000h - 00452000h

Version info:
foobar2000 v0.8.3
UNICODE
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-08 20:48:15
Quote
Quote
I figured out that most of the speed issues were due to progress bar updates... so I got rid of them....

Much faster... check out the latest version...
[a href="index.php?act=findpost&pid=258571"][{POST_SNAPBACK}][/a]

You're right! Now it's much faster  Thanks.

I keep getting that crash while closing the plugin tab, I post the log crash if it's help you:

Version info:
foobar2000 v0.8.3
UNICODE
[a href="index.php?act=findpost&pid=258578"][{POST_SNAPBACK}][/a]


I just grabbed the source for foo_uie_tabs and I'm looking into your problem.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-08 22:03:19
Quote
Quote
Quote
I figured out that most of the speed issues were due to progress bar updates... so I got rid of them....

Much faster... check out the latest version...
[a href="index.php?act=findpost&pid=258571"][{POST_SNAPBACK}][/a]

You're right! Now it's much faster  Thanks.

I keep getting that crash while closing the plugin tab, I post the log crash if it's help you:

Version info:
foobar2000 v0.8.3
UNICODE
[a href="index.php?act=findpost&pid=258578"][{POST_SNAPBACK}][/a]


I just grabbed the source for foo_uie_tabs and I'm looking into your problem.
[a href="index.php?act=findpost&pid=258579"][{POST_SNAPBACK}][/a]



I got nothing.  I don't know what the problem is... I've noticed it crashes when you remove the tab, but if you close the tabbed panel stack it doesnt crash...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-08 22:13:40
Quote
I got nothing.  I don't know what the problem is... I've noticed it crashes when you remove the tab, but if you close the tabbed panel stack it doesnt crash...
[a href="index.php?act=findpost&pid=258586"][{POST_SNAPBACK}][/a]

Hmm..weird. I can't get any 'remove tab', just 'close tab'. I've just updated to last column UI build (just posted by musicmusic), so maybe something has changed dunno. Anyway, closing tab crash here. Other panels don't crash while closing tab 

If you need something else tell me (cfg files and stuff...).

Thanks a lot for your time, it's much appreciated.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-08 22:17:22
Quote
Quote
I got nothing.  I don't know what the problem is... I've noticed it crashes when you remove the tab, but if you close the tabbed panel stack it doesnt crash...
[a href="index.php?act=findpost&pid=258586"][{POST_SNAPBACK}][/a]

Hmm..weird. I can't get any 'remove tab', just 'close tab'. I've just updated to last column UI build (just posted by musicmusic), so maybe something has changed dunno. Anyway, closing tab crash here. Other panels don't crash while closing tab 

If you need something else tell me (cfg files and stuff...).

Thanks a lot for your time, it's much appreciated.
[a href="index.php?act=findpost&pid=258589"][{POST_SNAPBACK}][/a]


I guess I meant close tab... When I close the tab it crashes too... but when I shut down the tabbed panel stack, it doesnt crash...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-08 23:34:43
Quote
Quote

However, I have still some problem with the modified GANT bitmap (is the same one I uploaded, right?).  When I choose to  use that bitmap, the colors of the icons are messed up and there is still a white frame around the icons. I think it's related to the color depth of the images (the originl bitmap has very few colors) but I don't have much knowledge about this stuff.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=258566")


I think the problem might be in the generic windows TreeView control.  I think that it might be able to only use 16 color bitmaps, but I am not sure about that.
[a href="index.php?act=findpost&pid=258568"][{POST_SNAPBACK}][/a]


Well, I tried to decrease the color depth of the modified image up to 16 colors and it still  doesn't work properly (messed up palette). I really can't understand why.

If anybody want to try, I uploaded the bitmap [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29917&view=findpost&p=258602]here[/url]

Thanks.
Title: foo_playlist_tree
Post by: Jasper on 2004-12-09 09:42:18
Quote
Yes, I thought that too... I looked into it and it requires me to upgrade my Platform SDK... which sounds like a lot of work....[a href="index.php?act=findpost&pid=258305"][{POST_SNAPBACK}][/a]
It's not that involved, you just need to download something from MSDN, install it and change a few paths (for includes and libraries), I can recommend it, especially when developing for Windows 2000 and XP.
Title: foo_playlist_tree
Post by: filon on 2004-12-09 09:56:11
Quote
Quote
Yes, I thought that too... I looked into it and it requires me to upgrade my Platform SDK... which sounds like a lot of work....[a href="index.php?act=findpost&pid=258305"][{POST_SNAPBACK}][/a]
It's not that involved, you just need to download something from MSDN, install it and change a few paths (for includes and libraries), I can recommend it, especially when developing for Windows 2000 and XP.
[a href="index.php?act=findpost&pid=258667"][{POST_SNAPBACK}][/a]


And path changes are handled by scripts from Start Menu.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-09 15:04:15
Quote
Quote
Quote
I got nothing.  I don't know what the problem is... I've noticed it crashes when you remove the tab, but if you close the tabbed panel stack it doesnt crash...
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=258586")

Hmm..weird. I can't get any 'remove tab', just 'close tab'. I've just updated to last column UI build (just posted by musicmusic), so maybe something has changed dunno. Anyway, closing tab crash here. Other panels don't crash while closing tab 

If you need something else tell me (cfg files and stuff...).

Thanks a lot for your time, it's much appreciated.
[a href="index.php?act=findpost&pid=258589"][{POST_SNAPBACK}][/a]


I guess I meant close tab... When I close the tab it crashes too... but when I shut down the tabbed panel stack, it doesnt crash...
[a href="index.php?act=findpost&pid=258590"][{POST_SNAPBACK}][/a]


Thanks to some help I got from Phi, Playlist Tree now opens and closes correctly under the tabbed panel environment... no more crashes....

New version has been uploaded to the usual places... [a href="http://foobar.bowron.us]http://foobar.bowron.us[/url]
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-09 17:02:17
Quote
Thanks to some help I got from Phi, Playlist Tree now opens and closes correctly under the tabbed panel environment... no more crashes....
[a href="index.php?act=findpost&pid=258725"][{POST_SNAPBACK}][/a]

Now it works. Thanks
Title: foo_playlist_tree
Post by: marcomk on 2004-12-09 20:15:55
I had a crash that I can reproduce with the latest version...

1. Open foobar and load the .col file in Playlist_tree (panel version).

2.  Edit display of a dynamic folder and try to paste this string (my artist view in albumlist):

Code: [Select]
$if(%various%,'- - - VARIOUS ARTISTS - - -',$if2(%album artist%,$if2(%artist%,'- - - Files with missing tags - - -')))|$if(%various%,$if2(%album%,)$if2('  ['%date%']',),$if2('['%date%']  ',)$if2(%album%,))|$if(%various%,$if($or(%disc%,%discname%),$if2('Disc '%disc%,)$if2(' '''%discname%'',),$num(%tracknumber%,2)' - '$if2(%artist%' - ',)%title%),$if(%singletrack%,'>  '%title%,$if($or(%disc%,%discname%),$if(%disc%,'Disc '%disc%)$if(%discname%,' '''%discname%''),$num(%tracknumber%,2)$if(%album artist%,' - '%artist%)' - '%title%)))|$if(%various%,$if($or(%disc%,%discname%),$num(%tracknumber%,2)' - '%artist%' - '%title%),$if(%singletrack%,,$if($or(%disc%,%discname%),$num(%tracknumber%,2)$if(%album artist%,' - '%artist%)' - '%title%)))


(For some reason the string is cut after 259 characters. It should accept longer strings, I guess...)

4. After pasting the string, don't touch anything and leave the cursor blinking in the box for 10-15 seconds.

4. Foobar crashes. Here's the log:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 69207461h
Access violation, operation: read, address: 69207461h
Call path:

This is the first crash logged by this instance.
Access violation, operation: read, address: 69207461h
Stack (02C1FE88h):
02C1FE68h:  00000000 003A0043 0000005C 01D8F0F8
02C1FE78h:  7CBCC530 7CA06A90 01D877E0 01D98044
02C1FE88h:  016A973D 016A0000 00000003 00000000
02C1FE98h:  00000000 02C1FEB8 00255460 02C1FEC4
02C1FEA8h:  7C9111A7 016A0000 00000001 00000000
02C1FEB8h:  00255460 00000000 00255528 02C1FF3C
02C1FEC8h:  7C929213 016A96AD 016A0000 00000003
02C1FED8h:  00000000 00000000 7FFDA000 00000000
02C1FEE8h:  00000014 00000001 00000000 00000000
02C1FEF8h:  00000010 00000000 00000000 00000000
02C1FF08h:  00000000 00000000 00000000 00255528
02C1FF18h:  7FFDB000 016A96AD 00255460 02C1FEDC
02C1FF28h:  02C1FAAC 02C1FF64 7C91EE18 7C929168
02C1FF38h:  00000001 02C1FF74 7C80CCE7 7C98C3A0
02C1FF48h:  7C98C380 00000000 00000005 7FFDA000
02C1FF58h:  00000000 02C1FF44 02C1FAAC 02C1FFDC
02C1FF68h:  7C8399F3 7C80CD10 FFFFFFFF 02C1FF80
02C1FF78h:  7C80C939 00000000 02C1FFB4 7C920B63
02C1FF88h:  00000000 0012CFDC 0012CFDC 00000000
02C1FF98h:  00000000 00000000 E8287C00 FFFFFFFF
Registers:
EAX: 69207461, EBX: 016A0000, ECX: 00000000, EDX: 00000000
ESI: 00000003, EDI: 00000000, EBP: 02C1FEA4, ESP: 02C1FE88
Unable to identify crash location

Loaded modules:
foobar2000                       loaded at 00400000h - 00460000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                         loaded at 7C800000h - 7C8FF000h
USER32                           loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77E40000h - 77E86000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                           loaded at 77BE0000h - 77C38000h
ADVAPI32                         loaded at 77F40000h - 77FEB000h
RPCRT4                           loaded at 77DA0000h - 77E31000h
COMCTL32                         loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77E90000h - 77F2D000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7EB16000h
foo_abx                          loaded at 008D0000h - 008DC000h
foo_ac3                          loaded at 008E0000h - 008F3000h
foo_albumlist                    loaded at 00900000h - 0090B000h
foo_ape                          loaded at 00910000h - 0092F000h
foo_apl                          loaded at 00930000h - 0093A000h
foo_bitcompare                   loaded at 00940000h - 00949000h
foo_burninate                    loaded at 00950000h - 0095C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                         loaded at 00960000h - 0096E000h
foo_clienc                       loaded at 00970000h - 0097B000h
foo_console                      loaded at 00980000h - 00987000h
foo_convolve                     loaded at 00990000h - 009DF000h
foo_dbsearch                     loaded at 009E0000h - 009F8000h
foo_diskwriter                   loaded at 00A00000h - 00A12000h
WINMM                            loaded at 76B00000h - 76B2E000h
serwvdrv                         loaded at 5D190000h - 5D197000h
umdmxfrm                         loaded at 5B4B0000h - 5B4B7000h
foo_dsp_crossfade                loaded at 00AA0000h - 00AA7000h
foo_dsp_crossfeed                loaded at 00AB0000h - 00AB6000h
foo_dsp_extra                    loaded at 00AC0000h - 00AD5000h
foo_dsp_nogaps                   loaded at 00AE0000h - 00AE7000h
foo_dsp_pause                    loaded at 00AF0000h - 00AF7000h
foo_dsp_skip_silence             loaded at 00B00000h - 00B07000h
foo_dsp_soundtouch               loaded at 00B10000h - 00B1B000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_dynamics                     loaded at 00B20000h - 00B27000h
foo_faac                         loaded at 00B30000h - 00B63000h
foo_festalon                     loaded at 00B70000h - 00CAE000h
foo_flac                         loaded at 00CB0000h - 00CCC000h
foo_flaccer                      loaded at 00CD0000h - 00CE6000h
foo_freedb                       loaded at 00CF0000h - 00D0D000h
WS2_32                           loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
foo_history                      loaded at 00D10000h - 00D20000h
foo_id3v2                        loaded at 00D20000h - 00D50000h
foo_infobox                      loaded at 00D50000h - 00D63000h
foo_input_std                    loaded at 00D70000h - 00E0E000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
foo_lpac                         loaded at 00E10000h - 00E17000h
lpac_codec_api                   loaded at 00E20000h - 00E2A000h
lpaccodec                        loaded at 00E30000h - 00E59000h
foo_masstag                      loaded at 01080000h - 01094000h
foo_matroska                     loaded at 010A0000h - 010E8000h
foo_mod                          loaded at 010F0000h - 010F9000h
BASS                             loaded at 01100000h - 0115A000h
foo_monkey                       loaded at 01160000h - 0117C000h
foo_mpeg4u                       loaded at 01180000h - 011A9000h
foo_nez                          loaded at 011B0000h - 011DB000h
foo_null                         loaded at 011E0000h - 011E7000h
foo_ofr                          loaded at 011F0000h - 011F6000h
OptimFROG                        loaded at 01200000h - 0122C000h
foo_oggpreview                   loaded at 01240000h - 01341000h
foo_output_std                   loaded at 01350000h - 01359000h
foo_out_dsound_ex                loaded at 01360000h - 01369000h
DSOUND                           loaded at 73E80000h - 73EDC000h
foo_out_ks                       loaded at 01380000h - 0138B000h
SETUPAPI                         loaded at 01390000h - 01679000h
foo_playcount                    loaded at 01680000h - 0168A000h
foo_playlistgen_ex               loaded at 01690000h - 0169F000h
foo_playlist_tree                loaded at 016A0000h - 016B4000h
foo_pphsresample                 loaded at 016C0000h - 016D0000h
foo_psf                          loaded at 016D0000h - 0177C000h
foo_quicktag                     loaded at 01780000h - 01789000h
foo_read_http                    loaded at 01790000h - 017A5000h
foo_rgscan                       loaded at 017B0000h - 017BD000h
foo_scroll                       loaded at 017C0000h - 017C6000h
foo_search_ex                    loaded at 017D0000h - 017D8000h
foo_shn                          loaded at 017E0000h - 017EF000h
foo_shuffle                      loaded at 017F0000h - 017FB000h
foo_sid                          loaded at 01950000h - 01997000h
foo_spc                          loaded at 01800000h - 01811000h
foo_speex                        loaded at 01820000h - 01838000h
foo_tfmx                         loaded at 019A0000h - 019A9000h
foo_tta                          loaded at 019B0000h - 019B9000h
foo_tta_old                      loaded at 019C0000h - 019C9000h
foo_uie_albumlist                loaded at 019D0000h - 019DF000h
foo_uie_tabs                     loaded at 019E0000h - 019EA000h
foo_uie_trackinfo                loaded at 019F0000h - 019FB000h
foo_uie_volume                   loaded at 01A00000h - 01A0A000h
foo_ui_columns                   loaded at 01A10000h - 01A47000h
foo_ui_std                       loaded at 01A50000h - 01A67000h
foo_unpack                       loaded at 01A70000h - 01AA1000h
OLEAUT32                         loaded at 770F0000h - 7717C000h
foo_utils                        loaded at 01AB0000h - 01AC1000h
foo_vis_manager                  loaded at 01AD0000h - 01AD8000h
foo_vis_simple_spectrum          loaded at 01AE0000h - 01AEA000h
foo_vorbisenc                    loaded at 01AF0000h - 01C01000h
foo_wavpack                      loaded at 01C10000h - 01C22000h
foo_wma                          loaded at 01C30000h - 01C4A000h
WMVCore                          loaded at 086C0000h - 08904000h
WMASF                            loaded at 070D0000h - 0710B000h
foo_xa                           loaded at 01C50000h - 01C5F000h
uxtheme                          loaded at 5B180000h - 5B1B8000h
LgWndHk                          loaded at 01CC0000h - 01CC7000h
iTchHk                           loaded at 01CD0000h - 01CD7000h
LgMsgHk                          loaded at 01F40000h - 01F4B000h
idle                             loaded at 60300000h - 60307000h
MSVCR71                          loaded at 7C340000h - 7C396000h
appHelp                          loaded at 77B10000h - 77B32000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                           loaded at 77010000h - 770E2000h
cscui                            loaded at 02640000h - 027A2000h
CSCDLL                           loaded at 765B0000h - 765CD000h
browseui                         loaded at 75F30000h - 7602C000h
ntshrui                          loaded at 76950000h - 769E0000h
ATL                              loaded at 76AE0000h - 76AF1000h
NETAPI32                         loaded at 5BC70000h - 5BCC4000h
USERENV                          loaded at 027E0000h - 02894000h
shdocvw                          loaded at 02C20000h - 03229000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                           loaded at 77AF0000h - 77B02000h
CRYPTUI                          loaded at 76890000h - 76913000h
WINTRUST                         loaded at 76BF0000h - 76C1E000h
IMAGEHLP                         loaded at 76C50000h - 76C78000h
WININET                          loaded at 77180000h - 77227000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
DBGHELP                          loaded at 59E60000h - 59F01000h

Stack dump analysis:
Address: 016A973Dh, location: "foo_playlist_tree", loaded at 016A0000h - 016B4000h
Address: 016A0000h, location: "foo_playlist_tree", loaded at 016A0000h - 016B4000h
Address: 7C9111A7h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "LdrInitializeThunk" (+00000029h)
Address: 016A0000h, location: "foo_playlist_tree", loaded at 016A0000h - 016B4000h
Address: 7C929213h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "LdrShutdownThread" (+000000EDh)
Address: 016A96ADh, location: "foo_playlist_tree", loaded at 016A0000h - 016B4000h
Address: 016A0000h, location: "foo_playlist_tree", loaded at 016A0000h - 016B4000h
Address: 016A96ADh, location: "foo_playlist_tree", loaded at 016A0000h - 016B4000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "strchr" (+00000117h)
Address: 7C929168h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "LdrShutdownThread" (+00000042h)
Address: 7C80CCE7h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "ExitThread" (+0000003Eh)
Address: 7C98C380h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C80CD10h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "ExitThread" (+00000067h)
Address: 7C80C939h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "IsBadHugeWritePtr" (+0000001Dh)
Address: 7C920B63h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "wcsncpy" (+000000D4h)
Address: 7C91E2DCh, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "NtRegisterThreadTerminatePort" (+0000000Ch)
Address: 7C80B50Bh, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "GetModuleFileNameA" (+000001B4h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C80B518h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "GetModuleFileNameA" (+000001C1h)
Address: 7C920760h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "RtlAllocateHeap" (+0000018Ch)
Address: 00905A4Dh, location: "foo_albumlist", loaded at 00900000h - 0090B000h

Version info:
foobar2000 v0.8.3
UNICODE


Another request (you probably know already):
Could you make font and size configurable like in Albumlist?

Thanks again for your hard work 

EDIT Well, it happens just with a specific .col file. I'll try to create it from scratch and see what happens.
Title: foo_playlist_tree
Post by: The Link on 2004-12-09 20:20:41
Having foo_playlisttree in a panel stack it takes always focus when starting foobar though when having closed foobar it didn't have (album list panel instead).

Regards,
The Link
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-09 20:32:59
New Version.  Better Unicode Support.  File names and Folders are showing up correctly now.  At least for me.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-09 20:38:28
Quote
I had a crash that I can reproduce with the latest version...
[a href="index.php?act=findpost&pid=258764"][{POST_SNAPBACK}][/a]


Well, I created a new .col file with the same features and there's no crash.

Still, I can't insert display strings longer than 259 characters 
Title: foo_playlist_tree
Post by: The Link on 2004-12-09 20:46:16
My unicode problems seem to be solved  . But the new problem I mentioned above still exists.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-09 20:52:27
Quote
Another request (you probably know already):
Could you make font and size configurable like in Albumlist?
[a href="index.php?act=findpost&pid=258764"][{POST_SNAPBACK}][/a]


Done. 

Just uploaded.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-09 21:55:32
Quote
Quote
I had a crash that I can reproduce with the latest version...
[a href="index.php?act=findpost&pid=258764"][{POST_SNAPBACK}][/a]


Well, I created a new .col file with the same features and there's no crash.

Still, I can't insert display strings longer than 259 characters 
[a href="index.php?act=findpost&pid=258770"][{POST_SNAPBACK}][/a]


I think that may have been a limitation of the TreeView control.  I have changed the way query editting works.  queries of up to 1024 characters are now allowed.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 02:58:39
Quote
I think that may have been a limitation of the TreeView control.  I have changed the way query editting works.  queries of up to 1024 characters are now allowed.
[a href="index.php?act=findpost&pid=258785"][{POST_SNAPBACK}][/a]


Great, I like it much better this way. I really love this plugin!   

As soon as I managed to insert my albumlist' "view by artist" display strings in playlisttree, I noticed that there are some compatibility issues between the two plugins in the way they read strings.

Let's take a very simple display string:

[%album%]|%title%

In albumlist, you'll have a node for each album and then the list of singletracks

...+- Album1
...+- Album2
...--- Singletrack1
...--- Singletrack2

In playlistree, you'll have a node for each album and a node called "All" for each singletrack.

...+ Album1
...+ Album2
...+ All
........|-- Singletrack1
...+ All
........|-- Singletrack2

As long as there are so many strings around written for Albumlist, it would be very useful if they could give the same results also on Playlisttree.  Is it difficult to remove all these "All" folders?

Another small request (I hope). Is it possible to add to the query an optional limit for the items to be displayed, like in extended playlist generator (eg. Limit to [nn] tracks)?
In this way, it will be possible to create dynamic folders such as 100 most played, 100 top rated, 50 last played, etc.

Thanks again 
Title: foo_playlist_tree
Post by: Desman on 2004-12-10 04:18:03
Installed the plugin, and bumped into strange behaviour right away: Create new folder -> Change it's name -> You get 'New Folder' as folder's name until you refresh it. Should it be like this or it's a glitch? (I tend to blame TreeView, though... making it do what you need sometimes may become a real challenge).

Also, a drag and drop from album list may be a good idea (ain't a must - just me being lazy to open Explorer).

And - oop! it crashes when dragging a subfolder from the root folder to subfolder of the same level. Crash report:

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7CE9B398h
Access violation, operation: read, address: 00000008h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (7CE9B398h):
7CE9B358h:  11 6A 01 FF 75 30 FF D7 50 FF D6 C7 45 0C 01 00
7CE9B368h:  00 00 FF 75 24 8B 03 FF 75 20 FF 75 1C FF 75 18
7CE9B378h:  FF 75 F8 53 FF 50 18 83 7D 0C 01 89 45 FC 75 0A
7CE9B388h:  6A 00 FF 75 30 FF D7 50 FF D6 8B 45 F8 8B 08 50
7CE9B398h:  FF 51 08 33 FF E9 F4 00 00 00 68 C0 BC DA 7C FF
7CE9B3A8h:  75 0C FF 15 14 15 DA 7C 3B C7 89 45 F8 74 06 8B
7CE9B3B8h:  08 50 FF 51 08 8B 03 53 FF 50 14 EB 12 FF 75 24
7CE9B3C8h:  8B 03 FF 75 20 FF 75 1C FF 75 18 53 FF 50 10 89
Stack (0012FC44h):
0012FC24h:  0200FFDC 77F79005 77F6DCD8 0000005A
0012FC34h:  0200DEBC C0000005 0200DE98 0200DEA8
0012FC44h:  015AA278 7CDA6EEC 0016B7C8 00000000
0012FC54h:  015AA278 00000000 0012FC9C 7CE9B5A5
0012FC64h:  001657A0 00000000 00000000 00000004
0012FC74h:  00000000 00000079 0000018D 0012FDB8
0012FC84h:  00000A2C 015AA278 00250258 00169C90
0012FC94h:  00172008 00000001 0012FD04 7CE7BA50
0012FCA4h:  006002D2 00000004 00169C90 015AA278
0012FCB4h:  00000000 00000079 0000018D 0012FDB8
0012FCC4h:  00250258 00172020 00000000 0012FD30
0012FCD4h:  00000000 77D34535 00000000 00000000
0012FCE4h:  00000000 00000000 0012FD7C 77FB4DA6
0012FCF4h:  0012FCFC 00000018 005FAB10 80004005
0012FD04h:  0012FD7C 7CE7B909 00172008 015AA278
0012FD14h:  00000000 00000079 0000018D 0012FDB8
0012FD24h:  0012FE20 015AA278 7CE7C1D6 015AA278
0012FD34h:  00169C90 013CD1B8 00172008 013CF3F0
0012FD44h:  00000000 00000079 0000018D 00000001
0012FD54h:  0012FDB8 00000000 00010011 006002D2
Registers:
EAX: 015AA278, EBX: 013CF3F0, ECX: 00000000, EDX: 7FFE0304
ESI: 77D4CDD0, EDI: 77E7A732, EBP: 0012FC5C, ESP: 0012FC44
Crash location: "ole32", loaded at 7CDA0000h - 7CEC4000h
Symbol: "StgGetIFillLockBytesOnFile" (+00003670h)

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 77F50000h - 77FF8000h
kernel32                        loaded at 77E60000h - 77F48000h
USER32                          loaded at 77D30000h - 77DBC000h
GDI32                            loaded at 7F000000h - 7F041000h
ADVAPI32                        loaded at 77DC0000h - 77E5E000h
RPCRT4                          loaded at 78000000h - 78087000h
ole32                            loaded at 7CDA0000h - 7CEC4000h
COMCTL32                        loaded at 78090000h - 78174000h
msvcrt                          loaded at 77C00000h - 77C53000h
SHLWAPI                          loaded at 772C0000h - 77329000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76380000h - 763C5000h
SHELL32                          loaded at 4F510000h - 4FD25000h
IMM32                            loaded at 76360000h - 7637C000h
LPK                              loaded at 62F00000h - 62F08000h
USP10                            loaded at 72F60000h - 72FBA000h
foo_abx                          loaded at 008E0000h - 008EC000h
foo_ac3                          loaded at 008F0000h - 00903000h
foo_albumlist                    loaded at 00910000h - 0091B000h
foo_ape                          loaded at 00920000h - 0093F000h
foo_apl                          loaded at 00940000h - 0094A000h
foo_bitcompare                  loaded at 00950000h - 00959000h
foo_burninate                    loaded at 00960000h - 0096C000h
VERSION                          loaded at 77BF0000h - 77BF7000h
foo_cdda                        loaded at 00970000h - 0097E000h
foo_clienc                      loaded at 00980000h - 0098B000h
foo_console                      loaded at 00990000h - 00997000h
foo_convolve                    loaded at 009A0000h - 009EF000h
foo_dbsearch                    loaded at 009F0000h - 00A08000h
foo_diskwriter                  loaded at 00A10000h - 00A22000h
WINMM                            loaded at 76B20000h - 76B4D000h
foo_dsp_crossfade                loaded at 00AB0000h - 00AB7000h
foo_dsp_crossfeed                loaded at 00AC0000h - 00AC6000h
foo_dsp_extra                    loaded at 00AD0000h - 00AE5000h
foo_dsp_nogaps                  loaded at 00AF0000h - 00AF7000h
foo_dsp_pause                    loaded at 00B00000h - 00B07000h
foo_dsp_skip_silence            loaded at 00B10000h - 00B17000h
foo_dsp_soundtouch              loaded at 00B20000h - 00B2B000h
MSVCP60                          loaded at 76050000h - 760B1000h
foo_dynamics                    loaded at 00B30000h - 00B37000h
foo_faac                        loaded at 00B40000h - 00B73000h
foo_festalon                    loaded at 00B80000h - 00CBE000h
foo_flac                        loaded at 00CC0000h - 00CDC000h
foo_flaccer                      loaded at 00CE0000h - 00CF6000h
foo_freedb                      loaded at 00D00000h - 00D2E000h
WS2_32                          loaded at 71A90000h - 71AA5000h
WS2HELP                          loaded at 71A80000h - 71A88000h
foo_history                      loaded at 00D30000h - 00D40000h
foo_id3v2                        loaded at 00D40000h - 00D70000h
foo_infobox                      loaded at 00D70000h - 00D83000h
foo_input_std                    loaded at 00D90000h - 00E2E000h
MSACM32                          loaded at 77BD0000h - 77BE4000h
foo_lpac                        loaded at 00E30000h - 00E37000h
lpac_codec_api                  loaded at 00E40000h - 00E4A000h
lpaccodec                        loaded at 00E50000h - 00E79000h
foo_masstag                      loaded at 010A0000h - 010B4000h
foo_matroska                    loaded at 010C0000h - 01108000h
foo_mod                          loaded at 01110000h - 01119000h
BASS                            loaded at 01120000h - 0117A000h
foo_monkey                      loaded at 01180000h - 0119C000h
foo_mpeg4u                      loaded at 011A0000h - 011C9000h
foo_nez                          loaded at 011D0000h - 011FB000h
foo_null                        loaded at 01200000h - 01207000h
foo_ofr                          loaded at 01210000h - 01216000h
OptimFROG                        loaded at 01220000h - 0124C000h
foo_oggpreview                  loaded at 01260000h - 01361000h
foo_output_std                  loaded at 01370000h - 01379000h
foo_out_dsound_ex                loaded at 01380000h - 01389000h
DSOUND                          loaded at 51080000h - 510DA000h
foo_out_ks                      loaded at 013A0000h - 013AB000h
SETUPAPI                        loaded at 76650000h - 76738000h
foo_playlistgen_ex              loaded at 013B0000h - 013BF000h
foo_playlist_tree                loaded at 013C0000h - 013D6000h
foo_pphsresample                loaded at 013E0000h - 013F0000h
foo_psf                          loaded at 013F0000h - 0149C000h
foo_read_http                    loaded at 014A0000h - 014A9000h
foo_rgscan                      loaded at 014B0000h - 014BD000h
foo_scroll                      loaded at 014C0000h - 014C6000h
foo_search_ex                    loaded at 014D0000h - 014D8000h
foo_shn                          loaded at 014E0000h - 014EF000h
foo_sid                          loaded at 014F0000h - 01537000h
foo_spc                          loaded at 01540000h - 01551000h
foo_speex                        loaded at 01670000h - 01688000h
foo_tfmx                        loaded at 01690000h - 01699000h
foo_tta                          loaded at 016A0000h - 016A9000h
foo_tta_old                      loaded at 016B0000h - 016B9000h
foo_ui_columns                  loaded at 016C0000h - 016EF000h
foo_ui_std                      loaded at 016F0000h - 01707000h
foo_unpack                      loaded at 01710000h - 01741000h
OLEAUT32                        loaded at 77110000h - 7719B000h
foo_utils                        loaded at 01750000h - 01761000h
foo_vis_manager                  loaded at 01770000h - 01778000h
foo_vis_simple_spectrum          loaded at 01780000h - 0178A000h
foo_vorbisenc                    loaded at 01790000h - 018A1000h
foo_wavpack                      loaded at 018B0000h - 018C2000h
foo_wma                          loaded at 018D0000h - 018EA000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
foo_xa                          loaded at 018F0000h - 018FF000h
uxtheme                          loaded at 5B260000h - 5B294000h
MSCTF                            loaded at 746E0000h - 74724000h
msctfime                        loaded at 019C0000h - 019EB000h
correct                          loaded at 019F0000h - 019F6000h
Msimtf                          loaded at 746B0000h - 746D6000h
imagehlp                        loaded at 76C80000h - 76CA2000h
DBGHELP                          loaded at 6DAA0000h - 6DB1D000h

Stack dump analysis:
Address: 7CDA6EECh, location: "ole32", loaded at 7CDA0000h - 7CEC4000h
Address: 7CE9B5A5h, location: "ole32", loaded at 7CDA0000h - 7CEC4000h
Symbol: "StgGetIFillLockBytesOnFile" (+0000387Dh)
Address: 7CE7BA50h, location: "ole32", loaded at 7CDA0000h - 7CEC4000h
Symbol: "OleCreateFromFile" (+000036A1h)
Address: 77D34535h, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "PostMessageA" (+000000EDh)
Address: 77FB4DA6h, location: "ntdll", loaded at 77F50000h - 77FF8000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 7CE7B909h, location: "ole32", loaded at 7CDA0000h - 7CEC4000h
Symbol: "OleCreateFromFile" (+0000355Ah)
Address: 7CE7C1D6h, location: "ole32", loaded at 7CDA0000h - 7CEC4000h
Symbol: "DoDragDrop" (+000000A9h)
Address: 013CD1B8h, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 013CF3F0h, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 013C58F8h, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 013CD1B8h, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 013C566Eh, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 77D33A50h, location: "USER32", loaded at 77D30000h - 77DBC000h
Address: 016A005Fh, location: "foo_tta", loaded at 016A0000h - 016A9000h
Address: 013C566Eh, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 013C566Eh, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 77D33B1Fh, location: "USER32", loaded at 77D30000h - 77DBC000h
Address: 013C566Eh, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 016A005Fh, location: "foo_tta", loaded at 016A0000h - 016A9000h
Address: 77D63964h, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "CreateAcceleratorTableA" (+0000032Dh)
Address: 77D89BE0h, location: "USER32", loaded at 77D30000h - 77DBC000h
Address: 77D33D79h, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "GetMessageW" (+00000125h)
Address: 013C566Eh, location: "foo_playlist_tree", loaded at 013C0000h - 013D6000h
Address: 016A005Fh, location: "foo_tta", loaded at 016A0000h - 016A9000h
Address: 77D566E9h, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "GetPropA" (+0000004Dh)
Address: 77D63964h, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "CreateAcceleratorTableA" (+0000032Dh)
Address: 77D89C00h, location: "USER32", loaded at 77D30000h - 77DBC000h
Address: 77D33DDFh, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "DispatchMessageW" (+0000000Bh)
Address: 77D3B204h, location: "USER32", loaded at 77D30000h - 77DBC000h
Symbol: "IsDialogMessageW" (+000000D9h)
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 772C4187h, location: "SHLWAPI", loaded at 772C0000h - 77329000h
Symbol: "Ordinal125" (+0000002Dh)
Address: 016A005Fh, location: "foo_tta", loaded at 016A0000h - 016A9000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 772C4187h, location: "SHLWAPI", loaded at 772C0000h - 77329000h
Symbol: "Ordinal125" (+0000002Dh)
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E8141Ah, location: "kernel32", loaded at 77E60000h - 77F48000h
Symbol: "GetCurrentDirectoryW" (+00000044h)
Address: 772C4187h, location: "SHLWAPI", loaded at 772C0000h - 77329000h
Symbol: "Ordinal125" (+0000002Dh)
Address: 77E9B2E5h, location: "kernel32", loaded at 77E60000h - 77F48000h
Symbol: "SetThreadExecutionState" (+00000097h)
Address: 77E97CE0h, location: "kernel32", loaded at 77E60000h - 77F48000h
Symbol: "VerSetConditionMask" (+0000D764h)
Address: 00438C81h, location: "foobar2000", loaded at 00400000h - 00452000h

Version info:
foobar2000 v0.8.3
UNICODE

But I definitely do like the idea. Hope you can keep up the good work man! And - thanks!
Title: foo_playlist_tree
Post by: Desman on 2004-12-10 04:29:51
And one more issue: when you select (Ctrl+Left Click) an item with non-ASCII name (Russian, in my case), the font messes up - until you do Refresh manually. Guess that's not the behaviour that was intended  so maybe Unicode support should be given a bit higher priority?

Oh... one more again  is there any way to dock the tree in the main foobar window? 'cos when it's ToolWindow floating around I get some focus issues - like when I switch to another app and then back, playlist tree loses focus and is buried somewhere under the open windows (under that of the app I switched to, actually).
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 04:36:22
Quote
And one more issue: when you select (Ctrl+Left Click) an item with non-ASCII name (Russian, in my case), the font messes up - until you do Refresh manually. Guess that's not the behaviour that was intended  so maybe Unicode support should be given a bit higher priority?

Oh... one more again  is there any way to dock the tree in the main foobar window? 'cos when it's ToolWindow floating around I get some focus issues - like when I switch to another app and then back, playlist tree loses focus and is buried somewhere under the open windows (under that of the app I switched to, actually).
[a href="index.php?act=findpost&pid=258843"][{POST_SNAPBACK}][/a]


Use columns_ui and install it as a panel.

And don't tell me what should be a higher priority.
Title: foo_playlist_tree
Post by: Desman on 2004-12-10 05:13:46
Now, now... I'm not telling you what should be the higher priority, just merely suggesting, OK? After all, not all the world is english-speaking (and I'm not the only Russian in this thread). So if you do it - well, I'll be happy. If you have no time - well, there's always that Refresh button  Anyway, far as I can see, it's likely the glitch of the TreeView control.

As for the Columns UI - thanks for the answer, gotta RTFM

And thanks for a good plugin!
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 05:15:42
Quote
As long as there are so many strings around written for Albumlist, it would be very useful if they could give the same results also on Playlisttree.  Is it difficult to remove all these "All" folders?
Thanks again 
[a href="index.php?act=findpost&pid=258828"][{POST_SNAPBACK}][/a]


Fixed it.  Should work more like you want it to now.

Quote
Another small request (I hope). Is it possible to add to the query an optional limit for the items to be displayed, like in extended playlist generator (eg. Limit to [nn] tracks)?
In this way, it will be possible to create dynamic folders such as 100 most played, 100 top rated, 50 last played, etc.

[a href="index.php?act=findpost&pid=258828"][{POST_SNAPBACK}][/a]


Added an optional limit to the number of items returned on a query.

I also fixed the "New Folder" problem mentioned elsewhere.
Title: foo_playlist_tree
Post by: Desman on 2004-12-10 13:19:45
Another charset problem... When I drag an item from the tree to the playlist it won't play it if the directory where it's stored has non-ASCII name. It turns out that Unicode string gets messed up somewhere, so garbage goes to playlist instead of Unicode folder name. And the same stuff gets displayed in the tree when I edit Cyrillic folder name (changes to correct display after refresh). ASCII is fine, though.

Damn, it's a pity that I quit C/C++ programming 10 years ago... Would love to help in development. Anyway, I only can thank you again for the plugin!

EDIT: Spelling
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 16:36:27
Quote
Another charset problem... When I drag an item from the tree to the playlist it won't play it if the directory where it's stored has non-ASCII name. It turns out that Unicode string gets messed up somewhere, so garbage goes to playlist instead of Unicode folder name. And the same stuff gets displayed in the tree when I edit Cyrillic folder name (changes to correct display after refresh). ASCII is fine, though.
[a href="index.php?act=findpost&pid=258901"][{POST_SNAPBACK}][/a]


Drag and drop to playlist unicode support has been improved.  It should work now.

Also fixed should be the garbage characters when rearranging trees and editting labels.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 16:54:21
Quote
Quote
As long as there are so many strings around written for Albumlist, it would be very useful if they could give the same results also on Playlisttree.  Is it difficult to remove all these "All" folders?
Thanks again 
[a href="index.php?act=findpost&pid=258828"][{POST_SNAPBACK}][/a]


Fixed it.  Should work more like you want it to now.


Thanks, much better now. There are still some little inconsistencies between the two plugins, in certain cases I get double folders with Playlisttree... I still can't understand where is the problem, as soon as I figure it out I will post a comment. 

Quote
Quote
Another small request (I hope). Is it possible to add to the query an optional limit for the items to be displayed, like in extended playlist generator (eg. Limit to [nn] tracks)?
In this way, it will be possible to create dynamic folders such as 100 most played, 100 top rated, 50 last played, etc.

[a href="index.php?act=findpost&pid=258828"][{POST_SNAPBACK}][/a]


Added an optional limit to the number of items returned on a query.
[a href="index.php?act=findpost&pid=258852"][{POST_SNAPBACK}][/a]


That's great.    However, I realised you also need a "sort criteria" field in the dynamic folder window if you what to create something like "100 Top Rated" folder  (In playlist generator: Query=1  Sort criteria= %rating%  Display=as you like it  Limit to =100 tracks.)

You're working at an amazing rate. I can't believe it. 
Title: foo_playlist_tree
Post by: Gemini on 2004-12-10 17:06:40
Is it possible to send the songs to a manually selected playlist (like in db list)? I'd rather have a playlist specifically made for playing the songs I select, rather than having a new playlist each time.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 17:18:00
I realised it is still not possible to access to other plugins via context  menu if you right click on a folder (and not on a single file). For example, you can't diplay the properties for a group of files, access to masstagger or freedb.  You probably already planned to make it possible eventually, just a little reminder. Take you time, anyway 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 18:15:37
Quote
Is it possible to send the songs to a manually selected playlist (like in db list)? I'd rather have a playlist specifically made for playing the songs I select, rather than having a new playlist each time.
[a href="index.php?act=findpost&pid=258948"][{POST_SNAPBACK}][/a]


I'll add that soon as right click menu option, but in the mean time an alternative would be to set the double click action to create new playlist.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 18:22:59
Quote
There are still some little inconsistencies between the two plugins, in certain cases I get double folders with Playlisttree... I still can't understand where is the problem, as soon as I figure it out I will post a comment. 


Ok, I think I understood where the problem is with display string management.

Consider this display string. (Nothing really useful, just an example):

$if(%singletrack%,%title%,%album%)|$if(%singletrack%,,%title%)

If you insert this string in Albumlist, you'll have:

....+--Album1
....+--Album2
.....---Singletrack1
.....---Singletrack2

In Playlist tree, you'll have:

....+--Album1
....+--Album2
....+--Singletrack1
.............|----Singletrack1
....+--Singletrack2
.............|----Singletrack2

An extra folder is created for singletracks, although the second "if" in the string shouldn't have had any effect on singletracks.

Thanks very much again and again. 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 18:33:07
Quote
I realised it is still not possible to access to other plugins via context  menu if you right click on a folder (and not on a single file). For example, you can't diplay the properties for a group of files, access to masstagger or freedb.  You probably already planned to make it possible eventually, just a little reminder. Take you time, anyway 
[a href="index.php?act=findpost&pid=258950"][{POST_SNAPBACK}][/a]


In albumlist, each folder contains a list of all the entries that are located inside the folder in the form of a metadb_handle_list.  In playlist tree only leaf nodes contains the handles.  The presence of these lists are what create the menu options in the right click menu.  I would either have to 1) create a list of handles at each level of the tree for all the handles in tree and subtrees which is a pain for adding and removing items and creates more storage, or 2) create this list on the fly when the item is right clicked. This could potentially take a bit of time to do if you were to right click on a large folder.

Long story short. It might be a while.  I would just suggest creating a new playlist and sending the files you want to that if you need to do any freedb'ing or masstagging...

I'm thinking what I might do is add a Ctl-Right Click option that does option 2) above.  that way we dont have to generate these playlists unless you really want to do a big playlist option.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 18:36:16
Quote
That's great.    However, I realised you also need a "sort criteria" field in the dynamic folder window if you what to create something like "100 Top Rated" folder  (In playlist generator: Query=1  Sort criteria= %rating%  Display=as you like it  Limit to =100 tracks.)
[a href="index.php?act=findpost&pid=258947"][{POST_SNAPBACK}][/a]


If I were to make it so that it sorted based on the query string would that be sufficient?  that way it would not require any more variables and it should still be able to work... that way you could do "[%rating%]" as your query string and it could still take the top 100 or whatever.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 19:07:04
Quote
If I were to make it so that it sorted based on the query string would that be sufficient?  that way it would not require any more variables and it should still be able to work... that way you could do "[%rating%]" as your query string and it could still take the top 100 or whatever.
[a href="index.php?act=findpost&pid=258967"][{POST_SNAPBACK}][/a]


Well, yes! It would work for 100 Top rated, 100 most played, 100 last played, etc. By now I can't think of any meaingful dynamic playlist for which it wouldn't work.... 
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 19:12:09
Quote
If I were to make it so that it sorted based on the query string would that be sufficient?  that way it would not require any more variables and it should still be able to work... that way you could do "[%rating%]" as your query string and it could still take the top 100 or whatever.
[a href="index.php?act=findpost&pid=258967"][{POST_SNAPBACK}][/a]


Well, yes! It would work for 100 Top rated, 100 most played, 100 last played, etc. By now I can't think of any meaingful dynamic playlist for which it wouldn't work....  Maybe you just need a "Reverse sorting" checkbox like in Extended Playlist generator if you want to have Least Played, etc.

EDIT: sorry for the double post
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-10 21:16:50
the plugin seems very promising, however it has crashed three times (the last time it suddenly crashed was when I changed the "line" color). Also it refuses to handle this (long) string copied from my albumlist panel formatting into the "edit display" of a dynamic folder.

I would also suggest an option :
1/ to remove the track level from the tree
2/ to "autosend to a playlist" (like abum list panel)

Keep up the good work !

Code: [Select]
$directory(%_path%,2)|$if($strcmp($strstr($directory(%_path%,1),%artist%),1)
,$if($strcmp($strstr(%artist%,'('),0),%artist%,
$cut(%artist%,$sub($strstr(%artist%,'('),2))),' Various')|
$if($strcmp($strstr($replace(%album%,Vol.,'(',CD,'(',Disc,'('),'('),0),,
$if($strcmp($strstr($directory(%_path%,1),%artist%),1),'['%date%']' ,)$cut(%album%,$sub($strstr($replace(%album%,Vol.,'(',CD,'(',Disc,'('),'('),2)) $if($strcmp($strstr(%artist%,'('),0),,$if($strcmp($strstr($directory(%_path%,1),
%artist%),1),$right(%artist%,$sub($len(%artist%),
$sub($strstr(%artist%,'('),1))),)))
|$if($strcmp($strstr($replace(%album%,Vol.,'(',CD,'(',Disc,'('),'('),0),
$if($strcmp($strstr($directory(%_path%,1),%artist%),1),'['%date%']' %album% $if($strcmp($strstr(%artist%,'('),0),,$right(%artist%,$sub($len(%artist%),
$sub($strstr(%artist%,'('),1)))),%album% '['%date%']'),$right(%album%,$sub($len(%album%),
$sub($strstr($replace(%album%,Vol.,'(',CD,'(',Disc,'('),'('),1)))
$if($strcmp($strstr($directory(%_path%,1),%artist%),1),, '['%date%']'))




[span style='font-size:8pt;line-height:100%']Crash info:
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 50010042h
Access violation, operation: read, address: 50010042h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Access violation, operation: read, address: 50010042h
Stack (0012FC88h):
0012FC68h:  78461F55 78462528 FFFFFFFF 0460DE50
0012FC78h:  77E9F6C9 00070000 00000000 0010E948
0012FC88h:  77B0543F 093301A8 77A54EB0 071551D8
0012FC98h:  00000001 093301A8 00000000 0012FCE4
0012FCA8h:  77B0560B 07159BF8 00000000 00000000
0012FCB8h:  00000004 00000000 00000036 0000006F
0012FCC8h:  0012FE00 000001B8 093301A8 00210270
0012FCD8h:  0013D070 07156CD0 00000000 0012FD4C
0012FCE8h:  77ACBE94 000702F4 00000004 0013D070
0012FCF8h:  093301A8 00000000 00000036 0000006F
0012FD08h:  0012FE00 00210270 07156CE8 00000000
0012FD18h:  0012FD78 00000000 00000000 77E038BB
0012FD28h:  00000000 00000000 00000000 00000000
0012FD38h:  0012FDC4 7847FF57 0012FD48 00000018
0012FD48h:  80004005 0012FDC4 77ACBC4D 07156CD0
0012FD58h:  093301A8 00000000 00000036 0000006F
0012FD68h:  0012FE00 0012FEF8 093301A8 77ACBD15
0012FD78h:  093301A8 0013D070 013DCDA8 07156CD0
0012FD88h:  013DDDD8 00000000 00000036 0000006F
0012FD98h:  00000001 0012FE00 00000000 00010011
Registers:
EAX: 093301A8, EBX: 013DDDD8, ECX: 0714B668, EDX: FFFFFFFF
ESI: 77E1A7A0, EDI: 77E9BB03, EBP: 0012FCA4, ESP: 0012FC88
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 78460000h - 784E3000h
KERNEL32                        loaded at 77E70000h - 77F2E000h
USER32                          loaded at 77E00000h - 77E65000h
GDI32                            loaded at 77F40000h - 77F7B000h
ole32                            loaded at 77A40000h - 77B2F000h
RPCRT4                          loaded at 770C0000h - 77131000h
ADVAPI32                        loaded at 78ED0000h - 78F32000h
COMCTL32                        loaded at 77B40000h - 77BC9000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76B00000h - 76B3E000h
SHLWAPI                          loaded at 77C60000h - 77CA9000h
SHELL32                          loaded at 77580000h - 777CC000h
MSVCRT                          loaded at 78000000h - 78045000h
foo_ac3                          loaded at 00800000h - 00813000h
foo_albumlist                    loaded at 00820000h - 0082B000h
foo_burninate                    loaded at 00830000h - 0083C000h
VERSION                          loaded at 77810000h - 77817000h
LZ32                            loaded at 75950000h - 75956000h
foo_cdda                        loaded at 00840000h - 0084E000h
foo_clienc                      loaded at 00850000h - 0085B000h
foo_console                      loaded at 00860000h - 00867000h
foo_dbsearch                    loaded at 00870000h - 00888000h
foo_diskwriter                  loaded at 00890000h - 008A2000h
WINMM                            loaded at 77540000h - 77571000h
foo_dsp_extra                    loaded at 00930000h - 00945000h
foo_dsp_nogaps                  loaded at 00950000h - 00957000h
foo_dynamics                    loaded at 00960000h - 00967000h
foo_faac                        loaded at 00970000h - 009A3000h
foo_flac                        loaded at 009B0000h - 009CC000h
foo_flaccer                      loaded at 009D0000h - 009E6000h
foo_freedb                      loaded at 009F0000h - 00A1E000h
WS2_32                          loaded at 74FB0000h - 74FC4000h
WS2HELP                          loaded at 74FA0000h - 74FA8000h
foo_id3v2                        loaded at 00A20000h - 00A50000h
MSVCP60                          loaded at 780C0000h - 78121000h
foo_infobox                      loaded at 00A50000h - 00A63000h
foo_input_std                    loaded at 00A70000h - 00B0E000h
MSACM32                          loaded at 773E0000h - 773F3000h
foo_masstag                      loaded at 00B10000h - 00B24000h
foo_null                        loaded at 00B30000h - 00B37000h
foo_output_std                  loaded at 00B40000h - 00B49000h
foo_out_dsound_ex                loaded at 00B50000h - 00B59000h
DSOUND                          loaded at 51080000h - 510DD000h
foo_out_ks                      loaded at 00B70000h - 00B7B000h
SETUPAPI                        loaded at 783C0000h - 78451000h
USERENV                          loaded at 78D20000h - 78D82000h
foo_playlistgen_ex              loaded at 00B80000h - 00B8F000h
foo_rgscan                      loaded at 00B90000h - 00B9D000h
foo_scroll                      loaded at 00BA0000h - 00BA6000h
foo_ui_std                      loaded at 00BB0000h - 00BC7000h
foo_utils                        loaded at 00BD0000h - 00BE1000h
foo_vis_manager                  loaded at 00BF0000h - 00BF8000h
foo_vorbisenc                    loaded at 00C00000h - 00D11000h
foo_wma                          loaded at 00D20000h - 00D3A000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
OLEAUT32                        loaded at 779A0000h - 77A3B000h
foo_history                      loaded at 01150000h - 01165000h
foo_history_panel                loaded at 01270000h - 01278000h
foo_openwith                    loaded at 01280000h - 01289000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_osd                          loaded at 012A0000h - 012AB000h
foo_pod                          loaded at 012B0000h - 01312000h
foo_podclienc                    loaded at 01320000h - 0132E000h
foo_podtranscoder                loaded at 01330000h - 0133B000h
foo_read_http                    loaded at 01340000h - 01353000h
foo_shuffle                      loaded at 01360000h - 0136A000h
foo_temple                      loaded at 01370000h - 0137B000h
foo_web                          loaded at 01380000h - 01398000h
foo_write_http                  loaded at 013A0000h - 013BA000h
foo_playlistfind                loaded at 013C0000h - 013CB000h
foo_playlist_tree                loaded at 013D0000h - 013E4000h
foo_scheduler                    loaded at 013F0000h - 01405000h
foo_uie_albumlist                loaded at 01410000h - 0141F000h
foo_uie_dbexplorer              loaded at 01420000h - 0142B000h
foo_uie_tabs                    loaded at 01430000h - 0143A000h
foo_uie_trackinfo                loaded at 01440000h - 0144B000h
foo_uie_volume                  loaded at 01450000h - 0145A000h
foo_ui_columns                  loaded at 01460000h - 01497000h
Powrprof                        loaded at 76690000h - 76697000h
CLBCATQ                          loaded at 72C60000h - 72CF0000h
SSSensor                        loaded at 06270000h - 06285000h
wdmaud                          loaded at 77530000h - 77538000h
msacm32                          loaded at 773D0000h - 773D8000h
KsUser                          loaded at 5EF80000h - 5EF84000h
cscui                            loaded at 77840000h - 77880000h
CSCDLL                          loaded at 77090000h - 770B3000h
ntshrui                          loaded at 76F70000h - 76F7F000h
ATL                              loaded at 773B0000h - 773C5000h
NETAPI32                        loaded at 750F0000h - 7513F000h
Secur32                          loaded at 78FB0000h - 78FBF000h
NTDSAPI                          loaded at 77BE0000h - 77BF1000h
DNSAPI                          loaded at 77970000h - 77994000h
WSOCK32                          loaded at 74FD0000h - 74FD9000h
WLDAP32                          loaded at 77940000h - 7796B000h
NETRAP                          loaded at 75140000h - 75146000h
SAMLIB                          loaded at 750D0000h - 750DF000h
browseui                        loaded at 76DE0000h - 76EA7000h
SHDOCVW                          loaded at 78DB0000h - 78EC2000h
imagehlp                        loaded at 77910000h - 77933000h
DBGHELP                          loaded at 72970000h - 7299D000h

Stack dump analysis:
Address: 77B0543Fh, location: "ole32", loaded at 77A40000h - 77B2F000h
Address: 77A54EB0h, location: "ole32", loaded at 77A40000h - 77B2F000h
Address: 77B0560Bh, location: "ole32", loaded at 77A40000h - 77B2F000h
Address: 77ACBE94h, location: "ole32", loaded at 77A40000h - 77B2F000h
Address: 77E038BBh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 7847FF57h, location: "ntdll", loaded at 78460000h - 784E3000h
Address: 77ACBC4Dh, location: "ole32", loaded at 77A40000h - 77B2F000h
Address: 77ACBD15h, location: "ole32", loaded at 77A40000h - 77B2F000h
Address: 013DCDA8h, location: "foo_playlist_tree", loaded at 013D0000h - 013E4000h
Address: 013DDDD8h, location: "foo_playlist_tree", loaded at 013D0000h - 013E4000h
Address: 013D56B8h, location: "foo_playlist_tree", loaded at 013D0000h - 013E4000h
Address: 013DCDA8h, location: "foo_playlist_tree", loaded at 013D0000h - 013E4000h
Address: 77E01EF0h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E0204Ch, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 013D542Eh, location: "foo_playlist_tree", loaded at 013D0000h - 013E4000h
Address: 77E061E0h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E0620Fh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E0621Fh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 7847FF57h, location: "ntdll", loaded at 78460000h - 784E3000h
Address: 77E2BCE4h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E02198h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E021AFh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E108FBh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042D10Ah, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E9893Dh, location: "KERNEL32", loaded at 77E70000h - 77F2E000h
Address: 77EC1F44h, location: "KERNEL32", loaded at 77E70000h - 77F2E000h
Address: 77E72B18h, location: "KERNEL32", loaded at 77E70000h - 77F2E000h
Address: 00438C81h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00800000h, location: "foo_ac3", loaded at 00800000h - 00813000h

Version info:
foobar2000 v0.8.3
UNICODE[/span]
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 21:35:39
Quote
the plugin seems very promising, however it has crashed three times (the last time it suddenly crashed was when I changed the "line" color). Also it refuses to handle this (long) string copied from my albumlist panel formatting into the "edit display" of a dynamic folder.


Well, it's because the plugin doesn't accept the "enter" code in display string like Albumlist. If you remove the "enter" characters, it will accept it.

Quote
I would also suggest an option :
1/ to remove the track level from the tree


This depends from the behaviour described by this post (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=258964)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-10 21:46:19
Quote
I'm thinking what I might do is add a Ctl-Right Click option that does option 2) above.  that way we dont have to generate these playlists unless you really want to do a big playlist option.
[a href="index.php?act=findpost&pid=258966"][{POST_SNAPBACK}][/a]


I implemented option 2.  Now if you want to access all the extra features like masstagger, convert, bla bal, you can right click on a folder while holding control.

the issue with the trailing ||| and the like has been fixed too.. it should work more similarly to albumlist now...

BTW this release I upped that query limit size to 2048 from the previous 1024...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-10 22:32:20
Quote
You're working at an amazing rate. I can't believe it. 
[a href="index.php?act=findpost&pid=258947"][{POST_SNAPBACK}][/a]


Yeah. I'm really amaze all the time investment and the speed cwbowron you're updating and developing your plugin. Just a word (again): thanks! 
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-10 22:40:44
Quote
In albumlist, each folder contains a list of all the entries that are located inside the folder in the form of a metadb_handle_list.  In playlist tree only leaf nodes contains the handles.  The presence of these lists are what create the menu options in the right click menu.  I would either have to 1) create a list of handles at each level of the tree for all the handles in tree and subtrees which is a pain for adding and removing items and creates more storage, or 2) create this list on the fly when the item is right clicked. This could potentially take a bit of time to do if you were to right click on a large folder.
[a href="index.php?act=findpost&pid=258966"][{POST_SNAPBACK}][/a]

Just a suggestion. Maybe you could create a submenu for the 'playlist tree' menu options in the default right-click menu, like the 'foo_pod' or 'www services' components. This way, the menu options specific to your component are only generated if you go to this subgroup. But I'm not a developper so maybe I'm talking nosense
Title: foo_playlist_tree
Post by: marcomk on 2004-12-10 22:56:33
Quote
I implemented option 2.  Now if you want to access all the extra features like masstagger, convert, bla bal, you can right click on a folder while holding control.


Works great. No speed issues at all. I couldn't appreciate the difference between right click and ctrl+right click in terms of time, even when I added 10 dynamic folders containing each one my entire collection (25-30 Gb of music). I have an Athlon XP 2600 , not that bad, still not the quickest processor on the market.
Maybe you could also have the Ctrl+right click menu as the default right click menu if there are no other drawbacks 

Quote
the issue with the trailing ||| and the like has been fixed too.. it should work more similarly to albumlist now...


It's fine, I think that there are no other issues. People just have to take away the "Enter" codes from their Albumlist strings to make them work in Playlist tree.

I saw you already inserted a Sort Criteria field in the Dynamic Folder window (thanks    ) .

BTW, I noticed a strange behaviour for dynamic folders.  If you insert in the Query field the string:

%rating%

or

%artist%

the folder should display only the files which contain that tag... In fact, all files are displayed. 

Thanks again for all your work 
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-10 23:08:35
Quote
Quote
the plugin seems very promising, however it has crashed three times (the last time it suddenly crashed was when I changed the "line" color). Also it refuses to handle this (long) string copied from my albumlist panel formatting into the "edit display" of a dynamic folder.


Well, it's because the plugin doesn't accept the "enter" code in display string like Albumlist. If you remove the "enter" characters, it will accept it.



I did'nt have any "Enter" code but rather a longer than 1024 format string.
It seems ok now with the new version.

Quote
Quote
I would also suggest an option :
1/ to remove the track level from the tree


This depends from the behaviour described by this post (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=258964)
[a href="index.php?act=findpost&pid=258995"][{POST_SNAPBACK}][/a]


Not sure I undestood everything but my request was (in case the "format" string of the dynamic playlist does not include the track level) to have the tracks not necessarily being displayed at the last level but rather sent to the main area so that they can be formatted as columns.

To say it differently, if you simply use "%artist%|%album%" as the format of a dynamic folder, it should stop expanding at the album level, like :

+ dynamic folder
..+ Artist 1
.....+ Album a    <----(This level should not be expandable, like in AlbumList)
.....+ Album b

while the current behaviour (to be fixed IMHO) is to show :

+ dynamic folder
..+ Artist 1
....+  Album a    <----(Repeated for each track)
....+  Album a
....+  Album a
....+  Album a
....+  Album a
....+  Album a
 
....+  Album b    <----(Repeated for each track)
....+  Album b
....+  Album b
....+  Album b
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-11 21:46:58
Quote
Just a suggestion. Maybe you could create a submenu for the 'playlist tree' menu options in the default right-click menu, like the 'foo_pod' or 'www services' components. This way, the menu options specific to your component are only generated if you go to this subgroup. But I'm not a developper so maybe I'm talking nosense

[a href="index.php?act=findpost&pid=259009"][{POST_SNAPBACK}][/a]


I just uploaded a new version... When you right click a folder now there is a menu option "More..." that lists all the options not particular to playlist tree

I also added menu options for adding a folder to a new playlist and adding bolded items to a new playlist.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-11 22:27:29
Quote
I just uploaded a new version... When you right click a folder now there is a menu option "More..." that lists all the options not particular to playlist tree
[a href="index.php?act=findpost&pid=259161"][{POST_SNAPBACK}][/a]


It's fine. 

To say the truth, I would have preferred a single, leaner contex menu like other panels have (main window, playlist switcher, albumlist, history, ecc.) as apparently  there are no significant speed issues in creating playlists on the fly. However, I really don't want to bother you and the context menu is fine the way it is. It was just a comment 
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-12 13:03:10
Quote
I just uploaded a new version... When you right click a folder now there is a menu option "More..." that lists all the options not particular to playlist tree[a href="index.php?act=findpost&pid=259161"][{POST_SNAPBACK}][/a]

Thanks you very much. Now I can use your component as my album list replacement, I love it.

Here everything seems to work fine, except that special characters like ● (useful for rating and stuff like that) it's replaced by ?. When you type it on the display format window it's there but when you hit enter and look at the display in the playlits tree window, is replaced by ?. Here it happens with ● and □.
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-12 13:33:44
Quote
....

To say it differently, if you simply use "%artist%|%album%" as the format of a dynamic folder, it should stop expanding at the album level, like :

+ dynamic folder
..+ Artist 1
.....+ Album a    <----(This level should not be expandable, like in AlbumList)
.....+ Album b

while the current behaviour (to be fixed IMHO) is to show :

+ dynamic folder
..+ Artist 1
....+  Album a    <----(Repeated for each track)
....+  Album a
....+  Album a
....+  Album a
....+  Album a
....+  Album a
 
....+  Album b    <----(Repeated for each track)
....+  Album b
....+  Album b
....+  Album b
[a href="index.php?act=findpost&pid=259016"][{POST_SNAPBACK}][/a]


Is there any plan to fix this and send the selection results to a given playlist ?
Title: foo_playlist_tree
Post by: The Link on 2004-12-12 13:45:28
I'd love to be able to use the same syntax as with foo_playlistgen for dynamic folders. It would shorten my strings and expand the possibilities. The possibility that it automatically scans all tag values if there are several for the same tag would also be nice (now i have to use $meta(%blah%,n)).

An option to automatically save the whole playlist tree would also be a nice feature imho. You just specify one location where to save it to.

Regards,
The Link
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-12 17:18:45
Quote
Quote
....

To say it differently, if you simply use "%artist%|%album%" as the format of a dynamic folder, it should stop expanding at the album level, like :

+ dynamic folder
..+ Artist 1
.....+ Album a    <----(This level should not be expandable, like in AlbumList)
.....+ Album b

while the current behaviour (to be fixed IMHO) is to show :

+ dynamic folder
..+ Artist 1
....+  Album a    <----(Repeated for each track)
....+  Album a
....+  Album a
....+  Album a
....+  Album a
....+  Album a
 
....+  Album b    <----(Repeated for each track)
....+  Album b
....+  Album b
....+  Album b
[a href="index.php?act=findpost&pid=259016"][{POST_SNAPBACK}][/a]


Is there any plan to fix this and send the selection results to a given playlist ?
[a href="index.php?act=findpost&pid=259235"][{POST_SNAPBACK}][/a]


no.

I don't see a need for this... all the functionaity of this is already there... just put the title in and leave the last folder unexpanded... make the double click option create new playlist... then instead of clicking on a folder, double click on it...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-12 18:37:23
Quote
I'd love to be able to use the same syntax as with foo_playlistgen for dynamic folders. It would shorten my strings and expand the possibilities. The possibility that it automatically scans all tag values if there are several for the same tag would also be nice (now i have to use $meta(%blah%,n)).

An option to automatically save the whole playlist tree would also be a nice feature imho. You just specify one location where to save it to.

Regards,
The Link
[a href="index.php?act=findpost&pid=259236"][{POST_SNAPBACK}][/a]


I just uploaded a new version that allows foo_playlistgen style syntax (check the extended search box)... I haven't done any hardcore testing on it, but my simple artist HAS Dylan tests worked...

Autosave would be a nice feature... i will probaly implement that soon...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-12 19:05:21
Quote
Here everything seems to work fine, except that special characters like ● (useful for rating and stuff like that) it's replaced by ?. When you type it on the display format window it's there but when you hit enter and look at the display in the playlits tree window, is replaced by ?. Here it happens with ● and □.
[a href="index.php?act=findpost&pid=259231"][{POST_SNAPBACK}][/a]


Just uploaded a new version that should fix that...
Title: foo_playlist_tree
Post by: The Link on 2004-12-12 21:10:52
Thank you!!    It works now with playlistgen syntax.

Also thank you for considering an autosave option.

One problem still exists: Playlist tree in panel stack generates visual artifacts when opening foobar and moving the mouse over the album list panel (see picture):
(http://beingalink.de/temp/playlisttree.png)

Regards,
The Link
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-12 21:37:16
Quote
Also thank you for considering an autosave option.

One problem still exists: Playlist tree in panel stack generates visual artifacts when opening foobar and moving the mouse over the album list panel (see picture):
(http://beingalink.de/temp/playlisttree.png)
[a href="index.php?act=findpost&pid=259295"][{POST_SNAPBACK}][/a]


I just uploaded a new version with autosave...

I'm not sure what could be causing the visual artifacts... I'm wondering if it might be a situation of foo_uie_tabs not sending a repaint command... or maybe it is and im not dealing with it properly...
Title: foo_playlist_tree
Post by: Chaser on 2004-12-12 22:12:19
Real great plugin! I have read, that you want to implement a function, that would update the playlist like for example "foo_uie_albumlist" does?! That would also be great. I'm not sure, whether it is already possible to let foo_playlist_tree get the current items of the db (also like albumlist does)?

Go on with your good work!
Title: foo_playlist_tree
Post by: stroke on 2004-12-12 23:21:53
1. playlist tree crashes when i try to move embedded folder one (or more) level(s) higher in hierarchy. this is a reproducible crash (at least with my config).

2. what do you think about adding an option to refresh playlist tree on expanding/collapsing a folder? would be useful for dynamic folders relying on changable tags (like playcounter).

3. this plugin is becoming a real killer  i'm especially happy about the compatibility with playlist generator syntax (frankly speaking i thought about that, just didn't manage to be the first one to suggest that feature  ) what else is it going to replace?  any ideas?
Title: foo_playlist_tree
Post by: marcomk on 2004-12-12 23:57:05
Hi cwbowron,

I think I found a reproducible crash.  From the empty playlist tree, just create a dynamic folder with any query (I tried with 1, which includes any file in database). Then drag the folder you created and drop on itself.  Crash 

This is the log, if you need it

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00150241h
Access violation, operation: read, address: 15024000h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (00150241h):
00150201h:  02 15 00 00 02 15 00 08 02 15 00 08 02 15 00 10
00150211h:  02 15 00 10 02 15 00 18 02 15 00 18 02 15 00 20
00150221h:  02 15 00 20 02 15 00 28 02 15 00 28 02 15 00 30
00150231h:  02 15 00 30 02 15 00 28 52 4F 02 28 52 4F 02 40
00150241h:  02 15 00 40 02 15 00 48 02 15 00 48 02 15 00 50
00150251h:  02 15 00 50 02 15 00 58 02 15 00 58 02 15 00 60
00150261h:  02 15 00 60 02 15 00 68 02 15 00 68 02 15 00 70
00150271h:  02 15 00 70 02 15 00 78 02 15 00 78 02 15 00 80
Stack (0012FC3Ch):
0012FC1Ch:  017ADB9C 7C9D76F0 77E943DD 7C9D76F0
0012FC2Ch:  00000004 00000000 017AD0A8 00000000
0012FC3Ch:  775C809A 024F5228 774B6E2C 01D93BC8
0012FC4Ch:  00000000 024F5228 00000000 0012FC98
0012FC5Ch:  775C82C0 01DDCD00 00000000 00000000
0012FC6Ch:  00000004 00000000 000000DF 000001FB
0012FC7Ch:  0012FDB4 00000CC0 024F5228 00160240
0012FC8Ch:  0300D578 01DB0750 00000001 0012FD00
0012FC9Ch:  7759F400 00160426 00000004 0300D578
0012FCACh:  024F5228 00000000 000000DF 000001FB
0012FCBCh:  0012FDB4 00160240 01DB0768 00000000
0012FCCCh:  0012FD2C 00000000 77D1B3C4 00000000
0012FCDCh:  00000000 00000000 00000000 0012FD78
0012FCECh:  7C91EAE3 0012FCF8 00000018 005D3B10
0012FCFCh:  80004005 0012FD78 7759F288 01DB0750
0012FD0Ch:  024F5228 00000000 000000DF 000001FB
0012FD1Ch:  0012FDB4 0012FE10 024F5228 7759FBB5
0012FD2Ch:  024F5228 0300D578 016B0440 01DB0750
0012FD3Ch:  016AFB88 00000000 000000DF 000001FB
0012FD4Ch:  00000001 0012FDB4 00000000 00010011
Registers:
EAX: 024F5229, EBX: 016AFB88, ECX: 00150238, EDX: 60380003
ESI: 77D2674F, EDI: 7C809737, EBP: 0012FC58, ESP: 0012FC3C
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 00460000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                        loaded at 7C800000h - 7C8FF000h
USER32                          loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77E40000h - 77E86000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77F40000h - 77FEB000h
RPCRT4                          loaded at 77DA0000h - 77E31000h
COMCTL32                        loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77E90000h - 77F2D000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7EB16000h
foo_abx                          loaded at 008D0000h - 008DC000h
foo_ac3                          loaded at 008E0000h - 008F3000h
foo_albumlist                    loaded at 00900000h - 0090B000h
foo_ape                          loaded at 00910000h - 0092F000h
foo_apl                          loaded at 00930000h - 0093A000h
foo_bitcompare                  loaded at 00940000h - 00949000h
foo_burninate                    loaded at 00950000h - 0095C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                        loaded at 00960000h - 0096E000h
foo_clienc                      loaded at 00970000h - 0097B000h
foo_console                      loaded at 00980000h - 00987000h
foo_convolve                    loaded at 00990000h - 009DF000h
foo_dbsearch                    loaded at 009E0000h - 009F8000h
foo_diskwriter                  loaded at 00A00000h - 00A12000h
WINMM                            loaded at 76B00000h - 76B2E000h
serwvdrv                        loaded at 5D190000h - 5D197000h
umdmxfrm                        loaded at 5B4B0000h - 5B4B7000h
foo_dsp_crossfade                loaded at 00AA0000h - 00AA7000h
foo_dsp_crossfeed                loaded at 00AB0000h - 00AB6000h
foo_dsp_extra                    loaded at 00AC0000h - 00AD5000h
foo_dsp_nogaps                  loaded at 00AE0000h - 00AE7000h
foo_dsp_pause                    loaded at 00AF0000h - 00AF7000h
foo_dsp_skip_silence            loaded at 00B00000h - 00B07000h
foo_dsp_soundtouch              loaded at 00B10000h - 00B1B000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_dynamics                    loaded at 00B20000h - 00B27000h
foo_faac                        loaded at 00B30000h - 00B63000h
foo_festalon                    loaded at 00B70000h - 00CAE000h
foo_flac                        loaded at 00CB0000h - 00CCC000h
foo_flaccer                      loaded at 00CD0000h - 00CE6000h
foo_freedb                      loaded at 00CF0000h - 00D0D000h
WS2_32                          loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
foo_history                      loaded at 00D10000h - 00D20000h
foo_id3v2                        loaded at 00D20000h - 00D50000h
foo_infobox                      loaded at 00D50000h - 00D63000h
foo_input_std                    loaded at 00D70000h - 00E0E000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
foo_lpac                        loaded at 00E10000h - 00E17000h
lpac_codec_api                  loaded at 00E20000h - 00E2A000h
lpaccodec                        loaded at 00E30000h - 00E59000h
foo_masstag                      loaded at 01080000h - 01094000h
foo_matroska                    loaded at 010A0000h - 010E8000h
foo_mod                          loaded at 010F0000h - 010F9000h
BASS                            loaded at 01100000h - 0115A000h
foo_monkey                      loaded at 01160000h - 0117C000h
foo_mpeg4u                      loaded at 01180000h - 011A9000h
foo_nez                          loaded at 011B0000h - 011DB000h
foo_null                        loaded at 011E0000h - 011E7000h
foo_ofr                          loaded at 011F0000h - 011F6000h
OptimFROG                        loaded at 01200000h - 0122C000h
foo_oggpreview                  loaded at 01240000h - 01341000h
foo_output_std                  loaded at 01350000h - 01359000h
foo_out_dsound_ex                loaded at 01360000h - 01369000h
DSOUND                          loaded at 73E80000h - 73EDC000h
foo_out_ks                      loaded at 01380000h - 0138B000h
SETUPAPI                        loaded at 01390000h - 01679000h
foo_playcount                    loaded at 01680000h - 0168A000h
foo_playlistgen_ex              loaded at 01690000h - 0169F000h
foo_playlist_tree                loaded at 016A0000h - 016BD000h
foo_pphsresample                loaded at 016C0000h - 016D0000h
foo_psf                          loaded at 016D0000h - 0177C000h
foo_quicktag                    loaded at 01780000h - 01789000h
foo_read_http                    loaded at 01790000h - 017A5000h
foo_rgscan                      loaded at 017B0000h - 017BD000h
foo_scroll                      loaded at 017C0000h - 017C6000h
foo_search_ex                    loaded at 017D0000h - 017D8000h
foo_shn                          loaded at 017E0000h - 017EF000h
foo_shuffle                      loaded at 017F0000h - 017FB000h
foo_sid                          loaded at 01950000h - 01997000h
foo_spc                          loaded at 01800000h - 01811000h
foo_speex                        loaded at 01820000h - 01838000h
foo_tfmx                        loaded at 019A0000h - 019A9000h
foo_tta                          loaded at 019B0000h - 019B9000h
foo_tta_old                      loaded at 019C0000h - 019C9000h
foo_uie_albumlist                loaded at 019D0000h - 019DF000h
foo_uie_simple_spectrum          loaded at 019E0000h - 019EB000h
foo_uie_tabs                    loaded at 019F0000h - 019FA000h
foo_uie_trackinfo                loaded at 01A00000h - 01A0B000h
foo_uie_volume                  loaded at 01A10000h - 01A1A000h
foo_ui_columns                  loaded at 01A20000h - 01A57000h
foo_ui_std                      loaded at 01A60000h - 01A77000h
foo_unpack                      loaded at 01A80000h - 01AB1000h
OLEAUT32                        loaded at 770F0000h - 7717C000h
foo_utils                        loaded at 01AC0000h - 01AD1000h
foo_vis_manager                  loaded at 01AE0000h - 01AE8000h
foo_vis_simple_spectrum          loaded at 01AF0000h - 01AFA000h
foo_vorbisenc                    loaded at 01B00000h - 01C11000h
foo_wavpack                      loaded at 01C20000h - 01C32000h
foo_wma                          loaded at 01C40000h - 01C5A000h
WMVCore                          loaded at 086C0000h - 08904000h
WMASF                            loaded at 070D0000h - 0710B000h
foo_xa                          loaded at 01C60000h - 01C6F000h
uxtheme                          loaded at 5B180000h - 5B1B8000h
LgWndHk                          loaded at 01CD0000h - 01CD7000h
iTchHk                          loaded at 01CE0000h - 01CE7000h
LgMsgHk                          loaded at 01F50000h - 01F5B000h
idle                            loaded at 60300000h - 60307000h
MSVCR71                          loaded at 7C340000h - 7C396000h
kbdhook                          loaded at 01F70000h - 01F77000h
appHelp                          loaded at 77B10000h - 77B32000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                          loaded at 77010000h - 770E2000h
cscui                            loaded at 03080000h - 031E2000h
CSCDLL                          loaded at 765B0000h - 765CD000h
browseui                        loaded at 75F30000h - 7602C000h
ntshrui                          loaded at 76950000h - 769E0000h
ATL                              loaded at 76AE0000h - 76AF1000h
NETAPI32                        loaded at 5BC70000h - 5BCC4000h
USERENV                          loaded at 03220000h - 032D4000h
shdocvw                          loaded at 035E0000h - 03BE9000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                          loaded at 77AF0000h - 77B02000h
CRYPTUI                          loaded at 76890000h - 76913000h
WINTRUST                        loaded at 76BF0000h - 76C1E000h
IMAGEHLP                        loaded at 76C50000h - 76C78000h
WININET                          loaded at 77180000h - 77227000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
MPR                              loaded at 71AA0000h - 71AB2000h
drprov                          loaded at 75F10000h - 75F17000h
ntlanman                        loaded at 71BA0000h - 71BAE000h
NETUI0                          loaded at 71C60000h - 71C77000h
NETUI1                          loaded at 71C20000h - 71C60000h
NETRAP                          loaded at 71C10000h - 71C17000h
SAMLIB                          loaded at 71B80000h - 71B93000h
davclnt                          loaded at 75F20000h - 75F29000h
MSGINA                          loaded at 75920000h - 75A91000h
WINSTA                          loaded at 76310000h - 76320000h
ODBC32                          loaded at 745E0000h - 7461D000h
odbcint                          loaded at 20000000h - 20018000h
Secur32                          loaded at 04230000h - 04241000h
xpsp2res                        loaded at 04250000h - 04525000h
sti                              loaded at 73B10000h - 73B24000h
CFGMGR32                        loaded at 74A70000h - 74A77000h
DBGHELP                          loaded at 59E60000h - 59F01000h

Stack dump analysis:
Address: 775C809Ah, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "StgGetIFillLockBytesOnFile" (+000085ADh)
Address: 774B6E2Ch, location: "ole32", loaded at 774B0000h - 775EC000h
Address: 775C82C0h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "StgGetIFillLockBytesOnFile" (+000087D3h)
Address: 7759F400h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "CreateDataCache" (+00003CD2h)
Address: 77D1B3C4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001DFh)
Address: 7C91EAE3h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 7759F288h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "CreateDataCache" (+00003B5Ah)
Address: 7759FBB5h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "DoDragDrop" (+000000ABh)
Address: 016B0440h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 016AFB88h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 016A8672h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 016B0440h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 016A83E8h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 016A83E8h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 016A83E8h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 016A83E8h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D189A5h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 016A83E8h, location: "foo_playlist_tree", loaded at 016A0000h - 016BD000h
Address: 77D253A0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetActiveWindow" (+00000020h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D189C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D189E8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D3E819h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsDialogMessageW" (+000000DBh)
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00460000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00460000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00460000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00460000h
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00460000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00460000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 00438C81h, location: "foobar2000", loaded at 00400000h - 00460000h

Version info:
foobar2000 v0.8.3
UNICODE

Let's talk about queries, now. 
1. I can't really understand how to create a dynamic folder which contains all the files that contain a specific tag (%rating% for example).  I tried to insert "%rating%" in the query, or the extended playlist generator expression "NOT %rating% MISSING" but I'm not having consistent results.
2. I don't think that the Sort criteria field in dynamic folder window works. Also (sorry to ask you this again) I think it is important to have something like a "reverse order" checkbox if you want to be able to create Most played/Least played kind of folders.
3. What is the "extended search" checkbox?

That's all (for now). I hope you don't get bored to develop this fantastic plugin. 
Title: foo_playlist_tree
Post by: marcomk on 2004-12-13 01:49:21
Hi,

  for once I'm not going to make specific requests, I just want to share my views on this fantastic plugin. I know that cwbowron started from the idea of (manually) organising playlists in hierarchical form. In my opinion, however, the killer feature of this plugin is dynamic folders. Dynamic folders allow not only to reproduce any view of your database as Albumlist does, but also to create any special section of your database like with Extended Playlist Generator (Top Rated, Most Played, Last Played, you can also make a dynamic folder with your Hystory list). That’s almost all I want and need. Last thing I may like to have is a good way to store my personal playlists.

At first I thought I would have used plain folders in Playlist tree to store my personal playlists, intended as collections of files I could not group toghether with any specific query (a cd I made to go on holiday, a compilation I made for a friend, etc.). But then I thought there was a better, more reliable way to organize these playlists. I created a new “PLAYLIST” tag, tagged these files with the playlist name and stored them in a dynamic folder. Multiple values allow to have the same song in different playlists. No risk to mess up folders and no need to store playlists on separate files. It’s like using labels in Gmail or in Mozilla Thunderbird.

For me, non-dynamic folders are just needed to group toghether several dynamic folders or to temporally store files which are not yet better organized.
In my opinion, I would also make non-dynamic folders just a special case of dynamic folders with a disabled query, so that also non-dynamic folders can have their own property window with display string and sort criteria.

I have some other suggestion for future development but at the moment I don’t want to overwhelm cwbowron with tons of new requests. I’ll just wait for the present features to be fully developed.   

Keep up the good work! 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 03:24:55
Quote
Hi cwbowron,

I think I found a reproducible crash.  From the empty playlist tree, just create a dynamic folder with any query (I tried with 1, which includes any file in database). Then drag the folder you created and drop on itself.  Crash  

Let's talk about queries, now.  
1. I can't really understand how to create a dynamic folder which contains all the files that contain a specific tag (%rating% for example).  I tried to insert "%rating%" in the query, or the extended playlist generator expression "NOT %rating% MISSING" but I'm not having consistent results.
2. I don't think that the Sort criteria field in dynamic folder window works. Also (sorry to ask you this again) I think it is important to have something like a "reverse order" checkbox if you want to be able to create Most played/Least played kind of folders.
3. What is the "extended search" checkbox?

That's all (for now). I hope you don't get bored to develop this fantastic plugin. 
[a href="index.php?act=findpost&pid=259323"][{POST_SNAPBACK}][/a]


I dont know what the issue with the crash is... I dont get a similar crash...

The extended search box checkbox means that the query is in foo_playlist_gen format... It will be renamed to "foo_playlist_gen" format in the next release...

The sort criteria not working is a known bug and is listed in the readme file...

You might try a test like $if2(%rating%,"") or $if2(%ratingt%,) for your test...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 04:14:28
Quote
Quote
Hi cwbowron,

2. I don't think that the Sort criteria field in dynamic folder window works. Also (sorry to ask you this again) I think it is important to have something like a "reverse order" checkbox if you want to be able to create Most played/Least played kind of folders.
[a href="index.php?act=findpost&pid=259323"][{POST_SNAPBACK}][/a]


[a href="index.php?act=findpost&pid=259343"][{POST_SNAPBACK}][/a]


I just uploaded a version that a reverse button for reversing the sort criteria... I dont know how well the sort thing is working though...
Title: foo_playlist_tree
Post by: Killmaster on 2004-12-13 08:52:37
Your new query box doesn't support tabbing. It's also a bit large for what it is.. I realize that you're still working on this thing so I will withhold judgement for now, just thought you might find it helpful
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-13 13:19:47
Quote
2. what do you think about adding an option to refresh playlist tree on expanding/collapsing a folder? would be useful for dynamic folders relying on changable tags (like playcounter).
[a href="index.php?act=findpost&pid=259317"][{POST_SNAPBACK}][/a]

That would be cool, but I would like something that's auto-refreshing instead of just when I expand/collapse a folder. I don't think that will require too much ressoruces, when I hit refresh view on album list panel it doesn't take more than 1 second.

BTW, I don't know if what you suggest needs to scan the database instead of just refreshing. AFAIK refreshing will update the panel with values that have changed in the database. If you have changed something outside foobar, you'll need to scan it and refresh. For playcounter refresh option is enough
Title: foo_playlist_tree
Post by: stroke on 2004-12-13 15:43:54
Quote
Quote

2. what do you think about adding an option to refresh playlist tree on expanding/collapsing a folder? would be useful for dynamic folders relying on changable tags (like playcounter).
[a href="index.php?act=findpost&pid=259317"][{POST_SNAPBACK}][/a]

That would be cool, but I would like something that's auto-refreshing instead of just when I expand/collapse a folder.
[a href="index.php?act=findpost&pid=259424"][{POST_SNAPBACK}][/a]

if it would be possible for playlist tree to watch changes to database, then autorefresh on every change would be fantastic, if not, there would always be the problem of how often should it autorefresh itself, i guess
Quote
BTW, I don't know if what you suggest needs to scan the database instead of just refreshing. AFAIK refreshing will update the panel with values that have changed in the database. If you have changed something outside foobar, you'll need to scan it and refresh. For playcounter refresh option is enough
[a href="index.php?act=findpost&pid=259424"][{POST_SNAPBACK}][/a]


i thought about refresh option that would synchronize display with database, if i make changes outside foobar i always rescan the database (and think that there is no keyboard shortcut to accomplish that, grhhhh  )
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 16:06:21
Quote
i thought about refresh option that would synchronize display with database, if i make changes outside foobar i always rescan the database (and think that there is no keyboard shortcut to accomplish that, grhhhh  )
[a href="index.php?act=findpost&pid=259454"][{POST_SNAPBACK}][/a]


I don't think you're going to get an automatic refresh option, but I just uploaded something that might be useful instead... I added a main menu item to refresh the queries... its under Components->Playlist Tree->Refresh Queries... I would suggest mapping it to a global hotkey...

I also added a configuration option "Manual query refresh".  This option will delay the population of the queries until you manually refresh the query... this can cut down on loading time... you dont have to populate the query until you want to.
Title: foo_playlist_tree
Post by: stroke on 2004-12-13 16:23:52
Quote
I don't think you're going to get an automatic refresh option, but I just uploaded something that might be useful instead... I added a main menu item to refresh the queries... its under Components->Playlist Tree->Refresh Queries... I would suggest mapping it to a global hotkey...
[a href="index.php?act=findpost&pid=259461"][{POST_SNAPBACK}][/a]


a global hotkey... is OK
Title: foo_playlist_tree
Post by: marcomk on 2004-12-13 18:47:57
Quote
I dont know what the issue with the crash is... I dont get a similar crash...


Well, I made some further tests. I reinstalled a Lite configuration of foobar with Columns UI 0.1.2 RC1 and the last Playlist tree.

At first I included in the database just a small portion  of my music library (6Gb of music) and I created a couple of simple dynamic folders  (Query=1, Display=%artist%|%album%).
Moving a folder in itself or at higher level doesn't create any problem.

Then I included all my music in the database (23Gb) and I tried again.
Moving the folder in itself, in the root, in another folder causes a crash.

Here's the log.

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 775C8097h
Access violation, operation: read, address: 00000008h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (775C8097h):
775C8057h:  11 6A 01 FF 75 30 FF D7 50 FF D6 C7 45 0C 01 00
775C8067h:  00 00 FF 75 24 8B 03 FF 75 20 FF 75 1C FF 75 18
775C8077h:  FF 75 F8 53 FF 50 18 83 7D 0C 01 89 45 FC 75 0A
775C8087h:  6A 00 FF 75 30 FF D7 50 FF D6 8B 45 F8 8B 08 50
775C8097h:  FF 51 08 33 FF E9 F4 00 00 00 68 18 BC 4B 77 FF
775C80A7h:  75 0C FF 15 48 15 4B 77 3B C7 89 45 F8 74 06 8B
775C80B7h:  08 50 FF 51 08 8B 03 53 FF 50 14 EB 12 FF 75 24
775C80C7h:  8B 03 FF 75 20 FF 75 1C FF 75 18 53 FF 50 10 89
Stack (0012FC40h):
0012FC20h:  04A1E498 7C9D76F0 77E943DD 7C9D76F0
0012FC30h:  00000004 00000000 04A1D9A4 00000000
0012FC40h:  00D3AA80 774B6E2C 00F234B8 00000000
0012FC50h:  00D3AA80 00000000 0012FC98 775C82C0
0012FC60h:  00F23138 00000000 00000000 00000004
0012FC70h:  00000000 000001E4 0000032C 0012FDB4
0012FC80h:  00000A84 00D3AA80 0010079C 00151E90
0012FC90h:  00F23558 00000001 0012FD00 7759F400
0012FCA0h:  00070848 00000004 00151E90 00D3AA80
0012FCB0h:  00000000 000001E4 0000032C 0012FDB4
0012FCC0h:  0010079C 00F23570 00000000 0012FD2C
0012FCD0h:  00000000 77D1B3C4 00000000 00000000
0012FCE0h:  00000000 00000000 0012FD78 7C91EAE3
0012FCF0h:  0012FCF8 00000018 006588C8 80004005
0012FD00h:  0012FD78 7759F288 00F23558 00D3AA80
0012FD10h:  00000000 000001E4 0000032C 0012FDB4
0012FD20h:  0012FE10 00D3AA80 7759FBB5 00D3AA80
0012FD30h:  00151E90 00A10470 00F23558 00A0FBB8
0012FD40h:  00000000 000001E4 0000032C 00000001
0012FD50h:  0012FDB4 00000000 00010011 00070848
Registers:
EAX: 00D3AA80, EBX: 00A0FBB8, ECX: 00000000, EDX: 7C91EB94
ESI: 77D2674F, EDI: 7C809737, EBP: 0012FC58, ESP: 0012FC40
Crash location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "StgGetIFillLockBytesOnFile" (+000085AAh)

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                         loaded at 7C800000h - 7C8FF000h
USER32                           loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77E40000h - 77E86000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                           loaded at 77BE0000h - 77C38000h
ADVAPI32                         loaded at 77F40000h - 77FEB000h
RPCRT4                           loaded at 77DA0000h - 77E31000h
COMCTL32                         loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77E90000h - 77F2D000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7EB16000h
foo_input_std                    loaded at 008D0000h - 0096E000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
WINMM                            loaded at 76B00000h - 76B2E000h
serwvdrv                         loaded at 5D190000h - 5D197000h
umdmxfrm                         loaded at 5B4B0000h - 5B4B7000h
foo_output_std                   loaded at 009F0000h - 009F9000h
foo_playlist_tree                loaded at 00A00000h - 00A1C000h
foo_ui_columns                   loaded at 00A20000h - 00A57000h
foo_ui_std                       loaded at 00A60000h - 00A77000h
foo_vis_manager                  loaded at 00A80000h - 00A88000h
uxtheme                          loaded at 5B180000h - 5B1B8000h
LgWndHk                          loaded at 00BF0000h - 00BF7000h
iTchHk                           loaded at 00C00000h - 00C07000h
LgMsgHk                          loaded at 00C70000h - 00C7B000h
MSVCP60                          loaded at 76030000h - 76095000h
idle                             loaded at 60300000h - 60307000h
MSVCR71                          loaded at 7C340000h - 7C396000h
xpsp2res                         loaded at 20000000h - 202D5000h
imagehlp                         loaded at 76C50000h - 76C78000h
DBGHELP                          loaded at 59E60000h - 59F01000h
VERSION                          loaded at 77BD0000h - 77BD8000h

Stack dump analysis:
Address: 774B6E2Ch, location: "ole32", loaded at 774B0000h - 775EC000h
Address: 775C82C0h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "StgGetIFillLockBytesOnFile" (+000087D3h)
Address: 7759F400h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "CreateDataCache" (+00003CD2h)
Address: 77D1B3C4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001DFh)
Address: 7C91EAE3h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 7759F288h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "CreateDataCache" (+00003B5Ah)
Address: 7759FBB5h, location: "ole32", loaded at 774B0000h - 775EC000h
Symbol: "DoDragDrop" (+000000ABh)
Address: 00A10470h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 00A0FBB8h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 00A087AFh, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 00A10470h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 00A08525h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 00A08525h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 00A08525h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 00A08525h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D189A5h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 00A08525h, location: "foo_playlist_tree", loaded at 00A00000h - 00A1C000h
Address: 77D253A0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetActiveWindow" (+00000020h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D189C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D189E8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D3E819h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsDialogMessageW" (+000000DBh)
Address: 100036BCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uIsDialogMessage" (+0000000Eh)
Address: 0041236Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C8FF000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 00438C81h, location: "foobar2000", loaded at 00400000h - 00452000h

Version info:
foobar2000 v0.8.3
UNICODE


Quote
You might try a test like $if2(%rating%,"") or $if2(%ratingt%,) for your test...


[%rating%] works well as a filter, thanks.   


Quote
The sort criteria not working is a known bug and is listed in the readme file...


Sorry, I didn't realize there was a readme file...

Thanks 
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-13 18:49:29
Another crash

[span style='font-size:8pt;line-height:100%']
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 013D4BAAh
Access violation, operation: read, address: 00730102h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (013D4BAAh):
013D4B6Ah:  16 68 04 F6 3D 01 8D 4D E4 C7 45 FC 01 00 00 00
013D4B7Ah:  E8 39 E7 FF FF EB 02 8B C6 8B 4D 08 50 E8 0E FD
013D4B8Ah:  FF FF F6 45 FC 01 74 10 83 7D E8 00 74 0A FF 75
013D4B9Ah:  E8 FF 15 E4 D0 3D 01 59 8B 45 08 5E C9 C2 04 00
013D4BAAh:  F7 81 8C 00 00 00 FC FF FF FF 76 04 6A 13 EB 08
013D4BBAh:  83 79 68 00 74 04 6A 0E 58 C3 33 C0 39 41 6C 0F
013D4BCAh:  95 C0 40 C3 A1 04 59 3E 01 85 C0 74 08 50 FF 15
013D4BDAh:  E4 D0 3D 01 59 C3 E8 05 00 00 00 E9 10 00 00 00
Stack (0012FBCCh):
0012FBACh:  78461F55 78462528 FFFFFFFF 00E5D4AC
0012FBBCh:  77E9F6C9 00070000 00000000 0015EDB0
0012FBCCh:  013D450C 00000000 00730076 00000001
0012FBDCh:  00000001 00000000 0A574A30 00000000
0012FBECh:  013D5580 0012FC3C 013D559B 0012FC10
0012FBFCh:  0000029B 0A1C4DE0 005035A0 00620075
0012FC0Ch:  FFFF0002 00000000 00000000 00000000
0012FC1Ch:  00000000 00000000 00000000 00000000
0012FC2Ch:  00000000 00000000 00000000 00000000
0012FC3Ch:  0012FCB0 013D5556 00020356 00620075
0012FC4Ch:  00000001 0A1C4DE0 013D5494 013E1EB8
0012FC5Ch:  013D5D7E 00000111 001C0386 77E15038
0012FC6Ch:  0B3317D8 01010058 00000003 00000000
0012FC7Ch:  0B3317D8 004FF800 00000004 01010058
0012FC8Ch:  77F5EDFA 01010058 0B3317D8 01010058
0012FC9Ch:  77E02CC0 01010058 00000029 004FF800
0012FCACh:  77E1426A 0012FCD0 77E01EF0 00220308
0012FCBCh:  00000111 00000001 001C0386 001C0386
0012FCCCh:  DCBAABCD 0012FD0C 77E1310E 013D5C5D
0012FCDCh:  00220308 00000111 00000001 001C0386
Registers:
EAX: 0012FC10, EBX: 005035A0, ECX: 00730076, EDX: 00000000
ESI: 00730076, EDI: 00730076, EBP: 0012FBF0, ESP: 0012FBCC
Crash location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 78460000h - 784E3000h
KERNEL32                        loaded at 77E70000h - 77F2E000h
USER32                          loaded at 77E00000h - 77E65000h
GDI32                            loaded at 77F40000h - 77F7B000h
ole32                            loaded at 77A40000h - 77B2F000h
RPCRT4                          loaded at 770C0000h - 77131000h
ADVAPI32                        loaded at 78ED0000h - 78F32000h
COMCTL32                        loaded at 77B40000h - 77BC9000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76B00000h - 76B3E000h
SHLWAPI                          loaded at 77C60000h - 77CA9000h
SHELL32                          loaded at 77580000h - 777CC000h
MSVCRT                          loaded at 78000000h - 78045000h
foo_ac3                          loaded at 00800000h - 00813000h
foo_albumlist                    loaded at 00820000h - 0082B000h
foo_burninate                    loaded at 00830000h - 0083C000h
VERSION                          loaded at 77810000h - 77817000h
LZ32                            loaded at 75950000h - 75956000h
foo_cdda                        loaded at 00840000h - 0084E000h
foo_clienc                      loaded at 00850000h - 0085B000h
foo_console                      loaded at 00860000h - 00867000h
foo_dbsearch                    loaded at 00870000h - 00888000h
foo_diskwriter                  loaded at 00890000h - 008A2000h
WINMM                            loaded at 77540000h - 77571000h
foo_dsp_extra                    loaded at 00930000h - 00945000h
foo_dsp_nogaps                  loaded at 00950000h - 00957000h
foo_dynamics                    loaded at 00960000h - 00967000h
foo_faac                        loaded at 00970000h - 009A3000h
foo_flac                        loaded at 009B0000h - 009CC000h
foo_flaccer                      loaded at 009D0000h - 009E6000h
foo_freedb                      loaded at 009F0000h - 00A1E000h
WS2_32                          loaded at 74FB0000h - 74FC4000h
WS2HELP                          loaded at 74FA0000h - 74FA8000h
foo_id3v2                        loaded at 00A20000h - 00A50000h
MSVCP60                          loaded at 780C0000h - 78121000h
foo_infobox                      loaded at 00A50000h - 00A63000h
foo_input_std                    loaded at 00A70000h - 00B0E000h
MSACM32                          loaded at 773E0000h - 773F3000h
foo_masstag                      loaded at 00B10000h - 00B24000h
foo_null                        loaded at 00B30000h - 00B37000h
foo_output_std                  loaded at 00B40000h - 00B49000h
foo_out_dsound_ex                loaded at 00B50000h - 00B59000h
DSOUND                          loaded at 51080000h - 510DD000h
foo_out_ks                      loaded at 00B70000h - 00B7B000h
SETUPAPI                        loaded at 783C0000h - 78451000h
USERENV                          loaded at 78D20000h - 78D82000h
foo_playlistgen_ex              loaded at 00B80000h - 00B8F000h
foo_rgscan                      loaded at 00B90000h - 00B9D000h
foo_scroll                      loaded at 00BA0000h - 00BA6000h
foo_ui_std                      loaded at 00BB0000h - 00BC7000h
foo_utils                        loaded at 00BD0000h - 00BE1000h
foo_vis_manager                  loaded at 00BF0000h - 00BF8000h
foo_vorbisenc                    loaded at 00C00000h - 00D11000h
foo_wma                          loaded at 00D20000h - 00D3A000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
OLEAUT32                        loaded at 779A0000h - 77A3B000h
foo_history                      loaded at 01150000h - 01165000h
foo_history_panel                loaded at 01270000h - 01278000h
foo_openwith                    loaded at 01280000h - 01289000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_osd                          loaded at 012A0000h - 012AB000h
foo_pod                          loaded at 012B0000h - 01312000h
foo_podclienc                    loaded at 01320000h - 0132E000h
foo_podtranscoder                loaded at 01330000h - 0133B000h
foo_read_http                    loaded at 01340000h - 01353000h
foo_shuffle                      loaded at 01360000h - 0136A000h
foo_temple                      loaded at 01370000h - 0137B000h
foo_web                          loaded at 01380000h - 01398000h
foo_write_http                  loaded at 013A0000h - 013BA000h
foo_playlistfind                loaded at 013C0000h - 013CB000h
foo_playlist_tree                loaded at 013D0000h - 013EC000h
foo_scheduler                    loaded at 013F0000h - 01405000h
foo_uie_albumlist                loaded at 01410000h - 0141F000h
foo_uie_dbexplorer              loaded at 01420000h - 0142B000h
foo_uie_tabs                    loaded at 01430000h - 0143A000h
foo_uie_trackinfo                loaded at 01440000h - 0144B000h
foo_uie_volume                  loaded at 01450000h - 0145A000h
foo_ui_columns                  loaded at 01460000h - 01497000h
Powrprof                        loaded at 76690000h - 76697000h
CLBCATQ                          loaded at 72C60000h - 72CF0000h
SSSensor                        loaded at 06270000h - 06285000h
cscui                            loaded at 77840000h - 77880000h
CSCDLL                          loaded at 77090000h - 770B3000h
ntshrui                          loaded at 76F70000h - 76F7F000h
ATL                              loaded at 773B0000h - 773C5000h
NETAPI32                        loaded at 750F0000h - 7513F000h
Secur32                          loaded at 78FB0000h - 78FBF000h
NTDSAPI                          loaded at 77BE0000h - 77BF1000h
DNSAPI                          loaded at 77970000h - 77994000h
WSOCK32                          loaded at 74FD0000h - 74FD9000h
WLDAP32                          loaded at 77940000h - 7796B000h
NETRAP                          loaded at 75140000h - 75146000h
SAMLIB                          loaded at 750D0000h - 750DF000h
browseui                        loaded at 76DE0000h - 76EA7000h
SHDOCVW                          loaded at 78DB0000h - 78EC2000h
wdmaud                          loaded at 77530000h - 77538000h
msacm32                          loaded at 773D0000h - 773D8000h
KsUser                          loaded at 5EF80000h - 5EF84000h
imagehlp                        loaded at 77910000h - 77933000h
DBGHELP                          loaded at 72970000h - 7299D000h

Stack dump analysis:
Address: 013D450Ch, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 013D5580h, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 013D559Bh, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 013D5556h, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 013D5494h, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 013E1EB8h, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 013D5D7Eh, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 77E15038h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77F5EDFAh, location: "GDI32", loaded at 77F40000h - 77F7B000h
Address: 77E02CC0h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E1426Ah, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E01EF0h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E1310Eh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 013D5C5Dh, location: "foo_playlist_tree", loaded at 013D0000h - 013EC000h
Address: 77E061C1h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E036A9h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E039E5h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E1542Fh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E144FAh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E593C0h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E13E2Ah, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E03A44h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 0146E0C1h, location: "foo_ui_columns", loaded at 01460000h - 01497000h
Address: 77E1BAC7h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E150C6h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E01EF0h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E0204Ch, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E1507Dh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 7847FF57h, location: "ntdll", loaded at 78460000h - 784E3000h
Address: 77E10CDBh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 0086355Ch, location: "foo_console", loaded at 00860000h - 00867000h
Address: 77E108BFh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E2BCE4h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E02198h, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 77E021AFh, location: "USER32", loaded at 77E00000h - 77E65000h
Address: 100038ECh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uDispatchMessage" (+0000000Ah)
Address: 0041238Bh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0086355Ch, location: "foo_console", loaded at 00860000h - 00867000h
Address: 00410FEAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DB5h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00438DE0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E9893Dh, location: "KERNEL32", loaded at 77E70000h - 77F2E000h

Version info:
foobar2000 v0.8.3
UNICODE[/span]
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 19:16:29
Quote
Another crash

[a href="index.php?act=findpost&pid=259503"][{POST_SNAPBACK}][/a]


Useless.

Tell me what you were doing.
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-13 19:28:57
Quote
Quote
Another crash

[a href="index.php?act=findpost&pid=259503"][{POST_SNAPBACK}][/a]


Useless.

Tell me what you were doing.
[a href="index.php?act=findpost&pid=259509"][{POST_SNAPBACK}][/a]


Dragging a dynamic folder at the top level
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 20:03:25
Quote
Quote
Quote
Another crash

[a href="index.php?act=findpost&pid=259503"][{POST_SNAPBACK}][/a]


Useless.

Tell me what you were doing.
[a href="index.php?act=findpost&pid=259509"][{POST_SNAPBACK}][/a]


Dragging a dynamic folder at the top level
[a href="index.php?act=findpost&pid=259513"][{POST_SNAPBACK}][/a]


I'm thinking these dynamic folder movement crashes have something to do with the files in them or something rather than the magnitude of the folder contents... I created a dynamic folder with all my stuff in (>100 gigs) and I can move it around to various levels of the tree without crashing... it could be something in the way I pass around the pointers too... i'll take a look...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 22:12:47
Quote
Your new query box doesn't support tabbing. It's also a bit large for what it is.. I realize that you're still working on this thing so I will withhold judgement for now, just thought you might find it helpful
[a href="index.php?act=findpost&pid=259381"][{POST_SNAPBACK}][/a]


I just uploaded a new version with a tabbable query edit box...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-13 22:51:44
Quote
I'm thinking these dynamic folder movement crashes have something to do with the files in them or something rather than the magnitude of the folder contents... I created a dynamic folder with all my stuff in (>100 gigs) and I can move it around to various levels of the tree without crashing... it could be something in the way I pass around the pointers too... i'll take a look...
[a href="index.php?act=findpost&pid=259520"][{POST_SNAPBACK}][/a]


Well, I may try to find out if the problems occur with a specific group of files....
Is there any other test we can do that you might find helpful?
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-13 22:59:24
Thanks cwbowron, the possibility of adding queries in extended playlist geenrator format is really awesome (and very useful)

I have two little request whatever you have time and interest in it    :

1) Add color strings in display (i.e. '$repeat(0080FF|000000●,%rating%)$repeat(414141|787878●,$sub(5,%rating%))')

2) Add the possibility of query in this format
Code: [Select]
tag
instead of just
Code: [Select]
%tag%
. This is possible in album list, so I guess that it wont be too difficult to add 

An example of use: Let's take a file with the same tag %tag% but with different values:

%tag%=TagA
%tag%=TagB
%tag%=TagC

Display=%tag%|%artist%|%album%|%title%

This will display like this:

+TagA,TagB,TagC
---+'Artist'
-------+'Album'
-----------+'Title'

In Album list we can do this:

Display=tag|%artist%|%album%|%title%

This will display like this:

+TagA
---+'Artist'
-------+'Album'
-----------+'Title'
+TagB
---+'Artist'
-------+'Album'
-----------+'Title'
+TagC
---+'Artist'
-------+'Album'
-----------+'Title'

Thi smeans that the same file will appear in different subtrees.

Thanks.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-13 23:09:19
Quote
1) Add color strings in display (i.e. '$repeat(0080FF|000000●,%rating%)$repeat(414141|787878●,$sub(5,%rating%))')

2) Add the possibility of query in this format
Code: [Select]
tag
instead of just
Code: [Select]
%tag%
. This is possible in album list, so I guess that it wont be too difficult to add 


I second these, especially the second one 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-13 23:16:34
Quote
1) Add color strings in display (i.e. '$repeat(0080FF|000000●,%rating%)$repeat(414141|787878●,$sub(5,%rating%))')
[a href="index.php?act=findpost&pid=259556"][{POST_SNAPBACK}][/a]


I've looked into this before, and the problem is that the TreeView edit control in windows does not support differing colors for different labels.  All the labels have to be the same colour...

There are ways around it, but they involve doing all the painting of the window yourself, and its just a big hassle...

I'll take a look at the code for albumlist to see about your second suggestion...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-14 00:37:19
I made some extensive tests on the "folder drop causes crash" problem. Actually, I couldn't reach a definite conclusion.  As you said, size of the folder doesn't matter  .
I managed to obtain about twenty crashes playing around with (several) single folders containing just one album (about 10 mp3s, nothing else in the folder apart from a hidden windows .db file).

If I create a query, move the branches around, in the root, etc. then nuke the database, open foobar again and move a branch, I think I had a crash all the times. However, I had many other crashes I can't explain...

If you're not able to reproduce any crash, it is possible for you to post a sort of debug version of the plugin or make me able in some other ways to give you a more detailed log of the crashes?  Let me know how I can help. 
Title: foo_playlist_tree
Post by: Desman on 2004-12-14 14:23:35
Yeah! It works PERFECTLY now! No Unicode probs anymore!
Heaps of thanks for the awesome work!
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-14 14:45:56
Quote
2) Add the possibility of query in this format
Code: [Select]
tag
instead of just
Code: [Select]
%tag%
. This is possible in album list, so I guess that it wont be too difficult to add  

An example of use: Let's take a file with the same tag %tag% but with different values:

%tag%=TagA
%tag%=TagB
%tag%=TagC

Display=%tag%|%artist%|%album%|%title%

This will display like this:

+TagA,TagB,TagC
---+'Artist'
-------+'Album'
-----------+'Title'

In Album list we can do this:

Display=tag|%artist%|%album%|%title%

This will display like this:

+TagA
---+'Artist'
-------+'Album'
-----------+'Title'
+TagB
---+'Artist'
-------+'Album'
-----------+'Title'
+TagC
---+'Artist'
-------+'Album'
-----------+'Title'

Thi smeans that the same file will appear in different subtrees.

Thanks.
[a href="index.php?act=findpost&pid=259556"][{POST_SNAPBACK}][/a]


I'm working on adding this functionality but I cannot do it without a designator for the query with the current method of populating queries.  What I am thinking would be  compromise that would allow meta queries for tags that might have different values by designating the tag in the format differently, using {tag} or #tag# or @tag@.  I'm looking for suggestions for the designator.  Any preferences?
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-14 15:16:07
Quote
using {tag} or #tag# or @tag@.  I'm looking for suggestions for the designator.  Any preferences?
[a href="index.php?act=findpost&pid=259643"][{POST_SNAPBACK}][/a]

My vote goes to ...... #tag#! 
Title: foo_playlist_tree
Post by: marcomk on 2004-12-14 15:48:30
Quote
I'm working on adding this functionality but I cannot do it without a designator for the query with the current method of populating queries.  What I am thinking would be  compromise that would allow meta queries for tags that might have different values by designating the tag in the format differently, using {tag} or #tag# or @tag@.  I'm looking for suggestions for the designator.  Any preferences?
[a href="index.php?act=findpost&pid=259643"][{POST_SNAPBACK}][/a]


I don't know if it is easy or not, but maybe with a tag designator you may also overcome a limitation of the albumlist syntax, where you cannot use the expression 'tag' in a formula (es. $if(%genre%, genre, 'No genre')] doesn't work). Maybe something like #tag# will work?

BTW, # is all right. { is not easy to find on an Italian keyboard...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-14 15:54:59
Quote
Quote
I'm working on adding this functionality but I cannot do it without a designator for the query with the current method of populating queries.  What I am thinking would be  compromise that would allow meta queries for tags that might have different values by designating the tag in the format differently, using {tag} or #tag# or @tag@.  I'm looking for suggestions for the designator.  Any preferences?
[a href="index.php?act=findpost&pid=259643"][{POST_SNAPBACK}][/a]


I don't know if it is easy or not, but maybe with a tag designator you may also overcome a limitation of the albumlist syntax, where you cannot use the expression 'tag' in a formula (es. $if(%genre%, genre, 'No genre')] doesn't work). Maybe something like #tag# will work?

BTW, # is all right. { is not easy to find on an Italian keyboard...
[a href="index.php?act=findpost&pid=259658"][{POST_SNAPBACK}][/a]


I don't know if it will help with that, but I just uploaded the new version that supports meta tag queries with the #tag# format.

Let me know how it works.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-14 16:08:49
Quote
Let me know how it works.
[a href="index.php?act=findpost&pid=259660"][{POST_SNAPBACK}][/a]


It works great! 

Thanks again 
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-14 17:38:12
Quote
I don't know if it will help with that, but I just uploaded the new version that supports meta tag queries with the #tag# format.

Let me know how it works.
[a href="index.php?act=findpost&pid=259660"][{POST_SNAPBACK}][/a]


I love you   

Seriously, it works great. I'm using this i.e.
Code: [Select]
$if(%styles%,#styles#,'()')


Thanks you very much for your work.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-14 20:15:16
I just uploaded a new version that deals with one of my pet peeves... now when you do a search, it will keep expanding branches as you find the items you want, but when you are done searching it will restore the tree to the previous state, and only the branches necessary to see the final search result will remain expanded.

it will also turn the background red when a match cannot be found to a search item and restore it when you close the search box...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-14 20:53:11
What about the crashes? How can we give you more detailed informations about the problem?

BTW, I made another bitmap (http://www.hydrogenaudio.org/forums/index.php?showtopic=29917#) with GANT icons with 16 colors (looks horrible, it is just for a try) and still the colors are not displayed properly. So the problem is not in the color depth... I will upload the new bitmap in the upload section in case you want to test it.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-14 20:59:27
Quote
What about the crashes? How can we give you more detailed informations about the problem?
[a href="index.php?act=findpost&pid=259726"][{POST_SNAPBACK}][/a]


If you get a crash, see if you can whittle it down to a certain situation that is causing the problem and get the crash to repeat... let me know what situations you are seeing crashes in...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 15:21:03
I just uploaded a new version that fixes a couple problems related to the movement of the window.  Previously if you moved the foobar window with the search box activated in playlist tree the search box would not get moved with it...

I also added a new feature that I am still working on... I added an option under the Components->Playlist Tree->Explorer menu to launch a explorer window have it dock next to the playlist tree.  I still dont know how to move it along with the window but I'm working on that... This is a nice feature if you are building a playlist manually... I added explorer as a global hotkey which makes it easier to browse my collection... I also added a config menu option to specifiy the default directory to start at...

I may add the option to the right click menu in the tree to open the folder that a file is in...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-15 17:10:36
Quote
I also added a new feature that I am still working on... I added an option under the Components->Playlist Tree->Explorer menu to launch a explorer window have it dock next to the playlist tree... This is a nice feature if you are building a playlist manually...
[a href="index.php?act=findpost&pid=259894"][{POST_SNAPBACK}][/a]


Hi, I was thinking about another feature that may help to build playlists manually (but I don't know how difficult it is...).
Could you make it possible that a dynamic folders can be set to point a specific playlist file (.fpl, .m3u)?
The Query, in this case, may appear as something like: $file(d:\Music \Playlists\playlist.fpl).

With this feature, you could send a playlist to the main window, edit it as you like, saving it to a playlist file and then, if you refresh the query, you can still have the modified playlist in your dynamic folder.

It would be necessary that the folder could point to standard playlist files (.fpl, m3u) because it is not possible to save .col files from the main window.
Title: foo_playlist_tree
Post by: phwip on 2004-12-15 17:14:39
Quote
Hi, I was thinking about another feature that may help to build playlists manually (but I don't know how difficult it is...).
Could you make it possible that a dynamic folders can be set to point a specific playlist file (.fpl, .m3u)?
The Query, in this case, may appear as something like: $file(d:\Music \Playlists\playlist.fpl).
[a href="index.php?act=findpost&pid=259913"][{POST_SNAPBACK}][/a]

I really like this idea.  If it's possible then it would be great.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 17:21:35
Quote
Quote
Hi, I was thinking about another feature that may help to build playlists manually (but I don't know how difficult it is...).
Could you make it possible that a dynamic folders can be set to point a specific playlist file (.fpl, .m3u)?
The Query, in this case, may appear as something like: $file(d:\Music \Playlists\playlist.fpl).
[a href="index.php?act=findpost&pid=259913"][{POST_SNAPBACK}][/a]

I really like this idea.  If it's possible then it would be great.
[a href="index.php?act=findpost&pid=259915"][{POST_SNAPBACK}][/a]


I'll put my best people on it.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-15 17:43:34
->bug report:

When using extended playlist generator format, MISSING value doesn't seems to be supported. i.e. Query=rating MISSING doesn't return any value. Using same syntax in the EPG works and return hundreds of songs.

->feature/suggestion request (I'm always asking things, please slap me if I'm a PITA  ):

1) Add for queries in extended playlist generator format the possibility of regenerate it (not refreshing) via right-click menu. Like the component>playlist tree>refresh all queries but on the right-click menu and it'll regenerate all queries for the subtrees where this has been right-clicked. It's very useful if you've several queries (for ex. random 'new tracks', 'rock tracks', 'low-tempo tracks' etc...) as subfolders aof a static folder in order to generate a mixed playlist. i.e.

+Mixed
---+Random 10 New tracks (extended playlist generator format)
---+Random 10 Rock tracks (extended playlist generator format)
---+Random 10 Low-tempo tracks (extended playlist generator format)
----[...]

If you can right-click on 'Mixed' (static folder) and regenerate all queries you can have a random playlist for this multiple values in just one click! 

2) I guess that this is an overkill, but here it goes... Possibility to add another query in extended playlist generator format, just after the first one and run it after it. i.e. Creating a '7 random tracks from 50 most played songs'

step 1:
New Query> Label: '7 random Most played songs':
Query=play_counter GREATER 0 [EGC format]
Display=$if2(%album artist%,%artist%) - %album% - %title%
Max=50
Max criteria=$num(%play_counter%,4) |x| Reverse (I know that custom sort doesn't work in playlist tree, but when it'll work in the future  ).

This will create (as I said when custom sort will work) the most 50 played tracks dynamic folder.

step 2:
If I could enter right after that query this one (searching current results) in the same edit window:
Query=play_counter GREATER 0 [EGC format]
Display=$if2(%album artist%,%artist%) - %album% - %title%
Max=7
Max criteria=$rand()


Someone gets the idea? Appliying it with request number 1) you can make a very complex smart playlist with a click! Yum! Right now you can do it, but it requires a lot of steps.

Well, that's it for today. Thanks again for all your work, this is one of the best fb2k components I've ever seen.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 18:02:05
Quote
Quote
Quote
Hi, I was thinking about another feature that may help to build playlists manually (but I don't know how difficult it is...).
Could you make it possible that a dynamic folders can be set to point a specific playlist file (.fpl, .m3u)?
The Query, in this case, may appear as something like: $file(d:\Music \Playlists\playlist.fpl).
[a href="index.php?act=findpost&pid=259913"][{POST_SNAPBACK}][/a]

I really like this idea.  If it's possible then it would be great.
[a href="index.php?act=findpost&pid=259915"][{POST_SNAPBACK}][/a]


I'll put my best people on it.
[a href="index.php?act=findpost&pid=259920"][{POST_SNAPBACK}][/a]


Here's what I did... from the readme...

   $drop()
      If you use the $drop() command in a dynamic folder everytime you refresh that query it will act as if you dropped that file or directory on that node. Good for creating dynamic folders that get their content from an external m3u file or from directory.

Usage:   
$drop(C:\music\B\Bob Dylan)
$drop(C:\music\_Playlists\Bob Dylan.m3u)

The only is that if you add files and stuff to the node inside of playlist tree those items will be lost unless you save it yourself... (i.e. playlist tree will only read from the $drop location, never write to it)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 18:14:06
Quote
2) I guess that this is an overkill, but here it goes... Possibility to add another query in extended playlist generator format, just after the first one and run it after it. i.e. Creating a '7 random tracks from 50 most played songs'

step 1:
New Query> Label: '7 random Most played songs':
Query=play_counter GREATER 0 [EGC format]
Display=$if2(%album artist%,%artist%) - %album% - %title%
Max=50
Max criteria=$num(%play_counter%,4) |x| Reverse (I know that custom sort doesn't work in playlist tree, but when it'll work in the future   ).

This will create (as I said when custom sort will work) the most 50 played tracks dynamic folder.

step 2:
If I could enter right after that query this one (searching current results) in the same edit window:
Query=play_counter GREATER 0 [EGC format]
Display=$if2(%album artist%,%artist%) - %album% - %title%
Max=7
Max criteria=$rand()

Well, that's it for today. Thanks again for all your work, this is one of the best fb2k components I've ever seen.
[a href="index.php?act=findpost&pid=259927"][{POST_SNAPBACK}][/a]


I'm all for overkill...

First, have you tried the custom sort lately?  I'm not sure if its working or not... I was seeing an issue where it wouldnt work the first refresh, but after that it would...

Second... I hear what you are saying about the second suggestion... but I think I have an even better solution...

what if i were to introduce a function say $node() that grabbed all the contents of another node in the tree?  Then you could build the first query as its own thing and then create a second query that grabs the contents of that node and randomly gets only 7 of the items.

So you're queries would be:

step 1:
New Query> Label: '50 Highest':
Query=play_counter GREATER 0 [EGC format]
Display=$if2(%album artist%,%artist%) - %album% - %title%
Max=50
Max criteria=$num(%play_counter%,4) |x| Reverse

step 2:
New Query> Label: "cwbowron is the greatest programmer in the world"
Query=$node(50 Highest)
Max=7
Max criteria=$rand()
Title: foo_playlist_tree
Post by: marcomk on 2004-12-15 19:08:56
Quote
Here's what I did... from the readme...

   $drop()
  If you use the $drop() command in a dynamic folder everytime you refresh that query it will act as if you dropped that file or directory on that node. Good for creating dynamic folders that get their content from an external m3u file or from directory.

Usage:   
$drop(C:\music\B\Bob Dylan)
$drop(C:\music\_Playlists\Bob Dylan.m3u)
[a href="index.php?act=findpost&pid=259932"][{POST_SNAPBACK}][/a]


I write a post, go and have a snack, when I came back the feature is ready and cwbowron is actually working on the next one. Amazing!!!!

Quote
New Query> Label: "cwbowron is the greatest programmer in the world"


If not the greatest, the quickest. 
Title: foo_playlist_tree
Post by: marcomk on 2004-12-15 19:43:50
Quote
Usage:   
$drop(C:\music\B\Bob Dylan)
$drop(C:\music\_Playlists\Bob Dylan.m3u)
[a href="index.php?act=findpost&pid=259932"][{POST_SNAPBACK}][/a]


It's great, works with .m3u and .fpl!!!!  However I think there is a small bug in the display format...

No matter what I write in the display string in the dynamic folder window, I get the results according to the file display format in general preferences...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 20:12:49
Quote
Quote
Usage:   
$drop(C:\music\B\Bob Dylan)
$drop(C:\music\_Playlists\Bob Dylan.m3u)
[a href="index.php?act=findpost&pid=259932"][{POST_SNAPBACK}][/a]


It's great, works with .m3u and .fpl!!!!  However I think there is a small bug in the display format...

No matter what I write in the display string in the dynamic folder window, I get the results according to the file display format in general preferences...
[a href="index.php?act=findpost&pid=259945"][{POST_SNAPBACK}][/a]


Yes, I hadnt thought about that... I just uploaded a new version that somewhat fixes this... in the latest version files will display according to the format string, but it wont break them down into subfolders and stuff like a normal query will... but you can specify the way it actually displays the file.... I'll look into this a bit more....

... and... <drum roll>...

I added recursive queries...

From the readme...

$node()
You can grab the contents of another query or folder in a query using the $node(label) command.  If doesnt support any other functions but it can be used to build nested queries.  (i.e. you can't say "$node(A) OR $node(B)" yet, but you can say "$node(A) artist HAS Dylan")

If you have parenthesis in the folder name its going to break.

Here's an example

Query1:
Label: Acoustic
Query: album HAS acoustic OR album HAS unplugged OR title HAS acoustic
Title: foo_playlist_tree
Post by: hotzenpl0tz on 2004-12-15 20:36:09
I have been trying to get the following code I used in my Album List to work with this plugin:

Code: [Select]
$if(%various%,'- - - VARIOUS ARTISTS - - -',$if2($left(%album artist%,1),$if2($left(%artist%,1),'- - -')))|$if(%various%,$if2(%album%,)$if2('  ['%date%']',),$if2(%album artist%,$if2(%artist%,'- - - Missing Tags - - -')))|$if(%various%,$if($or(%disc%,%discname%),$if2('Disc '%disc%,)$if2(' '''%discname%'',),$num(%tracknumber%,2)' - '$if2(%artist%' - ',)%title%),$if(%singletrack%,'>  '%title%,$if2('['%date%']  ',)$if2(%album%,)))|$if(%various%,$if($or(%disc%,%discname%),$num(%tracknumber%,2)' - '%artist%' - '%title%),$if(%singletrack%,,$if($or(%disc%,%discname%),$if(%disc%,'Disc '%disc%)$if(%discname%,' '''%discname%''),$num(%tracknumber%,2)$if(%album artist%,' - '%artist%)' - '%title%)))|$if(%various%,,$if(%singletrack%,,$if($or(%disc%,%discname%),$num(%tracknumber%,2)$if(%album artist%,' - '%artist%)' - '%title%)))


This code in the album list sorted my Albums by the criteria:
Letter of the alphabet, Artist, album

For example:

+a
+b
+c
[-]d
+dude
+dude2
[-]dude3
  album1
  album2
+e

I tried to use the same code in this plugin, but it didn't work. Could somebody give me a hint what I have to change to get similar behaviour ?


EDIT: It DOES work, I somehow mixed up some of the terms used in the plugin, nevermind.
Title: foo_playlist_tree
Post by: The Link on 2004-12-15 20:49:12
I use following query: "%_directoryname%" IS Misc OR %__replaygain_album_gain% IS MISSING OR singlefile IS yes

Could it be that if several conditions connected with "or" are positive the file gets displayed more than once in the playlist tree (same number as positive conditions)? With this query  I get almost every file displayed twice.

Also when dragging a node/query into the playlists panel I get a crash. The redrawing/stealing focus problem I described earlier isn't resolved for me either.

Otherwise this plugin is getting better and better with an amazing development speed.

Regards,
The Link

edit: I'm getting every title displayed twice now. So it is not only the query I described above and my guess must be wrong, too.

edit2: Files with embedded cue sheet seem to be handeled correctly (besides the incorrect total filesize)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 21:17:31
Quote
Quote
Quote
Usage:   
$drop(C:\music\B\Bob Dylan)
$drop(C:\music\_Playlists\Bob Dylan.m3u)
[a href="index.php?act=findpost&pid=259932"][{POST_SNAPBACK}][/a]


It's great, works with .m3u and .fpl!!!!  However I think there is a small bug in the display format...

No matter what I write in the display string in the dynamic folder window, I get the results according to the file display format in general preferences...
[a href="index.php?act=findpost&pid=259945"][{POST_SNAPBACK}][/a]


Yes, I hadnt thought about that... I just uploaded a new version that somewhat fixes this... in the latest version files will display according to the format string, but it wont break them down into subfolders and stuff like a normal query will... but you can specify the way it actually displays the file.... I'll look into this a bit more....
[a href="index.php?act=findpost&pid=259951"][{POST_SNAPBACK}][/a]


Ok, I fixed it... Now it will use the display format you specify in the query edit box, unless you specify %default% in which case it will use the same format that it would if you had dropped it from explorer.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-15 21:19:57
Quote
edit: I'm getting every title displayed twice now. So it is not only the query I described above and my guess must be wrong, too.
[a href="index.php?act=findpost&pid=259960"][{POST_SNAPBACK}][/a]


Any chance the files are in your database twice?  maybe you've moved them around and both locations are still in the database?
Title: foo_playlist_tree
Post by: The Link on 2004-12-15 21:30:16
Quote
Quote
edit: I'm getting every title displayed twice now. So it is not only the query I described above and my guess must be wrong, too.
[a href="index.php?act=findpost&pid=259960"][{POST_SNAPBACK}][/a]


Any chance the files are in your database twice?  maybe you've moved them around and both locations are still in the database?
[a href="index.php?act=findpost&pid=259968"][{POST_SNAPBACK}][/a]


No. Albumlist panel also shows them only once.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-15 22:36:54
Quote
... and... <drum roll>...

I added recursive queries...

From the readme...

$node()
You can grab the contents of another query or folder in a query using the $node(label) command.  If doesnt support any other functions but it can be used to build nested queries.  (i.e. you can't say "$node(A) OR $node(B)" yet, but you can say "$node(A) artist HAS Dylan")[a href="index.php?act=findpost&pid=259951"][{POST_SNAPBACK}][/a]

You've become my God  Thanks, and how we say in my mother tongue '¡Muchas gracias!'. It's working great, I can make a smart playlist calling other nodes in just one click!         

Oh, and you've also added the refresh option, this is amazing. I refresh and 'voila' a new playlist is ready.

BTW, sort do work, I didn't really get how this worked..I thought that this means the way it display in the tree not the way it sorts the query.

The only thing I miss, but this is just pure PITA, it's the ability to set a custom sorting format (like foo_custom_sort plugin) calling a custom format if we send a tree/folder to a new playlist. This is not important at all since I just have to sort the playlist with the Custom Sort plugin

Dude, you've make me a happy man  Mil gracias.

Edit: MISSING value in extended playlist generator format query still doesn't work 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-16 00:10:51
Quote
BTW, sort do work, I didn't really get how this worked..I thought that this means the way it display in the tree not the way it sorts the query.

The only thing I miss, but this is just pure PITA, it's the ability to set a custom sorting format (like foo_custom_sort plugin) calling a custom format if we send a tree/folder to a new playlist. This is not important at all since I just have to sort the playlist with the Custom Sort plugin

Dude, you've make me a happy man   Mil gracias.

Edit: MISSING value in extended playlist generator format query still doesn't work 
[a href="index.php?act=findpost&pid=259986"][{POST_SNAPBACK}][/a]


MISSING should work now... I had been compiling against the foo_playlistgen included in the SDK, but I downloaded the latest (as far as I could tell) version of foo_playlistgen_ex and compiled against that and now it looks like MISSING works...

The way the sorting stuff works right now is that the criteria is only used for picking out the first x entries... the sorting is done according to the same criteria as sorting a normal folder... would it be better if I just sort according to the same criteria as picking out the first x entries?

I'm pretty sure the max number of entries and sorting criteria isnt saved as of now, but its on my list of things to do soon...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-16 00:32:14
Quote
... the sorting is done according to the same criteria as sorting a normal folder... would it be better if I just sort according to the same criteria as picking out the first x entries?
[a href="index.php?act=findpost&pid=259993"][{POST_SNAPBACK}][/a]


Well, I think so. The extended playlist generator scheme seems very logical to me.
If you want to pick your  "100 Top rated" or your "100 Most Played", it seems pretty obvious to me that you want to put your top rated or most played on top... It is not very  handy to sort all your dynamic folder according to just one general rule...

BTW, I think that there is something broken in your latest version. If I tried to add some dynamic folders with a $drop function but I got some weird results... The dynamic folder disappeared, tree was messed up, etc.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-16 04:19:43
Quote
Quote
... the sorting is done according to the same criteria as sorting a normal folder... would it be better if I just sort according to the same criteria as picking out the first x entries?
[a href="index.php?act=findpost&pid=259993"][{POST_SNAPBACK}][/a]


Well, I think so. The extended playlist generator scheme seems very logical to me.
If you want to pick your  "100 Top rated" or your "100 Most Played", it seems pretty obvious to me that you want to put your top rated or most played on top... It is not very  handy to sort all your dynamic folder according to just one general rule...

BTW, I think that there is something broken in your latest version. If I tried to add some dynamic folders with a $drop function but I got some weird results... The dynamic folder disappeared, tree was messed up, etc.
[a href="index.php?act=findpost&pid=259996"][{POST_SNAPBACK}][/a]


I just uploaded a version that should fix this...

I also fixed it so the queries should be sorted according to the criteria in the max criteria , if its there.
Title: foo_playlist_tree
Post by: The Link on 2004-12-16 07:20:49
I sorted my problem with titles appearing twice out: It was for some part my fault and to another part foo_playlisttree's fault. I got Database entries "I:\Audio\Artist\Album" and "I:\Audio\\Artist\Album" where the second doesn't really exist. I think this entry was created either when I entered "I:\Audio\" in the "explorer directory" field or when I created a query "$drop(I:\Audio)". "I:\Audio" is also my Database directory.

Regards,
The Link
Title: foo_playlist_tree
Post by: phwip on 2004-12-16 10:21:16
Quote
$drop()
  If you use the $drop() command in a dynamic folder everytime you refresh that query it will act as if you dropped that file or directory on that node. Good for creating dynamic folders that get their content from an external m3u file or from directory.
[a href="index.php?act=findpost&pid=259932"][{POST_SNAPBACK}][/a]

Thank you very much for adding this.  One question: when I use $drop with an m3u (or fpl) file I would like it to display the tracks in the order they appear in the m3u file.  This is what happens if I actually drop the m3u from Windows Explorer.  But with $drop they are sorted according to the query format field.  Is there any way to achieve this?  I have compilation m3us with the tracks in the order I want to listen to them, not based on anything in the tags such as track number, artist or title.
Title: foo_playlist_tree
Post by: anza on 2004-12-16 14:41:08
I'd love to see the "limit to X" options of foo_playlistgen_ex in this one. That way I could easily make playlists like "Random hour" or "Random 128 megs of files".
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-16 15:03:57
Quote
Quote
   $drop()
  If you use the $drop() command in a dynamic folder everytime you refresh that query it will act as if you dropped that file or directory on that node. Good for creating dynamic folders that get their content from an external m3u file or from directory.
[a href="index.php?act=findpost&pid=259932"][{POST_SNAPBACK}][/a]

Thank you very much for adding this.  One question: when I use $drop with an m3u (or fpl) file I would like it to display the tracks in the order they appear in the m3u file.  This is what happens if I actually drop the m3u from Windows Explorer.  But with $drop they are sorted according to the query format field.  Is there any way to achieve this?  I have compilation m3us with the tracks in the order I want to listen to them, not based on anything in the tags such as track number, artist or title.
[a href="index.php?act=findpost&pid=260037"][{POST_SNAPBACK}][/a]


I just uploaded a new version that does this.

From the readme.txt:
Quote
--- Query Sorting ---

   Queries are sorted to according the the criteria entered in the "Sort Criteria"
   box.  Queries generated from the the $drop() command will not be sorted if
   if the display format is set to %default%.  In that case they will show up
   the same way as if they had been dropped from explorer, etc.  If you want
   $drop() to format/sort files differently, enter the criteria in the format box
   and the sort criteria box.
Title: foo_playlist_tree
Post by: phwip on 2004-12-16 16:15:37
Quote
Queries are sorted to according the the criteria entered in the "Sort Criteria"
   box.  Queries generated from the the $drop() command will not be sorted if
   if the display format is set to %default%.  In that case they will show up
   the same way as if they had been dropped from explorer, etc.  If you want
   $drop() to format/sort files differently, enter the criteria in the format box
   and the sort criteria box.
[a href="index.php?act=findpost&pid=260072"][{POST_SNAPBACK}][/a]


Thanks.  I like this a lot.  One thing doesn't seem to be quite as I expected.  If I put %title% in the format box and %default% in the sort box I would expect to see the tracks from the m3u in the order they appear in the m3u file, but only the titles listed.  This is almost the case but it seems to swap the first track with one from somewhere in the middle of the playlist.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-16 16:28:54
Quote
Quote
   Queries are sorted to according the the criteria entered in the "Sort Criteria"
   box.  Queries generated from the the $drop() command will not be sorted if
   if the display format is set to %default%.  In that case they will show up
   the same way as if they had been dropped from explorer, etc.  If you want
   $drop() to format/sort files differently, enter the criteria in the format box
   and the sort criteria box.
[a href="index.php?act=findpost&pid=260072"][{POST_SNAPBACK}][/a]


Thanks.  I like this a lot.  One thing doesn't seem to be quite as I expected.  If I put %title% in the format box and %default% in the sort box I would expect to see the tracks from the m3u in the order they appear in the m3u file, but only the titles listed.  This is almost the case but it seems to swap the first track with one from somewhere in the middle of the playlist.
[a href="index.php?act=findpost&pid=260095"][{POST_SNAPBACK}][/a]


%default% goes into the format box... it doesnt do anything in the sort box... queries in which the format is %default% no sorting is done...
Title: foo_playlist_tree
Post by: phwip on 2004-12-16 16:41:50
Quote
%default% goes into the format box... it doesnt do anything in the sort box... queries in which the format is %default% no sorting is done...
[a href="index.php?act=findpost&pid=260102"][{POST_SNAPBACK}][/a]

That won't help me if I want default sort order but only the title displayed then, because %default% in the format box includes the artist in the track display.

But never mind, because I've just found that putting %title% in the format box and leaving the sort box empty now sorts in the order of the m3u file, which is a change from how it worked before but is exactly what I wanted  .  So I don't need to use %default% anyway now.

Thanks for all your hard work on this component.
phwip.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-16 21:15:02
Quote
I'd love to see the "limit to X" options of foo_playlistgen_ex in this one. That way I could easily make playlists like "Random hour" or "Random 128 megs of files".
[a href="index.php?act=findpost&pid=260063"][{POST_SNAPBACK}][/a]


Done.

What I've done is added radio buttons that allow you to select tracks/minutes/megs for the maximum...

it would have been done sooner but i was issues with releasing handles that i hadn't actually created and that was giving me issues...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-16 23:57:15
Quote
Quote
--- Query Sorting ---

   Queries are sorted to according the the criteria entered in the "Sort Criteria"
   box.  Queries generated from the the $drop() command will not be sorted if
   if the display format is set to %default%.  In that case they will show up
   the same way as if they had been dropped from explorer, etc.  If you want
   $drop() to format/sort files differently, enter the criteria in the format box
   and the sort criteria box.

[a href="index.php?act=findpost&pid=260072"][{POST_SNAPBACK}][/a]


Hi,

  I have to say I'm very happy with this plugin as it seems I can do whatever I'd have liked to do with a media library. Thank you very much, cwbowron....   
I just want to discuss some little details...

Sorting works perfectly now. However, is it intuitive enough for new users?

I think there are three main ways in which users want to sort their files. 
1. Most common way is to sort according to display format. Users want to see A on top and Z at the bottom.
2. Second way is custom sort: whatever display you may have, you want to sort by rating, play_conter, ecc.
3. Third is no sorting, which is very useful when you drop playlists. Not very common, though.

1. I think default sorting (i.e. when you leave the sorting field empty) should be "sort according to display format". It's the most common and expected way.
2. Custom sort is easy. You just have to insert a string in the sorting field.
3. If you want to drop a playlist and you want no sorting, I think the most logical way is to insert a tag like %no sorting% in the sort field.
(however, we could also have 1. %display% 2. <custom string> 3. empty)

At the moment, if you leave the sort field empty there is no sorting. If you want to sort by display, you have to copy your display string (often very long) in the sort field. It's not a big deal, but I don't know if it's the best option.

What I find a rather confusing is to insert the %default% in the format field to have a default sorting.  I'd rather use %default% in format field for default format and %default% in sort field for %default% (no) sorting.

I want to make it clear, I'm very happy with the plugin. I'm just discussing little details. 

EDIT: This is another option to make the whole thing more clear.

Sorting:    None (o) by Display (o) Custom (o) ----------------------------------

(i.e. three radio buttons plus a field box)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-17 05:32:34
Quote
Sorting:     None (o) by Display (o) Custom (o) ----------------------------------

(i.e. three radio buttons plus a field box)
[a href="index.php?act=findpost&pid=260225"][{POST_SNAPBACK}][/a]


I just uploaded a new version that implements this...
Title: foo_playlist_tree
Post by: metal_termite on 2004-12-17 07:09:05
What is the device path, and explorer path?
Title: foo_playlist_tree
Post by: filon on 2004-12-17 09:01:19
In my oppinon, you should change the "%size%" formatting to display "MB", and "GB" instead of "megs" and "gigs". I just can't stand all the megs and gigs in the playlist tree. You could add another keyword for that.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-17 13:12:37
Quote
What is the device path, and explorer path?
[a href="index.php?act=findpost&pid=260271"][{POST_SNAPBACK}][/a]

Device=your mp3 player/usb etc... [external HDD]
Explorer=Your music folder, useful if you create playlist manually.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-17 14:44:17
Quote
In my oppinon, you should change the "%size%" formatting to display "MB", and "GB" instead of "megs" and "gigs". I just can't stand all the megs and gigs in the playlist tree. You could add another keyword for that.
[a href="index.php?act=findpost&pid=260282"][{POST_SNAPBACK}][/a]


Or I could add another keyword to implement the way you would like to see it...

which is what i just did...

Code: [Select]
  Example of size tags:
 %size%      100 megs  10 gigs
 %size_abbr%  100 MB      10 GB
 %size_abb%  100 M      10 G
 %size_raw%  100      102400  
Title: foo_playlist_tree
Post by: filon on 2004-12-17 17:07:46
Quote
Quote
In my oppinon, you should change the "%size%" formatting to display "MB", and "GB" instead of "megs" and "gigs". I just can't stand all the megs and gigs in the playlist tree. You could add another keyword for that.
[a href="index.php?act=findpost&pid=260282"][{POST_SNAPBACK}][/a]


Or I could add another keyword to implement the way you would like to see it...

which is what i just did...

Code: [Select]
  Example of size tags:
 %size%      100 megs  10 gigs
 %size_abbr%  100 MB      10 GB
 %size_abb%  100 M      10 G
 %size_raw%  100      102400  

[a href="index.php?act=findpost&pid=260330"][{POST_SNAPBACK}][/a]


Yeah, that would be fine. I would prefer one of the others to be deafult and make %size% as %size_coll% or someting like that, but that what you written looks good anyway.
Title: foo_playlist_tree
Post by: The Link on 2004-12-17 17:38:31
Just wanted to say that I solved my problems regarding playlisttree taking focus when starting fb2k and the redrawing glitch. I just removed the component, started foobar to overwrite the playlist tree configs, then readded foo_playlisttree and now the problem seems to be gone. 

One thing that is not resolved for me is the crashing when dropping items from the playlisttree panel into the playlists panel. This is an important feature imho and it works perfectly with the albumlist panel.

Regards,
The Link
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-17 18:04:02
Quote
Just wanted to say that I solved my problems regarding playlisttree taking focus when starting fb2k and the redrawing glitch. I just removed the component, started foobar to overwrite the playlist tree configs, then readded foo_playlisttree and now the problem seems to be gone.  

One thing that is not resolved for me is the crashing when dropping items from the playlisttree panel into the playlists panel. This is an important feature imho and it works perfectly with the albumlist panel.

Regards,
The Link
[a href="index.php?act=findpost&pid=260363"][{POST_SNAPBACK}][/a]


If you can, see if you can figure out if it is a particular file or folder that is causing the problem.  I don't have issues with this and I'm thinking maybe its something in the filename or path that is the culprit... if you can help me pinpoint it it will be easier to fix...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-17 18:06:44
Quote
Yeah, that would be fine. I would prefer one of the others to be deafult and make %size% as %size_coll% or someting like that, but that what you written looks good anyway.
[a href="index.php?act=findpost&pid=260358"][{POST_SNAPBACK}][/a]


Or you could be happy that I gave you the option to display it how you want and be done with it.
Title: foo_playlist_tree
Post by: koach on 2004-12-17 18:10:28
Hi. I've just started using this plugin, it's very nice. especially dynamic query function really rocks!

I would like to make a request about double click action.

usually I use manual query refresh mode because it takes loads of time to start up fb2k if using auto refresh with some query folders.
Since it doesn't remember songs loaded last time in query folders between sessions, to send them to the playlist view, I have to refresh those folders from context menu every time before sending.
So I would like to be able to do that with single action. Adding something like "send to playlist after refreshing" to double click actions would be very handy for me.

Hope this makes sense...
Title: foo_playlist_tree
Post by: filon on 2004-12-17 18:30:15
Quote
Quote
Yeah, that would be fine. I would prefer one of the others to be deafult and make %size% as %size_coll% or someting like that, but that what you written looks good anyway.
[a href="index.php?act=findpost&pid=260358"][{POST_SNAPBACK}][/a]


Or you could be happy that I gave you the option to display it how you want and be done with it.
[a href="index.php?act=findpost&pid=260367"][{POST_SNAPBACK}][/a]


Sure. See "Yeah, that would be fine." and "but that what you written looks good anyway." :-)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-17 18:43:51
Quote
Hi. I've just started using this plugin, it's very nice. especially dynamic query function really rocks!

I would like to make a request about double click action.

usually I use manual query refresh mode because it takes loads of time to start up fb2k if using auto refresh with some query folders.
Since it doesn't remember songs loaded last time in query folders between sessions, to send them to the playlist view, I have to refresh those folders from context menu every time before sending.
So I would like to be able to do that with single action. Adding something like "send to playlist after refreshing" to double click actions would be very handy for me.

Hope this makes sense...
[a href="index.php?act=findpost&pid=260368"][{POST_SNAPBACK}][/a]


Yep, I got it... and I just implemented it...

I added a check box next to double click action that says
[ ] refresh query on double click

if it is checked it will refresh the query before it does the double click action... this way even if your action is Do Nothing, you can still use the double click to populate the query, and if your action is one of the playlist items, it will populate the query then send over the playlist....
Title: foo_playlist_tree
Post by: koach on 2004-12-17 19:04:58
Quote
Yep, I got it... and I just implemented it...

I added a check box next to double click action that says
[ ] refresh query on double click

if it is checked it will refresh the query before it does the double click action... this way even if your action is Do Nothing, you can still use the double click to populate the query, and if your action is one of the playlist items, it will populate the query then send over the playlist....
[a href="index.php?act=findpost&pid=260374"][{POST_SNAPBACK}][/a]

How quickly you did! Works fine here, thanks a lot!

Now it covers all the functions of playlist switcher, albumlist and playlistgen_ex for me, just amazing!
Title: foo_playlist_tree
Post by: marcomk on 2004-12-17 20:18:20
Hi,

  there very few features I still miss from the plugins I left behind since I use Playlist tree. One of these is Albumlist's "Database View" which allowed, by single-clicking on a specific folder, to browse your files in a dedicated playlist window without affecting the active (playing) playlist.  Great way to manage your files and playlists while listening to something else.
As far as I know, this feature is not very easy to implement in Playlist tree due to its design achitecture. But I'm not a developer and maybe I'm wrong... 

If Media Library view is not possible (or, why not, in addition to it), there is another small feature that may help to work on files and playlist without affecting the playback.  It was present in original Albumlist but not in its panel version. It is a simple checkbox in the Preferences pane: "Start playback when send to playlist". If you uncheck it, you can create new playlists without playing them automatically. Very handy if you just want to edit your files or playlists while still listening to your current playlist.

     
Quote
Quote

Sorting:    None (o) by Display (o) Custom (o) ----------------------------------

(i.e. three radio buttons plus a field box)

I just uploaded a new version that implements this...


Thank you very much
Title: foo_playlist_tree
Post by: marcomk on 2004-12-17 20:37:40
Quote
Quote

One thing that is not resolved for me is the crashing when dropping items from the playlisttree panel into the playlists panel. This is an important feature imho and it works perfectly with the albumlist panel.
[a href="index.php?act=findpost&pid=260363"][{POST_SNAPBACK}][/a]


If you can, see if you can figure out if it is a particular file or folder that is causing the problem.  I don't have issues with this and I'm thinking maybe its something in the filename or path that is the culprit...
[a href="index.php?act=findpost&pid=260366"][{POST_SNAPBACK}][/a]


I had quite a lot of crashes while trying to drop folders up to some days ago. One day I made some extensive testing during which I installed and uninstalled playlist tree, I nuked and rebuild database, etc. Well, since then I never had a crash again. I don't know how and why, though.... 
Title: foo_playlist_tree
Post by: metal_termite on 2004-12-17 23:02:23
Hi,

Perhaps it would be a good idea to create a help button in the playlist tree perferences window which displays the playlist tree speicific variables so other users know they exist...

%size%  100 megs  10 gigs
%size_abbr%  100 MB  10 GB
%size_abb%  100 M  10 G
%size_raw%  100  102400

and here is a modified playlistt_tree.bmp with better looking open and closed folders as well as two other modified icons for anyone who wants to use it: http://www.randomcrap.net/uploads/files/0/playlist_tree.bmp (http://www.randomcrap.net/uploads/files/0/playlist_tree.bmp)

p.s. what do the icons represent in that bitmap aside from the first two and the last which are obvious?
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-17 23:08:26
Quote
  there very few features I still miss from the plugins I left behind since I use Playlist tree. One of these is Albumlist's "Database View" which allowed, by single-clicking on a specific folder, to browse your files in a dedicated playlist window without affecting the active (playing) playlist.  Great way to manage your files and playlists while listening to something else.
As far as I know, this feature is not very easy to implement in Playlist tree due to its design achitecture. But I'm not a developer and maybe I'm wrong...  

If Media Library view is not possible (or, why not, in addition to it), there is another small feature that may help to work on files and playlist without affecting the playback.  It was present in original Albumlist but not in its panel version. It is a simple checkbox in the Preferences pane: "Start playback when send to playlist". If you uncheck it, you can create new playlists without playing them automatically. Very handy if you just want to edit your files or playlists while still listening to your current playlist.
[a href="index.php?act=findpost&pid=260389"][{POST_SNAPBACK}][/a]


Here's what I did...

I changed the options for double click to

--> Do Nothing
--> Send to active playlist
--> send to new playlist
--> Send to xxxxxxxx (where you can specifiy the name of the playlist)

and I added an option to start playing it on send... if you send to active playlist and select the start playing option it will clear the current list...

If you set the double click action to send to xxxxx and name the playlist something like "media library" you should be able to get similar results to what you want.... I may add an option for adding files to thte xxxx folder when you single click...

let me know what you think of it...
Title: foo_playlist_tree
Post by: The Link on 2004-12-17 23:15:43
It's hard to narrow down the problem because I get the crash in every possible combination: playlist tree in panel stack/not in panel stack; in sidebar/ not in sidebar; playlist tree as separate window etc. It  alway crashes when I drop items from the playlist tree into the playlist switcher.
The crash location is always ole32. I can post a crashlog if it helps.

Nuking database etc. didn't help either.

edit: The new option to create new playlists without starting to play them lets me avoid the problem though it doesn't solve it. 

edit 2: When closing foobar2000 I sometimes also get a winow popup: "metadb_handle leaks, 9 objects"
Title: foo_playlist_tree
Post by: musicmusic on 2004-12-18 00:00:17
cwbowron: You aren't setting the pUnkForRelease member of the STGMEDIUM structure  in calls to node::GetData.

Adding the line
Code: [Select]
pmedium->pUnkForRelease = 0;
fixes the crashes with dragging to the playlist switcher.
Title: foo_playlist_tree
Post by: marcomk on 2004-12-18 00:27:59
Quote
Quote
  there very few features I still miss from the plugins I left behind since I use Playlist tree. One of these is Albumlist's "Database View"...
[a href="index.php?act=findpost&pid=260389"][{POST_SNAPBACK}][/a]


Here's what I did...

I changed the options for double click to

--> Do Nothing
--> Send to active playlist
--> send to new playlist
--> Send to xxxxxxxx (where you can specifiy the name of the playlist)

and I added an option to start playing it on send... if you send to active playlist and select the start playing option it will clear the current list...

If you set the double click action to send to xxxxx and name the playlist something like "media library" you should be able to get similar results to what you want....

[a href="index.php?act=findpost&pid=260422"][{POST_SNAPBACK}][/a]


Great job! 

I like very much what you did.  I love the 'Start playing on send' checkbox, so I can finally listen to a song from the beginning to the end, without truncating it by misclicking around...   

Just a couple of notes, as I started testing it right now...

Send to xxxxxxxxxx works pretty much like I wanted it. I just think there is a little bug somewhere, as if you open 'Medialibrary', then you create an 'Air' playlist via context menu  and then try to double click on any folder, Playlist tree will replace the content of the 'Air' playlist instead of 'Medialibrary'...

Quote
I may add an option for adding files to the xxxx folder when you single click...

This would probably improve the usability, as you could browse by clicking and create new playlists by double clicking.  If you set doubleclick to send to xxxxxxxxxx, now you have to create new playlists via context menu. Still nice and easy, just a little bit less intuitive and direct.

Anyway, thanks for your great work!!! 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-18 16:27:25
Quote
This would probably improve the usability, as you could browse by clicking and create new playlists by double clicking.  If you set doubleclick to send to xxxxxxxxxx, now you have to create new playlists via context menu. Still nice and easy, just a little bit less intuitive and direct.

Anyway, thanks for your great work!!! 
[a href="index.php?act=findpost&pid=260438"][{POST_SNAPBACK}][/a]


I just uploaded a new version that implements what I call "Browse Selection" which will automatically send the selected node to a specific playlist that you can specify...

I redid the distribution files... now foo_playlist_tree.zip has the dll and the readme in it, foo_playlist_tree_extras.zip has the msvcrtd.dll file and bitmap that some people need, and foo_playlist_tree_src.zip has the source code... this way dont have to keep downloading files you dont need...

I also added the line that musicmusic suggested that should hopefully stop the drag and drop to playlist crashes... Thanks musicmusic...
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-18 16:50:24
Quote
I just uploaded a new version that implements what I call "Browse Selection" which will automatically send the selected node to a specific playlist that you can specify...

[a href="index.php?act=findpost&pid=260534"][{POST_SNAPBACK}][/a]


Excellent ... I will test it immediately (if you remember my request once refused a few days ago ....)


Tested .... works fine
Title: foo_playlist_tree
Post by: The Link on 2004-12-18 16:53:28
The crashing issue seems to be resolved!

One new problem with this version: Unselecting items (undo bold) with ctrl+left click doesn't work anymore (hope it's not just me again).

Regards,
The Link
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-18 17:03:01
Four questions/ comments :

1/ Is it possible to have the tracks unselected when using "Browse playlist"


2/ Would it be possible to have several instances of the panel with different settings (at the moment all instances seem to share the same settings)?

3/ I've noticed that the search function ignores special caracters like 'é' 'è' ....

4/ could it be possible to have the search area instead of the whole panel in red when nothing matches (See Firefox for instance) ... and if possible a lighter color (or the ability to choose one)
Title: foo_playlist_tree
Post by: marcomk on 2004-12-18 17:33:04
Quote
I just uploaded a new version that implements what I call "Browse Selection" which will automatically send the selected node to a specific playlist that you can specify...
[a href="index.php?act=findpost&pid=260534"][{POST_SNAPBACK}][/a]


Looks quick and smooth, no problem whatsoever! 

Just a question: is there any specific reason why when you browse or create a playlist all files come selected in the main window? I mean, this may become a useful feature when foo track info panel will support multiple files info. However, I think that deselected tracks should be the standard behaviour...

Again and again, great work!!! 

P.s. I'm also happy that musicmusic is getting interested in this plugin... Help from the Columns UI guru is much appreciated!!! 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-18 17:49:48
Quote
One new problem with this version: Unselecting items (undo bold) with ctrl+left click doesn't work anymore (hope it's not just me again).
[a href="index.php?act=findpost&pid=260539"][{POST_SNAPBACK}][/a]


Fixed.

I'm happily suprised that someone's actually using that feature.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-18 17:59:12
Quote
Just a question: is there any specific reason why when you browse or create a playlist all files come selected in the main window? I mean, this may become a useful feature when foo track info panel will support multiple files info. However, I think that deselected tracks should be the standard behaviour...
[a href="index.php?act=findpost&pid=260550"][{POST_SNAPBACK}][/a]


Now they should no longer be automatically selected.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-18 19:45:14
Hi cwbowron,

I'm getting an error wile loading your latest version.

Code: [Select]
ERROR (CORE) : Failed to load DLL: foo_playlist_tree.dll, reason: Unable to load DLL.


Also, in the last version, I had again the problem of using characters like ● and □ replaced by ?. In the edit window the characters are not reversed to ?.

BTW, I guess that there's no way of keeping down the fb2k loading time with your plugin (unless disabling refreshing on startup). I have around 15 queries, it takes around 1 min to load, I guess the only way would have to reduce my nodes/trees 

And there goes another overkill for you  :

I know that this isn't supposed to be included in your plugin, but as your plugin covers all album list features, it's what I would call a customizable media library ([dynamic + static] playlists + extended playlist generator + search + other stuff I'm surely missing) for fb2k, and you have the possibility to refresh on start up the component queries, maybe adding the possibility of auto-scan the database (on startup and on manual request) could be extremly useful (and in my opinion will close the media library concept) and a lot of fb2k users (including me) will see their dreams come true.

I don't know if you're interested in implementing that, or maybe isn't a good idea of implementing that in your plugin, I don't know... But as an user having the option inside your plugin seems natural.

Anyway, if you're interested some work as been already done my mig who post the sources of the unfinished component:
- Source code: http://www.hydrogenaudio.org/forums/index....omatic+database (http://www.hydrogenaudio.org/forums/index.php?showtopic=23627&hl=automatic+database)
- Initial post: http://www.hydrogenaudio.org/forums/index....ndpost&p=209342 (http://www.hydrogenaudio.org/forums/index.php?showtopic=21326&view=findpost&p=209342)
- Related discussion: http://www.hydrogenaudio.org/forums/index....ndpost&p=211125 (http://www.hydrogenaudio.org/forums/index.php?showtopic=12532&view=findpost&p=211125)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-18 20:35:51
Quote
Hi cwbowron,

I'm getting an error wile loading your latest version.

Code: [Select]
ERROR (CORE) : Failed to load DLL: foo_playlist_tree.dll, reason: Unable to load DLL.


And there goes another overkill for you   :

I know that this isn't supposed to be included in your plugin, but as your plugin covers all album list features, it's what I would call a customizable media library ([dynamic + static] playlists + extended playlist generator + search + other stuff I'm surely missing) for fb2k, and you have the possibility to refresh on start up the component queries, maybe adding the possibility of auto-scan the database (on startup and on manual request) could be extremly useful (and in my opinion will close the media library concept) and a lot of fb2k users (including me) will see their dreams come true.

I don't know if you're interested in implementing that, or maybe isn't a good idea of implementing that in your plugin, I don't know... But as an user having the option inside your plugin seems natural.

Anyway, if you're interested some work as been already done my mig who post the sources of the unfinished component:
- Source code: http://www.hydrogenaudio.org/forums/index....omatic+database (http://www.hydrogenaudio.org/forums/index.php?showtopic=23627&hl=automatic+database)
- Initial post: http://www.hydrogenaudio.org/forums/index....ndpost&p=209342 (http://www.hydrogenaudio.org/forums/index.php?showtopic=21326&view=findpost&p=209342)
- Related discussion: http://www.hydrogenaudio.org/forums/index....ndpost&p=211125 (http://www.hydrogenaudio.org/forums/index.php?showtopic=12532&view=findpost&p=211125)
[a href="index.php?act=findpost&pid=260567"][{POST_SNAPBACK}][/a]


I think the load errror could be related to the msvcrtd.dll file?  do you have that still?  its availabe in foo_playlist_tree_extras.zip if you don't have it...

I'm not quite sure what this databse update thing would do... could you go into some more detail? I looked at the links a bit but I'm still not positive...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-18 21:00:09
Quote
I think the load errror could be related to the msvcrtd.dll file?

No, I have it in the foobar/components folder. Quite strange, since previsou version worked fine 

Quote
I'm not quite sure what this databse update thing would do... could you go into some more detail? I looked at the links a bit but I'm still not positive...
[a href="index.php?act=findpost&pid=260579"][{POST_SNAPBACK}][/a]

Auto-update database on startup: It should do the same thing as
1) Hit 'scan' button under preferences>database (in fact it rescans database for new/changed files)
2) then 'remove dead entries from database'

Then if you apply your 'refresh on startup' playlist tree you'll have an up-to-date database everytime you start fb2k  (cool also for noobies).
Title: foo_playlist_tree
Post by: marcomk on 2004-12-19 03:06:35
Quote
Now they should no longer be automatically selected.
[a href="index.php?act=findpost&pid=260555"][{POST_SNAPBACK}][/a]


Great. I think it works fine now. 

As jkwarras pointed out, Playlist tree is really becoming a meta-plugin, which comprise all the best feature of various other plugins in a nicer, simpler and more usable GUI.

I was thinking that something more can be done for the search function. There are many different ways to implement a search feature. One is the one you already made: you search the tree untill you find the first occurence (a bit like the one in Ms Word or Notepad, etc.). Another is the one you find in Windows explorer: you enter the keyword, then a list of files is generated and stored in a Search folder.  Maybe this is something that might be interesting for Playlist tree...

So, I'm thinking of a different search style to add to Playlist tree which one could probably select from the Preferences pane in alternative to your tree search. It should work like this. You enter a keyword. If this is contained in any of the tags or filename (might be configurable eventually), then a Search folder is created at the bottom of the tree. This folder will contain all the results. Note: if 'Browse selection' is activated, you'll have all the files you were looking for in the main window under the Playlist tree tab. 
(A variant: first time you search, a main Search folder and a <keyword> subfolder with the results will be created. Every new search will create another <keyword> subfolder).

I'm not thinking about anything too complicated. If one wants to search something very specific with lots of conditions, he/she can create a dynamic folder with a very complex query. On the contrary, this search should be something as simple as google. You just type in a word or a part of it (might be the artist, the title, a part of the filename) and a list of results will come up. Nothing to think too much about for the user.

Maybe foosion's dbsearch might be helpful for you, or more probably there are already all the tools you need for such a feature. When the search is started, maybe you just have to create a dynamic folder where the query is something like this: $strstr(<keyword>,%artist%)$strstr(<keyword>,%title%)$strstr(<keyword>,%filename%)...
This string may be customisable, as well as the sorting and display, just like other dynamic folders. Only, default settings should probably be set in the main Preferences...

Well, I should stop babblling because I still don't know if you are slightly interested in such a thing. Just let me say my last (big?) request for the day 
It would be great if you could implement the search window as a separate toolbar, so that it could be always accessible and arranged wherever the users feel like. Just a white rectangle and a Search (Go) button for both kind of searches (this search or, if selected somewhere, your original tree search).

Sorry if I'm asking too much, I just enjoy using and testing this plugin. 

Have a nice time with your work!!! 
Title: foo_playlist_tree
Post by: Gemini on 2004-12-19 03:44:39
Thanks for the new additions! This plugin has improved a lot in such a short time.
Title: foo_playlist_tree
Post by: Genesis on 2004-12-19 16:52:57
sorting folder based on the last modified information in explorer would be a good feature.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-19 23:53:37
Quote
I was thinking that something more can be done for the search function. There are many different ways to implement a search feature. One is the one you already made: you search the tree untill you find the first occurence (a bit like the one in Ms Word or Notepad, etc.). Another is the one you find in Windows explorer: you enter the keyword, then a list of files is generated and stored in a Search folder.  Maybe this is something that might be interesting for Playlist tree...

Have a nice time with your work!!! 
[a href="index.php?act=findpost&pid=260617"][{POST_SNAPBACK}][/a]


I changed the way the search works, specifically, I added an "All" button... from the readme.txt:

   Search
      When you open the search box, it will incrementally search for your query as you type it... If you hit enter it will find the next matching item... Escape will close the search box and return to browsing the tree... If you click the "All" button, every matching item will be added to a node in the tree named "search::<keywords>"

I also fixed the special codes in the label issue mentioned above...
Title: foo_playlist_tree
Post by: 81x on 2004-12-20 06:07:09
Hi cwbowron

Just a quick thanx for the great plugin! 

Also just to let you know i got the same error message as 'The Link'

Quote
edit 2: When closing foobar2000 I sometimes also get a winow popup: "metadb_handle leaks, 9 objects"
[a href="index.php?act=findpost&pid=260423"][{POST_SNAPBACK}][/a]

(Using Build - Dec 19 2004 11:50:28)

Anyways thanx again!
Title: foo_playlist_tree
Post by: koach on 2004-12-20 19:20:40
Again, thanks for this great component and happy to see it still getting better and better. 

Here are some bug reports and a request.

1)If "start playing" option disabled, double click action "-> active playlist" doesn't replace tracks but just adds tracks to the end of the playlist.

2)Search function doesn't accept unicode.

3)In the config, External bitmap and Auto Load/Save don't work correctly if filepath has unicode chars.

4)[request] Make it configurable to change font in Query config so that it could show unicode strings. (unicode in query works fine already, but the font used there doesn't contain my system code chars.)
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-20 19:32:17
Quote
1)If "start playing" option disabled, double click action "-> active playlist" doesn't replace tracks but just adds tracks to the end of the playlist.

I guess that 'start playing' means 'Send files to playlist' and if isn't checked it's adding the files, that's why tracks in active playlist aren't replaced. At least that's how it was named before, but cwbowron changed that some versions ago. I find it quite logical 
Title: foo_playlist_tree
Post by: koach on 2004-12-20 20:10:11
Quote
Quote
1)If "start playing" option disabled, double click action "-> active playlist" doesn't replace tracks but just adds tracks to the end of the playlist.

I guess that 'start playing' means 'Send files to playlist' and if isn't checked it's adding the files, that's why tracks in active playlist aren't replaced. At least that's how it was named before, but cwbowron changed that some versions ago. I find it quite logical 
[a href="index.php?act=findpost&pid=260888"][{POST_SNAPBACK}][/a]

Ok, I got it. Since "Browsing playlist" replaces the playlist without "start playing" option, I misunderstood its function. But I still would like to have the option that replaces active playlist without starting playing. ("Browsing playlist" is almost OK for this, but I use different title format for single tracks, so it'd be handy if it could send specific dynamic query to specific format playlist.)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-20 20:28:11
Quote
Quote
Quote
1)If "start playing" option disabled, double click action "-> active playlist" doesn't replace tracks but just adds tracks to the end of the playlist.

I guess that 'start playing' means 'Send files to playlist' and if isn't checked it's adding the files, that's why tracks in active playlist aren't replaced. At least that's how it was named before, but cwbowron changed that some versions ago. I find it quite logical 
[a href="index.php?act=findpost&pid=260888"][{POST_SNAPBACK}][/a]

Ok, I got it. Since "Browsing playlist" replaces the playlist without "start playing" option, I misunderstood its function. But I still would like to have the option that replaces active playlist without starting playing. ("Browsing playlist" is almost OK for this, but I use different title format for single tracks, so it'd be handy if it could send specific dynamic query to specific format playlist.)
[a href="index.php?act=findpost&pid=260893"][{POST_SNAPBACK}][/a]


I just uploaded a new version that has 3 checkboxes for double click

1) Replace
2) Start Playing
3) Refresh Query

1 will replace the contents of the specified playlist, 2 will start playing the new contents and 3 will refresh queries before the contents are sent over... 1 and 2 operate independantly ie you can replace and start playing, replace without playing add without replacing and start playing first added item, or add without starting the new item...

start playing with no replace might not work correctly if the first item added is already in the playlist...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-20 21:51:59
Quote
Also just to let you know i got the same error message as 'The Link'

Quote
edit 2: When closing foobar2000 I sometimes also get a winow popup: "metadb_handle leaks, 9 objects"
[a href="index.php?act=findpost&pid=260423"][{POST_SNAPBACK}][/a]

(Using Build - Dec 19 2004 11:50:28)

Anyways thanx again!
[a href="index.php?act=findpost&pid=260786"][{POST_SNAPBACK}][/a]


I think i fixed the metadb_handle leaks... It looks like when you removed a file from a list it would not release the handle... that has been fixed and I think all the other handles are released...
Title: foo_playlist_tree
Post by: marcomk on 2004-12-21 02:42:30
Quote
I changed the way the search works, specifically, I added an "All" button... from the readme.txt:

   Search
  When you open the search box, it will incrementally search for your query as you type it... If you hit enter it will find the next matching item... Escape will close the search box and return to browsing the tree... If you click the "All" button, every matching item will be added to a node in the tree named "search::<keywords>"
[a href="index.php?act=findpost&pid=260741"][{POST_SNAPBACK}][/a]


Hi cwbowron,

  thank you very much for listening to my request once again. I played around wih the new search feature for a while, although I didn't have much time for foobar in the last couple of days... Anyway, here's my first impressions:

1) If the keyword you want to search is not very common, the search is ok. However, if you write a word like 'Beck' or 'Beatles', the search is pretty slow, since the function highlights every item it in the tree before creating the folder. Could you avoid all the tree browsing?
2) If you search the tree instead of the database, the folder will contain a number of repeated entries according to the number of database views (or other queries) you have in the tree. I think that your tree search is nice and cool, but if you want to add a 'search for all' mode, this should be based on database and not on the tree.
3) The plugin freezed a couple of times when I searched for very common keywords. I still don't know if this depends from the quality or the quantity of the results though.
4) This may be a personal opinion, but I'm not so in love with the 'search as you type' feature (I don't like very much to see the tree expanding frenetically just because I type a few insignificant letters  ). Is it possible to have an option to disable it?
5) I know that this is not a priority but I quite like the idea of the searchbox as a very simple but separate toolbar (box and a button). It could be easily moveble, always available (no need to hide), you wouldn't need a cancel botton, it would appear as better integrated in the interface, etc. Maybe in a future version.... 

Well, I think it's enough for today...

Thank you for you great work!!!! 
Title: foo_playlist_tree
Post by: 81x on 2004-12-21 04:14:18
Hi cwbowron

Using the new version,
Quote
I just uploaded a new version that has 3 checkboxes for double click

1) Replace
2) Start Playing
3) Refresh Query
[a href="index.php?act=findpost&pid=260895"][{POST_SNAPBACK}][/a]

When i've got all three checkboxes selected and double click, the first track on the
playlist starts playin but instead of just that track being selected the whole playlist
is selected.  Didn't do this before and i can't see any practical reason for this so i'm
assuming its a bug.

Quote
I think i fixed the metadb_handle leaks... It looks like when you removed a file from a list it would not release the handle... that has been fixed and I think all the other handles are released...
[a href="index.php?act=findpost&pid=260895"][{POST_SNAPBACK}][/a]


Been playin around with the plugin for a few hours and havn't seen it again, so all appears well.

Thanx again. 
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 04:38:24
Quote
  thank you very much for listening to my request once again. I played around wih the new search feature for a while, although I didn't have much time for foobar in the last couple of days... Anyway, here's my first impressions:

1) If the keyword you want to search is not very common, the search is ok. However, if you write a word like 'Beck' or 'Beatles', the search is pretty slow, since the function highlights every item it in the tree before creating the folder. Could you avoid all the tree browsing?
2) If you search the tree instead of the database, the folder will contain a number of repeated entries according to the number of database views (or other queries) you have in the tree. I think that your tree search is nice and cool, but if you want to add a 'search for all' mode, this should be based on database and not on the tree.
3) The plugin freezed a couple of times when I searched for very common keywords. I still don't know if this depends from the quality or the quantity of the results though.
4) This may be a personal opinion, but I'm not so in love with the 'search as you type' feature (I don't like very much to see the tree expanding frenetically just because I type a few insignificant letters   ). Is it possible to have an option to disable it?
5) I know that this is not a priority but I quite like the idea of the searchbox as a very simple but separate toolbar (box and a button). It could be easily moveble, always available (no need to hide), you wouldn't need a cancel botton, it would appear as better integrated in the interface, etc. Maybe in a future version....  

[a href="index.php?act=findpost&pid=260936"][{POST_SNAPBACK}][/a]


I fixed a few things...I'll cover your remarks one by one...

1) I fixed this... Now when you click all it doesnt select each item in turn... it just finds them all then adds the node...

2) Perhaps I will try to make it so that duplicate entries are ignored when getting search results... My thinking for using the tree rather than going to the database is that if you want to do a search of the database you can do a dynamic query rather than just doing a search, but if you want all the entries in the tree its harder to do.. (you can do it using the $node() function but its more of a hassle)

3) Hopefully the fix for 1 and 4 will help with this...

4) I changed this so that the incremental search doesnt start until you've typed at least 4 characters...

5) I'm looking into it...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-21 09:54:18
After playing with the new %systemdate% variable, it works great, thanks
again  I'll share my query in order to dynamicly track fresh files,
where fresh is defined as added to database max. a month from today. (you
need %added% tag)

Code: [Select]
query: ($sub(%systemdate%,%added%) LESS 101) AND
($sub(%systemdate%,%added%) GREATER -1)
Sort criteria: %added% [x] Reverse [x] Custom


BTW, I think that this plugin now rocks and it's in a very stable stage (I
didn't get any crash in any of latest version apart some troubles while
loading the plugin but that was solved by deleting completely the plugin
and installing it again). I think that more than a playlist tree, it's a
very customizable Media Library. May I suggest you cwbowron to  :

- Rename the component to Media Library (or something similar). It'll get
more users (which is good since it's a very useful plugin) and it's more
simple to identify what it really does. Right now the name it's not
directly pointing what the plugin is really capable of. For me, at least it's a Media Library (and Smart Playlist, Static Playlist creator), I don't know what others think.

- Upload it (also) to the third party plugin site, but apparently it didn't work for you.

- Open a new topic with a more descriptic title or just edit the first topic on this one and add a little description of what your plugin does (in a very few words). Also if possible add version numbers to your releases and changelog (so users know exactly what changes).

I hope that this suggestions makes sens to you and helps the future of your amazing plugin 

Edit: Added Sort criteria to shared code + suggestions.
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-21 13:06:30
...And there goes another request, I hope this one will be of your interest

One of the features that I will like to be able to mimic in fb2k is the 'feels like...' from moodlogic software. In fact, what it does is to look at the file being played and create a mixed playlist that seems similar. For this, it looks afaik at some values tagged into the files i.e. artist, mood, tempo, album, genre, subgenre, etc...

Fortunely, if we were able to get tag information fom the currently 'now playing' track via this component, it'll be quite easy to get the same feature.

i.e. let's say we want to create a playlist mix of 50 random tracks that will 'feels like now playing' track. If we can get same %genre%, same %styles%, same %mood% (or %tones%), same %tempo%, etc... (we can go as far as we want, or as general as we want), then we create a $node that will look like this:

+ Feels like now playing
---+Same genre
---+Same styles
---+Same mood
---+Same tempo
---+Same rating

Then we could create another node that will call this one and get random 50 tracks and you're done! Something like

Code: [Select]
query=$node(Feels like now playing)
Display=whateveryouwant
Max=50 tracks
Sort Criteria=$rand() [x] Custom


But, only cwbowron knows if this is too hard to implement, or if other users will find it useful.

BTW, I like the new search feature (the search all that brings all results into a tree ). Thanks.

My other overkill request that I know will be the last for this year (), it's the same I posted some time ago in the columns UI topic without luck, that's what I really will like to see to a easy and customizable media library. The link to the post and mockup image is here:
http://www.hydrogenaudio.org/forums/index....ndpost&p=255551 (http://www.hydrogenaudio.org/forums/index.php?showtopic=28647&view=findpost&p=255551)
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 14:24:50
Quote
BTW, I think that this plugin now rocks and it's in a very stable stage (I
didn't get any crash in any of latest version apart some troubles while
loading the plugin but that was solved by deleting completely the plugin
and installing it again). I think that more than a playlist tree, it's a
very customizable Media Library. May I suggest you cwbowron to   :

- Rename the component to Media Library (or something similar). It'll get
more users (which is good since it's a very useful plugin) and it's more
simple to identify what it really does. Right now the name it's not
directly pointing what the plugin is really capable of. For me, at least it's a Media Library (and Smart Playlist, Static Playlist creator), I don't know what others think.

- Upload it (also) to the third party plugin site, but apparently it didn't work for you.

- Open a new topic with a more descriptic title or just edit the first topic on this one and add a little description of what your plugin does (in a very few words). Also if possible add version numbers to your releases and changelog (so users know exactly what changes).

[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=260985")


Thanks...

I dont think that I am going to rename the plugin, but I have edited the first post to make it more descriptitive of what the plugin has become.

The plugin is available the foobar2000 3rd party plugins page at [a href="http://pelit.koillismaa.fi/plugins/general.php#96]http://pelit.koillismaa.fi/plugins/general.php#96[/url]
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-21 14:42:49
Quote
The plugin is available the foobar2000 3rd party plugins page at http://pelit.koillismaa.fi/plugins/general.php#96 (http://pelit.koillismaa.fi/plugins/general.php#96)
[a href="index.php?act=findpost&pid=261013"][{POST_SNAPBACK}][/a]

As it's read on the third party site, 'Tree Based Media Library' is much more descriptive and directly point to the capabilitites of your plugin  Great job.
Title: foo_playlist_tree
Post by: koach on 2004-12-21 14:47:13
Quote
I just uploaded a new version that has 3 checkboxes for double click

1) Replace
2) Start Playing
3) Refresh Query

1 will replace the contents of the specified playlist, 2 will start playing the new contents and 3 will refresh queries before the contents are sent over... 1 and 2 operate independantly ie you can replace and start playing, replace without playing add without replacing and start playing first added item, or add without starting the new item...

start playing with no replace might not work correctly if the first item added is already in the playlist...
[a href="index.php?act=findpost&pid=260895"][{POST_SNAPBACK}][/a]

Thanks for the update!

And new '%systemdate%' feature is also very nice! It's pretty useful for dynamic playlist as jkwarras said above. You really do a good job, thanks again.
Title: foo_playlist_tree
Post by: bangers_and_mash on 2004-12-21 14:49:15
Has anyone else had this experience...

I've set up three dynamic playlists:
1.  Sorted by rating
2.  Sorted by artists
3.  Sorted by album

All of them worked as desired.  When I exited F2K I was prompted to save my tree; which I did.  This morning I fired up F2K and the only dynamic playlist that still worked was the "sorted by rating"  I right clicked on the other dynamic playlists and selected "edit" only to discover that all of the strigns had been replaced with sequences of garbage.\\

Any thoughts on this?
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 15:09:53
Quote
...And there goes another request, I hope this one will be of your interest

One of the features that I will like to be able to mimic in fb2k is the 'feels like...' from moodlogic software. In fact, what it does is to look at the file being played and create a mixed playlist that seems similar. For this, it looks afaik at some values tagged into the files i.e. artist, mood, tempo, album, genre, subgenre, etc...

Fortunely, if we were able to get tag information fom the currently 'now playing' track via this component, it'll be quite easy to get the same feature.

[a href="index.php?act=findpost&pid=261004"][{POST_SNAPBACK}][/a]


new feature from today's readme.txt

$playing()

Allows you to get tags from the currently playing item in your dynamic playlists.  For use only in foo_playlistgen format queries. 

Usage:

$playing(%artist%) will return the artist tag of the currently playing item.


In a query you could do

artist IS $playing(%artist%)
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-21 15:33:31
Quote
new feature from today's readme.txt

$playing()

Allows you to get tags from the currently playing item in your dynamic playlists.  For use only in foo_playlistgen format queries.  [a href="index.php?act=findpost&pid=261027"][{POST_SNAPBACK}][/a]

Madre mia!  You're the man!  Can't wait to get home to play with it. Thanks.
Title: foo_playlist_tree
Post by: phwip on 2004-12-21 15:50:52
$drop queries are not working on my PC anymore with the latest version.  I seem to get every track in my database showing under each $drop query node.  I have Format set to %title%, foo_playlist_gen unticked and the Sort Criteria radio button set to None.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 16:31:40
Quote
$drop queries are not working on my PC anymore with the latest version.  I seem to get every track in my database showing under each $drop query node.  I have Format set to %title%, foo_playlist_gen unticked and the Sort Criteria radio button set to None.
[a href="index.php?act=findpost&pid=261047"][{POST_SNAPBACK}][/a]


post a drop query string if you can... maybe something is wrong in the formatting... $drop seems to be working on my version...
Title: foo_playlist_tree
Post by: phwip on 2004-12-21 16:54:55
Quote
post a drop query string if you can... maybe something is wrong in the formatting... $drop seems to be working on my version...
[a href="index.php?act=findpost&pid=261054"][{POST_SNAPBACK}][/a]

They are all just the playlist file name surrounded by $drop()

For example: $drop(E:\My Music\Beck\Midnite Vultures\Beck - Midnite Vultures.m3u)

(http://img76.exs.cx/img76/969/dropquery5rf.png)
Title: foo_playlist_tree
Post by: Chaser on 2004-12-21 18:40:08
I'am also getting crippled "Querystrings" of a query. Do it like this:

Start from scratch. (There's only the folder "All"). I like to see my Albums like in  foo_uie_albumlist. So I added a Query. If you just press ok it shows my Albums (already changed my Explorer-directory in the settings). They are however not sorted, so I set sorting to default and let the querystring empty! Now everything looks fine. I see my Albums alphabetically sorted by artist (Format is: '%artist%|%album%|%title%' without the ''). So I thought: great  I ended foobar and saved the collection. When I restart the query is suddenly empty again and the icon shows also a questionmark - so I took a look into the query this is, what the querystring now says:

'%artist%|%album%|%title%%default%T' (without the '')

This is the content of the collection:

0=
-
1=Query
Q%artist%|%album%|%title%%default%T

Obviously an empty querystring isn't accepted. I'm a newbie with this plugin (though I read the thread from the beginning). Can anyone help me. What querystring should I set? It works ok, when I for example write just a single letter (i.e. 'l') into the query string. But what is the sense of it? The querystring obviously gets the content written in the collection except the first letter?! This should be a bug I think.

So go on with your really good work - when I get this working, it is the replacement of albumlist

Is it intended, to delete the folder "all" and set a query at the first position?



Have to play a little longer with this thing.
What about adding foo_playlist_gen formatstrings into the readmefile?

Good evening
Chaser
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 19:22:22
Quote
I'am also getting crippled "Querystrings" of a query. Do it like this:

Start from scratch. (There's only the folder "All"). I like to see my Albums like in  foo_uie_albumlist. So I added a Query. If you just press ok it shows my Albums (already changed my Explorer-directory in the settings). They are however not sorted, so I set sorting to default and let the querystring empty! Now everything looks fine. I see my Albums alphabetically sorted by artist (Format is: '%artist%|%album%|%title%' without the ''). So I thought: great  I ended foobar and saved the collection. When I restart the query is suddenly empty again and the icon shows also a questionmark - so I took a look into the query this is, what the querystring now says:

[a href="index.php?act=findpost&pid=261071"][{POST_SNAPBACK}][/a]


Ok, I see what the problem is here...

If you want a node that has all your database files in it, don't leave the query blank, but rather put a "1" in it and unselect the playlist_gen format box, then it should work... the query strings are getting read incorrectly when the query string is empty... i will fix that but for now, just put a 1 for the query string...
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-21 19:31:58
Quote
Have to play a little longer with this thing.
What about adding foo_playlist_gen formatstrings into the readmefile?
[a href="index.php?act=findpost&pid=261071"][{POST_SNAPBACK}][/a]

Yeah, a basic documentantion would be cool for begginers, the problem is that as Playlist tree covers album list panel + EPG + formatting strings it should be also included in order to someone that doesn't know anything to fb2k to know what to do. The readme is very good but you really have to know formatting stuff about fb2k to understand something

Maybe some users around here could help you cwboworon if you wish, to write a very basic tutorial. I could have some time next year in january when I come back from holidays. Anyway, I think that collecting (with authorization) what others have writte about EPG and album list around here and make it readable and applying it to this component should cover most of the needed stuff. I'm not very good at that stuff really (writting tutorials/manual/documentation).

Another idea could be some sort of 'preset' or 'default' collection (*.col) for that plugin, with basic 'by artist/album' and some other basic configuration to people to download and apply if they wish.

BTW, is there anyway to export your configuration, I mean, if I export my *.col and import it in another computer, will this work or it's this linked somehow to the databsae and it'll not work at all?
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 19:33:02
Quote
Quote
I'am also getting crippled "Querystrings" of a query. Do it like this:

Start from scratch. (There's only the folder "All"). I like to see my Albums like in  foo_uie_albumlist. So I added a Query. If you just press ok it shows my Albums (already changed my Explorer-directory in the settings). They are however not sorted, so I set sorting to default and let the querystring empty! Now everything looks fine. I see my Albums alphabetically sorted by artist (Format is: '%artist%|%album%|%title%' without the ''). So I thought: great  I ended foobar and saved the collection. When I restart the query is suddenly empty again and the icon shows also a questionmark - so I took a look into the query this is, what the querystring now says:

[a href="index.php?act=findpost&pid=261071"][{POST_SNAPBACK}][/a]


Ok, I see what the problem is here...

If you want a node that has all your database files in it, don't leave the query blank, but rather put a "1" in it and unselect the playlist_gen format box, then it should work... the query strings are getting read incorrectly when the query string is empty... i will fix that but for now, just put a 1 for the query string...
[a href="index.php?act=findpost&pid=261081"][{POST_SNAPBACK}][/a]


It's been fixed.. blank queries should now work, although I advise against it stilll...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 19:45:44
Quote
Quote
Have to play a little longer with this thing.
What about adding foo_playlist_gen formatstrings into the readmefile?
[a href="index.php?act=findpost&pid=261071"][{POST_SNAPBACK}][/a]

Yeah, a basic documentantion would be cool for begginers, the problem is that as Playlist tree covers album list panel + EPG + formatting strings it should be also included in order to someone that doesn't know anything to fb2k to know what to do. The readme is very good but you really have to know formatting stuff about fb2k to understand something

Maybe some users around here could help you cwboworon if you wish, to write a very basic tutorial. I could have some time next year in january when I come back from holidays. Anyway, I think that collecting (with authorization) what others have writte about EPG and album list around here and make it readable and applying it to this component should cover most of the needed stuff. I'm not very good at that stuff really (writting tutorials/manual/documentation).

Another idea could be some sort of 'preset' or 'default' collection (*.col) for that plugin, with basic 'by artist/album' and some other basic configuration to people to download and apply if they wish.

BTW, is there anyway to export your configuration, I mean, if I export my *.col and import it in another computer, will this work or it's this linked somehow to the databsae and it'll not work at all?
[a href="index.php?act=findpost&pid=261082"][{POST_SNAPBACK}][/a]


If some users wanted to put together a basic tutorial and a sample collection file to include in the distribution that would be great... I'm not really all that familiar with all the possibilities of the formatting strings and whatnot... I've only been using foobar2k for about 2 months...

The collection files should be for the most part exportable... its basically just a text file, with folder names and file paths for static playlists and queries are stored using a '\b' character as a delimiter... so the static playlists will have issues be passed around because two people won't have the files in the same location, but all the queries should be transferable...

If anyone was interested in having a repository for some example collections files I could create one on my webpage... if anyone wants to send me some samples I could put them there...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 21:01:04
Quote
5) I know that this is not a priority but I quite like the idea of the searchbox as a very simple but separate toolbar (box and a button). It could be easily moveble, always available (no need to hide), you wouldn't need a cancel botton, it would appear as better integrated in the interface, etc. Maybe in a future version....  
[a href="index.php?act=findpost&pid=260936"][{POST_SNAPBACK}][/a]


I just uploaded a new version that has the playlist tree search available as its own toolbar... its the same dialog box as the popup under playlist tree but it might get modified a bit in the future...
Title: foo_playlist_tree
Post by: Chaser on 2004-12-21 21:07:39
Thank you for your answer. Thought already so. Am programming myself a bit and so it wasn't that hard, to figure out, that the blank query was causing the problems. Now I have to look, wether I can achieve s.th. like sort by directory structure - if not, it's no problem neither.

Good night.. already 10pm..
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 21:20:09
Quote
Thank you for your answer. Thought already so. Am programming myself a bit and so it wasn't that hard, to figure out, that the blank query was causing the problems. Now I have to look, wether I can achieve s.th. like sort by directory structure - if not, it's no problem neither.

Good night.. already 10pm..
[a href="index.php?act=findpost&pid=261095"][{POST_SNAPBACK}][/a]


you should be able to use something like %_path% in the format or the sort criteria.
Title: foo_playlist_tree
Post by: metal_termite on 2004-12-21 22:31:00
Someone explain to me the exact differences between this and the album list plugin. I'm not a "power user" so maybe I'm missing something. Can't you make the same queries in the album list and have it display the same results?

Also, if I drag a directory of files NOT in the database into this plugin, do they automatically get added to the database?

Thanks
Title: foo_playlist_tree
Post by: 81x on 2004-12-21 22:49:30
Hi cwbowron,

Just a few ideas and thoughts on the plugin:

1)
Quote
Quote
I just uploaded a new version that has 3 checkboxes for double click

1) Replace
2) Start Playing
3) Refresh Query
[a href="index.php?act=findpost&pid=260895"][{POST_SNAPBACK}][/a]

When i've got all three checkboxes selected and double click, the first track on the
playlist starts playin but instead of just that track being selected the whole playlist
is selected.  Didn't do this before and i can't see any practical reason for this so i'm
assuming its a bug.
[a href="index.php?act=findpost&pid=260944"][{POST_SNAPBACK}][/a]


Any luck with this?, like i said i assumed it was a bug but if it is intended behavior could you maybe make it optional.

2) Better support for double clicking, and also middle clicking.

Dropdown menus with the following options for each button:

do nothing
browse playlist
send to playlist
send to new playlist
add to playlist
expand/collapse (used to this from the album list, would be a good addition)

Basically the way the albumlist and albumlist panel currently do it. Would be the best way imho.

3) I might go on abit here, so bear with me! 
 
I was noticing startup times creeping up as i added more and more querys so i enabled the manual query refresh option to remedy this.

First time i started up it worked as expected (statup times back to normal), thing was though now obviously because the querys hadn't been refreshed on statup there was no +/- buttons just the querys names.

Thing is that suits me just fine, i mean once i've setup my playlists whether they be dynamic or static i've no real need to expand them as i know whats in them, and so not having those +/- and all the expanding and collapsing would give me a cleaner more minimal look. I guess what im aiming at is a playlist switcher but with the addition of dynamic playlists, all neatly wrapped up in a tree view!.

So i was thinking would it be possible to add some kind of option to do this. Im thinking maybe a 'Hide Contents' option on the right click context menu, which you could tick and untick to show or hide the +/- of whatever querys or folders you chose.

I'm not sure if you'll see what i'm sayin or if you or anyone else but me would find that a useful feature but though i would suggest it anyway.

And again thanks for the plugin and the work you put into it.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 23:14:08
Quote
Hi cwbowron,

Just a few ideas and thoughts on the plugin:

1)
Quote
Quote
I just uploaded a new version that has 3 checkboxes for double click

1) Replace
2) Start Playing
3) Refresh Query
[a href="index.php?act=findpost&pid=260895"][{POST_SNAPBACK}][/a]

When i've got all three checkboxes selected and double click, the first track on the
playlist starts playin but instead of just that track being selected the whole playlist
is selected.  Didn't do this before and i can't see any practical reason for this so i'm
assuming its a bug.
[a href="index.php?act=findpost&pid=260944"][{POST_SNAPBACK}][/a]


Any luck with this?, like i said i assumed it was a bug but if it is intended behavior could you maybe make it optional.

3) I might go on abit here, so bear with me! 
 
I was noticing startup times creeping up as i added more and more querys so i enabled the manual query refresh option to remedy this.

First time i started up it worked as expected (statup times back to normal), thing was though now obviously because the querys hadn't been refreshed on statup there was no +/- buttons just the querys names.

Thing is that suits me just fine, i mean once i've setup my playlists whether they be dynamic or static i've no real need to expand them as i know whats in them, and so not having those +/- and all the expanding and collapsing would give me a cleaner more minimal look. I guess what im aiming at is a playlist switcher but with the addition of dynamic playlists, all neatly wrapped up in a tree view!.

So i was thinking would it be possible to add some kind of option to do this. Im thinking maybe a 'Hide Contents' option on the right click context menu, which you could tick and untick to show or hide the +/- of whatever querys or folders you chose.

I'm not sure if you'll see what i'm sayin or if you or anyone else but me would find that a useful feature but though i would suggest it anyway.

And again thanks for the plugin and the work you put into it.
[a href="index.php?act=findpost&pid=261113"][{POST_SNAPBACK}][/a]


I just fixed 1.

As I understand your number 3, you want the ability to treat a folder like it really doesnt have anything in it (but be able to toggle that)... is that about right?
Title: foo_playlist_tree
Post by: foosion on 2004-12-21 23:14:42
foo_playlist_tree has been added to the list of known problematic components (http://www.hydrogenaudio.org/forums/index.php?showtopic=17872). The following charges have been brought up:
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-21 23:57:11
Quote
foo_playlist_tree has been added to the list of
  • unicode support is broken:
    As documented in this thread. This and the next point could be quite easily fixed by perusing utf8api, pfc and the available services in the SDK.
  • several things don't work with the ANSI version of utf8api.dll:
    For example when renaming tree items, the ANSI version of the notification is not handled, so nothing happens there. As some methods directly use Unicode versions of Win32 functions, I suspect things are worse in a true ANSI environment (Win9x).
    [a href="index.php?act=findpost&pid=261118"][{POST_SNAPBACK}][/a]


I have investigated this, and I understand that I should be doing using the uWrappers around the TreeView controls... one of my problems is that there is no wrapper for the Treeview_SetItem which I need for refreshing labels...

As for the copyright violations, for this I apologize for this, I will work on getting everything in order, this was related to the fact that this started as a work in progress release and was not sufficiently documented...

As for crash reports, I believe most of these have been taken care of, one of the bigger issues was I was not setting a pointer to NULL in my drag/drop routines...

Yep, the possibility of a buffer run exists if people want to have strings greater than 2048 characters...

If you'd like to give me some pointers on the correct handling of the urls and subsong index I'd like to hear them...
Title: foo_playlist_tree
Post by: 81x on 2004-12-22 00:11:04
Quote
I just fixed 1.

As I understand your number 3, you want the ability to treat a folder like it really doesnt have anything in it (but be able to toggle that)... is that about right?
[a href="index.php?act=findpost&pid=261117"][{POST_SNAPBACK}][/a]


Sadly '1' is still not working  , it now selects no tracks at all.

And yeah your spot on with '3'  , is it do-able and probably more to the point can you see yourself implementing this (or something similar) in a future version?

Cheers
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-22 00:44:23
Quote
Quote
I just fixed 1.

As I understand your number 3, you want the ability to treat a folder like it really doesnt have anything in it (but be able to toggle that)... is that about right?
[a href="index.php?act=findpost&pid=261117"][{POST_SNAPBACK}][/a]


Sadly '1' is still not working  , it now selects no tracks at all.

And yeah your spot on with '3'  , is it do-able and probably more to the point can you see yourself implementing this (or something similar) in a future version?

Cheers
[a href="index.php?act=findpost&pid=261129"][{POST_SNAPBACK}][/a]


You are right, it was just highlighting it, not selecting it...  I went back to selecting all the items you add... its a lot easier to do that... I'm not sure exactly the best way to select only the first entry...

I might add the hide/unhide option... I'll think about it...
Title: foo_playlist_tree
Post by: 81x on 2004-12-22 00:58:55
Quote
You are right, it was just highlighting it, not selecting it...  I went back to selecting all the items you add... its a lot easier to do that... I'm not sure exactly the best way to select only the first entry...
[a href="index.php?act=findpost&pid=261130"][{POST_SNAPBACK}][/a]


No probs, was a minor thing.  I just figured since this was its previous behaviour it would be easy to change, but at the end of the day whatevers easier for you.

Quote
I might add the hide/unhide option... I'll think about it...
[a href="index.php?act=findpost&pid=261130"][{POST_SNAPBACK}][/a]


Thanks for considering it. 

Cheers
Title: foo_playlist_tree
Post by: marcomk on 2004-12-22 01:32:48
Quote
Thank you for your answer. Thought already so. Am programming myself a bit and so it wasn't that hard, to figure out, that the blank query was causing the problems. Now I have to look, wether I can achieve s.th. like sort by directory structure - if not, it's no problem neither.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=261095")


See this [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29988#]post[/url]
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-22 01:43:33
Quote
Quote
Thank you for your answer. Thought already so. Am programming myself a bit and so it wasn't that hard, to figure out, that the blank query was causing the problems. Now I have to look, wether I can achieve s.th. like sort by directory structure - if not, it's no problem neither.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=261095")


See this [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29988#]post[/url]
[a href="index.php?act=findpost&pid=261140"][{POST_SNAPBACK}][/a]


You might test to see what happens if you were to just puth %_path% in as your format string.  It might be sufficient for your needs.  it should seperated the directory structure into subfolders.  You might be able to achieve your goal with less work
Title: foo_playlist_tree
Post by: Chaser on 2004-12-22 09:38:33
Thank you. Will try the thing with %_path% tomorrow. I unfortunatelly won't have any time today.
Title: foo_playlist_tree
Post by: phwip on 2004-12-22 14:24:35
Quote
Quote
post a drop query string if you can... maybe something is wrong in the formatting... $drop seems to be working on my version...
[a href="index.php?act=findpost&pid=261054"][{POST_SNAPBACK}][/a]

They are all just the playlist file name surrounded by $drop()

For example: $drop(E:\My Music\Beck\Midnite Vultures\Beck - Midnite Vultures.m3u)

(http://img76.exs.cx/img76/969/dropquery5rf.png)
[a href="index.php?act=findpost&pid=261059"][{POST_SNAPBACK}][/a]

Any ideas on this?  It is still happening for me with the latest release, and is the case with $drop with both folders and m3u files.

I have tested this on two separate PCs which are entirely different in setup and using different music files and playlists and get exactly the same result on both.  It used to work fine with the version of foo_playlist_tree I had a couple of days ago, but then I overwrote this with a newer one and it hasn't worked since.

I have noticed that if the value entered into the Query box is invalid (ie. if I type some random text in there) and "foo_playlist_gen format" is unticked then this has the same effect of including every track from the database.  So I presume that foo_playlist_tree is incorrectly seeing my query as invalid.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-22 15:08:30
Quote
Quote
Quote
post a drop query string if you can... maybe something is wrong in the formatting... $drop seems to be working on my version...
[a href="index.php?act=findpost&pid=261054"][{POST_SNAPBACK}][/a]

They are all just the playlist file name surrounded by $drop()

For example: $drop(E:\My Music\Beck\Midnite Vultures\Beck - Midnite Vultures.m3u)

(http://img76.exs.cx/img76/969/dropquery5rf.png)
[a href="index.php?act=findpost&pid=261059"][{POST_SNAPBACK}][/a]

Any ideas on this?  It is still happening for me with the latest release, and is the case with $drop with both folders and m3u files.

I have noticed that if the value entered into the Query box is invalid (ie. if I type some random text in there) and "foo_playlist_gen format" is unticked then this has the same effect of including every track from the database.  So I presume that foo_playlist_tree is incorrectly seeing my query as invalid.
[a href="index.php?act=findpost&pid=261210"][{POST_SNAPBACK}][/a]


I'll see if I can figure out what the problem is...

As far as invalid queries with the foo_playlist_gen format unticked... If you have foo_playlist_gen unticked any string which returns a value counts as a match... so if you have static text in there it will be counted as a match for every item in the database... that's not a bug, thats how the basic query works...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-22 16:06:12
Quote
Any ideas on this?  It is still happening for me with the latest release, and is the case with $drop with both folders and m3u files.

[a href="index.php?act=findpost&pid=261210"][{POST_SNAPBACK}][/a]


I just uploaded a new version that might help... if it does, great... if it doesnt work, take a look at the console output and see if there is a line that says "filename = blah" after you refresh the query... let me know if its there and what it says the filename is...

thanks...
Title: foo_playlist_tree
Post by: phwip on 2004-12-22 17:45:32
Quote
I just uploaded a new version that might help... if it does, great... if it doesnt work, take a look at the console output and see if there is a line that says "filename = blah" after you refresh the query... let me know if its there and what it says the filename is...

thanks...
[a href="index.php?act=findpost&pid=261223"][{POST_SNAPBACK}][/a]

This new version does indeed fix the problem.  Thank you very much. 

You up for another request?  The tree saves and restores its state (ie. which nodes are open and which closed) between sessions.  I would like an option to have it override this and always open to a certain level when I start foobar2000.  For example if I set it to zero then I would just see +All.  If I set it to one I will see -All and all the immediate child nodes, but they would all be closed, etc.  Does that make sense?
Title: foo_playlist_tree
Post by: saratoga on 2004-12-22 19:17:04
Quote
Quote
foo_playlist_tree has been added to the list of
  • unicode support is broken:
    As documented in this thread. This and the next point could be quite easily fixed by perusing utf8api, pfc and the available services in the SDK.
  • several things don't work with the ANSI version of utf8api.dll:
    For example when renaming tree items, the ANSI version of the notification is not handled, so nothing happens there. As some methods directly use Unicode versions of Win32 functions, I suspect things are worse in a true ANSI environment (Win9x).
    [a href="index.php?act=findpost&pid=261118"][{POST_SNAPBACK}][/a]


I have investigated this, and I understand that I should be doing using the uWrappers around the TreeView controls... one of my problems is that there is no wrapper for the Treeview_SetItem which I need for refreshing labels...

As for the copyright violations, for this I apologize for this, I will work on getting everything in order, this was related to the fact that this started as a work in progress release and was not sufficiently documented...

As for crash reports, I believe most of these have been taken care of, one of the bigger issues was I was not setting a pointer to NULL in my drag/drop routines...

Yep, the possibility of a buffer run exists if people want to have strings greater than 2048 characters...

If you'd like to give me some pointers on the correct handling of the urls and subsong index I'd like to hear them...
[a href="index.php?act=findpost&pid=261128"][{POST_SNAPBACK}][/a]


Wow I just noticed this plugin and it looks like a really good idea.  Hopefully fusion's problems will be temporary and not get in the way of such a cool plugin.
Title: foo_playlist_tree
Post by: NEMO7538 on 2004-12-22 20:30:06
Quote
Wow I just noticed this plugin and it looks like a really good idea.  Hopefully fusion's problems will be temporary and not get in the way of such a cool plugin.
[a href="index.php?act=findpost&pid=261249"][{POST_SNAPBACK}][/a]


I don't think "fusion's problem" are at stake ... whatever they might be :-)

I also find this plugin very interesting, but implementation should follow some rules to be foobar compliant .... and stable, that's all. I'm sure the author will make necessary efforts to be compliant again, for the benefit of this communiity.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-22 21:16:23
Quote
You up for another request?  The tree saves and restores its state (ie. which nodes are open and which closed) between sessions.  I would like an option to have it override this and always open to a certain level when I start foobar2000.  For example if I set it to zero then I would just see +All.  If I set it to one I will see -All and all the immediate child nodes, but they would all be closed, etc.  Does that make sense?
[a href="index.php?act=findpost&pid=261240"][{POST_SNAPBACK}][/a]


I've got a compromise I think you might like...

Files are still saved the same way, maintaining all their expansions and what not... but I added keyboard commands in the tree... if you press a number between 0 and 9 the tree will be expanded to that level...
Title: foo_playlist_tree
Post by: foosion on 2004-12-22 21:48:15
Quote
I have investigated this, and I understand that I should be doing using the uWrappers around the TreeView controls... one of my problems is that there is no wrapper for the Treeview_SetItem which I need for refreshing labels...
There are several examples of how to write a wrapper function with case distinction for ANSI and Unicode (for example in my foosion_helpers library but also in the ui_extension API). Following these examples, it should be possible to write one for TreeView_SetItem.

As for support for Unicode filenames, utf8api contains wrappers for Win32 file I/O functions. There's also the file service in the foobar2000 API, which can provide you with FILE pointers for local files, should you really need to use that.

Quote
If you'd like to give me some pointers on the correct handling of the urls and subsong index I'd like to hear them...[a href="index.php?act=findpost&pid=261128"][{POST_SNAPBACK}][/a]
You have to preserve the subsong index and the URL as they are. This should be quite easy to add in your import/export code. To provide correct behaviour while dragging to and from you window, you should use the functions provided by the SDK (from playlist_oper.h):
Code: [Select]
    virtual bool process_dropped_files(interface IDataObject * pDataObject,ptr_list_base<metadb_handle> & out,bool filter = true)=0;
    virtual bool process_dropped_files_check(interface IDataObject * pDataObject)=0;
    virtual interface IDataObject * create_dataobject(const ptr_list_base<metadb_handle> & data)=0;

Use process_dropped_files() to handle dropped data not handled by your code. The core can process text, files and its native format for playable locations.
Use create_dataobject for dragging entries from your window. If you want to drag the actual nodes instead of the entries they contain, things would get trickier. It should be possible to use an IDataObject implementation that provides the node data for your own purposes and exposes the types provided by the core through delegation.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-22 22:14:02
Quote
Quote
I have investigated this, and I understand that I should be doing using the uWrappers around the TreeView controls... one of my problems is that there is no wrapper for the Treeview_SetItem which I need for refreshing labels...
There are several examples of how to write a wrapper function with case distinction for ANSI and Unicode (for example in my foosion_helpers library but also in the ui_extension API). Following these examples, it should be possible to write one for TreeView_SetItem.

As for support for Unicode filenames, utf8api contains wrappers for Win32 file I/O functions. There's also the file service in the foobar2000 API, which can provide you with FILE pointers for local files, should you really need to use that.

[a href="index.php?act=findpost&pid=261281"][{POST_SNAPBACK}][/a]


I found your foosion_helpers stuff right before you posted this, I saw how you did the some of the ListView stuff and I think my refresh_label function should now work under both Unicode and ANSI environments, but I am not positive.  I also handled the missing ANSI notifications such as TVN_ENDLABELEDITA. 

Quote
You have to preserve the subsong index and the URL as they are. This should be quite easy to add in your import/export code.
[a href="index.php?act=findpost&pid=261281"][{POST_SNAPBACK}][/a]


I think I might have it now... My latest version will strip away the file:// when saving, but should leaving everything else intact, when loading if there is no :// in the file it will prepend a file://.  If there is a subsong index, I store it in the file using \b as a delimiter like I do in queries.  I'm assuming that the second parameter in the make_playable_location function is equivalent to the subsong index. Is that true?

I'll take a look at the drag and drop functions provided by the sdk.

Thanks for the pointers.
Title: foo_playlist_tree
Post by: phwip on 2004-12-22 22:46:31
Quote
Quote
You up for another request?  The tree saves and restores its state (ie. which nodes are open and which closed) between sessions.  I would like an option to have it override this and always open to a certain level when I start foobar2000.  For example if I set it to zero then I would just see +All.  If I set it to one I will see -All and all the immediate child nodes, but they would all be closed, etc.  Does that make sense?
[a href="index.php?act=findpost&pid=261240"][{POST_SNAPBACK}][/a]


I've got a compromise I think you might like...

Files are still saved the same way, maintaining all their expansions and what not... but I added keyboard commands in the tree... if you press a number between 0 and 9 the tree will be expanded to that level...
[a href="index.php?act=findpost&pid=261274"][{POST_SNAPBACK}][/a]


I do like this functionality a lot.  I still would like in addition for this to happen automatically at startup.  But it's no big deal for me to hit the 1 key every time I first use the tree.  And it's great to be able to set it back to this expansion state whenever I choose.  Thanks.
Title: foo_playlist_tree
Post by: foosion on 2004-12-22 23:11:21
Quote
I think I might have it now... My latest version will strip away the file:// when saving, but should leaving everything else intact, when loading if there is no :// in the file it will prepend a file://.  If there is a subsong index, I store it in the file using \b as a delimiter like I do in queries.  I'm assuming that the second parameter in the make_playable_location function is equivalent to the subsong index. Is that true?[a href="index.php?act=findpost&pid=261282"][{POST_SNAPBACK}][/a]
Yes, a playable location consists of a path and a subsong index. make_playable_location is a helper class to create a temporary playable_location for use as parameter to a function. Did you check that you replaced strstr() with some function that compares the first chacters of the path to "file://"? (stricmp_utf8_partial() does that) I don't really understand why you strip it away in the first place. Also you don't have to add this prefix yourself upon loading; you can just use file::g_get_canonical_path().
Title: foo_playlist_tree
Post by: metal_termite on 2004-12-22 23:34:35
I discovered a bug in the Playlist Tree Search. Upon closing a Playlist Tree Search tab from a tabbed panel, visual remnants of the search window remain.

Here is a screen capture:

(http://www.randomcrap.net/uploads/files/0/Clip1.jpg)
Title: foo_playlist_tree
Post by: phwip on 2004-12-23 02:17:55
I had a lot of playlists (m3u and fpl files) that I wanted to add to my playlist tree, so I wrote a little program to create the .col file for me.  It searches a folder and all its subfolders for any files with the above extensions.  It expects the playlist filename to be in the format "artist - album.m3u", so two parts separated by a hyphen with spaces either side.  It then creates a .col file for foo_playlist_tree with three levels: the first is just "All", the second is a folder for every artist, the third is a $drop query for every playlist.  It takes absolutely no notice of the contents of the playlist files, just the playlist filename itself.  Of course it doesn't have to be an artist and album, but it must be two parts.  For example, I have playlists such as "Various Artists - 2004 Favourites".

The only reason I mention this here is in case this would be useful to anybody else I could email it to you or upload it.

Just in case it's not clear here's an example:

Say I have three playlists: "Billie Holiday - Billie's Blues.m3u", "Björk - Greatest Hits.m3u", "Björk - SelmaSongs.m3u" all in different folders under E:\My Music.

So I run the app for "E:\My Music" and it outputs the following:

Code: [Select]
0=All
-
1=Billie Holiday
+
2=Billie's Blues
q$drop(E:\My Music\Billie Holiday\Billie's Blues\Billie Holiday - Billie's Blues.m3u)%title%T
1=Björk
+
2=Greatest Hits
q$drop(E:\My Music\Björk\Björk - Greatest Hits.m3u)%title%T
2=SelmaSongs
q$drop(E:\My Music\Björk\SelmaSongs\Björk - SelmaSongs.m3u)%title%T


Which generates this:

(http://img158.exs.cx/img158/1733/playlisttree6xp.png)

It's pretty basic and unconfigurable.  I can't imagine anybody using it regularly.  But it might make the initial population of your playlist tree a little easier if you want it to be based on your m3u and fpl files.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-23 03:29:08
Quote
I had a lot of playlists (m3u and fpl files) that I wanted to add to my playlist tree, so I wrote a little program to create the .col file for me.  It searches a folder and all its subfolders for any files with the above extensions.  It expects the playlist filename to be in the format "artist - album.m3u", so two parts separated by a hyphen with spaces either side.  It then creates a .col file for foo_playlist_tree with three levels: the first is just "All", the second is a folder for every artist, the third is a $drop query for every playlist.  It takes absolutely no notice of the contents of the playlist files, just the playlist filename itself.  Of course it doesn't have to be an artist and album, but it must be two parts.  For example, I have playlists such as "Various Artists - 2004 Favourites".

The only reason I mention this here is in case this would be useful to anybody else I could email it to you or upload it.

Just in case it's not clear here's an example:

Say I have three playlists: "Billie Holiday - Billie's Blues.m3u", "Björk - Greatest Hits.m3u", "Björk - SelmaSongs.m3u" all in different folders under E:\My Music.

So I run the app for "E:\My Music" and it outputs the following:

Code: [Select]
0=All
-
1=Billie Holiday
+
2=Billie's Blues
q$drop(E:\My Music\Billie Holiday\Billie's Blues\Billie Holiday - Billie's Blues.m3u)%title%T
1=Björk
+
2=Greatest Hits
q$drop(E:\My Music\Björk\Björk - Greatest Hits.m3u)%title%T
2=SelmaSongs
q$drop(E:\My Music\Björk\SelmaSongs\Björk - SelmaSongs.m3u)%title%T


Which generates this:

(http://img158.exs.cx/img158/1733/playlisttree6xp.png)

It's pretty basic and unconfigurable.  I can't imagine anybody using it regularly.  But it might make the initial population of your playlist tree a little easier if you want it to be based on your m3u and fpl files.
[a href="index.php?act=findpost&pid=261304"][{POST_SNAPBACK}][/a]


you gave me a good idea for an new feature I think... what if I had it so that if you were to drag and drop a m3u file while holding control and that made the query node with the $drop() string rather than actually putting the contents in the node?
Title: foo_playlist_tree
Post by: phwip on 2004-12-23 08:25:59
Quote
you gave me a good idea for an new feature I think... what if I had it so that if you were to drag and drop a m3u file while holding control and that made the query node with the $drop() string rather than actually putting the contents in the node?
[a href="index.php?act=findpost&pid=261312"][{POST_SNAPBACK}][/a]

Yes, I reckon this would be very useful.
Title: foo_playlist_tree
Post by: phwip on 2004-12-23 09:40:15
One other question: Currently it is not possible to use $drop() with playlist files that have round brackets anywhere in their path.  Of course this is because when the query is parsed it won't know whether a close bracket is part of the path or the end of the $drop.  However, I wondered whether it might be possible to modify the parser slightly so that if the path is in quotes then brackets can be used:

eg. $drop("E:\My Music\Oasis - (What's The Story) Morning Glory.m3u")

At the moment quoted playlist paths don't work at all, so the above would fail even if it didn't contain brackets.  So it would have to be a general extension of the $drop syntax to support paths in quotes.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-24 06:15:47
Quote
One other question: Currently it is not possible to use $drop() with playlist files that have round brackets anywhere in their path.  Of course this is because when the query is parsed it won't know whether a close bracket is part of the path or the end of the $drop.  However, I wondered whether it might be possible to modify the parser slightly so that if the path is in quotes then brackets can be used:

eg. $drop("E:\My Music\Oasis - (What's The Story) Morning Glory.m3u")

At the moment quoted playlist paths don't work at all, so the above would fail even if it didn't contain brackets.  So it would have to be a general extension of the $drop syntax to support paths in quotes.
[a href="index.php?act=findpost&pid=261334"][{POST_SNAPBACK}][/a]


I changed the way filepaths are parsed in the $drop command so that it should now always look at the last ) in the command, so paths with parentheses in the should work fine now.  Quoted strings will still not work though.

I also added what I call Dynamic Drops... If you drop a file or folder with the control key pressed down it should created a query node with the contents of the drop inside the $drop command.  I was having issues getting it to populate as soon as it drops so it remains unpopulate until you refresh the query.  If you hold control while you refresh a query with a $drop command it probably won't do what you want...
Title: foo_playlist_tree
Post by: mazy on 2004-12-28 09:41:13
cwbowron, could you please add feature to duplicate node? even in context pop-up menu or for example shift+drag of node.

i would like to duplicate some complicated query node, rename the duplicate and change some things in the query to make modified one.

another request - could you add easy way (other than using '[' and ']') to move nodes around? like alt+drag or something ... there would be somethings to work out like whether to put it before or after node that it was moved to. i suggest putting it before, because you could put things at the end using normal drag to parent node.

and finally  - could you think about some sort of grouping to allow things like this (http://www.hydrogenaudio.org/forums/index.php?showtopic=30245&hl=)?

edit: some more requests / questions

- feature to change browse playlist per node (when blank use default browse playlist instead).

- feature to use formatting in query's name (tricky one, as it's not sure what to use as source for metadata - probably first track). i would like to have query for files in the same directory as the playing one (see question bellow), and it would be great if name of that query could show that directory (or album) - something like $if2(%album%,Tracks from same album).

- i can't make $playing() work with this query (i have foo_playlist_gen checked):
Code: [Select]
$left(%_path%,$sub($len2(%_path%),$len2(%_filename_ext%))) IS $left($playing(%_path%),$sub($len2($playing(%_path%)),$len2($playing(%_filename_ext%))))

i would like this to include files in the same dir

thanks for your plugin, it really grows on me!
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-28 16:18:22
Quote
another request - could you add easy way (other than using '[' and ']') to move nodes around? like alt+drag or something ... there would be somethings to work out like whether to put it before or after node that it was moved to. i suggest putting it before, because you could put things at the end using normal drag to parent node.

and finally  - could you think about some sort of grouping to allow things like this (http://www.hydrogenaudio.org/forums/index.php?showtopic=30245&hl=)?

- feature to use formatting in query's name (tricky one, as it's not sure what to use as source for metadata - probably first track). i would like to have query for files in the same directory as the playing one (see question bellow), and it would be great if name of that query could show that directory (or album) - something like $if2(%album%,Tracks from same album).

thanks for your plugin, it really grows on me!
[a href="index.php?act=findpost&pid=261822"][{POST_SNAPBACK}][/a]


I changed the drag and drop routines to allow you to select a specific location of the dropped node (you can now insert a node anywhere, rather than just at the end of a llist)

I'll look into a copy/paste routine

As for the ability to have a dynamic name for a query and for finding the sum of all the ratings of a tree I'm thinking of doing this in a related way... I'm envisioning adding 3 commands to the query/folder display mode

$first(x)
$sum(x)
$avg(x)

where x is any tag... this would allow you to say $first(%artist%) or SUM(%rating%) or AVG(%RATING%) or similar queries
Title: foo_playlist_tree
Post by: JEN on 2004-12-28 16:36:30
Sorry if this has already been answered but, when I drag and drop some folders into this plugin, I right click the view and save it.

Then when I exit fb2k, it asks me to save it again!  Why is this?
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-28 17:21:43
Quote
I'll look into a copy/paste routine
[a href="index.php?act=findpost&pid=261876"][{POST_SNAPBACK}][/a]


I added a way to copy... If you hold shift while you do the drag/drop operation, it will drop a copy of the node, not the original node...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-28 19:59:25
Quote
As for the ability to have a dynamic name for a query and for finding the sum of all the ratings of a tree I'm thinking of doing this in a related way... I'm envisioning adding 3 commands to the query/folder display mode

$first(x)
$sum(x)
$avg(x)

where x is any tag... this would allow you to say $first(%artist%) or SUM(%rating%) or AVG(%RATING%) or similar queries
[a href="index.php?act=findpost&pid=261876"][{POST_SNAPBACK}][/a]


I added this

from the readme.txt

$first, $sum, $avg
   
You can use these operators in the folder display format or in the name of the folder to have it use information from the files in the tree.

example of usages

$first(%artist%) - will return the artist field of the first entry
$sum(%_length_seconds%) - will return the total playing time in seconds
$avg(%_length_seconds%) - will find the average length of songs in the tree
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-28 20:01:59
Quote
Sorry if this has already been answered but, when I drag and drop some folders into this plugin, I right click the view and save it.

Then when I exit fb2k, it asks me to save it again!  Why is this?
[a href="index.php?act=findpost&pid=261882"][{POST_SNAPBACK}][/a]


If you use the save tree option from the Components->Playlist Tree menu it should not ask you to save it when you exit as long as you made no changes.  If you use the right click menu, my vision was that would be used mainly for saving subtrees and as such it does not clear the modification flag.
Title: foo_playlist_tree
Post by: JEN on 2004-12-28 20:03:34
Thanks, I'll try that asap
Title: foo_playlist_tree
Post by: JEN on 2004-12-28 20:33:56
do you mean:

foobar2000>preferences>playlist tree>auto load/save ?
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-28 20:56:25
Quote
do you mean:

foobar2000>preferences>playlist tree>auto load/save ?
[a href="index.php?act=findpost&pid=261922"][{POST_SNAPBACK}][/a]


you can use that to have playlist tree always load and save to the same file, but what i was talking about using the Components->Playlist Tree->Save Tree from the main program menu to save the tree.  If you save using that you won't be prompted to save when you exit unless you have modified the tree after saving.
Title: foo_playlist_tree
Post by: JEN on 2004-12-28 21:05:27
thats perfect! thanks
Title: foo_playlist_tree
Post by: mazy on 2004-12-29 00:18:14
great changes, cwbowron, thanks!

though it seems some new bugs have been introduced - probably because of that new drag'n'drop and copy functionality. for example sort setting kept changing to 'custom' even though i'd changed it to none etc. and foobar crashed on me ...

other issues:

- it's still not possible to use titleformatting in folder/query's name (i would like to use '$if2' in it)

- this thing i want to do doesn't work (i may have it wrong as i'm not familiar with foo_playlist_gen):
Code: [Select]
$left(%_path%,$sub($len2(%_path%),$len2(%_filename_ext%))) IS $left($playing(%_path%),$sub($len2($playing(%_path%)),$len2($playing(%_filename_ext%))))
doesn't work. easier thing, although not 100% correct, works:
Code: [Select]
%_directoryname% IS $playing(%_directoryname%)


edit: grammar
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-29 01:30:03
Quote
great changes, cwbowron, thanks!

though it seems some new bugs have been introduced - probably because of that new drag'n'drop and copy functionality. for example sort setting kept changing to 'custom' even though i'd changed it to none etc. and foobar crashed on me ...

other issues:

- it's still not possible to use titleformatting in folder/query's name (i would like to use '$if2' in it)
[a href="index.php?act=findpost&pid=261946"][{POST_SNAPBACK}][/a]


Try grabbing the latest version and see if you still have issues with it changing to "custom" on copying... Its working for me, but if you have a version from earlier in the day I had a problem that I fixed pretty quick but you might have grabbed that...

What are you trying to do with the folder name?

Depending on what you want, you might be able to get what you want if you can embed it inside of a $first() command.
Title: foo_playlist_tree
Post by: mazy on 2004-12-29 10:21:03
Quote
Try grabbing the latest version and see if you still have issues with it changing to "custom" on copying... Its working for me, but if you have a version from earlier in the day I had a problem that I fixed pretty quick but you might have grabbed that...

What are you trying to do with the folder name?

Depending on what you want, you might be able to get what you want if you can embed it inside of a $first() command.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=261955")


i still have problems. i downloaded last version (dll's size is 82 432 bytes) and have these problems:

- some playlist tree's settings get reseted - [a href="http://mazy.johanka.cz/temp/playlist_tree/foobar-playlist_tree-settings.png]screenshot[/url]
- some node's settings get reseted - screenshot (http://mazy.johanka.cz/temp/playlist_tree/foobar-playlist_tree-node.png)
- doubleclicking on node gives me crash (logs here (http://mazy.johanka.cz/temp/playlist_tree/failure_00000005.txt), here (http://mazy.johanka.cz/temp/playlist_tree/failure_00000006.txt) and here (http://mazy.johanka.cz/temp/playlist_tree/failure_00000007.txt).

- here (http://mazy.johanka.cz/temp/playlist_tree/playlist_tree.col) is my collection file, try & look at queries under folder 'Same' folder. second one shows what i would like to do with title and the last one is query that doesn't work (i have something wrong i guess)

man i love your plugin ... and best of all - how you keep making it better and actually implementing users' requests ...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-29 15:33:55
Quote
i still have problems. i downloaded last version (dll's size is 82 432 bytes) and have these problems:

- some playlist tree's settings get reseted -
- some node's settings get reseted -
- doubleclicking on node gives me crash
[a href="index.php?act=findpost&pid=261991"][{POST_SNAPBACK}][/a]


I just uploaded a new version that fixes the query node sorting string issue.  It might solve the settings issue, I'm not positive, I could not reproduce the problem.  It could be that the settings are actually getting set correctly, but the window isnt updating itself correctly.

If you still get crashes on double click, let me know and tell me what the settings are (or what you tried to set them to).

Edit I'm looking into the ability to use $if2 etc in the name of a folder its a little tricky though.
Title: foo_playlist_tree
Post by: mazy on 2004-12-29 15:43:34
still crashing - when double-clicking on query that's empty (query using $playing when there's no song playing so the are no results).

my settings are as in the screenshot in my last post ...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-29 15:52:26
Quote
still crashing - when double-clicking on query that's empty (query using $playing when there's no song playing so the are no results).

my settings are as in the screenshot in my last post ...
[a href="index.php?act=findpost&pid=262027"][{POST_SNAPBACK}][/a]


Got it.... fixed it...

I also saw where the problem was with the settings going to expand/collapse when you had actually selected browse... fixed that too...
Title: foo_playlist_tree
Post by: mazy on 2004-12-29 19:47:45
great to hear that, thanx cwbowron!
Title: foo_playlist_tree
Post by: mazy on 2004-12-30 08:39:56
cwbowron, how do you parse and substitute $drop, $playing etc? i know it's not easy thing to do and it would be best if foobar's formatting routines could provide callbacks for defined set of user's functions' identifiers when needed, but could you make that parsing more robust?

one outline could be like this:
1) find all your identifiers and sort them in order of decreasing degree of nesting
2) go over list from 1) and do:
  2.1) call foobar's formatting routines on substring inside of that identifier if applicable (i.e. not for $playing)
  2.2) do function of that identifier on resulting string from 2.1)
  2.3) substitute part of the whole query / name string with result of that if applicable (i.e. not for $drop)
3) if last identifier's starting index (position) > 1 then call foobar's formatting routines on the whole resulting string

example:
$drop($replace($playing(%_path%),$playing(%_filename_ext%),))
  - order: $playing, $playing, $drop
    - execute / do / substitute $playing on %_path% w/o using foobar's formatting routines
    - execute / do / substitute $playing on %_filename_ext% w/o using foobar's formatting routines
    - execute / do $drop on $replace(<path of playing file>,<filename of playing file>,) w/ using foobar's formatting routines
    - as $drop's index was 1 we are done

what do you think? doing this, most of my more complicated (and not correct atm) queries would work and it would be possible to do multiple drops per query etc.

other than that, it seems that when you use $drop, items already in the database get duplicated in the results, so some files would show up twice ...

some other requests: (i'm one spoiled user, hehe)

- i would like to have version of $drop that would discard subfolders

- way to play tracks in playlist tree without adding them to any playlist (may not be important though)

- way to add menu entries for some folders / queries (it's up to you - you could duplicate tree's structure as hierarchical commands {there could be problems with folders / queries which dynamically change their name etc.} or add editbox for each query to optionally set up its menu entry (i.e. "query\1000 most played" would show up under "[main] components\query\1000 most played"). executing that command would refresh and browse that query. using this, i could set up keyboard shortcuts for some most used queries ...

- additional properties to control where / how would query's content show up when browsing (per query). so i could make query that would replace selected (or playing) tracks when browsed, or add to active playlist, or replace specified playlist

(*) usage of last two: i would make query that would replace playing song with all songs from that album and set up menu entry and then keyboard shortcut for it. then i could create playlist of 100 random songs from 1000 most played, go over it and delete songs i don't like and expand those i like with album they are from ... that would be great!!

- conditional automatic query refresh: add checkbox to enable / disable this and then two edit boxes. one for setting delay in ms (0 - immediately) and other for entering string whose change would trigger (after that delay) query's refresh.this string would use formatting using metadb handle of playing track and would get evaluated when playing track changes. (possibility - use focused track instead of playing one)

(*) use - for example i could have query showing 20 top rated songs with the same genre as the playing track and that query would update 1s after genre changes.

(*) another example - query showing tracks from the same album as the playing track. when listening to random single tracks (or top rated / played tracks) i could easily see other tracks from that album and possibly play them.

edit: added some other requests ...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-30 18:21:41
I just wanted to post a preview of something I am working on.  I am trying to get it so that there is a seperate panel for browsing the selected tree node.  Here's a screenshot:

http://foobar.bowron.us/prev.png (http://foobar.bowron.us/prev.png)

EDIT: fixed linked
Title: foo_playlist_tree
Post by: stroke on 2004-12-30 19:37:35
Quote
I just wanted to post a preview of something I am working on.  I am trying to get it so that there is a seperate panel for browsing the selected tree node.  Here's a screenshot:

http://www.bowron.us/foobar/prev.png (http://www.bowron.us/foobar/prev.png)
[a href="index.php?act=findpost&pid=262224"][{POST_SNAPBACK}][/a]


i'd love to take a look, but the link is dead
Title: foo_playlist_tree
Post by: mazy on 2004-12-30 19:55:02
can't see it either, but the idea sounds nice! it would be great if you would use ui_extension's feature to autofocuse / make visible that panel when it gets populatedi with tracks. so i could share it with album art panel and it would make itself visible automatically
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-30 20:11:20
Quote
Quote
I just wanted to post a preview of something I am working on.  I am trying to get it so that there is a seperate panel for browsing the selected tree node.  Here's a screenshot:

http://www.bowron.us/foobar/prev.png (http://www.bowron.us/foobar/prev.png)
[a href="index.php?act=findpost&pid=262224"][{POST_SNAPBACK}][/a]


i'd love to take a look, but the link is dead
[a href="index.php?act=findpost&pid=262242"][{POST_SNAPBACK}][/a]


Fixed it...

my website has had some issues today...
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-30 21:46:04
Quote
Fixed it...

my website has had some issues today...
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=262245")


I just uploaded a new version of playlist tree that implements an optional playlist tree browser panel.  If the panel is not active, the playlist tree operates as before, but if you have the playlist tree browser panel active, the selected node will send its contents to the browser panel.

To get a similar layout to how my preview screen shot: (from the readme.txt)

--- How to get Playlist Tree & Browser to appear above playlist ---
(i.e. to look like this: [a href="http://www.bowron.us/foobar/prev.png)]http://www.bowron.us/foobar/prev.png)[/url]

In under the columns ui preferences, select the other tab, check the box marked
Title: foo_playlist_tree
Post by: jkwarras on 2004-12-31 00:40:59
Quote
--- How to get Playlist Tree & Browser to appear above playlist ---
(i.e. to look like this: http://www.bowron.us/foobar/prev.png) (http://www.bowron.us/foobar/prev.png))[a href="index.php?act=findpost&pid=262252"][{POST_SNAPBACK}][/a]

Thanks you! I'll test it next year

Happy new year.
Title: foo_playlist_tree
Post by: spase on 2004-12-31 18:22:03
I am not sure the panels resize to the right values.  Either yours arent using the same measurements as the tabbed panel stack, or either playlist tree or panel stack recieves the wrong value for resizing, because they do not resize correctly.  It seems the playlist tree is always larger than the tabbed panel stack at the same given value.

EDIT: oh and also, it would be good to be able to have double clicking a track in the browser window to do something.
Title: foo_playlist_tree
Post by: cwbowron on 2004-12-31 21:13:35
I just uploaded a new version that implements multi columns in the browser panel.  From the readme.txt:

browser columns mode

Fields are seperated by '|' in the string.  For example to get a 3 column display with artist, title and album, set the browser format to "%artist%|%title%|%album%" and the browser headers to "Artist|Title|Album".

The way I implement my minimum height is a little different than the way foo_uie_tabs does it, so the actual height is different if the values are the same.
Title: foo_playlist_tree
Post by: 81x on 2004-12-31 21:50:33
Hi cwbowron

Thanx for adding 'expand/collapse' to the double click options 

Had a couple of requests:

1) The ability to change the middle mouse buttons function from 'send to new playlist' to whatever (in my case 'send to playlist').

2) Make the 'Refresh Query' checkbox option apply to all ways of getting the query to the playlist. Middle clicking and Right click context menus (send to, add to, new) not just double clicking.

3) An option similar to the album list panels 'process keyboard shorcuts'

And again thanx for the plugin, happy new year.
Title: foo_playlist_tree
Post by: amiti on 2005-01-02 10:12:55
Hello cwbowron ,

%systemdate% doesn't seem to work for me . i tries writing in the query : '$sub(%systemdate%,%added%) LESS 8900' or even tried using '$substr(%systemdate%,5,6)' for months refference but nothing worked.

i am using windows xp sp2 ,foobar2k 8.3 and lastest playlist tree plugin.

thank you and Happy new year.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-02 16:32:03
Hi cwbowron!
Today I started toying with the Playlist Tree; took some time getting started but must say that I'm _very_ impressed! 

There is one major drawback for me: startup time 
using Albumlist
Code: [Select]
INFO (CORE) : startup time: 1352 ms

mem. footprint: 15.7 MB

using Playlist tree
Code: [Select]
INFO (foo_playlist_tree) : Elapsed Time Loading: 0 ms

INFO (foo_playlist_tree) : populate: 1562 ms

INFO (foo_playlist_tree) : populate: 3735 ms

INFO (foo_playlist_tree) : populate: 1512 ms

INFO (foo_playlist_tree) : populate: 4056 ms

INFO (CORE) : startup time: 12518 ms

mem. footprint 24.4MB

It really takes too long for foobar to show up.. This is using only 2 queries, with 40GB music in database (+- 8000 files)
Code: [Select]
0=All
-
1=By genre
q$directory(%_path%,2)|%_directoryname%|$if($stricmp($directory(%_path%,2),'various'),[%artist% - ]$if2(%title%,%_filename%)[ '('%date%')'],[[%disc%.][$num(%tracknumber%,2).] ]$if2(%title%,%_filename%)[ $if($stricmp(%artist%,$left(%_directoryname%,$len(%artist%))),, '//'%artist%)])$directory(%_path%,2)|%_directoryname%|$if($stricmp($directory(%_path%,2),'various'),[%artist% - ]$if2(%title%,%_filename%)[ '('%date%')'],[[%disc%.][$num(%tracknumber%,2).] ]$if2(%title%,%_filename%)[ $if($stricmp(%artist%,$left(%_directoryname%,$len(%artist%))),, '//'%artist%)])%default%T
1=Never played
Qplay_stamp MISSING%artist%|%title%%default%T

Can something be done to speed up loading time?

Another 'problem' is more a feature request. Possibility to change colours for the Tree browser. ATM it just looks too ugly in my configuration 

Sorry I didn't read the whole thread, I might be repeating known requests..
Anyway, thanks a lot!
Cheers
eph

edit: BTW, that first query is the same as used in my Albumlist config.
Title: foo_playlist_tree
Post by: mazy on 2005-01-02 16:49:52
i guess there can't be much done (maybe some sort of background loading but i'm not sure whether foobar supports it).

there can be difference between normal / epg query format ... i haven't tested it though

i have manual query refresh setting on ...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-02 17:17:47
Quote
Hi cwbowron!
Today I started toying with the Playlist Tree; took some time getting started but must say that I'm _very_ impressed!  

There is one major drawback for me: startup time  
using Albumlist
Code: [Select]
INFO (CORE) : startup time: 1352 ms

mem. footprint: 15.7 MB

using Playlist tree
Code: [Select]
INFO (foo_playlist_tree) : Elapsed Time Loading: 0 ms

INFO (foo_playlist_tree) : populate: 1562 ms

INFO (foo_playlist_tree) : populate: 3735 ms

INFO (foo_playlist_tree) : populate: 1512 ms

INFO (foo_playlist_tree) : populate: 4056 ms

INFO (CORE) : startup time: 12518 ms

mem. footprint 24.4MB

It really takes too long for foobar to show up.. This is using only 2 queries, with 40GB music in database (+- 8000 files)
Code: [Select]
0=All
-
1=By genre
q$directory(%_path%,2)|%_directoryname%|$if($stricmp($directory(%_path%,2),'various'),[%artist% - ]$if2(%title%,%_filename%)[ '('%date%')'],[[%disc%.][$num(%tracknumber%,2).] ]$if2(%title%,%_filename%)[ $if($stricmp(%artist%,$left(%_directoryname%,$len(%artist%))),, '//'%artist%)])$directory(%_path%,2)|%_directoryname%|$if($stricmp($directory(%_path%,2),'various'),[%artist% - ]$if2(%title%,%_filename%)[ '('%date%')'],[[%disc%.][$num(%tracknumber%,2).] ]$if2(%title%,%_filename%)[ $if($stricmp(%artist%,$left(%_directoryname%,$len(%artist%))),, '//'%artist%)])%default%T
1=Never played
Qplay_stamp MISSING%artist%|%title%%default%T

Can something be done to speed up loading time?

Another 'problem' is more a feature request. Possibility to change colours for the Tree browser. ATM it just looks too ugly in my configuration  

Sorry I didn't read the whole thread, I might be repeating known requests..
Anyway, thanks a lot!
Cheers
eph

edit: BTW, that first query is the same as used in my Albumlist config.
[a href="index.php?act=findpost&pid=262679"][{POST_SNAPBACK}][/a]


The latest version uses the same color for the browser as you selected for the playlist tree... I am considering adding seperate color preferences for the browser....

There is an option called "Manual Query Refresh"  if this is checked, queries will not be populated when you start foobar2000, only when you manually refresh them, so your foobar2k will load more quickly, but when you need to refresh the query it will take the time... It looks like it might be refreshing each query twice in your configuration which I will look into...

EDIT: I just uploaded a new version that should eliminate the double query population.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-02 17:35:25
Quote
Hello cwbowron ,

%systemdate% doesn't seem to work for me . i tries writing in the query : '$sub(%systemdate%,%added%) LESS 8900' or even tried using '$substr(%systemdate%,5,6)' for months refference but nothing worked.

i am using windows xp sp2 ,foobar2k 8.3 and lastest playlist tree plugin.

thank you and Happy new year.
[a href="index.php?act=findpost&pid=262601"][{POST_SNAPBACK}][/a]


Fixed it... the problem was that I hadn't forced the day and month to two digits, so the string was returning 200512 instead of 20050102.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-02 17:36:01
Quote
There is an option called "Manual Query Refresh"  if this is checked, queries will not be populated when you start foobar2000, only when you manually refresh them, so your foobar2k will load more quickly, but when you need to refresh the query it will take the time...


Yes but that would disable dynamic playlists like '%artist% IS $playing(%artist%)' wich is IMO one of the main reasons to use the Playlist Tree plugin.. maybe an option per query? I was just wondering why there is this big speed difference with the Albumlist plugin...

edit: Wow thanks already for your edit/upload 
edit2: INFO (CORE) : startup time: 6550 ms 
..but I see this '%artist% IS $playing(%artist%)' doesn't update on song change as I envisaged it. oh well 
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-02 17:53:45
While we're at it.. 

Quote
The latest version uses the same color for the browser as you selected for the playlist tree... I am considering adding seperate color preferences for the browser....
[a href="index.php?act=findpost&pid=262687"][{POST_SNAPBACK}][/a]

Yea I didn't notice because playlist tree changes are immediate, while the browser window needs a restart. Maybe you are already aware..

Quote
There is an option called "Manual Query Refresh"  if this is checked, queries will not be populated when you start foobar2000, only when you manually refresh them, so your foobar2k will load more quickly, but when you need to refresh the query it will take the time...
[a href="index.php?act=findpost&pid=262687"][{POST_SNAPBACK}][/a]

Quote
..but I see this '%artist% IS $playing(%artist%)' doesn't update on song change as I envisaged it

Maybe a better idea would be (an option to) to auto-refresh queries containing $playing(%tag%)? Wouldn't interfere with normal/manual query refreshes.

Big Thanks!
eph
Title: foo_playlist_tree
Post by: rocketsauce on 2005-01-02 19:33:50
The browser is a great addition to this plugin. However, when I have it enabled I get an error when closing foobar:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7800D0B9h
Access violation, operation: write, address: 0017008Bh
Call path:
WinMain=>app_shutdown
This is the first crash logged by this instance.
Code bytes (7800D0B9h):
7800D079h:  8B 4B 04 3B 4B 08 0F 85 76 02 00 00 83 FA 20 0F
7800D089h:  83 43 02 00 00 BB 00 00 00 80 8B CA D3 EB 8D 4C
7800D099h:  02 04 F7 D3 21 5C B8 44 FE 09 75 05 8B 4D 08 21
7800D0A9h:  19 8B 4D FC 8B 5D 0C 8B 53 08 8B 5B 04 03 4D F4
7800D0B9h:  89 5A 04 8B 55 0C 89 4D FC 8B 5A 04 8B 52 08 89
7800D0C9h:  53 08 8B D1 C1 FA 04 4A 83 FA 3F 76 03 6A 3F 5A
7800D0D9h:  8B 5D F8 83 E3 01 89 5D F4 0F 85 43 02 00 00 2B
7800D0E9h:  75 F8 8B 5D F8 C1 FB 04 6A 3F 89 75 0C 4B 5E 3B
Stack (0068FA80h):
0068FA60h:  0000016F 00010202 0068FA80 00000177
0068FA70h:  0000014F 00000A20 014FB013 0000003F
0068FA80h:  008788A4 008788A4 0128742C 006A3420
0068FA90h:  13240000 00000061 00000002 0068FAE0
0068FAA0h:  7800CC1C 007A000C 008788A2 008788A4
0068FAB0h:  01287428 0128742C 01287428 0128742C
0068FAC0h:  78001390 007A000C 01286A50 0068F8B0
0068FAD0h:  0068FCE0 7800EF03 7802E260 00000000
0068FAE0h:  78001390 7800578C 008788A4 01271C66
0068FAF0h:  008788A4 00000000 008786D4 0068FB28
0068FB00h:  01270000 0127FEF1 00000000 0127FF86
0068FB10h:  01270000 00000000 00000000 00000000
0068FB20h:  01270000 819D7698 0068FCF0 BFF7DDD6
0068FB30h:  01270000 00000001 00000000 00000000
0068FB40h:  01270000 819D7698 0044424C 00000000
0068FB50h:  81A0B0A8 C9681190 819D7654 BFF81627
0068FB60h:  81A0ABB4 00000000 81A0ABB6 C9681190
0068FB70h:  BFF713EE 0000016F BFF7A2E3 000006B7
0068FB80h:  0068FBC0 00007800 006B6F4C 00000804
0068FB90h:  BFF7A3A0 006A0000 006B7750 00007800
Registers:
EAX: 006A0078, EBX: 88800128, ECX: 13240002, EDX: 00170087
ESI: 008788A0, EDI: 00000019, EBP: 0068FA9C, ESP: 0068FA80
Failed to get module/symbol info.

Version info:
foobar2000 v0.8.3
ANSI


Thanks!

Rob
Title: foo_playlist_tree
Post by: topdownjimmy on 2005-01-02 20:33:57
I still seem to be having trouble with %systemdate%.  This query yields 0 results:

Code: [Select]
$substr(%PLAY_DATE%,3,4) IS $substr(%systemdate%,5,6)


This code, however, works perfectly:

Code: [Select]
$substr(%PLAY_DATE%,3,4) IS 01


Assuming my system clock is set correctly (and it is), shouldn't $substr(%systemdate%,5,6) be 01?  Can someone let me know what I'm doing wrong?  Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-02 20:41:37
Quote
I still seem to be having trouble with %systemdate%.  This query yields 0 results:

Code: [Select]
$substr(%PLAY_DATE%,3,4) IS $substr(%systemdate%,5,6)


This code, however, works perfectly:

Code: [Select]
$substr(%PLAY_DATE%,3,4) IS 01


Assuming my system clock is set correctly (and it is), shouldn't $substr(%systemdate%,5,6) be 01?  Can someone let me know what I'm doing wrong?  Thanks.
[a href="index.php?act=findpost&pid=262718"][{POST_SNAPBACK}][/a]


Take a look at your console output.  the latest version should show the string before and after the systemdate replacement.  There should be a line that says:

system date query before:  bla bla bla %systemdate% blah

system date query after: bla bla bla 20050102 blah

see if that looks right
Title: foo_playlist_tree
Post by: topdownjimmy on 2005-01-02 20:52:14
Here is what the console shows:

Code: [Select]
INFO (foo_playlist_tree) : systemdate query before:: $substr(%PLAY_DATE%,3,4) IS $substr(%systemdate%,5,6)

INFO (foo_playlist_tree) : systemdate query after:: $substr(%PLAY_DATE%,3,4) IS $substr(20050102,5,6)

INFO (foo_playlist_tree) : systemdate query before:: $substr(%PLAY_DATE%,3,4) IS $substr(%systemdate%,5,6)

INFO (foo_playlist_tree) : systemdate query after:: $substr(%PLAY_DATE%,3,4) IS $substr(20050102,5,6)

INFO (foo_playlist_tree) : populate: 20 ms


And yet the query still gives nothing...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-02 21:09:39
Quote
Here is what the console shows:

Code: [Select]
INFO (foo_playlist_tree) : systemdate query before:: $substr(%PLAY_DATE%,3,4) IS $substr(%systemdate%,5,6)

INFO (foo_playlist_tree) : systemdate query after:: $substr(%PLAY_DATE%,3,4) IS $substr(20050102,5,6)

INFO (foo_playlist_tree) : systemdate query before:: $substr(%PLAY_DATE%,3,4) IS $substr(%systemdate%,5,6)

INFO (foo_playlist_tree) : systemdate query after:: $substr(%PLAY_DATE%,3,4) IS $substr(20050102,5,6)

INFO (foo_playlist_tree) : populate: 20 ms


And yet the query still gives nothing...
[a href="index.php?act=findpost&pid=262722"][{POST_SNAPBACK}][/a]


try adding double or single quoates around it so its $substr("%systemdate%",5,6) or $substr('%systemdate%',5,6)
Title: foo_playlist_tree
Post by: topdownjimmy on 2005-01-02 21:11:55
no, neither of those work...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-03 16:10:15
Quote
The way I implement my minimum height is a little different than the way foo_uie_tabs does it, so the actual height is different if the values are the same.
[a href="index.php?act=findpost&pid=262372"][{POST_SNAPBACK}][/a]


I just uploaded a new version that implements minimum height in a way that should be compatible with foo_uie_tabs.  I believe the scale will be the same now.
Title: foo_playlist_tree
Post by: topdownjimmy on 2005-01-03 16:25:50
Believe I may have a bug on my hands...

I like to have a query for music I haven't sorted yet, i.e., files in a "_download" directory:

Code: [Select]
%_directoryname% IS _download


The display format I use is:

Code: [Select]
[%artist% - %album%]|%_filename%


I'm trying to have albums listed first, followed by the untagged files listed by filename.  This displays correctly on the playlist tree, but when I select one of the untagged files in the playlist tree, the wrong file is selected in the playlist tree browser:

(http://img13.exs.cx/img13/4468/foobar0oi.gif)

What might the cause be?
Title: foo_playlist_tree
Post by: topdownjimmy on 2005-01-03 16:53:15
Another thing that would be great (not sure if this has been suggested) is a customizable playlist tree browser based on which query you're looking at - for instance, if you have a query that's set up specifically to display only singles, you won't need an "Album" column.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-03 17:13:22
Quote
I'm trying to have albums listed first, followed by the untagged files listed by filename.  This displays correctly on the playlist tree, but when I select one of the untagged files in the playlist tree, the wrong file is selected in the playlist tree browser:

What might the cause be?
[a href="index.php?act=findpost&pid=262845"][{POST_SNAPBACK}][/a]


Try getting the latest version and see if the problem still shows up, I noticed a similar problem last night and fixed it...
Title: foo_playlist_tree
Post by: Genesis on 2005-01-03 20:27:07
I asked about sorting on a files last modified in explorer but got no response on this. I would like to show files in the order i have downloaded them. Is this doable?
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-03 20:43:44
Quote
I asked about sorting on a files last modified in explorer but got no response on this. I would like to show files in the order i have downloaded them. Is this doable?
[a href="index.php?act=findpost&pid=262896"][{POST_SNAPBACK}][/a]


I dont think there is any way to do this now.  The only way I could see it working is if I added a special tag for the tree that inserts the date, but I'd rather not add more fake tags unless it pertains to a feature of the playlist tree.  ($sum and $avg have meaning in the tree but nowhere else, but a tag like %modified_date% would be something that should be in the core formatting not an add on for one particular application)
Title: foo_playlist_tree
Post by: spase on 2005-01-03 21:32:19
would it be possible to configure double clicking a track in the browser list to do something (like play, or add to playlist, or both?)
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-03 21:41:04
Quote
would it be possible to configure double clicking a track in the browser list to do something (like play, or add to playlist, or both?)
[a href="index.php?act=findpost&pid=262905"][{POST_SNAPBACK}][/a]


I might make it configurable eventually, but for now double clicking does the following actions (from readme.txt)

right click:context menu

left click: Sets the focus of the playlist to the current item in the browser if it is in the playlist

double click:      Send active list to playlist and play selected item

control dbl click:   Add selected item to playlist

shift dbl click:      Add active list to playlist
Title: foo_playlist_tree
Post by: marcomk on 2005-01-04 16:39:18
Hi,

  I was away for just a couple of weeks and I found great additions to this plugin...    The browser is the main one and I have to say it's a great idea. So you can browse your music without messing up your active playlist...

Making a new browser window implies a huge amount of work, I guess - fonts, columns, background etc. have to be customizable, drag and drop is needed, etc. I'm sure cwbowron has already planned all these features and probably musicmusic's columns ui is a great help for implementing them. However, I found out an issue which is probably not very easy to solve...

Here it is: if you browse your files in the main playlist window, other plugins like Track info or Album art could visualize informations about the selected track with the "follow cursor" feature. However, if you browse your files in a specific browsing window, Track info and Album art don't respond unless you browse files which are already present in the active playlist.

I know this behaviour does not depend entirely on Playlist tree, still it raises some questions about the way the plugins communicate with each other. It seems that plugins can only react to events that occur in the main playlist area and not in other plugins... At which level does this limitation exist? In the core? In Columns UI? Is some kind of new standard needed?
Maybe this topic has to be raised in a new thread...

Just a little request regarding the core of Playlist tree now... 

When I expand/collapse a branch in the tree, everything is fine as long as the operation does not make appear/disappear scrollbars. If this happens, the background flickers in an annoying way. This is more obvious if the Playlist tree background is set to a dark color.
As far as I can understand, when I expand/collapse a branch in a way that a scrollbar has to appear/disappear, first the background turns gray (sidebar's original background), then the scrollbar appears, then the background turns blue (my Playlist tree background custom color), then the new tree appears.
In Albumlist the process is smoother: the background doesn't seem to turn gray at all.

Thanks for the great work and happy new year 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-04 17:55:09
Quote
Making a new browser window implies a huge amount of work, I guess - fonts, columns, background etc. have to be customizable, drag and drop is needed, etc. I'm sure cwbowron has already planned all these features and probably musicmusic's columns ui is a great help for implementing them. However, I found out an issue which is probably not very easy to solve...
[a href="index.php?act=findpost&pid=263029"][{POST_SNAPBACK}][/a]


Yes, making a really nice browser would take a lot of work, and unfortunately I probably don't have the time necessary to do it... I would like to make it customizable with all the bells and whistles of column ui, but it is not likely..

If someone else would like to make a coolor browser, my code is available and I welcome it...

I think in the long run the best possibility would be to create a service that every plugin would be able to utilize and that way if someone wanted to create a better one it would be a matter if overriding a base class... If a browser service were added then any plugin that wanted to display a list of files could use the same browser....

Quote
When I expand/collapse a branch in the tree, everything is fine as long as the operation does not make appear/disappear scrollbars. If this happens, the background flickers in an annoying way. This is more obvious if the Playlist tree background is set to a dark color.
As far as I can understand, when I expand/collapse a branch in a way that a scrollbar has to appear/disappear, first the background turns gray (sidebar's original background), then the scrollbar appears, then the background turns blue (my Playlist tree background custom color), then the new tree appears.
[a href="index.php?act=findpost&pid=263029"][{POST_SNAPBACK}][/a]


I just uploaded a new version that I believe will solve the flicker issue...

Quote
Thanks for the great work and happy new year 
[a href="index.php?act=findpost&pid=263029"][{POST_SNAPBACK}][/a]


Thank you, and happy new year to you as well.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-04 18:18:11
Hi cwbowron, about the double query population bug: ATM I have 2 queries that use the $playing() command. On startup I get the following output;
Code: [Select]
INFO (foo_playlist_tree) : idx = -1, to = 5087
INFO (foo_playlist_tree) : now_playing = -1
INFO (foo_playlist_tree) : playback_cursor = -1
INFO (foo_playlist_tree) : Elapsed Time Loading: 0 ms
INFO (foo_playlist_tree) : populate: 2093 ms
INFO (foo_playlist_tree) : populate: 6359 ms
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : populate: 1793 ms
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : populate: 1011 ms
INFO (foo_playlist_tree) : populate: 30 ms
INFO (foo_playlist_tree) : populate: 40 ms
INFO (CORE) : startup time: 20650 ms

..is this normal behaviour? I do have a total of 6 queries.

Would it be possible to add a shortcut, i.e. F5, to refresh the current node? Would mean a great deal to me   

Thanks!
eph
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-04 18:34:46
Just discovered another quirk:
With the album 300% Dynamite!, the playlist tree displays 300[SYNTAX ERROR IN FORMATTING STRING]... but I understand changing this probably has some less pleasant consequences 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-04 19:15:52
Quote
Hi cwbowron, about the double query population bug: ATM I have 2 queries that use the $playing() command. On startup I get the following output;
..is this normal behaviour? I do have a total of 6 queries.

Would it be possible to add a shortcut, i.e. F5, to refresh the current node? Would mean a great deal to me   
[a href="index.php?act=findpost&pid=263046"][{POST_SNAPBACK}][/a]


Yep, that is normal behaviour.  Only 6 queries are populated.  The reason that "Nothing playing" prints out a total of 4 times is that each query population gets the format string twice in the current implementation, but this should should have very little impact on the speed of the population.

I just uploaded a new version that offers a menu option for populating the current selection under Components->Playlist Tree->Refresh Selected which you can add as a global hotkey for whatever key you would like.

As for the 300% Dynamite quirk, Any folder name that has a $ or % in it will be run though the title formatting process... if this is a static folder you are making you can rename it with single quotes...
Title: foo_playlist_tree
Post by: marcomk on 2005-01-05 16:44:35
Quote
Quote

As far as I can understand, when I expand/collapse a branch in a way that a scrollbar has to appear/disappear, first the background turns gray (sidebar's original background), then the scrollbar appears, then the background turns blue (my Playlist tree background custom color), then the new tree appears.
[a href="index.php?act=findpost&pid=263029"][{POST_SNAPBACK}][/a]


I just uploaded a new version that I believe will solve the flicker issue...
[a href="index.php?act=findpost&pid=263042"][{POST_SNAPBACK}][/a]


Hi,

  It's much better now, the gray background does not come up any more. 

There are still some minor cosmetic issues though. When you expand/collapse a branch which makes a scrollbar appear/disappear, the window border flickers for a while... The same thing happens if you resize the Playlist tree window. Albumlist panel doesn't seem to have this problem when resizing the window, expanding branches, etc.

Last little request: the gray background appears for a while when you refresh the tree. If the tree is very complex, the empty gray background stays for two-three seconds. Can you just leave the tree on?

Thanks again 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-05 17:48:15
Quote
  It's much better now, the gray background does not come up any more.  

There are still some minor cosmetic issues though. When you expand/collapse a branch which makes a scrollbar appear/disappear, the window border flickers for a while... The same thing happens if you resize the Playlist tree window. Albumlist panel doesn't seem to have this problem when resizing the window, expanding branches, etc.

Last little request: the gray background appears for a while when you refresh the tree. If the tree is very complex, the empty gray background stays for two-three seconds. Can you just leave the tree on?

Thanks again 
[a href="index.php?act=findpost&pid=263181"][{POST_SNAPBACK}][/a]


I think I got the refresh tree issue solved... the tree should stay put while the queries are being refreshed, hopefully no more empy gray background...

The border flicker I'm not sure about... Being that its a rather minor issue, I'm probably not going to worry too much about it...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-05 18:56:43
Hi cwbowron,

You've done a great job. I've been two weeks away and now I see that you've implemented a lot of new features, including a playlist browser, your plugin rocks dude 

I'm playing with some of the new features, mostly the playlist browser. Now some suggestions for that new feature :

- Maybe adding a tab for the playlist tree browser inside the playlist tree preferences will be more comfortable. You'll also get more space for more options

- Possibility to add options for double-click in the browser i.e. add to playlist, send to playlist, send to new playlist, etc... we have the shortcuts (control dbl click, etc...) but we all love to customize stuff, do we?  [Edit: Sorry, I've just seen that someone has already requested it]

- Possibility to disable autoresize columns. I like to have my columns size locked.

- Disable 'Sets the focus of the playlist to the current item in the browser if it is in the playlist'. I will like only to select it.

About other features:

- Dequeue: Great, thanks you very much, that's exactly what I was looking for  Just one thing, I've noticed that if you play one track, but you don't play it completely, the track remains in the playlist (which is normal, since you didn't played it completely) but after that if you select it again (in the active playlist) it will then disappear. It's this intended?

- $playing():

Is there a way to implement something that gets $playing() info into a query name? I.e. Feels like [%title% IS $playing(%title%)]

Possibility to auto-refresh individual queries could be great for this type of function. For ex. on track change.

- Playlist tree search: Possibility to remove 'cancel' button. It takes to much height and I don't know if it's really useful in the toolbar usage (in the panel it is because it closes the find window, but in the toolbar it doesn't close anything).
Title: foo_playlist_tree
Post by: mazy on 2005-01-05 19:14:59
Quote
- $playing():

Is there a way to implement something that gets $playing() info into a query name? I.e. Feels like [%title% IS $playing(%title%)]

Possibility to auto-refresh individual queries could be great for this type of function. For ex. on track change.[a href="index.php?act=findpost&pid=263207"][{POST_SNAPBACK}][/a]

what do you mean exactly? for example i have query like %_directoryname% IS $playing(%_directoryname%) and it works like a charm, though i've requested features that would allow using that in query's name etc. atm there are some problems with parsing so i can't do all that i would like to do.

as for automatic refresh on track change for such queries - that has been requested by me too  (in a more general way)
Title: foo_playlist_tree
Post by: marcomk on 2005-01-05 19:48:42
Quote
The border flicker I'm not sure about... Being that its a rather minor issue, I'm probably not going to worry too much about it...
[a href="index.php?act=findpost&pid=263192"][{POST_SNAPBACK}][/a]


You're right, it's not a major issue, although it is more noticeble with a dark background...  I hope this could go in your todo list anyway, even if with a low priority 

Quote
- Playlist tree search: Possibility to remove 'cancel' button. It takes to much height and I don't know if it's really useful in the toolbar usage (in the panel it is because it closes the find window, but in the toolbar it doesn't close anything).


I second this... Also, I think the toolbar should be as simple as possible, with just one button. The kind of search selected could go in the preferences, maybe in a search tab. Otherwise, if you want to keep two buttons in the toolbar, maybe you could make an option in the preferences to set your default search... So that, if you hit enter after the keyword, you'll start your preferred search. 

I also noticed that if I search for a popular artist with the All button, the search takes quite a lot. This is mainly due to the fact that the search is done in the whole tree, which in my case replicates the database 5 or 6 times... If it's too much work to make the All button search the database instead of the tree, a workaround could be that you could set in the preferences in which node the All search has to operate... So you can set it to search just in one of your general views...

Thank you very much for solving the gray background issue and all my other requests!!!
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-05 19:54:28
Quote
what do you mean exactly? [a href="index.php?act=findpost&pid=263210"][{POST_SNAPBACK}][/a]

I mean, I would like to create a static folder which will contain dynamic folders based on now playing track, and I would like that folder to be called 'Feels like "song title now playing"' If i.e. the song "Digital bath" is playing the folder should display 'Feels like "Digital Bath"' 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-05 20:03:58
Quote
Quote
what do you mean exactly? [a href="index.php?act=findpost&pid=263210"][{POST_SNAPBACK}][/a]

I mean, I would like to create a static folder which will contain dynamic folders based on now playing track, and I would like that folder to be called 'Feels like "song title now playing"' If i.e. the song "Digital bath" is playing the folder should display 'Feels like "Digital Bath"' 
[a href="index.php?act=findpost&pid=263216"][{POST_SNAPBACK}][/a]


I just uploaded a new version that should allow you to use $playing() in the title of a folder.
Title: foo_playlist_tree
Post by: mazy on 2005-01-05 20:04:29
ok then, that was requested - titleformatting in folders / names. that's exactly what i want to do

edit: oi, cwbowron, man i love you
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-05 20:13:30
Quote
I just uploaded a new version that should allow you to use $playing() in the title of a folder.
[a href="index.php?act=findpost&pid=263220"][{POST_SNAPBACK}][/a]

Thanks!
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-06 10:47:37
Hi cwbowron,
Thanks for all your magic! 

Quote
I just uploaded a new version that offers a menu option for populating the current selection under Components->Playlist Tree->Refresh Selected which you can add as a global hotkey for whatever key you would like.

Thanks  I noticed that the shortcut doesn't update the browser window though..

Quote
Possibility to auto-refresh individual queries could be great for this type of function. For ex. on track change.
[a href="index.php?act=findpost&pid=263207"][{POST_SNAPBACK}][/a]

Another vote 

Quote
As for the 300% Dynamite quirk, Any folder name that has a $ or % in it will be run though the title formatting process... if this is a static folder you are making you can rename it with single quotes...
[a href="index.php?act=findpost&pid=263056"][{POST_SNAPBACK}][/a]

Nope it's in a query (full database).. what about only replacing a list of known commands, as for the tags, maybe only replace if the % sign is not followed by space/EOL?

Quote
Dequeue: Great, thanks you very much, that's exactly what I was looking for  Just one thing, I've noticed that if you play one track, but you don't play it completely, the track remains in the playlist (which is normal, since you didn't played it completely) but after that if you select it again (in the active playlist) it will then disappear. It's this intended?

I wanted to comment on this before, because it doesn't only happen when skipping tracks, but I couldn't find an exact way to describe it. Try selecting the track after the one playing (also with shuffle on), now select the playing track. One of the tracks disappears. This is also repeatable after the playing track is already gone.. 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-06 12:40:07
Quote
I wanted to comment on this before, because it doesn't only happen when skipping tracks, but I couldn't find an exact way to describe it. Try selecting the track after the one playing (also with shuffle on), now select the playing track. One of the tracks disappears. This is also repeatable after the playing track is already gone.. 
[a href="index.php?act=findpost&pid=263314"][{POST_SNAPBACK}][/a]

It happens here too 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-06 14:32:47
Quote
Thanks   I noticed that the shortcut doesn't update the browser window though..


I just uploaded a new version that fixes this....

Quote
Quote
As for the 300% Dynamite quirk, Any folder name that has a $ or % in it will be run though the title formatting process... if this is a static folder you are making you can rename it with single quotes...
[a href="index.php?act=findpost&pid=263056"][{POST_SNAPBACK}][/a]

Nope it's in a query (full database).. what about only replacing a list of known commands, as for the tags, maybe only replace if the % sign is not followed by space/EOL?




Well, don't want to only replace on known commands in case the list of commands changes... but here's my suggestion:  wrap your %album% tag in the query format with a $replace(%album%,'%',Percent)  or $replace(%album%,'%', $char(39)'%'$char(39))... it should work as a work around to the problem..

Quote
Quote
Dequeue: Great, thanks you very much, that's exactly what I was looking for  Just one thing, I've noticed that if you play one track, but you don't play it completely, the track remains in the playlist (which is normal, since you didn't played it completely) but after that if you select it again (in the active playlist) it will then disappear. It's this intended?

I wanted to comment on this before, because it doesn't only happen when skipping tracks, but I couldn't find an exact way to describe it. Try selecting the track after the one playing (also with shuffle on), now select the playing track. One of the tracks disappears. This is also repeatable after the playing track is already gone.. 
[a href="index.php?act=findpost&pid=263314"][{POST_SNAPBACK}][/a]


I'm doing a pretty half-assed implementation of the dequeue stuff, i think there is a better way to do it, which i will look into...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-06 15:40:34
cwbowron,

Could it be possible to disable (or make an option) to not send to the browser the node content when you click (single click) on the + (expand) to expand/collapse a node? It slow down the expand/collapse function and if I want to really browse the content of the node I just have to single-click on the node itself (not the +) 

Thanks.

BW: Last track on the playlist with dequeue function on isn't removed from the playlist.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-06 15:50:31
Quote
Yes, making a really nice browser would take a lot of work, and unfortunately I probably don't have the time necessary to do it... I would like to make it customizable with all the bells and whistles of column ui, but it is not likely..
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=263042")

I've just read that musicmusic is working on a new column UI build that will be implement the playlist window as a panel, I don't know if you could use it as a base for the playlist tree browser 
[a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=28647&view=findpost&p=263335]http://www.hydrogenaudio.org/forums/index....ndpost&p=263335[/url]
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-06 15:56:29
Quote
cwbowron,

Could it be possible to disable (or make an option) to not send to the browser the node content when you click (single click) on the + (expand) to expand/collapse a node? It slow down the expand/collapse function and if I want to really browse the content of the node I just have to single-click on the node itself (not the +)  

Thanks.

BW: Last track on the playlist with dequeue function on isn't removed from the playlist.
[a href="index.php?act=findpost&pid=263356"][{POST_SNAPBACK}][/a]


I just uploaded a new version that uses a different implementation for dequeue that should work better...

When I single click to expand/collapse a node it doesnt automatically send the content to the browser, only when i actually select the label... If my selected node is a child of the node I am collapsing then I do see the parent node getting selected when the child is no longer visible, but just randomly expanding/collapsing another node I do not have the same problem.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-06 17:45:35
Quote
- Possibility to disable autoresize columns. I like to have my columns size locked.

[a href="index.php?act=findpost&pid=263207"][{POST_SNAPBACK}][/a]


I just uploaded a new version that you can disable the resizing... the sizes are not saved between instances of the program though, so you may have to arrange them to your liking when you startup foobar2k or the browser.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-06 22:22:58
Quote
Quote
Possibility to auto-refresh individual queries could be great for this type of function. For ex. on track change.
[a href="index.php?act=findpost&pid=263207"][{POST_SNAPBACK}][/a]

Another vote 
[a href="index.php?act=findpost&pid=263314"][{POST_SNAPBACK}][/a]


I just uploaded a new version that implements auto refreshing on tracks that use $playing()

to turn it on select Components->playlist tree->settings->auto refresh $playing

There might be some issues if auto-refresh is on and you delete a query node that is supposed to get updated, but I think I resolved the issue...
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-06 23:15:51
Quote
I just uploaded a new version that implements auto refreshing on tracks that use $playing()
[a href="index.php?act=findpost&pid=263452"][{POST_SNAPBACK}][/a]

Your mother ever told you that you rock
Thanks! 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-06 23:23:21
Quote
I just uploaded a new version that you can disable the resizing... the sizes are not saved between instances of the program though, so you may have to arrange them to your liking when you startup foobar2k or the browser.
[a href="index.php?act=findpost&pid=263390"][{POST_SNAPBACK}][/a]

Thanks you for that and all the new stuff  I hope that in the future you'll be able to implement something that will make the browser remember the sizes between instances 

BTW, bug report: in the browser characterr like ● and □ don't seems to be supported and are replaced by weird stuff.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-07 13:47:59
Small inconsistencies with the 'auto update $playing' feature:

- when an auto-updating query is selected, the browser doesn't change on track change,

- my folders are formatted like '%name%  [%length%]'. parent folders don't get updated (length stays 0:00).

Best regards,
eph
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-07 14:55:23
Quote
- when an auto-updating query is selected, the browser doesn't change on track change,


Fixed

Quote
- my folders are formatted like '%name%  [%length%]'. parent folders don't get updated (length stays 0:00).
[a href="index.php?act=findpost&pid=263592"][{POST_SNAPBACK}][/a]


Fixed

I also fixed the special characters problem jkwarras was having...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-07 15:03:40
Quote
I also fixed the special characters problem jkwarras was having...
[a href="index.php?act=findpost&pid=263596"][{POST_SNAPBACK}][/a]

Thanks
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-07 15:38:04
Quote
Thanks you for that and all the new stuff  I hope that in the future you'll be able to implement something that will make the browser remember the sizes between instances  
[a href="index.php?act=findpost&pid=263470"][{POST_SNAPBACK}][/a]


done... look under components->tree browser->auto-save columns sizes
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-07 18:00:45
Quote
done... look under components->tree browser->auto-save columns sizes
[a href="index.php?act=findpost&pid=263607"][{POST_SNAPBACK}][/a]

Yeah!  Issues with special characters are solved and the $playing() auto-refresh works great. Thanks again, you rock dude.

Just to report, foobar2000 takes a lot more time to close with your latests builds. I have quite a lot of queries so I guess it has to do with that. For the startup it takes like 30 seconds but to close it takes quite much more than that.

BTW, is there a way to get on the name of a folder the number of included items (ex. number of tracks on an album, etc...)?

I have some more requests/suggestions that you may want to implement if you have the time, it covers some things that i have already requested and some new stuff.

Playlist Tree:

- Right-click (to open context-menu) on a node send content to browser: option to disable it.

Browser:

- Options to double-click on browser.
- Column center/right/left align, etc... on browser.
- Color support on browser.

Playlist Tree and Browser:

- Update information on real-time (i.e. playcount or other tag changes like normal playlist does). Some sort of background update should be implemented to avoid continuous CPU usage... I don't know how for ex. the playlist handle that, it changes on real time, so I guess just by identifying the track playing on every playlist tree location and updating the info should do the trick, instead of refreshing continually on the background all the nodes content (even does that didn't change). Just guessing, I know nothing about that stuff...
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-07 18:16:53
It seems that Eskimos have a hundred words for snow.. there should be more variants for 'thank you', it gets boring after a while 

Thank you 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-07 18:23:06
Quote
It seems that Eskimos have a hundred words for snow.. there should be more variants for 'thank you', it gets boring after a while  
[a href="index.php?act=findpost&pid=263648"][{POST_SNAPBACK}][/a]

I was thinking exactly the same...let's see, I have: thanks you, you rock, you're the man, great job, keep up the good work, I love you.... 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-07 18:30:28
Quote
BW: Last track on the playlist with dequeue function on isn't removed from the playlist.
[a href="index.php?act=findpost&pid=263356"][{POST_SNAPBACK}][/a]

Bug report: I still get this  (not a big deal anyway).
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-07 18:33:21
Quote
Quote
BW: Last track on the playlist with dequeue function on isn't removed from the playlist.
[a href="index.php?act=findpost&pid=263356"][{POST_SNAPBACK}][/a]

Bug report: I still get this  (not a big deal anyway).
[a href="index.php?act=findpost&pid=263653"][{POST_SNAPBACK}][/a]


Ahh.. I know why that is... it only removes an item when a new items starts playing... So I'm guessing it stops playing but a new thing doest start so no removal is done...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-07 20:02:03
Quote
BTW, is there a way to get on the name of a folder the number of included items (ex. number of tracks on an album, etc...)?

I have some more requests/suggestions that you may want to implement if you have the time, it covers some things that i have already requested and some new stuff.

Playlist Tree:

- Right-click (to open context-menu) on a node send content to browser: option to disable it.

Playlist Tree and Browser:

- Update information on real-time (i.e. playcount or other tag changes like normal playlist does). Some sort of background update should be implemented to avoid continuous CPU usage... I don't know how for ex. the playlist handle that, it changes on real time, so I guess just by identifying the track playing on every playlist tree location and updating the info should do the trick, instead of refreshing continually on the background all the nodes content (even does that didn't change). Just guessing, I know nothing about that stuff...
[a href="index.php?act=findpost&pid=263646"][{POST_SNAPBACK}][/a]


Right now there is not a way to get the item count in a node,  but that should be an easy fix...

EDIT:  I added %itemcount% which does this

I just uploaded a new version that allows you to turn off selection of the item when you right click... if its off, and you right click on somehting, it won't be send to the browser automatically, but if you click send to playlist the item you right clicked on will be sent not the highlighted node... after using it for a second you will figure it out...

here's what i did for refreshing... I added a tag called $refresh... put it in the title off the query you want automatically refreshed... be sure there is a space after it... it will tell the program that although there is no $playing() in it, treat it like there was and the $refresh tag will be removed whenever the items is displayed...

So instead of the title "Last Ten Items" put "$refresh Last Ten Items"

EDIT: BTW, the way refreshes work is that I keep a list of all the nodes that need refreshing when a song change happens, so it doesnt continuously update the whole tree everytime... it just goes to that list and updates every node in the list...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-09 23:08:52
Bug report: dequeue doesn't work here. Only track that it's dequeued it's if you stop in the middle of a song, then this track is removed from playlist.

Three little requests:

- Possibility of having in the name of a folder the count of subfolders (like %itemcount% but for subfolders).

- Possibility of hide the content of a node including tracks and folders (static and dynamic). Why? For ex. for a 'feels like now playing' folder that contains a lot of subfolders with different queries, I will like to hide everything that's inside, and only display the results in the browser when clicking on the 'feels like now playing' folder.

- Possibility of specify a node to always search there when hitting the 'All' in the playlist tree search toolbar. This will prevent to search all nodes if you don't want to, and nevertheless, still display it in a 'search' node.

And just a thought: When refreshing folders with $playing() function every time a a track changes, I get a delay of 10 seconds where fb2k freezes (I see in the console that playlist tree is refreshing those nodes). It's not bad since my PC isn't a really new one (P3 800mhz 320MB Ram) and these folders in question contains quite a lot of queries. I wonder if the refresh instead of being done fully in the moment where the track changes, if it was done more gradually over the time the track is being played it will maybe less CPU consuming for old computers. Instead of being done in a time of 10 seconds, it was done in i.e. 3 min. it will be less consuming. but as always, I'm not a programmer so maybe I'm talking nonsense 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-09 23:53:33
Quote
Bug report: dequeue doesn't work here. Only track that it's dequeued it's if you stop in the middle of a song, then this track is removed from playlist.


Fixed it.

Quote
Three little requests:

- Possibility of having in the name of a folder the count of subfolders (like %itemcount% but for subfolders).

[a href="index.php?act=findpost&pid=264077"][{POST_SNAPBACK}][/a]


Added %foldercount%

I'll think about the other suggestions... Someone else has requested the hide feature before...

The option of doing the the population of queries gradually might be fairly complex so I dont think it will probably get done, but I have an idea of one way to do it...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-10 00:28:50
Quote
- Possibility of specify a node to always search there when hitting the 'All' in the playlist tree search toolbar. This will prevent to search all nodes if you don't want to, and nevertheless, still display it in a 'search' node.
[a href="index.php?act=findpost&pid=264077"][{POST_SNAPBACK}][/a]


look in the preferences... there's a new edit box that says "Search ctl-All node"... put the name of the node you'd like to search in that, and when you want to get all the nodes from only that node instead of click all, hold control when you hit all...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-10 20:13:38
Quote
Added %foldercount%



Quote
I'll think about the other suggestions... Someone else has requested the hide feature before...

That would really be a nice option.

Quote
The option of doing the the population of queries gradually might be fairly complex so I dont think it will probably get done, but I have an idea of one way to do it...
[a href="index.php?act=findpost&pid=264090"][{POST_SNAPBACK}][/a]

Hope you find some way of implement it.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-10 20:20:54
Quote
look in the preferences... there's a new edit box that says "Search ctl-All node"... put the name of the node you'd like to search in that, and when you want to get all the nodes from only that node instead of click all, hold control when you hit all...
[a href="index.php?act=findpost&pid=264094"][{POST_SNAPBACK}][/a]


Today I've been testing a lot the search function. This is what I've found, I hope you'll find it useful:

- Bug report: Search Ctl-All doesn't search in the specified node. In fact, I don't know where it really search but it doesn't return any results or very few when it should return a lot.

'Search' function beta-testing. Some suggestions:

- Close search node between fb2k sessions. Right now results node are auto-saved which reduces startup time.
- Be able to send search results to browser.
- Option to disable search as-you-type.
- Option to use Ctr-All as default 'All' search mode.

Another bug?: Lately I've been experiencing really huge closing times with fb2k. I didn't install any new component but yours. Sometimes it takes > 2 min and/or hangs and I have to force the closing.

- General component user impressions:

==> Tab in preferences for browser. Too much crowded right now (difficult to set up and some options are left out in the component main menu).
==> Speed improvements in general would be welcome.
==> Except for that and some other old request I'm really a happy user
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-10 21:23:59
Quote
- Possibility of hide the content of a node including tracks and folders (static and dynamic). Why? For ex. for a 'feels like now playing' folder that contains a lot of subfolders with different queries, I will like to hide everything that's inside, and only display the results in the browser when clicking on the 'feels like now playing' folder.
[a href="index.php?act=findpost&pid=264077"][{POST_SNAPBACK}][/a]


Done.
Title: foo_playlist_tree
Post by: rabio on 2005-01-10 22:30:16
i have 3 requests that would be great for playing albums and playlists with a remote control:

- a "show folder indexes" check box (as seen in the album list plugin options) or even better a %folderindex% field, that would allow numbering the albums.

- an option for Playlist Tree Search to allow searching "by index" or "by album"/"by folder". it would be useful to quickly and remotely "dial" any album/playlist (since they would all have a unique index) and add it to the main playlist.

- an option to print the playlist tree with indexes, or to save the displayed tree to a raw text file.



about the latest builds from jan 9 and 10 i'm also experiencing a slow foobar shutdown time. i noticed it only happens when i used the "search this" or "search all" context option. the Playlist Tree area freezes for up to 4 seconds before foobar closes down. sometimes the whole Playlist Tree area turns grey and the horizontal and vertical scrollbar buttons blink up/down and left/right pretty fast. i also got this error box once: "metadb_handle leaks, 1 objects".
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-10 22:51:14
Quote
- a "show folder indexes" check box (as seen in the album list plugin options) or even better a %folderindex% field, that would allow numbering the albums.

I think that %foldercount% does that, it display the number of subfolders in a node.

Quote
- an option for Playlist Tree Search to allow searching "by index" or "by album"/"by folder". it would be useful to quickly and remotely "dial" any album/playlist (since they would all have a unique index) and add it to the main playlist.

I guess that's what I also requested before  but hopefully cwbowron implemented that, if you specify a node (i.e. by album) then if you hold control and hit 'All' it'll search only in that node, is this what you're talking about?

Anyway, as I reported I don't seems to get it done correctly.

Quote
- i also got this error box once: "metadb_handle leaks, 1 objects".
[a href="index.php?act=findpost&pid=264329"][{POST_SNAPBACK}][/a]

I've also get this one but only once.
Title: foo_playlist_tree
Post by: jokull on 2005-01-11 01:45:42
Feature request: Is it possible to set the "Browse Playlist" to a variable? Specifically I want the playlist to be carry the same label as the query. That way you can trick Columns UI configs that display differently accoriding to playlist names, to display each playlist correctly. For instance; if one playlist in my tree is called Singles I might want to configure Columns UI to display it as a list of singles as opposed to a list of albums....
Title: foo_playlist_tree
Post by: rabio on 2005-01-11 12:27:11
Quote
Quote
- a "show folder indexes" check box (as seen in the album list plugin options) or even better a %folderindex% field, that would allow numbering the albums.

I think that %foldercount% does that, it display the number of subfolders in a node.

at first i thought %foldercount% was what i was looking for, but it displays the sum of the subfolders. what i meant is an index, like Album list does, giving each folder an individual number.

Quote
Quote
- an option for Playlist Tree Search to allow searching "by index" or "by album"/"by folder". it would be useful to quickly and remotely "dial" any album/playlist (since they would all have a unique index) and add it to the main playlist.

I guess that's what I also requested before  but hopefully cwbowron implemented that, if you specify a node (i.e. by album) then if you hold control and hit 'All' it'll search only in that node, is this what you're talking about?

i meant it like "search indexes only", "search albums only", "search folders only", restricting the results to nodes only, not files.
for example you would use the search by index, dial "816" then hit return or use a keyboard shortcut and it would add the content of index 816 to the main playlist. foobar control from the living room 


today i got this failure.txt:

[span style='font-size:4pt;line-height:100%']
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00D44FDBh
Access violation, operation: read, address: 00000090h
Call path:
WinMain=>app_shutdown
This is the first crash logged by this instance.
Code bytes (00D44FDBh):
00D44F9Bh:  50 E8 8B B2 00 00 8B C8 E8 54 B2 00 00 8B 4D 08
00D44FABh:  8D 45 E8 50 E8 E2 D3 FF FF 39 7D EC 8B 35 F8 20
00D44FBBh:  D5 00 74 06 FF 75 EC FF D6 59 39 7D 10 74 06 FF
00D44FCBh:  75 10 FF D6 59 8B 45 08 5F 5E C9 C2 1C 00 33 D2
00D44FDBh:  39 91 90 00 00 00 74 04 6A 13 EB 36 39 91 84 00
00D44FEBh:  00 00 74 04 6A 0D EB 2A 8B 41 6C 3B C2 74 25 39
00D44FFBh:  51 70 74 04 6A 0F EB 1A 3B C2 74 18 F7 81 9C 00
00D4500Bh:  00 00 FC FF FF FF 75 04 6A 0C EB 06 3B C2 74 04
Stack (0012BD68h):
0012BD48h:  C00000FD 0012BF80 0012BF58 00000000
0012BD58h:  AB31D2A8 AB31CFB0 AB31CFEC AB31D070
0012BD68h:  00D45CD3 00000000 01C3C6C8 00000000
0012BD78h:  0012BD9C 00000001 01C3C6C8 0012BDC8
0012BD88h:  00000000 0012BDC8 00D45C81 0012BD9C
0012BD98h:  00000001 00000000 00000000 00000000
0012BDA8h:  00000000 00000000 00000000 00000000
0012BDB8h:  00000000 00000000 00000000 00000000
0012BDC8h:  0012BE50 00D49E34 00000000 00000000
0012BDD8h:  00000001 0012BEB8 00D49B04 00000000
0012BDE8h:  006D005C 00730075 00630069 0048005C
0012BDF8h:  00720061 00200064 006F0052 006B0063
0012BE08h:  0020002C 0065004D 00610074 005C006C
0012BE18h:  00630061 00000009 00000000 00000000
0012BE28h:  0000000F 00000000 00D49B04 01CAD8E0
0012BE38h:  00000000 00000000 01C75940 00000000
0012BE48h:  00000000 00000000 0012BE7C 77D18709
0012BE58h:  001101FC 0000004E 000003E8 0012C084
0012BE68h:  00D49B04 DCBAABCD 00000000 0012BEB8
0012BE78h:  00D49B04 0012BEE8 77D24CA6 00D49B04
Registers:
EAX: 0012BD9C, EBX: 00000000, ECX: 00000000, EDX: 00000000
ESI: 01C3C6C8, EDI: 00000000, EBP: 0012BD8C, ESP: 0012BD68
Crash location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C7000h
kernel32                        loaded at 7C800000h - 7C904000h
USER32                          loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77EF0000h - 77F36000h
ole32                            loaded at 774A0000h - 775DC000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4C000h
RPCRT4                          loaded at 77E50000h - 77EE1000h
COMCTL32                        loaded at 77390000h - 77492000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76340000h - 7638A000h
SHELL32                          loaded at 7C9D0000h - 7D1F2000h
foo_ac3                          loaded at 008D0000h - 008E3000h
foo_ape                          loaded at 008F0000h - 0090F000h
foo_console                      loaded at 00910000h - 00917000h
foo_flac                        loaded at 00920000h - 0093C000h
foo_girder_dvdspy                loaded at 00940000h - 00947000h
foo_gym                          loaded at 00950000h - 009AB000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_infobox                      loaded at 009C0000h - 009D3000h
foo_input_std                    loaded at 009E0000h - 00A7E000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
WINMM                            loaded at 76AE0000h - 76B0F000h
foo_modplug                      loaded at 00B00000h - 00B57000h
foo_nez                          loaded at 00B60000h - 00B8B000h
foo_oggpreview                  loaded at 00B90000h - 00C91000h
foo_output_asio(dll)            loaded at 00CA0000h - 00CD1000h
foo_output_std                  loaded at 00CF0000h - 00CF9000h
foo_out_dsound_ex2              loaded at 00D00000h - 00D09000h
DSOUND                          loaded at 73E60000h - 73EBC000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_out_ks                      loaded at 00D20000h - 00D2B000h
SETUPAPI                        loaded at 778E0000h - 779D8000h
foo_playlistfind                loaded at 00D30000h - 00D3B000h
foo_playlist_tree                loaded at 00D40000h - 00D64000h
foo_pl_hopper                    loaded at 00D70000h - 00D76000h
foo_psf                          loaded at 00D80000h - 00E2C000h
foo_repeat                      loaded at 00E30000h - 00E4F000h
MSVCP60                          loaded at 76010000h - 76075000h
foo_rgscan                      loaded at 00E50000h - 00E5D000h
foo_scroll                      loaded at 00E60000h - 00E66000h
foo_search_ex                    loaded at 00E70000h - 00E78000h
foo_shn                          loaded at 00E80000h - 00E8F000h
foo_shuffle                      loaded at 00E90000h - 00E9B000h
foo_sid                          loaded at 00EA0000h - 00EE7000h
foo_spc                          loaded at 00F00000h - 00F11000h
foo_speex                        loaded at 00F20000h - 00F38000h
foo_tfmx                        loaded at 00F40000h - 00F49000h
foo_tta                          loaded at 00F50000h - 00F59000h
foo_uie_albumart                loaded at 00F60000h - 00F6C000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
gdiplus                          loaded at 4EB80000h - 4ED23000h
foo_uie_albumlist                loaded at 00F80000h - 00F91000h
foo_ui_columns                  loaded at 00FA0000h - 00FD7000h
foo_ui_std                      loaded at 00FE0000h - 00FF7000h
foo_vis_bacon                    loaded at 01000000h - 01018000h
foo_vis_manager                  loaded at 01020000h - 01028000h
foo_wavpack                      loaded at 01030000h - 01042000h
foo_web                          loaded at 01050000h - 01069000h
foo_wma                          loaded at 01170000h - 0118A000h
WMVCore                          loaded at 7D7B0000h - 7D9BA000h
wmidx                            loaded at 4B410000h - 4B439000h
WMASF                            loaded at 59D10000h - 59D4C000h
OLEAUT32                        loaded at 770E0000h - 7716C000h
msdmo                            loaded at 73600000h - 73607000h
WININET                          loaded at 77AA0000h - 77B47000h
CRYPT32                          loaded at 779E0000h - 77A76000h
MSASN1                          loaded at 77A80000h - 77A92000h
urlmon                          loaded at 77170000h - 7720E000h
MSVFW32                          loaded at 75BA0000h - 75BC1000h
WSOCK32                          loaded at 71A10000h - 71A1A000h
WS2_32                          loaded at 719F0000h - 71A07000h
WS2HELP                          loaded at 719E0000h - 719E8000h
DRMClien                        loaded at 01190000h - 011DF000h
foo_xa                          loaded at 011F0000h - 011FF000h
foo_ym                          loaded at 012B0000h - 013FF000h
DisplaySpyHook                  loaded at 01200000h - 0121A000h
pshook                          loaded at 01230000h - 0123B000h
UxTheme                          loaded at 5B090000h - 5B0C8000h
keyboard                        loaded at 01740000h - 01750000h
events                          loaded at 16000000h - 16028000h
imagehlp                        loaded at 76C40000h - 76C68000h
DBGHELP                          loaded at 5D3F0000h - 5D491000h

Stack dump analysis:
Address: 00D45CD3h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 00D45C81h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 00D49E34h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 00D49B04h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 00D49B04h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 00D49B04h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 00D49B04h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 77D24CA6h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+000002C2h)
Address: 00D49B04h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D24CC8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+000002E4h)
Address: 77D24AF2h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+0000010Eh)
Address: 00D49B04h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 00D54748h, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 77D1B3B4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001CFh)
Address: 7C91EAE3h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 77D24A73h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+0000008Fh)
Address: 77D194E3h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongA" (+00000067h)
Address: 77D1DE6Eh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetPropW" (+000000BBh)
Address: 77D1B7ABh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SendMessageW" (+00000049h)
Address: 773AAF7Bh, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal414" (+00000FB4h)
Address: 00D5234Ch, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 773C6CF6h, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal384" (+0001AECCh)
Address: 00D5234Ch, location: "foo_playlist_tree", loaded at 00D40000h - 00D64000h
Address: 77EF5ECBh, location: "GDI32", loaded at 77EF0000h - 77F36000h
Symbol: "CreateCompatibleDC" (+000000BBh)
Address: 77D1C6C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "RedrawWindow" (+0000000Ch)
Address: 773C81C0h, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal384" (+0001C396h)
Address: 773C9021h, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal384" (+0001D1F7h)
Address: 773CA8A3h, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal384" (+0001EA79h)
Address: 773C9EADh, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal384" (+0001E083h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 773C9EADh, location: "COMCTL32", loaded at 77390000h - 77492000h
Symbol: "Ordinal384" (+0001E083h)
Address: 7C9205C8h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C920551h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)

Version info:
foobar2000 v0.8.3
UNICODE[/span]
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-11 14:23:57
Quote
at first i thought %foldercount% was what i was looking for, but it displays the sum of the subfolders. what i meant is an index, like Album list does, giving each folder an individual number.

You're right, I thought it also thought it was that, I hadn't the time to play with it. Maybe cwbowron could add support for it as a tag/variable in the display format.

I think I've managed to get the control-All function to work, but it only return results when both Label and Query (at least in foo_playlist_ge format) are exactly the same  i.e.
Label= year is 2000
Query= year IS 2000 |x| foo_playlist_gen format

if you rename label to 2000 it'll not work (at least here).

Edit: About the slow fb2k closing it seems closely related to the number of queries you have under the playlist tree. In another computer where I only have 3 queries it closes right away and it's a older computer. At home I must have around 15-20 different queries, only one with $playing() (and auto-resfresh) and 3-4 forcing the refresh via $refresh tag. It's a shame that this slow things so much because I love having all this queries, but I guess we can't have it all. I don't know if some speed improvements could be achieved 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-11 14:30:47
Quote
Quote
- Possibility of hide the content of a node including tracks and folders (static and dynamic). Why? For ex. for a 'feels like now playing' folder that contains a lot of subfolders with different queries, I will like to hide everything that's inside, and only display the results in the browser when clicking on the 'feels like now playing' folder.
[a href="index.php?act=findpost&pid=264077"][{POST_SNAPBACK}][/a]


Done.
[a href="index.php?act=findpost&pid=264309"][{POST_SNAPBACK}][/a]

I can't get this to work. If I hide the content of a folder the results are also hidden in the browser.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-11 14:35:45
Quote
Quote
Quote
- Possibility of hide the content of a node including tracks and folders (static and dynamic). Why? For ex. for a 'feels like now playing' folder that contains a lot of subfolders with different queries, I will like to hide everything that's inside, and only display the results in the browser when clicking on the 'feels like now playing' folder.
[a href="index.php?act=findpost&pid=264077"][{POST_SNAPBACK}][/a]


Done.
[a href="index.php?act=findpost&pid=264309"][{POST_SNAPBACK}][/a]

I can't get this to work. If I hide the content of a folder the results are also hidden in the browser.
[a href="index.php?act=findpost&pid=264487"][{POST_SNAPBACK}][/a]


I thought that's how you wanted it...

You want the contents to only be hidden in the tree, but to show up in the browser?
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-11 14:38:58
Quote
Edit: About the slow fb2k closing it seems closely related to the number of queries you have under the playlist tree. In another computer where I only have 3 queries it closes right away and it's a older computer. At home I must have around 15-20 different queries, only one with $playing() (and auto-resfresh) and 3-4 forcing the refresh via $refresh tag. It's a shame that this slow things so much because I love having all this queries, but I guess we can't have it all. I don't know if some speed improvements could be achieved 
[a href="index.php?act=findpost&pid=264486"][{POST_SNAPBACK}][/a]


Do you notice this only when you use search?  Do you have search as a seperate panel or use the popup search?

I think the problem is related to the restoration of a tree after a search... when you shut down, the search box performs that same shutdown code as if you had just closed the box and restores the tree to its previous state... I think that might be whats slowing down the fb2k shutdown....
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-11 16:43:16
Quote
- a "show folder indexes" check box (as seen in the album list plugin options) or even better a %folderindex% field, that would allow numbering the albums.
[a href="index.php?act=findpost&pid=264329"][{POST_SNAPBACK}][/a]


I just added %folderindex%

I also totally redid the way the configuration page is... hopefully users won't find it too annoying or difficult, but it will make it much easier for me to add new configuration options...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-11 16:51:02
Quote
I can't get this to work. If I hide the content of a folder the results are also hidden in the browser.
[a href="index.php?act=findpost&pid=264487"][{POST_SNAPBACK}][/a]


I added a variable called "Browse Hidden Content" that if checked will show the contents of a selected node in the browser but not in the tree itself...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-11 18:00:10
Quote
Do you notice this only when you use search?  Do you have search as a seperate panel or use the popup search?
[a href="index.php?act=findpost&pid=264492"][{POST_SNAPBACK}][/a]

Not only when I use search, but it seems to be worst if I've just used search, then the shutdown seems to hang and take forever. Without search I get a 2 min. closing time.

I use the toolbar search, as a separate panel.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-11 18:07:49
Quote
Not only when I use search, but it seems to be worst if I've just used search, then the shutdown seems to hang and take forever. Without search I get a 2 min. closing time.

I use the toolbar search, as a separate panel.
[a href="index.php?act=findpost&pid=264531"][{POST_SNAPBACK}][/a]


I just uploaded a new version with a variable called "Restore Tree After Search"... Try turning that off and see if that doesnt improve your shutdown time...
Title: foo_playlist_tree
Post by: rabio on 2005-01-11 19:22:53
thanks for %folderindex%!

would it be possible to have an option in the "folder display" variable so that query names are not numbered separately than subfolders? when i added %folderindex% to folder display like that: "%folderindex% - %name%" it also added a number to my queries "? - All", "1 - Albums"... but the numbering also started from 1 for the subfolders. if each folder had a unique number it would be great for adding a whole query or a subfolder to the main playlist with a remote control. it would look like that:

Code: [Select]
- 1 All
   - 2 - Albums
       + 5 - album
       + 6 - album
   - 3 - Compilations
       + 7 - compilation
       + 8 - compilation
   - 4 - Genres
       + 9 genre
       + 10 genre
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-11 20:42:32
Quote
Code: [Select]
- 1 All
   - 2 - Albums
       + 5 - album
       + 6 - album
   - 3 - Compilations
       + 7 - compilation
       + 8 - compilation
   - 4 - Genres
       + 9 genre
       + 10 genre

[a href="index.php?act=findpost&pid=264568"][{POST_SNAPBACK}][/a]


I just uploaded a new version that supports a %overallindex% tag that does this.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-11 23:16:29
Quote
I just uploaded a new version with a variable called "Restore Tree After Search"... Try turning that off and see if that doesnt improve your shutdown time...
[a href="index.php?act=findpost&pid=264535"][{POST_SNAPBACK}][/a]

Yes  It now closes in 9 seg.  Last time (previous version) it was around 75 seg. Very cool.

BTW, what's the new 'Incremental search' function?
Title: foo_playlist_tree
Post by: rabio on 2005-01-12 00:57:07
great  you'll soon be faster than our requests
adding everything to the playlist with the remote works pretty good!

(if somebody reads this and is interested in using a remote control here's how to do it with the Girder software:
- a "find" button to execute the Escape key (in case you typed a wrong number and want to start again), then the keyboard shortcut to bring the Find box.
- an "ok" button to execute the Return key to process the search, then the Escape key to close the find box, then the Space key to add the result to the main playlist.
press "find", then dial, then press "ok"  )

i ran into two problems related to search, would it be possible to restrict searching to the first "n" characters of each nodes?
- when i dialed number 96 it found album number 7 instead because this one was released in 1996. i could disable the display of Year, but there will always be an album with a number in it's name.
- i don't know why, but now when i search for 12 for example, it only finds track numbers while it worked perfectly and it only found album index 12 a few minutes ago. i could disable track numbers but it's the same than for the albums, if a title contains a number it's likely to fail at some point in the future.


it's not important since it works already well like it is, but i noticed that the %overallindex% is numbering like that:

Code: [Select]
- 1 All
  - 2 - Albums
      + 3 - album
      + ...
      + 233 - album
  - 234 - Compilations
      + 235 - compilation

- 1 All
  + 2 - Albums
  + 234 - Compilations


this numbering would look more natural when the nodes are not expanded:

Code: [Select]
- 1 All
  - 2 - Albums
      + 4 - album
      + ...
      + 233 - album
  - 3 - Compilations
      + 235 - compilation

- 1 All
  + 2 - Albums
  + 3 - Compilations



when unchecking "restore tree after search" foobar isn't slow to shut down anymore for me as well.

i found what was causing my slow foobar shutdowns:
when "restore tree after search" is checked and if using search, if i don't press Escape after my first search and erase manually what i typed to do another search, the node selection is messed up (when i click on a folder it doesn't turn blue) and all my next search attempts fail: the Playlist Tree background turns red if i search for a number higher than two digits.
if i close foobar while in this situation, it is quite slown to shut down, while the horizontal and vertical scrollbars from the Playlist Tree eventually blinking up/down and left/right.
if i uncheck "restore tree after search" this behaviour still happens, but it only slows down foobar's shutdown by a very small amount of time.
if i hit the Escape key to close the "find box" everything is back to normal and foobar closes down fine.

if i use the "Playlist Tree Search" toolbar as a column_ui panel instead of the "find box" that pops up in the column_ui panel when i use the keyboard shortcut, hitting Escape goes back to normal behaviour but i experience the slow shut down with blinking scrollbars.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 01:50:58
Quote
this numbering would look more natural when the nodes are not expanded:

Code: [Select]
- 1 All
  - 2 - Albums
      + 4 - album
      + ...
      + 233 - album
  - 3 - Compilations
      + 235 - compilation

- 1 All
  + 2 - Albums
  + 3 - Compilations

[a href="index.php?act=findpost&pid=264653"][{POST_SNAPBACK}][/a]


I just uploaded a new version that numbers it this way...
Title: foo_playlist_tree
Post by: Haggis on 2005-01-12 02:12:47
This is really great, but I'm having a small problem with the "Double Click Autoplay" function. I've set up a query, and if I double click on a folder (for example representing an album), it will start playing. But when the first track ends, it will repeat one more time before going on to the second track.

This is most noticeable when "Double Click Replace" is also enabled.  If "Double Click Replace" is not enabled, then after playing the first song from the double clicked folder, it will go back in the playlist to what was playing before.

In other words, "Double Click Autoplay" does start playing what was double clicked, but it's as if it doesn't set the "current song cursor" (non-technical term) to the first item in the folder that was double clicked. When the song is finished, it then plays the next track as if the double click didn't change where in the playlist you were.

To reproduce, enable "Double Click Autoplay" and "Double Click Replace". Double click something to replace the playlist and start playing a track. Click the next track button, and the same track will start playing again. Clicking the next track button will then go to the next track.

Using the latest version posted today, and disabled most of my other extensions.

I hope this makes sense...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 02:30:35
Uploaded new version with configurable double click in browser.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 02:50:29
Quote
This is really great, but I'm having a small problem with the "Double Click Autoplay" function. I've set up a query, and if I double click on a folder (for example representing an album), it will start playing. But when the first track ends, it will repeat one more time before going on to the second track.
[a href="index.php?act=findpost&pid=264669"][{POST_SNAPBACK}][/a]


thanks for the bug report... Just uploaded a new version that should fix it...
Title: foo_playlist_tree
Post by: Haggis on 2005-01-12 03:02:44
Quote
thanks for the bug report... Just uploaded a new version that should fix it...
[a href="index.php?act=findpost&pid=264682"][{POST_SNAPBACK}][/a]

Indeed it does! Thank you very much.
Title: foo_playlist_tree
Post by: amiti on 2005-01-12 10:59:55
Hello cwbowron ,
Just a small thing : when double clicking an already selected folder its name opens for editing. can this be fixed so only one click will cause this behaviour and not double?
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-12 11:16:48
Quote
I also totally redid the way the configuration page is... hopefully users won't find it too annoying or difficult, but it will make it much easier for me to add new configuration options...
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=264520")

Not bad  I don't know if you're familiar with the [a href="http://mattiasdh.fastmail.fm/ffdshow.gif]ffdshow configuration page[/url]? Personally I like the easy selection of different items, and how you can see which items are enabled..

Quote
I just uploaded a new version with a variable called "Restore Tree After Search"... Try turning that off and see if that doesnt improve your shutdown time...
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=264535")

yep!

Thanks also for the browser configurability!

Another subject.. could you clarify the use of the external bitmap file? What are the different icons (lots unused?), and especially, to what color palette is it converted? My test-bmp can be found [a href="http://mattiasdh.fastmail.fm/playlist_tree.bmp]here[/url], but it gives some strange color shifts and dithering.
If you think it's worth the work, maybe it would be nice if the nodes could be replaced by the icons.. (in which case it would be nice to manually set the indentation)

Could you please also add an option not to show the horizontal scrollbar?

Thx!!
Title: foo_playlist_tree
Post by: rabio on 2005-01-12 12:19:45
this morning i found a way to "search for index only".
i just put "<%overallindex%>: %name%" as my Folder Display variable, and use Girder to automatically add < before and >: after the dialed number.
now it should work 100% with the remote. thanks so much for this plugin
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 15:04:01
Quote
Another subject.. could you clarify the use of the external bitmap file? What are the different icons (lots unused?), and especially, to what color palette is it converted? My test-bmp can be found here (http://mattiasdh.fastmail.fm/playlist_tree.bmp), but it gives some strange color shifts and dithering.
If you think it's worth the work, maybe it would be nice if the nodes could be replaced by the icons.. (in which case it would be nice to manually set the indentation)
[a href="index.php?act=findpost&pid=264745"][{POST_SNAPBACK}][/a]


What do you mean the nodes being replaced by icons?

I added this to the readme:

Code: [Select]
from the following function you can see which bitmap goes with which nodes.  The list
zero indexed so 1 refers to the second bitmap in the list.  The bitmaps are 16x16
16 colors bitmaps, using the windows system colors.  I tried to find a list of these
but I could not find one.  They might be a subset of the default colors in paint.


    int get_bitmap_index()
    {
 if (is_leaf())
     return 19;
 else if (m_hidden)
     return 13;
 else if (is_query()&&is_expanded())
     return 15;
 else if (is_query()&&get_num_children()==0)
     return 12;
 else if (is_query())
     return 14;
 else if (is_expanded())
     return 2;
 else
     return 1;
    }
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 15:14:44
Quote
Could you please also add an option not to show the horizontal scrollbar?
[a href="index.php?act=findpost&pid=264745"][{POST_SNAPBACK}][/a]


Done.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 17:14:02
I just uploaded a new version that should have faster queries and drops.  If you can, try a large query and time it and then upgrade and try the query again.  I'd like to see how much faster it is.
Title: foo_playlist_tree
Post by: Haggis on 2005-01-12 17:19:51
When I start Foobar, the playlist tree is unexpanded and doesn't vertically fill the panel so there is no scroll bar.  If I expand the tree using the number keys on the keyboard, then the panel expands beyond the height of the panel, but no scroll bar appears.  If I expand the tree using the mouse, then the scroll bar does appear.

While on this topic, what do you think of an option to automatically expand the tree to a certain level on startup?
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-12 17:29:09
Quote
I just uploaded a new version that should have faster queries and drops.  If you can, try a large query and time it and then upgrade and try the query again.  I'd like to see how much faster it is.
[a href="index.php?act=findpost&pid=264811"][{POST_SNAPBACK}][/a]

My fb2k loads playlist tree at startup, it has a lot of queries and drops, this is the results:
Previous version:
INFO (CORE) : startup time: 33829 ms
Latest version:
INFO (CORE) : startup time: 24525 ms

For stuff like $refresh and auto-refresh $playing() on track changes, it has reduced the populating here from +-24 seg. to 14 seg 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 18:13:23
Quote
When I start Foobar, the playlist tree is unexpanded and doesn't vertically fill the panel so there is no scroll bar.  If I expand the tree using the number keys on the keyboard, then the panel expands beyond the height of the panel, but no scroll bar appears.  If I expand the tree using the mouse, then the scroll bar does appear.

While on this topic, what do you think of an option to automatically expand the tree to a certain level on startup?
[a href="index.php?act=findpost&pid=264814"][{POST_SNAPBACK}][/a]


I fixed the scroll issue... I also added a configurable variable "Default Expansion"... set it to -1 for no default...

The expansion/contraction may result in the quickly disappearing/reappearing tree issue I have seen before but it is working now...
Title: foo_playlist_tree
Post by: metal_termite on 2005-01-12 18:29:10
What does the incremental search do as opposed to not having it enabled?
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 18:33:52
Quote
What does the incremental search do as opposed to not having it enabled?
[a href="index.php?act=findpost&pid=264826"][{POST_SNAPBACK}][/a]


Nothing.  Originally I was using an incremental search in the tree, then I added the option of disabling it, but I was running into serious issues with it enabled so I disabled incremental search altogether and removed the option in the latest release.
Title: foo_playlist_tree
Post by: rabio on 2005-01-12 18:53:23
- foobar startup with one big query ($drop: 600 folders, format "$directory(%_path%,3)|%_directoryname%|%_filename%")

jan 12 10:15:55:
INFO (foo_playlist_tree) : populate: 36623 ms
INFO (CORE) : startup time: 37795 ms

jan 12 11:41:54:
INFO (foo_playlist_tree) : populate: 36553 ms
INFO (CORE) : startup time: 37724 ms


- foobar startup with one big "empty" query (nothing in the query field, reads from database the same content than the 600 folders drop, format "$directory(%_path%,3)|%_directoryname%|%_filename%")

jan 12 10:15:55:
INFO (foo_playlist_tree) : populate: 1722 ms
INFO (CORE) : startup time: 3004 ms

jan 12 11:41:54:
INFO (foo_playlist_tree) : populate: 1753 ms
INFO (CORE) : startup time: 3045 ms


for this last query, if i use "%_directoryname%|%_filename%" instead, i get:
INFO (foo_playlist_tree) : populate: 4236 ms
INFO (CORE) : startup time: 5288 ms

it seems like with those format strings it's faster to populate 600 folders displayed as subfolders in 10 folders than 600 folders displayed in a single folder.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-12 19:49:14
Hi cwbowron,

I'll like to post some suggestions and problems that I've found lately using your component:

General usage:

- Uncheck 'use folder selected display' doesn't disable the display.
- Right-Click>Rename on a folder places last selected item/folder in the edit window.
- If you don't list i.e. tracks under a folder the content isn't displayed on the browser because it's simply not generated by the component. May a suggest a 'hide last level' of a node function? This will be very useful when you want only to display i.e. 'artist>album' in the playlist tree panel and 'tracknumber-title' in the browser. Right now the only way it's to list this level in both places.
- When you go down to several node level (i.e. by Artist>Artist>Album) and you display the content in the browser (you select it), then if you select another node that's on a superior level it send the content of the entire node and subnodes to the browser. I mean, you click on the + and it behaves like you select on it.

Search function:
- When I use 'Control-All', in the console it seems to search in places that aren't in the specified node because it returns me syntax formatting errors for files/folders that are not in the specified node.
- When removing search node it takes quite a long time.

** Suggestions: **

==> Search:
- Possibility to auto-hide results in search node (to see them only in browser) and get number of items returned ('ala' %itemcount%)
- Pption for Control-All as default search action.
- Specify what fields to search i.e. %artist%, %title%, %album%, etc... If I search for 'kyo' (an artist) in a node that only display %tracknumber% - %title% I'll get only results for %title% containing 'kyo', when I'm really looking for %artist%. What would be cool it's to have the possibility of searching several fields and specify the order 'ala' foo_playlistfind.

==> Playlist tree:
- Can you please consider making %itemcount% and %foldercount% available as a function in the display formatting? (i.e. $itemcount) This way user could specify where to display subitems counts for the next sublevel. i.e. I want to display the foldercount of albums for every artist.

I hope you'll find these suggestions/reports useful.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 20:18:15
Quote
- Uncheck 'use folder selected display' doesn't disable the display.


Fixed

Quote
- Right-Click>Rename on a folder places last selected item/folder in the edit window.


I think I fixed this...

Quote
==> Playlist tree:
- Can you please consider making %itemcount% and %foldercount% available as a function in the display formatting? (i.e. $itemcount) This way user could specify where to display subitems counts for the next sublevel. i.e. I want to display the foldercount of albums for every artist.
[a href="index.php?act=findpost&pid=264842"][{POST_SNAPBACK}][/a]


I think I hear what you want here, and its already possible through some trickery... Use single quotes around variables you dont want to get evaluated until they are displayed in playlist tree... So if you wanted Artist (#albums) | Album | Title use something like %artist% '(%itemcount%)'|%album%|%title%
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-12 21:44:44
Quote
I think I hear what you want here, and its already possible through some trickery... Use single quotes around variables you dont want to get evaluated until they are displayed in playlist tree... So if you wanted Artist (#albums) | Album | Title use something like %artist% '(%itemcount%)'|%album%|%title%
[a href="index.php?act=findpost&pid=264855"][{POST_SNAPBACK}][/a]

Cool, a hidden feature  That works thanks.

In the future I think you may want to consider splitting the preferences window into the 3 main subcomponents of your plugin: Playlist Tree, Browser, Search.

Last request of the day (sorry, I don't know how but I always come to find something new to ask for): Could you please consider adding the possibility of add a 'Not send content to browser' option? Why? For ex. in this kind of tree...

+All
--+Browse...
-----+by Artist
-----+by Album
--+Extras
-----+Last 50 played items

...everytime you click on 'All' or in 'Browse...' or 'Extras' you'll get the content of every query that's inside, what means duplicated content, etc... and it takes a lot of time to populate that. Some people (at least me) woudl find useful to not send this to the browser.
Title: foo_playlist_tree
Post by: metal_termite on 2005-01-12 22:05:48
I don't know if this is a bug or it's just me but rename folders doesn't work anymore. Right click > Rename... Nothing happens.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-12 22:13:26
Quote
I don't know if this is a bug or it's just me but rename folders doesn't work anymore. Right click > Rename... Nothing happens.
[a href="index.php?act=findpost&pid=264891"][{POST_SNAPBACK}][/a]

It works here 
Title: foo_playlist_tree
Post by: metal_termite on 2005-01-12 22:24:02
I downloaded the latest version and it now works. I was using the version from 2005-01-11.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-12 23:37:42
Quote
+All
--+Browse...
-----+by Artist
-----+by Album
--+Extras
-----+Last 50 played items

...everytime you click on 'All' or in 'Browse...' or 'Extras' you'll get the content of every query that's inside, what means duplicated content, etc... and it takes a lot of time to populate that. Some people (at least me) woudl find useful to not send this to the browser.
[a href="index.php?act=findpost&pid=264878"][{POST_SNAPBACK}][/a]


I'll give some thought to a good way to do this...

I just uploaded a new version that supports a limit to the number of items that will be sent to the browser... I also added an option to swap the All/Ctrl-All behavior in the search... and an option to change the display name of search result nodes...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-13 00:14:34
Quote
Quote
I just uploaded a new version that should have faster queries and drops.  If you can, try a large query and time it and then upgrade and try the query again.  I'd like to see how much faster it is.
[a href="index.php?act=findpost&pid=264811"][{POST_SNAPBACK}][/a]

My fb2k loads playlist tree at startup, it has a lot of queries and drops, this is the results:
Previous version:
INFO (CORE) : startup time: 33829 ms
Latest version:
INFO (CORE) : startup time: 24525 ms

For stuff like $refresh and auto-refresh $playing() on track changes, it has reduced the populating here from +-24 seg. to 14 seg 
[a href="index.php?act=findpost&pid=264815"][{POST_SNAPBACK}][/a]


I just uploaded a new version that should improve the query time even more... could you rerun the test with the latest?
Title: foo_playlist_tree
Post by: phwip on 2005-01-13 00:25:44
Quote
I just uploaded a new version that should improve the query time even more... could you rerun the test with the latest?
[a href="index.php?act=findpost&pid=264927"][{POST_SNAPBACK}][/a]

My tree contains 165 queries which are all $drops of .m3u or .fpl files.  Most only contain 10 to 20 tracks.

PlaylistTree before changes (10/01 16:24)
attempt 1: INFO (CORE) : startup time: 39747 ms
attempt 2: INFO (CORE) : startup time: 35280 ms
attempt 3: INFO (CORE) : startup time: 32938 ms

PlaylistTree after first speed change (12/01 18:40)
attempt 1: INFO (CORE) : startup time: 35100 ms
attempt 2: INFO (CORE) : startup time: 33208 ms
attempt 3: INFO (CORE) : startup time: 33488 ms

PlaylistTree after second speed change (12/01 19:15)
attempt 1: INFO (CORE) : startup time: 39167 ms
attempt 2: INFO (CORE) : startup time: 37023 ms
attempt 3: INFO (CORE) : startup time: 39827 ms

So, unfortunately no significant difference for me, but this may be because it's lots of small queries rather than one big one.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-13 07:31:35
Quote
I just uploaded a new version that should improve the query time even more... could you rerun the test with the latest?
[a href="index.php?act=findpost&pid=264927"][{POST_SNAPBACK}][/a]

Just before going to work  There you go:

Previous:
INFO (CORE) : startup time: 35792 ms
Now:
INFO (CORE) : startup time: 22592 ms

Note: I added some new queries, that's why the previous startup time is almost the same as 2nd previous version (two previous version I mean). But anyway, it's seems to have speed up query refresh.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-13 16:53:04
Before:
[span style='font-size:8pt;line-height:100%']
INFO (foo_playlist_tree) : Elapsed Time Loading: 0 ms
INFO (foo_playlist_tree) : populate: 1182 ms
INFO (foo_playlist_tree) : populate: 4536 ms
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : populate: 141 ms
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : populate: 170 ms
INFO (foo_playlist_tree) : populate: 40 ms
INFO (foo_playlist_tree) : populate: 30 ms
INFO (foo_playlist_tree) : populate: 1112 ms
INFO (foo_playlist_tree) : populate: 60 ms
INFO (foo_playlist_tree) : titleformat string = 100% Dynamite!  [49:32]
INFO (foo_playlist_tree) : ret_val = 100[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 200% Dynamite!  [54:23]
INFO (foo_playlist_tree) : ret_val = 200[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 300% Dynamite!  [47:47]
INFO (foo_playlist_tree) : ret_val = 300[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 400% Dynamite!  [49:29]
INFO (foo_playlist_tree) : ret_val = 400[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 20%  [0:29]
INFO (foo_playlist_tree) : ret_val = 20[SYNTAX ERROR IN FORMATTING STRING]
INFO (CORE) : startup time: 8703 ms[/span]

Now:
[span style='font-size:8pt;line-height:100%']
INFO (foo_playlist_tree) : Elapsed Time Loading: 0 ms
INFO (foo_playlist_tree) : default: -1
INFO (foo_playlist_tree) : get_all_entries: 30 ms
INFO (foo_playlist_tree) : get_matching_handles: 150 ms
INFO (foo_playlist_tree) : sort_handles: 60 ms
INFO (foo_playlist_tree) : populate: 1022 ms
INFO (foo_playlist_tree) : total query: 1232 ms
INFO (foo_playlist_tree) : get_all_entries: 10 ms
INFO (foo_playlist_tree) : get_matching_handles: 10 ms
INFO (foo_playlist_tree) : sort_handles: 50 ms
INFO (foo_playlist_tree) : populate: 4056 ms
INFO (foo_playlist_tree) : total query: 4116 ms
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : get_all_entries: 0 ms
INFO (foo_playlist_tree) : get_matching_handles: 60 ms
INFO (foo_playlist_tree) : sort_handles: 0 ms
INFO (foo_playlist_tree) : populate: 0 ms
INFO (foo_playlist_tree) : total query: 60 ms
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : Nothing playing
INFO (foo_playlist_tree) : get_all_entries: 0 ms
INFO (foo_playlist_tree) : get_matching_handles: 40 ms
INFO (foo_playlist_tree) : sort_handles: 0 ms
INFO (foo_playlist_tree) : populate: 0 ms
INFO (foo_playlist_tree) : total query: 40 ms
INFO (foo_playlist_tree) : get_matching_handles: 0 ms
INFO (foo_playlist_tree) : sort_handles: 20 ms
INFO (foo_playlist_tree) : populate: 0 ms
INFO (foo_playlist_tree) : total query: 20 ms
INFO (foo_playlist_tree) : get_matching_handles: 0 ms
INFO (foo_playlist_tree) : sort_handles: 30 ms
INFO (foo_playlist_tree) : populate: 0 ms
INFO (foo_playlist_tree) : total query: 30 ms
INFO (foo_playlist_tree) : sort_handles: 0 ms
INFO (foo_playlist_tree) : populate: 0 ms
INFO (foo_playlist_tree) : total query: 30 ms
INFO (foo_playlist_tree) : get_all_entries: 0 ms
INFO (foo_playlist_tree) : get_matching_handles: 0 ms
INFO (foo_playlist_tree) : sort_handles: 50 ms
INFO (foo_playlist_tree) : populate: 0 ms
INFO (foo_playlist_tree) : total query: 50 ms
INFO (foo_playlist_tree) : titleformat string = 100% Dynamite!  [49:32]
INFO (foo_playlist_tree) : ret_val = 100[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 200% Dynamite!  [54:23]
INFO (foo_playlist_tree) : ret_val = 200[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 300% Dynamite!  [47:47]
INFO (foo_playlist_tree) : ret_val = 300[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 400% Dynamite!  [49:29]
INFO (foo_playlist_tree) : ret_val = 400[SYNTAX ERROR IN FORMATTING STRING]
INFO (foo_playlist_tree) : titleformat string = 20%  [0:29]
INFO (foo_playlist_tree) : ret_val = 20[SYNTAX ERROR IN FORMATTING STRING]
INFO (CORE) : startup time: 6670 ms[/span]

Thanks!
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-13 17:01:53
Quote
What do you mean the nodes being replaced by icons?


Well a first step would be that the icons behave like the node symbols, click to expand/collapse (maybe option for the whole entry to behave this way!?).
Second step would be to hide the node symbols; this way you can effectively design your own nodes..

Quote
The bitmaps are 16x16 16 colors bitmaps, using the windows system colors.  I tried to find a list of these but I could not find one.  They might be a subset of the default colors in paint.
[a href="index.php?act=findpost&pid=264788"][{POST_SNAPBACK}][/a]


Thanks for the explication. And yes, they should be the 16 leftmost colors in paint. could other palettes be a possibility?
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-13 18:20:00
Quote
Well a first step would be that the icons behave like the node symbols, click to expand/collapse (maybe option for the whole entry to behave this way!?).
Second step would be to hide the node symbols; this way you can effectively design your own nodes..


I just uploaded a new version with 3 more options:

Single Click Expand
Has Lines
Has Buttons

You should be able to do what you want by turning on single click expand and turning off has buttons...

Quote
Thanks for the explication. And yes, they should be the 16 leftmost colors in paint. could other palettes be a possibility?
[a href="index.php?act=findpost&pid=265086"][{POST_SNAPBACK}][/a]


I dont think its a possibility because I think the TreeView Control is limited to the system colors....
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-13 20:13:59
I think I reported this before (I don't remember) but it seems that when using $playing(%tag%) if the tag %tag% is missing the query doesn't return the right values.

i.e. rating IS $playing(%rating%) will return everything right when %rating% tag is present in the file. But if the file doesn't contain %rating% then the query will return tracks with all kind of different %rating%. What that type of query should return I guess is:

if file playing has rating then get all files with the same rating, BUT if file playing doesn't have rating then get all files without rating.

cwbowron, could you fix it or is this behaviour intended?

I've tried this via strings but I didn't come with a working script, I thought this would work but it didn't (something must be wrong):

Code: [Select]
$if($playing(%rating%),(rating IS $playing(%rating%)),(rating MISSING))
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-13 21:26:54
Quote
I just uploaded a new version with 3 more options:

Single Click Expand
Has Lines
Has Buttons

You should be able to do what you want by turning on single click expand and turning off has buttons...
[a href="index.php?act=findpost&pid=265107"][{POST_SNAPBACK}][/a]

Wow man just love it! 

2 more requests.. after I'll shut up -for a while at least 
1- option not to display files/songs in the playlist tree, only folders/queries
2- what about a hotkey to lock/unlock editing and moving around in the playlist tree? sometimes a quick unwanted drag is enough to rearrange the whole collection 

Cheers!
eph

edit:
3- pressing space (to add to playlist) always generates an annoying windows jingle...
4- please also option to set indentation manually, starting at 0 (directly below).
that's really all 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-13 22:34:27
Quote
1- option not to display files/songs in the playlist tree, only folders/queries
[a href="index.php?act=findpost&pid=265147"][{POST_SNAPBACK}][/a]

I think that what you want is the new option that has been implemented: hide leaf nodes. It hides the last level of the tree i.e. the tracks.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-13 23:02:58
Quote
I think that what you want is the new option that has been implemented: hide leaf nodes. It hides the last level of the tree i.e. the tracks.
[a href="index.php?act=findpost&pid=265161"][{POST_SNAPBACK}][/a]

My god you're right 
Quote
great  you'll soon be faster than our requests

He just did it  I guess I misinterpreted the option, thought it had something to do with hidden folders..
It would be nice though that -although the leaves are not displayed- the selected folder is displayed as opened!

btw jkwarras, cheers to a fellow bruxellian
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-14 01:05:15
Quote
2- what about a hotkey to lock/unlock editing and moving around in the playlist tree? sometimes a quick unwanted drag is enough to rearrange the whole collection 


I just uploaded a new version that has an option called "allow local drag and drop".  Uncheck it and it will not allow you to move existing nodes around... I also added a menu option to toggle it which will allow you to add a hotkey for it...

Quote
4- please also option to set indentation manually, starting at 0 (directly below).
that's really all 
[a href="index.php?act=findpost&pid=265147"][{POST_SNAPBACK}][/a]


Can you explain this a bit more...
Title: foo_playlist_tree
Post by: amiti on 2005-01-14 10:52:13
hi cwbowron,

the problem i mentioned earlier wasn't fixed yet. when doubleclicking any already selected folder the tracks are sent to playlist but at the same time the name of the folder opens for direct edit .can this be fixed ? maybe you can add an option to disable the direct name edit in the tree?


another thing is an idea for another option to be implemented : when  a folder is opened automatically the other unused open folders will be closed.

Amit
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-14 11:15:55
Quote
btw jkwarras, cheers to a fellow bruxellian
[a href="index.php?act=findpost&pid=265167"][{POST_SNAPBACK}][/a]

Cheers
BTW, I'm spanish but living in Brussels
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-14 11:27:39
Quote
Quote
2- what about a hotkey to lock/unlock editing and moving around in the playlist tree? sometimes a quick unwanted drag is enough to rearrange the whole collection 

I just uploaded a new version that has an option called "allow local drag and drop".  Uncheck it and it will not allow you to move existing nodes around... I also added a menu option to toggle it which will allow you to add a hotkey for it...

Thx. Could this also lock renaming (incl. F1, F2)?
Quote
Quote
4- please also option to set indentation manually, starting at 0 (directly below).
that's really all 
[a href="index.php?act=findpost&pid=265147"][{POST_SNAPBACK}][/a]

Can you explain this a bit more...
[a href="index.php?act=findpost&pid=265189"][{POST_SNAPBACK}][/a]

(http://mattiasdh.fastmail.fm/indent.gif)
Indentation distance marked in red. Please also notice that the selected folder is not displayed as opened if it's leaf nodes are hidden..

Lastly, queries with no results (or only this with $playing, I dont know exactly) don't update the browser. In my case this happens when starting foobar, selecting a $playing query (empty). Previous content is then still displayed in the browser.

Thanks again
eph
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-14 11:30:36
Quote
Cheers
BTW, I'm spanish but living in Brussels
[a href="index.php?act=findpost&pid=265258"][{POST_SNAPBACK}][/a]

Dont worry, ATM I'm living in Warsaw.. but I'll soon have to return  I just love this place..
Maybe we should move this to a separate thread
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-14 16:31:04
Quote
Thx. Could this also lock renaming (incl. F1, F2)?


Just uploaded a new version that has an option that disables label editing...

Quote
4- please also option to set indentation manually, starting at 0 (directly below).


... and an option to set indentation... (there is a system minimum though so you probably cannot get less than 5 pixels)

Quote
Lastly, queries with no results (or only this with $playing, I dont know exactly) don't update the browser. In my case this happens when starting foobar, selecting a $playing query (empty). Previous content is then still displayed in the browser.
[a href="index.php?act=findpost&pid=265262"][{POST_SNAPBACK}][/a]


Is this a feature request or a bug report?  When I click an empty folder/query it clears the browser at my end.
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-14 16:37:57
Quote
Is this a feature request or a bug report?  When I click an empty folder/query it clears the browser at my end.
[a href="index.php?act=findpost&pid=265327"][{POST_SNAPBACK}][/a]

Bug report. I think it only happens in the case described above ($playing query right after startup)..
EDIT: seems to be fixed (?)

EDIT2; the indentation doesn't work on my system (WXP SP2)

Thx for the rest 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-14 17:32:26
Quote
EDIT2; the indentation doesn't work on my system (WXP SP2)
[a href="index.php?act=findpost&pid=265328"][{POST_SNAPBACK}][/a]


What indentation did you try?  try a large one like 100 to test it... It might just be that it cant be small as you would like it...  (there's a minimum in the control that I don't think I can override)
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-14 21:35:53
New Feature: Context Menu Options {Query:Same Artist, Query:Same Title, Query:Same Album}.

Playlist tree now adds 3 items to the global context menu that will create new queries based on a selected file.  If you right click a song in the playlist and select Playlist Tree->Query:Same Title it will create a new node in the tree with all the songs in your collection that have the same title.  Great for finding cover versions, songs by the same artist, or all the songs on an album.

You can disable this feature by unchecking the "Add Context Menu Items" option.
Title: foo_playlist_tree
Post by: amiti on 2005-01-15 01:27:54
Thank you cwbowron



Amit
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-01-15 11:21:04
I just installed the last version, played a track and activated the "same artist" option. Then I used the search function.

Result is this failure (http://thx538.free.fr/Music/failure.txt).
Title: foo_playlist_tree
Post by: hotzenpl0tz on 2005-01-15 14:16:12
I have some feature requests, but I have to honestly admit that it could be that they are already in there, and I was just overwhelmed by all the features (and that is a good thing  )

Anyway:

- A possibility to save the tree without the information if folders are expanded/collapsed. I use playlist tree as a way to a) show me all my folders by directory structure and b) some added dynamic queries like an album list sorted by first letter. I klick around in these folders alot, but when I start foobar, I would like to always have the nodes collapsed for a better overview. Granted, i could just save my playlist tree in a collapsed state, but then I would have to stop using the auto-save/load feature.

- The possibility to save the state of a dynamic query and automatically load that state when opening foobar, instead of recalculating it. I have a rather complex (and unfortunately slow) dynamic query that sorty my music library by first letter, and when I start foobar it takes some seconds to populate that query, what annoys me because it does not change that often and could just be restored from a .col file or whatever.

If these things are possible already, please don't flame me and point me in the right direction

Thanks alot, and GREAT work on your component
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-15 15:10:20
Quote
I klick around in these folders alot, but when I start foobar, I would like to always have the nodes collapsed for a better overview.[a href="index.php?act=findpost&pid=265538"][{POST_SNAPBACK}][/a]

Set 'Default expansion' option as '0'
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-15 15:11:11
Quote
- A possibility to save the tree without the information if folders are expanded/collapsed. I use playlist tree as a way to a) show me all my folders by directory structure and b) some added dynamic queries like an album list sorted by first letter. I klick around in these folders alot, but when I start foobar, I would like to always have the nodes collapsed for a better overview. Granted, i could just save my playlist tree in a collapsed state, but then I would have to stop using the auto-save/load feature.


There is not an option to do this, but there is an option to set a default expansion level, which might do what you are looking for... if you set your expansion level to 1 only the root level will be expanded, everything else will always be collapsed when you start...

Quote
- The possibility to save the state of a dynamic query and automatically load that state when opening foobar, instead of recalculating it. I have a rather complex (and unfortunately slow) dynamic query that sorty my music library by first letter, and when I start foobar it takes some seconds to populate that query, what annoys me because it does not change that often and could just be restored from a .col file or whatever.[a href="index.php?act=findpost&pid=265538"][{POST_SNAPBACK}][/a]


That's a good suggestion, I will look into it...
Title: foo_playlist_tree
Post by: deer on 2005-01-15 19:28:51
@cwbowron:
why, when i use your plugin, foobar use soo many memory? what4?

without playlist_tree 4-10 mb
with 17-32 mb

but one plus
with your plugin foobar starts faster. i don't know how, but....

maybe it's a bug
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-16 01:38:30
Quote
What indentation did you try?  try a large one like 100 to test it... It might just be that it cant be small as you would like it...  (there's a minimum in the control that I don't think I can override)
[a href="index.php?act=findpost&pid=265343"][{POST_SNAPBACK}][/a]

0 to 20. You're right, higher values do work.. but are quite useless to me  Thanks anyway for the work..
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-16 13:54:23
Some small ideas for improvement:

1. Asynchronous update of tree and browser would heighten feeling of responsiveness IMHO. With large queries the tree waits some seconds to (un)fold. This should happen immediately, the browser update can follow when its ready.

2. Browser clicking should mimick tree clicking IMO. Same clicking = same actions (also middle click). Foobar can already be quite confusing, at least some consistence (or the ability to have some) in the same component would be nice

3. When sending a playlist from the tree while shuffle mode is active, it always starts playing the first track. Everytime I want to shuffle the whole collection, I hear the same song..

4. Would it be possible to have silent mode for local drag & drops, and to still be able to drop into foobar's playlist?

5. Please display folders/queries as opened when 'single click expand' is on and leaves are hidden. Like Windows Explorer in fact. (earlier request)

Keep up the great work!
Cheers eph
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-16 17:01:51
New Version:

From the change log:
option: save query results (default off)

changed disabled drag/drop workings.  Will now allow you to drag and drop to playlist but not drop to tree.

send to playlist uses TRACK_COMMAND_NEXT (if you use shuffle, it will start at a random song)

show expanded folder if item is selected and leaf nodes are hidden

ootion: background query refresh (default off) - This has not been thoroughly tested
Applies to: $playing refreshes, Menu Root.../Refresh, Initial Load  Right Click Refresh
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-16 17:53:55
Thanks!
but..
Quote
send to playlist uses TRACK_COMMAND_NEXT (if you use shuffle, it will start at a random song)

Doesn't work for me, neither Send to New nor Send to Library..?
Quote
show expanded folder if item is selected and leaf nodes are hidden
[a href="index.php?act=findpost&pid=265792"][{POST_SNAPBACK}][/a]

Only works in 1 case for me: not using external bitmap, on a query without subfolders. all other cases fail..

The good news : I like the background query refresh, immediate startup. Thanks 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-16 18:22:48
Quote
ootion: background query refresh (default off) - This has not been thoroughly tested
Applies to: $playing refreshes, Menu Root.../Refresh, Initial Load  Right Click Refresh
[a href="index.php?act=findpost&pid=265792"][{POST_SNAPBACK}][/a]

I get a crash when I enable this option, it closes immediately fb2k if I start playing a track. Here's the crash:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 77BFA57Fh
Access violation, operation: write, address: 0125F420h
Call path:

This is the first crash logged by this instance.
Code bytes (77BFA57Fh):
77BFA53Fh:  75 23 8B 4D 08 21 19 EB 1C 8D 4A E0 D3 EB 8D 4C
77BFA54Fh:  02 04 F7 D3 21 9C B8 C4 00 00 00 FE 09 75 06 8B
77BFA55Fh:  4D 08 21 59 04 8B 5D 0C 8B 53 08 8B 5B 04 8B 4D
77BFA56Fh:  FC 03 4D F4 89 5A 04 8B 55 0C 8B 5A 04 8B 52 08
77BFA57Fh:  89 53 08 89 4D FC 8B D1 C1 FA 04 4A 83 FA 3F 76
77BFA58Fh:  03 6A 3F 5A 8B 5D F8 83 E3 01 89 5D F4 0F 85 8F
77BFA59Fh:  00 00 00 2B 75 F8 8B 5D F8 C1 FB 04 6A 3F 89 75
77BFA5AFh:  0C 4B 5E 3B DE 76 02 8B DE 03 4D F8 8B D1 C1 FA
Stack (0A47FDD8h):
0A47FDB8h:  00D84148 00D84147 0012FBB4 0012FD24
0A47FDC8h:  00000000 0012FC64 00D7291D 00D93E98
0A47FDD8h:  04BB53D0 77BFC21B 04BB4680 03A89DEC
0A47FDE8h:  000000C0 00000010 00000030 0A47FE38
0A47FDF8h:  77BFC25D 0038DD14 04BB46AC 77BFC21B
0A47FE08h:  00000000 04BB53D0 0125B744 04BB4670
0A47FE18h:  00000000 0038DD14 0A47FE04 0A47F9FC
0A47FE28h:  0A47FFDC 77C05C94 77BE2070 00000000
0A47FE38h:  00000001 0124FC23 04BB4680 0418AF40
0A47FE48h:  04CE14C0 04BB53D0 000000C9 0125F468
0A47FE58h:  0125F460 0A47FE54 0124DDF1 00000001
0A47FE68h:  7C927C0C 00D90000 04CE14C0 04CE14C0
0A47FE78h:  0418AF40 00000000 00000000 00000000
0A47FE88h:  00000000 00000000 00000000 00000000
0A47FE98h:  00000000 00000000 00000000 00000000
0A47FEA8h:  00000000 00000000 00000000 00000000
0A47FEB8h:  00000000 00000000 00000000 00000000
0A47FEC8h:  00000000 00000000 00000000 00000000
0A47FED8h:  00000000 00000000 00000000 00000000
0A47FEE8h:  012DC58B 00000000 00000000 00000000
Registers:
EAX: 03A86030, EBX: 0125F418, ECX: 000000F0, EDX: 04BB2BCC
ESI: 04BB467C, EDI: 0000001E, EBP: 0A47FDF4, ESP: 0A47FDD8
Crash location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "get_sbh_threshold" (+00000173h)

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                         loaded at 7C800000h - 7C901000h
USER32                           loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77EF0000h - 77F36000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                           loaded at 77BE0000h - 77C38000h
ADVAPI32                         loaded at 77DA0000h - 77E4C000h
RPCRT4                           loaded at 77E50000h - 77EE1000h
COMCTL32                         loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
IMM32                            loaded at 76340000h - 7635D000h
LPK                              loaded at 62E30000h - 62E39000h
USP10                            loaded at 74D20000h - 74D8B000h
foo_abx                          loaded at 003F0000h - 003FA000h
foo_ac3                          loaded at 00A40000h - 00A53000h
foo_albumlist                    loaded at 00A60000h - 00A6B000h
foo_ape                          loaded at 00A70000h - 00A8F000h
foo_audioscrobbler               loaded at 00A90000h - 00AB0000h
LIBCURL                          loaded at 00AB0000h - 00AC9000h
WS2_32                           loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
WINMM                            loaded at 76B00000h - 76B2E000h
foo_bookmark                     loaded at 00B60000h - 00B71000h
MFC42u                           loaded at 727B0000h - 728AE000h
MFC42LOC                         loaded at 61DF0000h - 61DFE000h
foo_burninate                    loaded at 00B80000h - 00B8C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                         loaded at 00B90000h - 00B9E000h
foo_clienc                       loaded at 00BA0000h - 00BAB000h
foo_console                      loaded at 00BB0000h - 00BB7000h
foo_custom_sort                  loaded at 00BC0000h - 00BC8000h
foo_dbexplorer                   loaded at 00BD0000h - 00BDD000h
foo_dbsearch                     loaded at 00BE0000h - 00BFA000h
foo_diskwriter                   loaded at 00C00000h - 00C12000h
foo_dsp_continuator              loaded at 00C20000h - 00C28000h
foo_dsp_crossfade                loaded at 00C30000h - 00C37000h
foo_dsp_extra                    loaded at 00C40000h - 00C55000h
foo_filedate                     loaded at 00C60000h - 00C69000h
foo_flac                         loaded at 00C70000h - 00C8C000h
foo_flaccer                      loaded at 00C90000h - 00CA6000h
foo_freedb                       loaded at 00CB0000h - 00CE2000h
foo_G-Force                      loaded at 00CF0000h - 00CFB000h
foo_history                      loaded at 00D00000h - 00D15000h
foo_id3v2                        loaded at 00D20000h - 00D50000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_infobox                      loaded at 00D50000h - 00D63000h
foo_info_samurize                loaded at 00D70000h - 00D8A000h
foo_input_std                    loaded at 00EB0000h - 00F54000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_lame                         loaded at 00F70000h - 00F7C000h
foo_massdelete                   loaded at 00F80000h - 00F8A000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
foo_masstag                      loaded at 00F90000h - 00FA4000h
foo_matroska                     loaded at 00FB0000h - 0100B000h
foo_midi                         loaded at 01020000h - 010AE000h
MFC71                            loaded at 7C140000h - 7C243000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
OLEAUT32                         loaded at 770F0000h - 7717C000h
foo_mod                          loaded at 010F0000h - 010F9000h
BASS                             loaded at 01100000h - 0115A000h
foo_mpcenc                       loaded at 01160000h - 0116B000h
foo_nero                         loaded at 01170000h - 0117D000h
MFC42                            loaded at 73D50000h - 73E4E000h
foo_openwith                     loaded at 01180000h - 01189000h
foo_output_asio(exe)             loaded at 01190000h - 011BC000h
foo_output_std                   loaded at 011D0000h - 011D9000h
foo_out_dsound_ex                loaded at 011E0000h - 011E9000h
DSOUND                           loaded at 73E90000h - 73EEC000h
foo_out_ks                       loaded at 01200000h - 0120B000h
SETUPAPI                         loaded at 778F0000h - 779E7000h
foo_playcount                    loaded at 01210000h - 0121A000h
foo_playlistfind                 loaded at 01220000h - 0122B000h
foo_playlistgen_ex               loaded at 01230000h - 0123F000h
foo_playlist_tree                loaded at 01240000h - 01272000h
foo_pod                          loaded at 01280000h - 01303000h
foo_podclienc                    loaded at 01310000h - 01329000h
foo_podtranscoder                loaded at 01330000h - 01340000h
foo_qconfig                      loaded at 01340000h - 0134C000h
foo_quicktag                     loaded at 01350000h - 01359000h
foo_read_http                    loaded at 01360000h - 01375000h
foo_record                       loaded at 01380000h - 0138E000h
foo_remote                       loaded at 01390000h - 0139B000h
foo_rgscan                       loaded at 013A0000h - 013AD000h
foo_scheduler                    loaded at 013B0000h - 013C5000h
foo_scroll                       loaded at 013D0000h - 013D6000h
foo_send_to_pl                   loaded at 013E0000h - 013E9000h
foo_shuffle                      loaded at 013F0000h - 013FB000h
foo_spc                          loaded at 01400000h - 01411000h
foo_speex                        loaded at 01420000h - 01438000h
foo_systemdate2                  loaded at 01440000h - 0144B000h
foo_temple                       loaded at 01450000h - 0145B000h
foo_uie_albumart                 loaded at 01460000h - 0146C000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_uie_albumlist                loaded at 01480000h - 0148F000h
foo_uie_dbexplorer               loaded at 01490000h - 0149B000h
foo_uie_simple_spectrum          loaded at 014A0000h - 014AB000h
foo_uie_tabs                     loaded at 014B0000h - 014BA000h
foo_uie_trackinfo                loaded at 014C0000h - 014CB000h
foo_uie_volume                   loaded at 014D0000h - 014DA000h
foo_ui_columns                   loaded at 014E0000h - 01517000h
foo_ui_std                       loaded at 01520000h - 01537000h
foo_unpack                       loaded at 01540000h - 01571000h
foo_vis_bubbla                   loaded at 01580000h - 01594000h
OPENGL32                         loaded at 5F120000h - 5F1EC000h
GLU32                            loaded at 5FEA0000h - 5FEC1000h
DDRAW                            loaded at 736E0000h - 73729000h
DCIMAN32                         loaded at 73B40000h - 73B46000h
foo_vis_manager                  loaded at 035A0000h - 035A8000h
foo_vis_samurize2                loaded at 035B0000h - 035D7000h
foo_vis_simple_spectrum          loaded at 03700000h - 0370B000h
foo_vis_stereo                   loaded at 03710000h - 03798000h
foo_vis_vu_meter                 loaded at 037A0000h - 037A8000h
foo_vorbisenc                    loaded at 037B0000h - 038AA000h
foo_wavpack                      loaded at 038B0000h - 038C2000h
foo_web                          loaded at 038D0000h - 038E9000h
foo_wma                          loaded at 038F0000h - 03909000h
WMVCore                          loaded at 7D7A0000h - 7D9AA000h
wmidx                            loaded at 4B380000h - 4B3A9000h
WMASF                            loaded at 59DE0000h - 59E1C000h
msdmo                            loaded at 73630000h - 73637000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                           loaded at 77AF0000h - 77B02000h
urlmon                           loaded at 77230000h - 772CE000h
MSVFW32                          loaded at 75ED0000h - 75EF1000h
WSOCK32                          loaded at 71A50000h - 71A5A000h
DRMClien                         loaded at 03910000h - 0395F000h
foo_tbar                         loaded at 03970000h - 03979000h
foo_text                         loaded at 03980000h - 03993000h
msctfime                         loaded at 75160000h - 7518E000h
Powrprof                         loaded at 74A60000h - 74A68000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                           loaded at 77010000h - 770E0000h
msi                              loaded at 7D1F0000h - 7D4A2000h
USERENV                          loaded at 76630000h - 766E4000h
xpsp2res                         loaded at 20000000h - 202D6000h
SXS                              loaded at 76980000h - 76A31000h
mswsock                          loaded at 719D0000h - 71A10000h
DNSAPI                           loaded at 76EE0000h - 76F07000h
winrnr                           loaded at 76F70000h - 76F78000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
rasadhlp                         loaded at 76F80000h - 76F86000h
hnetcfg                          loaded at 66740000h - 66799000h
wshtcpip                         loaded at 71A10000h - 71A18000h
WINTRUST                         loaded at 76BF0000h - 76C1E000h
IMAGEHLP                         loaded at 76C50000h - 76C78000h
wdmaud                           loaded at 72CA0000h - 72CA9000h
msacm32                          loaded at 72C90000h - 72C98000h
midimap                          loaded at 77BA0000h - 77BA7000h
DBGHELP                          loaded at 5D4B0000h - 5D551000h

Stack dump analysis:
Address: 77BFC21Bh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000000h)
Address: 77BFC25Dh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000042h)
Address: 77BFC21Bh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000000h)
Address: 0125B744h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h
Address: 77C05C94h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "except_handler3" (+00000000h)
Address: 77BE2070h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "__non_rtti_object::`vftable'" (+00000C78h)
Address: 0124FC23h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h
Address: 0125F468h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h
Address: 0125F460h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h
Address: 0124DDF1h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h
Address: 7C927C0Ch, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "RtlReAllocateHeap" (+0000020Fh)
Address: 012522F3h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h
Address: 7C927C0Ch, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "RtlReAllocateHeap" (+0000020Fh)
Address: 7C91E2DCh, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "NtRegisterThreadTerminatePort" (+0000000Ch)
Address: 7C928E85h, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "CsrNewThread" (+0000000Bh)
Address: 7C80B50Bh, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "GetModuleFileNameA" (+000001B4h)
Address: 7C927C0Ch, location: "ntdll", loaded at 7C910000h - 7C9C6000h
Symbol: "RtlReAllocateHeap" (+0000020Fh)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C80B518h, location: "kernel32", loaded at 7C800000h - 7C901000h
Symbol: "GetModuleFileNameA" (+000001C1h)
Address: 012522E0h, location: "foo_playlist_tree", loaded at 01240000h - 01272000h

Version info:
foobar2000 v0.8.3
UNICODE


BTW: What does this option exactly do?
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-16 18:51:00
Bug reports: *Randomly* when I click on the + of a node, instead of only expand/collapse it populate the content of the node.

A little help wanted: Shouldn't this query work?
Code: [Select]
$if($playing(%rating%),(rating IS $playing(%rating%)),(rating MISSING))

'Extended Playlist generator format' checked.

I'm looking a way to get files with same rating as 'now playing', and if %rating% tag doesn't exist then return files with no rating tag.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 00:26:00
Quote
Bug reports: *Randomly* when I click on the + of a node, instead of only expand/collapse it populate the content of the node.

A little help wanted: Shouldn't this query work?
Code: [Select]
$if($playing(%rating%),(rating IS $playing(%rating%)),(rating MISSING))

'Extended Playlist generator format' checked.

I'm looking a way to get files with same rating as 'now playing', and if %rating% tag doesn't exist then return files with no rating tag.
[a href="index.php?act=findpost&pid=265828"][{POST_SNAPBACK}][/a]


Im guessing the populating bug is that its actually interpreting your click of the + as the second click of a double click...

As far as your query goes, $playing(%rating%) is probably returning ? rather than the empty string you would expect... I would rewrite the query to test to make sure that $playing(%rating%) is not ?.

EDIT:  you could also try $if($playing([%artist%]),...
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 00:36:51
Quote
Doesn't work for me, neither Send to New nor Send to Library..?
[a href="index.php?act=findpost&pid=265805"][{POST_SNAPBACK}][/a]


It only works on right click: Send To Playlist
Title: foo_playlist_tree
Post by: Haggis on 2005-01-17 01:18:13
Is there an option to have the playlist contents not selected when a tree node is double clicked?
Title: foo_playlist_tree
Post by: XanDaMan on 2005-01-17 11:52:57
A request, or pointer to help me to get this feature.

I have foobar's db setup to access my main library. However, is it possible to get this plug-in to display a dynamic list of songs from a folder?

And say if the song ceased to exsist in the oflder, it would remove it from the playlist?

This would be great, then i'd have a complete media player (once foo_temple gets updated).
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-17 12:20:45
Quote
I have foobar's db setup to access my main library. However, is it possible to get this plug-in to display a dynamic list of songs from a folder?

Use $drop function. Check the readme file.

Quote
And say if the song ceased to exsist in the folder, it would remove it from the playlist?
You should check by yourself, i'm not sure about that. If you select the option to refresh queries on startup (or save/load a configuration .col on startup) I think you'll have a up-to-date folder content 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-17 12:58:11
Quote
Im guessing the populating bug is that its actually interpreting your click of the + as the second click of a double click...

If it's the case, could this be disable? I expect it to collapse/expand everytime I click the +.

Quote
As far as your query goes, $playing(%rating%) is probably returning ? rather than the empty string you would expect... I would rewrite the query to test to make sure that $playing(%rating%) is not ?.
It's really weird because when you use something like this:
Code: [Select]
Query=$if(%rating%,(rating IS %rating%),(rating MISSING))

it works as expected. It returns everything that's in the database because either is rated (rating IS %rating%) or not rated (rating MISSING).

In the $playing(%rating%) case, it shouldn't return everything that's in the database, only those files that has same rating that now playing and if it %rating% doesn't exist then it should return only the files without %rating%. The query returns everything, as the query I've just posted. Maybe I understand the formatting incorrectly and it works as expected, but I really think that there's a problem there 

If I understand correctly if %tag% doesn't exist then $playing(%tag%) returns ?. Then my query should return all fiels that returns ? when calling $playing(%tag%) which isn't the case because it also returns those files that do have %tag%.

Quote
EDIT:  you could also try $if($playing([%artist%]),...
[a href="index.php?act=findpost&pid=265910"][{POST_SNAPBACK}][/a]

I did, but same results 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 15:09:53
Quote
If it's the case, could this be disable? I expect it to collapse/expand everytime I click the +.


I dont think so... You could probably decrease the system double click time so that doesnt happen, but I'm not sure...


Quote
If I understand correctly if %tag% doesn't exist then $playing(%tag%) returns ?. Then my query should return all fiels that returns ? when calling $playing(%tag%) which isn't the case because it also returns those files that do have %tag%.
[a href="index.php?act=findpost&pid=266006"][{POST_SNAPBACK}][/a]


with the latest version that I just uploaded and the following query we can do what you want...

Code: [Select]
$if($strstr($playing(%rating%),?),rating MISSING,rating IS $playing(%rating%))


at least in the foreground - I havent tried background... I'm working on making background refreshes more robust...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-17 17:24:04
Quote
with the latest version that I just uploaded and the following query we can do what you want...[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266024")

Thanks for that, but unfortunely I get a crash with this latest version at the startup (foobar don't even start):

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0042E8ACh
Access violation, operation: read, address: 00000000h
Call path:
WinMain=>app_init=>titleformat_i::run
This is the first crash logged by this instance.
Code bytes (0042E8ACh):
0042E86Ch:  84 C0 59 74 1A 8B 75 10 6A FF 57 8B CE 8B 06 FF
0042E87Ch:  50 04 8B 06 8B CE FF 10 B0 01 E9 B2 00 00 00 32
0042E88Ch:  C0 E9 AB 00 00 00 FF 75 10 FF 76 04 FF 76 08 50
0042E89Ch:  E8 1D 04 00 00 83 C4 10 E9 94 00 00 00 8B 4E 04
0042E8ACh:  8B 01 FF 50 08 83 65 FC 00 83 65 0C 00 85 C0 89
0042E8BCh:  45 F8 76 74 8B 7D 10 EB 03 8B 5D 08 8B 4E 04 FF
0042E8CCh:  75 0C 8B 01 FF 50 0C 50 53 FF 15 D4 92 43 00 59
0042E8DCh:  85 C0 59 75 48 8B 4E 04 FF 75 0C 8B 01 FF 50 10
Stack (0012E4C4h):
0012E4A4h:  BBC117B0 0000117B BBC117B0 00000001
0012E4B4h:  F0B7B9DC 0000003B 00000083 006B96D8
0012E4C4h:  79616C70 756F635F 7265746E 0042E800
0012E4D4h:  04B239D5 0012E5E0 04B239E1 0012E610
0012E4E4h:  0012E610 0012E5B0 0042E411 0012E4C4
0012E4F4h:  0000000C 004467AC FFFFFFFF 0012E5E0
0012E504h:  00000000 00000000 03A50000 004455DC
0012E514h:  0000000C 00000000 04B23780 00000020
0012E524h:  77C0A52E 77C31AA0 0012E568 77BFC343
0012E534h:  00000004 77BFC3CE 004455DC 04B239A0
0012E544h:  00000000 77C0A52E 04B23F20 0012E53C
0012E554h:  77BFC343 0012EDAC 77C05C94 77BE2088
0012E564h:  FFFFFFFF 77BFC3CE 77BFC3E7 0000000C
0012E574h:  0012E584 77BFC42E 0012E5FC 00000010
0012E584h:  0012E660 004010EF 00000020 77C0A52E
0012E594h:  77C31AA0 0012E5D4 77BFC343 004467AC
0012E5A4h:  04B239D0 00000000 00402985 0012E5C8
0012E5B4h:  0042E391 00000004 004467AC 04B239D0
0012E5C4h:  00000000 0012E5EC 0042E31E 04B239D0
0012E5D4h:  FFFFFFFF 0012E610 004467AC 004467AC
Registers:
EAX: 0012E4C4, EBX: 0012E4C4, ECX: 00000000, EDX: 65746E75
ESI: 0012E610, EDI: 0000000C, EBP: 0012E4E8, ESP: 0012E4C4
Crash location: "foobar2000", loaded at 00400000h - 00452000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C910000h - 7C9C6000h
kernel32                         loaded at 7C800000h - 7C901000h
USER32                           loaded at 77D10000h - 77DA0000h
GDI32                            loaded at 77EF0000h - 77F36000h
ole32                            loaded at 774B0000h - 775EC000h
msvcrt                           loaded at 77BE0000h - 77C38000h
ADVAPI32                         loaded at 77DA0000h - 77E4C000h
RPCRT4                           loaded at 77E50000h - 77EE1000h
COMCTL32                         loaded at 773A0000h - 774A2000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76360000h - 763AA000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
IMM32                            loaded at 76340000h - 7635D000h
LPK                              loaded at 62E30000h - 62E39000h
USP10                            loaded at 74D20000h - 74D8B000h
foo_abx                          loaded at 003F0000h - 003FA000h
foo_ac3                          loaded at 00A40000h - 00A53000h
foo_albumlist                    loaded at 00A60000h - 00A6B000h
foo_ape                          loaded at 00A70000h - 00A8F000h
foo_audioscrobbler               loaded at 00A90000h - 00AB0000h
LIBCURL                          loaded at 00AB0000h - 00AC9000h
WS2_32                           loaded at 71A30000h - 71A47000h
WS2HELP                          loaded at 71A20000h - 71A28000h
WINMM                            loaded at 76B00000h - 76B2E000h
foo_bookmark                     loaded at 00B60000h - 00B71000h
MFC42u                           loaded at 727B0000h - 728AE000h
MFC42LOC                         loaded at 61DF0000h - 61DFE000h
foo_burninate                    loaded at 00B80000h - 00B8C000h
VERSION                          loaded at 77BD0000h - 77BD8000h
foo_cdda                         loaded at 00B90000h - 00B9E000h
foo_clienc                       loaded at 00BA0000h - 00BAB000h
foo_console                      loaded at 00BB0000h - 00BB7000h
foo_custom_sort                  loaded at 00BC0000h - 00BC8000h
foo_dbexplorer                   loaded at 00BD0000h - 00BDD000h
foo_dbsearch                     loaded at 00BE0000h - 00BFA000h
foo_diskwriter                   loaded at 00C00000h - 00C12000h
foo_dsp_continuator              loaded at 00C20000h - 00C28000h
foo_dsp_crossfade                loaded at 00C30000h - 00C37000h
foo_dsp_extra                    loaded at 00C40000h - 00C55000h
foo_filedate                     loaded at 00C60000h - 00C69000h
foo_flac                         loaded at 00C70000h - 00C8C000h
foo_flaccer                      loaded at 00C90000h - 00CA6000h
foo_freedb                       loaded at 00CB0000h - 00CE2000h
foo_G-Force                      loaded at 00CF0000h - 00CFB000h
foo_history                      loaded at 00D00000h - 00D15000h
foo_id3v2                        loaded at 00D20000h - 00D50000h
MSVCP60                          loaded at 76030000h - 76095000h
foo_infobox                      loaded at 00D50000h - 00D63000h
foo_info_samurize                loaded at 00D70000h - 00D8A000h
foo_input_std                    loaded at 00EB0000h - 00F6E000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
foo_lame                         loaded at 00F80000h - 00F8C000h
foo_massdelete                   loaded at 00F90000h - 00F9A000h
foo_masstag                      loaded at 00FF0000h - 01004000h
foo_matroska                     loaded at 01010000h - 0106B000h
foo_midi                         loaded at 01070000h - 010FE000h
MFC71                            loaded at 7C140000h - 7C243000h
MSVCR71                          loaded at 7C340000h - 7C396000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
OLEAUT32                         loaded at 770F0000h - 7717C000h
foo_mod                          loaded at 01110000h - 01119000h
BASS                             loaded at 01120000h - 0117A000h
foo_mpcenc                       loaded at 01180000h - 0118B000h
foo_nero                         loaded at 01190000h - 0119D000h
MFC42                            loaded at 73D50000h - 73E4E000h
foo_openwith                     loaded at 011A0000h - 011A9000h
foo_output_asio(exe)             loaded at 011B0000h - 011DC000h
foo_output_std                   loaded at 011F0000h - 011F9000h
foo_out_dsound_ex                loaded at 01200000h - 01209000h
DSOUND                           loaded at 73E90000h - 73EEC000h
foo_out_ks                       loaded at 01220000h - 0122B000h
SETUPAPI                         loaded at 778F0000h - 779E7000h
foo_playcount                    loaded at 01230000h - 0123A000h
foo_playlistfind                 loaded at 01240000h - 0124B000h
foo_playlistgen_ex               loaded at 01250000h - 0125F000h
foo_playlist_tree                loaded at 01260000h - 01292000h
foo_pod                          loaded at 012A0000h - 01323000h
foo_podclienc                    loaded at 01330000h - 01349000h
foo_podtranscoder                loaded at 01350000h - 01360000h
foo_qconfig                      loaded at 01360000h - 0136C000h
foo_quicktag                     loaded at 01370000h - 01379000h
foo_read_http                    loaded at 01380000h - 01395000h
foo_record                       loaded at 013A0000h - 013AE000h
foo_remote                       loaded at 013B0000h - 013BB000h
foo_rgscan                       loaded at 013C0000h - 013CD000h
foo_scheduler                    loaded at 013D0000h - 013E5000h
foo_scroll                       loaded at 013F0000h - 013F6000h
foo_send_to_pl                   loaded at 01400000h - 01409000h
foo_shuffle                      loaded at 01410000h - 0141B000h
foo_spc                          loaded at 01420000h - 01431000h
foo_speex                        loaded at 01440000h - 01458000h
foo_systemdate2                  loaded at 01460000h - 0146B000h
foo_temple                       loaded at 01470000h - 0147B000h
foo_uie_albumart                 loaded at 01480000h - 0148C000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_uie_albumlist                loaded at 014A0000h - 014AF000h
foo_uie_dbexplorer               loaded at 014B0000h - 014BB000h
foo_uie_simple_spectrum          loaded at 014C0000h - 014CB000h
foo_uie_tabs                     loaded at 014D0000h - 014DA000h
foo_uie_trackinfo                loaded at 014E0000h - 014EB000h
foo_uie_volume                   loaded at 014F0000h - 014FA000h
foo_ui_columns                   loaded at 01500000h - 01537000h
foo_ui_std                       loaded at 01540000h - 01557000h
foo_unpack                       loaded at 01560000h - 01591000h
foo_vis_bubbla                   loaded at 015A0000h - 015B4000h
OPENGL32                         loaded at 5F120000h - 5F1EC000h
GLU32                            loaded at 5FEA0000h - 5FEC1000h
DDRAW                            loaded at 736E0000h - 73729000h
DCIMAN32                         loaded at 73B40000h - 73B46000h
foo_vis_manager                  loaded at 035C0000h - 035C8000h
foo_vis_samurize2                loaded at 035D0000h - 035F7000h
foo_vis_simple_spectrum          loaded at 03720000h - 0372B000h
foo_vis_stereo                   loaded at 03730000h - 037B8000h
foo_vis_vu_meter                 loaded at 037C0000h - 037C8000h
foo_vorbisenc                    loaded at 037D0000h - 038CA000h
foo_wavpack                      loaded at 038D0000h - 038E2000h
foo_web                          loaded at 038F0000h - 03909000h
foo_wma                          loaded at 03910000h - 03929000h
WMVCore                          loaded at 7D7A0000h - 7D9AA000h
wmidx                            loaded at 4B380000h - 4B3A9000h
WMASF                            loaded at 59DE0000h - 59E1C000h
msdmo                            loaded at 73630000h - 73637000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                           loaded at 77AF0000h - 77B02000h
urlmon                           loaded at 77230000h - 772CE000h
MSVFW32                          loaded at 75ED0000h - 75EF1000h
WSOCK32                          loaded at 71A50000h - 71A5A000h
DRMClien                         loaded at 03930000h - 0397F000h
foo_tbar                         loaded at 03990000h - 03999000h
foo_text                         loaded at 039A0000h - 039B3000h
msctfime                         loaded at 75160000h - 7518E000h
imagehlp                         loaded at 76C50000h - 76C78000h
DBGHELP                          loaded at 5D4B0000h - 5D551000h

Stack dump analysis:
Address: 0042E800h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E411h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004455DCh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77C0A52Eh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "unlock" (+00000015h)
Address: 77C31AA0h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "wpgmptr" (+00000058h)
Address: 77BFC343h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000128h)
Address: 77BFC3CEh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+000001B3h)
Address: 004455DCh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77C0A52Eh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "unlock" (+00000015h)
Address: 77BFC343h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000128h)
Address: 77C05C94h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "except_handler3" (+00000000h)
Address: 77BE2088h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "__non_rtti_object::`vftable'" (+00000C90h)
Address: 77BFC3CEh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+000001B3h)
Address: 77BFC3E7h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+000001CCh)
Address: 77BFC42Eh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "malloc" (+00000027h)
Address: 004010EFh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77C0A52Eh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "unlock" (+00000015h)
Address: 77C31AA0h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "wpgmptr" (+00000058h)
Address: 77BFC343h, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000128h)
Address: 004467ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00402985h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E391h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E31Eh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042EAD4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467ACh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467A8h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043946Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043ADC0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0127D471h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 012699D7h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F38Ch, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127FA94h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F38Ch, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F448h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 77BFC21Bh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000000h)
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127FA94h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F3A0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127C2F0h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0126590Ch, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0126E056h, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F38Ch, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 0127F38Ch, location: "foo_playlist_tree", loaded at 01260000h - 01292000h
Address: 00BB41C0h, location: "foo_console", loaded at 00BB0000h - 00BB7000h
Address: 77BFC21Bh, location: "msvcrt", loaded at 77BE0000h - 77C38000h
Symbol: "free" (+00000000h)
Address: 00BB26F0h, location: "foo_console", loaded at 00BB0000h - 00BB7000h
Address: 00BB408Ch, location: "foo_console", loaded at 00BB0000h - 00BB7000h

Version info:
foobar2000 v0.8.3
UNICODE


BTW, did you know that your component is under the [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=17872]Known problematic components[/url]? 
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-17 17:28:51
With the latest version I get the following crash log. First time it happened when I selected a $playing() query (before playing music), now it happens on startup..

[span style='font-size:8pt;line-height:100%']
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0042E8ACh
Access violation, operation: read, address: 00000000h
Call path:
titleformat_i::run
This is the first crash logged by this instance.
Code bytes (0042E8ACh):
0042E86Ch:  84 C0 59 74 1A 8B 75 10 6A FF 57 8B CE 8B 06 FF
0042E87Ch:  50 04 8B 06 8B CE FF 10 B0 01 E9 B2 00 00 00 32
0042E88Ch:  C0 E9 AB 00 00 00 FF 75 10 FF 76 04 FF 76 08 50
0042E89Ch:  E8 1D 04 00 00 83 C4 10 E9 94 00 00 00 8B 4E 04
0042E8ACh:  8B 01 FF 50 08 83 65 FC 00 83 65 0C 00 85 C0 89
0042E8BCh:  45 F8 76 74 8B 7D 10 EB 03 8B 5D 08 8B 4E 04 FF
0042E8CCh:  75 0C 8B 01 FF 50 0C 50 53 FF 15 D4 92 43 00 59
0042E8DCh:  85 C0 59 75 48 8B 4E 04 FF 75 0C 8B 01 FF 50 10
Stack (0155F920h):
0155F900h:  00000000 00000010 00000000 0012EC58
0155F910h:  00000000 00000000 FFFFFFFF 0012EC68
0155F920h:  69747261 00007473 022A59D1 0155FA34
0155F930h:  022A59D7 0155FA64 0155FA64 0155FA04
0155F940h:  0042E411 0155F920 00000006 0155FA80
0155F950h:  FFFFFFFF 0155FA34 00000000 022A5890
0155F960h:  00000048 00000000 00000108 0100F7B4
0155F970h:  00890000 0155F76C 7C90EE18 0155F9BC
0155F980h:  7C90EE18 7C9106F0 FFFFFFFF 7C9106EB
0155F990h:  77C2C3C9 00890000 00000000 77C2C3CE
0155F9A0h:  00000100 0155FA84 00000091 7C910551
0155F9B0h:  008907A8 0155F9A0 00000008 0155FFDC
0155F9C0h:  77C35C94 77C12088 FFFFFFFF 77C2C3CE
0155F9D0h:  77C2C3E7 00000100 0155F9E8 77C2C42E
0155F9E0h:  00000100 00000000 0155FA1C 00434810
0155F9F0h:  00000100 0155FA80 022A59D0 00000000
0155FA00h:  00402985 0155FA1C 0042E391 00000000
0155FA10h:  0155FA80 022A59D0 00000000 0155FA40
0155FA20h:  0042E31E 022A59D0 FFFFFFFF 0155FA64
0155FA30h:  0155FA80 0155FA80 0155FA64 00000000
Registers:
EAX: 0155F920, EBX: 0155F920, ECX: 00000000, EDX: 581D0001
ESI: 0155FA64, EDI: 00000006, EBP: 0155F93C, ESP: 0155F920
Crash location: "foobar2000", loaded at 00400000h - 00452000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                         loaded at 7C800000h - 7C8F4000h
USER32                           loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761C000h
msvcrt                           loaded at 77C10000h - 77C68000h
ADVAPI32                         loaded at 77DD0000h - 77E6B000h
RPCRT4                           loaded at 77E70000h - 77F01000h
COMCTL32                         loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
foo_ac3                          loaded at 008D0000h - 008E3000h
foo_ape                          loaded at 008F0000h - 0090F000h
foo_burninate                    loaded at 00910000h - 0091C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                         loaded at 00920000h - 0092E000h
foo_console                      loaded at 00930000h - 00937000h
foo_dbsearch                     loaded at 00940000h - 00957000h
foo_diskwriter                   loaded at 00960000h - 00972000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_continuator              loaded at 00A00000h - 00A09000h
foo_dsp_crossfade                loaded at 00A10000h - 00A17000h
foo_dsp_extra                    loaded at 00A20000h - 00A35000h
foo_dsp_nogaps                   loaded at 00A40000h - 00A47000h
foo_dsp_skip_silence             loaded at 00A50000h - 00A57000h
foo_freedb                       loaded at 00A60000h - 00A7D000h
WS2_32                           loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_history                      loaded at 00A80000h - 00A95000h
foo_input_std                    loaded at 00AA0000h - 00B42000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_masstag                      loaded at 00B50000h - 00B64000h
foo_matroska                     loaded at 00B70000h - 00BB8000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_mpeg4u                       loaded at 00BC0000h - 00BE9000h
foo_osd                          loaded at 00BF0000h - 00BFC000h
foo_output_std                   loaded at 00C00000h - 00C09000h
foo_out_dsound_ex                loaded at 00C10000h - 00C19000h
DSOUND                           loaded at 73F10000h - 73F6C000h
foo_out_dsound_ex2               loaded at 00C30000h - 00C39000h
foo_playcount                    loaded at 00C40000h - 00C4A000h
foo_playlistfind                 loaded at 00C50000h - 00C5B000h
foo_playlistgen_ex               loaded at 00C60000h - 00C6F000h
foo_playlist_tree                loaded at 00C70000h - 00CA2000h
foo_quicktag                     loaded at 00CB0000h - 00CB9000h
foo_read_http                    loaded at 00CC0000h - 00CD5000h
foo_rgscan                       loaded at 00CE0000h - 00CED000h
foo_run                          loaded at 00CF0000h - 00CF8000h
foo_scroll                       loaded at 00D00000h - 00D06000h
foo_shuffle                      loaded at 00D10000h - 00D1B000h
foo_uie_albumart                 loaded at 00D20000h - 00D2C000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
MSVCR71                          loaded at 7C340000h - 7C396000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
foo_uie_albumlist                loaded at 00D50000h - 00D5F000h
foo_uie_tabs                     loaded at 00D60000h - 00D6A000h
foo_uie_volume                   loaded at 00D70000h - 00D7A000h
foo_ui_columns                   loaded at 00D80000h - 00DB7000h
foo_ui_std                       loaded at 00DC0000h - 00DD7000h
foo_vis_bacon                    loaded at 00EE0000h - 00EF8000h
foo_vis_manager                  loaded at 00F00000h - 00F08000h
foo_winamp_spam                  loaded at 00F10000h - 00F18000h
foo_wma                          loaded at 00F20000h - 00F39000h
WMVCore                          loaded at 7D790000h - 7D99A000h
wmidx                            loaded at 4B320000h - 4B349000h
WMASF                            loaded at 59A10000h - 59A4C000h
OLEAUT32                         loaded at 77120000h - 771AC000h
msdmo                            loaded at 736B0000h - 736B7000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                           loaded at 77B20000h - 77B32000h
urlmon                           loaded at 77260000h - 772FC000h
MSVFW32                          loaded at 75A70000h - 75A91000h
WSOCK32                          loaded at 71AD0000h - 71AD9000h
DRMClien                         loaded at 00F40000h - 00F8F000h
MSCTF                            loaded at 74720000h - 7476B000h
SynTPFcs                         loaded at 63000000h - 63014000h
lgscroll                         loaded at 10100000h - 10116000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
WINTRUST                         loaded at 76C30000h - 76C5E000h
IMAGEHLP                         loaded at 76C90000h - 76CB8000h
wdmaud                           loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
dciman32                         loaded at 73BC0000h - 73BC6000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 0042E411h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 77C2C3C9h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001AEh)
Address: 77C2C3CEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001B3h)
Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12088h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C90h)
Address: 77C2C3CEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001B3h)
Address: 77C2C3E7h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001CCh)
Address: 77C2C42Eh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "malloc" (+00000027h)
Address: 00434810h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00402985h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E391h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E31Eh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042EAD4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467A8h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043946Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043ADC0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00C8D471h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C799D7h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F38Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F38Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F448h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F38Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8FA94h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A0h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C7E056h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F38Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F38Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 77D494E3h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongA" (+00000067h)
Address: 77C2C21Bh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+00000000h)
Address: 10005318h, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uSendNotifyMessage" (+00000016h)

Version info:
foobar2000 v0.8.3
UNICODE
[/span]
I just overwrote my foo_playlist_tree.dll and can't play any music ATM 
Is it possible to always have a (quite) stable version on-line?
TIA
eph
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-17 17:32:58
Quote
I just overwrote my foo_playlist_tree.dll and can't play any music ATM 
Is it possible to always have a (quite) stable version on-line?
[a href="index.php?act=findpost&pid=266066"][{POST_SNAPBACK}][/a]

Yeah, I think that two versions of the component will be great:

1) Stable (the one that the developper thinks it's stable for a everyday use)
2) Beta-Alpha (the 'use-at-your-own-risk!'  )
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 17:42:11
Quote
Quote
I just overwrote my foo_playlist_tree.dll and can't play any music ATM 
Is it possible to always have a (quite) stable version on-line?
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266066")

Yeah, I think that two versions of the component will be great:

1) Stable (the one that the developper thinks it's stable for a everyday use)
2) Beta-Alpha (the 'use-at-your-own-risk!'  )
[a href="index.php?act=findpost&pid=266067"][{POST_SNAPBACK}][/a]


I just uploaded a file called foo_playlist_tree_manual_refresh.dll which turns off background refreshes, forces manual query refreshes, and turns off refreshing of $playing.  Hopefully it should work to get you back on your feet.

[a href="http://foobar.bowron.us/foo_playlist_tree_manual_refresh.dll]http://foobar.bowron.us/foo_playlist_tree_manual_refresh.dll[/url]
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-17 17:50:46
Quote
I just uploaded a file called foo_playlist_tree_manual_refresh.dll which turns off background refreshes, forces manual query refreshes, and turns off refreshing of $playing.  Hopefully it should work to get you back on your feet.
[a href="index.php?act=findpost&pid=266077"][{POST_SNAPBACK}][/a]

I'm sorry.. it doesn't..:
[span style='font-size:8pt;line-height:100%']
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0042E8ACh
Access violation, operation: read, address: 00000000h
Call path:
titleformat_i::run
This is the first crash logged by this instance.
Code bytes (0042E8ACh):
0042E86Ch:  84 C0 59 74 1A 8B 75 10 6A FF 57 8B CE 8B 06 FF
0042E87Ch:  50 04 8B 06 8B CE FF 10 B0 01 E9 B2 00 00 00 32
0042E88Ch:  C0 E9 AB 00 00 00 FF 75 10 FF 76 04 FF 76 08 50
0042E89Ch:  E8 1D 04 00 00 83 C4 10 E9 94 00 00 00 8B 4E 04
0042E8ACh:  8B 01 FF 50 08 83 65 FC 00 83 65 0C 00 85 C0 89
0042E8BCh:  45 F8 76 74 8B 7D 10 EB 03 8B 5D 08 8B 4E 04 FF
0042E8CCh:  75 0C 8B 01 FF 50 0C 50 53 FF 15 D4 92 43 00 59
0042E8DCh:  85 C0 59 75 48 8B 4E 04 FF 75 0C 8B 01 FF 50 10
Stack (0155F920h):
0155F900h:  00000000 00000010 00000000 0012EC58
0155F910h:  00000000 00000000 FFFFFFFF 0012EC68
0155F920h:  69747261 00007473 022A5A49 0155FA34
0155F930h:  022A5A4F 0155FA64 0155FA64 0155FA04
0155F940h:  0042E411 0155F920 00000006 0155FA80
0155F950h:  FFFFFFFF 0155FA34 00000000 02252BF0
0155F960h:  00000048 00000081 00000108 0100F7B4
0155F970h:  00890000 0155F76C 7C90EE18 0155F9BC
0155F980h:  7C90EE18 7C9106F0 FFFFFFFF 7C9106EB
0155F990h:  77C2C3C9 00890000 00000000 77C2C3CE
0155F9A0h:  00000100 0155FA84 00000091 7C910551
0155F9B0h:  008907A8 0155F9A0 00000008 0155FFDC
0155F9C0h:  77C35C94 77C12088 FFFFFFFF 77C2C3CE
0155F9D0h:  77C2C3E7 00000100 0155F9E8 77C2C42E
0155F9E0h:  00000100 00000000 0155FA1C 00434810
0155F9F0h:  00000100 0155FA80 022A5A48 00000000
0155FA00h:  00402985 0155FA1C 0042E391 00000000
0155FA10h:  0155FA80 022A5A48 00000000 0155FA40
0155FA20h:  0042E31E 022A5A48 FFFFFFFF 0155FA64
0155FA30h:  0155FA80 0155FA80 0155FA64 00000000
Registers:
EAX: 0155F920, EBX: 0155F920, ECX: 00000000, EDX: 58610001
ESI: 0155FA64, EDI: 00000006, EBP: 0155F93C, ESP: 0155F920
Crash location: "foobar2000", loaded at 00400000h - 00452000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                         loaded at 7C800000h - 7C8F4000h
USER32                           loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761C000h
msvcrt                           loaded at 77C10000h - 77C68000h
ADVAPI32                         loaded at 77DD0000h - 77E6B000h
RPCRT4                           loaded at 77E70000h - 77F01000h
COMCTL32                         loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
foo_ac3                          loaded at 008D0000h - 008E3000h
foo_ape                          loaded at 008F0000h - 0090F000h
foo_burninate                    loaded at 00910000h - 0091C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                         loaded at 00920000h - 0092E000h
foo_console                      loaded at 00930000h - 00937000h
foo_dbsearch                     loaded at 00940000h - 00957000h
foo_diskwriter                   loaded at 00960000h - 00972000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_continuator              loaded at 00A00000h - 00A09000h
foo_dsp_crossfade                loaded at 00A10000h - 00A17000h
foo_dsp_extra                    loaded at 00A20000h - 00A35000h
foo_dsp_nogaps                   loaded at 00A40000h - 00A47000h
foo_dsp_skip_silence             loaded at 00A50000h - 00A57000h
foo_freedb                       loaded at 00A60000h - 00A7D000h
WS2_32                           loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_history                      loaded at 00A80000h - 00A95000h
foo_input_std                    loaded at 00AA0000h - 00B42000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_masstag                      loaded at 00B50000h - 00B64000h
foo_matroska                     loaded at 00B70000h - 00BB8000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_mpeg4u                       loaded at 00BC0000h - 00BE9000h
foo_osd                          loaded at 00BF0000h - 00BFC000h
foo_output_std                   loaded at 00C00000h - 00C09000h
foo_out_dsound_ex                loaded at 00C10000h - 00C19000h
DSOUND                           loaded at 73F10000h - 73F6C000h
foo_out_dsound_ex2               loaded at 00C30000h - 00C39000h
foo_playcount                    loaded at 00C40000h - 00C4A000h
foo_playlistfind                 loaded at 00C50000h - 00C5B000h
foo_playlistgen_ex               loaded at 00C60000h - 00C6F000h
foo_playlist_tree                loaded at 00C70000h - 00CA2000h
foo_quicktag                     loaded at 00CB0000h - 00CB9000h
foo_read_http                    loaded at 00CC0000h - 00CD5000h
foo_rgscan                       loaded at 00CE0000h - 00CED000h
foo_run                          loaded at 00CF0000h - 00CF8000h
foo_scroll                       loaded at 00D00000h - 00D06000h
foo_shuffle                      loaded at 00D10000h - 00D1B000h
foo_uie_albumart                 loaded at 00D20000h - 00D2C000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
MSVCR71                          loaded at 7C340000h - 7C396000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
foo_uie_albumlist                loaded at 00D50000h - 00D5F000h
foo_uie_tabs                     loaded at 00D60000h - 00D6A000h
foo_uie_volume                   loaded at 00D70000h - 00D7A000h
foo_ui_columns                   loaded at 00D80000h - 00DB7000h
foo_ui_std                       loaded at 00DC0000h - 00DD7000h
foo_vis_bacon                    loaded at 00EE0000h - 00EF8000h
foo_vis_manager                  loaded at 00F00000h - 00F08000h
foo_winamp_spam                  loaded at 00F10000h - 00F18000h
foo_wma                          loaded at 00F20000h - 00F39000h
WMVCore                          loaded at 7D790000h - 7D99A000h
wmidx                            loaded at 4B320000h - 4B349000h
WMASF                            loaded at 59A10000h - 59A4C000h
OLEAUT32                         loaded at 77120000h - 771AC000h
msdmo                            loaded at 736B0000h - 736B7000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                           loaded at 77B20000h - 77B32000h
urlmon                           loaded at 77260000h - 772FC000h
MSVFW32                          loaded at 75A70000h - 75A91000h
WSOCK32                          loaded at 71AD0000h - 71AD9000h
DRMClien                         loaded at 00F40000h - 00F8F000h
MSCTF                            loaded at 74720000h - 7476B000h
SynTPFcs                         loaded at 63000000h - 63014000h
lgscroll                         loaded at 10100000h - 10116000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
WINTRUST                         loaded at 76C30000h - 76C5E000h
IMAGEHLP                         loaded at 76C90000h - 76CB8000h
wdmaud                           loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
dciman32                         loaded at 73BC0000h - 73BC6000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 0042E411h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 77C2C3C9h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001AEh)
Address: 77C2C3CEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001B3h)
Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12088h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C90h)
Address: 77C2C3CEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001B3h)
Address: 77C2C3E7h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001CCh)
Address: 77C2C42Eh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "malloc" (+00000027h)
Address: 00434810h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00402985h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E391h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E31Eh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042EAD4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467A8h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043946Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043ADC0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00C8D6A1h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C79A57h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 77C2C21Bh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+00000000h)
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F394h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F394h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F450h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F394h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8FA9Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C7E288h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F394h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F394h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 00C8F3A8h, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h
Address: 77D494E3h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongA" (+00000067h)
Address: 00C8FA9Ch, location: "foo_playlist_tree", loaded at 00C70000h - 00CA2000h

Version info:
foobar2000 v0.8.3
UNICODE
[/span]
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 17:54:26
Quote
I'm sorry.. it doesn't..:
[a href="index.php?act=findpost&pid=266081"][{POST_SNAPBACK}][/a]


poop.  I was afraid of that... try getting the most recent foo_playlist_tree.zip version... I may have fixed what the problem was...
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-17 18:02:31
Quote
poop.  I was afraid of that... try getting the most recent foo_playlist_tree.zip version... I may have fixed what the problem was...
[a href="index.php?act=findpost&pid=266083"][{POST_SNAPBACK}][/a]


Thanks it does 
Some of my even most basic queries stopped working though, i.e. $node(Pop) (foo_playlist_gen format).. other queries, both foo_playlist_gen and regular, survived..
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 18:25:09
Quote
Quote
poop.  I was afraid of that... try getting the most recent foo_playlist_tree.zip version... I may have fixed what the problem was...
[a href="index.php?act=findpost&pid=266083"][{POST_SNAPBACK}][/a]


Thanks it does 
Some of my even most basic queries stopped working though, i.e. $node(Pop) (foo_playlist_gen format).. other queries, both foo_playlist_gen and regular, survived..
[a href="index.php?act=findpost&pid=266087"][{POST_SNAPBACK}][/a]


Try grabbing the latest version I just uploaded and use single quotes around the $node part now... '$node(Artist)' instead of $node(Artist)... The string will get evalulated by the title formatting now before its evaluating by playlist tree due to some rearranging I had to do to accomodate some other requests... You may have to do the same with $drops... sorry for the inconvience...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-17 19:52:52
Ok, everything works now
I can get now a query based in $playing() information even if the tag doesn't exist, thanks you.

I've also tried the background refresh, I've get one crash but now it seems to work, but it also seems to act weird because it adds nodes without any specific sense all over the place  (at level 0) 

Some issues:

- With %tag% in EPG
NOT %play_counter% MISSING (doesn't work)
while
NOT play_counter MISSING (work)

- With ''
'($sub(%systemdate%,%added%) LESS 101) AND ($sub(%systemdate%,%added%) GREATER -1)'

without ' (before) it doesn't works
with ' (now) it works

I guess it has to do with the new way your component handle the formatting strings.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-17 19:58:26
Quote
Quote
Quote
poop.  I was afraid of that... try getting the most recent foo_playlist_tree.zip version... I may have fixed what the problem was...
[a href="index.php?act=findpost&pid=266083"][{POST_SNAPBACK}][/a]


Thanks it does 
Some of my even most basic queries stopped working though, i.e. $node(Pop) (foo_playlist_gen format).. other queries, both foo_playlist_gen and regular, survived..
[a href="index.php?act=findpost&pid=266087"][{POST_SNAPBACK}][/a]


Try grabbing the latest version I just uploaded and use single quotes around the $node part now... '$node(Artist)' instead of $node(Artist)... The string will get evalulated by the title formatting now before its evaluating by playlist tree due to some rearranging I had to do to accomodate some other requests... You may have to do the same with $drops... sorry for the inconvience...
[a href="index.php?act=findpost&pid=266093"][{POST_SNAPBACK}][/a]


I just uploaded a new version that works around this, so you dont need quotes around $node and $drop now...
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-17 20:23:44
Quote
Quote
Try grabbing the latest version I just uploaded and use single quotes around the $node part now... '$node(Artist)' instead of $node(Artist)... The string will get evalulated by the title formatting now before its evaluating by playlist tree due to some rearranging I had to do to accomodate some other requests... You may have to do the same with $drops... sorry for the inconvience...
[a href="index.php?act=findpost&pid=266093"][{POST_SNAPBACK}][/a]


I just uploaded a new version that works around this, so you dont need quotes around $node and $drop now...
[a href="index.php?act=findpost&pid=266114"][{POST_SNAPBACK}][/a]


Thanks and of course np, I'm a very happy beta tester

EDIT: seems like $playing() needs a workaround too..
Title: foo_playlist_tree
Post by: XanDaMan on 2005-01-18 11:12:07
Since its been declared as 'not recomended' and all that, any chance of a version that does just folder monitoring, nothing else?
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-18 14:00:39
Quote
Since its been declared as 'not recomended' and all that, any chance of a version that does just folder monitoring, nothing else?
[a href="index.php?act=findpost&pid=266239"][{POST_SNAPBACK}][/a]

I don't see the need of a version that will only do what you want. Imagine I come and request a version that only does 'dynamic queries' and other user request a version that only does this and that, etc...

In case cwbowron will find the need of release a stable version it's up to him to decide what features must be included in a stable version and what shouldn't.
Title: foo_playlist_tree
Post by: cbowron on 2005-01-18 14:15:13
I'm out.

No more public updates, no more public requests.

Send me an email if you have a feature request or a bug report.  I'm through with this forum.

You can thank your friendly foobar2k moderators.
Title: foo_playlist_tree
Post by: upNorth on 2005-01-18 14:48:00
Starting your post with "I'm out" is kind of funny when your post count equals 1... 

[span style='font-size:8pt;line-height:100%']Yeah, I know...
[/i][/span]
Title: foo_playlist_tree
Post by: hotzenpl0tz on 2005-01-18 15:42:07
Too bad, from a users standpoint the features of the plugin really made it exceptional. But without knowing the exact backgrounds, i will be the last to judge this one ...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-18 16:03:46
Quote
I'm out.

That's a real shame, I'm really sorry to hear that  As other said your component, from a user point of view is really cool and has really powerful features that non other has. I'll respect your decision and thanks you from your effort, I've rarely see any developper so devoted and be willing to hear user requests/suggestions around here. And that's a real shame for the people that uses fb2k.

Quote
Send me an email if you have a feature request or a bug report.  I'm through with this forum.


Anyway, I don't know what happened, just what I've read around this forum. But I'll hope that you'll continue developping your plugin even outside this forum.

Quote
You can thank your friendly foobar2k moderators.
[a href="index.php?act=findpost&pid=266275"][{POST_SNAPBACK}][/a]

Yeah....
Title: foo_playlist_tree
Post by: stroke on 2005-01-18 16:32:47
Quote
I'm out.

No more public updates, no more public requests.

Send me an email if you have a feature request or a bug report.  I'm through with this forum.

You can thank your friendly foobar2k moderators.
[a href="index.php?act=findpost&pid=266275"][{POST_SNAPBACK}][/a]


i simply hope that this is a troll, that cwbowron didn't quit.
the moderators requestet not to recommend the plugin because it is unstable, and probably they've got good reasons to do so, i experienced a few problems with playlist tree, but decided that i can live with them. anyway they didn't burn the bridges, the plugin is welcome when bugfree & we're free to discuss it in its thread. cwbowron i hope we'll hear from you on that issue, pls
Title: foo_playlist_tree
Post by: ephemeros on 2005-01-18 16:40:05
WTF is happening around here? Why always politics going on in the background? 

cwbowron, THANKS!
You did a lot for us.. I hope not all hope is lost.
Thanks again,
eph

[span style='font-size:8pt;line-height:100%'](edit: typo)[/span]
Title: foo_playlist_tree
Post by: marcomk on 2005-01-18 20:12:51
Quote
I'm out.

No more public updates, no more public requests.

Send me an email if you have a feature request or a bug report.  I'm through with this forum.

You can thank your friendly foobar2k moderators.
[a href="index.php?act=findpost&pid=266275"][{POST_SNAPBACK}][/a]


I really hope this is a troll...

cwbowron, if anything happened that upset you, please don't give up. I really want to see a playlist tree v. 1.0!!!

Thanks for all your work! 
Title: foo_playlist_tree
Post by: mazy on 2005-01-18 20:32:36
i second marcomk's post ... please, continue your work on this component and stay in here ...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-18 20:45:07
Quote
cwbowron, if anything happened that upset you, please don't give up. I really want to see a playlist tree v. 1.0!!![a href="index.php?act=findpost&pid=266350"][{POST_SNAPBACK}][/a]

Me too....please?
Title: foo_playlist_tree
Post by: Rommel on 2005-01-18 21:59:18
Quote
I really hope this is a troll...
[a href="index.php?act=findpost&pid=266350"][{POST_SNAPBACK}][/a]


he's a troll! 

cbowron
Group: Members
Posts: 1
Joined: Today, 04:10 PM
Member No.: 19142

cwbowron
Group: Members
Posts: 198
Joined: 16-November 04
From: East Lansing,MI
Member No.: 18153
Title: foo_playlist_tree
Post by: marcomk on 2005-01-18 22:05:35
Quote
Quote
I really hope this is a troll...
[a href="index.php?act=findpost&pid=266350"][{POST_SNAPBACK}][/a]


he's a troll! 

cbowron
Group: Members
Posts: 1
Joined: Today, 04:10 PM
Member No.: 19142

cwbowron
Group: Members
Posts: 198
Joined: 16-November 04
From: East Lansing,MI
Member No.: 18153
[a href="index.php?act=findpost&pid=266379"][{POST_SNAPBACK}][/a]


Unfortunately, I don't think so. 
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-18 22:11:49
Quote
Unfortunately, I don't think so. 
[a href="index.php?act=findpost&pid=266381"][{POST_SNAPBACK}][/a]

Me either
I suspect he re-register under a similar name to post. I don't know.
Title: foo_playlist_tree
Post by: mazy on 2005-01-18 22:17:39
well, read changelog.txt on his site ...

i really hope this could settle down
Title: foo_playlist_tree
Post by: Silverbolt on 2005-01-18 22:36:04
Quote
he's a troll!  :angry: [{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266379")

Check cwbowron's [a href="http://foobar.bowron.us/]website[/url], particularily the updated changelog. Don't wish to join into any speculation, but it is unfortunate to see someone leave the forum dev pool on such terms. Thanks for the existing work, regardless.
Title: foo_playlist_tree
Post by: marcomk on 2005-01-18 22:37:51
Quote
well, read changelog.txt on his site ...

i really hope this could settle down
[a href="index.php?act=findpost&pid=266387"][{POST_SNAPBACK}][/a]


Maybe we should do something about it...

I sent an email to cwbowron to try to convince him to change his mind. Some other people could do the same...
Maybe we also have to invite the moderators to state precisely which are the requirements to make playlist tree an officially supported component. I'm sure cwbowron would be happy to fix the issues...
I know other components that don't work perfectly yet and still they were treated in a better way. A developer like cwbowron who devoted so much time to this project deserves more respect I suppose. At least some more diplomatic efforts. 
Title: foo_playlist_tree
Post by: mazy on 2005-01-18 23:24:46
well said, marcomk, i agree with you on everything ...
Title: foo_playlist_tree
Post by: DotNoir on 2005-01-18 23:37:13
First of all, he was suggesting his component to every innocent victim stopping here and asking if something could be done. And this component known to be a bit problematic, it's in no ones interested to introduce people new to foobar2000 to a broken component.  Maybe if he would've fixed bugs with all his time he was implementing new features he might have gotten a working component, but at this point being even pre-beta and suggesting it everywhere he did more bad than good to the community.

Second of all, if he really did register another account he violated TOS #12, this leading to the fact that he will most likely not be able to join HA anymore
Title: foo_playlist_tree
Post by: marcomk on 2005-01-19 00:16:04
Quote
First of all, he was suggesting his component to every innocent victim stopping here and asking if something could be done.
[a href="index.php?act=findpost&pid=266409"][{POST_SNAPBACK}][/a]


Where are all these poor victims being hurt by evil cwbowron's component? If you read this thread, there are just happy betatester/users posting. Maybe the victims were too badly hurt to post...

Quote
Maybe if he would've fixed bugs with all his time he was implementing new features he might have gotten a working component, but at this point being even pre-beta and suggesting it everywhere he did more bad than good to the community.
[a href="index.php?act=findpost&pid=266409"][{POST_SNAPBACK}][/a]


I agree on the fact that he could have fixed some bugs before implementing new features,  but I strongly disagree on the rest of your statement. He never claimed that his component was in a final stage. If there was some concern for the possible 'victims', a warning in the first post could have been enough...  He could still fix the remaining issues in a week or so at cwbowron's rate of development.

Quote
Second of all, if he really did register another account he violated TOS #12, this leading to the fact that he will most likely not be able to join HA anymore
[a href="index.php?act=findpost&pid=266409"][{POST_SNAPBACK}][/a]


Sorry, I can't share the same fascination for burocracy. 
Title: foo_playlist_tree
Post by: ssamadhi97 on 2005-01-19 00:47:37
foo_playlist_tree was pretty unstable right from the beginning. foosion pointed out several issues repeatedly, the component was put on the list of known problematic components a month ago for a bunch of these issues (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=261118), but unfortunately we haven't exactly seen an overwhelming effort from cwbowron's side to address them. marcomk is right, he should indeed have dedicated some time to getting these things out of the way first, instead of adding lots of new features (and probably a bunch of new bugs as well ).

cwbowron got himself a warning from Peter when advertising his component in this thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=30716) (the "offending" post in question has been removed) - if I remember correctly, he even called it a "stable beta", which is apparently not the case. Looks like said warning was the cause for cwbowron to "quit".

Quote
Maybe we also have to invite the moderators to state precisely which are the requirements to make playlist tree an officially supported component.[a href="index.php?act=findpost&pid=266397"][{POST_SNAPBACK}][/a]

If by "officially supported" you mean "moderators won't prevent advertising of it to newbies", addressing the issues foosion posted about in this thread (and documenting this effort) would be a good idea. It's not like the added stability etc wouldn't benefit the plugin itself as well.

Not actively promoting the plugin while it's still in unstable / alpha state would be clever too.
Title: foo_playlist_tree
Post by: Exander on 2005-01-19 00:57:29
Ok, I'm stupid.
I can't figure out how to get my folders to show up in the playlist tree.

Anyone?
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-19 11:21:43
Quote
Maybe we should do something about it...

I sent an email to cwbowron to try to convince him to change his mind. Some other people could do the same...

I'll also try to send him an email. Edit: I've already did.

Quote
Maybe we also have to invite the moderators to state precisely which are the requirements to make playlist tree an officially supported component. I'm sure cwbowron would be happy to fix the issues...

I know that some problems where there, and foosion pointed them out when he post here (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=261118) that the component was in the unrecommended list, but I also think that the claim that it' sunstable because this topic has a lot of crash report isn't fair. Of course we get crashes because it's a non-stable component, we know that (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=254240), but almost everytime we get a crash and report it, he fixed the crashes immediately.

About the other stuff (violation copyright and other development concepts) I can't talk because I don't have the knowledge to talk about that, but in any case he always asked for help when he didn't have the knowledge to code something, but I've just see what I will call a general indifference from other coders around here. I'm sure they have their reasons, but as a simple user, that's what I've seen, and that's  shame becasue if someone wants to do something, has the willing and the time to implement features, but he doesn't get the support and respect from the people that he really needs, things goes wrong and it hurts the people at the base: users.

He's the only one that has come closest to (or at least tries to get closes to) a Media Library for fb2k, he has made this effort and that's why it get interest from users. That's why some of us recommended it, ebcause we are excited for such a powerful way of managing our music collection. Some of us were around here happy beta-testing it, even if we knew it wasn't stable. If we get a crash, we report and if he can't he fixes it, if he can't he doesn't and ask for soe help. That's what I call a community spirit. But I didn't see it from a developper point of view, and that's a real shame.

Quote
I know other components that don't work perfectly yet and still they were treated in a better way. A developer like cwbowron who devoted so much time to this project deserves more respect I suppose. At least some more diplomatic efforts.  
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266397")

That's exactly what I'm talking about. I've seen exactly the same thing, and I'm not suprised at all he decided to quit the forum and he felt unconfortable. The fact that a pinned post from the fb2k moderators asking people to not recommend the component wasn't the most reasonable way to achieve that. Isn't more logical to post it in here instead of letting know everyone and pointing by the finger the developper? The exactly same post inside this topic will have make much more sense and wouldn't have hurt anyone feelings. After all, it was already in the unrecommended list very visible at the top of the 3 party plugins forum. As an user I can understand that if something isn't stable and/or well designed we should not recommend it. I don't think anyone isn't able to understand it.

Quote
First of all, he was suggesting his component to every innocent victim stopping here and asking if something could be done.
[...]but at this point being even pre-beta and suggesting it everywhere he did more bad than good to the community.

Are you sure this is true? I check this forum everyday and I didn't see cwbowron recommend personally his component to anyone. We, the users, have suggested it.

Quote
cwbowron got himself a warning from Peter when advertising his component in [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=30716]this thread[/url] (the "offending" post in question has been removed) - if I remember correctly, he even called it a "stable beta", which is apparently not the case. Looks like said warning was the cause for cwbowron to "quit".

I really wonder why this post in question has been removed and isn't in the recycle bin 

Having said that, I think it's really a question of diplomaty and the way of handle these things. Everyone can make mistakes. Everyone has his own point of view. But at the end we get that an excellent and promising component that could have been a Media library isn't probably going to be developped anymore.

Edit: Added link to post where cwbowron state that his plugin is in development and not for geenral usage.
Title: foo_playlist_tree
Post by: upNorth on 2005-01-19 12:46:18
I admit that I don't know the whole story, and didn't find this component very useful myself, but I still have an opinion to share.

If cwbowron can't keep up to, or fail to show enough interest in pursuing the standard Peter and developers close to him, expects, then I believe this community is better off without cwbowron as a developer in the long run. Anything that unnecessarily increases the amount of crashes, confusion and problems for new users, should be kept to a minimum. If not, I'm afraid this community will suffer and also make it less desirable for other developers to create new components, because they will have to deal with alot of problems caused by such problematic components (foo_tunes is probably a good example).
Title: foo_playlist_tree
Post by: mazy on 2005-01-19 14:07:28
i'm sick of repeated comparsions to foo_tunes. foo_tunes is old project which didn't really get off alpha or beta stage ... though it supported features that foo_ui_columns didn't or doesn't have ...

and as for confusion of newcomers to foobar - that's whole different story, we can see it all the time that ppl are requesting / complaining about things like "winamp's volume", "id3v2 tags not written / read / deleted", "enqueue / send to playlist" etc.

foobar is simply way to big and customizable, with many 3rd party plugins in all kinds of development stages and rather poor (or lack of) documentation. for proper use of some plugins or features you would have to read multiple pages long threads or even better follow their development.

--

what we see here, concerning foo_playlist_tree, is rather being premature and taking premature actions on both sides. some ppl here were hostile or unenthusiastic to foo_playlist_tree from the beginning and stayed so.

if i could, i would ask all sides to be a little bit more helpful, calm down and leave emotions aside ...
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-19 15:23:05
Quote
Quote
Maybe we should do something about it...

I sent an email to cwbowron to try to convince him to change his mind. Some other people could do the same...

I'll also try to send him an email. Edit: I've already did.[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266518")

I've get an answer from cwbowron. He wanted me to post the entire email message so here it's:

Quote
I appreciate your kind words and your support.  I have decided to
continue development on the plugin, but to do so outside the confines of
the Hydrogen Audio Foobar2000 Forum.  I have created a public forum on
my website which is at [a href="http://www.bowron.us/forum/]http://www.bowron.us/forum/[/url].  Please spread the
word and let people know the forum address and that development has not
stopped on the plugin.

You are right, most of the time the fb2k forum was a great and friendly
community.  The problem is the moderators and the foobar2k development
team are not.  Musicmusic, Phi and tboehrer were all helpful in the
development of my program, but people like Foosion, Picmixer and zZzZzZz
ruin it.  Most of the allegations they make in the known problematic
components are no longer true and I have emailed zZZZZZZZzzzfgdafasd in
defense of them and no changes were made.  The final two straws were the
suspension of my account for recommending my plugin and the moderation
of the discussion thread to include the subtitle "Highly Unstable".

Thank you for all your great suggestions on the plugin and I hope that
you will continue to use it and suggest new features and report bugs.
Thanks.
Title: foo_playlist_tree
Post by: ssamadhi97 on 2005-01-19 17:37:58
jkwarras: what you fail to mention (and he seems to be concealing it as well) is that the component was only added to the list of problematic components after several issues that were regarded as critical remained in it for well over a month.

Here's "our" (fb2k moderation team) perspective: Several issues were reported immediately after the initial release on Nov 16 and remained unfixed until it was put on the list on Dec 22. And it's not like he didn't get several hints on how to fix these issues. It looks like he did not really pursue to remedy these problems before administrative action was taken (namely putting his component on the blacklist) to force him to start doing something about it.

As for the "general indifference from other coders around here" when asked for help, you need to realize that offering coding help beyond posting general pointers and answering specific questions (which was done) is a very time-consuming thing to do. I don't think dedicating copious amounts of time to acquainting oneself to foreign code and fixing it is something that can be expected from everyone.

Quote
You are right, most of the time the fb2k forum was a great and friendly
community.  The problem is the moderators and the foobar2k development
team are not.  Musicmusic, Phi and tboehrer were all helpful in the
development of my program, but people like Foosion, Picmixer and zZzZzZz
ruin it.
[a href="index.php?act=findpost&pid=266574"][{POST_SNAPBACK}][/a]


Now this is almost funny. foosion filed several problem reports in this thread and posted hints on how to solve the issues he reported. LONG before playlist_tree was put on the list of problematic components, too. Seeing cwbowron's rudeness towards him in this email is shocking, to say the least. Same goes for zZzZzZz, who did not only write the player and generally provide tons of sample code in the SDK, but also a good deal of the code playlist tree was based on to begin with (AlbumList).


Oh yes, resorting to name calling was not very appropriate from cwbowron's side. I wouldn't mind trying to iron out this conflict, but such things definitely don't make that easier.
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-19 19:29:14
Quote
jkwarras: what you fail to mention (and he seems to be concealing it as well) is that the component was only added to the list of problematic components after several issues that were regarded as critical remained in it for well over a month.

Just to make sure: I'm not cwbowron's defender. Even if I don't know anything about coding I can understand that if he didn't solve several issues that fb2k moderation team considered as critical, after a month it's put under the problematic list. Most of these issues seems to have been solved but I'll not comment about that because I don't have the knowledge.

Quote
As for the "general indifference from other coders around here" when asked for help, you need to realize that offering coding help beyond posting general pointers and answering specific questions (which was done) is a very time-consuming thing to do. I don't think dedicating copious amounts of time to acquainting oneself to foreign code and fixing it is something that can be expected from everyone.

I can also understand it. I didn't mean that no one helped him, but maybe users were more excited than developers, after all I'm not the only one who felt that. I guess that some users wants a media library and this component is what comes closer at the moment for a lot of us, but I guess that sometimes users and developers have different opinions/preferences on what's cool and what's not, and what's really necessary and what's not. And I guess we fail to see if something is well designed or not, after all we use it, but (no offense) we don't really care if it's well designed or not, we just use it  So, I guess that some people would have expected more developers interest in that component, but obviously it's up to everyone to be willing to spend free time on something and to be interested in it 

Quote
Oh yes, resorting to name calling was not very appropriate from cwbowron's side. I wouldn't mind trying to iron out this conflict, but such things definitely don't make that easier.
[a href="index.php?act=findpost&pid=266612"][{POST_SNAPBACK}][/a]

Really, and that's my own opinion, I really think that if what cwbowron told me is right, suspending his account just for recommending once his component was just what makes things go the wrong way. After all I've recommended this plugin in this forum several times, same goes for other members... I wouldn't call it very delicate, I mean the reaction is very simple to predict 

Well, I'll get out of the way, hoping that both parts will calm down a little. Only time will tell...
Title: foo_playlist_tree
Post by: marcomk on 2005-01-19 19:51:01
ssamadhi97,

  I can see your point and I highly respect the work of zZzZzZz and Foosion. If foobar is such a good player it is probably due not only to their skills but also to their rigour and high standards. I just believe this situation wasn't managed in the nicest possible way - and cwbowron had his own reaction.  That's it.

Anyway, let's see it in these terms now... At least for a while, Playlist tree will be discussed and developed far from this forum, out of the reach of 'inexperienced users'.  As a foobar's user and enthusiast, I just want to ask you all to be open to re-evaluate the component without prejudice as soon as it will reach a final stage.  I think the community in general will benfit from this.

  I would also invite all the users and coders interested in Playlist tree (which is a very interesting and ambitious project, why is it so difficult to admit it?) to join the new forum (http://bowron.us/forum/index.php). There's no need to be divided in opposite parties. Personally, I think I will be active on both boards. 
Title: foo_playlist_tree
Post by: ExUser on 2005-01-19 19:54:26
I believe the action taken in this situation was appropriate. It shows that the foobar2000 community is concerned with the quality of the components produced by it. It is this quality that seperates the foobar2000 community from the Winamp community. Winamp's API is loaded with bugs and peculiarities, as are its plugins. foobar2000's API is clean, kept up-to-date, and has bugs/peculiarities fixed as they crop up. I would expect the same from the component development and maintenance division. The other developers have certainly followed that belief.

(foosion put what I had here much more succinctly. Please read his post below.) It's sad to see that he decided to ignore the suggestions from others here and quit participating in this forum, but that's his decision, I suppose.
Title: foo_playlist_tree
Post by: ssamadhi97 on 2005-01-19 19:56:38
To prevent further speculation...
Quote
Really, and that's my own opinion, I really think that if what cwbowron told me is right, suspending his account just for recommending once his component was just what makes things go the wrong way.[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266649")

It's only partly correct: that was a very limited two-day temporary suspension based on the premise that his component is still on the list of known problematic components for good reason (which I'm personally not sure about). The thread title was edited and the warning sticky was posted on the same premise, apparently.

Here's the warning cwbowron received from Peter:
Quote
[a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=30716]http://www.hydrogenaudio.org/forums/index....showtopic=30716[/url]
Recommending one of known broken components (foo_playlist_tree) to people is harmful to the community and not welcome on our forums. Please read http://www.hydrogenaudio.org/forums/index....showtopic=17872 (http://www.hydrogenaudio.org/forums/index.php?showtopic=17872), thank you.


On the ToS #12 issue:
Quote
Quote
Second of all, if he really did register another account he violated TOS #12, this leading to the fact that he will most likely not be able to join HA anymore
[a href="index.php?act=findpost&pid=266409"][{POST_SNAPBACK}][/a]


Sorry, I can't share the same fascination for burocracy. 
[a href="index.php?act=findpost&pid=266416"][{POST_SNAPBACK}][/a]

Quote
12. All members are only allowed to have a single user account with the forums. Members who are found to violate this rule may be subject to immediate banishment or other administrative action.

"fascination for bureaucracy" or not, ToS are ToS and have to be enforced to be taken seriously. I think it shows some basic benevolence that his violation of ToS #12 did only result in disabled posting ability for the new account instead of an actual ban
Title: foo_playlist_tree
Post by: foosion on 2005-01-19 20:06:18
When this plugin was initially released, I downloaded and ran it. What I saw looked remarkably like foo_albumlist, only that it had cwbowron’s name sticking on it (the source files in the archive indicated some relation to it anyway). My first impression was that it was an album list ripoff, and that the author must have some guts to post this on the foobar2000 forum. Inspecting the readme and the source code revealed its true nature. My mistake was, that I had already shared my initial “findings” on IRC. You know what they say about first impressions…

Further studies of the source code and plugin revealed a number (for me) obvious bugs, some of which can be explained by cwbowron being new to the foobar2000 SDK. Inarguably, the SDK is a little scarce on documentation, something that has to and will be adressed in future (the next) versions. Yet people still manage to make initial releases of components with relatively few bugs, so I assume that is possible (I might assume too much here). The fast release cycle where each day a new version would bring bug fixes for earlier days and new, often bugged features, is something that goes against my personal belief that a developer should prefer correctness (and thus thorough testing) to making features available as fast as possible. These two factors had a negative influence on my (emotional) view of this component. Still, I tried to keep emotions out of my posts, even if they might have sounded cold and harsh at times.

Now for putting foo_playlist_tree on the list of potential troublemakers: that was agreed upon based on my inspection of the component. So when cwbowron sent a PM to zZzZzZz stating that he resolved most of the problems, zZzZzZz forwarded that message to me. That was on the 25th of december. By that time I was on holidays for two weeks, and my entire foobar2000 related activities consisted of taking a peek at the forum every other day (and using it to play music). When I returned in 2005, I checked cwbowron’s claims and found that most old problems were indeed resolved (this didn’t happen in one go, so it took me until last week). Yet, I didn’t manage to post in this thread or update the list of potential trouble makers in this time, for which I apologize.

The sudden outburst that caused this whole situation to escalate took me by surprise. To err is human, and I’m pretty sure I am human. Now if you could hold back the stones at least until I finish writing a post about some remaining problems and how to solve them…
Title: foo_playlist_tree
Post by: picmixer on 2005-01-19 20:19:49
Quote
   I can see your point and I highly respect the work of zZzZzZz and Foosion. If foobar is such a good player it is probably due not only to their skills but also to their rigour and high standards. I just believe this situation wasn't managed in the nicest possible way - and cwbowron had his own reaction.  That's it.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266655")


Well looking back at it maybe one could say the situation grew a bit out of proportions from both sides. And I am sure we will take this as a lesson and think about how we will solve such situations in a more diplomatic way in the future. The [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=30719]sticky[/url] that I put up in the third party forum should have probably been put up earlier to prevent any misunderstandings as well.

Quote
Anyway, let's see it in these terms now... At least for a while, Playlist tree will be discussed and developed far from this forum, out of the reach of 'inexperienced users'.  As a foobar's user and enthusiast, I just want to ask you all to be open to re-evaluate the component without prejudice as soon as it will reach a final stage.  I think the community in general will benfit from this.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266655")


I can assure you that we are all open to judge playlisttree without prejudice when it reaches the final stage. A component being on the list of "known problematic components" has nothing to do with any personal dislike of the developer, but this list rather exists to point out problems and for the benefit of the community.

As I have already mentioned in the third party forum, we intended to leave this thread open anyway, so that development may continue for the best of everyone and I explicitly mentioned that I don't want to keep anyone from using or helping to develop this component. To each his own and the diversity of plugins available for foobar2000 is definitely a very strong point of this player.

Coming to the two personal remarks I made in this [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=30700&view=findpost&p=266013]topic[/url], I can only say they might have been a bit out of place and could have simply solved by putting up the sticky in the third party forums earlier. But after all we are all just human beeings, including us moderators and sometimes get carried away by our personal feelings.  If these remarks where taken more offending and serious than I had intended them to be, then I apologize about this, especially to cwbowron in case he took them personal. As I already said before, moderating and keeping everyone happy at the same time sometimes is a hard job and even we sometimes make misjudgements.

I however stand by the pinned post I made in the third party forums and can assure you it wasn't meant as a personal attack against anyone.  Sometimes doing your moderating duties isn't always happy and cheerful and these things still need to be done.
Title: foo_playlist_tree
Post by: foosion on 2005-01-19 21:06:07
This list of problems/suggestions is based on what I found in foo_playlist_tree from 2005-01-11. I do not know, if cwbowron still reads this forum and thread, so someone may want to forward this information to him. It's a pity I didn't manage to post this earlier.

The CF_HDROP clipboard format is provided and handled by the core, so there are few situations where you have to cater for that yourself.

There is now a generic component to resolve shell links (foo_lnk), so you need not complicate your code with that.

Using string8 as return type is inefficient, since the compiler/runtime will create a new string8 object everytime. To optimize efficiency, pass a string8/string_base pointer or reference as a parameter and append data to that. Also pass in a string8_fastalloc object to reduce the number of memory reallocation and string copy operations.

DragAcceptFiles should be obsolete if RegisterDragDrop is used.

The assert macro is not appropriate for checking input, it does nothing in release builds. I noticed it was used for that in combination with GetOpenFileName/GetSaveFileName. If you provide these functions with a default extension, you don't have to check for an extension yourself (the strchr based check would also fail, if the path provided by the user had a dot in one of the directory names, but no extension). You may want to disable the apparently unsused "read-only" checkbox in the open dialog (uGetOpenFileName does that automatically).

The parent window of the playlist tree window is null, which causes some (for me) unpleasant effects like having to show the window again using the menu command when it got moved to the background. This could be fixed by setting the foobar2000 main window as the parent window. The handle of the main window is accessible through core_api::get_main_window() (things like the DLL instance handle are also accessible through core_api).

Quote
I dont think its a possibility because I think the TreeView Control is limited to the system colors....[a href="index.php?act=findpost&pid=265107"][{POST_SNAPBACK}][/a]
It's the ImageList that is limited, because you are not using the right flags. I've had that problem myself at one point. Since I couldn't believe that Windows Explorer was able to have truecolor icons and I not, I searched MSDN until I found this:
Quote
ILC_COLOR
    Use the default behavior if none of the other ILC_COLOR* flags is specified. Typically, the default is ILC_COLOR4, but for older display drivers, the default is ILC_COLORDDB.
ILC_COLOR4
    Use a 4-bit (16-color) device-independent bitmap (DIB) section as the bitmap for the image list.
ILC_COLOR8
    Use an 8-bit DIB section. The colors used for the color table are the same colors as the halftone palette.
ILC_COLOR16
    Use a 16-bit (32/64k-color) DIB section.
ILC_COLOR24
    Use a 24-bit DIB section.
ILC_COLOR32
    Use a 32-bit DIB section.
(emphasis added by me)
Title: foo_playlist_tree
Post by: jkwarras on 2005-01-19 21:33:28
Quote
Now if you could hold back the stones [a href="index.php?act=findpost&pid=266660"][{POST_SNAPBACK}][/a]

Actually that's the funniest thing I've read today about that whole story 
Title: foo_playlist_tree
Post by: marcomk on 2005-01-19 21:42:54
I just want to say that I'm very pleased with the last posts by foosion and picmixer 
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-20 00:05:32
I appreciate the recent comments from Foosion and Picmixer.  Foosion's comments will be especially useful in improving the component.  I've implemented a couple of the suggestions and hope to add some more of the others soon, specifically the use of bitmaps with more than 16 colors and not having functions return string8's but pass them by reference.  Hopefully this will improve the speed of the plugin.

I will continue to use my new forum (http://www.bowron.us/forum) for the official playlist tree bug report and feature request forum, as it will help me better keep track of things.  If you have a bug report or have a feature you would like to see added, please let me know there.

I plan to continue following events happening in this forum.  Hopefully we can put some of this behind us.
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-27 15:30:14
An open letter to the moderators

I have recently uploaded my version 1.0.0 of playlist tree, available from http://foobar.bowron.us/foo_playlist_tree_1.0.0.zip (http://foobar.bowron.us/foo_playlist_tree_1.0.0.zip) .  Source code is available from http://foobar.bowron.us/foo_playlist_tree_src.zip (http://foobar.bowron.us/foo_playlist_tree_src.zip) .  I would ask that you examine it, and if you agree with me that I have fixed the issues noted in the Known Problematic Components thread, that you would make the appropriate changes to that thread and to remove the ban on suggesting it in other threads.

There are some known issues with the plugin, but they relate to background query refreshes and automatically refreshing some trees on the change of the playing song, and they are noted in the options menu as "BETA Stage: Not for casual users".

I believe the program now properly supports the url scheme and the subsong index, properly handles Unicode, Handles appropriate non-unicode messages. 

All char * operations are checked for buffer overflows or truncated to avoid problem.  Most string operations use the native string8 format.  Appropriate copyright  notice for the SDK code has been made in the included readme.txt file.

Thank you for your consideration.
Title: foo_playlist_tree
Post by: Phi on 2005-01-28 01:19:55
There are still some problems with your ui_extensions:

They are all coded as single-instance extensions, so you need to use the ui_extension::is_available method to restrict the number of times they can be added to a single host (i.e., once):
Code: [Select]
virtual bool is_available(ui_extension_host * p_host) const { return p_host != host; }
You need to properly handle transferring an extension from one ui_extension_host to another. Probably the most important thing you need to do here is call ui_extension_host::relinquish_ownership(HWND) on your old host (and make sure you call SetParent(wnd,new_parent) before this to avoid your window getting destroyed). Example by foosion (from the ui_extension SDK):
Code: [Select]
virtual HWND init_or_take_ownership(HWND wnd_parent, ui_extension_host * p_host, cfg_var::read_config_helper * config)
{
if (wnd == NULL) {
// Create new window.

// Store host.
host = p_host;

// only apply configuration data to a new instance
set_config(config);

// create window
wnd = create_window(wnd_parent);
} else {
// Transfer existing window to new host.
// Possibly extend this to handle free-floating <-> hosted transitions.

// Set new parent window.
SetParent(wnd, wnd_parent);

// Tell old host to let us go. We need to do this after using SetParent()!
host->relinquish_ownership(wnd);

// Store new host.
host = p_host;
}

// ensure the window is not visible
ShowWindow(wnd, SW_HIDE);

return wnd;
}

In search_window::destroy_window(), you never actually destroy your search window.

You can find some ui_extension documentation here (http://music.everywebhost.com/ui_extension/classui__extension.html).
Title: foo_playlist_tree
Post by: cwbowron on 2005-01-28 15:21:36
Quote
They are all coded as single-instance extensions, so you need to use the ui_extension::is_available method to restrict the number of times they can be added to a single host (i.e., once):

In search_window::destroy_window(), you never actually destroy your search window.


Thanks for the information... I've updated the program to reflect this information... Rather than use the is_available to test if the new host is the same as the old host, I've just tested if the panel already exists, because the plugin cannot handle multiple instances in different hosts either... Is there a problem with doing it this way?

Thanks again...
Title: foo_playlist_tree
Post by: foosion on 2005-01-28 23:22:03
Quote
Thanks for the information... I've updated the program to reflect this information... Rather than use the is_available to test if the new host is the same as the old host, I've just tested if the panel already exists, because the plugin cannot handle multiple instances in different hosts either... Is there a problem with doing it this way?[a href="index.php?act=findpost&pid=268900"][{POST_SNAPBACK}][/a]
Making is_available() return false, in case the panel exists prevents the panel from being moved to another host, for example from the sidebar itself to a tabbed panel stack. Does that answer your question?

I just downloaded version 1.0.0 of the plugin. I only checked the preferences so far though. While adding some sort of sections is a good idea, I think you should go further in that direction. At least change the combobox to a regular listbox, so the settings are easier to browse. Using a treeview might be nicer to look at, but it is also more work to implement, so I understand if you postpone or discard that idea. Another nice and rather easy thing would be to hide the controls input controls except than current one (instead of disabling them).

I added a "(review pending)" remark to your component in the list of known potential troublemakers, until that review is done (hopefully on sunday).
Title: foo_playlist_tree
Post by: Phi on 2005-01-29 01:06:54
Quote
Rather than use the is_available to test if the new host is the same as the old host, I've just tested if the panel already exists, because the plugin cannot handle multiple instances in different hosts either... Is there a problem with doing it this way?

There won't be any problems doing it this way (technically). But as foosion said this will remove the convenience of host->host transfers (this uses the same instance, btw. Your window just gets moved indirectly to the new host after the SetParent call). I notice you did add the host transfer code though, so it should be safe to use the is_available definition I gave you above.
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-09 05:19:03
I see that the entry in the known problematic components has been changed to
Quote
foo_playlist_tree
    missing safety checks resulting in crashes, unicode support is broken, especially in ansi environments


I was hoping maybe foosion or someone else who has had a chance to examine the code could elaborate on these issues so that I might fix them.

Thanks
Title: foo_playlist_tree
Post by: jkwarras on 2005-02-10 14:03:45
What I don't get it's why the pinned post about not recommending this component still there? Other components in this list are recommended all over this forum without any similar warning.
Title: foo_playlist_tree
Post by: rexy on 2005-02-11 13:47:21
It came to my attention that you have implemented control of my albumart panel. So, I came to check it out. I'm very flattered, but I think there's a flaw in your implementation: it never unlocks the albumart panel. That is, in albumlist, on SETFOCUS or when selection changes, it locks the albumart panel and sets an image, but on KILLFOCUS, it unlocks the albumart panel and reverts the image. If you never unlock the panel, then it will never go back to displaying new tracks or playlist selections. I noticed that you are using the same function I defined for use with albumlist, so all you have to do is actually just call that with a null value when you loose focus and it will unlock the albumart panel and revert the image.
Hope that helps.
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-11 13:56:07
Quote
It came to my attention that you have implemented control of my albumart panel. So, I came to check it out. I'm very flattered, but I think there's a flaw in your implementation: it never unlocks the albumart panel. That is, in albumlist, on SETFOCUS or when selection changes, it locks the albumart panel and sets an image, but on KILLFOCUS, it unlocks the albumart panel and reverts the image. If you never unlock the panel, then it will never go back to displaying new tracks or playlist selections. I noticed that you are using the same function I defined for use with albumlist, so all you have to do is actually just call that with a null value when you loose focus and it will unlock the albumart panel and revert the image.
Hope that helps.
[a href="index.php?act=findpost&pid=272569"][{POST_SNAPBACK}][/a]


Cool... Thanks for heads up... I was wondering about that because I thought it was funny that it never went back to the currently playing item in my config...

I'll get that fixed in the next released...
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-11 20:03:20
Quote
I'll get that fixed in the next released...
[a href="index.php?act=findpost&pid=272573"][{POST_SNAPBACK}][/a]


It has been fixed...
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-17 14:41:51
Changelog since 1.0.0

Quote
RELEASE  1.3.1

2005-02-16   Switched configuration to a tree view... Easier to understand, but still easy to add new items

RELEASE  1.3.0

2005-02-16   new toolbar: browser filter

RELEASE  1.2.1

2005-02-15   fixed sort bug on queries

RELEASE  1.2.0

2005-02-15   Edit dialog box for static folders
     folder level sort criteria specification.  You still need to manually select sort (it wont automatically sort when you press ok on the edit box)

RELEASE  1.1.19

2005-02-15   folders that have a defined leaf format have a small "F" on them. (This lets you know where the formatting is defined in case you want to change it)  If you have folders that you used the formatting for of previous version, which saved the information at the leaf node level, use Leaf Format...>Reset then apply the format at the folder level.

2005-02-14   Made input in format leaf nodes a drop down list... you can still type your own format though...
     Made leaf formatting a folder specific option... each folder can have its own leaf format... The closest parent node will effect any given child...

RELEASE  1.1.18

2005-02-14   Happy Valentine's Day   
     Fixed drag drop bug introduced in 1.1.17

RELEASE  1.1.17

2005-02-13   Changed workaround code...
     Changed from GetSystemTime to GetLocalTime...

RELEASE  1.1.16

2005-02-12   Holy workaround batman... workaround to fix crash on loading a collection...

RELEASE  1.1.15

2005-02-11   $icon() can now be used in leaf level of query format
     "format leaf nodes" context menu option
     fixed loading of formatted handles

RELEASE  1.1.14

2005-02-11   option: Search->Enter Behavior (default Root->Next)
     option: Search->Button Behavior (default Root->All)
     option: Search->Control+Button Behavior (default Search Node->All)
     release albumart when lose focus
     $icon(n) custom icons

RELEASE  1.1.13

2005-02-10   changing search criteria resets searchCount
     Changed restore tree after search code
     search bug fixes

RELEASE  1.1.12

2005-02-10   Better input checking

RELEASE  1.1.11

2005-02-10   Search improvements (selection of search criteria)

2005-02-09   Error checking on saving...

RELEASE  1.1.10

2005-02-09   Fixed some bugs in the explorer calling process

RELEASE  1.1.9

2005-02-09   %systemdate%, etc parsing on query format and sort critera

RELEASE  1.1.8

2005-02-08   Quick bug fix on Preferences

RELEASE  1.1.7

2005-02-08   $globalformat

RELEASE  1.1.6

2005-02-05   Albumart stuff
     option: Send Selected Item to album art (default off)

RELEASE  1.1.5

2005-02-03   Added Bold.../ Remove Bold Items right click option
     Added Clear Subtree right click option

RELEASE  1.1.4

2005-02-02   Added Send to user-defined playlist double click option
     option: user-defined playlist (default "user_defined")

RELEASE  1.1.3

2005-02-01   Added %julian% and %julian_frac% tags...

RELEASE  1.1.2

2005-01-30   Added %_path% to quick query tags
     Fixed processing of normal keys in treeviewhook

RELEASE  1.1.1

2005-01-30   Happy Birthday to me
     Fixed WM_KEYDOWN processing to process shortcuts

2005-01-29   Fixed a couple issues in export to text (dont include leaves if leaves are hidden, dont include root if root is hidden)

RELEASE  1.1.0

2005-01-29   Quick Query  (Components/Playlist Tree/Quick Query)

2005-01-28   Added $force tag.  If you use $force in the label of a node it will not use the default display
     hid inactive options in preferences menu

RELEASE  1.0.2

2005-01-28   removed restore active playlist after populating... Need a better way to avoid changing playlist when refreshing
     added $left, $right and $center tags for browser column headers.   
     added export to text file
     option:  Export Indentation String (default +)

RELEASE  1.0.1

2005-01-28   $nobrowse now applies to the library playlist as well as browser
     fixed some ui_extension stuff (thanks phi)

2005-01-27   Added support for dropped http streams
     option: Do not refresh $playing queries when nothing playing... The labels will still change but content will not be refreshed...
     option: quiet mode
Title: foo_playlist_tree
Post by: marcomk on 2005-02-18 00:42:58
Is there anybody who has any problem with unicode support with this component? If so, please report the problems so they can be fixed (and hopefully this component can cease to be in the problematic list)

Thanks 
Title: foo_playlist_tree
Post by: jkwarras on 2005-02-18 10:41:56
@cwbowron: Awesome job 

I think that what newbies will like most is the new Quick Query feature, really useful.
Title: foo_playlist_tree
Post by: marcomk on 2005-02-21 00:56:15
I uploaded two new Gant bitmaps for Playlist tree here. (http://www.hydrogenaudio.org/forums/index.php?showtopic=31693#). A screenshot of what is possible to do with the bitmaps and the $icon function can be found here (http://www.hydrogenaudio.org/forums/index.php?showtopic=30988&st=331#) (post 332)
Title: foo_playlist_tree
Post by: jkwarras on 2005-02-21 08:54:55
Quote
A screenshot of what is possible to do with the bitmaps and the $icon function can be found here (http://www.hydrogenaudio.org/forums/index.php?showtopic=30988&st=331#) (post 332)
[a href="index.php?act=findpost&pid=275471"][{POST_SNAPBACK}][/a]

Really nice
Title: foo_playlist_tree
Post by: ajax3 on 2005-02-21 09:26:46
hi
i have very stupid question but how can i change background colour?? i almost sure that when i first time click right mouse button i have this option and now i cant find it
help
Title: foo_playlist_tree
Post by: marcomk on 2005-02-21 12:02:21
Quote
hi
i have very stupid question but how can i change background colour?? i almost sure that when i first time click right mouse button i have this option and now i cant find it
help
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=275574")


Go to the Preferences, Appearance, Background color.

For a general overview of the basic functions of the plugin, you can have a look at the [a href="http://foobar.bowron.us/Tutorial.rtf]Tutorial[/url]. For any other info, best place is the forum (http://www.bowron.us/forum).

@cwbowron
Maybe a link to the tutorial in the first post may be useful... 
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-24 15:42:59
The new user tutorial has been updated to 0.3.1 and is now more web friendly.  It now includes information about the browser.

http://foobar.bowron.us/Tutorial.htm (http://foobar.bowron.us/Tutorial.htm)
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-24 15:54:27
BTW latest version now include much better support for folder editting, including new features of icon selection... You can choose different icons for different folders very easily now...

Queries now have larger input boxes as well.
Title: foo_playlist_tree
Post by: jkwarras on 2005-02-24 16:58:55
Chris,

I'm going to bring back and old request: do you have any plans to implement somethign like this (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&pid=276638&st=266#)? (aka Auto-scan database + refresh PT).

BTW, are icons available in the browser? i don't think so.
Title: foo_playlist_tree
Post by: jkwarras on 2005-02-25 22:30:54
Quote
I'm going to bring back and old request: do you have any plans to implement somethign like this (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&pid=276638&st=266#)? (aka Auto-scan database + refresh PT).
[a href="index.php?act=findpost&pid=276654"][{POST_SNAPBACK}][/a]

I'm glad to see that Chris has implemented this into PT. I was really waiting for this to work in fb2k. Wow, just one click and you get:

1) Scan database
2) Remove dead entries
3) Remove dead entries for static folders
4) Refresh all PT queries.

 

PD: Can't wait to have the option to auto-update on startup implemented.
Title: foo_playlist_tree
Post by: spase on 2005-02-26 16:35:44
Quote
Quote
I'm going to bring back and old request: do you have any plans to implement somethign like this (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&pid=276638&st=266#)? (aka Auto-scan database + refresh PT).
[a href="index.php?act=findpost&pid=276654"][{POST_SNAPBACK}][/a]

I'm glad to see that Chris has implemented this into PT. I was really waiting for this to work in fb2k. Wow, just one click and you get:

1) Scan database
2) Remove dead entries
3) Remove dead entries for static folders
4) Refresh all PT queries.

[a href="index.php?act=findpost&pid=277107"][{POST_SNAPBACK}][/a]

how do i do this?
Title: foo_playlist_tree
Post by: jkwarras on 2005-02-26 16:43:55
Quote
how do i do this?
[a href="index.php?act=findpost&pid=277286"][{POST_SNAPBACK}][/a]

Get latest version of PT. Put in 'Config>music Directory' the path to your msuic library folder. Then just use this in Main menu:
Playlist Tree>Database>Scan>Prune DB>Prune Tree>Refresh (or assign a shortcut to this).
Title: foo_playlist_tree
Post by: spase on 2005-02-27 16:21:26
Quote
Quote
how do i do this?
[a href="index.php?act=findpost&pid=277286"][{POST_SNAPBACK}][/a]

Get latest version of PT. Put in 'Config>music Directory' the path to your msuic library folder. Then just use this in Main menu:
Playlist Tree>Database>Scan>Prune DB>Prune Tree>Refresh (or assign a shortcut to this).
[a href="index.php?act=findpost&pid=277293"][{POST_SNAPBACK}][/a]

oh i like this.

luckily i made some ntfs junction points so all of my music can be under one directory.  otherwise i might need multiple directory entries in this config page.  maybe this still wouldnt be a bad idea?
Title: foo_playlist_tree
Post by: TomGroove on 2005-02-27 18:58:33
 excellent tool !!! even I had to kick my own ass as I needed several hours to find out, how to get two dynamic trees with lossless and encoded files

  I was already happy with myself ot get the query "%_path% HAS MP3" to work, but my bigger surprize was later than, that I can just enter Q=MP3 or Q=Flac.

Is there any documentation around about TAGZ or foo_playlist_gen format in general ?? 
Title: foo_playlist_tree
Post by: cwbowron on 2005-02-27 21:59:57
Quote
excellent tool !!! even I had to kick my own ass as I needed several hours to find out, how to get two dynamic trees with lossless and encoded files

  I was already happy with myself ot get the query "%_path% HAS MP3" to work, but my bigger surprize was later than, that I can just enter Q=MP3 or Q=Flac.


You might also be interested in writing a query that displays based on filename extension. For example

Query: $ext(%_path%)
Uncheck the foo_playlist_gen format button

Format: $ext(%_path%)|[%artist%]|[%album%]|[$num(%tracknumber%,2) - ]%title%

There's a html file in the foobar2000 directory called titleformat_help.html that is a good reference for TAGZ.
Title: foo_playlist_tree
Post by: TomGroove on 2005-02-27 22:22:46
 this is even the more elegant method to solve it....thx for the hint on the .html,
did see it before, but forgot about it. Good night from Munich....
Title: foo_playlist_tree
Post by: marcomk on 2005-02-28 01:09:39
Quote
Is there any documentation around about TAGZ or foo_playlist_gen format in general ?? 


There is also another file called foo_playlistgen_ex.html in the foobar2000 directory, as a reference for foo_playlist_gen format queries. At least I have it, I think it was included in the installer... 
Title: foo_playlist_tree
Post by: TomGroove on 2005-02-28 21:08:41
Quote
There is also another file called foo_playlistgen_ex.html in the foobar2000 directory, as a reference for foo_playlist_gen format queries. At least I have it, I think it was included in the installer... 
[a href="index.php?act=findpost&pid=277730"][{POST_SNAPBACK}][/a]


thx....hmmm...don't have that one....
Title: foo_playlist_tree
Post by: foosion on 2005-02-28 21:13:33
foo_playlistgen_ex.html comes with - incidentally - foo_playlistgen_ex, i.e. it is not contained in the regular foobar2000 installer.
Title: foo_playlist_tree
Post by: TomGroove on 2005-02-28 22:46:23
thx...could only find the foo_playlistgen_ex.dll, but the help contained there does explain probably most of it anyway... 

now over to my last goal : album art 
Title: foo_playlist_tree
Post by: marcomk on 2005-02-28 22:54:27
Quote
thx...could only find the foo_playlistgen_ex.dll, but the help contained there does explain probably most of it anyway... 

now over to my last goal : album art 
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=277980")


[a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=31951#]Here[/url] is the help file I was talking about.
Title: foo_playlist_tree
Post by: TomGroove on 2005-03-01 09:21:19
Quote
Here (http://www.hydrogenaudio.org/forums/index.php?showtopic=31951#) is the help file I was talking about.
[a href="index.php?act=findpost&pid=277982"][{POST_SNAPBACK}][/a]


thx Marcomk, even I get en error loading the html....
Title: foo_playlist_tree
Post by: marcomk on 2005-03-01 17:26:41
Quote
Quote
Here (http://www.hydrogenaudio.org/forums/index.php?showtopic=31951#) is the help file I was talking about.
[a href="index.php?act=findpost&pid=277982"][{POST_SNAPBACK}][/a]


thx Marcomk, even I get en error loading the html....
[a href="index.php?act=findpost&pid=278134"][{POST_SNAPBACK}][/a]


Sorry, I think I fixed it.
Title: foo_playlist_tree
Post by: TomGroove on 2005-03-01 18:37:58
 ahhhh...thx, my friend.....all system on now !!
Title: foo_playlist_tree
Post by: hotzenpl0tz on 2005-03-04 12:10:32
I really have to say, I just cannot understand why this problem is still on the known problematic components list. Granted, it might still have some problems in certain environments but the author is doing everything he can to iron out the bugs he finds and I have been using this component for weeks now without any major issues like constant crashes or anything similar. Having to put a disclaimer under your posting whenever you recommend a user to try the plugin just feels stupid, why should I warn a user of stability issues that are just nonexistant for the majority of its users.

Oh well, not my call I guess, but I just felt the need to express my feelings and maybe I am totaly wrong and just don't know it yet
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-04 13:47:49
Quote
Having to put a disclaimer under your posting whenever you recommend a user to try the plugin just feels stupid, why should I warn a user of stability issues that are just nonexistant for the majority of its users.

I agree. I don't see as a user any stability issues with this plugin for a longtime.  It has improved a lot since the begining.

I understand that it could fall into the problematic list for reasons I can't understand as I'm not a programmer, but as you said, having to recommend a component and then put a warning when the user (me) knows that he's not suffering from any problems feels a little weird.

In this case, everyone that recommend foo_shuffle around here should also put a warning...
Title: foo_playlist_tree
Post by: marcomk on 2005-03-04 16:13:41
Quote
Quote
Having to put a disclaimer under your posting whenever you recommend a user to try the plugin just feels stupid, why should I warn a user of stability issues that are just nonexistant for the majority of its users.

I agree. I don't see as a user any stability issues with this plugin for a longtime.  It has improved a lot since the begining.


Of course I also agree that playlist tree is currently not more 'problematic' that any other component here which is in heavy development. I also had the feeling that this component was discriminated a bit in the recent past, but I'm quite satisfied now since picmixer had changed the sticky. In general, it seems reasonable to me that zZzZzZz and moderators set a standard and invite users to be careful with some problematic components.

Very recently foosion gave cwbowron some more hints on how to address unicode problems in ANSI environment. I think cwbowron had fixed the issues almost completely. When he will be sure about it, he will probably ask the moderators to rexamine playlist tree and to remove the component from the list. It's just a matter of time, I think. 
Title: foo_playlist_tree
Post by: marcomk on 2005-03-07 01:21:59
I have updated the Playlist tree tutorial. Since cwbowron is on vacation, I uploaded it here (http://www.hydrogenaudio.org/forums/index.php?showtopic=32146#). Please report comments, bugs, mistakes, etc. 
Title: foo_playlist_tree
Post by: seedman on 2005-03-07 16:07:58
about the "send to device" feature
could this send entire folder when I right click on a folder node in future version?
or add an option to select "send files" or "send folder"?
Title: foo_playlist_tree
Post by: ArtMustHurt on 2005-03-07 17:02:37
how do i refresh the playlist or dir? so that new songs are added to my excisting playlist.
Title: foo_playlist_tree
Post by: marcomk on 2005-03-07 17:17:45
Quote
how do i refresh the playlist or dir? so that new songs are added to my excisting playlist.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=280137")


If you have a dynamic folder with query=$drop(c:\my music\) or $drop(c:\my music\my music.fpl), right click on the folder and choose refresh from context menu.
See the [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=32146&view=getnewpost]tutorial[/url] for more details.
Title: foo_playlist_tree
Post by: pIv on 2005-03-17 07:51:28
To all

Lat stable version of this plugin is 1.4.5 at 03.03.2005. All next version crash Foobar session when I try exit from Foobar.

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 406EA087h
Access violation, operation: read, address: 406EA087h
Call path:
WinMain=>app_shutdown
This is the first crash logged by this instance.
Access violation, operation: read, address: 406EA087h
Stack (0012F76Ch):
0012F74Ch:  FFFFFFFF 0000000C 00000000 0012FE9C
0012F75Ch:  7FFDE000 F5C8B934 80414C33 8120B448
0012F76Ch:  022F1B67 0000000A 00000000 00000000
0012F77Ch:  0012F838 022DE950 16010613 00000000
0012F78Ch:  00000005 007E0000 00000000 02B9F130
0012F79Ch:  16010613 00000001 10002D00 0012F72C
0012F7ACh:  0012F82C 0012F7F8 77F81F55 77F82528
0012F7BCh:  FFFFFFFF 0012F808 78001E00 007E0000
0012F7CCh:  00000000 02BA3070 16010613 00000000
0012F7DCh:  10002D78 0000040B 00000002 02B9F130
0012F7ECh:  00000000 02B9F130 0000F800 0012F82C
0012F7FCh:  7800BD6A 780322A0 FFFFFFFF 0012F838
0012F80Ch:  02C49AF8 00000040 00000028 00000001
0012F81Ch:  022F67DC 022F67C8 00000000 00000000
0012F82Ch:  0012FA3C 022F566C 00000000 0012F884
0012F83Ch:  022DFBD1 FFFFFCC1 00000000 00000033
0012F84Ch:  00000000 00000000 00000357 00000278
0012F85Ch:  00000000 00000002 00000002 000002C4
0012F86Ch:  0000030F FFFFFFFF 00000010 00000048
0012F87Ch:  0000004B 00000003 0012F8CC 022E05A3
Registers:
EAX: 02B48D98, EBX: 10002D78, ECX: 02B48D98, EDX: 02AFA520
ESI: 02B48D9C, EDI: 00000000, EBP: 0012F77C, ESP: 0012F76C
Failed to get module/symbol info.

Version info:
foobar2000 v0.8.3
UNICODE


I check this error on W2k SP4 and WXP SP2.
Title: foo_playlist_tree
Post by: cwbowron on 2005-03-17 14:18:21
Quote
To all

Lat stable version of this plugin is 1.4.5 at 03.03.2005. All next version crash Foobar session when I try exit from Foobar.

I check this error on W2k SP4 and WXP SP2.
[a href="index.php?act=findpost&pid=282907"][{POST_SNAPBACK}][/a]


Do you remember what the latest version that you tried was that did crash?

Do you have any of the options that are marked as "beta" in the preference dialog enabled?

EDIT: if you don't mind experimenting, you might try today's upload of 1.4.11 which might fix the problem.  There was an issue with the timer being set even if you don't have the tag update features enabled which could have been the root of the problem you were experiencing... Turn off Browser: refresh on tag update and Config: Refresh tree when tags change
Title: foo_playlist_tree
Post by: pIv on 2005-03-18 14:00:52
I dowload latest version 1.4.12 and uncheck all beta features. All work fine.

But when I change old version to new early - I only rewrite dll without any changes in settings. I don't check box "Turn off Browser: refresh on tag update and Config: Refresh tree when tags change". This options was enabled automatically.
Title: foo_playlist_tree
Post by: cwbowron on 2005-03-26 23:55:12
The playlist tree forum was hacked and is down.  I have moved the known feature requests to a file located at http://foobar.bowron.us/Feature%20Requests.txt (http://foobar.bowron.us/Feature%20Requests.txt)

Known bugs are in http://foobar.bowron.us/Known%20Bugs.txt (http://foobar.bowron.us/Known%20Bugs.txt)

If you've requested a feature or reported a bug that I dont have in there, please post it here...
Title: foo_playlist_tree
Post by: Chaser on 2005-03-27 03:32:12
I just wondered myself yesterday why the board produced an error?! Was it hacked, cause of beeing just a phpBB oder was it hacked, because of hosting foo_playlist_tree?
Title: foo_playlist_tree
Post by: 4nt1 on 2005-03-27 07:52:00
i must say i am finally finding some use for the awesome component

it makes custom playlists much easier for me to manage my 13,000 song collection and also the top 100 style of playlist simply owns
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-27 09:46:14
Quote
I just wondered myself yesterday why the board produced an error?! Was it hacked, cause of beeing just a phpBB oder was it hacked, because of hosting foo_playlist_tree?
[a href="index.php?act=findpost&pid=285912"][{POST_SNAPBACK}][/a]

I guess that some hacker kid did that. I had a phpbb forum sometime ago and I know kid getting into hackers like to crack them down   

Sorry to hear about the forum. Hope you can get it back.
Title: foo_playlist_tree
Post by: cwbowron on 2005-03-27 16:25:47
I've set up a new board at http://www.bowron.us/smf/ (http://www.bowron.us/smf/).  I will update the old forum to redirect to the new one.

memberlists have been lost.  Sorry for the inconvenience.
Title: foo_playlist_tree
Post by: 4nt1 on 2005-03-28 02:17:05
Quote
I've set up a new board at http://www.bowron.us/smf/ (http://www.bowron.us/smf/).  I will update the old forum to redirect to the new one.

memberlists have been lost.  Sorry for the inconvenience.
[a href="index.php?act=findpost&pid=286032"][{POST_SNAPBACK}][/a]


hey just wondering if i wanted to make little query things one for each day of the week, ie so i have 7 days of what ive played in the past on each day

ie so i can have a top 100 for each day, so i can work out what kind of mood each day is for me
atm i want it to look like
days\
monday
tuesday
wednesday
thursday
friday
saturday
sunday
kind of like that
i have all the last played and play count plugins...
Title: foo_playlist_tree
Post by: cwbowron on 2005-03-28 15:20:13
Quote
Quote
I've set up a new board at http://www.bowron.us/smf/ (http://www.bowron.us/smf/).  I will update the old forum to redirect to the new one.

memberlists have been lost.  Sorry for the inconvenience.
[a href="index.php?act=findpost&pid=286032"][{POST_SNAPBACK}][/a]


hey just wondering if i wanted to make little query things one for each day of the week, ie so i have 7 days of what ive played in the past on each day

ie so i can have a top 100 for each day, so i can work out what kind of mood each day is for me
atm i want it to look like
days\
monday
tuesday
wednesday
thursday
friday
saturday
sunday
kind of like that
i have all the last played and play count plugins...
[a href="index.php?act=findpost&pid=286186"][{POST_SNAPBACK}][/a]


Assuming you use the play count plugin to write the %julian_played% tag you could use the $mod(%julian_played%,7) to return the day of the week on which it was played (you might have to add a number to get the right offset for 0 = monday)
Title: foo_playlist_tree
Post by: 4nt1 on 2005-03-29 03:42:31
Quote
Quote
Quote
I've set up a new board at http://www.bowron.us/smf/ (http://www.bowron.us/smf/).  I will update the old forum to redirect to the new one.

memberlists have been lost.  Sorry for the inconvenience.
[a href="index.php?act=findpost&pid=286032"][{POST_SNAPBACK}][/a]


hey just wondering if i wanted to make little query things one for each day of the week, ie so i have 7 days of what ive played in the past on each day

ie so i can have a top 100 for each day, so i can work out what kind of mood each day is for me
atm i want it to look like
days\
monday
tuesday
wednesday
thursday
friday
saturday
sunday
kind of like that
i have all the last played and play count plugins...
[a href="index.php?act=findpost&pid=286186"][{POST_SNAPBACK}][/a]


Assuming you use the play count plugin to write the %julian_played% tag you could use the $mod(%julian_played%,7) to return the day of the week on which it was played (you might have to add a number to get the right offset for 0 = monday)
[a href="index.php?act=findpost&pid=286353"][{POST_SNAPBACK}][/a]


excuse my ignorance but it julian played the same as last played?
Title: foo_playlist_tree
Post by: topdownjimmy on 2005-03-29 03:59:36
Quote
Quote
Quote
Quote
I've set up a new board at http://www.bowron.us/smf/ (http://www.bowron.us/smf/).  I will update the old forum to redirect to the new one.

memberlists have been lost.  Sorry for the inconvenience.
[a href="index.php?act=findpost&pid=286032"][{POST_SNAPBACK}][/a]


hey just wondering if i wanted to make little query things one for each day of the week, ie so i have 7 days of what ive played in the past on each day

ie so i can have a top 100 for each day, so i can work out what kind of mood each day is for me
atm i want it to look like
days\
monday
tuesday
wednesday
thursday
friday
saturday
sunday
kind of like that
i have all the last played and play count plugins...
[a href="index.php?act=findpost&pid=286186"][{POST_SNAPBACK}][/a]


Assuming you use the play count plugin to write the %julian_played% tag you could use the $mod(%julian_played%,7) to return the day of the week on which it was played (you might have to add a number to get the right offset for 0 = monday)
[a href="index.php?act=findpost&pid=286353"][{POST_SNAPBACK}][/a]


excuse my ignorance but it julian played the same as last played?
[a href="index.php?act=findpost&pid=286548"][{POST_SNAPBACK}][/a]


julian_played would be a custom playcount tag if you configured it to use julian date.  I don't think this would do what you want, since you could only categorize by the last day of the week a song was played, not by how frequently on a certain day a song is played.
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-29 09:03:37
Even if you set playcount to write the julian date, it'll tag the file with the last played time/date, so, i.e. you play a song on tuesday and on friday, and the query in playlist tree will just return the playcount from friday.
Title: foo_playlist_tree
Post by: 4nt1 on 2005-03-29 11:33:15
so then what do we need to get working for it to all work?
perhaps something with the history plugin?
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-29 14:53:15
Quote
so then what do we need to get working for it to all work?
perhaps something with the history plugin?
[a href="index.php?act=findpost&pid=286608"][{POST_SNAPBACK}][/a]

OT. afaik you can't do this. history panel will let you see what's has been played lately but I don't think it's possible to retrieve and display the tdate the song has been played (apart of the %last_played% tag).  Only the author of foo_playcount (or someone that wants to implement it) should be able to add this feature (playcount history for every track), and then you could do this.
Title: foo_playlist_tree
Post by: marcomk on 2005-03-29 15:00:06
Playlist tree is not listed anymore in the Known problematic component list.



Maybe it is also time to edit the "still very experimental (beta stage)" subtitle.
Title: foo_playlist_tree
Post by: 4nt1 on 2005-03-30 03:49:53
almost sounds like u would need a seperate db to manage whats been played and then cause if u embeded into the mp3s u would have lots of data used?
unless u had a meta data thingy which had one line which stored 7 lots of humbers
ie
played(0,1,2,3,4,5,6)
and everytime they r played then one of the days gets increased..

im sure this wouldnt be too ahrd to implement i think we jsut need to talk to the right people,,

ie so if its played 5 times on a monday then the second number is increased..
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-30 08:41:13
Quote
Playlist tree is not listed anymore in the Known problematic component list.


[a href="index.php?act=findpost&pid=286647"][{POST_SNAPBACK}][/a]

 
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-30 08:58:34
Quote
almost sounds like u would need a seperate db to manage whats been played and then cause if u embeded into the mp3s u would have lots of data used?
[a href="index.php?act=findpost&pid=286814"][{POST_SNAPBACK}][/a]

Already requested several times under the foo_playcount plugin thread. There's already a foo_playcount mod version that write only to the db instead of the file (using sqlite) and that works fine, but doesn't store all playcounts, it behaves like normal playcuont plugin but doesn't write tags to the file. But feel free to request it to the developper under the foo_playcount plugin, because I believe it doesn't belong here (and it's going OT)
Title: foo_playlist_tree
Post by: TomGroove on 2005-03-30 09:21:41
on closing my fb2k, I see the playlist tree flashing and fb2k shuts delayed down. I see a delay of may be 5-10 sec, anybody seen this and knows the problem ?
Title: foo_playlist_tree
Post by: The Link on 2005-03-30 09:30:19
@TomGroove: Do you have some sql/sqllite based component installed (foo_playcouter etc...)? If yes, remove them and try again. For me this solved  that issue and a lot of other things like this (and some random crashing, too).
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-30 11:06:30
Quote
@TomGroove: Do you have some sql/sqllite based component installed (foo_playcouter etc...)? If yes, remove them and try again. For me this solved  that issue and a lot of other things like this (and some random crashing, too).
[a href="index.php?act=findpost&pid=286880"][{POST_SNAPBACK}][/a]

Yeas, same here. I thought at the begining that was PT fault, because I was getting a lot of metadataba leaks when closing fb2k, but I think that it's either foo_playcount mod or foo_quicktag_sql fault.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-03-30 18:12:49
Now that is seems stable (at least on my system), I've spend the afternoon understanding and configuring playlist tree. I end up with a few (minor) bugs and one request :

Bug 1
Using a hierarchy for the search results (with leaf nodes hidden and the browser enabled) will not work if the string is not terminated by | followed by some caracters. For instance :
Search|%searchstring%        did not work
Search|%searchstring%        did not work either
Search|%searchstring%|xx  did work as expected but xx is not dispayed

Bug 2
Using this Search|%searchstring%|xx as the search result (again with with leaf nodes hidden and the browser enabled), I have noticed that if I change the "Search" Node icon, then the subsequent queries will not be placed in the same folder (the one with the icon), but rather in a new "Search" folder (same name but with the standard icon). Maybe it is due to the "real" folder name (Search$icon(17) in this case).

Edit : I've discovered in this case that using  Search$icon(17)|%searchstring%|xx as the string bypasses the problem.

Bug 3
Is seems that when selecting "Play" as the action for double click (in the browser preferences) still sends the browser content to the user defined playlist (instead of just playing). This maybe by design but it would be better to just play the track (as if "play" was selected with a right clik).


Request
I would also on the occasion request the ability to dynamically (with TAGZ including node names or numbers for instance) configure the user defined playlist for double click. This would enable to send the results in the proper "single" or "album" views in the columns UI configs. Example :
if the current tree folder is somewhere in the "by album" hierachy --> send to Tree-Album playlist
if the current tree folder is somewhere in the "by track" hierachy --> send to Tree-Track playlist

... with different formattings for these playlists in Column_UI

Thank you.
Title: foo_playlist_tree
Post by: jkwarras on 2005-03-30 23:14:06
Quote
Bug 3
Is seems that when selecting "Play" as the action for double click (in the browser preferences) still sends the browser content to the user defined playlist (instead of just playing). This maybe by design but it would be better to just play the track (as if "play" was selected with a right clik).

I like the double-click send to browser feature, it's really easy to choose an artist then an album and then some tracks and send these tracks to the library wihout playing them. But I'll also like so,ething liek you said (direct play from the browser without adding to the playlist). As you said it's already there via right-click, but maybe a good option could be to adopt the MMJB approach and put a > in the right side of the first column of a selected track in the browser, and if you click on it just play the track without add it to the playlist. Or maybe allow single-click to play the track on the browser.
Title: foo_playlist_tree
Post by: madivad on 2005-04-01 11:57:55
It's been suggested I post here, but I have discovered 'browser filter' in my toolbar as a checkbox and a text field (if the checkbox is enabled).

I'm just wondering, what is it? and how do I use it?

I know it sounds stupid, but I'm not sure where it comes from, although I've been led to believe that people here will know

BTW, I did do a search for "Browser Filter" (with quotes) and "+Browser +Filer" (withoug quotes) but still no luck!
Title: foo_playlist_tree
Post by: TomGroove on 2005-04-01 12:02:58
Quote
@TomGroove: Do you have some sql/sqllite based component installed (foo_playcouter etc...)? If yes, remove them and try again. For me this solved  that issue and a lot of other things like this (and some random crashing, too).
[a href="index.php?act=findpost&pid=286880"][{POST_SNAPBACK}][/a]


yes, I do use playcounter...let me try, thx ! 
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-01 15:57:13
Quote
It's been suggested I post here, but I have discovered 'browser filter' in my toolbar as a checkbox and a text field (if the checkbox is enabled).

I'm just wondering, what is it? and how do I use it?

I know it sounds stupid, but I'm not sure where it comes from, although I've been led to believe that people here will know

BTW, I did do a search for "Browser Filter" (with quotes) and "+Browser +Filer" (withoug quotes) but still no luck!
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=287467")


Browser Filter is a toolbar related to the playlist tree plugin.  The playlist tree contains a panel called "Browser" for browsing the selected node in the playlist tree.  The Browser filter can be used to filter out only the tracks that have a specified character string in them.

The tutorial for playlist tree can be found at [a href="http://foobar.bowron.us/Tutorial/]http://foobar.bowron.us/Tutorial/[/url], but it does not yet have information about the browser filter, as it is a fairly new feature.
Title: foo_playlist_tree
Post by: madivad on 2005-04-01 16:40:47
Quote
The tutorial for playlist tree can be found at http://foobar.bowron.us/Tutorial/ (http://foobar.bowron.us/Tutorial/), but it does not yet have information about the browser filter, as it is a fairly new feature.
Thanks
Title: foo_playlist_tree
Post by: fabiospark on 2005-04-02 22:06:07
Could you make the list of field names editable by the user, please?
I have many extra fields.

Thanks.
Title: foo_playlist_tree
Post by: dano on 2005-04-03 14:09:05
Is it possible to duplicate queries? It would be a nice feature.
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-03 16:11:09
Quote
Could you make the list of field names editable by the user, please?
I have many extra fields.

Thanks.
[a href="index.php?act=findpost&pid=287861"][{POST_SNAPBACK}][/a]


Which field names?  The search fields?
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-03 16:14:31
Quote
Is it possible to duplicate queries? It would be a nice feature.
[a href="index.php?act=findpost&pid=287999"][{POST_SNAPBACK}][/a]


Yes,  if you drag and drop it holding down control (or maybe its shift, I'm not positive off the top of my head) it will make a copy rather than move the query/folder.
Title: foo_playlist_tree
Post by: dano on 2005-04-03 17:04:01
Thanks it was the SHIFT key.

I have a small bug: When I refresh a query, and then click on my files in the normal playlist window, the album art (foo_uie_albumart)does not change, it stays on the album art of the first file.
I need to click in the playlist tree window again to make it work.
Title: foo_playlist_tree
Post by: fabiospark on 2005-04-03 18:11:54
Quote
Quote
Could you make the list of field names editable by the user, please?
I have many extra fields.

Thanks.
[a href="index.php?act=findpost&pid=287861"][{POST_SNAPBACK}][/a]


Which field names?  The search fields?
[a href="index.php?act=findpost&pid=288027"][{POST_SNAPBACK}][/a]


No, sorry for the sleepy one.

I mean the list in the quick query dialog.
Title: foo_playlist_tree
Post by: raum on 2005-04-03 18:37:07
How do I get this to show up on the panel on the left of foobar instead of a window?
Title: foo_playlist_tree
Post by: jkwarras on 2005-04-03 22:17:44
Quote
How do I get this to show up on the panel on the left of foobar instead of a window?
[a href="index.php?act=findpost&pid=288063"][{POST_SNAPBACK}][/a]

You have to right-click on the left sidebar and add the PT panel. Chek the tutorial for more info.
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-04 21:38:23
Quote
Could you make the list of field names editable by the user, please?
[a href="index.php?act=findpost&pid=287861"][{POST_SNAPBACK}][/a]


Done.  Check out version 1.5.5
Title: foo_playlist_tree
Post by: fabiospark on 2005-04-04 22:47:30
Quote
Quote
Could you make the list of field names editable by the user, please?
[a href="index.php?act=findpost&pid=287861"][{POST_SNAPBACK}][/a]


Done.  Check out version 1.5.5
[a href="index.php?act=findpost&pid=288303"][{POST_SNAPBACK}][/a]


Thanks, that's great!!!

Mmmm.... we are approaching the target ------------->@!

I tell you nothing more.

Just checked out 'cause it's time to go to sleep.

'Night 'night.
Title: foo_playlist_tree
Post by: alphaex32 on 2005-04-05 01:12:14
Just need help with some string formatting.

I want to query for any track title not starting with a number. I had some ideas of how to do it, but it never seems to work:

$not($or($stricmp($left(%title%,1),1),$stricmp($LEFT(%title%,1),2)...etc...

I thought this would work, but I keep getting blank queries. Any ideas of how to do this (simple is better)?

Oh, and a suggestion. Could you make it possible to disable the icon for only certain nodes (without having to use the blank icon). Also, it would be nice if we could get our icons from a folder of external files, rather than a single bitmap, as it sometimes gets annoying to add new icons this way.

Btw, why only 256 color bitmaps?
Title: foo_playlist_tree
Post by: jkwarras on 2005-04-05 09:01:57
Quote
Oh, and a suggestion. Could you make it possible to disable the icon for only certain nodes (without having to use the blank icon). Also, it would be nice if we could get our icons from a folder of external files, rather than a single bitmap, as it sometimes gets annoying to add new icons this way.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=288323")

I've also requested that
[a href="http://bowron.us/smf/index.php?topic=15.0]http://bowron.us/smf/index.php?topic=15.0[/url]
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-05 14:26:33
Quote
Just need help with some string formatting.

I want to query for any track title not starting with a number. I had some ideas of how to do it, but it never seems to work:

$not($or($stricmp($left(%title%,1),1),$stricmp($LEFT(%title%,1),2)...etc...

I thought this would work, but I keep getting blank queries. Any ideas of how to do this (simple is better)?


You can probably do something like $not($strchr($left(%title%,1),'0123456789'))

Quote
Btw, why only 256 color bitmaps?
[a href="index.php?act=findpost&pid=288323"][{POST_SNAPBACK}][/a]


I believe that in order to have them transparent they need to be 256 colors or fewer.
Title: foo_playlist_tree
Post by: fabiospark on 2005-04-05 21:54:02
Dear cbowron I need your help again.

I have many classical tracks and I put into them many values in the field performer and in the field instrument so I can choose all the tracks where there is a cello playing or a clarinet etc. But if I want to listen to the cello & piano duets only, I need a way to select just the tracks with those two instruments and discard those with additional instruments.
I think using $meta_num(x) to get only the tracks that returns '2' should work but how can I do it in the query field of PT?
I mean: do I have to use $if?
Do I have to use '%instrument%' , '#instrument#' or 'instrument'?
I thought of something like that:

$and($stricmp(#instrument#,cello),$stricmp(#instrument#,piano),$not($greater($meta_num(#instrument#,2))))

I used $greater because I can't see an $equal in the title formatting help.

A thing to let you know:
after using quick query and normal query to do some tests, the QQ started inserting the NOT operator in the beginning of each line I added, even if I didn't choose to. The thing stopped after restarting FB.

Thanks.
Title: foo_playlist_tree
Post by: 12zmcnvow1277 on 2005-04-10 15:14:23
Hey cwbowron, nice work, this has easily supassed the Album List plugin for me. Just a quick question. How do I get rid of the awful time and space items next to my records? Eg. Next to the artist it shows the total time that the files go for and the total amount of disk sace taken up. I just want it to show up like your tutorial:

(http://foobar.bowron.us/Tutorial/Figure%203.png)

Another question, I've set it so my middle button will add a file to the current playlist window, however it cuts to playing that track, how do i make it so it doesn't start playing  the track.

Thanks for any help, and well done on such a great plugin.
Title: foo_playlist_tree
Post by: jkwarras on 2005-04-10 17:08:42
Quote
How do I get rid of the awful time and space items next to my records? Eg. Next to the artist it shows the total time that the files go for and the total amount of disk sace taken up. [a href="index.php?act=findpost&pid=289547"][{POST_SNAPBACK}][/a]

You can change this in the folders>folder display section under preferences. For show only the name use only %name%. Idem for the selected folder display.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-04-10 17:09:14
I try to use this string in a dynamic query title :

$format($replace('$playing(%album%)',CD,Disc,Disk,Disc))

Now if the album contains this caracter -->[span style='font-size:11pt;line-height:100%'] ' [/span]<--  i get a syntax error

Any workaround? bugfix?
Title: foo_playlist_tree
Post by: 12zmcnvow1277 on 2005-04-11 13:19:37
I've read about 80% of this thread and I think I've got the basics of this plugin worked out. I don't know C++ so I'm limited in my configuration  . I think I've found a bug. I'm able to double click anywhere in the frame to refresh the tree to its default state. HOwever when I add tracks to the now playing window, useing the middle click button, I try to double click in the playlist tree frame to referesh the tree back to its original state. However it won't refresh. It will only refresh when i double click on a node. 


EDIT: OMG I just discovered Quick Query!!  That takes care of the programming issue 
Title: foo_playlist_tree
Post by: insyte on 2005-04-14 08:56:39
When you make a selection in the playlist tree browser, then click out, it changes into the default  black text / gray background.

Is there a way to change these colors?

(http://i2.photobucket.com/albums/y45/insyte/Capture4-14-2005-4.jpg)
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-14 14:29:38
Quote
When you make a selection in the playlist tree browser, then click out, it changes into the default  black text / gray background.

Is there a way to change these colors?
[a href="index.php?act=findpost&pid=290445"][{POST_SNAPBACK}][/a]


No, I dont think that it is possible in the listview control.  I could add an option to turn off the selection when the browser is not active though.
Title: foo_playlist_tree
Post by: insyte on 2005-04-14 17:27:53
Quote
No, I dont think that it is possible in the listview control.  I could add an option to turn off the selection when the browser is not active though.
[a href="index.php?act=findpost&pid=290501"][{POST_SNAPBACK}][/a]


Thanks


Edit : I see that its already included in the latest binary.  Thanks
Title: foo_playlist_tree
Post by: alphaex32 on 2005-04-17 02:30:09
Im beginning to love this plugin as I learn to customize it, but there is something that is bothering me...the save prompt every time I close foobar. Could you create an autosave option that will save to a specified file automatically before closing?

Oh, and I just remembered something else that gets very annoying. The little popup that comes up when you try to move a node and you having moving disabled (Local drag and drop has been disabled). I like to disable dragging nodes because I tend to do it accidentally a lot, but that popup just makes it worse.
Title: foo_playlist_tree
Post by: 4nt1 on 2005-04-17 13:33:14
Quote
Im beginning to love this plugin as I learn to customize it, but there is something that is bothering me...the save prompt every time I close foobar. Could you create an autosave option that will save to a specified file automatically before closing?

Oh, and I just remembered something else that gets very annoying. The little popup that comes up when you try to move a node and you having moving disabled (Local drag and drop has been disabled). I like to disable dragging nodes because I tend to do it accidentally a lot, but that popup just makes it worse.
[a href="index.php?act=findpost&pid=291190"][{POST_SNAPBACK}][/a]


i very much agree with your first suggestions and am indeferent to the second. this plugin rocks and i hope everyone gives it the time it deserves
Title: foo_playlist_tree
Post by: 12zmcnvow1277 on 2005-04-17 13:44:16
Quote
e...the save prompt every time I close foobar. Could you create an autosave option that will save to a specified file automatically before closing?


[a href="index.php?act=findpost&pid=291190"][{POST_SNAPBACK}][/a]



That feature does exist and I use it. In the "Files and Paths" option Enable auto saving and then set a save file in the other option. easy 
Title: foo_playlist_tree
Post by: alphaex32 on 2005-04-17 15:49:38
Quote
Quote
e...the save prompt every time I close foobar. Could you create an autosave option that will save to a specified file automatically before closing?


[a href="index.php?act=findpost&pid=291190"][{POST_SNAPBACK}][/a]



That feature does exist and I use it. In the "Files and Paths" option Enable auto saving and then set a save file in the other option. easy 
[a href="index.php?act=findpost&pid=291286"][{POST_SNAPBACK}][/a]


Oh, wow. I can't believe I didn't notice this. That drag and drop popup still needs fixing though. Actually, I have another idea. How about an option to allow the user only to drag and drop nodes while holding the ctrl key? That would fix the problem of accidentally moving stuff around.
Title: foo_playlist_tree
Post by: 4nt1 on 2005-04-18 03:47:41
swoit ass
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-18 19:12:28
Quote
How about an option to allow the user only to drag and drop nodes while holding the ctrl key? That would fix the problem of accidentally moving stuff around.
[a href="index.php?act=findpost&pid=291319"][{POST_SNAPBACK}][/a]


I thought that was a fairly elegant way to fix the problem, so I added it to 1.5.15.  Theres a new option under config: drag and drop requires control press

share and enjoy.
Title: foo_playlist_tree
Post by: Chaser on 2005-04-18 20:14:32
Your work is as always appriciated very much! Thank you!
Title: foo_playlist_tree
Post by: HIXXY on 2005-04-18 22:52:38
Hi!

I downloaded Foobar today, and now I want to include this playlist tree, but I can't get it working 

I downloaded the Columns UI Component and the playlist tree Component, i put both Dll's in the components folder of foobar, in foobar I can press "Components" in the menu I got both Compunents but what is to do Now? I don't see anything, when I activate playlist tree there appears a little box with no content.

I dont know what to do

In this tutorial: http://foobar.bowron.us/Tutorial/ (http://foobar.bowron.us/Tutorial/) they just got it in the Program, how do i do this?

i hope, you understand my english

greetz Merlin
Title: foo_playlist_tree
Post by: alphaex32 on 2005-04-19 01:43:30
Quote
Quote
How about an option to allow the user only to drag and drop nodes while holding the ctrl key? That would fix the problem of accidentally moving stuff around.
[a href="index.php?act=findpost&pid=291319"][{POST_SNAPBACK}][/a]


I thought that was a fairly elegant way to fix the problem, so I added it to 1.5.15.  Theres a new option under config: drag and drop requires control press

share and enjoy.
[a href="index.php?act=findpost&pid=291661"][{POST_SNAPBACK}][/a]


Wow, works like a charm. Gotta love the service around here  . Oh, I just noticed a problem that presents, though. Moving a node automatically bolds them now. Perhaps you could have an option to disable bolding (I personally don't really use it) or change the bold hotkey to shift.

That reminds me of another item on my wishlist. Don't know if its possible, but it would be nice if the playlist tree could access foo_history data so that we can make lists based recently played songs.

Eh, just had another idea. A context menu entry that could go to a certain tree query based on the selection in the playlist. For example, you could have a context entry "Query this Artist" to quickly create a query based on the artist tag with that value, allowing you to quickly find all songs by that artist. You could also have Album, Genre, Rating, etc. Of course this can also be done using the database search extension, but that open the database search window and displays the results there, which is kind of annoying.
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-19 03:22:38
Quote
Eh, just had another idea. A context menu entry that could go to a certain tree query based on the selection in the playlist. For example, you could have a context entry "Query this Artist" to quickly create a query based on the artist tag with that value, allowing you to quickly find all songs by that artist. You could also have Album, Genre, Rating, etc. Of course this can also be done using the database search extension, but that open the database search window and displays the results there, which is kind of annoying.


Already exists for album, artist and title. 

In the tree it will be by default under More.../Playlist Tree/Query:This Artist, etc.  In the generic context menu it will be under PlaylistTree/QuerY:This Artist.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-04-19 05:53:28
Quote
I would also on the occasion request the ability to dynamically (with TAGZ including a variable for node names or node numbers for instance) configure the user defined playlist for double click. This would enable to send the results in the proper "single" or "album" views in the columns UI configs. Example :
if the current tree folder is somewhere in the "by album" hierachy --> send to Tree-Album playlist
if the current tree folder is somewhere in the "by track" hierachy --> send to Tree-Track playlist

... with different formattings for these playlists in Column_UI

Thank you.
[a href="index.php?act=findpost&pid=286982"][{POST_SNAPBACK}][/a]


Any chance to see this request implemented ?
Title: foo_playlist_tree
Post by: shaneh on 2005-04-19 06:35:47
Is it possible to change a nodes format after its displayed? To see what I mean, take a look at a plugin Im working on for winamp, ml tree:

http://www.myplugins.info (http://www.myplugins.info)

If you right click a node, you can change its 'grouping' to another type.  Which is useful to do things such as group by rating/playcount/album, and easily remove from the results albums you dont want, low/high rated/played items etc.

Also, is it possible to group nodes with only a few children into a 'various' type node? Take a look at my ml tree plugin to see what I mean, its the 'group orpahns' feature.

Anyway, just some ideas you might like to bring across.

I briefly looked through the thread, but didnt see it. Does anyone have a format string which does something like:

%first_directory%|%second_dir%|%third_dir%

etc, which would effectively build a directory structure? Or is this not possible?
Title: foo_playlist_tree
Post by: jkwarras on 2005-04-19 09:09:33
Quote
Hi!

I downloaded Foobar today, and now I want to include this playlist tree, but I can't get it working  
[a href="index.php?act=findpost&pid=291710"][{POST_SNAPBACK}][/a]


1) Preferences>Database and enable the database. Point this to the folder where you have yoru music. Restart foobar.

2) Somewhere int he preferences you can choose the UI (standard UI or Column UI). Choose Column UI.

3) Under Column UI, somewhere you can enable an option to list 'all toolbars'. Enable it.

4) Go into foobar main window, and right-click on the toolbar or playlist sidebar and insert the panel 'Playlist Tree'. You can do the same to insert other panels.

Hope it helps. You can search on this forum how to insert a panel.
Title: foo_playlist_tree
Post by: sPeziFisH on 2005-04-19 11:11:21
Quote
If you right click a node, you can change its 'grouping' to another type.  Which is useful to do things such as group by rating/playcount/album, and easily remove from the results albums you dont want, low/high rated/played items etc.

I guess the $node() can be used here, with which you can grab the content of another query.

Quote
I briefly looked through the thread, but didnt see it. Does anyone have a format string which does something like:

%first_directory%|%second_dir%|%third_dir%

etc, which would effectively build a directory structure? Or is this not possible?

I use queries like e.g. '%_path% HAS e:\mp3\' and use as format '$replace(%_path%,e:\mp3\,)' - ATM I don't know if I had to enclose the directory in " (double quotes)
Title: foo_playlist_tree
Post by: HIXXY on 2005-04-19 19:28:56
Quote
Hope it helps. You can search on this forum how to insert a panel.
[a href="index.php?act=findpost&pid=291802"][{POST_SNAPBACK}][/a]


Yeah, this helped me a lot! Thanks for that!

Merlin
Title: foo_playlist_tree
Post by: morph on 2005-04-19 23:35:39
To cwbowron,

Have you considered implanting a "remove from database" option?
I know that the database implantation is in beta stage, but I'd really like to see this function. At the moment there's only "remove dead entries" wich is very usefull too, but doesn't do the trick for me.
Title: foo_playlist_tree
Post by: fabiospark on 2005-04-20 20:02:08
I have this query:

Code: [Select]
%genre%|#subgenre#|%artist%|%album%|$num(%tracknumber%,2).  %title%


and this is a bit of the resulting tree:

Code: [Select]
+ Genre - style
               + Blues
                     + Chicago blues
                     + Vocal - man
                     + Vocal - woman


Trouble is that double clicking 'blues' I get twice those tracks that have both 'Chicago' and 'Vocal - man' as subgenres (of course a multiple value field).

The same happens in the browser.

Is there a way to avoid this?

Thanks
Title: foo_playlist_tree
Post by: armin on 2005-04-21 21:22:21
I'd like to make a dynamic playlist that has my top 10 rated albums or artists, where an album's (or artist's) rating is the computed average of track ratings. Is this possible?

SELECT AVG(trackrating) AS albumrating ... GROUP BY album ORDER BY albumrating LIMIT 10


And a somewhat related issue... In the folder display setting, i'm using $avg(%trackrating%), but it only displays 1 digit and always rounds down. Is there any way to fix this so it displays the average as 3.82 instead of 3?

cheers.
Title: foo_playlist_tree
Post by: jkwarras on 2005-04-21 22:08:23
Quote
I'd like to make a dynamic playlist that has my top 10 rated albums or artists, where an album's (or artist's) rating is the computed average of track ratings. Is this possible?
[a href="index.php?act=findpost&pid=292508"][{POST_SNAPBACK}][/a]

I'll like to have such a query, I didn't have too much time lately to take a look at it but it seems posible. But if someone has already done it it'll be great to avoid the headache
Title: foo_playlist_tree
Post by: 4nt1 on 2005-04-25 12:21:47
ok dont get me wrong i love this component but for someone such as myself with over 85gb of music foobar takes upto 76mb-100mb when running with this component

when i remove it takes up only 24mb
is there anyway to improve this? foobar runs very slowly with your plugin
Title: foo_playlist_tree
Post by: The Link on 2005-04-25 12:34:38
Enabling "No Scroll" in the Browser makes it non functional here, i.e. you cannot scroll at all neither with the mouse nor with the arrow keys (marker goes into nirwana). Is this intentional?
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-25 14:18:48
Quote
ok dont get me wrong i love this component but for someone such as myself with over 85gb of music foobar takes upto 76mb-100mb when running with this component

when i remove it takes up only 24mb
is there anyway to improve this? foobar runs very slowly with your plugin
[a href="index.php?act=findpost&pid=293239"][{POST_SNAPBACK}][/a]


You could trim down the size of your tree...

I have over 120 gigs of music and fb2k uses 55 megs when pt is active...
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-25 14:20:36
Quote
Enabling "No Scroll" in the Browser makes it non functional here, i.e. you cannot scroll at all neither with the mouse nor with the arrow keys (marker goes into nirwana). Is this intentional?
[a href="index.php?act=findpost&pid=293243"][{POST_SNAPBACK}][/a]


Yes and No... I thought that by disabling the scroll bars using the ListView common control would still allow you to scroll using the mouse wheel and such, but it doesnt, and I never looked to make that work... so it uses the default ListView functionality...
Title: foo_playlist_tree
Post by: 4nt1 on 2005-04-26 05:05:16
ok yes ur right about tree size but what is the point in having this component if u have to limit it so much

55mb is way too much for an mp3 player

foobar used to run a small footprint but now is huge cause of the components?

is there someway to make this lighter?
Title: foo_playlist_tree
Post by: picmixer on 2005-04-26 16:15:55
Quote
foobar used to run a small footprint but now is huge cause of the components?

is there someway to make this lighter?
[a href="index.php?act=findpost&pid=293408"][{POST_SNAPBACK}][/a]


Yes simply don't use certain components.
Title: foo_playlist_tree
Post by: upNorth on 2005-04-26 18:21:17
Quote
ok yes ur right about tree size but what is the point in having this component if u have to limit it so much

55mb is way too much for an mp3 player

foobar used to run a small footprint but now is huge cause of the components?

is there someway to make this lighter?[a href="index.php?act=findpost&pid=293408"][{POST_SNAPBACK}][/a]
    Sorry, but I just have to say that I find statements like "55mb is way too much for an mp3 player" ridiculous. If you haven't noticed, this player (and most others) does more than just playing music...
But of course, the exe should be no more than 64kB, it should use less than 1MB of RAM, have all the features you can imagine, and still be lightning fast.

Time is running, you're getting older, the world is moving on, so it's about time you update your expectation regarding RAM figures. This is 2005, not 1992 or whenever you decided that "X MB of RAM ought to be enough for every player".
Title: foo_playlist_tree
Post by: ssamadhi97 on 2005-04-26 19:07:52
Functionality x can be designed so it only takes up y MB of memory, no matter whether that's done in 1992 or 2005.

Or see it the other way 'round, if functionality x needs at least y MB of memory, you'll have no choice to take it as is or leave it.


And generally, the availability of more RAM is no excuse for consuming excessively much memory because of poor program design.
Title: foo_playlist_tree
Post by: upNorth on 2005-04-26 20:43:21
Quote
Functionality x can be designed so it only takes up y MB of memory, no matter whether that's done in 1992 or 2005.[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=293518")
Of course, but at some point you will have to make a memory vs speed tradoff. My point is that in 2005, the average user has more RAM than in 1992, so why not utilize it to decrease disk access and improve speed? In 1992, that might not have been an option.

Quote
And generally, the availability of more RAM is no excuse for consuming excessively much memory because of poor program design.[a href="index.php?act=findpost&pid=293518"][{POST_SNAPBACK}][/a]
Of course not, but nobody mentioned poor programming, just that a player shouldn't use this much in general, even when you add an unspecified amount of third party components, with an unspecified amount of presets. IMHO, one shouldn't generalize like that.

Btw: I don't even use this plugin, and maybe it needs a feature like "memory cache" as seen in [a href="http://www.opera.com/]Opera[/url], to enable the user to limit it's memory usage, but consuming large amounts of memory doesn't necessarily mean that it's poorly programmed. It could mean that the developer simply prefers speed (a more responsive component) over low memory usage.

[span style='font-size:8pt;line-height:100%']edit: minor clarification[/span]
Title: foo_playlist_tree
Post by: hotzenpl0tz on 2005-04-26 23:36:29
found another target eh ?

Coming back to the topic, I noticed an increase in RAM usage right after populating some dynamic queries. After repopulating my entire collection and all queries (about 70GB of files) I get pretty high RAM spikes up to 60-80MB. If I turn on the option to save query results and only populate my dynamic queries like "Favorite Songs" and limit the results to reasonably playlist sizes (50-100 songs maybe) the memory usage seems to always stay pretty reasonable (maybe 10-20mb of ram more than I would get without the plugin) and alot of is freed again when minimising foobar to the tray (snaps back to 7mb usage right after minimising).
Title: foo_playlist_tree
Post by: 4nt1 on 2005-04-27 00:37:20
ok i am not trying to say program x should only take up y amount of ram, but using this component in particular, making use of its features which i am, seems to take up a lot of ram for whats its achieving.

perhaps i need to limit my options a lot more, but i am very greedy when it comes to my music, i like / want everything. to me 80mb for what i wanted seemed steem, foobar was starting up very slowly and i need to optimise it. this is of course at my discression, if i want a fast foobar, remove all components, i gotcha. i just need to find a happy medium.

i wasnt meaning to imply anything re programming skills, and its not like my pc is a slouch, i just thought it was a little steep is all.

i do love this component and fully support it as a user, i also recommend it to mates.

i guess why i come into problems is cause i am constantly adding music to my library on a daily basis.

perhaps i should look at my usage habbits?
Title: foo_playlist_tree
Post by: ddawg on 2005-04-29 12:38:47
Quote
i guess why i come into problems is cause i am constantly adding music to my library on a daily basis.

perhaps i should look at my usage habbits?
[a href="index.php?act=findpost&pid=293582"][{POST_SNAPBACK}][/a]


Well, if you keep constantly adding music to your library when you already have 85GB worth of music, you'll never be able to listen to them all even once. There's just too much music in the world, you'll have to prioritize

You'll have to think whether you're just collecting audio for the sake of collecting? In other words, are you a pack rat?
Title: foo_playlist_tree
Post by: fabiospark on 2005-04-29 17:30:16
Quote
Quote
i guess why i come into problems is cause i am constantly adding music to my library on a daily basis.

perhaps i should look at my usage habbits?
[a href="index.php?act=findpost&pid=293582"][{POST_SNAPBACK}][/a]


Well, if you keep constantly adding music to your library when you already have 85GB worth of music, you'll never be able to listen to them all even once. There's just too much music in the world, you'll have to prioritize

You'll have to think whether you're just collecting audio for the sake of collecting? In other words, are you a pack rat?
[a href="index.php?act=findpost&pid=294079"][{POST_SNAPBACK}][/a]



Sorry to step in...

I have about 200GB of classical, jazz and popular music (WavPack lossless) and I know the feeling about having vs listening quite well.

Apps like FB2k are just the right tool to let you stay on the listening side. In fact, the first (and not always easy) thing is to choose what you want to listen to, and with FB and its plugins - I'm a fan of Playlist Tree - you can easily see what you have in your collection, and with just a bunch of clicks you can populate the most personal playlist.

Some days ago, I friend of mine started asking me about the diffent jazz styles. With PT (and many hours of tagging behind) I could easily see and choose pieces of music related to the style we were talking about and so, easily point out the peculiar traits of each style.

Of course, on my Athlon 1000 with 512MB RAM, FB2k takes about 40 seconds to start as I have a tree with about 25 dynamic nodes but as I start it once a day I'm not concerned about it.

And yes, it's a dedicated PC jukebox.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-04-29 19:08:46
This component still crashes from time to time ....

Crash location: "foo_playlist_tree", loaded at 012F0000h - 01336000h

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 012FFF5Ah
Access violation, operation: write, address: 0C435930h
Call path:

This is the first crash logged by this instance.
Code bytes (012FFF5Ah):
012FFF1Ah:  30 75 32 01 8B 86 D8 00 00 00 85 C0 74 06 09 0D
012FFF2Ah:  30 75 32 01 8B 44 24 10 C7 05 34 75 32 01 30 00
012FFF3Ah:  00 00 85 C0 74 0A 50 FF 15 D8 E0 31 01 83 C4 04
012FFF4Ah:  8B 5C 24 28 68 20 75 32 01 53 FF 15 5C E2 31 01
012FFF5Ah:  89 86 E8 00 00 00 8B 86 C4 00 00 00 83 C4 08 85
012FFF6Ah:  C0 75 33 8B 86 FC 00 00 00 33 FF A9 FC FF FF FF
012FFF7Ah:  76 24 8B 86 E8 00 00 00 8B 8E F4 00 00 00 50 53
012FFF8Ah:  8B 0C B9 E8 6E FE FF FF 8B 96 FC 00 00 00 47 C1
Stack (0F8FFEE0h):
0F8FFEC0h:  00000008 00000002 007E0178 007E0178
0F8FFED0h:  007E0178 007E0178 007E0198 007E01D0
0F8FFEE0h:  000B0200 01327520 0000BF44 097E38D0
0F8FFEF0h:  000B0200 0131E30C 0DFA8870 00000040
0F8FFF00h:  00000040 00000000 0000002F 012FFF92
0F8FFF10h:  000B0200 01EE6060 00000002 094CF578
0F8FFF20h:  000B0200 0131E30C 0E05BB38 00000022
0F8FFF30h:  00000022 00000000 00000011 012FFF92
0F8FFF40h:  000B0200 024D5BD8 00000000 01326740
0F8FFF50h:  00000000 0131E30C 0A559FB8 0000001C
0F8FFF60h:  0000001C 00000000 0000000B 0130D8B8
0F8FFF70h:  000B0200 00000000 00000000 00000000
0F8FFF80h:  0F8FFFEC 0DF5A7D0 00000000 00000297
0F8FFF90h:  8043120F FF9056E0 FF8F3020 FFFFFFFF
0F8FFFA0h:  8043138F 00000000 00000000 00000000
0F8FFFB0h:  80431693 78464BD7 77E7987C 0DF5A7D0
0F8FFFC0h:  00000000 00000000 0DF5A7D0 7FFDC000
0F8FFFD0h:  C0000005 0F8FFFC0 0F8FFB2C FFFFFFFF
0F8FFFE0h:  77E8F0B4 77E7D360 00000000 00000000
0F8FFFF0h:  00000000 0130D840 0DF5A7D0 00000000
Registers:
EAX: 00000000, EBX: 000B0200, ECX: 00010101, EDX: FFFFFFFF
ESI: 0C435848, EDI: 01327554, EBP: 0DF5A7D0, ESP: 0F8FFEE0
Crash location: "foo_playlist_tree", loaded at 012F0000h - 01336000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 78460000h - 784E1000h
KERNEL32                        loaded at 77E70000h - 77F34000h
USER32                          loaded at 77E00000h - 77E65000h
GDI32                            loaded at 77F40000h - 77F7C000h
ole32                            loaded at 77A40000h - 77B37000h
RPCRT4                          loaded at 770C0000h - 77131000h
ADVAPI32                        loaded at 78ED0000h - 78F32000h
COMCTL32                        loaded at 77B40000h - 77BC9000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76B00000h - 76B3E000h
SHLWAPI                          loaded at 77C60000h - 77CAA000h
SHELL32                          loaded at 77580000h - 777CF000h
MSVCRT                          loaded at 78000000h - 78045000h
foo_ac3                          loaded at 00800000h - 00813000h
foo_albumlist                    loaded at 00820000h - 0082B000h
foo_burninate                    loaded at 00830000h - 0083C000h
VERSION                          loaded at 77810000h - 77817000h
LZ32                            loaded at 75950000h - 75956000h
foo_cdda                        loaded at 00840000h - 0084E000h
foo_clienc                      loaded at 00850000h - 0085B000h
foo_console                      loaded at 00860000h - 00867000h
foo_dbsearch                    loaded at 00870000h - 00888000h
foo_diskwriter                  loaded at 00890000h - 008A2000h
WINMM                            loaded at 77540000h - 77571000h
foo_dsp_extra                    loaded at 00930000h - 00945000h
foo_dsp_nogaps                  loaded at 00950000h - 00957000h
foo_dynamics                    loaded at 00960000h - 00967000h
foo_faac                        loaded at 00970000h - 009A3000h
foo_flac                        loaded at 009B0000h - 009CC000h
foo_flaccer                      loaded at 009D0000h - 009E6000h
foo_freedb                      loaded at 009F0000h - 00A1E000h
WS2_32                          loaded at 74FB0000h - 74FC4000h
WS2HELP                          loaded at 74FA0000h - 74FA8000h
foo_id3v2                        loaded at 00A20000h - 00A50000h
MSVCP60                          loaded at 780C0000h - 78121000h
foo_infobox                      loaded at 00A50000h - 00A63000h
foo_masstag                      loaded at 00A70000h - 00A84000h
foo_null                        loaded at 00A90000h - 00A97000h
foo_output_std                  loaded at 00AA0000h - 00AA9000h
foo_out_ks                      loaded at 00AB0000h - 00ABB000h
SETUPAPI                        loaded at 783C0000h - 78451000h
USERENV                          loaded at 78D20000h - 78D83000h
foo_playlistgen_ex              loaded at 00AC0000h - 00ACF000h
foo_rgscan                      loaded at 00AD0000h - 00ADD000h
foo_scroll                      loaded at 00AE0000h - 00AE6000h
foo_ui_std                      loaded at 00AF0000h - 00B07000h
foo_utils                        loaded at 00B10000h - 00B21000h
foo_vis_manager                  loaded at 00B30000h - 00B38000h
foo_vorbisenc                    loaded at 00B40000h - 00C51000h
foo_wma                          loaded at 00C60000h - 00C7A000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
OLEAUT32                        loaded at 779A0000h - 77A3B000h
foo_G-Force                      loaded at 01090000h - 0109B000h
foo_out_dsound_ex                loaded at 010A0000h - 010A9000h
DSOUND                          loaded at 51080000h - 510DD000h
foo_web                          loaded at 010C0000h - 010D8000h
foo_playlistfind                loaded at 011E0000h - 011EB000h
foo_scheduler                    loaded at 011F0000h - 01205000h
foo_uie_albumart                loaded at 01210000h - 0121C000h
gdiplus                          loaded at 70D00000h - 70E91000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_uie_albumlist                loaded at 01240000h - 01252000h
foo_uie_dbexplorer              loaded at 01260000h - 0126B000h
foo_uie_simple_spectrum          loaded at 01270000h - 0127B000h
foo_uie_tabs                    loaded at 01280000h - 0128A000h
foo_uie_trackinfo                loaded at 01290000h - 0129B000h
foo_uie_volume                  loaded at 012A0000h - 012AA000h
foo_ui_columns                  loaded at 012B0000h - 012E7000h
foo_playlist_tree                loaded at 012F0000h - 01336000h
foo_history                      loaded at 01340000h - 01355000h
foo_openwith                    loaded at 01360000h - 01369000h
foo_osd                          loaded at 01370000h - 0137B000h
foo_pod                          loaded at 01380000h - 0141D000h
foo_podclienc                    loaded at 01420000h - 01439000h
foo_podtranscoder                loaded at 01440000h - 01450000h
foo_publishtags                  loaded at 01450000h - 0145B000h
foo_read_http                    loaded at 01460000h - 01475000h
foo_shuffle                      loaded at 01480000h - 0148A000h
foo_temple                      loaded at 01490000h - 0149B000h
foo_input_std                    loaded at 014A0000h - 0155E000h
MSACM32                          loaded at 773E0000h - 773F3000h
foo_write_http                  loaded at 01570000h - 0158A000h
foo_dsp_delta                    loaded at 01590000h - 01597000h
INDICDLL                        loaded at 6E350000h - 6E356000h
IMM32                            loaded at 75E00000h - 75E1A000h
wdmaud                          loaded at 77530000h - 77538000h
dciman32                        loaded at 72810000h - 72816000h
Powrprof                        loaded at 76690000h - 76697000h
CLBCATQ                          loaded at 72C60000h - 72CE6000h
SSSensor                        loaded at 06270000h - 06285000h
imagehlp                        loaded at 77910000h - 77933000h
DBGHELP                          loaded at 72970000h - 7299D000h

Stack dump analysis:
Address: 01327520h, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 0131E30Ch, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 012FFF92h, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 0131E30Ch, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 012FFF92h, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 01326740h, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 0131E30Ch, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 0130D8B8h, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h
Address: 78464BD7h, location: "ntdll", loaded at 78460000h - 784E1000h
Address: 77E7987Ch, location: "KERNEL32", loaded at 77E70000h - 77F34000h
Address: 77E8F0B4h, location: "KERNEL32", loaded at 77E70000h - 77F34000h
Address: 77E7D360h, location: "KERNEL32", loaded at 77E70000h - 77F34000h
Address: 0130D840h, location: "foo_playlist_tree", loaded at 012F0000h - 01336000h

Version info:
foobar2000 v0.8.3
UNICODE
Title: foo_playlist_tree
Post by: cwbowron on 2005-04-29 19:15:29
Quote
This component still crashes from time to time ....
[a href="index.php?act=findpost&pid=294157"][{POST_SNAPBACK}][/a]


What version are you using?
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-04-29 20:11:39
Quote
Quote
This component still crashes from time to time ....
[a href="index.php?act=findpost&pid=294157"][{POST_SNAPBACK}][/a]


What version are you using?
[a href="index.php?act=findpost&pid=294160"][{POST_SNAPBACK}][/a]

It is dated 19/04/2005 10:07. It seems the crashed came from the .col file being desynchronized. I have restored a .col file from a backup and now it's ok.
Title: foo_playlist_tree
Post by: fabiospark on 2005-05-01 14:00:46
In track finder.

Is there a way to select the files of a node instead of just one track at a time? (remember quick track)

Am I missing something?

Thanks.

Should the $pad(x,y) work in PT? Here it seems it doesn't.
The pad_right instead seems working.
Title: foo_playlist_tree
Post by: hotzenpl0tz on 2005-05-02 10:12:39
I set up a dynamic query to show me all my files with Trackrating 4 or greater. Since I always want to listen to different music if possible i tried so use $rand() as a sort criteria. The problem is, the result is not random at all. Different tracks from the same artist are always grouped together. An example how it looks like:

Artist1 - Track1
Artist1 - Track 10
Artist1 - Track 2
Artist2 - Track 2
Artist2 - Track1

...

I can fix this when going to Playlist/Sort/Randomize. Is there a way to make this the default behaviour ?

Thanks alot, really enjoying the plugin.
Title: foo_playlist_tree
Post by: cwbowron on 2005-05-02 14:25:01
Quote
In track finder.

Is there a way to select the files of a node instead of just one track at a time? (remember quick track)

Am I missing something?
[a href="index.php?act=findpost&pid=294548"][{POST_SNAPBACK}][/a]


No, as of now its not possible to select all the files of a node.  Its something I may add though.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-05-02 19:25:54
Great plugin ..... really. Have a look Here (http://thx538.free.fr/Foobar/MyFoobarCommented.png).
Title: foo_playlist_tree
Post by: khoma on 2005-05-04 21:15:00
someone can help me with this problem? (http://www.hydrogenaudio.org/forums/index.php?showtopic=33683)
Title: foo_playlist_tree
Post by: Strictly4me on 2005-05-04 22:52:19
Quote
Great plugin ..... really. Have a look Here (http://www.hydrogenaudio.org/forums/index.php?showtopic=30988&view=findpost&p=294861).
[a href="index.php?act=findpost&pid=294864"][{POST_SNAPBACK}][/a]

Hi
Can you share your *.col-file, to check it out please?

((((( Strictly4me )))))
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-05-05 05:23:01
Quote
Quote
Great plugin ..... really. Have a look Here (http://www.hydrogenaudio.org/forums/index.php?showtopic=30988&view=findpost&p=294861).
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=294864")

Hi
Can you share your *.col-file, to check it out please?

((((( Strictly4me )))))
[a href="index.php?act=findpost&pid=295330"][{POST_SNAPBACK}][/a]


Here it is ..... but it is complex.You can find it [a href="http://thx538.free.fr/Foobar/foobar2000.col]Here.[/url]... and an updated screenshot There. (http://thx538.free.fr/Foobar/MyFoobarCommented.png)


Good luck !
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-05-05 05:29:25
Quote
Quote
This component still crashes from time to time ....
[a href="index.php?act=findpost&pid=294157"][{POST_SNAPBACK}][/a]


What version are you using?
[a href="index.php?act=findpost&pid=294160"][{POST_SNAPBACK}][/a]


Whatever the version is, PlayList Tree always crashes (at least on my system) if you close foobar when a tree refresh is taking place in the background.
Title: foo_playlist_tree
Post by: Strictly4me on 2005-05-05 07:18:13
Thanks "NEMO7538"! 

((((( Strictly4me )))))
Title: foo_playlist_tree
Post by: alphaex32 on 2005-05-05 20:31:33
Just had another idea:

I want to be able to use tagz and names of higher-level nodes in the library playlist name. The reason I want to do this is so that I can have different column UI layouts depending on which node of the tree I am browsing. The way I would do this is to have it set up like this: have each node send its results to a playlist named with the top-level node it is under (for example Artist, Album, etc.). Then, using the columns UI playlist filtering, I could have it show certain columns only when the playlist has a certain name. Confused yet?
Title: foo_playlist_tree
Post by: cwbowron on 2005-05-05 21:00:42
Quote
I want to be able to use tagz and names of higher-level nodes in the library playlist name. The reason I want to do this is so that I can have different column UI layouts depending on which node of the tree I am browsing. The way I would do this is to have it set up like this: have each node send its results to a playlist named with the top-level node it is under (for example Artist, Album, etc.). Then, using the columns UI playlist filtering, I could have it show certain columns only when the playlist has a certain name. Confused yet?
[a href="index.php?act=findpost&pid=295490"][{POST_SNAPBACK}][/a]


Basically what this boils down to is that you want the "Library Playlist" to be able to use tagz and PT extensions (%name%, etc), right?

That would not be too hard... now, the use of names of higher level nodes is trickier...
Title: foo_playlist_tree
Post by: alphaex32 on 2005-05-05 22:17:25
Quote
Quote
I want to be able to use tagz and names of higher-level nodes in the library playlist name. The reason I want to do this is so that I can have different column UI layouts depending on which node of the tree I am browsing. The way I would do this is to have it set up like this: have each node send its results to a playlist named with the top-level node it is under (for example Artist, Album, etc.). Then, using the columns UI playlist filtering, I could have it show certain columns only when the playlist has a certain name. Confused yet?
[a href="index.php?act=findpost&pid=295490"][{POST_SNAPBACK}][/a]


Basically what this boils down to is that you want the "Library Playlist" to be able to use tagz and PT extensions (%name%, etc), right?

That would not be too hard... now, the use of names of higher level nodes is trickier...
[a href="index.php?act=findpost&pid=295500"][{POST_SNAPBACK}][/a]


Yeah, basically. If you could get it to find higher nodes and use them in tagz, that would be great.
Title: foo_playlist_tree
Post by: sPeziFisH on 2005-05-06 09:52:00
cwbowron, a great plugin 

I have problems with sorting, playlist_tree does not sort right with every new start of foobar - while auto-saving works fine, changes to the tree are remembered but sorting is wrong, sorting (or sort recursively) needs to be applied to the queries.
I sort with %_filename_ext% or %_path% and with each start it is at least neccessary to manually sort (choose the option at context-menu).
I forgot to take a small screenshot, if wanted I'll give it on monday.
Title: foo_playlist_tree
Post by: fabiospark on 2005-05-06 17:58:10
I read a request to list just the album titles in the tree browser.

I wonder: if you can go that far, wouldn't it be smarter thinking of a panel browsing the album arts instead of album names?

Of course, it has tobe able to list them also in a not just vertical way, let's say choosing a matrix shape.

And why not doing it for each field and not just for album arts: one could patiently download composers pictures, styles icons, instrument pictures etc

With this and a good support for a remote control, your HTPC is done!


KUTGW.
Title: foo_playlist_tree
Post by: kl33per on 2005-05-09 17:09:30
You can just list albums in the tree browser.

Browsing the album art would be very nice, but probably beyond the scope of this plugin.  It would be like a whole seperate UI.

Remote support can be provided through Girder (http://www.promixis.com/products.php) or HIP (http://www.byremote.com.au/HIP/Default.htm).
Title: foo_playlist_tree
Post by: fabiospark on 2005-05-09 20:10:21
Is it (or will it be) possible to have a query that picks up a specified number of tracks from each subnode?

I mean:

I have about 30 styles under the genre Jazz. I'd like to automatically select 5 tracks from each style to create an "all styles jazz" playlist to listen to.
Of course any kind of sorting would be useful.
I know I can create 30 queries with the max 5 tracks setting each but it would be nicier having it done automatically.
_____________

It would be nice (at least for me) to have a random sorting controllable through tagz and tag values.
Title: foo_playlist_tree
Post by: fabiospark on 2005-05-10 20:47:52
I'm trying to get 20 tracks of the same genre but randomly distributed in the artist field.
I have a tree structure like that:

Code: [Select]
+Jazz
  +Artist - Title
    .........

+Pop/Rock
   +Artist - Title
    ..........
       
+Randoms
   +Various styles - 20 tracks


I tried using: "$node(Artist - Title) AND genre IS pop/rock" in the Various styles query but I don't get any tracks.

If I don't add the "AND genre IS pop/rock" I alway get jazz tracks.

Is there a way to select a node whose name is doubled under two different parent nodes?

Do anybody have an answer for the previous post question?

Thanks.
Title: foo_playlist_tree
Post by: Frank Bicking on 2005-05-13 19:20:36
I'm uncertain whether it's a bug report or a request for a solution.

My aim is to create a query to filter all tracks of the currently playing artist.

I tried using the following query:
Code: [Select]
NOT artist MISSING AND artist IS $playing(%artist%)

However, if the currently playing track doesn't have an artist tag, the query will obviously be
Code: [Select]
NOT artist MISSING AND artist IS ?

which causes it to select all tracks where the artist has a length of one character.

Is there any solution you could think of?

edit: I'm using version 1.6.3 [May 6 2005 - 11:08:24].
Title: foo_playlist_tree
Post by: cwbowron on 2005-05-13 19:31:23
Quote
I'm uncertain whether it's a bug report or a request for a solution.

My aim is to create a query to filter all tracks of the currently playing artist.

I tried using the following query:
Code: [Select]
NOT artist MISSING AND artist IS $playing(%artist%)

However, if the currently playing track doesn't have an artist tag, the query will obviously be
Code: [Select]
NOT artist MISSING AND artist IS ?

which causes it to select all tracks where the artist has a length of one character.

Is there any solution you could think of?

edit: I'm using version 1.6.3 [May 6 2005 - 11:08:24].
[a href="index.php?act=findpost&pid=297279"][{POST_SNAPBACK}][/a]


I think you might be able to do this using the old school syntax (uncheck playlist_gen format) and the
Code: [Select]
$strcmp(%artist%,$playing(%artist%))


you might need to do something like $and(%artist%,...)  to make sure the artist field exists...
Title: foo_playlist_tree
Post by: Frank Bicking on 2005-05-13 20:18:11
Thanks. Your first code snippet works, while this one returns an empty result set:
Code: [Select]
$and(%artist%,$strcmp(%artist%,$playing(%artist%)))

However, this code works as expected:
Code: [Select]
$if($and(%artist%,$strcmp(%artist%,$playing(%artist%))),1)


You might want to have a look at the return vales of functions like $and or $or.

Awesome component, I really appreciate your work.
Title: foo_playlist_tree
Post by: tksh on 2005-05-16 14:13:49
Hi,

I'm new to foo_playlist_tree and want to create a query that randomly selects 500M of songs from the DB.  Just something so that whenever I refresh the node, it'll havea  new list of songs to copy over to my mp3 player.  Is it possible to do this?
Title: foo_playlist_tree
Post by: Frank Bicking on 2005-05-16 14:17:49
Random selection of 500 MB:
Title: foo_playlist_tree
Post by: tksh on 2005-05-16 17:01:25
Quote
Random selection of 500 MB:
  • right click - New | Query
  • Label: random 500 MB
  • Query: 1
  • [_] foo_playlist_gen format
  • Format: %_filename%
  • Max: 500
    • megs[/color]
    • Sort criteria: $rand()

    [a href="index.php?act=findpost&pid=298047"][{POST_SNAPBACK}][/a]


Works great, thanks.

Edit:
I tried to filter out songs less than two minutes in length or without vocals.  I typically tag those tracks with "(instrumental)", "(backing track)" or "(vocal less)" appended at the end of the song title.

Tried using this in the query field but it doesn't seem to work:

(_length_seconds GREATER 120) AND (NOT title HAS "(instrument") AND (NOT title HAS "(backing") AND (NOT title HAS "vocal less")

Any suggestions?
Title: foo_playlist_tree
Post by: hunted on 2005-05-16 21:50:33
Quote
Works great, thanks.

Edit:
I tried to filter out songs less than two minutes in length or without vocals.  I typically tag those tracks with "(instrumental)", "(backing track)" or "(vocal less)" appended at the end of the song title.

Tried using this in the query field but it doesn't seem to work:

(_length_seconds GREATER 120) AND (NOT title HAS "(instrument") AND (NOT title HAS "(backing") AND (NOT title HAS "vocal less")

Any suggestions?
[a href="index.php?act=findpost&pid=298074"][{POST_SNAPBACK}][/a]


I tried too, and it seems you have to put % around the special fields (one underscore) such as %_length% or %__length_seconds%, this is not true for technical feilds, such as __codec or __replaygain_album_gain
Edit:
so this should work
(%_length_seconds% GREATER 120) AND (NOT title HAS "(instrument") AND (NOT title HAS "(backing") AND (NOT title HAS "vocal less")
Title: foo_playlist_tree
Post by: tksh on 2005-05-17 00:44:36
Quote
I tried too, and it seems you have to put % around the special fields (one underscore) such as %_length% or %__length_seconds%, this is not true for technical feilds, such as __codec or __replaygain_album_gain
Edit:
so this should work
(%_length_seconds% GREATER 120) AND (NOT title HAS "(instrument") AND (NOT title HAS "(backing") AND (NOT title HAS "vocal less")
[a href="index.php?act=findpost&pid=298146"][{POST_SNAPBACK}][/a]


Ah, that fixed it.  Thanks.
Title: foo_playlist_tree
Post by: Mystiq on 2005-05-17 14:30:32
Love this component but ive got small-ish problem.

How do i keep the order of the tracks in every playlist?

If i drag and drop tracks within the currently selected playlist, switch to something else in playlist tree (folders only), the order of the playlist is reverted back to "default" (what ever that is...).
Title: foo_playlist_tree
Post by: Frank Bicking on 2005-05-21 18:12:18
Very small suggestion:

Similar to behaviour of Windows Explorer, the currently selected folder may be displayed with the expanded icon. I'm using a Windows XP icon set (http://www.audiohq.de/articles/foobar/playlist_tree/xp-icons.bmp) and it would slightly increase the feeling of authenticity™.
Title: foo_playlist_tree
Post by: SoulMan on 2005-05-22 19:25:57
Hello, I'm beginning with playlist tree, and i have to thank the programer(s) of this plugin, without playlist tree foobar is the best audio tool of the world, but with this plugin, is't a war weapon!

So, i have a little question,  is it possible in playlist tree, like in the "album list panel" when we use simple naming tag (without %) to have diferent values of a multivalued field displayed separatly?

ie. when i ask to have a display by artist, and when i have a multiartist album, i want to view this album under each of the artist's names, and not in a "artist1, artist2, artist3" name.

and, ever if it is not possible, thank you for this very good plugin.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-05-22 19:55:32
Use #artist#

BTW: I'll be happy to know how do do this in the album list panel
Title: foo_playlist_tree
Post by: cwbowron on 2005-05-22 19:57:51
Quote
So, i have a little question,  is it possible in playlist tree, like in the "album list panel" when we use simple naming tag (without %) to have diferent values of a multivalued field displayed separatly?
[a href="index.php?act=findpost&pid=299507"][{POST_SNAPBACK}][/a]


Thanks.

You should be able to use #variable# in a query format to have it add the file under each value of a multiple value field.
Title: foo_playlist_tree
Post by: SoulMan on 2005-05-22 20:38:21
in album list panel, you can have this property only if you use the fieldname without %'s but this is not compatible with $ functions... so the usage it's limited only to simple sortings and to the first field (not possible after the |)

Thank you a lot for the # it's a great feature!!
Title: foo_playlist_tree
Post by: khoma on 2005-05-25 12:26:43
this  is not simple, is there any way to have a playlist with the 2 highest rated songs for each artist? 
Title: foo_playlist_tree
Post by: jkwarras on 2005-05-25 13:18:34
Quote
this  is not simple, is there any way to have a playlist with the 2 highest rated songs for each artist? 
[a href="index.php?act=findpost&pid=300420"][{POST_SNAPBACK}][/a]

Try this:

Code: [Select]
Query: rating IS 2 
[x]foo_playlist_gen format

Format:
$if(%album artist%,%album artist%,%artist%)]|'('[%date%]')' [%album%]|$if(%album artist%,[[%disc%.][$num(%tracknumber%,2) - ] ]%artist% - $if2(%title%,%_filename_ext%),[[%disc%.][$num(%tracknumber%,2) - ] ]$if2(%title%,%_filename_ext%))

Sort: [x] Display


This will return every song that has a rating of 2, and displayed as
Artist>(Date) Album>Tracknumber - Song.

You can modify the format as you wish, i.e. just to display the artist subfolder.
Title: foo_playlist_tree
Post by: masterrossi on 2005-05-25 16:53:57
i think i am just plainly stupid, cause whatever I try I do not get this thing to work. I won't even succeed to make it appear as column in foobar. I must be doing something wrong, but I really don't know what.
I read in the .txt file that came with it that you should do something with "panels" but there the fun starts...where can i find that???
Title: foo_playlist_tree
Post by: masterrossi on 2005-05-25 17:35:34
i am improving...found what was wrong...i thought all the time i had the right colums, but i didn't. Now I have it...up to the next thing...
Title: foo_playlist_tree
Post by: khoma on 2005-05-27 01:07:47
Quote
Quote
this  is not simple, is there any way to have a playlist with the 2 highest rated songs for each artist? 
[a href="index.php?act=findpost&pid=300420"][{POST_SNAPBACK}][/a]

Try this:

Code: [Select]
Query: rating IS 2 
[x]foo_playlist_gen format

Format:
$if(%album artist%,%album artist%,%artist%)]|'('[%date%]')' [%album%]|$if(%album artist%,[[%disc%.][$num(%tracknumber%,2) - ] ]%artist% - $if2(%title%,%_filename_ext%),[[%disc%.][$num(%tracknumber%,2) - ] ]$if2(%title%,%_filename_ext%))

Sort: [x] Display


This will return every song that has a rating of 2, and displayed as
Artist>(Date) Album>Tracknumber - Song.

You can modify the format as you wish, i.e. just to display the artist subfolder.
[a href="index.php?act=findpost&pid=300429"][{POST_SNAPBACK}][/a]



mmm maybe i didn't eplained well, i wanted just 2 tracks for EACH artist, the 2 highest rated

in your code i think there is a "]" that shouldn't be there
Title: foo_playlist_tree
Post by: jkwarras on 2005-05-27 16:07:57
Quote
mmm maybe i didn't eplained well, i wanted just 2 tracks for EACH artist, the 2 highest rated


AFAIK, there's no way to limit the number of items in a subfolder (in this case the artist subfolder).

What you could do is to use the  provided code and use as query this
NOT %rating% MISSING

and sort by %rating%

This will put the highest rated songs for every artist in the top of the artist subfolder. It's the closes t thing you could possibly do. You could always request to cwbowron to implement this.

Quote
in your code i think there is a "]" that shouldn't be there
[a href="index.php?act=findpost&pid=300801"][{POST_SNAPBACK}][/a]

Where? It works here 
Title: foo_playlist_tree
Post by: adrianmak on 2005-05-28 23:30:05
After I added songs into the playlist tree, how do I play them ?
I double-click the songs in playlist tree, nothing happened, no sound.
Title: foo_playlist_tree
Post by: beto on 2005-05-30 00:26:04
I am trying this plugin and I think it is great by the way.

I want to add a query that shows me which albums and artists have been added to my database. I want the tree to display only the artist and album once (something like [%artist%] [%album%]).
I managed to display all recently added tracks using a simple query, but I do not want to display all tracks from one album, just the album and artist once:

This is what I managed to get so far in the tree view:

Artist#1 - Album #1 - Track #1
Artist#1 - Album #1 - Track #2
Artist#1 - Album #1 - Track #3 and so on
Artist#2 - Album #1 - Track #1
Artist#2 - Album #1 - Track #2 and so on

This is what I want:
Artist#1 - Album #1
Artist#1 - Album #2
Artist#1 - Album #1 and so on

I am not so script savvy I guess    If anyone could help I would appreciate.

Thanks
Title: foo_playlist_tree
Post by: kl33per on 2005-05-30 00:42:47
Query is: tracknumber IS 1 OR tracknumber IS 01

Format is: %album%|%title%

This is the best you'll do I think.
Title: foo_playlist_tree
Post by: beto on 2005-05-30 00:56:24
Thank you. It worked perfectly.
Title: foo_playlist_tree
Post by: kockroach on 2005-05-30 02:18:33
I have finally spent some time with this component....and I love it!

Would it be possible to allow for TAGZ use in the Library Playlist field of the preferences?  I would like to preserve the name of the node that I select, as it will allow me to use either Album or Single mode in Navigator (Column UI). 

Basically, instead of using a generic term like "Playlist Tree" for my playlist name, I would like it to be %name%, which would then use the selected folder in the Playlist Tree as the name of the playlist created when I select that node.

I can do this in a round-about way by right-clicking my folder, choosing "playlist > new".  But I would have to do that each time new songs are added.

Just a thought....if it can be done, I thank you in advance!
Title: foo_playlist_tree
Post by: dano on 2005-05-30 03:01:05
kockroach that's implemented in the latest version (1.6.3)
Title: foo_playlist_tree
Post by: kockroach on 2005-05-30 03:10:38
I'm using the 1.4.17, which is the one listed as the latest stable version.  I'll have to check out 1.6.3.

Edit:  Thanks for pointing that out dano.....works like a charm!

Edit2:  Two other questions.

1. Is it possible to use $if statements in the Label of a Folder/Query?  I have a couple of folders that are used to display total number of artists, albums, tracks, etc.  Instead of specifically adding in either %foldercount% or %itemcount% to the Label, I would like to have it do something like this:

If %foldercount% greater than 1, then show %foldercount%; if %foldercount% is less than 1 (that is 0), then show %itemcount%.

I have tried using the $if commands, but it always shows the whole string, so you actually see $if in the Label.

2. If a Folder/Query is set to No Browse, can you prevent it from being automatically being sent to the Libray Playlist?  The folders listed above are only intended on showing stats of my database, so I don't want to create a playlist if I select that line.  However, I would still like to automatically create playlists when selecting my dynamic queries.

Not a huge deal, but it would help clean up my Playlist Tree and the playlists that are generated.  I've looked through the tutorial and through the preferences, and I can't seem to be able to do these two things.

Edit3: Figured out question #1.  Didn't have $format($if.....
Title: foo_playlist_tree
Post by: dano on 2005-05-31 17:48:08
Quote
You can just list albums in the tree browser.
[a href="index.php?act=findpost&pid=296347"][{POST_SNAPBACK}][/a]

I'm sorry to quote such an old reply of you, but can you tell me how it's possible? (assuming that it will show no duplicates)
Title: foo_playlist_tree
Post by: jkwarras on 2005-05-31 18:00:19
Quote
Quote
You can just list albums in the tree browser.
[a href="index.php?act=findpost&pid=296347"][{POST_SNAPBACK}][/a]

I'm sorry to quote such an old reply of you, but can you tell me how it's possible? (assuming that it will show no duplicates)
[a href="index.php?act=findpost&pid=302154"][{POST_SNAPBACK}][/a]

Just hide leafs nodes. It'll hide the tracks in the tree browser. I'm not sure if this is what you're asking
Title: foo_playlist_tree
Post by: dano on 2005-05-31 18:15:10
No. I thought with tree browser he meant the actual browser, and not the playlist tree with the queries.
I wanted to use the browser for some kind of winamp media library emulation, but it's impossible I gues.
Title: foo_playlist_tree
Post by: Gemini on 2005-06-16 04:06:21
Not sure if this is more pertinent to database manipulation, but is there a way to link artists together to use in a query (without specifically creating a tag)? What I want to do is modify my "current artist" query to include results by artists which are related (user-created relations) but don't have the same %artist% tag.
Title: foo_playlist_tree
Post by: jkwarras on 2005-06-16 12:27:54
Quote
Not sure if this is more pertinent to database manipulation, but is there a way to link artists together to use in a query (without specifically creating a tag)? What I want to do is modify my "current artist" query to include results by artists which are related (user-created relations) but don't have the same %artist% tag.
[a href="index.php?act=findpost&pid=306486"][{POST_SNAPBACK}][/a]


You could do that but only for the now playing track via $playing(). But I don't think it's possible to do that for non playing tracks. you coudl however request it to developper in the official forum.
Title: foo_playlist_tree
Post by: SoulMan on 2005-06-20 21:59:20
Hello, I am insuccessfully trying to have a format like that :
$cut($if(%album artist%,#album artist#,#artist#),1)|
$if(%album artist%,#album artist#,#artist#)|
'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%

What i want, is a "First Letter/Artist/(date) - Album/Track - Title" display

Is it possible?
And if it is, please, what is the good syntax?
Title: foo_playlist_tree
Post by: Hamallainen on 2005-06-20 22:24:03
Quote
Hello, I am insuccessfully trying to have a format like that :
$cut($if(%album artist%,#album artist#,#artist#),1)|
$if(%album artist%,#album artist#,#artist#)|
'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%

What i want, is a "First Letter/Artist/(date) - Album/Track - Title" display

Is it possible?
And if it is, please, what is the good syntax?
[a href="index.php?act=findpost&pid=307609"][{POST_SNAPBACK}][/a]

Why do you use this character # ?
Replace it by % and it should work
Title: foo_playlist_tree
Post by: jkwarras on 2005-06-20 22:31:02
Quote
Why do you use this character # ?
Replace it by % and it should work
[a href="index.php?act=findpost&pid=307617"][{POST_SNAPBACK}][/a]

It'd for multiple tags, i.e. %artist%=Snoop and %artist%=N.E.R.D., calling #artist# will return both as 'Snoop' and 'N.E.R.D." under a different subtree, calling %artist% will return a subtree 'Snoop N.E.R.D'.
Title: foo_playlist_tree
Post by: SoulMan on 2005-06-20 22:49:58
Yes, that feature is very usefull, but i can't use it inside of if functions...

$cut(#artist#,1)|#artist#|'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%

works well!
Title: foo_playlist_tree
Post by: Hamallainen on 2005-06-20 22:58:07
Quote
Quote
Why do you use this character # ?
Replace it by % and it should work
[a href="index.php?act=findpost&pid=307617"][{POST_SNAPBACK}][/a]

It'd for multiple tags, i.e. %artist%=Snoop and %artist%=N.E.R.D., calling #artist# will return both as 'Snoop' and 'N.E.R.D." under a different subtree, calling %artist% will return a subtree 'Snoop N.E.R.D'.
[a href="index.php?act=findpost&pid=307618"][{POST_SNAPBACK}][/a]

Oh thanks for the info i didn t know about that

Sorry Soulman for the wrong info
Title: foo_playlist_tree
Post by: SoulMan on 2005-06-26 08:53:48
No pb Hamallainen, so, someone knows if what i'm trying to do is possible?
And so, how to do that?

thank you.
Title: foo_playlist_tree
Post by: adrianmak on 2005-06-26 14:30:22
for those albums with more than 1 CD, is it possibe to display like below

Code: [Select]
+-artist album
   +CD1
        +-01. title
        +-02. title
        +-03. title
   +CD2
        +-01. title
        +-02. title
        +-03. title
Title: foo_playlist_tree
Post by: fabiospark on 2005-06-26 19:04:37
Quote
for those albums with more than 1 CD, is it possibe to display like below

Code: [Select]
+-artist album
   +CD1
        +-01. title
        +-02. title
        +-03. title
   +CD2
        +-01. title
        +-02. title
        +-03. title

[a href="index.php?act=findpost&pid=309004"][{POST_SNAPBACK}][/a]



Just add a tag with the number of discs
Title: foo_playlist_tree
Post by: adrianmak on 2005-06-27 09:36:43
Quote
Quote
for those albums with more than 1 CD, is it possibe to display like below

Code: [Select]
+-artist album
   +CD1
        +-01. title
        +-02. title
        +-03. title
   +CD2
        +-01. title
        +-02. title
        +-03. title

[a href="index.php?act=findpost&pid=309004"][{POST_SNAPBACK}][/a]



Just add a tag with the number of discs
[a href="index.php?act=findpost&pid=309054"][{POST_SNAPBACK}][/a]


What do you mean ? I'm using dynamic folder and how it can create CD1, CD2 dynamically
Title: foo_playlist_tree
Post by: Crissaegrim on 2005-07-09 21:48:28
What's the query for "never played"?  Right now, I have...

Code: [Select]
play_counter IS 0


Which returns nothing.  I suspect the songs that has never been played don't actually have PLAYCOUNT = 0 meta.

Also, what's the sort criteria for sort by artist, album, track number?  I think default sorts it by artist, album, track title (0, A, B, C, D, etc.)
Title: foo_playlist_tree
Post by: jkwarras on 2005-07-10 00:37:05
Quote
What's the query for "never played"?

Try this.
Code: [Select]
play_counter MISSING



Quote
Also, what's the sort criteria for sort by artist, album, track number? 
[a href="index.php?act=findpost&pid=312084"][{POST_SNAPBACK}][/a]

And this should work... 
Code: [Select]
%artist% %album% $num(2,%tracknumber%)
Title: foo_playlist_tree
Post by: Crissaegrim on 2005-07-10 01:13:35
Sweet.  Thanks, dude.  Those work well.
Title: foo_playlist_tree
Post by: SoulMan on 2005-08-20 08:40:27
Hello, I have some questions about format problems :

- I've tryed to use :
"$cut(#artist#,1)|#artist#|'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%"
The problem is that format don't work with artists with an ' in the name. What can I do?
These entryes are displayed as "[SYNTAX ERROR IN FORMATING TREE]"

- I've tryed to use :
"$if(%album artist%,$cut(#album artist#,1),$cut(#artist#,1))|$if(%album artist%,#album artist#,#artist#)|'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%"
But with this format I have just file having %artist% AND %album artist% tags in the result... i don't understand!
Title: foo_playlist_tree
Post by: cyberrus on 2005-08-29 02:33:17
i've had the same problem and i solved it by changing sign ' to $char(8217) - in all pieces with ' in the artist name - first find all artists with ' and then use this script in masstager - "format value from other fields":
Code: [Select]
$replace(%artist%,$char(39),$char(8217))
Title: foo_playlist_tree
Post by: SoulMan on 2005-08-29 10:30:54
Thank you a lot for this help, that work well.

And, for my other problem, the next foobar version, with tags associations : %artist% = $if3(%album artist%,%artist%...) my problem will be resolved.

So i have just to white to playlisttree ported on foobar 0.9
Title: foo_playlist_tree
Post by: fabiospark on 2005-08-29 15:53:38
Quote
So i have just to wait to playlisttree ported on foobar 0.9
[a href="index.php?act=findpost&pid=323435"][{POST_SNAPBACK}][/a]


I'm sorry for you (and for me too as I am a PLT dependent) but I think it will take a year or more:

1)  the SDK is not out yet

2)  the author of PLT is taken by other interests by now. I don't event think he is following the threads here or in his forum.


It would be nice instead if the album list authors would consider implementing some of the smarter devices PLT has in their own plugin.
But I'm afraid PLT has not many frieds among programmer because it eats up many resources; the opposite of the philosophy of FB itself.

Unfortunately, I built up so nice queries with PLT that I can't go back to Albumlist. Having a lot of multiple values fields (with jazz and classical I can't do without them) I'm forced (and quite happy) to stay with it even if the development and bug fixing stopped abruptly with the release of FB 0.9.

Hope I'm wrong.
Title: foo_playlist_tree
Post by: mixderax on 2005-08-29 16:03:28
Quote
Quote
So i have just to wait to playlisttree ported on foobar 0.9
[a href="index.php?act=findpost&pid=323435"][{POST_SNAPBACK}][/a]


I'm sorry for you (and for me too as I am a PLT dependent) but I think it will take a year or more:

1)  the SDK is not out yet

2)  the author of PLT is taken by other interests by now. I don't event think he is following the threads here or in his forum.


It would be nice instead if the album list authors would consider implementing some of the smarter devices PLT has in their own plugin.
But I'm afraid PLT has not many frieds among programmer because it eats up many resources; the opposite of the philosophy of FB itself.

Unfortunately, I built up so nice queries with PLT that I can't go back to Albumlist. Having a lot of multiple values fields (with jazz and classical I can't do without them) I'm forced (and quite happy) to stay with it even if the development and bug fixing stopped abruptly with the release of FB 0.9.

Hope I'm wrong.
[a href="index.php?act=findpost&pid=323487"][{POST_SNAPBACK}][/a]


Maybe autoplaylist can at least help a bit
Title: foo_playlist_tree
Post by: cwbowron on 2005-08-29 16:08:12
Quote
I'm sorry for you (and for me too as I am a PLT dependent) but I think it will take a year or more:

1)   the SDK is not out yet

2)   the author of PLT is taken by other interests by now. I don't event think he is following the threads here or in his forum.
[a href="index.php?act=findpost&pid=323487"][{POST_SNAPBACK}][/a]


Playlist Tree *will* be updated as soon as the .9 SDK is released.

I read every post on the official playlist tree forum, as well as every post in this thread.    I was working on another project (pspChess) which has reached a mature point and does not require much of my time.  At this point however, it does not seem the most advantageous to add new features to PT when some of those features might be addressed in the finalized version of 0.9 or might make porting to 0.9 SDK more difficult when it is released.
Title: foo_playlist_tree
Post by: fabiospark on 2005-08-29 18:34:34
Sorry to tease you... but it worked.

I'm glad to hear your other project is going on well.

And about PLTree, while waiting to the events, would you consider making a little bug fixing and a little adjustement too ? (if it really is little - I'm no programmer so I don't really know):

Bug fixing  -  when I drag a selection from the tree to a playlist, the scroll bar of the tree panel go down very fast when the pointer is passin on it;

Adjustement  -  can we have the option "Add to playlist" in the "double click action" list?
And can we have the options "Ctrl + doubleclick action" and "Shft + doubleclick action" too? (And the Add to playlist option in them too?).

Thanks.


P.S:

With all the queries I put on my tree panel, Foobar takes 40 secs to start. When you'll port the thing to 0.9, would you consider looking for a way to make the loading in the background with FB soon opened and playing?

Thanks for your time and work.

Bye, Fabio.
Title: foo_playlist_tree
Post by: cwbowron on 2005-08-29 18:52:25
Quote
Adjustement   -   can we have the option "Add to playlist" in the "double click action" list?
[a href="index.php?act=findpost&pid=323526"][{POST_SNAPBACK}][/a]


Add to Playlist should be equivalent to setting the action to "Send to Active" and turning off "Double Click Replace".  Is there something I am missing?
Title: foo_playlist_tree
Post by: mazy on 2005-08-30 14:02:21
ot: cwbowron, nice to hear from you! i love your component, great work ... can't wait for new versions.
Title: foo_playlist_tree
Post by: fabiospark on 2005-08-30 21:07:05
Quote
Quote
Adjustement   -   can we have the option "Add to playlist" in the "double click action" list?
[a href="index.php?act=findpost&pid=323526"][{POST_SNAPBACK}][/a]


Add to Playlist should be equivalent to setting the action to "Send to Active" and turning off "Double Click Replace".  Is there something I am missing?
[a href="index.php?act=findpost&pid=323528"][{POST_SNAPBACK}][/a]


When I'm selecting songs, building a playlist, I start with a doubleclick and I need "doubleclick replace" on to avoid having to clear or delete the active playlist. As I want to add further selections to the playlist, the only thing I have is "add to playlist" from the (second level) right click menu. You will agree with me that is quite inconvenient having to go to the config to uncheck the "double click replace" and then go back and make a doubleclick.

In fact, what I am missing most is a "Ctrl + double click" action whose list would include an "Add to playlist" option. As we have already been told many times, the tree view does not support multiple selections and this (action = send; ctrl + action = add; shft + action = anything else, maybe remove) could be a nice way to make the playlist building a quicker affair, I think.

Thanks.

Change of subject.

Is there a way to filter out things only when the content of two different fields matches (or when it doesn't)?

It seems that I can't achieve that in the playlist generator language so I wrote the format string below but that makes me carry with me the unwanted things too (the else value of the $if)

Code: [Select]
$if($stricmp(%__tempo%,%tempo%),matched,unmatched)|%album%|%title%


Don't you know a better way to do that?

Thanks again for your attention.
Title: foo_playlist_tree
Post by: cwbowron on 2005-08-30 21:19:48
Quote
In fact, what I am missing most is a "Ctrl + double click" action whose list would include an "Add to playlist" option. As we have already been told many times, the tree view does not support multiple selections and this (action = send; ctrl + action = add; shft + action = anything else, maybe remove) could be a nice way to make the playlist building a quicker affair, I think.


There is a hackish way to do multiple selections with the tree view.  Control Click on something and it will become bold. (C-Click again and it will become unbold).  You can do multiple selections by making stuff bold then selecting Bold... From the context menu and there are a few things you can do with the bolded items. (add to playlist, create new playlist, etc)

Quote
It seems that I can't achieve that in the playlist generator language so I wrote the format string below but that makes me carry with me the unwanted things too (the else value of the $if)

Code: [Select]
$if($stricmp(%__tempo%,%tempo%),matched,unmatched)|%album%|%title%


Don't you know a better way to do that?
[a href="index.php?act=findpost&pid=323791"][{POST_SNAPBACK}][/a]


I believe you could use "$stricmp(%__tempo%,%tempo%)" as your query, and leave the foo_playlistgen_ex button unchecked for your query.

It's been a while since I've done a non-playlist gen syntax query though.
Title: foo_playlist_tree
Post by: jkwarras on 2005-08-31 01:06:01
He's alive! Alive!

Good to see you back dude.
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-08-31 02:59:44
After using Playlist Tree for awhile now.. I've come to live with any of the initial gripes that I had using it at first.

Except one...

Column Sorting in the Playlist Tree Browser..... would be really nice 

...oh... and the ability to take away the embedded shortcuts ("M" to bring up menu, etc.)

I know you've probably heard these before CBOWRON... But I'm so picky.

Seriously though, such a good plugin. Thanks a lot for developing (and choosing to continue developing) it.
Title: foo_playlist_tree
Post by: fabiospark on 2005-08-31 07:14:46
Quote
There is a hackish way to do multiple selections with the tree view. Control Click on something and it will become bold. (C-Click again and it will become unbold). You can do multiple selections by making stuff bold then selecting Bold... From the context menu and there are a few things you can do with the bolded items. (add to playlist, create new playlist, etc)


I think that the way I suggested (Ctrl + double click) is the most straightforward way to add to a playlist, as the plain doubleclick is to send to it.

With the way you mentioned I can't see the playlist content progress as I select nodes or leaves but I will see what I selected only when I trigger the final action.

But well, if you feel it's a waste of time adding it to the 0.8, at least consider to add this and the "shft + doubleclick = remove selected if present" when you'll port to 0.9, if possible.

For now, I can keep on without it.


P.S.

jkwarras, I was sure you would turn up here too!
Title: foo_playlist_tree
Post by: cwbowron on 2005-08-31 15:19:13
RELEASE      1.6.4

option: CONFIG:process local shortcut keys

changed expansion level code to not need to refresh whole tree = faster

changed functionality of root/collapse to set_expansion(0)
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-08-31 23:24:02
Quote
RELEASE  1.6.4

option: CONFIG:process local shortcut keys

changed expansion level code to not need to refresh whole tree = faster

changed functionality of root/collapse to set_expansion(0)
[a href="index.php?act=findpost&pid=323989"][{POST_SNAPBACK}][/a]


I.Love.You.
Title: foo_playlist_tree
Post by: synth7 on 2005-09-01 01:47:42
How do I create more top-level nodes? I can't drag anything above the one I have now.
Title: foo_playlist_tree
Post by: TomGroove on 2005-09-01 15:41:55
Hi Folks, thinking about the following problem:

some Albums I have encoded lossy and lossless. I would like to list all Albums, and if MP3 and Flac exists, I would like to see only the Flac files.

Any idea before I reinvent the wheel ? I saw somewhere a discussion around this, but don't exactely remember....

Thx Tom
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-01 15:53:00
Quote
Hi Folks, thinking about the following problem:

some Albums I have encoded lossy and lossless. I would like to list all Albums, and if MP3 and Flac exists, I would like to see only the Flac files.

Any idea before I reinvent the wheel ? I saw somewhere a discussion around this, but don't exactely remember....

Thx Tom
[a href="index.php?act=findpost&pid=324222"][{POST_SNAPBACK}][/a]


I think you should put "__codec IS flac" in the query window.
Title: foo_playlist_tree
Post by: TomGroove on 2005-09-01 15:55:26
nope, this just lists than the flac files only... thx anyway...
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-01 18:18:14
RELEASE      1.6.5

playlist tree playorder thingy plays in __treeplay__ playlist (does not overwrite current playlist)

lstrcpyn -> safe_strcpy ==> faster (lstrcpyn always copies N bytes)

changed bold changing action from control-click to control-shift-click

redid context menu playlist options

redid double click options - your old settings will probably not be right

options:
   config: shift double click
   config: control double click
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-01 20:06:54
Quote
nope, this just lists than the flac files only... thx anyway...
[a href="index.php?act=findpost&pid=324226"][{POST_SNAPBACK}][/a]


Try putting %__codec%| at the beginning of the format string. You should get all the files grouped by codec and then by anything else you like.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-01 20:19:05
Quote
RELEASE  1.6.5

playlist tree playorder thingy plays in __treeplay__ playlist (does not overwrite current playlist)

lstrcpyn -> safe_strcpy ==> faster (lstrcpyn always copies N bytes)

changed bold changing action from control-click to control-shift-click

redid context menu playlist options

redid double click options - your old settings will probably not be right

options:
   config: shift double click
   config: control double click
[a href="index.php?act=findpost&pid=324259"][{POST_SNAPBACK}][/a]



Thank you very much for those double click extensions. Any hope to have a "remove from active pl", one day? (I don't even know if it is possible but asking is free, so...

I'm not sure I understand your first two sentences: do you mind explaining a bit more, please?
And what does that "process local shorcut keys" mean? exactly?

Thanks again.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-01 20:44:51
Quote
I'm not sure I understand your first two sentences: do you mind explaining a bit more, please?
And what does that "process local shorcut keys" mean? exactly?
[a href="index.php?act=findpost&pid=324294"][{POST_SNAPBACK}][/a]


Process local shortcut keys refers to some shortcuts keys in the playlist tree such as 'M' (brings up context menu), 0-9 (set expansion level of node), C-up (move up) C-down (move down).  You can now turn these off.

Previously, if you were using playlist tree for your play order in the drop down, it would overwrite the current playlist with the item it was going to play.  Now it uses a seperate playlist so your lists won't be affected.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-01 20:49:55
Quote
Thank you very much for those double click extensions. Any hope to have a "remove from active pl", one day? (I don't even know if it is possible but asking is free, so...
[a href="index.php?act=findpost&pid=324294"][{POST_SNAPBACK}][/a]


So if you double click on a node, it will remove every track in that node from the active playlist?

Interesting...
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-01 21:22:07
Quote
Quote
Thank you very much for those double click extensions. Any hope to have a "remove from active pl", one day? (I don't even know if it is possible but asking is free, so...
[a href="index.php?act=findpost&pid=324294"][{POST_SNAPBACK}][/a]


So if you double click on a node, it will remove every track in that node from the active playlist?

Interesting...
[a href="index.php?act=findpost&pid=324305"][{POST_SNAPBACK}][/a]


... very interesting, and useful, I think.

Some times my double clicking hand is faster than my brain (you know, after all that OK Corral stuff...) and when it manages to wake up (the brain) just finds out that too many tracks are gone to the playlist. So, to not break the "stream of selection" it would be nice being able to just shft + double click to remove the unwanted without having to go to the right pane, select and remove.
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-09-01 21:50:21
CBOWRON, you are seriously so awesome... You have created, by far, the best mp3 databasing program that I've ever seen.. and I admire that you're still perfecting it.

There are still some things missing that I must reiterate (now that I know you're in full development swing)

Column Sorting in Playlist Tree Browser (already said that, but I think it's a pretty important one)

Drag and Drop from Playlist Tree Browser (also have said that in the past, haha)


oh and I thought of another thing that would be handy.... perhaps adding an "insert into playlist" option in the double click menus... I suppose adding drap and drop would solve the need for this... but if that's much harder to implement, than perhaps this could be another option (?)




Anyway... those are all suggestions.


Seriously though... Great plugin... you can't be told enough what a good job you've done on this.
Title: foo_playlist_tree
Post by: TomGroove on 2005-09-02 10:32:51
Quote
Quote
nope, this just lists than the flac files only... thx anyway...
[a href="index.php?act=findpost&pid=324226"][{POST_SNAPBACK}][/a]


Try putting %__codec%| at the beginning of the format string. You should get all the files grouped by codec and then by anything else you like.
[a href="index.php?act=findpost&pid=324290"][{POST_SNAPBACK}][/a]


may be I explain myself not specific enough. I do have already listings by codec, but....
if there are mp3 and flac available, I only want to see the flac, or maybe only the flac files are added to playlist in case, that I add...
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-02 12:55:07
Quote
but....
if there are mp3 and flac available, I only want to see the flac, or maybe only the flac files are added to playlist in case, that I add...
[a href="index.php?act=findpost&pid=324442"][{POST_SNAPBACK}][/a]

You should play with the $if variable, I'm on holidays so I can't help (my brain is also on holidays ) but I'm almost sure you could achieve what you want.
Title: foo_playlist_tree
Post by: TomGroove on 2005-09-02 13:37:22
  thx for the hint, will check it out...have a great vacation, I am jealous 
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-02 19:18:08
RELEASE      1.6.6

TreeViewHook clean up

tree drag and drop code changes (nothing user visible)

menu code changes (nothing user visible)

limited sort in browser
- click on a column header to sort by that column
- only sorts descending
- sort criteria is not saved between nodes
- when a node is selected it will be displayed in the browser in the order in the node

Drag and Drop *FROM* browser
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-09-02 21:09:08
Quote
RELEASE  1.6.6

TreeViewHook clean up

tree drag and drop code changes (nothing user visible)

menu code changes (nothing user visible)

limited sort in browser
- click on a column header to sort by that column
- only sorts descending
- sort criteria is not saved between nodes
- when a node is selected it will be displayed in the browser in the order in the node

Drag and Drop *FROM* browser
[a href="index.php?act=findpost&pid=324556"][{POST_SNAPBACK}][/a]


I don't think I need to say I love you again.

It appears that when an item is being dragged into the playlist from the browser window, the playlist tree window begins to scroll rapidly down... I'm sure you caught this, but it's the only bug I've seen so far.

The column sorting is awesome.. This thing is nearing total perfection, imo.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-03 22:16:31
RELEASE      1.6.7

$playlist() command - like $drop but from a playlist

Fixed some drag and drop scrolling issues
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-05 17:40:51
I'm back in the development swing of playlist tree and I'm interested in hearing ideas for new features.  If you have some ideas please let me know here, or preferably at the playlist tree forum http://bowron.us/smf/index.php (http://bowron.us/smf/index.php). 

Even if you've posted the feature request before, post it again or bump the thread so I know what people are still interested in.

Bug reports will also be investigated.
Title: foo_playlist_tree
Post by: jahty on 2005-09-05 19:11:57
Hey, just installed this plugin yesterday and I'm liking it a lot. I have 2 requests -

1) The Process Local Shortcut Keys option seems to disable the custom shortcuts for Playlist Tree, but it still processes my other keyboard shortcuts. Would it be possible to add an option to not process any keyboard shortcuts, like in the Album list panel?

2) When I have the Album list panel in the sidebar, I can press the Tab key to move focus out of that panel and back to the playlist. In Playlist Tree, Tab appears to have no effect. Would it be possible to add this functionality?
Title: foo_playlist_tree
Post by: synth7 on 2005-09-05 19:14:33
Quote
How do I create more top-level nodes? I can't drag anything above the one I have now.
[a href="index.php?act=findpost&pid=324105"][{POST_SNAPBACK}][/a]


No one?
Title: foo_playlist_tree
Post by: jahty on 2005-09-05 19:32:28
Quote
Quote
How do I create more top-level nodes? I can't drag anything above the one I have now.
[a href="index.php?act=findpost&pid=324105"][{POST_SNAPBACK}][/a]


No one?
[a href="index.php?act=findpost&pid=325231"][{POST_SNAPBACK}][/a]


You can hide the root node in the Appearance options to get the effect of multiple top-level nodes.
Title: foo_playlist_tree
Post by: NEMO7538 on 2005-09-05 20:05:18
Quote
Even if you've posted the feature request before, post it again or bump the thread so I know what people are still interested in.


Can you please fix the incorrect handling of apostrophes. When using for instance $playing(%album%) and %album% contains a ' , a tagz syntax error is generated.
Title: foo_playlist_tree
Post by: metal_termite on 2005-09-05 20:14:52
Why when I use this plugin does my fb2k memory usage increase by two-fold (20mb)?
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-09-06 02:13:53
Quote
Why when I use this plugin does my fb2k memory usage increase by two-fold (20mb)?
[a href="index.php?act=findpost&pid=325241"][{POST_SNAPBACK}][/a]


disable icons... I find that those tend to boost the memory usage a lot. (besides, album list doesn't even have the option of icons, and I think they're a little superfluous to begin with... they're nice though)
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-06 08:47:22
Quote
Even if you've posted the feature request before, post it again or bump the thread so I know what people are still interested in.


So I write you again my last problem :

Hello, I have some questions about format problems :

- I've tryed to use :
"$cut(#artist#,1)|#artist#|'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%"
The problem is that format don't work with artists with an ' in the name. What can I do?
These entryes are displayed as "[SYNTAX ERROR IN FORMATING TREE]"

- I've tryed to use :
"$if(%album artist%,$cut(#album artist#,1),$cut(#artist#,1))|$if(%album artist%,#album artist#,#artist#)|'('%date%') '%album%|[%disc%.]$num(%tracknumber%,2) - %title%"
But with this format I have just file having %artist% AND %album artist% tags in the result... i don't understand!
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-06 09:53:26
Quote
I'm back in the development swing of playlist tree and I'm interested in hearing ideas for new features.  If you have some ideas please let me know here, or preferably at the playlist tree forum http://bowron.us/smf/index.php (http://bowron.us/smf/index.php). 

Even if you've posted the feature request before, post it again or bump the thread so I know what people are still interested in.

Bug reports will also be investigated.
[a href="index.php?act=findpost&pid=325217"][{POST_SNAPBACK}][/a]


....mmmh........ just started rubbing my hands while thinking what to put in my list..........

Apart joking: would you prefer having a list in one post or each request on its own post?

Thanks for sharing your energy and resources just to make other people world a little easier (and so, better).
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-06 10:26:59
Hi,

One of the things I'll really love is the possibility of using hotness (http://www.hydrogenaudio.org/forums/index.php?showtopic=31287&hl=hotness)script into PT. But as PT seems to handle Globals in a different way that Column Ui (the script is made for that component) I've been trying in the past to 'port' the script to PT globals (see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=31287&view=findpost&p=280765)) without luck.

I'll really like to be able to use this script in PT, and display the info in the PT browser and use it as a sorting criteria in a node (to create a hotest tracks).

Any help, tips, ideas, or changes in this component to allow this kind of stuff will be greatly appretiated

thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-06 19:14:15
Quote
Apart joking: would you prefer having a list in one post or each request on its own post?


If the requests are similar in nature or a set of requests that are related post them together, otherwise please start a new topic for each request.

Please post the requests at http://bowron.us/smf/index.php (http://bowron.us/smf/index.php)
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-07 20:27:20
Quote
Can you please fix the incorrect handling of apostrophes. When using for instance $playing(%album%) and %album% contains a ' , a tagz syntax error is generated.
[a href="index.php?act=findpost&pid=325238"][{POST_SNAPBACK}][/a]


What version are you using?  This seems to me to be working in the current version.

EDIT: If you are using the current version, please post your query.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-07 22:04:55
I was using an old version (1.4.n) now with the last version I don't have ' problems, cool
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-08 19:02:14
RELEASE      1.6.8

double click option: play (plays track/first track without affecting any playlists)

context menu: bold.../unbold all

menu option:Components/Playlist Tree/Settings.../Show Hidden Nodes
if you use the menu option it should refresh the tree, hiding or unhiding all hidden nodes

option: appearance:Show nodes with hidden content
if disabled nodes with hidden content will not be in the tree.  (lets you really hide a single node)
(requires restart for it to affect the tree if you do it from preferences menu)

sort ascending and descending in browser (first click descending, second ascending)
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-09 08:45:12
Quote
RELEASE  1.6.8

Nice new options, thanks
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-09 15:19:16
RELEASE      1.6.9

fixed some drop source feedback

@limit<n> - limits the number of subitems in a node
- can be used in a query. the following will limit to 3 tracks per album
%artist%|@limit<3>%album%|[$num(%tracknumber%,2) - ]%title%

the format @tag<x> is being used because it does not interfere with the normal fb2k formatting strings.  at some point, ALL local functions may be converted to this format.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-09 16:01:05
Quote
RELEASE  1.6.9

fixed some drop source feedback

@limit<n> - limits the number of subitems in a node
- can be used in a query. the following will limit to 3 tracks per album
%artist%|@limit<3>%album%|[$num(%tracknumber%,2) - ]%title%

the format @tag<x> is being used because it does not interfere with the normal fb2k formatting strings.  at some point, ALL local functions may be converted to this format.
[a href="index.php?act=findpost&pid=326032"][{POST_SNAPBACK}][/a]


Which tracks? The first three in filename alphabetical order or the first three in the next level tag order (in this case tracknumber), or according to the sorting string (if any)?

Is there a way to get the three tracks randomly?

Would this @limit<3>%artist%|%album% pick three albums or three tracks too? If the last, from which album?

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-09 16:07:43
Quote
Which tracks? The first three in filename alphabetical order or the first three in the next level tag order (in this case tracknumber), or according to the sorting string (if any)?


The first three items that make it in there based on sort order.

Quote
Would this @limit<3>%artist%|%album% pick three albums or three tracks too? If the last, from which album?
[a href="index.php?act=findpost&pid=326041"][{POST_SNAPBACK}][/a]


3 albums.  The limit refers to the number of subitems that a folder can have.  In your example each folder can have at most 3 subitems which in your case are albums.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-09 18:14:41
this @limit<n> is excellent!

So, as i was saying in the other forum, a same limit on total time or total size will be prety cool.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-10 21:53:22
I'm discovering $node() and $drop() functions, they are very very cool!!!!

the possibilities of PLT are very powerfull with these functions.

So, I have one question, what happend with $node() when i have multiples queries with the name called by the function?
There is a way to specify full nodes path to this query?

An other question, when i use $node(), are the data stored two times into each of the two queries trees? I think, there is an advantage of time to parse the database using this function, but there is too an advantage in memory taken by the query tree?
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-10 22:48:43
I'm quite sure the answer is "yes" but let me ask all the same:

can I nest that @limit function one into the other?

I mean, can I create something like this:


Code: [Select]
@limit<10>%genre%|@limit<1>%artist%|@limit<2>%album%|%title%


to get 2 tracks from each album of different 10 artists under the genre jazz?

Thnaks.

(Go to testing while waiting for your answer....he,he....)


Edit:  mmmh,  getting some crashes. Probably I was too optimistic..., wasn't I?
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-11 17:17:59
Quote
I'm quite sure the answer is "yes" but let me ask all the same:

can I nest that @limit function one into the other?

I mean, can I create something like this:


You should be able to.  I will look into it to check out the crashes.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-12 15:12:16
RELEASE      1.6.10

fixed bug in quick query in compound queries using MISSING

fixed crash on @limits on subfolders rather than leaf nodes in queries

option: config: Process menu options when not in focus
Title: foo_playlist_tree
Post by: phwip on 2005-09-12 15:23:36
Quote
option: config: Process menu options when not in focus[a href="index.php?act=findpost&pid=326466"][{POST_SNAPBACK}][/a]

Thanks... works just as I had hoped.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-13 19:06:17
RELEASE      1.7.0_beta1

internal changes to search all results

@playlist, @node, @notnode and @drop allow for queries.
example - will return all the tracks in Favorites playlist by the Beatles:
query string: @playlist<Favorites> artist HAS beatles
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-13 19:31:44
Wow!

Due to the major changes, it would be very useful being able to run two instances of PLT - the last old one 1.6.9 and the new 1.7.0 - side by side: is it possible or we have to run two instances of the whole FB copying and renaming the FB dir?

Another thing would be a bit of documentation or a couple examples for each function or command. Where the fn has changed, it would be useful having the before and after examples. If you can think of a way, we (at least I...) could help you putting this together, maybe one fn at a time.

If docs is not possible at the time, at least having an up to date list of all the commands and functions and their sintax so we can experiment with them and build the docs by ourselves.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-13 19:38:04
Quote
Wow!

Due to the major changes, it would be very useful being able to run two instances of PLT - the last old one 1.6.9 and the new 1.7.0 - side by side: is it possible or we have to run two instances of the whole FB copying and renaming the FB dir?

Another thing would be a bit of documentation or a couple examples for each function or command. Where the fn has changed, it would be useful having the before and after examples. If you can think of a way, we (at least I...) could help you putting this together, maybe one fn at a time.

If docs is not possible at the time, at least having an up to date list of all the commands and functions and their sintax so we can experiment with them and build the docs by ourselves.

Thanks.
[a href="index.php?act=findpost&pid=326636"][{POST_SNAPBACK}][/a]


I can't go into serious details right now, but basically anything that was PT specific and used the form $tag() now uses the the form @tag<>.

And all the tree specific %tag%'s are now %_tag%.  But the old style should still work for these for now.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-13 19:46:51
Just installed it.

I have $icon(xx) or $ex_icon(xx) after the title of almost every node and if I open the edit box I can see those strings added to the actual title in the label box.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-13 19:55:04
Quote
I have $icon(xx) or $ex_icon(xx) after the title of almost every node and if I open the edit box I can see those strings added to the actual title in the label box.
[a href="index.php?act=findpost&pid=326641"][{POST_SNAPBACK}][/a]


right.  those need to be converted to @icon<xx> and @ex_icon<yy>
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-13 20:12:29
Sorry but I don't understand you.

I'm not using any icon in the tree nor any $icon anywhere (if this make sense...).

For now I reverted to 1.6.9. If I can to do something to solve that by myself please tell me, if you have to do something to fix it don't bother answering this one: I will wait for the fixing.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-13 20:17:03
Quote
Sorry but I don't understand you.

I'm not using any icon in the tree nor any $icon anywhere (if this make sense...).

For now I reverted to 1.6.9. If I can to do something to solve that by myself please tell me, if you have to do something to fix it don't bother answering this one: I will wait for the fixing.
[a href="index.php?act=findpost&pid=326650"][{POST_SNAPBACK}][/a]


every where you see $icon(xx) change it to @icon<xx> and everywhere you see $ex_icon(yy) change it to @ex_icon<yy> in the titles and such.

Those code get put there when you change icons, either by adding the tags yourself or by changing the icons by the dialog boxes.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-13 21:14:19
1.7.0beta 2 will have some automation of the conversion process so you may want to wait for that.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-13 21:55:12
Sure.

Thanks.
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-14 09:06:41
Quote
1.7.0beta 2 will have some automation of the conversion process so you may want to wait for that.
[a href="index.php?act=findpost&pid=326666"][{POST_SNAPBACK}][/a]

I'll wait for that then

Thanks for the new build, I'm having my PC back in today or tomorrow so I'll be able to test PT. It seems that there's some major internal changes down there.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-14 14:41:37
RELEASE      1.7.0_beta2

$left => @left, $center => @center, $right => @right in browser alignments in columns

some internal conversion of $tag() to @tag<> when loading
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-14 19:50:15
No more icon issues but it sets the sorting method of all the nodes to "custom" "%default%".

?


My FB startup time has decreased from 25 secs to 18.

!


The total refresh still takes 25 secs.

.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-14 20:03:35
RELEASE      1.7.0_beta3

reintroucded @format<> tag - use it in folder names when the something in the name needs to be evaluated... example usage in a query format string:

<'@format<%_itemcount%>'> [%album%]|[$num(%tracknumber%,2) - ]%title%

convert tags in m_query_sort (sort criteria will now be converted from %default% to @default
Title: foo_playlist_tree
Post by: mazy on 2005-09-14 21:55:18
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)
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-15 19:14:32
RELEASE      1.7.0_beta4

bug fix for crashing fb2k when dragging from browser

@notnode speed increases
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-15 19:37:27
thank you for all that work, very interesting evolutions!!!
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-15 19:58:40
Just tested beta4 and it gives me these problems:

- This label throw me and $if syntax error:
Code: [Select]
@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: [Select]
@format<$if($strstr(@playing<%artist%>,?),'['Unknown Artist']',artist IS @playing<%artist%>)>


BTW, thanks for the new builds 
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-15 20:11:04
Quote
- 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: [Select]
@format<$if($strstr(@playing<%artist%>,?),'['Unknown Artist']',artist IS @playing<%artist%>)>

[a href="index.php?act=findpost&pid=327063"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-15 20:13:33
Quote
- This label throw me and $if syntax error:
Code: [Select]
@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.
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-16 00:23:12
Quote
What is this query supposed to be doing?
[a href="index.php?act=findpost&pid=327065"][{POST_SNAPBACK}][/a]


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: [Select]
@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.
Title: foo_playlist_tree
Post by: synth7 on 2005-09-16 00:51:43
Does %foldercount% not work in the latest binary?
Title: foo_playlist_tree
Post by: Eisprinz on 2005-09-16 13:55:40
I'm having trouble with a very simple query:
Code: [Select]
$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.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-16 14:25:46
Quote
Does %foldercount% not work in the latest binary?
[a href="index.php?act=findpost&pid=327127"][{POST_SNAPBACK}][/a]


It should, but it has been superceded by %_foldercount%.  If the raw %_foldercount% does not work, try @format<%_foldercount%>
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-16 15:46:51
Quote
I'm having trouble with a very simple query:
Code: [Select]
$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?
[a href="index.php?act=findpost&pid=327267"][{POST_SNAPBACK}][/a]


It's not you.  I found the bug, and it will be fixed in the next release.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-16 16:05:01
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
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-16 19:34:02
Quote
RELEASE  1.7.0_beta5
[a href="index.php?act=findpost&pid=327299"][{POST_SNAPBACK}][/a]

Cool, I'll try it, let's see if I find some bugs

Thanks.
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-09-16 20:03:13
Nevermind... haha
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-18 21:05:01
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.
Title: foo_playlist_tree
Post by: Eisprinz on 2005-09-18 22:28:30
Quote
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--)|...
[a href="index.php?act=findpost&pid=327299"][{POST_SNAPBACK}][/a]


Works great, thanks
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-19 00:09:57
Quote
RELEASE  1.7.6

Really nice release, thanks dude.
Title: foo_playlist_tree
Post by: Eisprinz on 2005-09-19 12:47:37
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?
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-19 13:58:15
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
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 16:26:57
Quote
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
[a href="index.php?act=findpost&pid=328080"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-19 17:29:06
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
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 17:37:56
Quote
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
[a href="index.php?act=findpost&pid=328131"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-19 18:18:21
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.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 18:41:19
Quote
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.
[a href="index.php?act=findpost&pid=328150"][{POST_SNAPBACK}][/a]


How do you want the results displayed.  Tell me that and I will tell you the format you need.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 19:06:39
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%>
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-19 21:17:34
Quote
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%>
[a href="index.php?act=findpost&pid=328159"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 21:24:04
Quote
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....
[a href="index.php?act=findpost&pid=328197"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-19 21:51:37
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
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 21:59:11
Quote
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...
[a href="index.php?act=findpost&pid=328209"][{POST_SNAPBACK}][/a]


You might want to try something like this:

Code: [Select]
%album% - '@format<$sub(%_itemcount%,@first<%tracknumber%>)>'|%tracknumber% - %title%
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-19 22:17:12
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...
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-19 23:38:50
Quote
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...
[a href="index.php?act=findpost&pid=328225"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-20 08:53:19
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
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-20 17:28:26
I put up some simple wiki software at http://www.bowron.us/wiki (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
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-20 18:02:00
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.
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-20 19:46:09
Quote
It will be cool if anybody here put there personal interresting queries, we can realize a queries database, joint to the tutorial.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=328408")

That'll be nice.

A long time ago I submit some example collections here:
[a href="http://foobar.bowron.us/example_collections/]http://foobar.bowron.us/example_collections/[/url]

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.)
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2005-09-20 20:06:51
Quote
Quote
It will be cool if anybody here put there personal interresting queries, we can realize a queries database, joint to the tutorial.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=328408")

That'll be nice.

A long time ago I submit some example collections here:
[a href="http://foobar.bowron.us/example_collections/]http://foobar.bowron.us/example_collections/[/url]

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.)
[a href="index.php?act=findpost&pid=328423"][{POST_SNAPBACK}][/a]


I agree as well... I suck at making queries. Not to mention far too lazy.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-20 20:12:50
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: [Select]
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: [Select]
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: [Select]
Same performer
   +  Ellis Larkins
   +  Ruby Braff

But I get
Code: [Select]
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.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-20 20:26:49
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.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-20 20:27:36
Quote
Code: [Select]
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.
[a href="index.php?act=findpost&pid=328426"][{POST_SNAPBACK}][/a]


I think as a first cut you might be able to do something like this:

Code: [Select]
$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.
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-20 20:50:39
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: [Select]
@playing<$meta_sep(performer)>
work too?

Sorry but I'm a bit lost.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-20 21:03:34
Quote
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: [Select]
@playing<$meta_sep(performer)>
work too?

Sorry but I'm a bit lost.
[a href="index.php?act=findpost&pid=328434"][{POST_SNAPBACK}][/a]


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.
Title: foo_playlist_tree
Post by: 2Pacalypse on 2005-09-27 17:54:34
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)
Title: foo_playlist_tree
Post by: fabiospark on 2005-09-27 21:19:31
Quote
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)
[a href="index.php?act=findpost&pid=329998"][{POST_SNAPBACK}][/a]

It is!
Title: foo_playlist_tree
Post by: jkwarras on 2005-09-28 13:36:40
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.
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-28 17:50:53
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
Title: foo_playlist_tree
Post by: blammo on 2005-09-29 08:32:05
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
Title: foo_playlist_tree
Post by: cwbowron on 2005-09-29 20:58:44
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
Title: foo_playlist_tree
Post by: SoulMan on 2005-09-30 09:09:16
Very good ID!!
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-06 18:46:25
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
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-06 18:49:13
Quote
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.
[a href="index.php?act=findpost&pid=330358"][{POST_SNAPBACK}][/a]


Check out the new @browse_as function which allows this.
Title: foo_playlist_tree
Post by: antxxxx on 2005-10-06 20:00:49
I have just tried downloading the new version from http://foobar.bowron.us/ (http://foobar.bowron.us/) and though the modified timestamp on foo_playlist_tree.zip has changed, the files inside and the changelog still seem to be version 1.7.9
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-06 20:07:57
Quote
I have just tried downloading the new version from http://foobar.bowron.us/ (http://foobar.bowron.us/) and though the modified timestamp on foo_playlist_tree.zip has changed, the files inside and the changelog still seem to be version 1.7.9
[a href="index.php?act=findpost&pid=332186"][{POST_SNAPBACK}][/a]


Try it again... I re ran my uploading script and downloaded it and it looks like 1.7.10 is on there now... Thanks for the heads up...
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-06 20:27:37
Thanks for that "remove duplicates when sending / adding to a playlist".

I just want to let you know that duplicates are still sent to the browser.

For now, I'm not a browser user but that @browse_as<> may be quite useful.

Let me ask this one:

- does the depth (number of levels) of a tree affect performance (loading/refreshing time) or it is just the number of records x the numbers of queries that makes my FB taking 25 secs at start/refresh?

If the depth matters, will the presence of the browser matters too?

I mean, with the new dynamic browsing we can see the browser as a tree level or even as more than one so it would be useful which set up would work faster.

Thanks.
Title: foo_playlist_tree
Post by: blammo on 2005-10-07 08:14:09
Is is possible to hide duplicate entries in the browser.  e.g I want to list albums and have one row for each album rather than it repeated for every database entry for the album.
Title: foo_playlist_tree
Post by: SoulMan on 2005-10-07 09:22:41
Quote
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


Hello, I've retryed this query with the last version, and now, i have with:
Query: artist IS "Ravi Shankar"
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-07 14:20:01
Quote
Hello, I've retryed this query with the last version, and now, i have with:
Query: artist IS "Ravi Shankar"
  • foo_playlist_gen format
    Format: $upper($cut(@any<album artist,artist>,1))|@any<album artist,artist>|%album%|%title%

    I have files with :
    - ARTIST = Ravi Shankar
    - ARTIST = Ravi Shankar\Ali Akbar Khan
    - ARTIST = Zakir Hussain ; ALBUM ARTIST = Ravi Shankar


Have you tried amending the query to something along the lines of:

Code: [Select]
artist IS "Ravi Shankar" OR album artist IS "Ravi Shankar"


It looks like based on your query and your file that the file in question does not match the query.
Title: foo_playlist_tree
Post by: SoulMan on 2005-10-07 15:28:50
OK, your right!

Sorry for this stupid error.

But, i still having albums displayed in the two levels.

In fact, I still having exactly the same problem than in previous versions...

With this formating (same files, and functionning query) :

$upper($cut(@any<album artist,artist>,1))|
@any<album artist,artist>|
[%date%' - ']%album%|$num(%tracknumber%,2)' - '%title%

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 understand why I have "Ravi Shankar" under Z and "Zakir Hussain" under R, but how to do? (I've tryed some stricmp onto @parent and $cut(@any<album artist,artist>,1) but, donsn't work).
And albums displayed in the first level is it a bug?


edit: one interresting thing: under Z (so when i have an ARTIST and an ALBUM ARTIST, and when is the ARTIST matching) I don't have the album displayed in the first level (so, it's working as expected in this precise case).
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-10 16:03:27
RELEASE      1.7.11

@parent<>, @query<> can be used in library name

TAGZ allowed in number value for @parent<> (i.e. you can do something like $sub(%_nestlevel%,3))

#tag# literally replaced by $meta(tag,1), $meta(tag,2), then formatted
   - fixes some issues people were having (I'm looking at you fabiospark)

globals back in tree.  No more funky @globalformat...
   - can be used in labels with a @format<> or @function that will perform formatting
   - can be used in a query format
   - can be used in a playlist_gen type query in a @format<>

globals now formatted in browser... be sure to use | to break variables and use a | at the end
of your globals.
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-10 18:30:47
Mmmh..

Trying this one:

Code: [Select]
Query:  performer HAS voice

Format:  $if($stricmp(#performer#,woman),women,pippo)


I'm still having all the performers under the group "pippo", even the (voice - woman) lot. And no "women" group.

Did I understand something wrong, didn't I?
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-10 18:49:13
Quote
Mmmh..

Trying this one:

Code: [Select]
Query:  performer HAS voice

Format:  $if($stricmp(#performer#,woman),women,pippo)


I'm still having all the performers under the group "pippo", even the (voice - woman) lot. And no "women" group.

Did I understand something wrong, didn't I?
[a href="index.php?act=findpost&pid=333326"][{POST_SNAPBACK}][/a]


$stricmp checks whether strings are equal ignoring case.

You want $strstr - finds whether a string contains another string.
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-10 19:43:03
Sorry. That was just stupid by me thinking to stricmp as an HAS instead as of an IS.

Sorry again for that.

----------

Of course, this one splits the groups:

Code: [Select]
Query: performer HAS voice

Format:  $if($strstr(#performer#,woman),women,$if($strstr(#performer#,- man),men,
groups))


but, under "groups" I'm still getting ALL the other performers, even those with no "voice" in the field (but with at least one voice in the whole %performer%).

So I'm still to having to wrap the whole thing with an "$if(strstr(#performer#,voice)......)", but, wouldn't this be the work that "performer HAS voice" in the Query box is meant for?
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-10 19:52:37
Quote
So I'm still to having to wrap the whole thing with an "$if(strstr(#performer#,voice)......)", but, wouldn't this be the work that "performer HAS voice" in the Query box is meant for?
[a href="index.php?act=findpost&pid=333347"][{POST_SNAPBACK}][/a]


the "Performer HAS voice" in the query will filter out all the files that do not have a voice  performer, but the #performer# in the format field will loop through all the PERFORMER tags.
Title: foo_playlist_tree
Post by: 2Pacalypse on 2005-10-10 20:39:57
coulpe of question, they may be stupid?

bare with me im at work and dont have foobar on this pc so it may be hard to explain.

1. if i want to view all my music in the structure it is on my hard drive i can add it to a folder but that then becomes static. is there a way to have it dynamically so it updates itself?

2. is it possible to add your CD rom drives as nodes? i have then in there at the mo (dragged them from My computer into a folder), but then when u insert a cd, you have to expand the node, and then expand another folder before you get to the contents.

it would be cool if you could just add folders (i mean add as in navigate to folders, select from a open dialog window, not drag, if that makes sense)
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-10 21:10:27
Quote
1. if i want to view all my music in the structure it is on my hard drive i can add it to a folder but that then becomes static. is there a way to have it dynamically so it updates itself?


Dynamically in the sense that when you restart foobar2000 it gets refreshed, yes.
Dynamically in the sense that it reflects the directory tree whenever you change a file, no.

When you drop a folder, if you hold down control, rather than create a folder, it will create a query with a @drop<> command.  Then whenever the query is refreshed, it will look in the directory for updated files.

I set up my files in the directory structure like this:

E:\Music\B\Bob Dylan\2005 - No Direction Home Soundtrack

so I set up my tree with drop commands for each letter of the alphabet (@drop<E:\Music\B>).  I could also set up a drop like @drop<E:\Music> but I have some extra cruft in that directory that I want to exclude.

Quote
2. is it possible to add your CD rom drives as nodes? i have then in there at the mo (dragged them from My computer into a folder), but then when u insert a cd, you have to expand the node, and then expand another folder before you get to the contents.


You could also set up a @drop query for your cd drives, but that will still require you to refresh the query manually when you change cds.

You may want to look into foo_uie_explorer
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-10 21:22:43
Quote
the "Performer HAS voice" in the query will filter out all the files that do not have a voice performer, but the #performer# in the format field will loop through all the PERFORMER tags

Thanks for the explanation. I will live with some "ignore me" nodes under some query.
By the way: is there a way to really hide a subnode? I tried with hide/unhide but the label is still there. (Well, I could hide the cross and put a blank in its name... I could be an easy solution.)

--------------

Sorry to touch that key again, but I'm still unable to make the @drop<> of my playlist folder work: any clue? I remind you I'm using fpl files but it doesn't work with m3u too.

If I load them or import drag them from foo_explorer they work.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-10 21:35:47
Quote
Quote
the "Performer HAS voice" in the query will filter out all the files that do not have a voice performer, but the #performer# in the format field will loop through all the PERFORMER tags

Thanks for the explanation. I will live with some "ignore me" nodes under some query.
By the way: is there a way to really hide a subnode? I tried with hide/unhide but the label is still there. (Well, I could hide the cross and put a blank in its name... I could be an easy solution.)

--------------

Sorry to touch that key again, but I'm still unable to make the @drop<> of my playlist folder work: any clue? I remind you I'm using fpl files but it doesn't work with m3u too.
[a href="index.php?act=findpost&pid=333368"][{POST_SNAPBACK}][/a]


You can really hide hidden nodes under the menu under components/playlist tree/settings/show hidden nodes.

Are there any unicode characters in the path to the fpl file?

Do you have ignore nested playlists checked under config?
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-11 21:17:19
With jazz it is usual having the same tune many times, so I'd like to have a tree like that:

Code: [Select]
+ Number of occurrencies - Title - Artist - Year
      +  # of occurrencies
          +  title
             + artist - year

example:

+ Number of occurrencies - Title - Artist - Year
      +  4  occurrencies of
      +  3  occurrencies of
      +  2  occurrencies of
         +  My funny valentine
            +  Miles Davis - 1956
            +  Sarah Vaughan - 1965
         + Davenport blues
            +  Bix Beiderbecke - 1931
            +  Dukes of dixieland - 1986


sorted from the higher number to the lower.

Is there a way to get this?

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-11 21:34:24
Quote
With jazz it is usual having the same tune many times, so I'd like to have a tree like that:

Code: [Select]
+ Number of occurrencies - Title - Artist - Year
      +  # of occurrencies
          +  title
             + artist - year


sorted from the higher number to the lower.

Is there a way to get this?
[a href="index.php?act=findpost&pid=333618"][{POST_SNAPBACK}][/a]


You're lucky that I have been working on my covers/originals playlist and after reading your post I thought it might be interesting to sort it based on the number of tracks in each folder. 

Yes it is possible.

Here is how I set mine up:

Format: %_trimmed_title% '(@format<%_itemcount%>)'|%artist%

Display Sort Order: $if(%_isleaf%,%_name%,$sub(999,%_itemcount%)%_name%))

%_trimmed_title% is just a little global I have that strips of potential parenthesis and $trims it.
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-12 18:00:47
Is there a way to extract only the items counts and have them as groups?

Code: [Select]
+  Numbers of items
   + 12
   + 10
   + 09
   + 08
       +  Body and soul
            + .......
            + .......

       +  Autumn leaves
            + .......



I mean something as giving an argument to itemcount without having to show it.
By the way: which is (are) the correct syntax of %_itemcount%? Does it count the items on its same level? How can it know which items to count?

Thanks.
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-12 19:08:22
Would you consider adding an "Apply" button to the query edit window? It would be quite useful when testing new functions and their syntax.

An maybe a quick way to export the text of the whole query in a single txt file. And the import too, of course.

And, why not an undo?.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-12 21:51:24
Quote
Is there a way to extract only the items counts and have them as groups?


Not currently, because the itemcount gets calculated after the tree has been filled.  What  would be necessary for it to work without displaying anything else is a way to specifiy criteria for a folder, but not have that criteria actually be displayed.  It could be done by adding a new local function, maybe @noshow<> or something....

Quote
I mean something as giving an argument to itemcount without having to show it.
By the way: which is (are) the correct syntax of %_itemcount%? Does it count the items on its same level? How can it know which items to count?
[a href="index.php?act=findpost&pid=333775"][{POST_SNAPBACK}][/a]


%_itemcount% is variable that exists for folders, and returns the number of tracks that are contained in it and all it subfolders.

The trick for this is that %_itemcount% really isnt known until the tree has been totally filled with the tracks, then %_itemcount% gets evaluated when the tree is drawn and/or sorted.  This works with the newer version of PT that support the display sort order because that sort is done *AFTER* the tree has been totally populated.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-12 21:55:19
Quote
An maybe a quick way to export the text of the whole query in a single txt file. And the import too, of course.
[a href="index.php?act=findpost&pid=333787"][{POST_SNAPBACK}][/a]


You could always remove all the children of the query, then right click and File\Save This as a collection.  Its a text based file, with all the query info, which can be imported.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-14 18:17:59
RELEASE      1.7.12

faster context menu

some changes to loading procedure

option: config::Convert Old style tags to new style automatically
   - turning it off will turn off conversion of $tag() to new style @tag<> and should be faster

changed query tree population - fewer string copies == hopefully faster...

@ignore tag... if a query format contains "@ignore " after being formatted it will not be
added to the tree.  must be followed by a space...
- for example if you have multiple genres tags but you do not want to generate a rap genre
folder you could use this format:
   $if($strstr(#genre#,rap),@ignore ,#genre#)|%album%|%title%

@hidden tag.  hides a node.  can be used in a query to specify that one of the nodes created
should not really be shown in the tree... (there must be a space following @hidden)

@noshow<> hides all the text between it in a folder name.  Allows you to split a query into
different folders without actually displaying the split criteria...
Title: foo_playlist_tree
Post by: fabiospark on 2005-10-14 20:40:29
Thanks for the update. Nice work.

I tried unchecking that "auto convert tags etc..." but when I click on a node or a subnode its label/title disappear leaving a "?". After checking tha box again and after a refresh I get the labels back. I don't have any code in the label box, nor browse or icon or else.

-----------------

Do you mind explaining a bit more about the sort boxes?
I mean: exact sintax, allowed functions and, maybe, some tricks.

In the meantime let me show a little trick of mine.

For instance, I have this query:

Code: [Select]
Label:  # instruments

Query:  genre IS jazz

Format:  $if($or($strstr(%instrument%,band),$strstr(%instrument%,Orchestra),$strstr(%instrument%,orchestra),$strstr(%instrument%,Strings),$strstr(%instrument%,group)),Many,
$select($meta_num(instrument),Solo,Duo,Trio,Quartet,Quintet,Sextet,Septet,Octet,Nonet,Many,Many,Many))|%instrument%|%artist%|%title%

Pop sort:  $meta_num(instrument) - %instrument%

Disp sort:  

With this sorting I get:

Code: [Select]
+ # instruments
   +  Solo
   +  Many
   +  Duo
   +  Trio
etc

Under each subnode but the "many" one I have the %instrument% content sorted alphabetically.

If I put

Code: [Select]
Disp sort: %_name%

I get the %instrument% content correctly sorted under "many" too but I get the first level (Solo, Duo etc) alphabetically sorted too : how to force the content of "many" to be correctly sorted too?

I tried some different Pop and disp sorting strings but couldn't come across the right one.

Then you came out with that useful @noshow<>.....
So, after a quick test this is my new (perfectly working) string:

Code: [Select]
$if($or($strstr(%instrument%,band),$strstr(%instrument%,Orchestra),$strstr(%instrument%,orchestra),$strstr(%instrument%,Strings),$strstr(%instrument%,group)),Many,
$select($meta_num(instrument),@noshow<1>Solo,@noshow<2>Duo,@noshow<3>Trio,@noshow<4>Quartet,@noshow<5>Quintet,@noshow<6>Sextet,@noshow<7>Septet,
@noshow<8>Octet,@noshow<9>Nonet,Many,Many,Many))
|%instrument%|%artist%|%title%


I think this could be of general use when people want to create a custom "manual" sorting.

If you know a more straightforward way (or a more elegant) please let me know.

Thanks.

(One day we should embark into a discussion about performances:
- better three separate queries or a @multiple three headed one?
etc, etc)
Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-14 20:51:31
Quote
Thanks for the update. Nice work.

I tried unchecking that "auto convert tags etc..." but when I click on a node or a subnode its label/title disappear leaving a "?". After checking tha box again and after a refresh I get the labels back. I don't have any code in the label box, nor browse or icon or else.
[a href="index.php?act=findpost&pid=334424"][{POST_SNAPBACK}][/a]


Somewhere in your configurations you probably have the old style %name% tag instead of %_name%. (and similarly for other tags) Look under the preferences under folders.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-14 21:00:04
Quote
Do you mind explaining a bit more about the sort boxes?
I mean: exact sintax, allowed functions and, maybe, some tricks.


I cannot go into exact syntax, etc. but this is how query population works

1 - get all matching tracks

2 - sort tracks by Population Sort Order if specified

3 - remove tracks that exceed maximum if specified

4 - For each track:

  4 a - apply formatting to each item in the list in order

  4 b - add item to tree based on formatting results, splitting each | into a seperate folder.

5 - After entire tree is made, sort by Display Sort Order if specified.

Because the tracks are sorted in step 2, before any tree is created only functions local to the track can be used as a sort order here.

Because at step 5 the entire tree has been populated and every folder has its contents, you can use folder level functions in the display sort order (%_itemcount%, etc).
Title: foo_playlist_tree
Post by: Don Reba on 2005-10-18 22:04:46
I have a problem, which, as I found, was described in a year-old problems list for foo_playlist_tree:
• invalid treatment of subsong index:
The subsong index gets discarded when saving .col files. This breaks some (container) formats that allow multiple songs in one file, including Ogg Vorbis, Matroska and cue sheets.

All versions of foo_playlist_tree that I used, including 1.7.12, do this. Many of my albums are in APE+CUE format, and I cannot access any of them through the tree because of this error. Will it ever be fixed?

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-19 14:42:42
Quote
I have a problem, which, as I found, was described in a year-old problems list for foo_playlist_tree:
• invalid treatment of subsong index:
The subsong index gets discarded when saving .col files. This breaks some (container) formats that allow multiple songs in one file, including Ogg Vorbis, Matroska and cue sheets.

All versions of foo_playlist_tree that I used, including 1.7.12, do this. Many of my albums are in APE+CUE format, and I cannot access any of them through the tree because of this error. Will it ever be fixed?

Thanks.
[a href="index.php?act=findpost&pid=335499"][{POST_SNAPBACK}][/a]


The problem you refer to of not saving the subsong index in collection files, was fixed.  According to the changelog it was December 12, 2004, prior to the release of 1.0.0.  Something else funny could be going on though.

Do the items show up correctly if you were to drag and drop the files?  Does the problem only occur after load a tree?

If you can find a small example to email me or put something up somewhere where I can download it, I will take a look.
Title: foo_playlist_tree
Post by: Don Reba on 2005-10-19 15:15:33
On further investigation, the indices are stripped on reading, rather than writing.

I drug a cue file (http://www.artsci.gmcc.ab.ca/people/badaloval/tree/CDImage.cue) into the tree, and all the songs show up properly. I then save it (http://www.artsci.gmcc.ab.ca/people/badaloval/tree/correct.txt) - so far so good. But when I reopen, it stops working. I save again (http://www.artsci.gmcc.ab.ca/people/badaloval/tree/incorrect.txt), and see the indices missing.

If you fix this, the plugin will be flawless, for me. Thanks for all the work.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-19 15:44:30
Quote
On further investigation, the indices are stripped on reading, rather than writing.

If you fix this, the plugin will be flawless, for me. Thanks for all the work.
[a href="index.php?act=findpost&pid=335674"][{POST_SNAPBACK}][/a]


What it looks like is happening is that when I was cleaning up some of the write_leaf code, I inadvertantly made it write two dividing characters where there should be only one.  I will send you a preview release of 1.7.13 via PM and you can let me know if that fixes it.

Thanks.
Title: foo_playlist_tree
Post by: Don Reba on 2005-10-19 16:11:46
Quote
What it looks like is happening is that when I was cleaning up some of the write_leaf code, I inadvertantly made it write two dividing characters where there should be only one.  I will send you a preview release of 1.7.13 via PM and you can let me know if that fixes it.

Thanks.
[a href="index.php?act=findpost&pid=335683"][{POST_SNAPBACK}][/a]

That seems to be just it. Problem solved.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-20 19:17:36
RELEASE      1.7.13

fixed double \b\b error in write_leaf (subsong index fix)

@fakelevel directive.  Allows you to use a folder to limit the number of subitems, etc but
the level is not displayed and all its children are displayed as children of its parent
node.

Example: 
Name: Random Beatles Album (@first<album>)
Query: artist HAS beatles
Format: @fakelevel %album%|$num(%tracknumber%,2) - %title%
Max: 1 subfolder
PSO: $rand()
DSO: %_name%

This query gets a random beatles album, and each title is displayed directly under the query
node.
Title: foo_playlist_tree
Post by: jkwarras on 2005-10-21 16:12:13
Quote
This query gets a random beatles album, and each title is displayed directly under the query
node.
[a href="index.php?act=findpost&pid=336013"][{POST_SNAPBACK}][/a]

Dman, does that means that this will get a random album and displayed in the correct order(track1, track2, track 3, etc...)? Sorry if this is obvious, but I don't have my PC working the last months so I'm a little out in the development of PT...
Title: foo_playlist_tree
Post by: TRiN_GT3 on 2005-10-21 16:53:59
I've been trying to wrap my head around this:-

Basically I want a query to list songs that have not been played in over 30 days from the system date, using  last_played.

My last_played field is formatted like this: YYYY-MM-DD HH:MM:SS

*scratches head* 

Can anyone help me with this?

Cheers.

Update: I've got this atm, but it's still missing something:-

Code: [Select]
$sub(%systemdate%,$substr(%_last_played%,1,4)$substr(%_last_played%,6,7)$substr(%_last_played%,9,10)) GREATER 120
Title: foo_playlist_tree
Post by: kockroach on 2005-10-25 03:41:20
Since I have moved on to the more recent (1.7.12) version of the playlist tree (had been using 1.7.7), it takes a very long time to refresh queries, even after editing existing queries.  Also, when I try to drag and drop queries within the tree, it locks up fb2k.

Any thoughts on why this might be happening?  Let me know if there is anything I need to post, in terms of settings.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-25 18:54:12
Quote
Quote
This query gets a random beatles album, and each title is displayed directly under the query
node.
[a href="index.php?act=findpost&pid=336013"][{POST_SNAPBACK}][/a]

Dman, does that means that this will get a random album and displayed in the correct order(track1, track2, track 3, etc...)? Sorry if this is obvious, but I don't have my PC working the last months so I'm a little out in the development of PT...
[a href="index.php?act=findpost&pid=336286"][{POST_SNAPBACK}][/a]


Yep.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-25 18:56:36
Quote
Since I have moved on to the more recent (1.7.12) version of the playlist tree (had been using 1.7.7), it takes a very long time to refresh queries, even after editing existing queries.  Also, when I try to drag and drop queries within the tree, it locks up fb2k.
[a href="index.php?act=findpost&pid=337073"][{POST_SNAPBACK}][/a]


When you say it locks up... You mean that its doing some processing and you cannot do anything while its processing it, but after some time it goes back to normal right?

I've been working on some of the stuff with queries... some of it has made it faster, some of it has made it slower, but more correct.

What sorts of queries are you using?
Title: foo_playlist_tree
Post by: kockroach on 2005-10-25 19:55:35
Quote
When you say it locks up... You mean that its doing some processing and you cannot do anything while its processing it, but after some time it goes back to normal right?

I've been working on some of the stuff with queries... some of it has made it faster, some of it has made it slower, but more correct.

What sorts of queries are you using?
[a href="index.php?act=findpost&pid=337182"][{POST_SNAPBACK}][/a]

It did go back to normal, but it took a few minutes for that to happen.  The queries I have are fairly basic, and would refresh very quickly with the older plugin I had been using.  To note, my library does have over 2900 files of FLAC and MP3 each.  My music library hasn't changed for quite some time.

As an example, here is one of the queries, labeled "Album by Year"
Query
Code: [Select]
%__codec% IS FLAC

Format
Code: [Select]
%date%|%album%|$num(%tracknumber%,2). %title%


The Population Sort Order is "@default", and the foo_playlist_gen format box is checked.

Even if I do not make any changes to the query, but still click OK to close the edit window, it will take a minute or so to refresh the query.  If I drag and drop a query to a different position my tree, then it takes even longer to refresh.
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-25 20:04:09
Quote
Even if I do not make any changes to the query, but still click OK to close the edit window, it will take a minute or so to refresh the query.  If I drag and drop a query to a different position my tree, then it takes even longer to refresh.
[a href="index.php?act=findpost&pid=337187"][{POST_SNAPBACK}][/a]


Whenever you click OK it refreshes the tree... If you dont make any changes, click cancel and it will not refresh...

I dont think there is anything going wrong, per se, but its just taking a long time to refresh the query... I am looking for ways to decrease refresh time in general, so hopefully the times will decrease in the future... if the time is unbearable, revert to an older version, they are available from the website...

Also you might try instead of using a population sort order of @default, leaving Population sort order blank and setting the display sort order to %_name%... it might help, i dont know...
Title: foo_playlist_tree
Post by: kockroach on 2005-10-25 20:33:59
What exactly is the difference between Population Sort order and Display sort order?
Title: foo_playlist_tree
Post by: cwbowron on 2005-10-25 20:38:33
Quote
What exactly is the difference between Population Sort order and Display sort order?
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=337199")


Population sort order happens before the tree is created.

Display Sort Order happens after the tree has been populated, but before it is shown.

See this post: [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=334427]http://www.hydrogenaudio.org/forums/index....ndpost&p=334427[/url] for more info.
Title: foo_playlist_tree
Post by: Gremo on 2005-10-28 05:36:00
good plugin

i made this:

(http://img482.imageshack.us/img482/6073/prova3ne.png)

with the beautyful icons of everaldo.com
http://www.everaldo.com/crystal.html (http://www.everaldo.com/crystal.html)

hope you like it
Title: foo_playlist_tree
Post by: SoulMan on 2005-11-01 11:03:24
Hello.

I continue having problems with my (impossible ?) request...

format : $upper($cut(#artist#,1))|#artist#|%album%' ('%date%')'|[%disc%.]$num(%tracknumber%,2) - %title%

I've puted out the ALBUM ARTIST field, and now, i'm sorting just on ARTIST, but i have a problem with display sorting, it seems to be unworking with this format.
Also with simple criterias like %artist% or #artist# the displayed order seems to be totally randomed.
Title: foo_playlist_tree
Post by: fabiospark on 2005-11-01 11:25:13
Chris, just a quick check: does the "#tag#" function work with "quicktag SQL" fields?

To me it seems it doesn't.

I also tried the "tag" function in "albumlist" and it doesn't too.

Surely they are related.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-11-01 14:12:56
Quote
Hello.

I continue having problems with my (impossible ?) request...

format : $upper($cut(#artist#,1))|#artist#|%album%' ('%date%')'|[%disc%.]$num(%tracknumber%,2) - %title%

I've puted out the ALBUM ARTIST field, and now, i'm sorting just on ARTIST, but i have a problem with display sorting, it seems to be unworking with this format.
Also with simple criterias like %artist% or #artist# the displayed order seems to be totally randomed.
[a href="index.php?act=findpost&pid=338712"][{POST_SNAPBACK}][/a]


What are you using for the Display Sort Order?  I would think that %_name% should work.
Title: foo_playlist_tree
Post by: cwbowron on 2005-11-01 14:14:19
Quote
Chris, just a quick check: does the "#tag#" function work with "quicktag SQL" fields?

To me it seems it doesn't.

I also tried the "tag" function in "albumlist" and it doesn't too.
[a href="index.php?act=findpost&pid=338715"][{POST_SNAPBACK}][/a]


No, I dont believe that it will.
Title: foo_playlist_tree
Post by: SoulMan on 2005-11-01 17:49:11
Quote
What are you using for the Display Sort Order?  I would think that %_name% should work.
[a href="index.php?act=findpost&pid=338743"][{POST_SNAPBACK}][/a]


Ok, that works well with %_name%, thank you.
Title: foo_playlist_tree
Post by: qnm on 2005-11-14 22:13:11
how can i get rid of the white background in windows controls (these
Title: foo_playlist_tree
Post by: iStormy on 2005-11-15 00:53:35
[removed]
Title: foo_playlist_tree
Post by: nellistc on 2005-11-18 08:47:47
Hi,

Is there a known limit for the maximum megs allowable in a query? Once I get much over 2000, the results are unpredictable.  eg, a limit of a 2040 gives me 2038 MB, while a limit of 2050 returns nothing. Incidentally, much higher values usually give me a figure between 1300 and 1900 MB.


thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2005-11-23 20:43:57
RELEASE      1.7.14

new options:
   Folders: Alternate File Display Formats
   Files / paths: device path alternates

new context menu: 
   send to device\default -> original send to device
   send to device\special -> prompts for the device path (options will be device path alternates values)

TAGZ in device path:  Helps in organizing files on a device (I got a new mp3 player)

For example: E:\%artist%\%album%\%title%.$ext(%_path%)

will copy files into subdirectorys of \artist\album\title.ext.  If the device path has
any %'s or $'s in it, it will be treated as a TAGZ string and formatted to determine
destination FILES, otherwise it will be assumed to be the destination FOLDER.  Some
characters will be converted to _ (/":)
Title: foo_playlist_tree
Post by: fabiospark on 2005-11-24 17:46:21
Can you think to insert a convertion step (of course fully customizable) in the process of copying tracks on a portable device?

I went wavpack lossless on my hd but I would like to convert to something lighter for the player. Of course without loosing no info and without having to make too many steps, if possible.

Another impontant thing would be to have the "auto memory" of which files have already been downloaded to which player, without writing into the lossless ones (I usually keep a backup of my lossless and I want to avoid having to backup a lot of them just because I wrote into them that I downloaded them to a player - so some QTSQL auto tagging, I think).

Thanks

P.S.

Any news on performance improvement for PLT?
Title: foo_playlist_tree
Post by: Fermion on 2005-11-24 21:47:42
Not a serious problem, but it causes a crash when you try to use %_name% variable inside @format<> function in the query format string like
Code: [Select]
@format<'%_name%'>

Yeah, I know that kind of formatting doesn't make any sense, because it would make %_name% depend on itself, but still..

I'm using version 1.7.14
Title: foo_playlist_tree
Post by: Chaser on 2005-11-25 11:30:49
Quote
Can you think to insert a convertion step (of course fully customizable) in the process of copying tracks on a portable device?

I went wavpack lossless on my hd but I would like to convert to something lighter for the player. Of course without loosing no info and without having to make too many steps, if possible.

Another impontant thing would be to have the "auto memory" of which files have already been downloaded to which player, without writing into the lossless ones (I usually keep a backup of my lossless and I want to avoid having to backup a lot of them just because I wrote into them that I downloaded them to a player - so some QTSQL auto tagging, I think).

Thanks

P.S.

Any news on performance improvement for PLT?
[a href="index.php?act=findpost&pid=344658"][{POST_SNAPBACK}][/a]


I like this idea!!!
Title: foo_playlist_tree
Post by: InFlame on 2005-11-26 19:06:59
it doesn't work
when i start foobar therse is no panel or window. when i active playlist tree it does not pass anything. there is only a empty window.... nothing more
(http://www.f-db.de/foobar.jpg)
what is wrong?
i use a win2k system...
Title: foo_playlist_tree
Post by: Fermion on 2005-11-26 19:50:24
You need to use Columns UI instead of the default UI.
Title: foo_playlist_tree
Post by: Gremo on 2005-11-27 23:45:10
hi
how to select 10 random songs?
i'm able to do this with playlist generator, but not in playlist tree (latest versione):

new query, query = 1, limit 10 tracks, display sort order = $rand()

does'n work
tracks order is random but songs are the same
Title: foo_playlist_tree
Post by: corganzero0 on 2005-11-28 00:03:08
Hello

What I want to do is make playlists for each general genre, like so

All Music
    \Rock
    \Electronic
    \Other

That inside "Rock" would be all files which have the genres "Rock", "Alternative", "Classic Rock", so on. So I made a quick quriey which said "genre IS rock OR genre IS alternative..." etc.

How can I make it automatically sort a directory into these playlists?
Title: foo_playlist_tree
Post by: iStormy on 2005-11-28 00:24:20
[removed]
Title: foo_playlist_tree
Post by: Gremo on 2005-11-28 00:34:34
Quote
Quote
new query, query = 1, limit 10 tracks, display sort order = $rand()
[a href="index.php?act=findpost&pid=345759"][{POST_SNAPBACK}][/a]

I'm using the latest development version, which has a Population Sort Order along with Display Sort Order.  Putting the $rand() into PSO gave me what you want.

I'm not sure if the latest stable has that or not, or how to do the equivalent in it.
[a href="index.php?act=findpost&pid=345777"][{POST_SNAPBACK}][/a]


good!!works fine
another one: how to add a "true" after the track title of a playing song?

1) %title% $if($stricmp(%title%,@playing<%title%>),TRUE,FALSE): always FALSE
2) %title% $if(@format<%title% IS @playing<%title%>>,TRUE,FALSE): always TRUE

Title: foo_playlist_tree
Post by: kockroach on 2005-11-28 16:34:26
Quote
new context menu: 
   send to device\default -> original send to device
   send to device\special -> prompts for the device path (options will be device path alternates values)

TAGZ in device path:  Helps in organizing files on a device (I got a new mp3 player)

For example: E:\%artist%\%album%\%title%.$ext(%_path%)

will copy files into subdirectorys of \artist\album\title.ext.  If the device path has
any %'s or $'s in it, it will be treated as a TAGZ string and formatted to determine
destination FILES, otherwise it will be assumed to be the destination FOLDER.  Some
characters will be converted to _ (/":)
[a href="index.php?act=findpost&pid=344419"][{POST_SNAPBACK}][/a]

I really like this option, especially since I might not always have the same letter (i.e. J:\) available when I want to transfer to my mp3 player.

I was wondering if something might be possible.  Currently, if I send the files in a playlist to my mp3 player (Zen Xtra), to get an appropriate playlist for the player, I need to either use something like mp3tag to select all of the files by hand again or I would have to save the playlist, then manually change the file path.

An example:

Directory structure on my computer:
E:\Music\MP3\Artist\Album\Title.mp3

Directory structure on the Zen Xtra:
\Title.mp3 (all files are stored this way, which means I have to make sure I have a unique filename for each....sucks)

I was wondering if it would be possible to have a way to save a playlist (.m3u) to an mp3 player using the directory structure of the files upon transfer.  In a way, it would be like the TAGZ in the device path.  Not sure if it would be possible, but thought I would ask.

Love the plugin. Thanks!
Title: foo_playlist_tree
Post by: cwbowron on 2005-11-28 17:26:07
Quote
I was wondering if it would be possible to have a way to save a playlist (.m3u) to an mp3 player using the directory structure of the files upon transfer.  In a way, it would be like the TAGZ in the device path.  Not sure if it would be possible, but thought I would ask.
[a href="index.php?act=findpost&pid=345996"][{POST_SNAPBACK}][/a]


Yes, I am planning on implementing something like this, I just havent decided the best way to proceed.  This is something I want to.
Title: foo_playlist_tree
Post by: kockroach on 2005-11-28 17:55:38
Awesome!  Thanks for the info.
Title: foo_playlist_tree
Post by: corganzero0 on 2005-11-29 01:22:41
Since I seem to have been ignored, I'll ask again

How can I use this plugin to sort a directory into Genres or by Artists as I've seen in fb2k gallery?
Title: foo_playlist_tree
Post by: iStormy on 2005-11-29 04:45:16
[removed]
Title: foo_playlist_tree
Post by: corganzero0 on 2005-11-30 00:26:51
Quote
Quote
How can I use this plugin to sort a directory into Genres or by Artists as I've seen in fb2k gallery?
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=346133")

[a href="http://wiki.bowron.us/index.php/Playlist_Tree_Tutorial]http://wiki.bowron.us/index.php/Playlist_Tree_Tutorial[/url]

It's in there.
[a href="index.php?act=findpost&pid=346155"][{POST_SNAPBACK}][/a]


This offers no help. It just gives basic information which I know, it doesn't show how to have your files sorted. When I make queries and insert my library playlist, it isn't sorted by artist/album etc.
Title: foo_playlist_tree
Post by: kockroach on 2005-11-30 03:27:47
Why don't you post the queries that you have tried....then, we could see perhaps where you need to make a change.
Title: foo_playlist_tree
Post by: fabiospark on 2005-11-30 07:13:00
And, as the sorting has changed through the updates, please also tell us which release are you using.

Thanks.
Title: foo_playlist_tree
Post by: corganzero0 on 2005-12-01 03:44:07
Label: View By Artist
[all buttons unticked]

Query: [%artist%]
[foo_playlist ticked]
Format: %album%|%title%

Max: 0 Tracks
Sort: Display
Title: foo_playlist_tree
Post by: hunted on 2005-12-01 04:44:27
sounds like you didn't read that page afterall.  It says on the page
Quote
The Query field works as a filter to create a specific subset of your music database. If you insert '1' in the Query field, every file contained in your database will be displayed in the node. You may also want to display only a portion of your music collection, i.e. the files with a valid %rating% field. In this case, insert '[%rating%]' in the Query field.
Note: Query strings can be written using TAGZ. Alternatively, if you tick the 'foo_playlist_gen format' checkbox in the edit window, you can use the simplified syntax of the Playlist Generator plugin (i.e. Query=NOT rating MISSING, Query=title HAS blue). For a detailed description of the syntax rules, please refer to the documentation of the Playlist Generator plugin available in the official foobar2000 forum.

and
Quote
The Sort Criteria field determines the sorting order of you query results. You may specify no order (none), display order (results are sorted according to the format string), custom order.

so try using a plgen query like 1 (or use [artist] like you are, it will return all files with artist tag, but that is NOT a plgen query, its a regular one) and sort like %album%|%artist%|%tracknumber%|%title% and throw in what ever else you want

Note: a query of 1 may not return all files (only ones with a 1 in properties, usually the sameple rate is 44100hz, so you are probably alright though)
Title: foo_playlist_tree
Post by: corganzero0 on 2005-12-01 20:07:37
OK Sorry if this seems frusterating, this is like Greek to me.

Anyway, I had all that entered, and had clicked "insert from current playlist" or whatever, and they were all put in the quirey folder. BUT they weren't organized into Artist folders, all the files were just in there.


What I want is to have my directory (G:/Music) automatically sorted into folders (Artist, then Album) upon running foobar.
Title: foo_playlist_tree
Post by: iStormy on 2005-12-01 20:10:35
[removed]
Title: foo_playlist_tree
Post by: corganzero0 on 2005-12-02 00:47:03
Alright, I think there must be something else wrong.
I've tried your config just to see, and when I click "insert from" it just inserts the files under the quierys.
See screenshot.

(http://i6.photobucket.com/albums/y228/corganzero/9161e4c8.jpg)
Title: foo_playlist_tree
Post by: iStormy on 2005-12-02 18:12:07
[removed]
Title: foo_playlist_tree
Post by: corganzero0 on 2005-12-02 22:23:07
Playlist Tree 1.1.17
Title: foo_playlist_tree
Post by: iStormy on 2005-12-03 00:00:39
[removed]
Title: foo_playlist_tree
Post by: SoulMan on 2005-12-13 17:09:54
Hello

There is actually a way to put a limit onto subfolders ?

The "Max" criteria is fine, but, what I want is to create a "best of" by genre, so, I want to have max 20 tracks, or max 60 min, or max 600Mb for each genre, this is possible?
Title: foo_playlist_tree
Post by: fabiospark on 2005-12-13 17:31:24
Quote
Hello

There is actually a way to put a limit onto subfolders ?

The "Max" criteria is fine, but, what I want is to create a "best of" by genre, so, I want to have max 20 tracks, or max 60 min, or max 600Mb for each genre, this is possible?
[a href="index.php?act=findpost&pid=349926"][{POST_SNAPBACK}][/a]


Which version are you running?

I got this from the changelog.txt that comes with the plugin:

Quote
RELEASE  1.6.9

@limit<n> - limits the number of subitems in a node
- can be used in a query. the following will limit to 3 tracks per album
%artist%|@limit<3>%album%|[$num(%tracknumber%,2) - ]%title%
Title: foo_playlist_tree
Post by: kockroach on 2005-12-13 17:34:47
This is one that I use:

Label: 10 Random Singles by Genre
Query:%__codec% IS FLAC
(foo_playlist_gen format is checked)
Format: @limit<10> %genre% 'Singles'|%title%
Pop Sort Order: %genre%|$rand()

This will give me a folder for each genre called "Genre" Singles, with 10 random singles from that genre.  You shouldn't need to use any setting under "Max" with this.  If you want 20 tracks, change the "10" following the  @limit to 20, or whatever number to get that many tracks.  The Query can be set to "1" to include any files in the library.  I have songs in both FLAC and MP3.  I only play FLAC at home....MP3 is for portables.

Edit:  fabiospark was quicker than me.  I am using the most up to date version (1.7.14).
Title: foo_playlist_tree
Post by: SoulMan on 2005-12-14 09:44:50
Ok, thank you, that's great.
But, there is actually no way to put this sub-limit to files size or files count...
cwbowron, is it possible for you to add this feature please?

I think a minus limit, can be interrsting too, for requests about data consistency, i.e. for this kind of request :
http://www.hydrogenaudio.org/forums/index....ndpost&p=333618 (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&view=findpost&p=333618)

There is no interrest to display all the tracks played only one time.
Title: foo_playlist_tree
Post by: SoulMan on 2005-12-14 09:50:03
Quote
Hello.

I continue having problems with my (impossible ?) request...

format : $upper($cut(#artist#,1))|#artist#|%album%' ('%date%')'|[%disc%.]$num(%tracknumber%,2) - %title%

I've puted out the ALBUM ARTIST field, and now, i'm sorting just on ARTIST, but i have a problem with display sorting, it seems to be unworking with this format.
Also with simple criterias like %artist% or #artist# the displayed order seems to be totally randomed.
[a href="index.php?act=findpost&pid=338712"][{POST_SNAPBACK}][/a]


Hey, I've retryed this request, and now it work well!!

Very great!!
Title: foo_playlist_tree
Post by: jahty on 2005-12-15 06:07:56
Using 1.7.14

I'm running into problems with Display Sort Order. To test things out, I made a very basic Query:

Format: %artist%|%title%
Display Sort Order: %artist%
Max 10 subfolders

I would expect to get 10 subfolders, sorted by the artist name. What I get are 10 subfolders with artist names that aren't sorted in any discernable fashion.

If I change the Display Sort Order to %_name%, then the 10 folders are sorted correctly by artist name. I know I could just use %_name% in this case, but I don't always want to sort this way. Can someone explain why setting the Display Sort Order as %artist% does not work?
Title: foo_playlist_tree
Post by: cwbowron on 2005-12-15 13:13:21
Quote
Using 1.7.14

I'm running into problems with Display Sort Order. To test things out, I made a very basic Query:

Format: %artist%|%title%
Display Sort Order: %artist%
Max 10 subfolders

I would expect to get 10 subfolders, sorted by the artist name. What I get are 10 subfolders with artist names that aren't sorted in any discernable fashion.

If I change the Display Sort Order to %_name%, then the 10 folders are sorted correctly by artist name. I know I could just use %_name% in this case, but I don't always want to sort this way. Can someone explain why setting the Display Sort Order as %artist% does not work?
[a href="index.php?act=findpost&pid=350293"][{POST_SNAPBACK}][/a]


It's because folders don't have "%artists%"s... If you were to use a population sort order of %artist% that would work because that is just sorting the order of the tracks that will make the folders, but when the display sort order takes effect, the folders are abstracted from their contents, so you need to sort folders based on their "%_name%"s...
Title: foo_playlist_tree
Post by: jahty on 2005-12-15 17:02:48
Quote
Quote
Using 1.7.14

I'm running into problems with Display Sort Order. To test things out, I made a very basic Query:

Format: %artist%|%title%
Display Sort Order: %artist%
Max 10 subfolders

I would expect to get 10 subfolders, sorted by the artist name. What I get are 10 subfolders with artist names that aren't sorted in any discernable fashion.

If I change the Display Sort Order to %_name%, then the 10 folders are sorted correctly by artist name. I know I could just use %_name% in this case, but I don't always want to sort this way. Can someone explain why setting the Display Sort Order as %artist% does not work?
[a href="index.php?act=findpost&pid=350293"][{POST_SNAPBACK}][/a]


It's because folders don't have "%artists%"s... If you were to use a population sort order of %artist% that would work because that is just sorting the order of the tracks that will make the folders, but when the display sort order takes effect, the folders are abstracted from their contents, so you need to sort folders based on their "%_name%"s...
[a href="index.php?act=findpost&pid=350352"][{POST_SNAPBACK}][/a]


Ah, I get it now. Thanks for the explanation.
Title: foo_playlist_tree
Post by: amiti on 2005-12-20 14:47:05
hello,

what is the right format for adding %_folderindex% for displaying in a quesry?

Thanks,

Amit.
Title: foo_playlist_tree
Post by: kockroach on 2005-12-20 14:57:42
I believe this will work:
Code: [Select]
'@format<%_folderindex%>'
Title: foo_playlist_tree
Post by: cwbowron on 2005-12-20 14:58:43
Quote
what is the right format for adding %_folderindex% for displaying in a quesry?
[a href="index.php?act=findpost&pid=351442"][{POST_SNAPBACK}][/a]


you probably want to put it inside quotes so that it is not evaluated until the items is displayed... e.g. %artist% ('%_folderindex%')|%title%
Title: foo_playlist_tree
Post by: amiti on 2005-12-20 15:35:40
it doesn't work. i get an error when adding ('%_folderindex%') in the format area of a query : [syntax error in formatting string]


Amit.
Title: foo_playlist_tree
Post by: kockroach on 2005-12-20 15:37:25
Did you try my suggestion? (One post above cwbowron's)  I use a similar code when using %_itemcount% in my query.
Title: foo_playlist_tree
Post by: amiti on 2005-12-20 17:18:55
kockroach , i did try it but without any luck. it outputs  the expression as string ,  not giving the index values.



amit.
Title: foo_playlist_tree
Post by: kockroach on 2005-12-20 17:28:32
Strange, because it works for me.  What version of foo_playlist_tree are you using?  Also, what are the settings for your query?
Title: foo_playlist_tree
Post by: amiti on 2005-12-20 17:49:25
I use playlist_tree 1.7.14

the format is :
Code: [Select]
'@format<%_folderindex%>' %title% - %artist% $repeat(★,$div(%rating%,2))$repeat(✩,$mod(%rating%,2))



amit.
Title: foo_playlist_tree
Post by: kockroach on 2005-12-20 17:56:00
It would appear that the problem is because you are not creating any folders.  That format gives a line for each song.

It might help if you were to explain what you are trying to do.
Title: foo_playlist_tree
Post by: amiti on 2005-12-21 00:12:13
a long time ago i asked cwbowron for an advice on setting index numbers to a list of files in a query. he advised me to use folderindex and it at that time it worked.

i want to see the list like that :
               
1.artist1-track1
2.artist2-track2
3.artist3-track3
.
.
.

when uprgaded yesterday to a newer version from 1.6.3 this was the only thing that i couldn't find a solution for.maybe %_folderindex% works now as the name implies - only for folders and not for leafs. if so - is there another way to do it?


thanks,

Amit
Title: foo_playlist_tree
Post by: corganzero0 on 2005-12-24 02:18:03
Quote
Quote
Playlist Tree 1.1.17
[a href="index.php?act=findpost&pid=347260"][{POST_SNAPBACK}][/a]

1.7.14
[a href="index.php?act=findpost&pid=347276"][{POST_SNAPBACK}][/a]

Alright, I have that now.... using your config.... still nothing is sorted...
Title: foo_playlist_tree
Post by: corganzero0 on 2006-01-02 02:20:47
Still cannot get anything sorted.
Help please.

I just want something that will sort by artist, and inside each artist folder are the albums, and inside each album folder are the files.
Title: foo_playlist_tree
Post by: kockroach on 2006-01-02 02:58:22
Put 1 in the query section and put this in your format
Code: [Select]
%artist%|%album%|$num(%tracknumber%,2). %title%


And then put this in the "Population Sort Order" (leave display order blank)
Code: [Select]
$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|%album%|$num(%tracknumber%,2). %title%



This should give a folder for each artist, with a folder for each album, and sort the tracks by number.  The artists will be sorted in a way that it ignores any "The " at the beginning (i.e. The Beatles will be in the "B" range)
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-01-04 05:56:25
I have successfully configured this plugin and set up my tree and everything works fine.  However, now whenever I exit Foobar I get the below error messages.  What can I do to stop this from happening. 

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 01878CD6h
Access violation, operation: read, address: 00000000h
Call path:
WinMain=>app_shutdown
This is the first crash logged by this instance.
Code bytes (01878CD6h):
01878C96h:  8B 44 24 2C 85 C0 74 06 50 FF D5 83 C4 04 8B 44
01878CA6h:  24 10 8D 4C 24 10 FF 50 10 33 C9 85 C0 76 17 8B
01878CB6h:  54 24 14 80 3C 0A 7C 75 08 C6 04 0A 00 8B 54 24
01878CC6h:  14 41 3B C8 72 ED 8B 54 24 10 8D 4C 24 10 FF 12
01878CD6h:  8B 17 50 8B 44 24 64 53 50 8B CF FF 52 18 8B F0
01878CE6h:  8B 44 24 14 85 C0 74 06 50 FF D5 83 C4 04 8B C6
01878CF6h:  5F 5E 5D 5B 83 C4 48 C3 90 90 8B C1 33 C9 89 48
01878D06h:  04 89 48 08 89 48 0C 89 48 10 C7 00 0C 43 8A 01
Stack (0012F650h):
0012F630h:  B9910548 A0000CAB 827A9288 00000001
0012F640h:  A0005C09 000003D6 0000004E A0374AF0
0012F650h:  065D7DB8 018AF7E0 0D5AE028 018AACF0
0012F660h:  018A43B0 065D70D0 00000033 00000033
0012F670h:  00000000 00000022 018A116A 065D7DCF
0012F680h:  018ABCB8 0000000B 0000000B 018AF7A0
0012F690h:  018AF7A4 018A0EA8 018ABCB8 0000000B
0012F6A0h:  00000017 018AF7E0 0187D82C 00000000
0012F6B0h:  018AF7C0 0D5D8EF8 065D7DB8 00000000
0012F6C0h:  0D5AE028 0012F87C 00000000 0D5AE028
0012F6D0h:  00000000 00000000 0012F700 0012FFB0
0012F6E0h:  7800BD6A 78032250 FFFFFFFF 018A43B0
0012F6F0h:  06504F40 00000022 00000022 00000000
0012F700h:  00000011 01462228 00000007 0012F74C
0012F710h:  00000007 0012F750 018A0EEC 018A4C88
0012F720h:  065D7DB8 00000040 00000027 00000002
0012F730h:  00000017 0187C942 018A62E0 018AACE0
0012F740h:  00000000 0D5AE028 00504468 018A430C
0012F750h:  0640B810 00000018 00000018 00000000
0012F760h:  00000007 01882C70 018AE740 00000000
Registers:
EAX: 065D70D0, EBX: 0D5D8EF8, ECX: 0012F660, EDX: 018A43B0
ESI: 018A43B0, EDI: 00000000, EBP: 78001DB0, ESP: 0012F650
Crash location: "foo_playlist_tree", loaded at 01870000h - 018BE000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 77F80000h - 77FFC000h
KERNEL32                        loaded at 7C570000h - 7C623000h
USER32                          loaded at 77E10000h - 77E79000h
GDI32                            loaded at 77F40000h - 77F7C000h
ole32                            loaded at 7CE20000h - 7CF0F000h
RPCRT4                          loaded at 77D30000h - 77DA8000h
ADVAPI32                        loaded at 7C2D0000h - 7C335000h
COMCTL32                        loaded at 71710000h - 71794000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 76B30000h - 76B6E000h
SHLWAPI                          loaded at 70A70000h - 70AD6000h
msvcrt                          loaded at 78000000h - 78045000h
SHELL32                          loaded at 7CF30000h - 7D175000h
foo_abx                          loaded at 00800000h - 0080C000h
foo_ac3                          loaded at 00810000h - 00823000h
foo_adpcm                        loaded at 00830000h - 00845000h
foo_albumlist                    loaded at 00850000h - 0085B000h
foo_ape                          loaded at 00860000h - 0087F000h
foo_apl                          loaded at 00880000h - 0088A000h
foo_bitcompare                  loaded at 00890000h - 00899000h
foo_burninate                    loaded at 008A0000h - 008AC000h
VERSION                          loaded at 77820000h - 77827000h
LZ32                            loaded at 759B0000h - 759B6000h
foo_cdda                        loaded at 008B0000h - 008BE000h
foo_clienc                      loaded at 008C0000h - 008CB000h
foo_console                      loaded at 008D0000h - 008D7000h
foo_convolve                    loaded at 008E0000h - 0092F000h
foo_dbsearch                    loaded at 00930000h - 0094A000h
foo_diskwriter                  loaded at 00950000h - 00962000h
WINMM                            loaded at 77570000h - 775A0000h
foo_dsp_continuator              loaded at 009F0000h - 009FC000h
OLEAUT32                        loaded at 779B0000h - 77A4B000h
MSVCP71                          loaded at 7C3A0000h - 7C41B000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_dsp_crossfade                loaded at 00E20000h - 00E27000h
foo_dsp_crossfeed                loaded at 00E30000h - 00E48000h
foo_dsp_extra                    loaded at 00E60000h - 00E75000h
foo_dsp_nogaps                  loaded at 00E80000h - 00E87000h
foo_dsp_pause                    loaded at 00E90000h - 00E97000h
foo_dsp_skip_silence            loaded at 00EA0000h - 00EA7000h
foo_dsp_soundtouch              loaded at 00EB0000h - 00EBD000h
MSVCP60                          loaded at 780C0000h - 78121000h
foo_dsp_tube                    loaded at 00EC0000h - 00ED0000h
foo_dsp_white_noise              loaded at 00ED0000h - 00ED7000h
foo_dts                          loaded at 00EE0000h - 00F09000h
foo_dumb                        loaded at 00F10000h - 00F3C000h
foo_dynamics                    loaded at 00F40000h - 00F47000h
foo_extm3u                      loaded at 00F50000h - 00F58000h
foo_faac                        loaded at 00F60000h - 00F93000h
foo_flac                        loaded at 00FA0000h - 00FBF000h
foo_flaccer                      loaded at 00FC0000h - 00FDA000h
foo_freedb                      loaded at 00FE0000h - 00FFD000h
WS2_32                          loaded at 75030000h - 75044000h
WS2HELP                          loaded at 75020000h - 75028000h
foo_fullscreen                  loaded at 01000000h - 01007000h
foo_gep                          loaded at 01010000h - 01036000h
MSIMG32                          loaded at 6B2C0000h - 6B2C5000h
foo_history                      loaded at 01040000h - 01055000h
foo_id3v2                        loaded at 01060000h - 01091000h
foo_infobox                      loaded at 010A0000h - 010B3000h
foo_input_std                    loaded at 010C0000h - 0115D000h
MSACM32                          loaded at 77410000h - 77423000h
foo_lpac                        loaded at 01160000h - 01167000h
lpac_codec_api                  loaded at 01170000h - 0117A000h
lpaccodec                        loaded at 01180000h - 011A9000h
foo_mad                          loaded at 013D0000h - 013EB000h
foo_masstag                      loaded at 013F0000h - 01404000h
foo_matroska                    loaded at 01410000h - 01452000h
foo_midi                        loaded at 01560000h - 015EF000h
MFC42                            loaded at 6C370000h - 6C46B000h
foo_monkey                      loaded at 015F0000h - 0160C000h
foo_mpeg4u                      loaded at 01610000h - 01639000h
foo_null                        loaded at 01640000h - 01647000h
foo_ofr                          loaded at 01650000h - 01656000h
OptimFROG                        loaded at 01660000h - 0168C000h
foo_oggpreview                  loaded at 016A0000h - 017B5000h
foo_output_asio(dll)            loaded at 017C0000h - 017E0000h
foo_output_std                  loaded at 017F0000h - 017F9000h
foo_out_dsound_ex                loaded at 01800000h - 01809000h
DSOUND                          loaded at 51080000h - 510DD000h
foo_out_ks                      loaded at 01820000h - 0182B000h
SETUPAPI                        loaded at 77880000h - 7790E000h
USERENV                          loaded at 7C0F0000h - 7C154000h
foo_playcount                    loaded at 01830000h - 0183B000h
foo_playlistfind                loaded at 01840000h - 0184B000h
foo_playlistgen_ex              loaded at 01850000h - 0185F000h
foo_playlist_bind                loaded at 01860000h - 0186C000h
foo_playlist_tree                loaded at 01870000h - 018BE000h
foo_pphsresample                loaded at 018C0000h - 018D0000h
foo_psf                          loaded at 018D0000h - 0197C000h
foo_quicktag                    loaded at 01A50000h - 01A59000h
foo_read_http                    loaded at 01A60000h - 01A69000h
foo_rgscan                      loaded at 01A70000h - 01A7D000h
foo_scheduler                    loaded at 01A80000h - 01A95000h
foo_scroll                      loaded at 01AA0000h - 01AA6000h
foo_search_ex                    loaded at 01AB0000h - 01AB8000h
foo_shn                          loaded at 01AC0000h - 01ACF000h
foo_shuffle                      loaded at 01AD0000h - 01ADB000h
foo_sid                          loaded at 01AE0000h - 01B28000h
foo_skip                        loaded at 01B30000h - 01B38000h
foo_speex                        loaded at 01B40000h - 01B58000h
foo_tbar                        loaded at 01B60000h - 01B69000h
foo_temple                      loaded at 01B70000h - 01B7B000h
foo_text                        loaded at 01B80000h - 01B8C000h
foo_toaster                      loaded at 01B90000h - 01BB1000h
gdiplus                          loaded at 70D00000h - 70E91000h
foo_tta                          loaded at 01BD0000h - 01BD9000h
foo_tta_old                      loaded at 01BE0000h - 01BE9000h
foo_uie_albumart                loaded at 01BF0000h - 01BFF000h
foo_uie_albumlist                loaded at 01C00000h - 01C12000h
foo_uie_dbexplorer              loaded at 01C20000h - 01C2B000h
foo_uie_explorer                loaded at 01C30000h - 01C4F000h
foo_uie_lyrics                  loaded at 01C50000h - 01C7D000h
WININET                          loaded at 63000000h - 63095000h
CRYPT32                          loaded at 7C740000h - 7C7CC000h
MSASN1                          loaded at 77430000h - 77441000h
foo_uie_tabs                    loaded at 01C80000h - 01C8A000h
foo_uie_trackinfo                loaded at 01C90000h - 01C9B000h
foo_uie_vis_projectm            loaded at 01CA0000h - 01CE0000h
OPENGL32                        loaded at 69510000h - 695D7000h
GLU32                            loaded at 6FAC0000h - 6FADF000h
DDRAW                            loaded at 51000000h - 51049000h
DCIMAN32                        loaded at 728A0000h - 728A6000h
foo_ui_columns                  loaded at 05CB0000h - 05CE7000h
foo_ui_std                      loaded at 05CF0000h - 05D07000h
foo_unpack                      loaded at 05D10000h - 05D41000h
foo_utils                        loaded at 05D50000h - 05D61000h
foo_vis_manager                  loaded at 05D70000h - 05D78000h
foo_vis_simple_spectrum          loaded at 05D80000h - 05D8C000h
foo_vis_stereo                  loaded at 05D90000h - 05E18000h
foo_vis_vu_meter                loaded at 05E20000h - 05E28000h
foo_vorbisenc                    loaded at 05E30000h - 05F41000h
foo_wavpack                      loaded at 05F50000h - 05F64000h
foo_web                          loaded at 05F70000h - 05F88000h
foo_WhiteCap                    loaded at 05F90000h - 05F9B000h
foo_winamp_spam                  loaded at 05FA0000h - 05FA8000h
foo_wma                          loaded at 05FB0000h - 05FC9000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
foo_minview                      loaded at 05FD0000h - 05FD6000h
CLBCATQ                          loaded at 7C950000h - 7C9DF000h
nvoglnt                          loaded at 06A80000h - 06E41000h
Powrprof                        loaded at 766F0000h - 766F7000h
imagehlp                        loaded at 77920000h - 77943000h
DBGHELP                          loaded at 72A00000h - 72A2D000h

Stack dump analysis:
Address: 018AF7E0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AACF0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A43B0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A116Ah, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018ABCB8h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AF7A0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AF7A4h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A0EA8h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018ABCB8h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AF7E0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 0187D82Ch, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AF7C0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 7800BD6Ah, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 78032250h, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 018A43B0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A0EECh, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A4C88h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 0187C942h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A62E0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AACE0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A430Ch, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01882C70h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AE740h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01883BCBh, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 0140038Ch, location: "foo_masstag", loaded at 013F0000h - 01404000h
Address: 0188DCACh, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 77E2137Fh, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 06C02A5Bh, location: "nvoglnt", loaded at 06A80000h - 06E41000h
Address: 77E4158Fh, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 77E3279Ch, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 0188D840h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 06C028A0h, location: "nvoglnt", loaded at 06A80000h - 06E41000h
Address: 77E3C1CAh, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 77F91BAFh, location: "ntdll", loaded at 77F80000h - 77FFC000h
Address: 77E32719h, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 77E33A0Bh, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 77E3B811h, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 7171603Fh, location: "COMCTL32", loaded at 71710000h - 71794000h
Address: 77E3AFA1h, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 71755025h, location: "COMCTL32", loaded at 71710000h - 71794000h
Address: 0140038Ch, location: "foo_masstag", loaded at 013F0000h - 01404000h
Address: 77E3AFC7h, location: "USER32", loaded at 77E10000h - 77E79000h
Address: 71755025h, location: "COMCTL32", loaded at 71710000h - 71794000h
Address: 0140038Ch, location: "foo_masstag", loaded at 013F0000h - 01404000h
Address: 10003461h, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uCallWindowProc" (+00000018h)
Address: 71752933h, location: "COMCTL32", loaded at 71710000h - 71794000h
Address: 0140038Ch, location: "foo_masstag", loaded at 013F0000h - 01404000h
Address: 77E1F417h, location: "USER32", loaded at 77E10000h - 77E79000h

Version info:
foobar2000 v0.8.3
UNICODE
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000010h, address: 77FCD989h
Access violation, operation: write, address: 00080003h
Call path:
WinMain=>app_shutdown
This is your 2-nd crash. When reporting the problem to a developer, please try to post info about the first crash instead.
Code bytes (77FCD989h):
77FCD949h:  56 68 04 D6 FC 77 E8 F8 3F FC FF 83 C4 0C 56 E8
77FCD959h:  AD 50 FE FF 0F B7 06 29 43 28 8A 47 05 24 10 A8
77FCD969h:  10 88 46 05 74 0B 0F B6 46 04 8B 44 83 58 89 70
77FCD979h:  38 57 53 E8 6E FA FC FF 8B 4F 0C 8B 47 08 3B C1
77FCD989h:  89 01 89 48 04 75 22 66 8B 07 66 3D 80 00 73 19
77FCD999h:  0F B7 C8 6A 01 8B C1 83 E1 07 5A C1 E8 03 D3 E2
77FCD9A9h:  8D 84 18 58 01 00 00 30 10 8A 47 05 A8 04 74 6E
77FCD9B9h:  0F B7 0F A8 02 8D 0C CD F0 FF FF FF 89 4D 14 74
Stack (0012EC54h):
0012EC34h:  B9910548 A0000CAB 827A9288 00000001
0012EC44h:  A0005C09 000003D6 0000004E A0374AF0
0012EC54h:  007E0000 064D4AA8 064D4AB0 0012ED0C
0012EC64h:  77FCB80C 007E0000 064D4AA8 0012ECD8
0012EC74h:  00000000 00000000 064D4AB0 00000000
0012EC84h:  0D5AE020 0D5AE028 0012ED38 77FCB80C
0012EC94h:  007E0000 77FCBA2B 007E0608 77FCB9B1
0012ECA4h:  00000002 0D5AE028 00000003 007E01A0
0012ECB4h:  0D5D8EF8 007E0000 00000011 007E0100
0012ECC4h:  77FB7E64 007E0320 007E0320 007E01D8
0012ECD4h:  007E0000 00000060 0D5AE101 007E01D8
0012ECE4h:  77FB7E64 007E0330 0D0ECE01 01400301
0012ECF4h:  0012EC78 0012E8A0 0012ED44 77FB7E64
0012ED04h:  77F81678 00000001 0012ED54 78001E00
0012ED14h:  007E0000 00000000 064D4AB0 00000000
0012ED24h:  018AD914 00000000 77FB7E64 77F81678
0012ED34h:  FFFFFFFF 0012ED80 78001E00 0012E8A0
0012ED44h:  0012EE40 7800BD6A 780322A0 FFFFFFFF
0012ED54h:  018AD914 018A10BA 064D4AB0 00000000
0012ED64h:  00000003 0012ED9C 0189E038 00000000
Registers:
EAX: 000A0019, EBX: 007E0000, ECX: 00080003, EDX: 064D4BF8
ESI: 064D48F8, EDI: 064D4BF8, EBP: 0012EC60, ESP: 0012EC54
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
utf8api                          loaded at 10000000h - 1000D000h
foo_abx                          loaded at 00800000h - 0080C000h
foo_ac3                          loaded at 00810000h - 00823000h
foo_adpcm                        loaded at 00830000h - 00845000h
foo_albumlist                    loaded at 00850000h - 0085B000h
foo_ape                          loaded at 00860000h - 0087F000h
foo_apl                          loaded at 00880000h - 0088A000h
foo_bitcompare                  loaded at 00890000h - 00899000h
foo_burninate                    loaded at 008A0000h - 008AC000h
foo_cdda                        loaded at 008B0000h - 008BE000h
foo_clienc                      loaded at 008C0000h - 008CB000h
foo_console                      loaded at 008D0000h - 008D7000h
foo_convolve                    loaded at 008E0000h - 0092F000h
foo_dbsearch                    loaded at 00930000h - 0094A000h
foo_diskwriter                  loaded at 00950000h - 00962000h
foo_dsp_continuator              loaded at 009F0000h - 009FC000h
foo_dsp_crossfade                loaded at 00E20000h - 00E27000h
foo_dsp_crossfeed                loaded at 00E30000h - 00E48000h
foo_dsp_extra                    loaded at 00E60000h - 00E75000h
foo_dsp_nogaps                  loaded at 00E80000h - 00E87000h
foo_dsp_pause                    loaded at 00E90000h - 00E97000h
foo_dsp_skip_silence            loaded at 00EA0000h - 00EA7000h
foo_dsp_soundtouch              loaded at 00EB0000h - 00EBD000h
foo_dsp_tube                    loaded at 00EC0000h - 00ED0000h
foo_dsp_white_noise              loaded at 00ED0000h - 00ED7000h
foo_dts                          loaded at 00EE0000h - 00F09000h
foo_dumb                        loaded at 00F10000h - 00F3C000h
foo_dynamics                    loaded at 00F40000h - 00F47000h
foo_extm3u                      loaded at 00F50000h - 00F58000h
foo_faac                        loaded at 00F60000h - 00F93000h
foo_flac                        loaded at 00FA0000h - 00FBF000h
foo_flaccer                      loaded at 00FC0000h - 00FDA000h
foo_freedb                      loaded at 00FE0000h - 00FFD000h
foo_fullscreen                  loaded at 01000000h - 01007000h
foo_gep                          loaded at 01010000h - 01036000h
foo_history                      loaded at 01040000h - 01055000h
foo_id3v2                        loaded at 01060000h - 01091000h
foo_infobox                      loaded at 010A0000h - 010B3000h
foo_input_std                    loaded at 010C0000h - 0115D000h
foo_lpac                        loaded at 01160000h - 01167000h
lpac_codec_api                  loaded at 01170000h - 0117A000h
lpaccodec                        loaded at 01180000h - 011A9000h
foo_mad                          loaded at 013D0000h - 013EB000h
foo_masstag                      loaded at 013F0000h - 01404000h
foo_matroska                    loaded at 01410000h - 01452000h
foo_midi                        loaded at 01560000h - 015EF000h
foo_monkey                      loaded at 015F0000h - 0160C000h
foo_mpeg4u                      loaded at 01610000h - 01639000h
foo_null                        loaded at 01640000h - 01647000h
foo_ofr                          loaded at 01650000h - 01656000h
OptimFROG                        loaded at 01660000h - 0168C000h
foo_oggpreview                  loaded at 016A0000h - 017B5000h
foo_output_asio(dll)            loaded at 017C0000h - 017E0000h
foo_output_std                  loaded at 017F0000h - 017F9000h
foo_out_dsound_ex                loaded at 01800000h - 01809000h
foo_out_ks                      loaded at 01820000h - 0182B000h
foo_playcount                    loaded at 01830000h - 0183B000h
foo_playlistfind                loaded at 01840000h - 0184B000h
foo_playlistgen_ex              loaded at 01850000h - 0185F000h
foo_playlist_bind                loaded at 01860000h - 0186C000h
foo_playlist_tree                loaded at 01870000h - 018BE000h
foo_pphsresample                loaded at 018C0000h - 018D0000h
foo_psf                          loaded at 018D0000h - 0197C000h
foo_quicktag                    loaded at 01A50000h - 01A59000h
foo_read_http                    loaded at 01A60000h - 01A69000h
foo_rgscan                      loaded at 01A70000h - 01A7D000h
foo_scheduler                    loaded at 01A80000h - 01A95000h
foo_scroll                      loaded at 01AA0000h - 01AA6000h
foo_search_ex                    loaded at 01AB0000h - 01AB8000h
foo_shn                          loaded at 01AC0000h - 01ACF000h
foo_shuffle                      loaded at 01AD0000h - 01ADB000h
foo_sid                          loaded at 01AE0000h - 01B28000h
foo_skip                        loaded at 01B30000h - 01B38000h
foo_speex                        loaded at 01B40000h - 01B58000h
foo_tbar                        loaded at 01B60000h - 01B69000h
foo_temple                      loaded at 01B70000h - 01B7B000h
foo_text                        loaded at 01B80000h - 01B8C000h
foo_toaster                      loaded at 01B90000h - 01BB1000h
foo_tta                          loaded at 01BD0000h - 01BD9000h
foo_tta_old                      loaded at 01BE0000h - 01BE9000h
foo_uie_albumart                loaded at 01BF0000h - 01BFF000h
foo_uie_albumlist                loaded at 01C00000h - 01C12000h
foo_uie_dbexplorer              loaded at 01C20000h - 01C2B000h
foo_uie_explorer                loaded at 01C30000h - 01C4F000h
foo_uie_lyrics                  loaded at 01C50000h - 01C7D000h
foo_uie_tabs                    loaded at 01C80000h - 01C8A000h
foo_uie_trackinfo                loaded at 01C90000h - 01C9B000h
foo_uie_vis_projectm            loaded at 01CA0000h - 01CE0000h
foo_ui_columns                  loaded at 05CB0000h - 05CE7000h
foo_ui_std                      loaded at 05CF0000h - 05D07000h
foo_unpack                      loaded at 05D10000h - 05D41000h
foo_utils                        loaded at 05D50000h - 05D61000h
foo_vis_manager                  loaded at 05D70000h - 05D78000h
foo_vis_simple_spectrum          loaded at 05D80000h - 05D8C000h
foo_vis_stereo                  loaded at 05D90000h - 05E18000h
foo_vis_vu_meter                loaded at 05E20000h - 05E28000h
foo_vorbisenc                    loaded at 05E30000h - 05F41000h
foo_wavpack                      loaded at 05F50000h - 05F64000h
foo_web                          loaded at 05F70000h - 05F88000h
foo_WhiteCap                    loaded at 05F90000h - 05F9B000h
foo_winamp_spam                  loaded at 05FA0000h - 05FA8000h
foo_wma                          loaded at 05FB0000h - 05FC9000h
foo_minview                      loaded at 05FD0000h - 05FD6000h

Stack dump analysis:
Address: 01400301h, location: "foo_masstag", loaded at 013F0000h - 01404000h
Address: 018AD914h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018AD914h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A10BAh, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 0189E038h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01881D24h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01870000h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A43F0h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A4414h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A3265h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A32FAh, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01870000h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01870000h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A3285h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 01870000h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 018A3285h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h
Address: 0187A651h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h
Address: 10001DDCh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uPrintCrashInfo_Init" (+00000033h)
Address: 00E3968Bh, location: "foo_dsp_crossfeed", loaded at 00E30000h - 00E48000h
Address: 01677C62h, location: "OptimFROG", loaded at 01660000h - 0168C000h
Address: 01677C24h, location: "OptimFROG", loaded at 01660000h - 0168C000h
Address: 017CE877h, location: "foo_output_asio(dll)", loaded at 017C0000h - 017E0000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043C320h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h
Address: 10003461h, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uCallWindowProc" (+00000018h)
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h
Address: 0187A651h, location: "foo_playlist_tree", loaded at 01870000h - 018BE000h
Address: 013E01E4h, location: "foo_mad", loaded at 013D0000h - 013EB000h

Version info:
foobar2000 v0.8.3
UNICODE

[span style=\'font-size:8pt;line-height:100%\']moderation: please put crashlogs in codebox tags[/span]
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-05 13:22:36
Quote
I have successfully configured this plugin and set up my tree and everything works fine.  However, now whenever I exit Foobar I get the below error messages.  What can I do to stop this from happening. 


What version of Playlist Tree are you using, and what OS are you running?
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-01-05 16:33:43
Quote
Quote
I have successfully configured this plugin and set up my tree and everything works fine.  However, now whenever I exit Foobar I get the below error messages.  What can I do to stop this from happening. 


What version of Playlist Tree are you using, and what OS are you running?
[a href="index.php?act=findpost&pid=354773"][{POST_SNAPBACK}][/a]


Thank you very much for replying.  I am now replying from my office and am not at my home computer so I cannot check the version of playlist tree that I am running.  But i only installed the plugin several days ago from the official third party plugin site, so I assume it is the latest verstion unless the plugin was updated during the last several days.  I am running windows 2k professional.  I really appreciate your help because I much prefer the playlist tree plugin over album list and would hate to have to go back to album list.  Thanks again for your assistance.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-05 18:04:40
RELEASE      1.7.15

Closing playlist tree closes browser (almost) -- No Crash

Fixed incremental search breakage... slower now because if the search result node is not
already in the display tree it needs to be added... but incremental search is already so
slow you might not notice...

Delayed tree population... Unexpanded trees are not really filled with data... Greatly decreases
startup time - This broke incremental search... There may be some delay now when expanding
a node.

added export playlist option to Send To Device Special... Allows you to send over the files
then write a playlist with all of them (playlist is composed of the target files on the device).
Currently only works with m3u.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-05 18:12:53
Quote
I was wondering if it would be possible to have a way to save a playlist (.m3u) to an mp3 player using the directory structure of the files upon transfer.  In a way, it would be like the TAGZ in the device path.  Not sure if it would be possible, but thought I would ask.
[a href="index.php?act=findpost&pid=345996"][{POST_SNAPBACK}][/a]


Added to 1.7.15, under Send To Device... Special... Check the Export Playlist box then after the files are transferred it should ask you where to save the m3u.
Title: foo_playlist_tree
Post by: kockroach on 2006-01-05 19:27:55
Thanks for adding this feature!

I just gave it a try, but fb2k is crashing on me now.  I first tried to transfer files to my Creative MuVo^2, it wouldn't complete the transfer, and I got a couple of crashes.  Here is one of the logs:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7C9106C3h
Access violation, operation: write, address: 00F45576h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (7C9106C3h):
7C910683h:  6B 0C 00 00 8D 0C 7F C1 E1 04 8D 34 01 8B 46 0C
7C910693h:  2B 46 1C 0F B7 4E 08 C1 E1 07 3B C1 0F 8D 1F 0C
7C9106A3h:  00 00 56 E8 56 00 00 00 8B F0 89 75 D0 85 F6 0F
7C9106B3h:  84 5D 0F 00 00 8D 7E F8 8A 45 DC 8B 4D 10 2A C1
7C9106C3h:  88 47 06 8B C7 C1 E8 03 32 43 04 88 47 04 F6 45
7C9106D3h:  0C 08 75 6D F6 05 F0 02 FE 7F 02 0F 85 1F B2 02
7C9106E3h:  00 8B C6 E8 17 E7 FF FF C2 0C 00 90 90 FF FF FF
7C9106F3h:  FF 00 00 00 00 C5 BB 93 7C 90 90 90 90 90 6A 0C
Stack (0012F2BCh):
0012F29Ch:  00000000 0012FB74 0012FB4C 00000000
0012F2ACh:  B6FE5AF8 00000001 804DA3EE B6FE5B30
0012F2BCh:  00000002 00000002 00000002 004467AC
0012F2CCh:  0012F300 009C0000 7C910732 00000005
0012F2DCh:  009C0778 009C0000 03A1A630 0012F2D8
0012F2ECh:  009C0000 0012F51C 7C90EE18 7C910738
0012F2FCh:  FFFFFFFF 7C910732 0012F338 009C0000
0012F30Ch:  7C910732 00000007 009C07D8 009C0000
0012F31Ch:  03A0E298 0012F310 77C2C3C9 0012F554
0012F32Ch:  7C90EE18 7C910738 FFFFFFFF 7C910732
0012F33Ch:  7C9106AB 7C9106EB 0000002B 0000002B
0012F34Ch:  0000002B 0012F9C8 77C35C94 77C12088
0012F35Ch:  FFFFFFFF 0012F37C 0012F37C 00000001
0012F36Ch:  0042E37D 0012F3A4 009C0000 7C910732
0012F37Ch:  00000006 009C07A8 009C0000 039FFE70
0012F38Ch:  0012F37C 0000000D 0012F5C0 7C90EE18
0012F39Ch:  7C910738 FFFFFFFF 7C910732 7C9106AB
0012F3ACh:  7C9106EB 00000023 00000023 00000023
0012F3BCh:  00000015 0012F474 00000003 0012F3EC
0012F3CCh:  004467B0 00000015 0012F428 00434896
Registers:
EAX: 00F4550E, EBX: 009C0000, ECX: 00000002, EDX: 8C510008
ESI: 00F45578, EDI: 00F45570, EBP: 0012F4DC, ESP: 0012F2BC
Failed to get module/symbol info.

Version info:
foobar2000 v0.8.3
UNICODE
I went back to 1.7.13 (thought I had been using 1.7.14 before loading 1.7.15) to test it with the old "Send to device" and it still wouldn't transfer....I think my MuVo^2 has a bad hard drive now 

So then I tried to transfer to a SD card, to put into my hx4700.  I had to go into the settings to add some alternate paths, however, when I did this it crashed again.  Here is the last crash log file:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7C910F2Bh
Access violation, operation: read, address: 00200074h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (7C910F2Bh):
7C910EEBh:  D2 FF FF E9 32 FE FF FF 0F B7 0E 03 C8 81 F9 00
7C910EFBh:  FE 00 00 0F 87 45 FD FF FF 80 7D 14 00 0F 85 25
7C910F0Bh:  8B 03 00 8A 46 05 24 10 A8 10 88 47 05 0F 85 92
7C910F1Bh:  00 00 00 8B 4E 0C 8D 46 08 8B 10 89 4D 0C 8B 09
7C910F2Bh:  3B 4A 04 89 55 14 0F 85 EA 0F 00 00 3B C8 0F 85
7C910F3Bh:  E2 0F 00 00 56 53 E8 4E FC FF FF 8B 45 14 8B 4D
7C910F4Bh:  0C 3B C1 89 01 89 48 04 74 38 8A 46 05 A8 04 0F
7C910F5Bh:  85 A9 8B 03 00 0F B7 0E 8B 45 10 01 08 0F B7 0E
Stack (0012FB38h):
0012FB18h:  0151DA08 7C9C93A0 77F643DD 7C9C93A0
0012FB28h:  00000004 00000000 0151CF14 00000000
0012FB38h:  009C0000 03A17E18 00000000 0012FC18
0012FB48h:  7C910D5C 03A25AC0 00690048 0012FBFC
0012FB58h:  00000000 03A17E20 03A17E20 0321A364
0012FB68h:  00000000 00000001 03A17E08 009C0000
0012FB78h:  00000000 03A04288 00000001 03A17E10
0012FB88h:  00000108 0001FB98 00000002 0012FAF0
0012FB98h:  00000028 03A25AC0 7C90EE18 00000002
0012FBA8h:  FFFFFFFF 00000040 009C01A0 009C0000
0012FBB8h:  00000018 77C2C2E3 0012FC3C 009C0000
0012FBC8h:  00010000 00000021 0012FB2C 009C0000
0012FBD8h:  0012FC20 7C90EE18 009C0000 FFFFFFFF
0012FBE8h:  7C91056D 77C2C2DE 00000000 00000000
0012FBF8h:  0101C2E3 00000008 0012FB5C 0012F75C
0012FC08h:  0012FC50 7C90EE18 7C910570 00000001
0012FC18h:  0012FC60 77C2C2DE 009C0000 00000000
0012FC28h:  03A17E20 03A17E20 000000DF 0321A364
0012FC38h:  03A02920 0012FC78 00000026 00000000
0012FC48h:  0012FC2C 0012F75C 0012FD98 77C35C94
Registers:
EAX: 03A17E50, EBX: 009C0000, ECX: 00000000, EDX: 00200070
ESI: 03A17E48, EDI: 03A17E08, EBP: 0012FB44, ESP: 0012FB38

It would seem that 1.7.13 transfers just fine.  So then I downloaded 1.7.14 and tried it.  If I use the "Default Path" in the "Send to Device" function, it transfers just fine.  However, when I tried one of the "Alternate Paths" I first got a crash when setting the paths in the preferences (using just F:\, G:\, H:\ and I:\, J:\ is the default). 

This crash log is a little more detailed:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7C9106C3h
Access violation, operation: write, address: 005C3A45h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (7C9106C3h):
7C910683h:  6B 0C 00 00 8D 0C 7F C1 E1 04 8D 34 01 8B 46 0C
7C910693h:  2B 46 1C 0F B7 4E 08 C1 E1 07 3B C1 0F 8D 1F 0C
7C9106A3h:  00 00 56 E8 56 00 00 00 8B F0 89 75 D0 85 F6 0F
7C9106B3h:  84 5D 0F 00 00 8D 7E F8 8A 45 DC 8B 4D 10 2A C1
7C9106C3h:  88 47 06 8B C7 C1 E8 03 32 43 04 88 47 04 F6 45
7C9106D3h:  0C 08 75 6D F6 05 F0 02 FE 7F 02 0F 85 1F B2 02
7C9106E3h:  00 8B C6 E8 17 E7 FF FF C2 0C 00 90 90 FF FF FF
7C9106F3h:  FF 00 00 00 00 C5 BB 93 7C 90 90 90 90 90 6A 0C
Stack (0012F490h):
0012F470h:  00000000 0012FB74 0012FB4C 00000000
0012F480h:  B7325AF8 00000001 804DA3EE B7325B30
0012F490h:  00000014 00000014 00000014 03995C30
0012F4A0h:  0012F490 7C910732 0012F6D4 7C90EE18
0012F4B0h:  7C910738 FFFFFFFF 7C910732 7C9106AB
0012F4C0h:  7C9106EB 0012F7B4 00000018 0012F780
0012F4D0h:  33776569 00000008 03969E50 00000006
0012F4E0h:  01000000 0012F6D0 7C917C0C 009C0000
0012F4F0h:  00000001 7C917BF5 009C0608 7C917BB0
0012F500h:  00000000 03986B50 00000010 00000000
0012F510h:  00000000 00000000 00000000 00000000
0012F520h:  00000000 00000000 00000000 00000000
0012F530h:  00000000 00000000 00000000 00000000
0012F540h:  00000000 00000000 00000000 00000000
0012F550h:  00000008 00000000 00000000 00000000
0012F560h:  00000000 00000000 00000000 00000000
0012F570h:  00000000 00000000 00000000 00000000
0012F580h:  00000000 00000000 00000000 00000000
0012F590h:  00000000 00000000 00000000 00000000
0012F5A0h:  00000000 0012F5BC 77D4EB3E 005B3210
Registers:
EAX: 005C3A0C, EBX: 009C0000, ECX: 00000014, EDX: 5CB1000A
ESI: 005C3A47, EDI: 005C3A3F, EBP: 0012F6B0, ESP: 0012F490
Crash location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+000000EFh)

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                        loaded at 7C800000h - 7C8F4000h
USER32                          loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F57000h
ole32                            loaded at 774E0000h - 7761D000h
ADVAPI32                        loaded at 77DD0000h - 77E6B000h
RPCRT4                          loaded at 77E70000h - 77F01000h
msvcrt                          loaded at 77C10000h - 77C68000h
COMCTL32                        loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D5000h
wmfhotfix                        loaded at 009B0000h - 009B5000h
foo_abx                          loaded at 009F0000h - 009FC000h
foo_ac3                          loaded at 00A00000h - 00A13000h
foo_bitcompare                  loaded at 00A20000h - 00A29000h
foo_burninate                    loaded at 00A30000h - 00A3C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                        loaded at 00A40000h - 00A4E000h
foo_clienc                      loaded at 00A50000h - 00A5B000h
foo_console                      loaded at 00A60000h - 00A67000h
foo_dbsearch                    loaded at 00A70000h - 00A88000h
foo_diskwriter                  loaded at 00A90000h - 00AA2000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_crossfade                loaded at 00B30000h - 00B37000h
foo_dsp_crossfeed                loaded at 00B40000h - 00B46000h
foo_dsp_extra                    loaded at 00B50000h - 00B65000h
foo_dsp_nogaps                  loaded at 00B70000h - 00B77000h
foo_dsp_skip_silence            loaded at 00B80000h - 00B87000h
foo_extm3u                      loaded at 00B90000h - 00B98000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_filedate                    loaded at 00BB0000h - 00BBA000h
foo_flac                        loaded at 00BC0000h - 00BDC000h
foo_flaccer                      loaded at 00BE0000h - 00BF6000h
foo_freedb                      loaded at 00C00000h - 00C1D000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_fullscreen                  loaded at 00C60000h - 00C67000h
foo_history                      loaded at 00C70000h - 00C85000h
foo_id3v2                        loaded at 00C90000h - 00CC1000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_infobox                      loaded at 00CD0000h - 00CE3000h
foo_input_std                    loaded at 00CF0000h - 00DAE000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_lyricsdb                    loaded at 00DC0000h - 00DD1000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                          loaded at 77B20000h - 77B32000h
OLEAUT32                        loaded at 77120000h - 771AC000h
MSVCR70                          loaded at 7C000000h - 7C054000h
MSVCP70                          loaded at 7C080000h - 7C0F7000h
foo_masstag                      loaded at 00DF0000h - 00E04000h
foo_matroska                    loaded at 00E10000h - 00E58000h
foo_mpeg4u                      loaded at 00E60000h - 00E89000h
foo_null                        loaded at 00EA0000h - 00EA7000h
foo_output_std                  loaded at 00EB0000h - 00EB9000h
foo_out_dsound_ex2              loaded at 00EC0000h - 00EC9000h
DSOUND                          loaded at 73F10000h - 73F6C000h
foo_playcount                    loaded at 00EE0000h - 00EEB000h
foo_playlistfind                loaded at 00EF0000h - 00EFB000h
foo_playlistgen_ex              loaded at 00F00000h - 00F0F000h
foo_playlist_tree                loaded at 00F10000h - 00F5E000h
foo_read_http                    loaded at 00F60000h - 00F69000h
foo_rgscan                      loaded at 00F70000h - 00F7D000h
foo_scroll                      loaded at 01080000h - 01086000h
foo_search_ex                    loaded at 01090000h - 01098000h
foo_shuffle                      loaded at 010A0000h - 010AB000h
foo_text                        loaded at 010B0000h - 010BC000h
foo_toaster                      loaded at 010C0000h - 010E1000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
foo_uie_albumart                loaded at 01100000h - 0110C000h
foo_uie_albumlist                loaded at 01110000h - 01121000h
foo_uie_simple_spectrum          loaded at 01130000h - 0113B000h
foo_uie_tabs                    loaded at 01140000h - 0114A000h
foo_uie_trackinfo                loaded at 01150000h - 0115B000h
foo_uie_trackinfo2              loaded at 01160000h - 0116B000h
foo_uie_volume                  loaded at 01170000h - 0117B000h
foo_ui_columns                  loaded at 01180000h - 011B7000h
foo_ui_std                      loaded at 011C0000h - 011D7000h
foo_utils                        loaded at 011E0000h - 011F1000h
foo_vis_manager                  loaded at 01200000h - 01208000h
foo_vis_simple_spectrum          loaded at 01210000h - 0121A000h
foo_vis_stereo                  loaded at 01220000h - 012A8000h
foo_vis_vu_meter                loaded at 012B0000h - 012B8000h
foo_vorbisenc                    loaded at 012C0000h - 013D1000h
foo_wavpack                      loaded at 013E0000h - 013F4000h
foo_winamp_spam                  loaded at 01400000h - 01408000h
wblind                          loaded at 66000000h - 66095000h
UXTHEME                          loaded at 5AD70000h - 5ADA8000h
msimg32                          loaded at 76380000h - 76385000h
wbhelp                          loaded at 66600000h - 66617000h
iprepair                        loaded at 01770000h - 01781000h
HydraDMH                        loaded at 017A0000h - 017CE000h
dciman32                        loaded at 73BC0000h - 73BC6000h
CurXP0                          loaded at 01BB0000h - 01BB8000h
SETUPAPI                        loaded at 77920000h - 77A13000h
appHelp                          loaded at 77B40000h - 77B62000h
CLBCATQ                          loaded at 76FD0000h - 7704F000h
COMRes                          loaded at 77050000h - 77115000h
cscui                            loaded at 77A20000h - 77A74000h
CSCDLL                          loaded at 76600000h - 7661D000h
imagehlp                        loaded at 76C90000h - 76CB8000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C9106ABh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+000000D7h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 7C917C0Ch, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+0000020Fh)
Address: 7C917BF5h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001F8h)
Address: 7C917BB0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 77D4EB3Eh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CallNextHookEx" (+0000003Bh)
Address: 017A2E6Fh, location: "HydraDMH", loaded at 017A0000h - 017CE000h
Address: 77D618F4h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "UnhookWinEvent" (+00000077h)
Address: 77D4EA9Eh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EnableMenuItem" (+0000006Fh)
Address: 77D4EAADh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EnableMenuItem" (+0000007Eh)
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D4EAB0h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EnableMenuItem" (+00000081h)
Address: 77D4EBF3h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CallNextHookEx" (+000000F0h)
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 017A2AD0h, location: "HydraDMH", loaded at 017A0000h - 017CE000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 77C2C3C9h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001AEh)
Address: 7C917BB0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12088h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C90h)
Address: 77C2C3E7h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001CCh)
Address: 77C2C42Eh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "malloc" (+00000027h)
Address: 00F410E4h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F41093h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F40EDBh, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F29A8Ah, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F29711h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F4B948h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F44430h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F4441Ch, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 77D4EAC1h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EnableMenuItem" (+00000092h)
Address: 00F443B0h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F443B0h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F443B0h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F28360h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F283DEh, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F44378h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F44350h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F2D935h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F2D943h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h
Address: 00F2D840h, location: "foo_playlist_tree", loaded at 00F10000h - 00F5E000h

Version info:
foobar2000 v0.8.3
UNICODE

Then I went back into fb2k and tried to transfer to one of the "Alternate Paths" and got an error.  The J:\ path is for my mp3 players, the F-I alternate drive paths are for a card reader.  When I tried to send it to my SD card (G:\ path) it said "J:\ refers to a location that is unavailable....".  I didn't have an mp3 player connected so the "J:\" was available...but I was trying to send the files to "G:\".

Sorry for the long post.  Hope this isn't confusing.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-05 19:52:05
Quote
Thanks for adding this feature!

....

Sorry for the long post.  Hope this isn't confusing.
[a href="index.php?act=findpost&pid=354864"][{POST_SNAPBACK}][/a]


The crashing are happening even without exporting the playlist right?

You are literally using something like "G:\" as the send to path right?  have you tried using anything with TAGZ?
Title: foo_playlist_tree
Post by: kockroach on 2006-01-05 19:59:17
Yeah, the crashes are occuring even before the playlist transfer.  The paths are that I had set are "J:\" (as the default) and "F:\", "G:\", "H:\" and "I:\" for the Alternate Device Paths....minus the quotation marks of course.

Didn't try TAGZ at all.  So you mean try something like "G:\%title%"?  I'm not trying to create specific folders for each playlist, so any and all tracks would be dumped into the base directory.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-05 20:02:12
Quote
Yeah, the crashes are occuring even before the playlist transfer.  The paths are that I had set are "J:\" (as the default) and "F:\", "G:\", "H:\" and "I:\" for the Alternate Device Paths....minus the quotation marks of course.

Didn't try TAGZ at all.  So you mean try something like "G:\%title%"?  I'm not trying to create specific folders for each playlist, so any and all tracks would be dumped into the base directory.
[a href="index.php?act=findpost&pid=354871"][{POST_SNAPBACK}][/a]


Yes, I would be interested to know if it works using TAZ... maybe something like G:\%artist% - %title%.$ext(%_path%)
Title: foo_playlist_tree
Post by: kockroach on 2006-01-05 20:18:54
Actually...I just got it to work!   

First I tried a device path of "G:\%title%".  It gave me a folder which was titled with the first track I transferred.  Inside, every track was just fine, however the m3u file wasn't what I would expect.  The lines were just like the path suggested.... "G:\%title%".  No file extension at all.  Plus, it did not actually refer to the folder that it actually transferred the files to.  So the m3u didn't work in my player.

I then tried "G:\%_filename_ext%" as the device path and it worked perfectly.  All of the files were transferred to the base directory, and the m3u formatting was "G:\%title%.%_ext%".

Again thanks for the new playlist transfer feature!
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-05 20:21:14
Quote
Actually...I just got it to work!  

First I tried a device path of "G:\%title%".  It gave me a folder which was titled with the first track I transferred.  Inside, every track was just fine, however the m3u file wasn't what I would expect.  The lines were just like the path suggested.... "G:\%title%".  No file extension at all.  Plus, it did not actually refer to the folder that it actually transferred the files to.   So the m3u didn't work in my player.

I then tried "G:\%_filename_ext%" as the device path and it worked perfectly.  All of the files were transferred to the base directory, and the m3u formatting was "G:\%title%.%_ext%".

Again thanks for the new playlist transfer feature!
[a href="index.php?act=findpost&pid=354876"][{POST_SNAPBACK}][/a]


Good deal... Yes, the export m3u only works if you have a destination using TAGZ, I should specify that in the documentation...
Title: foo_playlist_tree
Post by: kockroach on 2006-01-05 20:29:48
I figured that the m3u probably used TAGZ after not seeing options in the preferences when the first attempt using just "G:\%title%" failed to work.  Maybe a note in the "Device Path" settings would be good.
Title: foo_playlist_tree
Post by: Mush on 2006-01-05 22:33:46
Quote
I have successfully configured this plugin and set up my tree and everything works fine.  However, now whenever I exit Foobar I get the below error messages.  What can I do to stop this from happening. 


Hi, I also experienced similar behaviour. Try disabling "Restore Tree After Search" under "Search" in the settings. I found that doing so allowed foobar to close peacefully, even though I do not use search as its own panel.

About RELEASE 1.7.15, I just updated from 1.7.14 and noticed that the startup time decreased about 300ms, which's nice, but now it shows the expand button (
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-06 13:32:02
Quote
About RELEASE 1.7.15, I just updated from 1.7.14 and noticed that the startup time decreased about 300ms, which's nice, but now it shows the expand button (
  • ) next to nodes which are "empty" (I have "Hide Leaf nodes" on...) and I have to update the tree view somehow for it to disappear. Was that intentional? Can I control that somehow in the configurations (I didn't find anything)? How about adding that data to the .col file and displaying "empty" nodes with no expand buttons on startup (or any other fix)?
    [a href="index.php?act=findpost&pid=354905"][{POST_SNAPBACK}][/a]


That's a side effect of the way I am drawing the tree initially... its somethign I will look into... should not be too hard to fix...
Title: foo_playlist_tree
Post by: phwip on 2006-01-09 16:42:55
I'm trying to use the search functionality with PlaylistTree... although I've been using this component for some time it's the first time I've tried using searches in it.  I'm having difficulty to get it to work as I would like... it may be that it simply isn't designed to work this way but it seems to me more likely I'm just setting the various options wrong so any advice would be appreciated.  I'm using the latest binary, so I guess that's 1.7.15, although in the changelog it only shows changes up to 1.7.14.

I have assigned a keyboard shortcut to "[main] Components/Playlist Tree/Root.../Search".  What I would like to happen is that when I press this shortcut the search box appears and when I type and click GO or press Enter it displays all the relevant results from the entire tree in the Browser and the search box disappears.  I don't want a visible Search node (as this means the extra task of then deleting it) and I don't want the browser to include results from previous searches, just the current one.

I presume that this type of behaviour is the intention of the PT option "Search -> Auto Hide Search Results (When enabled the node of search results is by default hidden)"

What actually happens is that after typing my search string in the search box and clicking pressing Enter it creates the search node and this appears selected, BUT the results are not displayed in the browser... this continues to show the contents of the previously selected node.  I then have to click on another node and then back on the search node to get the results displayed in the browser.

I have both Search options "Enter Behaviour" and "Button Behaviour" set to "Root->All" as I want identical behaviour whichever I use.  However, the behaviour is not the same.  When I press GO the search box becomes hidden, which is what I want to happen, but when I press Enter it remains visible.  Also when I press GO the search node is created but does not even become selected, whereas with pressing Enter it does become selected.

Whichever I press, the search node contains the results of all my previous searches as well as the current one... I would like to see just the results of the current search.

Is what I am trying to achieve possible?  If so, what options do I need to set?  Currently I have:
Restore Tree After Search -> Checked
Hide Search Drop Down List -> Checked
Default Search Criteria -> Display
Enter Behaviour -> Root->All
Button Behaviour -> Root->All
Search Node -> searchme
Auto Hide Search Results -> Checked
Results Format -> search|"%_searchstring%"|[%artist%]|[%title%]
Selection Offset For Search All -> 0
Title: foo_playlist_tree
Post by: gabriel.swe on 2006-01-09 17:13:37
Hey!

Is there anyway to have different Nodes sending songs to different playlists? For example I have one query named Artists where I have all my albums sorted by artists and another query named Top Rated wich only contains my song rated 4 or 5. What I want is that when I press the Top Rated I want i to send to a different playlist so that I can have settings there wich display artist and album and stuff cos in the normal playlists with my albums I am using some script wich puts artist and album info on the first song and it only looks good when listing all albums. Anyone understand? Sorry for my bad english. Help please! Thanks!
Title: foo_playlist_tree
Post by: JDoe on 2006-01-15 12:27:00
Hi,
i have one noob question, but i wasn´t able to find answer. so, i´ve drag-n-dropped my music folder into playlist tree, almost wole list was sorted by alfabet but the last few entries were on the end, like this. http://img73.imageshack.us/my.php?image=screen22mi.jpg (http://img73.imageshack.us/my.php?image=screen22mi.jpg)

all setting are default. what did i do wrong? and pls, can someone explain me, how exactly sorting works?
thx a lot
p.s. great component
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-15 15:59:03
Quote
Hi,
i have one noob question, but i wasn´t able to find answer. so, i´ve drag-n-dropped my music folder into playlist tree, almost wole list was sorted by alfabet but the last few entries were on the end, like this. http://img73.imageshack.us/my.php?image=screen22mi.jpg (http://img73.imageshack.us/my.php?image=screen22mi.jpg)
[a href="index.php?act=findpost&pid=357277"][{POST_SNAPBACK}][/a]


When dragging and dropping the files are not sorted... They are added to the list in the same order as they have given to the component by the OS.
Title: foo_playlist_tree
Post by: JDoe on 2006-01-15 16:08:58
oh, thx. but pls can you help me with sorting? i like to have them sorted simply like in any file browser - by analphabet. how to do that? does %_directoryname% work? and once more, what is the role of "-" in e.g. %artist% - %title%. and how does sorting works with more sort criterias than one?
thank you

ps once more sorry for those noob questions.
Title: foo_playlist_tree
Post by: Brother John on 2006-01-17 20:34:31
Hey, cwbowron!

First let me say a huge thank you. I love playlist tree. It's by far the best media library for fb2k.
I think, though, I've found a bug. Could you please have a look at this?

Problem with "Hide leaf nodes"
Trying to open the leaf level of the tree when "hide leaf nodes" is active makes the whole tree disappear afterwards.
I used foo_playlist_tree 1.7.14. Also tried it with a clean minimal installation of foobar2000 0.8.3 to rule out problems from elsewhere.

Steps to reproduce
First imagine a tree like this one.
All
|
+ Test query
  |
  + Album1
  + Album2


1. Enable "Hide leaf nodes".
2. Click on the
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-17 21:18:33
Quote
First let me say a huge thank you. I love playlist tree. It's by far the best media library for fb2k.


Thanks

Quote
Problem with "Hide leaf nodes"


I will look into this.

Quote
And a small feature request
Could we have the option to define a different library playlist for each query? When using Colums UI with something like Navigator suite this would be really useful when some queries require "album view" in the playlist and some require "single view". Because those modes are triggered by playlist name, we're currently stuck with one of them.


I think that this may already be possible using a combination of @query<> and LIBRARY:Libraray Playlist option.  Maybe someone else on this forum has done this.
Title: foo_playlist_tree
Post by: kockroach on 2006-01-17 22:00:45
In the preferences, you can set playlist tree to create a playlist based on the name of the query, and thn use double click functions to generate a playlist whenever you double click the query in question.  I use Navigator, so in certain queries, I include the word "Singles".  This will create a Singles View in Navigator, when you use the Album Default setup.  Double clicking anything else will give Album View.
Title: foo_playlist_tree
Post by: Brother John on 2006-01-18 00:35:25
Cheers, mates! That's brilliant.
*Runs off to play with the settings*
Title: foo_playlist_tree
Post by: corganzero0 on 2006-01-20 18:09:10
i have one question
i have added music to my default directory (G:/Music)
and it doesn't show up in the list
i had assumed the list refreshes every time upon starting foobar? 
Title: foo_playlist_tree
Post by: gob on 2006-01-22 19:34:20
started playing around with this plugin today, its pretty sweet. i have a few questions thou.

how can i get it to show the 10 most played tracks? and is it possible to show my 10 most played albums by dividing the sum of the play counts by the number of tracks in the album?

also in the options panel, single clicking on option titles enables or disables the option. i find this confusing to configure because sometimes i just want to look at a description of the option and i end up changing things. single clicking the check box would be sufficient to enable/disable an option.

excellent work on the plugin though. im looking forward to seeing it in 0.9.
Title: foo_playlist_tree
Post by: Brother John on 2006-01-22 23:27:15
Quote
how can i get it to show the 10 most played tracks?

- Query for %play_count%
- reverse sort after %play_count%
- Limit hits to 10 tracks
Precondition: The playcounter plugin for creating the %play_count% tags.

Quote
and is it possible to show my 10 most played albums by dividing the sum of the play counts by the number of tracks in the album?

No. Summing up values from multiple tracks is not possible.

Brother John
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-23 15:39:24
RELESE      1.7.16

filter using playlistgen format:  option - Browser::Filter using Playlistgen format

when no search results exist, the icon background color is set to red in addition to the base
tree background... (minor ui issue)

search node properly selected after a search all (almost)

search results show up in browser

possibly fixed restore tree after search causing crash on program exit..

iterative search

moved Send To Device to global context menu (Playlist Tree/Send To Device/...)

GetAsyncKeyState instead of GetKeyState

dont draw + if the node contains only leaves and the leaves are hidden

display hour glass cursor while searching...
Title: foo_playlist_tree
Post by: kockroach on 2006-01-23 17:45:32
Hi cwbowron,

I loaded the new playlist_tree into my components, and experienced a wierd problem.  Upon refresh of my playlists, the root node ("All") as well as any root folders have disappeared.  Also, I noticed that in the right-click, there are no options to create a new query or folder.  Haven't made any configuration setting changes, so I think there might be a bug somewhere.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-23 18:38:46
Quote
I loaded the new playlist_tree into my components, and experienced a wierd problem.  Upon refresh of my playlists, the root node ("All") as well as any root folders have disappeared.  Also, I noticed that in the right-click, there are no options to create a new query or folder.  Haven't made any configuration setting changes, so I think there might be a bug somewhere.
[a href="index.php?act=findpost&pid=359238"][{POST_SNAPBACK}][/a]


What do you mean by refresh?  Is this is the auto-refresh of tags when something plays?
Title: foo_playlist_tree
Post by: kockroach on 2006-01-23 19:12:25
It occurs when I right click on the playlist tree window and choose refresh, which refreshes all of the queries in the tree.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-23 19:18:01
Quote
It occurs when I right click on the playlist tree window and choose refresh, which refreshes all of the queries in the tree.
[a href="index.php?act=findpost&pid=359253"][{POST_SNAPBACK}][/a]


do you have background query refresh enabled?
Title: foo_playlist_tree
Post by: kockroach on 2006-01-23 19:48:01
Nope.  And I also do not have it set to hide any nodes.  And since there are no folder nodes, or the root node, I cannot create any new folders or queries using the "New" function from the right-click menu.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-23 19:52:35
Quote
Nope.  And I also do not have it set to hide any nodes.  And since there are no folder nodes, or the root node, I cannot create any new folders or queries using the "New" function from the right-click menu.
[a href="index.php?act=findpost&pid=359258"][{POST_SNAPBACK}][/a]


What happens if you try to do a quick query from the main menu under Components/Playlist Tree/Quick Query

EDIT:  Also, what OS are you running?
Title: foo_playlist_tree
Post by: kockroach on 2006-01-23 21:58:10
I'm running XP SP 2.  So I just re-installed 1.7.16 (I had reverted back to 1.7.15 as it didn't show this problem), and I tested a couple of things.  When I first open fb2k with the 1.7.16 version, my playlist tree looks just like it does with the previous versions of playlist tree.  The root node "all" is present, in addition to my three main folders, "Music DB Stats", "Database Views" and "Dynamic". 

If I right click on the root node or any of the three folders, I have the "New" option to create new folders, queries or quick queries.  I can also right click and refresh any individual query or any of the three folders, and it will not cause the folder to disappear.  However, when I right click the root node, then the root node and the folders disappear. 

If I go to the Components/Playlist Tree/Quick Query menu option, it creates the quick query without a problem.  What I also noticed is that when I right-click on the new quick query, there is now the "New" option, which of course allows me to create new folders, etc.
Title: foo_playlist_tree
Post by: pIv on 2006-01-24 10:00:10
Hey cwbowron.

I place in topic "Uploads" tree views of my playlist_tree panel with 3 different versions of plugin 1.7.14, 1.7.15 and 1.7.16.

Only 1.7.14 view look fine for me.

Is there bugs in version 1.7.15 and 1.7.16 ?

http://www.hydrogenaudio.org/forums/index....=0&#entry359362 (http://www.hydrogenaudio.org/forums/index.php?showtopic=33239&pid=359362&st=0&#entry359362)
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 13:19:07
Quote
Hey cwbowron.

I place in topic "Uploads" tree views of my playlist_tree panel with 3 different versions of plugin 1.7.14, 1.7.15 and 1.7.16.

Only 1.7.14 view look fine for me.

Is there bugs in version 1.7.15 and 1.7.16 ?

http://www.hydrogenaudio.org/forums/index....=0&#entry359362 (http://www.hydrogenaudio.org/forums/index.php?showtopic=33239&pid=359362&st=0&#entry359362)
[a href="index.php?act=findpost&pid=359364"][{POST_SNAPBACK}][/a]


EDIT: Nevermind... I see it attached to the post...

Can you email me your collection file?
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 14:01:24
Quote
Hey cwbowron.

I place in topic "Uploads" tree views of my playlist_tree panel with 3 different versions of plugin 1.7.14, 1.7.15 and 1.7.16.

Only 1.7.14 view look fine for me.

Is there bugs in version 1.7.15 and 1.7.16 ?

http://www.hydrogenaudio.org/forums/index....=0&#entry359362 (http://www.hydrogenaudio.org/forums/index.php?showtopic=33239&pid=359362&st=0&#entry359362)
[a href="index.php?act=findpost&pid=359364"][{POST_SNAPBACK}][/a]


Hmm... Do you have any of the options marked as Beta enabled?

I loaded the file and it seemed to work for me...

Do you have a default expansion set under Appearance?
Title: foo_playlist_tree
Post by: kockroach on 2006-01-24 14:20:47
The problem I see is similiar to what pIv is seeing.  I turned off the one beta item I had active, saved, restarted fb2k, and when I do a full refresh it still shows the same problem.  My default expansion is set to -1, which was the default setting when I installed the plugin.  If I change it to something else, then the problem I see upon refresh is even worse.

I'll go back and get some screen captures to display.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 14:24:03
Quote
I'll go back and get some screen captures to display.
[a href="index.php?act=findpost&pid=359417"][{POST_SNAPBACK}][/a]


Thanks... grab some pictures of your settings too, if you can...
Title: foo_playlist_tree
Post by: kockroach on 2006-01-24 14:51:43
Here are a few different screen caps I put together.  The end points of the red lines tell the initial and final view after a refresh.  The top three use the "-1" setting for the default expansion setting, while the bottom four have the default expansion set to "1".  Notice how different the refresh looks if I expand one of the folders in the second set of screen caps.

(http://img80.imageshack.us/img80/3807/pltproblem6wr.th.png) (http://img80.imageshack.us/my.php?image=pltproblem6wr.png)

Here are some of my current settings.  I didn't bother expanding some of the sections, as I would think that they have nothing to do with what is happening.  Let me know if there are any questions.

(http://img67.imageshack.us/img67/5695/pltsettings5co.th.png) (http://img67.imageshack.us/my.php?image=pltsettings5co.png)
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 17:28:50
Quote
Here are a few different screen caps I put together.  The end points of the red lines tell the initial and final view after a refresh.  The top three use the "-1" setting for the default expansion setting, while the bottom four have the default expansion set to "1".  Notice how different the refresh looks if I expand one of the folders in the second set of screen caps.

(http://img80.imageshack.us/img80/3807/pltproblem6wr.th.png) (http://img80.imageshack.us/my.php?image=pltproblem6wr.png)

Here are some of my current settings.  I didn't bother expanding some of the sections, as I would think that they have nothing to do with what is happening.  Let me know if there are any questions.

(http://img67.imageshack.us/img67/5695/pltsettings5co.th.png) (http://img67.imageshack.us/my.php?image=pltsettings5co.png)
[a href="index.php?act=findpost&pid=359429"][{POST_SNAPBACK}][/a]


I'm a little stumped...  Try turning on Hide Root Node... I'm curious if that changes anything...

Also do you use any $nobrowse tags?
Title: foo_playlist_tree
Post by: kockroach on 2006-01-24 18:00:24
I do use the nobrowse option for my three main folders.  Turning it off didn't do anything.  However, taking your suggestion of hiding the root node did get rid of the problem.  I wonder what is causing the problem in this new version compared to 1.7.15 and earlier.

Thanks!

Edit:  I tried something else.  I turned off the Hide Root Node option, and then refreshed.  This of course leads to the problem that I showed in the screen caps.  If I then go in and enable the Hide Root Node option, save and restart fb2k, the playlist now shows the folders properly (minus the "All" root node of course).  So it does seem like something is up with the root node.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 18:06:32
Quote
I do use the nobrowse option for my three main folders.  Turning it off didn't do anything.  However, taking your suggestion of hiding the root node did get rid of the problem.  I wonder what is causing the problem in this new version compared to 1.7.15 and earlier.

Thanks!
[a href="index.php?act=findpost&pid=359472"][{POST_SNAPBACK}][/a]


I'm not sure exactly, but I will look into it... I redesigned the way the tree view works in 1.7.15 to load the tree on demand to decrease startup time, and some of that stuff is probably a little off...

I think it might possibly be related to the nobrowse thing though... pIv had nobrowse on his levels that were getting messed up too... You might have to actualyl remove the nobrowse then leave and come back for it to really take effect, I am not sure...

I am glad that at least turning on hide root node fixes seems to fix the problem...
Title: foo_playlist_tree
Post by: kockroach on 2006-01-24 18:20:07
Quote
I'm not sure exactly, but I will look into it... I redesigned the way the tree view works in 1.7.15 to load the tree on demand to decrease startup time, and some of that stuff is probably a little off...

I think it might possibly be related to the nobrowse thing though... pIv had nobrowse on his levels that were getting messed up too... You might have to actualyl remove the nobrowse then leave and come back for it to really take effect, I am not sure...

I am glad that at least turning on hide root node fixes seems to fix the problem...
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=359475")

Actually, it seems like hiding the root node also gets rid of the nobrowse problem too.  I don't have any problem with or without nobrowse active on folders so long as the root node is hidden.  The previous screen caps I gave you are with nobrowse active on my folders.  Here is a screen cap where "Hide Root Node" is unchecked, and I am not using the nobrowse option on my folders.

[a href="http://img219.imageshack.us/my.php?image=pltnobrowseproblem1pb.png](http://img219.imageshack.us/img219/9440/pltnobrowseproblem1pb.th.png)[/url]
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 18:33:21
Quote
Actually, it seems like hiding the root node also gets rid of the nobrowse problem too.  I don't have any problem with or without nobrowse active on folders so long as the root node is hidden.  The previous screen caps I gave you are with nobrowse active on my folders.  Here is a screen cap where "Hide Root Node" is unchecked, and I am not using the nobrowse option on my folders.


I've been able to reproduce the problem on my own setup... I think the problem was that I never actually refresh the root node so I never tested that and that seems to be where the problem is... its takes about 20 minutes to refresh my entire tree because of the way I have drops and such set up... but I should be able to fix the problem...
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-24 19:25:54
RELEASE      1.7.16b

Fixed bug in root node refresh
Title: foo_playlist_tree
Post by: kockroach on 2006-01-24 19:48:31
Wow....that was fast!  Tested, and it has none of the problems from before.

Thanks!
Title: foo_playlist_tree
Post by: 45miles on 2006-01-24 20:35:28
Hi there,

this is what i tried to do for long, but it didn't work.

I'm using the "Play Count"-Plugin.

Using this i tried to filter for the tracks longest not played or even never played.
In playlistgen i can do this:
%play_date% LESS 050400 OR %play_counter% LESS 1
This works, but the fault is that i have to insert a specific date (050400).
I tried with e.g. $date or else, but this all doesn't work. now today i found the Playlist Tree Plugin. in the Tutorial som Variables like %_systemdate% and %_datetime% are mentioned but still i have no luck.
Am i totally wrong or is there a way to do such a filter:
system-date - play_date less than maybe 0600. I thin the other problem is that %play_date% is a string an even $add($num(%play_date%),1) doesn't have success. Where can i do such operations?

greets
rainer

yes i know, my english is very bad.
Title: foo_playlist_tree
Post by: kockroach on 2006-01-24 21:26:49
What if you try this:

Label: Bottom 50 Last Played
Query: [%last_played%] OR %last_played% MISSING (foo_playlist_gen format should be checked)
Format: %artist% - %title%
Max: 50 (tracks should be checked)
Population Sort Order: %last_played%|%artist%|%title% (reverse should be unchecked--if you select reverse it will give you the top 50 Last Played...or most recent)

This should work the way you want.  You can change the max number of tracks to whatever you want.  You also might need to play with the sorting if you do have a max number of tracks.  The way I have it here will do tracks in alphabetical order.  First tracks with a %last_played% tag (sorted by artist, then by track), followed by tracks without(sorted by artist, then by track).
Title: foo_playlist_tree
Post by: pIv on 2006-01-25 05:06:49
Thanks cwbowron!

Version 1.7.16b work fine.

Also I want say: Version 1.7.16 work bad only on W2k, I check it on windows XP with same foobar configuration and it work fine for me.
Title: foo_playlist_tree
Post by: 45miles on 2006-01-25 06:47:33
Quote
Label: Bottom 50 Last Played
Query: [%last_played%] OR %last_played% MISSING (foo_playlist_gen format should be checked)
Format: %artist% - %title%
Max: 50 (tracks should be checked)
Population Sort Order: %last_played%|%artist%|%title% (reverse should be unchecked--if you select reverse it will give you the top 50 Last Played...or most recent)
...
[a href="index.php?act=findpost&pid=359508"][{POST_SNAPBACK}][/a]


Yes, i think this is the right way if there aren't any possibilities about mathematical operations with a system date.

I will do a little more trys in that direction

thanks
rainer
Title: foo_playlist_tree
Post by: JDoe on 2006-01-25 12:38:34
Hi,
i would like to ask, how are you handling various artist album in "sort by artist" query?
i will be gratefull for any hint, thx
Title: foo_playlist_tree
Post by: kockroach on 2006-01-25 14:05:54
You could use something like this:

Query: 1 (to query the whole library)
Format:
Code: [Select]
$if2(%album artist%,%artist%)|%album%|$num(%tracknumber%,2). %title%

Display Sort Order:
Code: [Select]
$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%


For the artist leaves in the tree, you will see "The Beatles" or "Various Artist".  However when it sorts, "The Beatles" will be sorted without the "The " in the name.  The albums will be sorted under each artist by year.
Title: foo_playlist_tree
Post by: gob on 2006-01-26 04:50:46
the new version fixed my issue with a root folder showing up under queries with @refresh<>, thanks.

what is the difference between the population sort order and the display sort order for the queries?

is there an option to make queries not display subfolders and files in the tree unless it is specified in the format field?

i also have a query that displays other albums by the currently playing artist. can i make the query title show "Other albums by %artist%" and "No other albums" if there are no results? i can use @first<%album%> to determine if there are albums in the query but i cant seem to get the tags working correctly.
Title: foo_playlist_tree
Post by: cwbowron on 2006-01-26 19:50:11
RELEASE      1.7.17

empty filter string lists all items in browser when using playlistgen format

fixed double root node bug when restore search.

new option: SEARCH::"Search using playlist gen format"
Title: foo_playlist_tree
Post by: khoma on 2006-01-27 17:15:02
i made this query:

(http://i1.tinypic.com/mmrjix.jpg)

but it shows me only the tracks listened between 6 and 9 times when there are tracks listened (and tagged) more than 10 times.
Where's the problem?

Thank you
Title: foo_playlist_tree
Post by: kockroach on 2006-01-27 17:21:04
Using "1" in your query will pull up everything.  Try using "[%play_counter%]", which will only look at songs if they have the %play_counter% tag.  I have the following in my Population Sort Order:
Code: [Select]
$num(%play_counter%,3)|%artist%|%title%


I also don't have anything in my display sort order.
Title: foo_playlist_tree
Post by: khoma on 2006-01-28 15:35:22
Quote
Using "1" in your query will pull up everything.  Try using "[%play_counter%]", which will only look at songs if they have the %play_counter% tag.  I have the following in my Population Sort Order:
Code: [Select]
$num(%play_counter%,3)|%artist%|%title%


I also don't have anything in my display sort order.
[a href="index.php?act=findpost&pid=360167"][{POST_SNAPBACK}][/a]


thank you but i already tried it and it don't works
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-06 20:07:38
I just found out about the website frappr.com and its pretty interesting.  I created a map for playlist tree users, because I would find it interesting to see where everybody who uses this is from and have some idea of the number of people who use it...

So if you get a chance, check it out and add yourself to the map... I would appreciate it...

http://www.frappr.com/playlisttreeusers (http://www.frappr.com/playlisttreeusers)

I hope that they wont inundate you with spam or anything...
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-07 11:06:53
Hello guys,

I am trying to do a new PLT request, and I can't do it

What I want is to have a top 50 of most present titles, sorted by number of tracks. Anyone have an ID?
Title: foo_playlist_tree
Post by: kockroach on 2006-02-07 14:18:13
What do you mean by present?
Title: foo_playlist_tree
Post by: fabiospark on 2006-02-07 16:20:46
Quote
Hello guys,

I am trying to do a new PLT request, and I can't do it

What I want is to have a top 50 of most present titles, sorted by number of tracks. Anyone have an ID?
[a href="index.php?act=findpost&pid=362493"][{POST_SNAPBACK}][/a]


I'm not on my PC so I'm just guessing:

have you tried switching on the item count info on PLT config?

I think this is the way to go (I never used it myself, though) and probably cbowron has included some @item_count function to be used in the sorting boxes too.

Check the changelog file first.
Title: foo_playlist_tree
Post by: mdhare007 on 2006-02-07 22:32:13
Is it possible to match on multiple nodes in a query?

Here's what I'm trying to do: 

I define folder "isLive" with a query that says 'comment HAS "Live"'
I define folder "isAlbum" with a query that says 'NOT album MISSING'

I'd like to define a folder "isLiveAlbum" with a query that says "@node<isLive> AND @node<isAlbum>"

It doesn't seem to work.  It seems like whatever is returned by the first node statement is what sticks.

The idea here is that if I ever change my definition of "Live" or "Album", I'd like to change it in one place instead of many queries.

Is there a way to do this?  Or should I plea for this to be added to the "to-do" list?

Sorry if this has been asked before.  I didn't see it.

Thanks-
-Michael
Title: foo_playlist_tree
Post by: optimuz on 2006-02-07 23:10:04
Is it possible to make playlist_tree read .cue-files? I have a lot of albums wich are mixed together to 1 mp3-file. And with those a .cue-file can be used in foobar for example to get the tracks info, so instead of one track at 120min or so it splits up into all the tracks so it looks like if it were 10 seperate mp3s. But in playlist_tree .cue-files result in "???". Help me out here!
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-08 08:50:27
kockroach : I mean the title which have the higher count.

I have a lot of Jazz albums, and what I want is to have a direct access to the most played songs, the standards...
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-08 13:27:39
Quote
Is it possible to make playlist_tree read .cue-files? I have a lot of albums wich are mixed together to 1 mp3-file. And with those a .cue-file can be used in foobar for example to get the tracks info, so instead of one track at 120min or so it splits up into all the tracks so it looks like if it were 10 seperate mp3s. But in playlist_tree .cue-files result in "???". Help me out here!
[a href="index.php?act=findpost&pid=362644"][{POST_SNAPBACK}][/a]


I believe that I have tested with cue files and compressed files in the past.  How are the files getting to playlist tree?  Are you dragging and dropping them from outside of fb2k or dropping them from the playlist or using them inside a query?
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-08 14:54:11
This is my actual query :
query : (genre IS Jazz) AND (title IS *)
format : '@format<%_itemcount%>' - %title%|%artist% - %album%
populate sort order : @display
X reverse
Max : 50 folders

But the sort on itemcount don't work...
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-08 15:01:37
Quote
This is my actual query :
query : (genre IS Jazz) AND (title IS *)
format : '@format<%_itemcount%>' - %title%|%artist% - %album%
populate sort order : @display
X reverse
Max : 50 folders

But the sort on itemcount don't work...
[a href="index.php?act=findpost&pid=362770"][{POST_SNAPBACK}][/a]


you probably want to use Display Sort Order and use %_name% instead of @display.  And the max probably wont work the way it to because I'm not positive (I dont have the source in front of me) but I think the max folders happens before the display sort order takes effect.
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-08 17:54:57
Yes, but the problem if I use display sort order, is that I can't reverse...
And an other problem is that, I need to format itemcount on two digits, but I've not found the correct syntax.
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-08 18:08:23
Quote
Yes, but the problem if I use display sort order, is that I can't reverse...
And an other problem is that, I need to format itemcount on two digits, but I've not found the correct syntax.
[a href="index.php?act=findpost&pid=362801"][{POST_SNAPBACK}][/a]


you might be able to do $num(%_itemcount%,2)

If you need to reverse in the display sort order, just do something like $sub(9999,%_itemcount%)
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-02-09 01:20:14
A suggestion:  Adding selectable buttons (something like the history buttons) to go forward and backward through prior selections.  For example, when you click on the artist folder, you could click on the backward button and close the folder without having to scroll up many pages to find the artist folder and click it to close.  For those of us who have lots of folders and queries open at once, it would be a very convenient way to close a lot of folders ang get to the desired place in one's tree quickly and without having to spend considerable effort finding appropriate folders and queries and manualy close each one.  I am aware that you can select the option to close all nodes, but sometimes that is overkill.
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-09 09:20:07
Ok, thank you cwbowron for your help.

So, now, the problem is wat you was thinking, the Max is done before the display sort, so if I put a max, I don't have what I want, and if I don't my query is extremly long with a lot of 1 time titles...

There is a simple solution to permit this kind of query?

So the working query is :
query : (genre IS Jazz) AND (title IS *)
format : '@format<$num(%_itemcount%,2)>' - %title%|%artist% - %album%
populate sort order : %_name%
display sort order : $sub(9999,%_itemcount%)
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-09 13:30:09
Quote
A suggestion:  Adding selectable buttons (something like the history buttons) to go forward and backward through prior selections.  For example, when you click on the artist folder, you could click on the backward button and close the folder without having to scroll up many pages to find the artist folder and click it to close.  For those of us who have lots of folders and queries open at once, it would be a very convenient way to close a lot of folders ang get to the desired place in one's tree quickly and without having to spend considerable effort finding appropriate folders and queries and manualy close each one.   I am aware that you can select the option to close all nodes, but sometimes that is overkill.
[a href="index.php?act=findpost&pid=362885"][{POST_SNAPBACK}][/a]


If you have expanded a folder, and are browsing its contents you can press the left arrow key to close it and the selection will return to the parent folder.
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-11 17:55:23
RELEASE      1.7.18

user map nag on first run and user map button on config

fixed "new query" display bug

new option: BROWSER::"Filter presets"
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-12 02:09:50
Hi,

Using that component, how can I explore a folder excluing subfolders ?

I've got my files into a folder, modern albums are all at the root of this folder, but there's also a subfolder called '[Classical]' with only Classical music, therefore I'd like to seperate both modern and classical music in my playlist tree using a way to read the path of the files and telling to exclude the folders contained in the subfolder '[Classical]' in one case, and excluse all the files not including in '[Classical]' in the other case.

All the best.
Title: foo_playlist_tree
Post by: kockroach on 2006-02-12 02:16:37
In your queries you could use "NOT genre IS classical" to exclude classical tracks....and "genre IS classical" to only find classical tracks.  Or you could use the @drop<"folder path goes here"> function to search a specific directory folder.
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-12 11:41:21
works perfectly doing NOT $directory(%_path%,2) IS "[Classical]"
thank you very much for your advice !
Title: foo_playlist_tree
Post by: fabiospark on 2006-02-12 12:59:21
Is there a way to have a keyboard shortcut that does what follows?

1) refresh (option: yes/no) a specific node or tree branch (maybe with a browse window to select it)

2) send (option send/add) the node content to a playlist (option: create new/list of existing ones/etc)

3) maybe with the possibility to apply a filter on fly (option: list of filter presets)

------

It would also be nice to be able to save these "macros" (maybe in a text file) and automatically add them to a macro switcher panel and having them all avalaible for menus and keybord shortcuts.

If somebody thinks that this is already possible (maybe through foo_cheduler or else) pleale let me know. Of course, I'm looking for a way to easily refill a playlist via my ATI remote control.

Thanks.
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-12 16:01:07
is it normal that my foobar uses 50 Mo since I've put the playlist tree component ? :-(

before it was never more than 12 Mo
Title: foo_playlist_tree
Post by: ledge on 2006-02-13 19:55:51
Would it be possible to have the @sum function to work in the display as it does in the folder name for a query?

I ask as I would like to have a sum of play count for each genre so the query would be [%play counter%] and the format would be %genre%|@sum<%play counter%>

Oh, and this is a fantastic plugin by the way, thanks very much for making it 
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-13 20:02:22
Quote
Would it be possible to have the @sum function to work in the display as it does in the folder name for a query?

I ask as I would like to have a sum of play count for each genre so the query would be [%play counter%] and the format would be %genre%|@sum<%play counter%>

Oh, and this is a fantastic plugin by the way, thanks very much for making it 
[a href="index.php?act=findpost&pid=364004"][{POST_SNAPBACK}][/a]


Yes, if I am reading this correctly, I think you can do what you want by doing something like this:

Query: [%play_counter%]

Format: %genre% '@sum<%play_counter%>'|%artist%|%album%|%title%
Title: foo_playlist_tree
Post by: ledge on 2006-02-14 02:09:48
Quote
Quote
Would it be possible to have the @sum function to work in the display as it does in the folder name for a query?

I ask as I would like to have a sum of play count for each genre so the query would be [%play counter%] and the format would be %genre%|@sum<%play counter%>

Oh, and this is a fantastic plugin by the way, thanks very much for making it 
[a href="index.php?act=findpost&pid=364004"][{POST_SNAPBACK}][/a]


Yes, if I am reading this correctly, I think you can do what you want by doing something like this:

Query: [%play_counter%]

Format: %genre% '@sum<%play_counter%>'|%artist%|%album%|%title%
[a href="index.php?act=findpost&pid=364006"][{POST_SNAPBACK}][/a]


Yup, that did it, thanks.
Title: foo_playlist_tree
Post by: phwip on 2006-02-14 13:42:21
Hopefully an easy one:

When I drop an m3u or fpl from Explorer onto PT (1.7.18) while holding Ctrl I end up with the the new @drop query node labelled with the filename of the m3u file.  Underneath this is another node with the same label, and then the third level under this is the leaf nodes labelled with the song titles.

I only want two levels, the @drop query node and the leaf nodes directly under this.  I've found I can make this happen manually by editing the newly created query node and changing the Format from @default to %title% but it's a little annoying to have to do this every time I drop a new m3u file.  Is there any setting I can make to cause PT to use this layout automatically?

In the options I've set "Default Query Display" to %title% which I thought would achieve what I'm after but doesn't seem to have this effect.  The layout I want is exactly what I get if I drop the m3u file without holding Ctrl to get a static node.
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-14 16:06:03
Quote
is it normal that my foobar uses 50 Mo since I've put the playlist tree component ? :-(

before it was never more than 12 Mo
[a href="index.php?act=findpost&pid=363729"][{POST_SNAPBACK}][/a]

please tell me how I could make it use lower RAM guys :-(
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-15 17:31:05
Hello, what you can do is to keep queries unpopulated, you can only doo a refresh on a given query when you need it, and after that to do a "remove/childrens" on it. That is what I do to use less RAM.
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-15 18:28:49
When the Foobar2000 0.9 SDK goes public, I plan on converting Playlist Tree over to the new SDK.  In the process, I want to simplify things for the users while maintaining the core features that make playlist tree so great.  I am putting together a Wiki page to list things that I think would be useful and to let users see where I think this is headed.  If you have some suggestions please post them on the Playlist Tree forum at http://bowron.us/smf/index.php?topic=208.0 (http://bowron.us/smf/index.php?topic=208.0)

http://wiki.bowron.us/index.php/Playlist_Tree_Improvements (http://wiki.bowron.us/index.php/Playlist_Tree_Improvements)

Thanks.
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-16 09:26:39
Hello cwbowron, can you tell if, when SDK 0.9 will be public, you plan to continue maintaining a playlisttree for 0.8.3 ?
(cause some users can prefer so still using 0.8.3...)
Title: foo_playlist_tree
Post by: sPeziFisH on 2006-02-16 10:11:35
Quote
(cause some users can prefer so still using 0.8.3...)[a href="index.php?act=findpost&pid=364688"][{POST_SNAPBACK}][/a]

...there should be no reason to use 0.8.3 further, maybe for the time while all plugins are compiled against 0.9SDK, but maintaining already valorized progs is still a time investigation which is not neccessary - 0.9 is aimed to suite nowadays needs - modify yourself ...
... this all IMHO    - I know that this opinion may not be yours - just want to help   
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-16 13:22:56
Quote
Hello cwbowron, can you tell if, when SDK 0.9 will be public, you plan to continue maintaining a playlisttree for 0.8.3 ?
(cause some users can prefer so still using 0.8.3...)
[a href="index.php?act=findpost&pid=364688"][{POST_SNAPBACK}][/a]


I anticipate that when the 0.9 SDK comes out new version will be built only on 0.9 SDK.
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-17 14:24:38
Ok, and for my last problem, il it possible to add a checkbox proposing to filter after the display sort?
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-02-18 20:58:41
I'm just now delving into this plugin and am trying to get a handle on query formatting.

One thing I'd like to have is a tree of recently listened-to albums.  I'd like to have full albums displayed, so that even if I've only listened to some of the songs from an album, the entire album is present in the tree.

What I use now is this query:

Code: [Select]
Query: [%last_played%]
_ foo_playlist_gen format

Format: $if(%album artist%,%album%,%artist%)|%title%

Population Sort Order: %last_played%|%album%  X Reverse

Display Sort Order: $sub(99,%tracknumber%)


I know this doesn't work, and in fact, it gives me tracks that haven't been played recently, but that are by the same artist as tracks that have been played recently.

Any help would be much appreciated. 
Title: foo_playlist_tree
Post by: ryoanji on 2006-02-19 13:45:19
Some comments & thoughts from a big database user

First of all: one million thanks to cwbowron for this plugin, without this i will not be able to use foobar with my collection of archived music. Sincerously, thanks man

Lastly i am gettings things working the way i like thanks to this plugin. I have a pt tree with nodes dragged from the  physical folders, and i can very easily update the collection when i add new music just dragging in the proper node the new folder. Excellent. This was impossible with foobar's database explorer, and also i didn´t want a rescan on nodes every time i open foobar and want to listen some music, it causes much work to my external raid 5 unit.
But one of the things that i can´t do with pt is to use queries. This is because it uses the database to scan and it  causes those rescans i want to avoid so much. Not a really problem to me, what i get now is enough for my needs.

But there are two main things i am trying to solve and i ask for some help if anybody had similar problems.

I use mostly ape files, and many times i have a (for example) CDImage.ape file and a .cue file. What i get in the tree for this structure is the correct list of files in the album AND an ugly to see file CDimage.ape, that duplicates the tracks when i listen the node. Is there any way to avoid this and similar situations?

On other part, i am trying to use differents columns for different categories of music in the playlist view, for example:  'Compositor' and 'Centuries' for Classical categories, 'Country' for Ethnic category, etc. For this purpose i am trying to use tagz to send the music to the appropiate playlist  so that columns_ui can filter the columns properly. I thought something like this as user defined playlist in the 'doubleclick' menu of pt could help:

Code: [Select]
$trim($if($strstr(%_path%,Clasico),'Clasica',$if($strstr(%_path%,Rock),'Pop & Rock',$if($strstr(%_path%,Jazz),'Jazz, Blues,  Soul',$if($strstr(%_path%,xperiment),'Electronica, Experimental', $if($strstr(%_path%,tnico),'Etnico, Fusiones','Misc'))))))


but i can´t get it work. %_path% is resolved as 'silence__1' or so. Anyone tried something similar? Am i missing anything?


Aditional thoughts about managing big databases will be appreciated

Thanks in advance
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-19 16:27:43
Quote
On other part, i am trying to use differents columns for different categories of music in the playlist view, for example:  'Compositor' and 'Centuries' for Classical categories, 'Country' for Ethnic category, etc. For this purpose i am trying to use tagz to send the music to the appropiate playlist  so that columns_ui can filter the columns properly. I thought something like this as user defined playlist in the 'doubleclick' menu of pt could help:

Code: [Select]
$trim($if($strstr(%_path%,Clasico),'Clasica',$if($strstr(%_path%,Rock),'Pop & Rock',$if($strstr(%_path%,Jazz),'Jazz, Blues,  Soul',$if($strstr(%_path%,xperiment),'Electronica, Experimental', $if($strstr(%_path%,tnico),'Etnico, Fusiones','Misc'))))))


but i can´t get it work. %_path% is resolved as 'silence__1' or so. Anyone tried something similar? Am i missing anything?

[a href="index.php?act=findpost&pid=365535"][{POST_SNAPBACK}][/a]


The problem is that the %_path% in question is referring to the path of the folders which dont really have a path... they rigged to use a handle to 1 sec of silence to be able to do the formatting... you might be able to use something like @first<%_path%_> in a folder to get the path of the first file in the folder...
Title: foo_playlist_tree
Post by: optimuz on 2006-02-20 02:10:58
Quote
I believe that I have tested with cue files and compressed files in the past.  How are the files getting to playlist tree?  Are you dragging and dropping them from outside of fb2k or dropping them from the playlist or using them inside a query?
[a href="index.php?act=findpost&pid=362752"][{POST_SNAPBACK}][/a]


I've dragged them into playlisttree from explorer, haven't figured out a way just yet other then that to get files into playlisttree
If i query with an "empty" playlisttree it doesn't give me any result, even though I have them in my database in foobar. Never even thought of dragging files from the playlist  Gonna try out that!


*edit*

Tried to use Playlist->Insert from, and that resultet in "????" also... 
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-20 11:00:20
I'm trying to make an artist browsing query that read the directory path in order to make the difference between LPs and singles (Singles are all put in a subfolder called "[Singles]"), I've made it, but it always returns Singles, why ?

$cut(%artist%,1)|%artist%|$if(@quote<$directory(%_path%,2) HAS Singles>,Singles,LP/EP)|%date% - %album%|$num(%tracknumber%,2) - %title%

By the way, I've got another problem, display and population order are :
%artist%|$num(%date%,4)|$num(%tracknumber%,2)

But for some artists, the albums are not well ordered, for example, I've got :
A
|_ A Perfect Circle
---|_ Singles (first problem, these albums are not in the subdir [Singles] so it should say LP/EP)
-------|_ 2003 - Thirteenth Step
-------|_ 2004 - eMOTIVe
-------|_ 2004 - aMOTION
-------|_ 2000 - Mer De Noms (second problem, should be displayed FIRST)

That's odd, isn't it ? Anyone could help me please ?
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-20 11:39:55
find a solution for my first problem doing so : $cut(%artist%,1)|%artist%|$if($strstr(%_path%,'[Singles]'),'Singles','LP/EP')|%date% - %album%|$num(%tracknumber%,2) - %title%

but not for the second problem about ordering results
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-20 13:23:40
none has got troubles to order queries and has a problem such like mine ?
Title: foo_playlist_tree
Post by: ryoanji on 2006-02-20 21:12:06
Quote
The problem is that the %_path% in question is referring to the path of the folders which dont really have a path... they rigged to use a handle to 1 sec of silence to be able to do the formatting... you might be able to use something like @first<%_path%_> in a folder to get the path of the first file in the folder...
[a href="index.php?act=findpost&pid=365573"][{POST_SNAPBACK}][/a]


Thanks cwbowron, it's strange but it works 50%. Nodes at the same level are sent to different playlists, having all of them the same term that is searched for in the tagz, i've not been able to find a pattern for this behaviour.  I'll have to investigate more...
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-21 17:19:08
I've got a problem, display and population order are :
%artist%|%date%|$num(%tracknumber%,2)

But for some artists, the albums are not well ordered, for example, I've got :
A
|_ A Perfect Circle
-------|_ 2003 - Thirteenth Step
-------|_ 2004 - eMOTIVe
-------|_ 2004 - aMOTION
-------|_ 2000 - Mer De Noms (should be displayed FIRST)

That's odd, isn't it ? Anyone could help me please ?
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-21 18:09:55
Quote
I've got a problem, display and population order are :
%artist%|%date%|$num(%tracknumber%,2)

But for some artists, the albums are not well ordered, for example, I've got :
A
|_ A Perfect Circle
-------|_ 2003 - Thirteenth Step
-------|_ 2004 - eMOTIVe
-------|_ 2004 - aMOTION
-------|_ 2000 - Mer De Noms (should be displayed FIRST)

That's odd, isn't it ? Anyone could help me please ?
[a href="index.php?act=findpost&pid=366030"][{POST_SNAPBACK}][/a]


try using %_name% for display order.
Title: foo_playlist_tree
Post by: Superunknown on 2006-02-21 20:49:31
solved everything !! thank you so much !
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-23 14:14:55
Hello, I was  thinking in something that can be very powerfull, at least, that can solve the queries I actually can't do.

This idea is to add the ability, in top of sortings possibility, filter displayed results. That can permit to display only folders with an itemcount or foldersize higher or lower than n.
Title: foo_playlist_tree
Post by: cwbowron on 2006-02-23 14:23:33
Quote
Hello, I was  thinking in something that can be very powerfull, at least, that can solve the queries I actually can't do.

This idea is to add the ability, in top of sortings possibility, filter displayed results. That can permit to display only folders with an itemcount or foldersize higher or lower than n.
[a href="index.php?act=findpost&pid=366571"][{POST_SNAPBACK}][/a]


Thats a pretty good idea... There's some technical difficulties to that right now, but it might be easier depending on changes for 0.9...
Title: foo_playlist_tree
Post by: optimuz on 2006-02-23 23:01:35
Quote
Quote
I believe that I have tested with cue files and compressed files in the past.  How are the files getting to playlist tree?  Are you dragging and dropping them from outside of fb2k or dropping them from the playlist or using them inside a query?
[a href="index.php?act=findpost&pid=362752"][{POST_SNAPBACK}][/a]


I've dragged them into playlisttree from explorer, haven't figured out a way just yet other then that to get files into playlisttree
If i query with an "empty" playlisttree it doesn't give me any result, even though I have them in my database in foobar. Never even thought of dragging files from the playlist  Gonna try out that!


*edit*

Tried to use Playlist->Insert from, and that resultet in "????" also... 
[a href="index.php?act=findpost&pid=365704"][{POST_SNAPBACK}][/a]


*bump* you seem to have missed my last post... 
Title: foo_playlist_tree
Post by: vlada on 2006-02-26 11:44:05
Hello,
since the fb2k 0.9 RC was released, do you plan to compile your plugin with 0.9 SDK or you'll wait for 0.9 final? I'd like to switch to 0.9 version, but I can't witnout playlist_tree :-). Btw. thank you for the great work.
Title: foo_playlist_tree
Post by: SoulMan on 2006-02-26 11:57:29
Hello

I was thinking in another interresting feature for playlist tree, but perhaps it's not possible, or very hard to do.

It's the ability to add content of burned compressed music CD's or DVD's. I know this implies to have a second database separated from the foobar's database, and to add some functionalities (scan disc, rescan disc, and a new field to store media name is necessary). Perhaps that must be a foobar database evolution, and not a playlist tree evolution. I don't know, but I think this will be a pretty good feature.
Title: foo_playlist_tree
Post by: Ono on 2006-03-02 03:31:42
Wonder if this is possible?

I want a script that will add up all the play counts for one album as a total.

EG:

Album X has 3 tracks:

Track 1: 1 play
Track 2: 4 plays
Track 3: 2 plays

Album X: 7 plays total.  Then put this in the album list next to the name.

My attempts at doing it failed badly. 

Edit:

NM, I worked it out: %album% '@sum<%play_counter%>' in format.
Title: foo_playlist_tree
Post by: gob on 2006-03-02 05:03:21
if there is a version for 0.9 hopefully half of the options that don't work will either be removed or fixed
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-02 13:25:20
Quote
if there is a version for 0.9 hopefully half of the options that don't work will either be removed or fixed
[a href="index.php?act=findpost&pid=368465"][{POST_SNAPBACK}][/a]


what options have you found that dont work?
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-02 16:55:46
Quote
Hello, I was  thinking in something that can be very powerfull, at least, that can solve the queries I actually can't do.

This idea is to add the ability, in top of sortings possibility, filter displayed results. That can permit to display only folders with an itemcount or foldersize higher or lower than n.
[a href="index.php?act=findpost&pid=366571"][{POST_SNAPBACK}][/a]


After thinking about this, you might actually be able to do this now using @hidden.. I have not tested it out, so I am not positive put you might be able to do something like

%artist%|%album% '@format<$if($less(%_itemcount%,4),@hidden ,)'|%title%

as a format string.

EDIT:  After looking at it, it appears my parsing algorithm is not sophisticated for this to work currently...
Title: foo_playlist_tree
Post by: gob on 2006-03-02 18:13:08
Quote
Quote
if there is a version for 0.9 hopefully half of the options that don't work will either be removed or fixed
[a href="index.php?act=findpost&pid=368465"][{POST_SNAPBACK}][/a]


what options have you found that dont work?
[a href="index.php?act=findpost&pid=368531"][{POST_SNAPBACK}][/a]


a bunch of them, for me anyways.
when using the search function, sometimes the background on the playlist tree panel would turn all red, sometimes it would crash foobar, sometimes it hangs foobar, and sometimes it works..
single click expands - has no effect. after foobar is restarted the playlist tree does not respond to the mouse at all and then sort of disappears taking the background color with it. disabling the option and restarting foobar seems to fix it.
ive experienced crashes and other odd behavior when using the drag and drop.

when disabling some of the options, it seems they still halve work..

[Edit: another small annoyance is when the order is set to shuffle, and you send files to the playlist, the first file in the playlist tree always plays first as opposed to playing a random file first.]

also i would recommend users back up their configuration file when changing playlist tree options because i have hosed my config file a few times.

however i realize it is an experimental plugin and i expect some problems.
its a really powerful plugin and im almost shocked at the things that u can do with it. good work
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-02 18:31:25
Quote
Quote
Quote
if there is a version for 0.9 hopefully half of the options that don't work will either be removed or fixed
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=368465")


what options have you found that dont work?
[a href="index.php?act=findpost&pid=368531"][{POST_SNAPBACK}][/a]


a bunch of them, for me anyways.
when using the search function, sometimes the background on the playlist tree panel would turn all red, sometimes it would crash foobar, sometimes it hangs foobar, and sometimes it works..
single click expands - has no effect. after foobar is restarted the playlist tree does not respond to the mouse at all and then sort of disappears taking the background color with it. disabling the option and restarting foobar seems to fix it.
ive experienced crashes and other odd behavior when using the drag and drop.

when disabling some of the options, it seems they still halve work..

[Edit: another small annoyance is when the order is set to shuffle, and you send files to the playlist, the first file in the playlist tree always plays first as opposed to playing a random file first.]

also i would recommend users back up their configuration file when changing playlist tree options because i have hosed my config file a few times.

however i realize it is an experimental plugin and i expect some problems.
its a really powerful plugin and im almost shocked at the things that u can do with it. good work
[a href="index.php?act=findpost&pid=368593"][{POST_SNAPBACK}][/a]


What version are you running?

I am working on better stability for 2.0... I just tried the single click expand option and you are correct that seems to be broken and I am working on fixing it... if you would be interested in testing out some of the new features for 2.0 and some of the stuff I am having been working on, check out this:

[a href="http://bowron.us/smf/index.php?topic=208.msg845#msg845]http://bowron.us/smf/index.php?topic=208.msg845#msg845[/url]
http://bowron.us/smf/index.php?topic=208.msg846#msg846 (http://bowron.us/smf/index.php?topic=208.msg846#msg846)
Title: foo_playlist_tree
Post by: gob on 2006-03-02 18:42:18
Quote
What version are you running?

I am working on better stability for 2.0... I just tried the single click expand option and you are correct that seems to be broken and I am working on fixing it... if you would be interested in testing out some of the new features for 2.0 and some of the stuff I am having been working on, check out this:

http://bowron.us/smf/index.php?topic=208.msg845#msg845 (http://bowron.us/smf/index.php?topic=208.msg845#msg845)
http://bowron.us/smf/index.php?topic=208.msg846#msg846 (http://bowron.us/smf/index.php?topic=208.msg846#msg846)
[a href="index.php?act=findpost&pid=368599"][{POST_SNAPBACK}][/a]


using version 1.7.17 right now. i'll check out that preview release. i had no idea u had another forum, i should be able to find tonnes of ideas for this in there.
Title: foo_playlist_tree
Post by: fabiospark on 2006-03-02 19:21:43
This is from a long time and happy user of PLT.

I use a main FB to play and another install as a test FB.

On the main FB I'm still using PLT 1.7.0 b3 and I don't remember a FB crash due to it.

On the test install I got some crashes when testing new fuctions of new releases of PLT.
When that happened, after I reported it, the author has always been very fast in fixing the issue (if possible) or giving some more advice about the new function or some workaround to get what I was looking for.

I must also say that sometimes he built a new function almost on request.

Yes, PLT is not perfect, but I wouldn't call it "experimental" and, if you have any problems, just report them clearly and I'm sure the author will be glad to help you.

My approach to Foobar has changed two times:

- since I started using PLT as a media library
- since I started using (and tweaking) a gob layout as my front end.

Thanks to both.
Title: foo_playlist_tree
Post by: gob on 2006-03-02 20:33:49
as it is its not crashing at all. using the tree works perfect as i have it configured. the only feature i really use is the playlist tree its self. i have tried the search (with the results in the tree) but i ran into a lot of problems..

heh, didnt many people were actually using the stuff ive posted. ive probably made a lot of changes since the last time i posted anything. what layout are u using?
heres a current screen.

(http://img447.imageshack.us/img447/5893/desktop2iv.th.png) (http://img447.imageshack.us/my.php?image=desktop2iv.png)
Title: foo_playlist_tree
Post by: fabiospark on 2006-03-02 21:06:54
(http://img349.imageshack.us/img349/724/immagine5ig.th.png) (http://img349.imageshack.us/img349/724/immagine5ig.png)

Nothing fancy, as you can see.
I'm not even iterested into album art.

But your config made me start learning how to customize FB and columns UI.
Title: foo_playlist_tree
Post by: gob on 2006-03-03 00:15:30
ic, kind of like an explorer style view. imho its the best way to choose from large lists.

ive tried the 2.0 preview and its a huge step forward. after importing the old tree, foobar loads 5 seconds faster. the auto refresh works much faster and doesnt refresh the entire panel. i cant get the no browse feature to work tho. also is there a way to set certain folders and queries to be expanded or colapsed on startup?

Edit: i noticed its much easier to go thru the options now that you have to click the check boxes
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-03 13:25:34
Quote
ic, kind of like an explorer style view. imho its the best way to choose from large lists.

ive tried the 2.0 preview and its a huge step forward. after importing the old tree, foobar loads 5 seconds faster. the auto refresh works much faster and doesnt refresh the entire panel. i cant get the no browse feature to work tho. also is there a way to set certain folders and queries to be expanded or colapsed on startup?

Edit: i noticed its much easier to go thru the options now that you have to click the check boxes
[a href="index.php?act=findpost&pid=368660"][{POST_SNAPBACK}][/a]


The queries and folders should retain whatever state they were in when you saved as far as collapsed and expanded...

I will look into the nobrowse issue....

I added an interesting feature last night that I think people will come up will cool uses for... Nested queries... This is what I put in the changelog about them:

---
Nested Queries - w00t - Probably NOT for the casual user
if you put something like @query<%title%;title HAS %title%,'%title%'> in the formatting string, it will generate
a query for each matching item... I'm not sure the best uses of this but I am sure that someone will find this
useful... Say were were trying to find cover versions of Beatles songs you might try something like this:

Criteria:  artist HAS beatles
Format: @query<%title%;title HAS %title%;'%artist% - %title%'>

NOTE: thos are SEMICOLONS between the parameters

If a query with the same name and criteria already exists it will not be duplicated...
---

I havent released a new preview version yet though... maybe soon...
Title: foo_playlist_tree
Post by: gob on 2006-03-06 05:22:04
i cant seem to get the global variables to work quite right.

suppose i want to add the following to a global variable named "artist_the":
$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)

what code would i have to use to put in the global options, and what code can i use to retrieve it to use in the format and sort fields?
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-07 16:11:55
I'm thinking about changing the basic icon set for the next version.  If anyone has graphic talent or knows someone who does and wants to contribute, please make a set and post it or email me.  The icons need to be 16x16 and arranged in a horizonal layout like this:  http://foobar.bowron.us/images/playlist_tree.bmp (http://foobar.bowron.us/images/playlist_tree.bmp)

The images must look decent over a white background.  First icon should represent a file, the second a folder and the third a query.  After that, whatever icons you feel would be useful to have to select from.

Thanks.
Title: foo_playlist_tree
Post by: gob on 2006-03-08 07:31:31
is it possible to hide the contents of a query? for example, make a query called All Music that filters all the tracks with a 0-1 rating, and does not have any nodes or leafs under it. where its only function would be to send its entire contents to the playlist. there are a lot of places i would like to remove tracks from the trees.

and are the globals working in the 2.0 prieview?
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-08 13:21:18
Quote
is it possible to hide the contents of a query? for example, make a query called All Music that filters all the tracks with a 0-1 rating, and does not have any nodes or leafs under it. where its only function would be to send its entire contents to the playlist. there are a lot of places i would like to remove tracks from the trees.


Yes, with @hidden.  If you are using the 2.0 preview, you can choose how hidden nodes are displayed too.

Quote
and are the globals working in the 2.0 prieview?
[a href="index.php?act=findpost&pid=370112"][{POST_SNAPBACK}][/a]


They should be, but I havent done any testing of them yet.

EDIT: I just tested some out and they are working... Here is an example of how they work.  I set my global variables to this:

Code: [Select]
isbeck=$if($strstr(%artist%,Beck),IS BECK,NOT BECK)|


Then in the tree, I use %_isbeck% to access that variable.
Title: foo_playlist_tree
Post by: zlebandit on 2006-03-19 11:46:20
Hi and thank you for this plugin which is a must have.
I'm writting from France and forgive me for my poor english...

I've got qweries such as this one :
(artist HAS @playing<%artist%> AND NOT artist IS @playing<%artist%>) OR (artist2 HAS @playing<%artist%>) in qwery field and

@format<@quote<@playing<%artist%> apparaît aussi dans ...>> in the label field.

in fact, it works good we i have multiple artists, il gives me information about other songs in my playlist. I use artist2 with electro in which you can have a track with a mix form "artist" but the music is written by another one.

So, this qwery work, no problem.
But, it is of course emtpy sometimes.
When it's empty, i would like de node to be hidden and i really don't know how to do it. 
Does anyone has got a solution ? 
Thanks in advance
Title: foo_playlist_tree
Post by: 4nt1 on 2006-03-20 04:26:49
Hmm can't wait for this plugin to be updated, whats the status?
Title: foo_playlist_tree
Post by: cwbowron on 2006-03-22 16:59:42
I'm working on convert plt to 0.9 in pieces... I think this time around the browser is going to be a better and more useful feature... I'm going to be implementing it as multiple panels, and I think I am going to make it navigate-able similar to how I remember iTunes working...

Here's a preview:
http://foobar.bowron.us/foo_browser_preview.png (http://foobar.bowron.us/foo_browser_preview.png)
Title: foo_playlist_tree
Post by: ArcticBear on 2006-03-22 17:32:27
Quote
I'm working on convert plt to 0.9 in pieces... I think this time around the browser is going to be a better and more useful feature... I'm going to be implementing it as multiple panels, and I think I am going to make it navigate-able similar to how I remember iTunes working...

Here's a preview:
http://foobar.bowron.us/foo_browser_preview.png (http://foobar.bowron.us/foo_browser_preview.png)
[a href="index.php?act=findpost&pid=373934"][{POST_SNAPBACK}][/a]


That would be great, it's a function that is really missing!
Will you solve it with ColumnsUI or make it compatible with it, so that it can work beside further PlugIns like AlbumArt?
Title: foo_playlist_tree
Post by: gob on 2006-04-07 06:58:09
any chance the playlist tree panel will make it into 0.9?

and is it possible to use the enter key to send items selected in the playlist tree to the active playlist and play it?
Title: foo_playlist_tree
Post by: fabiospark on 2006-04-07 07:51:40
any chance the playlist tree panel will make it into 0.9?


I think he already said he's porting it....
Title: foo_playlist_tree
Post by: Chaser on 2006-04-07 09:56:35
He's splitting the component up. He already released foo_browser and foo_sendtodevice.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-07 13:21:31
any chance the playlist tree panel will make it into 0.9?

and is it possible to use the enter key to send items selected in the playlist tree to the active playlist and play it?


I'm in the process of porting the playlist tree panel to 0.9... I may release a beta version this weekend, but the functionality is pretty basic right now...

If you interested in knowing what I am working on and the status of playlist tree, you can find my notes here: http://wiki.bowron.us/index.php/Foobar2000...list_tree_2.x.x (http://wiki.bowron.us/index.php/Foobar2000#foo_playlist_tree_2.x.x)
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-07 22:02:10
I placed a beta version on my website:  http://wiki.bowron.us/index.php/Foobar2000...list_tree_2.x.x (http://wiki.bowron.us/index.php/Foobar2000#foo_playlist_tree_2.x.x)

This is not a release for novice and new users.  Please read the text on the page before using.
Title: foo_playlist_tree
Post by: gob on 2006-04-09 18:30:21
Im using an ATI remote wonder plus, and girder to control foobar. i can map the buttons on the remote to the up/down/left/right keyboard keys so i can navigate the tree with my remote, but i cant find anyway to send the selected node to the playlist. is there a keyboard shortcut (preferably the enter key) i can set to do this?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-09 19:16:02
Im using an ATI remote wonder plus, and girder to control foobar. i can map the buttons on the remote to the up/down/left/right keyboard keys so i can navigate the tree with my remote, but i cant find anyway to send the selected node to the playlist. is there a keyboard shortcut (preferably the enter key) i can set to do this?


You should be able to bind a shortcut key to "Playlist Tree/Send to Active Playlist" in the context menu, and the tree should process shortcut keys when it has focus.
Title: foo_playlist_tree
Post by: gob on 2006-04-10 05:23:17
i tested it out on the 0.9 compatable plugin. it works there. just need to wait for a playcount plugin
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-13 21:40:00
2.0.beta2 is out (http://foobar.bowron.us/foo_playlist_tree_beta.zip)

Many changes sinces the last beta, and we are approaching a prime time ready release (hopefully).  Please post any bugs you encounter.

The Changelog (http://wiki.bowron.us/index.php/Playlist_Tree_Changelog) contains the list of the changes since the last beta, and all the changes that have happened in the 2.x.x series.

I will also take feature requests on new features or features that have not yet made it back into the component.  Requesting a feature that has not yet made it back lets me know that there is still a desire to have that feature. You do not need to request search though, I plan to add that soon.

Thanks.
Title: foo_playlist_tree
Post by: Killmaster on 2006-04-13 22:41:41
It occurs to me - now that 0.9 has autoplaylist functionality, couldn't you integrate that with this plugin?

I'm thinking that you could make this almost a complete replacement for the main playlist, simply by implementing all of that into this plugin. Here's what I would do:

-Add the ability to be an actual playlist manager, where dragging, renaming, deleting and editing the contents thereof would actually change foobar's playlists.

-Completely integrate your playlist query syntax into the autoplaylist system, so any new queries automatically create a new playlist. Existing playlist locks should behave exactly as they would in the main playlist window, and f_p_t queries should behave as they were, but as autoplaylists of their own.

-I've said this before, but I'll say it again: this case-sensitive behavior is nonstandard and should be dropped. If I don't have to worry about it in any other plugin for Foobar, I shouldn't have to worry about it here.

-One last thing: Would it be excessively difficult to use the standard windows icon set by default? It make it a lot easier for everyone I think; most people rely on Windows' theme anyways to control Foobar's appearance.
Title: foo_playlist_tree
Post by: Draikin on 2006-04-14 00:26:05
Thanks cwbowron

- I cant see any difference between grey and sunken, they all look like this to me: http://omoikane.minstrum.net/foobar_wip.png (http://omoikane.minstrum.net/foobar_wip.png) , which is different from grey and sunken for other panels.

- Would it be possible for the double clic to have the same ordering as a drag&drop ? currently a double click "sent to playlist" is ordered by directory structure (from what i can tell) while drag&drop respect the struture of the playlist tree.
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-14 00:43:02
I am not sure if this feature is already available, but the ability to add a desired file to the playlist queue by middle clicking.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-14 14:42:32
It occurs to me - now that 0.9 has autoplaylist functionality, couldn't you integrate that with this plugin?

I'm thinking that you could make this almost a complete replacement for the main playlist, simply by implementing all of that into this plugin. Here's what I would do:

-Add the ability to be an actual playlist manager, where dragging, renaming, deleting and editing the contents thereof would actually change foobar's playlists.

-Completely integrate your playlist query syntax into the autoplaylist system, so any new queries automatically create a new playlist. Existing playlist locks should behave exactly as they would in the main playlist window, and f_p_t queries should behave as they were, but as autoplaylists of their own.

-I've said this before, but I'll say it again: this case-sensitive behavior is nonstandard and should be dropped. If I don't have to worry about it in any other plugin for Foobar, I shouldn't have to worry about it here.

-One last thing: Would it be excessively difficult to use the standard windows icon set by default? It make it a lot easier for everyone I think; most people rely on Windows' theme anyways to control Foobar's appearance.


I'll give you half of your requests in the next release...

I changed the way query results are added so that comparing folder names should be case insensitive so "Beck" and "beck" should go into the same folder.  The folder will be named by which ever file gets there first (based on population sort order).

I also added an option to load the system bitmaps.  It will require you to select the icons in preferences because the default indices wont make sense with the system bitmaps.  If the option is selected, the system bitmaps are loaded, then the playlist tree ugly icons are loaded.
Title: foo_playlist_tree
Post by: lav-chan on 2006-04-14 16:19:04
Are you going to change the case-sensitivity in Browser too? 'Cause, um, i'd rather you didn't (or made it a check-box option), i kinda like it. :p
Title: foo_playlist_tree
Post by: HeeZy on 2006-04-14 17:15:40
i just found this plug-in and it is just what i was looking for. i was looking for something similar to the dynamic library (http://nunzioweb.com/joonas/dl) plugin i use in winamp. i've been using foo_uie_explorer, but it was slow and i couldn't sort files.

quick question, when i add a root folder and drag a bunch of files/folders into it, i click on the root folder in the playlist tree and every file in the root folder including the subdirectories are seen in the playlist view. is there a way so that when i click the root folder, it only shows the files from that folder in the playlist? maybe add an option like, "show files from subdirectories in root folders in playlist", or something like that.

thanks. 
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-14 18:30:00
- I cant see any difference between grey and sunken, they all look like this to me: http://omoikane.minstrum.net/foobar_wip.png (http://omoikane.minstrum.net/foobar_wip.png) , which is different from grey and sunken for other panels.


This should be fixed in the next release.
Title: foo_playlist_tree
Post by: lav-chan on 2006-04-14 18:37:01
I have a bug i think. And i also apparently need help figuring this out (this is the first time i'm using this, i never used it for 0.8x).

There are two bugs.

The first one is the one that Draikin already reported (changing the edge style doesn't work). For what it's worth, the edge style that you use by default (in both Browser and Playlist Tree) is the correct one for my visual style. Only your panels and the album-list panel show up using the correct edge styles, but since none of the other ones (trackinfo, visualisation, albumart) do i'm forced to choose one that looks the same for all of them. :/

The second bug is a pretty trivial one but whatever: The panel correctly detects what font settings i should be using (Calibri, 8-point), but it doesn't detect the correct background colour. Not a big deal, i can just change it, but still. :shrug:


And then aside from that... i can't figure out the panel. I read the tutorial, and it says that i should right-click the root (which i guess is 'Playlist Tree' by default?) to add a new folder. But there's no such option in mine. It just shows the standard context menu (the same as what shows when i right-click in Browser), with the new addition of the Playlist Tree sub-menu.

(http://img153.imageshack.us/img153/408/pltree6jl.th.jpg) (http://img153.imageshack.us/my.php?image=pltree6jl.jpg)

Am i missing something?


edit:
Oh, i guess i'm just s'posed to use the Library menu for now? :/
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-14 18:40:52
And then aside from that... i can't figure out the panel. I read the tutorial, and it says that i should right-click the root (which i guess is 'Playlist Tree' by default?) to add a new folder. But there's no such option in mine. It just shows the standard context menu (the same as what shows when i right-click in Browser), with the new addition of the Playlist Tree sub-menu.


Some of the information in the Tutorial is out of date with the 2.x.x series for fb2k 0.9.  One of those things is the context menu.  To access the playlist tree specific context menu, hold shift while you right click or middle click on a node. 

For the most up to date reference on how things are working you can try to wade through the Changelog (http://wiki.bowron.us/index.php/Playlist_Tree_Changelog)
Title: foo_playlist_tree
Post by: lav-chan on 2006-04-14 18:54:16
Oh. Yeah, i just saw that. Thanks.

edit:
Um i found another bug.

When i set the double-click option and checked 'Refresh Queries', suddenly an empty scroll area appeared around the panel:

(http://img46.imageshack.us/img46/4231/pltscroll1ig.th.jpg) (http://img46.imageshack.us/my.php?image=pltscroll1ig.jpg)

The only way to get rid of it was to restart foobar.
Title: foo_playlist_tree
Post by: lav-chan on 2006-04-14 20:07:57
Another possible bug: The 'reverse' check box in the query dialogue doesn't work for me, unless i'm misunderstanding its purpose or something.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-14 20:14:17
Another possible bug: The 'reverse' check box in the query dialogue doesn't work for me, unless i'm misunderstanding its purpose or something.


It appears to be working as designed.

If you specify a population sort order, the files will be sorted before they are added to the tree by that criteria.  If you click the reverse option, the list will be reversed after it is sorted, then items will be added to the tree.  Its useful if you wanted to make a list of top tracks, etc.

When i set the double-click option and checked 'Refresh Queries', suddenly an empty scroll area appeared around the panel:

(http://img46.imageshack.us/img46/4231/pltscroll1ig.th.jpg) (http://img46.imageshack.us/my.php?image=pltscroll1ig.jpg)

The only way to get rid of it was to restart foobar.


Try resizing the panel next time that happens.  I will look into a real fix.
Title: foo_playlist_tree
Post by: fabiospark on 2006-04-14 20:21:10
Is there a way to get to the PLT context menu just right clicking, without having to use shift?
If not, would you consider getting it back, please? I'd like being able to forget my left hand while using FB.
Title: foo_playlist_tree
Post by: lav-chan on 2006-04-14 20:24:24
It appears to be working as designed.

If you specify a population sort order, the files will be sorted before they are added to the tree by that criteria.  If you click the reverse option, the list will be reversed after it is sorted, then items will be added to the tree.  Its useful if you wanted to make a list of top tracks, etc.

Hm. OK, i sort of figured out why it wasn't working for me.... I had to uncheck the sort by display name thing. (edit: Never mind what i had here before, conflict with the 0.8 playcount plug-in. Sorry. :p)


And another thing (lol): There's no option, as far as i can tell, to change the icon of the selected leaf. Like i changed the unselected one from the little music note to my own icon, but if i select it it turns back to the music note. Is that right?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-14 20:30:15
Is there a way to get to the PLT context menu just right clicking, without having to use shift?
If not, would you consider getting it back, please? I'd like being able to forget my left hand while using FB.


There will be.  I added a main menu option to show the context menu and I will be making it so that you can map the right click and right click + shift to whichever action you want.
Title: foo_playlist_tree
Post by: fabiospark on 2006-04-14 20:54:14
Don't consider it a feature request but just a talk about a feature: I'm not sure it would be useful in the everyday use.

What I'm talking about is having the ability to choose to make  the panels' headers follow the preferences I put in their config page or to show the singles levels of the PLT query I have just selected.
In this second way, as I select a node, I will have its levels individually shown one per panel. This works as a sort of a panels' preset config list.
To make things easier (at least for the user...) there should be an always visible button to toggle among the two behaviours.

Don't know, I'd like to hear some other voice about it....
Title: foo_playlist_tree
Post by: spanky1406 on 2006-04-14 22:28:49
I want to create an average rating for each album and I'm using this format:
$avg(%rating%): %artist% - %album%|%title%

What I get are folders with the songs of an album which have the same rating,e.g.

3.00: ALBUM A (folder contains all songs of this album with rating 3)
4.00: ALBUM A
2.00: Album B
4.00: ALBUM B

Do I have to change the format or is this function not working correct by now?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-14 22:47:09
I want to create an average rating for each album and I'm using this format:
$avg(%rating%): %artist% - %album%|%title%

What I get are folders with the songs of an album which have the same rating,e.g.

3.00: ALBUM A (folder contains all songs of this album with rating 3)
4.00: ALBUM A
2.00: Album B
4.00: ALBUM B

Do I have to change the format or is this function not working correct by now?


$avg should be working, but the evaluation needs to be delayed until the item is displayed, not at the time of the initial query, which can be done using quoats, but its gets a little hairier because we want the inner %artist% not not be evaluated until inside the $avg.  Long story short, this might work:

Code: [Select]
'$tag('$char(39)'%artist%'$char(39)')' : %artist% - %album%|%title%


I should be adding the @quote operator into the formatting, but its not there yet.  Once I do, it shouild simplify this a little to:

Code: [Select]
@quote<$tag('%artist%')>
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-15 03:12:33
I am having a problem with the current beta.  The plugin won't let me on its configuration page access any of the options for selection action, nor doubleclick action.  When I select either of these two options no choices are available from the drop down menus.    And yes, I have the tree enabled.
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-04-15 11:59:29
i´m using the stable version for 8.3 now. very nice plugin thanks for that.
but it always give me the message "plalist.col doesnt seem to be a proper playlisttree-file" or something like when i startup foobar. after that, it works just fine, so no problem expect this strange message. i only edited the .col file which was together with the .dll.

any ideas?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-15 15:20:47
i´m using the stable version for 8.3 now. very nice plugin thanks for that.
but it always give me the message "plalist.col doesnt seem to be a proper playlisttree-file" or something like when i startup foobar. after that, it works just fine, so no problem expect this strange message. i only edited the .col file which was together with the .dll.


There's probably an extra newline or some other character affecting the parsing.

I switched to a more robust file structure for 2.x.x, so hopefully problems likes this will not happen anymore.

I am having a problem with the current beta.  The plugin won't let me on its configuration page access any of the options for selection action, nor doubleclick action.  When I select either of these two options no choices are available from the drop down menus.    And yes, I have the tree enabled.


What version of windows are you running?
Title: foo_playlist_tree
Post by: gob on 2006-04-15 19:12:23
hey, i have a very simple feature request that will go a long way. can you add in the options a drop down list of actions to perform when the enter key is pressed? just like the double click action. this way you can use devices other than the mouse to work with the tree.
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-15 23:55:10

I am having a problem with the current beta.  The plugin won't let me on its configuration page access any of the options for selection action, nor doubleclick action.  When I select either of these two options no choices are available from the drop down menus.    And yes, I have the tree enabled.


What version of windows are you running?


I am running windows 2000.
Title: foo_playlist_tree
Post by: vlada on 2006-04-16 02:19:29
Hi, I have some problems with current playlist tree. The most serious trouble is this: I create some queries using playlist tree and then I save it. After foobar2000 restart it is all lost. But the saved file seems to be O.K. So I think I might have to check somewhere to automatically load the .pts file at sturtup. Have I missed the option?

Another problem is interference between playlist tree and browser. They both use the same playlist called *browser* although in playlist tree configuration is set to use *playlist_tree* playlist.

And now my last question. How can I put 2 conditions in a query? I something like (genre IS rock) AND (%play_counter% EQUAL 0). What is the correct syntax? And why there is genre without "%" signs?

Thank you.
Title: foo_playlist_tree
Post by: Birk on 2006-04-16 13:29:42
You can simple use "genre IS rock AND %play_counter% EQUAL 0"

The playlist tree uses the *Browser* playlist because the default selection action is "browse" and not "Playlist Tree/send to library playlist".


I have a request: I use "Playlist Tree/send to library playlist" as action, but I want the playlist be automatic activatet when I select an item (like with the browser).
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-16 16:00:58
Hi, I have some problems with current playlist tree. The most serious trouble is this: I create some queries using playlist tree and then I save it. After foobar2000 restart it is all lost. But the saved file seems to be O.K. So I think I might have to check somewhere to automatically load the .pts file at sturtup. Have I missed the option?


You need to right click in the playlist tree panel, but not on any items.  You can then select one of the first two options to set up a automatic save and restore file.


I am running windows 2000.


I will look into it... Does the "Edge Style" option combo box work for you?
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-16 16:49:43

Hi, I have some problems with current playlist tree. The most serious trouble is this: I create some queries using playlist tree and then I save it. After foobar2000 restart it is all lost. But the saved file seems to be O.K. So I think I might have to check somewhere to automatically load the .pts file at sturtup. Have I missed the option?


You need to right click in the playlist tree panel, but not on any items.  You can then select one of the first two options to set up a automatic save and restore file.


I am running windows 2000.


I will look into it... Does the "Edge Style" option combo box work for you?


No.  It also has the same issue.
Title: foo_playlist_tree
Post by: spanky1406 on 2006-04-16 22:10:35

I want to create an average rating for each album and I'm using this format:
$avg(%rating%): %artist% - %album%|%title%

What I get are folders with the songs of an album which have the same rating,e.g.

3.00: ALBUM A (folder contains all songs of this album with rating 3)
4.00: ALBUM A
2.00: Album B
4.00: ALBUM B

Do I have to change the format or is this function not working correct by now?


$avg should be working, but the evaluation needs to be delayed until the item is displayed, not at the time of the initial query, which can be done using quoats, but its gets a little hairier because we want the inner %artist% not not be evaluated until inside the $avg.  Long story short, this might work:

Code: [Select]
'$tag('$char(39)'%artist%'$char(39)')' : %artist% - %album%|%title%


I should be adding the @quote operator into the formatting, but its not there yet.  Once I do, it shouild simplify this a little to:

Code: [Select]
@quote<$tag('%artist%')>



No it's not working for me, cause I don't get the value but $avg(%rating%)('%artist%').
I will wait for the @quote-function and try it again...
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-17 13:22:04
No it's not working for me, cause I don't get the value but $avg(%rating%)('%artist%').
I will wait for the @quote-function and try it again...


Try:
Code: [Select]
@format<'$tag('$char(39)'%artist%'$char(39)')'> : %artist% - %album%|%title%
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-17 13:44:47
I am having a problem with the current beta.  The plugin won't let me on its configuration page access any of the options for selection action, nor doubleclick action.  When I select either of these two options no choices are available from the drop down menus.    And yes, I have the tree enabled.


Have you tried selecting the item, then trying to scroll through the list with the arrow keys?  This wouldnt be a fix, but it will help me figure out more precisely what the problem is...
Title: foo_playlist_tree
Post by: carmenm on 2006-04-17 15:08:33
I am new to playlist tree panel and i was wondering if it was possible to create dynamic playlist name when left clicking on a folder in playlist tree panel.
For example i have a query for my folder soundtracks. I would like that if i open it and left click on "The Rock", it would create a playlist named "The Rock".
Is that possible?

Another question, i would like to have queries that does exactly the same as album list panel in  by directory structure view.how can i do that?
Title: foo_playlist_tree
Post by: vlada on 2006-04-17 21:17:28
You can simple use "genre IS rock AND %play_counter% EQUAL 0"

The playlist tree uses the *Browser* playlist because the default selection action is "browse" and not "Playlist Tree/send to library playlist".


Thank you for the advice. And what about a playlist with music only. Is there something like "genre IS NOT Speech"? I tried this syntax but it doesen't work. What is the difference between IS and EQUAL, is it somewhere explained? I can not find it.

Quote
I have a request: I use "Playlist Tree/send to library playlist" as action, but I want the playlist be automatic activatet when I select an item (like with the browser).


I add my vote for this feature.

And now I have one more problem with playlist_tree and browser. I renamed/moved some of my files, how can I update them? I see duplicate entries for some files and also dead entries. Rescanning the library only added new files, but didn't delete the non-existing ones.

Thank you all for your advices.
Title: foo_playlist_tree
Post by: foosion on 2006-04-17 21:22:33
The IS operator compares text, while EQUAL compares numbers. Negation can be achieved by applying NOT to the whole expression, i.e. "NOT genre IS speech".
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-18 00:09:29

I am having a problem with the current beta.  The plugin won't let me on its configuration page access any of the options for selection action, nor doubleclick action.  When I select either of these two options no choices are available from the drop down menus.    And yes, I have the tree enabled.


Have you tried selecting the item, then trying to scroll through the list with the arrow keys?  This wouldnt be a fix, but it will help me figure out more precisely what the problem is...


I can using the arrow keys scoll through the choices, but the drop down menu does not work.
Title: foo_playlist_tree
Post by: spanky1406 on 2006-04-18 15:33:07

No it's not working for me, cause I don't get the value but $avg(%rating%)('%artist%').
I will wait for the @quote-function and try it again...


Try:
Code: [Select]
@format<'$tag('$char(39)'%artist%'$char(39)')'> : %artist% - %album%|%title%



  We are getting closer...

Now all my albums are listed, but everyone has the Value 0.00
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-18 15:34:23
We are getting closer...

Now all my albums are listed, but everyone has the Value 0.00


If you edit one of the album folders, what is its label?
Title: foo_playlist_tree
Post by: spanky1406 on 2006-04-18 15:53:30
If you edit one of the album folders, what is its label?


This one for example:

Code: [Select]
@format<$avg(%rating%)('%artist%')> : Bruce Springsteen - The River
Title: foo_playlist_tree
Post by: carmenm on 2006-04-18 16:07:28
I am new to playlist tree panel and i was wondering if it was possible to create dynamic playlist name when left clicking on a folder in playlist tree panel.
For example i have a query for my folder soundtracks. I would like that if i open it and left click on "The Rock", it would create a playlist named "The Rock".
Is that possible?

Another question, i would like to have queries that does exactly the same as album list panel in  by directory structure view.how can i do that?

Can someone help me please ???
Title: foo_playlist_tree
Post by: lav-chan on 2006-04-19 06:54:38
Question!

Is there any way to reverse only the top-level sorting? e.g., i want to sort by date added, so i check the reverse box and i have it set to show the added date as an item in the tree. But then all the albums and tracks under the dates are reversed too. Can i have just the added date backwards and everything else normal, or is that not possible?

Also, what does the 'sort by display name after populating' thing do? Like all i can get it to do is make them sort in alphabetical order according to the format string... which i don't understand, because if i wanted to do that why wouldn't i just leave the sort box blank.

Oh, and two other things:

- How do i get PLT to sort my library play list correctly? I can't figure out how it's sorting, it's like semi-random. edit: Oh, i guess it's sorting the same way the tree is. Can i make it not do that? (Same problem as my first question, i guess; all my songs in the list are backwards.)

- Is there any way to get the leaves to show only for selected queries? i.e., i want to hide the individual tracks from all my folders except for one. I figured i could just get rid of the last item in the formatting thing (everything after the last '|' thing), but apparently not.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-19 13:19:21
Is there any way to reverse only the top-level sorting? e.g., i want to sort by date added, so i check the reverse box and i have it set to show the added date as an item in the tree. But then all the albums and tracks under the dates are reversed too. Can i have just the added date backwards and everything else normal, or is that not possible?


You could use some of the mathematics operators to reverse sort by date added.  I dont know what format your date added is in but if for example, you wanted to reverse sort based on tracknumber you could use $sub(999999,%tracknumber%)|...

Quote
Also, what does the 'sort by display name after populating' thing do? Like all i can get it to do is make them sort in alphabetical order according to the format string... which i don't understand, because if i wanted to do that why wouldn't i just leave the sort box blank.


Sort by alphabetical order is what it does, with folders higher precedence than leaves.

Quote
- Is there any way to get the leaves to show only for selected queries? i.e., i want to hide the individual tracks from all my folders except for one. I figured i could just get rid of the last item in the formatting thing (everything after the last '|' thing), but apparently not.


No this isnt possible.  Hiding leaves is an all or nothing thing.
Title: foo_playlist_tree
Post by: pIv on 2006-04-19 13:53:54
It is possible today get system time in current beta as in version 1.7.18 ?

I want random select  N songs not played today yet.

In ver 1.7.18 I use next query
Code: [Select]
$if($strcmp($substr(%last_played%,1,10),$substr(@format<%_datetime%>,1,10)),0,1)
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-19 13:55:01
It is possible today get system time in current beta as in version 1.7.18 ?


Not currently.
Title: foo_playlist_tree
Post by: carmenm on 2006-04-19 14:34:33
cwbowron could you help me please, i have two little questions:

- i was wondering if it was possible to create dynamic playlist name when left clicking on a folder in playlist tree panel.
For example i have a query for my folder soundtracks. I would like that if i open it and left click on "The Rock", it would create a playlist named "The Rock".

- i would like to have queries that does exactly the same as album list panel by directory structure view.how can i do that?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-19 14:46:39
- i was wondering if it was possible to create dynamic playlist name when left clicking on a folder in playlist tree panel.


It is not possible with the latest release, but the in next version this will be possible by using %_name% as the library playlist name.

Quote
- i would like to have queries that does exactly the same as album list panel by directory structure view.how can i do that?


This might be similar:
(http://foobar.bowron.us/by_directory.png)

you could also use $replace(%_path%,\,|) as the format to get the complete path information.
Title: foo_playlist_tree
Post by: carmenm on 2006-04-19 15:07:00
It is not possible with the latest release, but the in next version this will be possible by using %_name% as the library playlist name.


Huge, really looking forward to it
This might be similar:
(http://foobar.bowron.us/by_directory.png)

you could also use $replace(%_path%,\,|) as the format to get the complete path information.

This is a solution but it doesnt work when on my HD i have something like MArillion/Script For A Jester Tears/Cd1/....

So i could use your second solution which seems good but that way i would have
E
|--bands
  |--Marillion
    |--Script For A Jester
      |--Cd1 .....

and i only would like
|--Marillion
    |--Script For A Jester
      |--Cd1 .....

So i am thinking that i could do something like first remove "E:/bands/" from %_path% and then do $replace(%_path%,\,|). Do you think it could work ?(cannot test right now cause i m at work)
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-19 15:10:14
So i could use your second solution which seems good but that way i would have
E
|--bands
  |--Marillion
    |--Script For A Jester
      |--Cd1 .....

and i only would like
|--Marillion
    |--Script For A Jester
      |--Cd1 .....

So i am thinking that i could do something like first remove "E:/bands/" from %_path% and then do $replace(%_path%,\,|). Do you think it could work ?(cannot test right now cause i m at work)


Yes, you can use $right() or $substr() to get you the string without E:/Bands in it.  Look at titleformat_help.html in your foobar2000 directory for more info.
Title: foo_playlist_tree
Post by: Zurman on 2006-04-19 15:58:00

So i could use your second solution which seems good but that way i would have
E
|--bands
  |--Marillion
    |--Script For A Jester
      |--Cd1 .....

and i only would like
|--Marillion
    |--Script For A Jester
      |--Cd1 .....

So i am thinking that i could do something like first remove "E:/bands/" from %_path% and then do $replace(%_path%,\,|). Do you think it could work ?(cannot test right now cause i m at work)


Yes, you can use $right() or $substr() to get you the string without E:/Bands in it.  Look at titleformat_help.html in your foobar2000 directory for more info.

This is juste great, I had a 5 line long query to simulate a directory structure, now I just have $replace(%_path%,E:\Musique\,,\,|) 

Thank you !
Title: foo_playlist_tree
Post by: carmenm on 2006-04-19 16:15:06
Yes, you can use $right() or $substr() to get you the string without E:/Bands in it.  Look at titleformat_help.html in your foobar2000 directory for more info.

Coool, looking forward to test it this evening


This is juste great, I had a 5 line long query to simulate a directory structure, now I just have $replace(%_path%,E:\Musique\,,\,|) 

Thank you !

Do not thank me, thanks cwbowron cause he is the one who gave the tip about $replace(%_path%,\,|) 
Title: foo_playlist_tree
Post by: Zurman on 2006-04-19 16:40:32
Do not thank me, thanks cwbowron cause he is the one who gave the tip about $replace(%_path%,\,|) 

I thank you both
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-19 17:05:06
Is it possible to now have two or more playlist tree panels at once?  And if so, can one have two or more playlist tree panels in the sidebar?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-19 17:37:34
Is it possible to now have two or more playlist tree panels at once?  And if so, can one have two or more playlist tree panels in the sidebar?


Yep.  Just hold down shift when you select the 2nd or more panel...
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-20 21:33:10
2.0.3 is out. 

http://foobar.bowron.us/foo_playlist_tree.zip (http://foobar.bowron.us/foo_playlist_tree.zip)

Changelog:

Quote
*  fixed new folder bug: http://bowron.us/smf/index.php?topic=218.0 (http://bowron.us/smf/index.php?topic=218.0)
    * Enabled "Refresh everytime a new track starts" - For refresh $playing() queries - example
    * Playlist Tree/New playlist names playlist the name of the source node if the contents come from a tree node, "New" otherwise.
    * Search edit box colors are same as trees
    * Added collapse tree option to playlist tree panel menu
    * basic tree search toolbar - uses playlistgen syntax
    * "Redraw Tree" option in playlist tree panel menu - useful if you change default icons
    * @quote tag processing in query format string
    * Option to remove last library playlist on send. Useful when library playlist name has TAGZ
    * Library Playlist name can have tagz
    * Option to activate library playlist when sent to
    * Mouse actions have their own separate configuration page under playlist tree main configuration
    * added middle click, right click and right click + shift options
    * added [local] operations to selection actions and double click actions. Most items in the Playlist Tree main menu and local node context menu can be found under [local]
    * fixed edge styles
    * Main menu options: Selection/foobar2000 context menu and Selection/Local context menu - for your keymapping pleasure
    * case insensitive test for add_child_conditional => query results will be added to nodes in a case insensitive manner.
    * option:
          o Bitmaps: Load Windows Bitmaps - Loads the shell icons
          o Requires restart
          o You will probably need to change your folder, leaf and query icons becuase I load the system icons first because its much easier that way.
Title: foo_playlist_tree
Post by: ledge on 2006-04-20 22:03:48
2.0.3 is out. 

http://foobar.bowron.us/foo_playlist_tree.zip (http://foobar.bowron.us/foo_playlist_tree.zip)


Fantastic! Thank you for getting this out so quickly.
Title: foo_playlist_tree
Post by: carmenm on 2006-04-21 00:00:53
Tahnk you Thank you cwbowron, this last build is just amazing. And for the shell icons .... just great ....
Title: foo_playlist_tree
Post by: foosion on 2006-04-21 00:43:28
Playlist tree crashes, if bitmaps are enabled and the foobar2000 icon path is wrong (for example because the hardcoded path is different from the actual installation path).
Title: foo_playlist_tree
Post by: gob on 2006-04-21 04:04:59
2.0.3 working nicley here. glad to see the refresh feature for new tracks. any chance of enter key support?
Title: foo_playlist_tree
Post by: unknownllama on 2006-04-21 06:29:46
The new version works great. Good Work!
Title: foo_playlist_tree
Post by: pIv on 2006-04-21 09:06:10
I found next bug.

In version for foobar 0.83 I can place tags as %_size_abbr% in Label Query.

Now this work only if I use @format<%_size_abbr%>. but when I place this in Label Query (Name_of_query @format<%_size_abbr%>) and apply changes, then EDIT again I see in Label Query -  "Name_of_query nnK".  This "nnK" is last value %_size_abbr%, but not function call.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-21 13:24:20
Release 2.0.3b

    * Fixed crash if icon directory does not exist
    * Fixed preprocessing away @format in query labels
Title: foo_playlist_tree
Post by: spanky1406 on 2006-04-21 13:36:39
deleted.

cwbowron was faster with his new release...
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-21 13:43:35
deleted.

cwbowron was faster with his new release...


BTW, this format seemed to work... you can modify it for your purposes:

@quote<@format<$avg('%_filesize%')>> %album%|[$num(%tracknumber%,2) - ]%title%
Title: foo_playlist_tree
Post by: spanky1406 on 2006-04-21 13:53:05
BTW, this format seemed to work... you can modify it for your purposes:

@quote<@format<$avg('%_filesize%')>> %album%|[$num(%tracknumber%,2) - ]%title%


Great! It works! Thanks for your help.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-21 14:36:45
I've seen that there are some tutorials on the web in various languages for non-English speakers.  If you have or know of a good tutorial, please let me know the language and the URL and I will add it to the official homepage.

Thanks
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-04-21 16:02:35
maybe i missed something, but there arent any pt-related menus when right-clicking in playlist tree for 0.9, are there? must i really use my shortcuts for it, or is there a way to get back to the old pt-menu?
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-21 16:09:23
maybe i missed something, but there arent any pt-related menus when right-clicking in playlist tree for 0.9, are there? must i really use my shortcuts for it, or is there a way to get back to the old pt-menu?


middle click or shift+right click in the default setup.
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-04-21 16:21:50
thx
Title: foo_playlist_tree
Post by: Shade[ST] on 2006-04-21 19:02:17
Presumably Track Finder is in this DLL ... is there any way a next version could have a toggle for selection / general playlist instead?  I could replace my playlist find with this, easily...
Title: foo_playlist_tree
Post by: YuriPavE on 2006-04-21 20:06:07

- i was wondering if it was possible to create dynamic playlist name when left clicking on a folder in playlist tree panel.


It is not possible with the latest release, but the in next version this will be possible by using %_name% as the library playlist name.

Quote
- i would like to have queries that does exactly the same as album list panel by directory structure view.how can i do that?


This might be similar:

A quick question, can I sort the directory structure as i see in windows explorer?
Just because my folders are chinese and didnt sort like windows
Thanks!
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-21 20:24:51
Quote
' date='Apr 21 2006, 02:02 PM' post='384834']
Presumably Track Finder is in this DLL ... is there any way a next version could have a toggle for selection / general playlist instead?  I could replace my playlist find with this, easily...


Yes, Track Finder is in this DLL.  I had thought about releasing it as its own component, but it uses a lot of the same code that they might as well both be together.

Until I get a toggle in there, you can always click on a playlist tab and select track finder to do navigate all the entries in the playlist.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-21 21:19:42
I'm having some issues with drag and drop locking up fb2k.  Is anyone having similar issues? 

I'm having a hard time figuring out what the problem is because it works fine when i run it under visual studio, but then conks out when running standalone.
Title: foo_playlist_tree
Post by: Shade[ST] on 2006-04-21 23:08:09
I'm having some issues with drag and drop locking up fb2k.  Is anyone having similar issues? 

I'm having a hard time figuring out what the problem is because it works fine when i run it under visual studio, but then conks out when running standalone.

Drag and drop from what?  I drag all my audio files to playlists before playing them / converting them.  I have browser and playlist tree installed, but only use playlist tree. And it's not set up to my preferences, yet.

By the way, the reason I wanted a toggle was to set up a keyboard shortcut to quickly navigate to a track.. say f4, which could pop a fast list to find a track, quickly.
Title: foo_playlist_tree
Post by: carmenm on 2006-04-21 23:19:29
Just realised that using $replace(%_path%,E:\soundtracks\,,\,|) as a query does not work perfectly. I thought it was ok until i saw that in the "Soundtracks" folder created there was also "E:" with all its content inside....

Does someone knows how to get rid of it?
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-22 03:17:10
I was successfully running 2.0.3 yesterday, and I installed 2.0.3b today and I cannot get any of my queries to show any results.  I am running windows 2000.  Is there a new setting that I am missing?

I fixed the problem?  I had to re-enable show root and then quiery results showed up.
Title: foo_playlist_tree
Post by: aleangel14 on 2006-04-22 13:40:01
Hi!!I'm italian and my english is very bad!!I have this problem when I has install this plugin in my foo2k(version 0.9):
When I go with the mouse on "album list" and click with the right button and go to  "track finder.." the program crash and appear this message on my blocknotes:

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0176E440h
Access violation, operation: read, address: 00000000h
Call path:
entry=>app_mainloop=>contextmenu_item_node::execute
This is the first crash logged by this instance.
Code bytes (0176E440h):
0176E400h:  FF FF 8B 54 24 2C C6 44 24 1C 01 8B 4C 24 10 8B
0176E410h:  01 8B 40 0C 52 8D 54 24 10 52 FF D0 C6 44 24 1C
0176E420h:  00 8B 4C 24 10 85 C9 88 44 24 24 74 06 8B 11 8B
0176E430h:  02 FF D0 80 7C 24 24 00 6A 00 74 44 8B 4C 24 2C
0176E440h:  8B 55 00 8B 52 10 8D 44 24 10 50 57 51 8B CD FF
0176E450h:  D2 C7 44 24 1C FF FF FF FF 8B 4C 24 0C 85 C9 0F
0176E460h:  B6 F0 74 06 8B 01 8B 10 FF D2 8B C6 8B 4C 24 14
0176E470h:  64 89 0D 00 00 00 00 59 5E 5D 83 C4 14 C2 0C 00
Stack (0012F310h):

etc. etc.

What is my error?
Title: foo_playlist_tree
Post by: Andu on 2006-04-26 11:35:44
Is there a way to restore the old tree that I had with 1.7.x? Because I haven't found a way to import the tree from the .col yet.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-26 14:49:56
Is there a way to restore the old tree that I had with 1.7.x? Because I haven't found a way to import the tree from the .col yet.


No, I have not included any way to import collections from 1.7.x.

It would be possible to write a small program possibly in perl or emacs lisp program to convert them, but I do not plan to support the old file format in 2.x.x natively because that file format was a hack to support files that I had created in another tool and was not very robust.

If anyone with programming experience would like to take a stab at it, i can furnish code in C to read the old format and to write the new format.
Title: foo_playlist_tree
Post by: Shade[ST] on 2006-04-26 17:19:41
I have a bug to report with Trackfinder.. If you try to use it on a large group of files (2000+), it crashes foobar after a few seconds, and makes the system unresponsive.  Maybe you have a memory leak or something, but I didn't see resources go up in the taskman.  A solution would be to check how many files are listed, and cut the number to a lower one prior to listing.
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-26 17:35:08
I am having a problem, and I have a suggestion.

First, the problem.  I cannot get my tree to save and restore and have to re-load my pts file each time I re-start foobar.  I have removed the tree and re-added it.  I then exit foobar, and it asks me to save the restore file which I do.  I then restart foobar, and the tree does not re-load my restore file.

Second, it would be great if you could include in the playlist tree choices which show up on either the main or context menu options for button configuration to close all open nodes.  This way a user could bind this command to a button which would be convenient way to close all open nodes.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-26 18:27:42
Quote
' date='Apr 26 2006, 12:19 PM' post='386562']
I have a bug to report with Trackfinder.. If you try to use it on a large group of files (2000+), it crashes foobar after a few seconds, and makes the system unresponsive.  Maybe you have a memory leak or something, but I didn't see resources go up in the taskman.  A solution would be to check how many files are listed, and cut the number to a lower one prior to listing.


There is a limit to the number of items that you can add to the internal menu stucture in windows, and its exceeding that and crashing.  Is it actually crashing foobar2000 or is it just causing it be unresponsive for a long time?  I've not seen it actually crash myself, but i have seen it take a long time to try to generate the menu structure, then fail to actually be able to show the menu.  When this happens there should be an error message on the console.

I plan to add a variable that controls the maximum number of tracks for which track finder will work

First, the problem.  I cannot get my tree to save and restore and have to re-load my pts file each time I re-start foobar.  I have removed the tree and re-added it.  I then exit foobar, and it asks me to save the restore file which I do.  I then restart foobar, and the tree does not re-load my restore file.


Try setting the auto save/restore file before you exit.  Right click on any empty space in the panel and select one of the first 2 options.
Title: foo_playlist_tree
Post by: zlebandit on 2006-04-26 18:39:39
Hi all,
I used to play with playlist tree on the 0.83 version of foobar.
I'm testing the 0.9 because now playlist tree is implemented .
But it seems very different for the qweries :
label : @format<@quote<@playing<%artist%>>>
query : artist IS @playing<%artist%>
format : '@icon<1>'['['%date%']'] %album%|$num(%tracknumber%,2)  %title%

does not seem to work anymore !
what must in change ?
any examples somewhere ?
thanls a lot and thank you for this great extension which is a must have.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-26 18:43:12
Hi all,
I used to play with playlist tree on the 0.83 version of foobar.
I'm testing the 0.9 because now playlist tree is implemented .
But it seems very different for the qweries :
label : @format<@quote<@playing<%artist%>>>
query : artist IS @playing<%artist%>
format : '@icon<1>'['['%date%']'] %album%|$num(%tracknumber%,2)  %title%

does not seem to work anymore !
what must in change ?
any examples somewhere ?
thanls a lot and thank you for this great extension which is a must have.


http://foobar.bowron.us/using_refresh.png (http://foobar.bowron.us/using_refresh.png)
Title: foo_playlist_tree
Post by: carmenm on 2006-04-27 09:26:28
i hqve a problem using $replace(%_path%,E:\soundtracks\,,\,|) as a query, it does not work as i thought it would. I saw that in the "Soundtracks" folder created there was also "E:" with all its content inside....

I dont really understand why, does someone see anything that could help me. I tried a lot of things like using substring or right without success
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-27 13:20:01
i hqve a problem using $replace(%_path%,E:\soundtracks\,,\,|) as a query, it does not work as i thought it would. I saw that in the "Soundtracks" folder created there was also "E:" with all its content inside....

I dont really understand why, does someone see anything that could help me. I tried a lot of things like using substring or right without success


You are replacing "E:\soundtracks" but the actual files are apparently "E:\Soundtracks".  Its a case sensitivity issue.  Try using $replace($lower(%_path%)...
Title: foo_playlist_tree
Post by: carmenm on 2006-04-27 13:37:48
You are replacing "E:\soundtracks" but the actual files are apparently "E:\Soundtracks".  Its a case sensitivity issue.  Try using $replace($lower(%_path%)...

I am not sure(i am at work ...) that  its "E:\Soundtracks" so i ll try it this evening. from now on i ll use $replace($lower(%_path%)

Thanks for your quick answer cwbowron 
Title: foo_playlist_tree
Post by: carmenm on 2006-04-27 18:13:43
After verification, the problem is still there. it was not a problem of case.
My request is $replace(%_path%,E:\soundtracks\,,\,|) and the folder exact name is "soundtracks".
I dont understand
Title: foo_playlist_tree
Post by: Fitret on 2006-04-27 22:09:49
I just grabbed the plugin an hour or so ago and I absolutely love it.  However, I have a question.

I'm trying to make a set up similar to what a user did with the old version, namely http://img447.imageshack.us/my.php?image=desktop2iv.png (http://img447.imageshack.us/my.php?image=desktop2iv.png)

In trying to get the Now Playing: ARTIST folder, I realized that folders don't have the option to be updated whenever a track starts.  So what I've done for now is to make a query with the critera "artist IS aoweifjavjwe", which should never occur.  However, this seems like a hack solution... can I set the source to be none, rather than the database?

Edit: Also, is there a way to check to see if something is playing?  If nothing is playing, my "Now Playing" folders go a bit wonky sometimes.
Title: foo_playlist_tree
Post by: Stuart60611 on 2006-04-27 23:42:38
I just grabbed the plugin an hour or so ago and I absolutely love it.  However, I have a question.

I'm trying to make a set up similar to what a user did with the old version, namely http://img447.imageshack.us/my.php?image=desktop2iv.png (http://img447.imageshack.us/my.php?image=desktop2iv.png)

In trying to get the Now Playing: ARTIST folder, I realized that folders don't have the option to be updated whenever a track starts.  So what I've done for now is to make a query with the critera "artist IS aoweifjavjwe", which should never occur.  However, this seems like a hack solution... can I set the source to be none, rather than the database?

Edit: Also, is there a way to check to see if something is playing?  If nothing is playing, my "Now Playing" folders go a bit wonky sometimes.



The answer to your question is about four posts above.  http://www.hydrogenaudio.org/forums/index....ndpost&p=386591 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=29435&view=findpost&p=386591)
Title: foo_playlist_tree
Post by: Fitret on 2006-04-27 23:51:45

I just grabbed the plugin an hour or so ago and I absolutely love it.  However, I have a question.

I'm trying to make a set up similar to what a user did with the old version, namely http://img447.imageshack.us/my.php?image=desktop2iv.png (http://img447.imageshack.us/my.php?image=desktop2iv.png)

In trying to get the Now Playing: ARTIST folder, I realized that folders don't have the option to be updated whenever a track starts.  So what I've done for now is to make a query with the critera "artist IS aoweifjavjwe", which should never occur.  However, this seems like a hack solution... can I set the source to be none, rather than the database?

Edit: Also, is there a way to check to see if something is playing?  If nothing is playing, my "Now Playing" folders go a bit wonky sometimes.



The answer to your question is about four posts above.  http://www.hydrogenaudio.org/forums/index....ndpost&p=386591 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=29435&view=findpost&p=386591)


Thanks for reading what I wrote!

Seriously though, anyone know what I can do about this?  I can post specifically what I'm using for my 4 queries, or take screens if necessary.

Edit: Now I'm also having another problem.  As the screenshot I linked to indictates, I have a Now Playing folder with a few subfolders.  Well, sometimes when the artist changes, and sometimes when just the song changes, everything below the main "Now Playing: ARTIST" folder disspears and I have to reload.  This is probably linked to the general saving error that's happening, but I tried the solution that was posted earlier and while that saves my config in between foobar loads, it doesn't when the query updates when a new song loads.  Could this be because I'm using a query that updates on new song loads that has subqueries?

Edit: Just confirmed that if I switch to a field that doesn't update everytime the artist changes that the subqueries aren't deleted every time.  If my problem isn't clear, I can post screens, or someone can hit me up on AIM, my SN is Fitret.
Title: foo_playlist_tree
Post by: cwbowron on 2006-04-28 16:10:28
Release 2.0.5 for use with ColumnsUI 0.1.3 beta 1
Title: foo_playlist_tree
Post by: carmenm on 2006-04-28 16:13:03
Release 2.0.5 for use with ColumnsUI 0.1.3 beta 1

That was not a long wait!!! 

EDIT: i still have the problem with $replace(%_path%,E:\bands\,,\,|) which shows also E: (not due to case); anyone see a reason or another way to do it?
Title: foo_playlist_tree
Post by: carmenm on 2006-04-29 00:59:21
One another thing is that i am trying to make a more from... request.
it works perfeclty except that the label is @format<$playing('%artist%')>.
When i open that query the playlist name is "@format<$playing('%artist%')>@refresh"
is it possible for it to be the value of %artist%?(library playlist name is %_name%)
Title: foo_playlist_tree
Post by: zlebandit on 2006-04-30 17:03:41
Hi, One thing that i don't know how to do:
- a querie with the top 150 most played songs
- one with the last payed songs

Ooups, it's 2 queries...
Tks for help.

Re oups : one more quesiton.
I have songs with multiple genres (Jeff Mills in Electronique and Techno) and i would like to create a querie sorting artists by genre.
If a do this, Jeff Mills is no more in Electonique or Techno, he is classified in Electronique, Tecnho.
Is there a way for classify him in both genres or (if not possible) in the first one ?
Title: foo_playlist_tree
Post by: carmenm on 2006-04-30 18:35:28
zlebandit: you can find what you want here http://bowron.us/smf/index.php?topic=179.0 (http://bowron.us/smf/index.php?topic=179.0)
Title: foo_playlist_tree
Post by: zlebandit on 2006-04-30 18:43:14
Tks, but it's for the 0.83 !
Title: foo_playlist_tree
Post by: carmenm on 2006-04-30 19:00:54
yeah but you can just take a look at the file and adapt it. It is really easy
Title: foo_playlist_tree
Post by: carmenm on 2006-04-30 22:41:52
cwbowron:  i almost managed to resolve my problem about E:/ still appearing using $replace(%_path%,E:\bands\,,\,|) by using
$if($strcmp($left(%_path%,9),E:\bands\),$replace($substr(%_path%,10,$len(%_path%)-9),\,|),)

I still have a last problem. the fact that i use a $if() make that if the condition returns false it does nothing which here mean put the track. As a consequence i see well all my directories but after that i see alllll my songs.

Is there a way to tell him not to add the track if condition returns false?
I think i might also use the criteria to do the if but i cant find the syntax rules for playlist generator
Title: foo_playlist_tree
Post by: j conky on 2006-05-01 18:34:15
I am having a problem using the @drop source directive.  What I am wanting to do is to show the contents of my New Music directory.  Inside this directory I have Artist Folder\Album Folder\Files.  I used the following in my query:  @drop<H:\New Music\> for the source.  and @default for the format.  What is produced from this is the tree showing the ARTIST Folder, with the ALBUM Folder under it, but the music files are not included, and consequently, the music files are sent to the playlist. 

What I am getting:
+New Music
  +Artist 1
      Album1

What I am trying to get:
+New Music
  +Artist 1
      +Album1
        File1
        File2

I have been able to get this to work by changing the format to:%artist%|%album%|%filename% but I would really like to have it list the files as they are in the directory, as that would allow me to not have to worry about tagging the files correctly to get them to show.  Am I doing this incorrectly?  Any help would be greatly appreciated.
Title: foo_playlist_tree
Post by: Ono on 2006-05-01 22:55:32
I currently have a simple Top 200 most played tracks query.  What I want to do is cut it in half and have a Top 100 query (1 to 100) and then a Top 101-to-200 query.  Top 100 is easy to do obviously, but I don't know how to stop the Top 101-to-200 query displaying the first 100 tracks.

Is it possible?
Title: foo_playlist_tree
Post by: pIv on 2006-05-02 12:27:40
Hey cwbowron

I found next bug, but don't define this is a bug of foo_ui_columns.dll or foo_playlist_tree.dll.

When I change layout of colums (add or hide any panels) I lose last query in my playlist tree.

For example - I add console panels and lose last query, then I create last query again and hide console panels - lose last query. This bug not only with console panel, I see it  with any panels.
Title: foo_playlist_tree
Post by: carmenm on 2006-05-02 13:12:28
Hey cwbowron

I found next bug, but don't define this is a bug of foo_ui_columns.dll or foo_playlist_tree.dll.

When I change layout of colums (add or hide any panels) I lose last query in my playlist tree.

For example - I add console panels and lose last query, then I create last query again and hide console panels - lose last query. This bug not only with console panel, I see it  with any panels.

May be the playlist tree panel saves its config only when foobar is closing, so when you change the layout the playlist tree panel reload itself without your query being saved. Not sure but i think that after making a query, if foobar crash the query is lost.
Title: foo_playlist_tree
Post by: pIv on 2006-05-02 13:41:45

Hey cwbowron

I found next bug, but don't define this is a bug of foo_ui_columns.dll or foo_playlist_tree.dll.

When I change layout of colums (add or hide any panels) I lose last query in my playlist tree.

For example - I add console panels and lose last query, then I create last query again and hide console panels - lose last query. This bug not only with console panel, I see it  with any panels.

May be the playlist tree panel saves its config only when foobar is closing, so when you change the layout the playlist tree panel reload itself without your query being saved. Not sure but i think that after making a query, if foobar crash the query is lost.



When I create all querues of my playlist tree I save it and create its backup in another folder. This playlist tree saved on exit from FooBar normally.

I work with this playlist tree on any next start of FooBar and I dont lose its configuration.

Then I start FooBar and only if I change layout of columns - I lose last query in my playlist tree.
Title: foo_playlist_tree
Post by: gob on 2006-05-02 19:30:04
I am having a problem using the @drop source directive.  What I am wanting to do is to show the contents of my New Music directory.  Inside this directory I have Artist Folder\Album Folder\Files.  I used the following in my query:  @drop<H:\New Music\> for the source.  and @default for the format.  What is produced from this is the tree showing the ARTIST Folder, with the ALBUM Folder under it, but the music files are not included, and consequently, the music files are sent to the playlist. 

What I am getting:
+New Music
  +Artist 1
      Album1

What I am trying to get:
+New Music
  +Artist 1
      +Album1
        File1
        File2

I have been able to get this to work by changing the format to:%artist%|%album%|%filename% but I would really like to have it list the files as they are in the directory, as that would allow me to not have to worry about tagging the files correctly to get them to show.  Am I doing this incorrectly?  Any help would be greatly appreciated.


this is what i use, it just displays the files according to the filenames.
Source:
@drop<F:\Music\New Albums>

Format:
$puts(tree,$replace(%path%,\,|))
$replace($get(tree),F:|Music|New Albums|,)

Population order:
%path_sort%
Title: foo_playlist_tree
Post by: j conky on 2006-05-02 22:36:31
gob, that works perfectly.  thanks so much for your help.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-03 16:50:05
Release 2.0.6

New Features

    * Main menu items for:
          o Collapse Tree
          o Track Finder on Current Playlist
    * Local processing of space and enter
          o Renamed "Mouse" preferences to "Mouse and Keyboard"
          o Added options for Space and Enter keys in Mouse and Keyboard preferences
    * Added option to enable/disable keyboard shortcut processing in tree
    * Local Functions / Variables:
          o $parent
          o $hidetext
          o %_displayname% - similar to %_name% but will process away @icon<>, etc.

Bug fixes

    * Track Finder maximum (default 4000)
    * fixed @icon<x> in Library playlist name
    * fixed FAKE node bug (Edit a query before expanding it, click ok)
    * search will now always search the last active tree, not the first tree
    * Proper storage of save / restore filename when shutting down
Title: foo_playlist_tree
Post by: carmenm on 2006-05-03 19:35:02
Thanks Cwbowron for this update. I would like to use your plugin but i am stuck with my query in order to see my folder tree.
i tried something else as i said in this post http://www.hydrogenaudio.org/forums/index....29435&st=1175&# (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&st=1175&#)
but not exactly what i want, could you help me with it?
Title: foo_playlist_tree
Post by: j conky on 2006-05-03 19:36:27
I hope this has not already been asked and answered (I could not find anything)... so if it has, I am sorry.  Is there a way to set how the Libarary Playlist is sorted?  When I click on a query (for example... Decade... 1930) the files get sent to the Library Playlist, but are not sorted in the playlist according to the General Settings of "sort incoming files by:" settings.  I have tried various things, but none of them have worked, so any help would be greatly appreciated.
Title: foo_playlist_tree
Post by: carmenm on 2006-05-03 19:40:27
I hope this has not already been asked and answered (I could not find anything)... so if it has, I am sorry.  Is there a way to set how the Libarary Playlist is sorted?  When I click on a query (for example... Decade... 1930) the files get sent to the Library Playlist, but are not sorted in the playlist according to the General Settings of "sort incoming files by:" settings.  I have tried various things, but none of them have worked, so any help would be greatly appreciated.

I dont want to say something wrong but i think that when you choose a query, it is sorted in the playlist as it is sorted on the query. So you have to look a the format in you query.
At least that is what it seems to do here
Title: foo_playlist_tree
Post by: j conky on 2006-05-03 19:54:44
Thanks carmenm, that seems to be what is happening here.  After changing the Population Order, and unchecking "sort by display name" everything works fine.

EDIT - what I said above didn't seem to fix it... I'll try to mess with the query format to see if it will work.  I am a bit confused as to what controls the playlist sorting... i.e. is it the query format, population order, or both, etc.
Title: foo_playlist_tree
Post by: Ono on 2006-05-03 20:06:33
Hmm.  When I updated to latest version (from the 2nd latest) it disappeared from my columns ui layout, and I can no longer add it back in.

NM - Wrong columns ui version.
Title: foo_playlist_tree
Post by: j conky on 2006-05-03 21:07:50
Well, after messing with this some more, I am stumped.  Again, I am sorry if this has been covered somewhere else, and my knowledge of formating is not too great either.  My problem is the display of Various Artists albums and the Artists.  All my VA stuff is tagged with %Album Artist% = Various Artists and %Artist% = "Track Artist".  What I am trying to do is to have all the %Artist% tags (i.e. Track Artist and CD Artist for non-VA albums) show in the Tree.  So, for example if I expand the Tree for Decade, 1930, I would like it to show all the %artist% tags (track artists for VA albums, and artists for non-VA albums).  But, I would also like to have this to be sorted in playlist properly, by sorting by %Album Artist%, instead sorting by %artist%.

Here is what I am getting:

Query Format:
%decade%|%album artist%|%album%|%codec%|$num(%discnumber%,2)|[$num(%tracknumber%,2) - ]%title%

Population Order: @default

This shows up in the Tree as:

+Decade
-1930
+Artist
+Various Artists

This is properly sorted when sent to the playlist.

However when I use this:

Query Format:
%decade%|%artist%|%album%|%codec%|$num(%discnumber%,2)|[$num(%tracknumber%,2) - ]%title%

Population Order: @default

This shows in the Tree as:

+Decade
-1930
+Artist 1
+Artist 2

When this is sent to the playlist, the Various Artists albums are broken in album view because it is sorted by %artist% instead of %album artist%


I have tried changin the Population Order to sort by just %artist% and have the Query Format use the %album artist%, since, on the tutorial page it says that Population Order is the "order to fill the tree."  But this does not seem to work.

Again, I am sorry if this has been covered before.  If anyone can point me in the right direction, that would be wonderful.  Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-03 21:21:30
Well, after messing with this some more, I am stumped.  Again, I am sorry if this has been covered somewhere else, and my knowledge of formating is not too great either.  My problem is the display of Various Artists albums and the Artists.  All my VA stuff is tagged with %Album Artist% = Various Artists and %Artist% = "Track Artist".  What I am trying to do is to have all the %Artist% tags (i.e. Track Artist and CD Artist for non-VA albums) show in the Tree.  So, for example if I expand the Tree for Decade, 1930, I would like it to show all the %artist% tags (track artists for VA albums, and artists for non-VA albums).  But, I would also like to have this to be sorted in playlist properly, by sorting by %Album Artist%, instead sorting by %artist%.


The order of the playlist that is created from Send to Library playlist should be the exact order things are in the tree.

if your tree looks like this:

Code: [Select]
artist1
   album1
      f1
      f2
   album2
      f3
      f4
artist2
   album3
      f5
   album4
      f6


Then the playlist should just basically be a flattening of that to:
f1
f2
f3
f4
f5
f6
Title: foo_playlist_tree
Post by: gob on 2006-05-04 01:58:29
thank you cwbowron for enabling support for the enter key. new version works great.
Title: foo_playlist_tree
Post by: amiti on 2006-05-04 16:50:32
hi cwbowron,

I must have overlooked an option in the configuration window... can doubleclick on a tree node start playback of selected file/s in it?
(i am using v2.0.6)

Thanks,

Amit.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-04 16:54:25
I must have overlooked an option in the configuration window... can doubleclick on a tree node start playback of selected file/s in it?
(i am using v2.0.6)


I set my doube click option to "Edit/Send to current playlist and Play"

which is added to the context menu by foosion's utilities.

I also have a "Play" option in my context menu that is probably from foosion's utilities too that could be used to play an item.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-05 18:42:41
Release 2.0.7
Code: [Select]
New Features

    * @limit
    * @hidden - children are hidden and node is show as grayed out
          o example- any album with more than 8 tracks will be hidden
    * @hidden2 - children are hidden and node is not shown
    * do not refresh $playing<> tracks if nothing playing
    * Added back the dialog about the user map
    * Custom item colors - Currently only works for folders and queries
          o selection focus / selection on focus color options
          o @rgb<r,g,b> function - Applies to the entire label
          o preference option: custom colors - This must be enabled for @rgb and the selection color options to work
          o Example to alternate colors on query result folders:
                + @format<@quote<$ifgreater($mod(%_folderindex%,2),0,'@rgb<255,255,255>','@rgb<255,0,255>')>>%album%|[$num(%tracknumber%,2) - ]%title%]%title%
Title: foo_playlist_tree
Post by: carmenm on 2006-05-05 19:33:36
Thnak you cwbowron , it s becoming really powerfull!!
Title: foo_playlist_tree
Post by: speedemonV12 on 2006-05-05 20:17:46
is this only for 0.8.3?
Title: foo_playlist_tree
Post by: zlebandit on 2006-05-05 21:39:29
Hi, i'm playing with this 2.0.7 and i have a question:
if a querie returns 0 results, i would like the node not to be shown, so i tried to put this in the format :
@quote<@format<$if($greater(0,%_itemcount%),@hidden2 ,)>>%artist%|%album%|[$num(%tracknumber%,2) - ]%title%
But it doesn't seem to work...
Can you help me please ?
After, i'll try the coulours !!
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-05 21:46:21
Hi, i'm playing with this 2.0.7 and i have a question:
if a querie returns 0 results, i would like the node not to be seen, so i tried to put this in the format :
@quote<@format<$if($greater(0,%_itemcount%),@hidden2 ,)>>%artist%|%album%|[$num(%tracknumber%,2) - ]%title%
But it doesn't seem to work...
Can you help me please ?
After, i'll try the coulours !!


The format only applies to items added below the query folder.  In your case of a query with no items, no items are going to be added so the format is never used.

you could modify the LABEL of the query to appear greyed if no results are there using:

@format<$ifgreater(%_itemcount%,0,,@hidden )>

but you dont want to use @hidden2 here because then it will disappear on the next tree redraw (either a manual or the next file load) and you will never see the query.
Title: foo_playlist_tree
Post by: zlebandit on 2006-05-06 00:14:33
Tks, it works like a charm !
The only thing, is that the lines that go to the nod is visible, but no probem, this option gives a lot of possilibities !
Title: foo_playlist_tree
Post by: j conky on 2006-05-06 20:28:52
This component is amazing....  and I Love the new color control.  I haven't mentioned it before (as I just noticed it really) but the "Edge Style" selection is not working for me.  It appears it just shows in Sunken mode and I can't change it.  Is this occurring for others as well?
Title: foo_playlist_tree
Post by: et0x on 2006-05-06 23:26:26
problem here

i have playlist tree instaled but i it doesnt show 

(http://img223.imageshack.us/img223/7213/so6nj.th.jpg) (http://img223.imageshack.us/my.php?image=so6nj.jpg)
Title: foo_playlist_tree
Post by: j conky on 2006-05-07 00:33:31
problem here

i have playlist tree instaled but i it doesnt show 

(http://img223.imageshack.us/img223/7213/so6nj.th.jpg) (http://img223.imageshack.us/my.php?image=so6nj.jpg)


It looks like you are using an older version of columns UI... try updating it HERE (http://music.morbo.org/components.php)
Title: foo_playlist_tree
Post by: et0x on 2006-05-07 00:58:45
  yeah that was old columns ui    thanx j conky
Title: foo_playlist_tree
Post by: Silverbolt on 2006-05-07 01:38:56
Can someone point out what's wrong with this query (http://acmserver.cs.ucr.edu/~nthoang/playlist-tree.png)? The sum is always 0, though replacing $sum with $avg works (bug in $sum?).
Playlist tree 2.0.7, columns ui 0.1.3b1v5, and fb2k 0.9.1. Thanks.
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-05-07 21:26:21
i got a question: since i moved to 0.9.1 the pt doesnt save my tree correctly, everytime i restart foobar my config is gone and loading it from previously manual saved file doesnt work either...
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-05-08 01:01:45
Code: [Select]
 Illegal operation:
Code: C0000005h, flags: 00000000h, address: 011C956Eh
Access violation, operation: read, address: 000800A9h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (011C956Eh):
011C952Eh:  B8 04 1D 20 01 8B CF 8A 10 3A 11 75 1A 84 D2 74
011C953Eh:  12 8A 50 01 3A 51 01 75 0E 83 C0 02 83 C1 02 84
011C954Eh:  D2 75 E4 33 C0 EB 05 1B C0 83 D8 FF 3B C6 75 1C
011C955Eh:  8B 0D A8 56 21 01 3B CE 0F 84 BF 00 00 00 8B 01
011C956Eh:  8B 90 A4 00 00 00 FF D2 8B F0 EB 1B A1 98 58 21
011C957Eh:  01 8B 50 08 8B 73 28 6A FF 57 B9 98 58 21 01 FF
011C958Eh:  D2 89 1D AC 56 21 01 33 DB 89 5C 24 14 89 5C 24
011C959Eh:  18 8B CF 8D 54 24 14 89 5C 24 28 E8 62 88 FF FF
Stack (0012F9C4h):
0012F9A4h:  00F8DCDC 7C9C93A0 77F643DD 7C9C93A0
0012F9B4h:  00000004 00000000 00F8D1E8 00000000
0012F9C4h:  1E8B78F1 00000000 001E021C 00000102
0012F9D4h:  001E021C 00000102 006F6F58 06CDC420
0012F9E4h:  0012FA24 011FA898 FFFFFFFF 0012FA30
0012F9F4h:  011CB4A8 025BD2B8 1E8B7B39 0012FA98
0012FA04h:  011CB3D0 00000000 0012FAB0 01202444
0012FA14h:  025BD2B8 00000018 00000007 0012FAEC
0012FA24h:  0012FAB4 011F8E78 00000000 0012FA5C
0012FA34h:  77D48734 001E021C 00000102 0000000D
0012FA44h:  001C0001 011CB3D0 DCBAABCD 00000000
0012FA54h:  0012FA98 011CB3D0 0012FAC4 77D48816
0012FA64h:  011CB3D0 001E021C 00000102 0000000D
0012FA74h:  001C0001 0012FB50 0012FB48 006FDA08
0012FA84h:  00000014 00000001 00000000 00000000
0012FA94h:  00000010 00000000 77D70467 00000000
0012FAA4h:  00000000 00000000 0012FA78 0012F5E8
0012FAB4h:  0012FB14 77D70467 77D48830 00000000
0012FAC4h:  0012FB24 77D489CD 00000000 011CB3D0
0012FAD4h:  001E021C 00000102 0000000D 001C0001
Registers:
EAX: 00080005, EBX: 027A2C80, ECX: 02783CB0, EDX: 01202E00
ESI: 00000000, EDI: 025BD2B8, EBP: 0012F9F0, ESP: 0012F9C4
Crash location: "foo_playlist_tree", loaded at 011C0000h - 01223000h

Loaded modules:
foobar2000                      loaded at 00400000h - 004E0000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                        loaded at 7C800000h - 7C8F4000h
COMCTL32                        loaded at 773D0000h - 774D2000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 77DD0000h - 77E6B000h
RPCRT4                          loaded at 77E70000h - 77F01000h
GDI32                            loaded at 77F10000h - 77F57000h
USER32                          loaded at 77D40000h - 77DD0000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
SHELL32                          loaded at 7C9C0000h - 7D1D5000h
ole32                            loaded at 774E0000h - 7761D000h
shared                          loaded at 10000000h - 1002A000h
comdlg32                        loaded at 763B0000h - 763F9000h
LPK                              loaded at 629C0000h - 629C9000h
USP10                            loaded at 74D90000h - 74DFB000h
SynTPFcs                        loaded at 63000000h - 63014000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_albumlist                    loaded at 00DC0000h - 00E01000h
foo_audioscrobbler              loaded at 00E20000h - 00E58000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_cdda                        loaded at 00E80000h - 00EAD000h
foo_converter                    loaded at 00ED0000h - 00F31000h
foo_dsp_std                      loaded at 00F60000h - 00F9F000h
foo_input_std                    loaded at 00FC0000h - 010D3000h
foo_masstag                      loaded at 01100000h - 01150000h
foo_playcount                    loaded at 01170000h - 01198000h
foo_playlist_tree                loaded at 011C0000h - 01223000h
foo_rgscan                      loaded at 01250000h - 01294000h
foo_uie_albumart                loaded at 012C0000h - 012F0000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
foo_uie_albumlist                loaded at 01320000h - 0135F000h
foo_uie_trackinfo                loaded at 01380000h - 013AE000h
foo_ui_columns                  loaded at 013D0000h - 0146B000h
foo_ui_std                      loaded at 01490000h - 014E7000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
mswsock                          loaded at 71A50000h - 71A8F000h
DNSAPI                          loaded at 76F20000h - 76F47000h
winrnr                          loaded at 76FB0000h - 76FB8000h
WLDAP32                          loaded at 76F60000h - 76F8C000h
rasadhlp                        loaded at 76FC0000h - 76FC6000h
hnetcfg                          loaded at 662B0000h - 66308000h
wshtcpip                        loaded at 71A90000h - 71A98000h
DSOUND                          loaded at 73F10000h - 73F6C000h
WINMM                            loaded at 76B40000h - 76B6D000h
WINTRUST                        loaded at 76C30000h - 76C5E000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                          loaded at 77B20000h - 77B32000h
IMAGEHLP                        loaded at 76C90000h - 76CB8000h
wdmaud                          loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                          loaded at 73EE0000h - 73EE4000h
CLBCATQ                          loaded at 76FD0000h - 7704F000h
COMRes                          loaded at 77050000h - 77115000h
OLEAUT32                        loaded at 77120000h - 771AC000h
browseui                        loaded at 75F80000h - 7607D000h
dciman32                        loaded at 73BC0000h - 73BC6000h
xpsp2res                        loaded at 20000000h - 202C5000h
shdocvw                          loaded at 77760000h - 778CF000h
CRYPTUI                          loaded at 754D0000h - 75550000h
NETAPI32                        loaded at 5B860000h - 5B8B4000h
WININET                          loaded at 771B0000h - 77259000h
Secur32                          loaded at 77FE0000h - 77FF1000h
appHelp                          loaded at 77B40000h - 77B62000h
cscui                            loaded at 77A20000h - 77A74000h
CSCDLL                          loaded at 76600000h - 7661D000h
SETUPAPI                        loaded at 77920000h - 77A13000h
MPR                              loaded at 71B20000h - 71B32000h
drprov                          loaded at 75F60000h - 75F67000h
ntlanman                        loaded at 71C10000h - 71C1E000h
NETUI0                          loaded at 71CD0000h - 71CE7000h
NETUI1                          loaded at 71C90000h - 71CD0000h
NETRAP                          loaded at 71C80000h - 71C87000h
SAMLIB                          loaded at 71BF0000h - 71C03000h
davclnt                          loaded at 75F70000h - 75F79000h
LINKINFO                        loaded at 76980000h - 76988000h
ntshrui                          loaded at 76990000h - 769B5000h
ATL                              loaded at 76B20000h - 76B31000h
USERENV                          loaded at 769C0000h - 76A73000h
MSGINA                          loaded at 75970000h - 75A67000h
WINSTA                          loaded at 76360000h - 76370000h
ODBC32                          loaded at 74320000h - 7435D000h
odbcint                          loaded at 02EA0000h - 02EB7000h
mydocs                          loaded at 72410000h - 7242A000h
shdoclc                          loaded at 030E0000h - 03168000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 011FA898h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 011CB4A8h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 011CB3D0h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 01202444h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 011F8E78h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 77D48734h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000006Dh)
Address: 011CB3D0h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 011CB3D0h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 77D48816h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000014Fh)
Address: 011CB3D0h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D48830h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000169h)
Address: 77D489CDh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 011CB3D0h, location: "foo_playlist_tree", loaded at 011C0000h - 01223000h
Address: 004CC810h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004AF0D4h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D489F0h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D48A10h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 0042B63Ah, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 77D4DAEAh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 0042C0C0h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004AF7ACh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 7C910E12h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000383h)
Address: 004AF7ACh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004B20F8h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004D11C0h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C911596h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004D12A0h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004A48E4h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 7C910570h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C917CB7h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000002BAh)
Address: 7C917BF5h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001F8h)
Address: 7C917BB0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 0044005Ch, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 1000D469h, location: "shared", loaded at 10000000h - 1002A000h
Address: 1000D469h, location: "shared", loaded at 10000000h - 1002A000h
Address: 10003C9Eh, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "t_font_description::g_from_font" (+0000003Eh)
Address: 7C911B09h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlLogStackBackTrace" (+00000025h)
Address: 004D1230h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 7C911B09h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlLogStackBackTrace" (+00000025h)
Address: 004D12A0h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00483574h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 0048991Fh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 01000000h, location: "foo_input_std", loaded at 00FC0000h - 010D3000h
Address: 00488720h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004B05C8h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 10002D77h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000B7h)
Address: 004B05C8h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0049F7FBh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004B05C8h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0042C29Ah, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004CE2A8h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00489035h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00483409h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00483403h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004A48E8h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004A3045h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00488720h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0049F9EFh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00487605h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00F8D0B8h, location: "foo_dsp_std", loaded at 00F60000h - 00F9F000h
Address: 00F8D0B8h, location: "foo_dsp_std", loaded at 00F60000h - 00F9F000h
Address: 00488720h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 00F8D0B8h, location: "foo_dsp_std", loaded at 00F60000h - 00F9F000h
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 0048766Eh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0044002Eh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0044002Eh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0044002Eh, location: "foobar2000", loaded at 00400000h - 004E0000h
Address: 0044002Eh, location: "foobar2000", loaded at 00400000h - 004E0000h

Version info:
foobar2000 v0.9.1
UNICODE

Additional info:
Album Art Panel 0.164a  (foo_uie_albumart)
Standard DSP array 1.0  (foo_dsp_std)
Standard input array 1.0  (foo_input_std)
Default User Interface 0.9acc  (foo_ui_std)
FLAC decoder 1.1.0  (foo_input_std)
Columns UI 0.1.3 beta 1v5  (foo_ui_columns)
Masstagger 1.5  (foo_masstag)
MPEG-4 AAC decoder 2.1  (foo_input_std)
Playlist Tree Panel 2.0.7 [May  5 2006 - 13:10:05]  (foo_playlist_tree)
ReplayGain Scanner 2.0  (foo_rgscan)
Audioscrobbler 1.3.0  (foo_audioscrobbler)
Play Count 1.9.2  (foo_playcount)
Track info panel 0.8  (foo_uie_trackinfo)
Album List 3.2.0  (foo_albumlist)
Album list panel 0.2.1 beta 4  (foo_uie_albumlist)
Converter 1.0  (foo_converter)
CD Audio decoder 2.0  (foo_cdda)

Title: foo_playlist_tree
Post by: cwbowron on 2006-05-08 13:36:10
Code: [Select]
 Illegal operation:
Code: C0000005h, flags: 00000000h, address: 011C956Eh
Access violation, operation: read, address: 000800A9h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
... snip ...

Can you give me a description of what you were doing when it crashed?
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-05-08 21:11:41
like i wrote above my pt-queries and folders cant be saved. if i try to it cant be loaded, if i restart fb2k everything is gone again. i re-installed the component and choose another location to "save and restore"-the settings, but nothing happens, simply doesnt work... i use 2.0.3b and foo 0.9.1, is there maybe a kind of version antagonism?
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-08 21:15:18
like i wrote above my pt-queries and folders cant be saved. if i try to it cant be loaded, if i restart fb2k everything is gone again. i re-installed the component and choose another location to "save and restore"-the settings, but nothing happens, simply doesnt work... i use 2.0.3b and foo 0.9.1, is there maybe a kind of version antagonism?


Does a file actually get written?  If so, you can email me the file, there may be a quirk in the formatting.

chris -AT- bowron.us
Title: foo_playlist_tree
Post by: Gapkiller on 2006-05-09 12:38:52
i got a question: since i moved to 0.9.1 the pt doesnt save my tree correctly, everytime i restart foobar my config is gone and loading it from previously manual saved file doesnt work either...



I had a similar problem with album list panel and i got it to work by deleting all my playlists and rescanning my library.

hope that will help..
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-05-09 14:05:26
well nothing like this works.
i just downloaded the newest version but i cant add it to my panel as usual it appears in the component list but i simply cant activate it. any ideas??

very sad, cause this is one of the best plugins ever.
is there a way to get older versions of the pt-plugin?
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-09 14:10:30
i just downloaded the newest version but i cant add it to my panel as usual it appears in the component list but i simply cant activate it. any ideas??


Upgrade your columns UI

Quote
is there a way to get older versions of the pt-plugin?


Probably not, unless someone has a copy they downloaded.
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-05-09 14:33:32
thx guys, everything is fine with the new version around!
Title: foo_playlist_tree
Post by: carmenm on 2006-05-09 21:19:55
i was wondering if it would be hard to add a command like @drop but which look into the database. It would ease creating a query for a folder
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-09 21:26:31
i was wondering if it would be hard to add a command like @drop but which look into the database. It would ease creating a query for a folder


Why not just use a query such as "%_path% HAS Z:\Beck\" and use @database as the source?
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-10 06:58:56
Oh, i guess i found a bug.

If tried to create a new query using the @drop<> thing to point to an FPL file that i hadn't created yet. As soon as i clicked OK foobar exited and a box came up saying 'Unhandled exception : Object not found'.

I mean it's obvious why it did that but maybe you should make it handle it a little more gracefully. :p
Title: foo_playlist_tree
Post by: carmenm on 2006-05-10 09:09:19

i was wondering if it would be hard to add a command like @drop but which look into the database. It would ease creating a query for a folder


Why not just use a query such as "%_path% HAS Z:\Beck\" and use @database as the source?

Great idea, just have to find a way to have the same structure inside the query as in Z:\Beck\. Dying to try this tonight
Title: foo_playlist_tree
Post by: Gonzo on 2006-05-10 13:43:15
I have a question (sorry if sounds stupid). I use @drop function and send to Library Playlist. Every time I restart foobar, and refresh query the file are send to playlist but without reading tag (I must to reload tag from file to see it).

Sorry for the bad english, i hope that you understand. What error I made?
Title: foo_playlist_tree
Post by: carmenm on 2006-05-10 17:26:49

i was wondering if it would be hard to add a command like @drop but which look into the database. It would ease creating a query for a folder


Why not just use a query such as "%_path% HAS Z:\Beck\" and use @database as the source?

Just thanks cwbowron, combined with $replace(%_path%,E:\soundtracks\,,\,|) it works like a charm
Title: foo_playlist_tree
Post by: jahty on 2006-05-10 19:05:16
Hi,

Would it be possible to make the TAB key move focus to the next panel? Other panel like Playlist View and Album List do this and I find it very convenient for moving from panel to panel.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-10 19:25:30
Would it be possible to make the TAB key move focus to the next panel? Other panel like Playlist View and Album List do this and I find it very convenient for moving from panel to panel.


Tabbing and out of playlist tree works for me... What's your setup?

Do you have shotcut keys enabled?  Try disabling that and it might work.
Title: foo_playlist_tree
Post by: carmenm on 2006-05-10 19:40:33
found a weird behaviour, if process keyboard shortcuts is on, when i do right or left to expand or collapse an item, it moves forward or baackward into the song. Is that normal?
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-10 19:49:17
found a weird behaviour, if process keyboard shortcuts is on, when i do right or left to expand or collapse an item, it moves forward or baackward into the song. Is that normal?


Yes, because by default left and right arrows are set to seek forward and backward in the shortcut keys.

You might want to remap those.
Title: foo_playlist_tree
Post by: carmenm on 2006-05-10 20:20:33
ok good to know
Title: foo_playlist_tree
Post by: jahty on 2006-05-11 04:13:57
Tabbing and out of playlist tree works for me... What's your setup?

Do you have shotcut keys enabled?  Try disabling that and it might work.


Using 0.9.1, and this is my layout right now:

V splitter
-- track info
-- H splitter
---- Album Art
---- Album list
---- Playlist Tree (v2.0.7)
-- Playlist tabs
-- Columns Playlist

When in another panel, tabbing never puts focus into playlist tree, and when in playlist tree, tab does not transfer focus.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-11 13:21:59
Do you have shotcut keys enabled?  Try disabling that and it might work.


Quote
When in another panel, tabbing never puts focus into playlist tree, and when in playlist tree, tab does not transfer focus.


Whats your shortcut key processing status?
Title: foo_playlist_tree
Post by: carmenm on 2006-05-11 19:01:25
cwbowron, would it be possible to have a per folder or even query "hide leaves" setting ?
Title: foo_playlist_tree
Post by: jahty on 2006-05-11 19:34:08
Do you have shotcut keys enabled?  Try disabling that and it might work.


Quote
When in another panel, tabbing never puts focus into playlist tree, and when in playlist tree, tab does not transfer focus.


Whats your shortcut key processing status?


Sorry, I forgot to mention that enabling/disabling shortcut keys has no effect on the tabbing.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-11 19:54:57
Sorry, I forgot to mention that enabling/disabling shortcut keys has no effect on the tabbing.


What OS?
Title: foo_playlist_tree
Post by: pIv on 2006-05-16 08:31:13
I use next query for get random album from media library:

Label: Random Album

source: @database

Criteria: artist IS * AND various MISSING AND album artist MISSING

Format: %artist% • %album%|[$num(%tracknumber%,2) - ]%title%

Maximum: 1 subfolders

population Order: $rand()

This query works very good, but order songs in subfolder %artist% • %album% is random.

It is possible that I get songs  in native order (1,2,3,  .... , last)?
Title: foo_playlist_tree
Post by: Anas on 2006-05-16 12:09:47
Hi, seems as removing the node, crashes foo_playlist_tree:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00F99059h
Access violation, operation: read, address: 04B4ACB8h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (00F99059h):
00F99019h:  40 14 50 6A 08 68 0B 11 00 00 51 FF D6 6A 10 FF
00F99029h:  15 C8 E1 FC 00 66 85 C0 53 79 0D 8B 15 98 41 FE
00F99039h:  00 B9 98 41 FE 00 EB 0B 8B 15 70 41 FE 00 B9 70
00F99049h:  41 FE 00 8B 42 04 FF D0 50 33 DB E8 77 A0 02 00
00F99059h:  8B 0F 83 C4 08 53 6A 08 68 0B 11 00 00 51 FF D6
00F99069h:  B8 01 00 00 00 5F 5E 5B 8B E5 5D C2 10 00 E8 74
00F99079h:  11 00 00 85 C0 74 0C 8D 54 24 0C 52 8B D8 E8 E4
00F99089h:  0B 00 00 B8 01 00 00 00 5F 5E 5B 8B E5 5D C2 10
Stack (0012F600h):
0012F5E0h:  00000000 00000000 00000000 00000000
0012F5F0h:  00000000 00000000 00000000 00000000
0012F600h:  01012338 04B4ACA0 0012F6C4 00F98D10
0012F610h:  00000000 00000211 000000A6 00000048
0012F620h:  00000007 00000004 02C1A540 00000004
0012F630h:  02C1A540 00000022 00000000 00000000
0012F640h:  00000000 00000000 00000000 00000000
0012F650h:  04B4ACA0 00000000 77D1C9E0 0012F688
0012F660h:  77D18709 00040268 0000007B 0004026A
0012F670h:  00A60211 00F98D10 DCBAABCD 00000000
0012F680h:  0012F6C4 00F98D10 0012F6F4 77D24CA6
0012F690h:  00F98D10 00040268 0000007B 0004026A
0012F6A0h:  00A60211 0000007B 00040268 00706670
0012F6B0h:  00000014 00000001 00000000 00000000
0012F6C0h:  00000010 00000000 77D18709 00000000
0012F6D0h:  00000001 00000000 00000000 0012F6A4
0012F6E0h:  0012F224 0012F7DC 77D40494 77D24CC8
0012F6F0h:  00000000 0012F73C 77D24AF2 00000000
0012F700h:  00F98D10 00040268 0000007B 0004026A
0012F710h:  00A60211 00706684 0012F744 0012F7C0
Registers:
EAX: 00000001, EBX: 00000000, ECX: DBA15FC6, EDX: 00FD021F
ESI: 77D1B762, EDI: 04B4ACB8, EBP: 0012F65C, ESP: 0012F600
Crash location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h

Loaded modules:
foobar2000                      loaded at 00400000h - 004DF000h
ntdll                            loaded at 7C910000h - 7C9C7000h
kernel32                        loaded at 7C800000h - 7C906000h
COMCTL32                        loaded at 773A0000h - 774A2000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4A000h
RPCRT4                          loaded at 77E50000h - 77EE1000h
GDI32                            loaded at 77EF0000h - 77F36000h
USER32                          loaded at 77D10000h - 77DA0000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
ole32                            loaded at 774B0000h - 775EC000h
shared                          loaded at 10000000h - 1002A000h
comdlg32                        loaded at 76350000h - 7639A000h
WinStylerThemeHelper            loaded at 59800000h - 59817000h
oleaut32                        loaded at 770F0000h - 7717C000h
uxtheme                          loaded at 5B0F0000h - 5B128000h
LgWndHk                          loaded at 00AC0000h - 00AC7000h
foo_autoplaylist                loaded at 00AD0000h - 00B02000h
foo_cdda                        loaded at 00B30000h - 00B5D000h
foo_common                      loaded at 00B80000h - 00BBA000h
foo_converter                    loaded at 00BE0000h - 00C43000h
foo_dsp_delta                    loaded at 00C70000h - 00C8E000h
foo_freedb2                      loaded at 00CB0000h - 00CF0000h
foo_input_std                    loaded at 00D10000h - 00E0A000h
foo_lyricsdb                    loaded at 00E30000h - 00E4E000h
MSVCP80                          loaded at 7C420000h - 7C4A7000h
MSVCR80                          loaded at 78130000h - 781CB000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                          loaded at 77AF0000h - 77B02000h
foo_masstag                      loaded at 00E70000h - 00EC0000h
foo_osd                          loaded at 00EE0000h - 00F15000h
foo_playlist_bind                loaded at 00F50000h - 00F75000h
foo_playlist_tree                loaded at 00F90000h - 00FF3000h
foo_pqview                      loaded at 01020000h - 0103C000h
foo_rgscan                      loaded at 01060000h - 010A5000h
foo_sendtodevice                loaded at 010D0000h - 010E2000h
foo_sic                          loaded at 01100000h - 0114B000h
WS2_32                          loaded at 71A10000h - 71A27000h
WS2HELP                          loaded at 71A00000h - 71A08000h
foo_uie_albumart                loaded at 01170000h - 011A0000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_uie_albumlist                loaded at 011D0000h - 0120F000h
foo_uie_trackinfo                loaded at 01230000h - 0125E000h
foo_ui_columns                  loaded at 01280000h - 0131B000h
LgMsgHk                          loaded at 017A0000h - 017AB000h
MSVCP60                          loaded at 76020000h - 76085000h
DSOUND                          loaded at 73E70000h - 73ECC000h
WINMM                            loaded at 76AF0000h - 76B1E000h
VERSION                          loaded at 77BD0000h - 77BD8000h
WINTRUST                        loaded at 76BF0000h - 76C1E000h
IMAGEHLP                        loaded at 76C50000h - 76C78000h
wdmaud                          loaded at 72C90000h - 72C99000h
msacm32                          loaded at 72C80000h - 72C88000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
midimap                          loaded at 77BA0000h - 77BA7000h
KsUser                          loaded at 73E40000h - 73E44000h
netapi32                        loaded at 03BB0000h - 03C04000h
appHelp                          loaded at 77B10000h - 77B32000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                          loaded at 77010000h - 770E3000h
shdocvw                          loaded at 77730000h - 7789C000h
CRYPTUI                          loaded at 76880000h - 76905000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
webcheck                        loaded at 74AB0000h - 74AF8000h
WSOCK32                          loaded at 71A30000h - 71A3A000h
Secur32                          loaded at 77FC0000h - 77FD1000h
urlmon                          loaded at 77230000h - 772CD000h
cscui                            loaded at 779F0000h - 77A46000h
CSCDLL                          loaded at 765A0000h - 765BD000h
browseui                        loaded at 75F20000h - 7601C000h
USERENV                          loaded at 76620000h - 766D5000h
SETUPAPI                        loaded at 778F0000h - 779E4000h
ntshrui                          loaded at 76940000h - 76966000h
ATL                              loaded at 76AD0000h - 76AE1000h
MPR                              loaded at 71A80000h - 71A92000h
drprov                          loaded at 75F00000h - 75F07000h
ntlanman                        loaded at 71B90000h - 71B9E000h
NETUI0                          loaded at 71C50000h - 71C67000h
NETUI1                          loaded at 71C10000h - 71C50000h
NETRAP                          loaded at 71C00000h - 71C07000h
SAMLIB                          loaded at 71B70000h - 71B83000h
davclnt                          loaded at 75F10000h - 75F19000h
xpsp2res                        loaded at 20000000h - 202D9000h
dciman32                        loaded at 73B30000h - 73B36000h
mswsock                          loaded at 719B0000h - 719F0000h
DNSAPI                          loaded at 76EE0000h - 76F07000h
rasadhlp                        loaded at 76F80000h - 76F86000h
hnetcfg                          loaded at 66710000h - 66769000h
wshtcpip                        loaded at 719F0000h - 719F8000h
DBGHELP                          loaded at 59DD0000h - 59E71000h

Stack dump analysis:
Address: 00F98D10h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D1C9E0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "ReleaseCapture" (+0000003Ch)
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 00F98D10h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00F98D10h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D24CA6h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+000002C2h)
Address: 00F98D10h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D24CC8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+000002E4h)
Address: 77D24AF2h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CreateIconFromResourceEx" (+0000010Eh)
Address: 00F98D10h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D24CFAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000000h)
Address: 77D184BCh, location: "USER32", loaded at 77D10000h - 77DA0000h
Address: 77D18564h, location: "USER32", loaded at 77D10000h - 77DA0000h
Address: 77D24D1Ch, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000022h)
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 77D24CFAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000000h)
Address: 77D24CFAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000000h)
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 77D24CFAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000000h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D1B743h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetParent" (+0000016Ch)
Address: 77D24CFAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000000h)
Address: 77D1B7ABh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SendMessageW" (+00000049h)
Address: 773D98B5h, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001DA8Bh)
Address: 773DA4C3h, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E699h)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 77D18BB1h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowThreadProcessId" (+00000159h)
Address: 77D18832h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000019Bh)
Address: 77D187FFh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000168h)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D1C00Eh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DestroyCaret" (+0000005Eh)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 77D1C034h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CallWindowProcW" (+0000001Bh)
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 00F98B7Ah, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 773D9EADh, location: "COMCTL32", loaded at 773A0000h - 774A2000h
Symbol: "Ordinal384" (+0001E083h)
Address: 00F98980h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 017A2B65h, location: "LgMsgHk", loaded at 017A0000h - 017AB000h
Address: 77D26DF4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "EndDialog" (+0000012Bh)
Address: 0045E782h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 77D3DBC7h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "EnumClipboardFormats" (+00000156h)
Address: 77D3DBA4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "EnumClipboardFormats" (+00000133h)
Address: 00FCA708h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 00F98980h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00F98980h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 00F98980h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D189A5h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 00F98980h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 004CB810h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AE088h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D189C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D189E8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 0042A963h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 77D1E666h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 0045E782h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00D1E666h, location: "foo_input_std", loaded at 00D10000h - 00E0A000h
Address: 0042B38Ah, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AC71Ch, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C920E12h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000383h)
Address: 004AC71Ch, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004B2584h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004D03B0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C920732h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C921538h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C921596h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004D0490h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004A38E4h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C920570h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C927CB7h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000002BAh)
Address: 7C927BF5h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001F8h)
Address: 7C927BB0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 1000D533h, location: "shared", loaded at 10000000h - 1002A000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C920570h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 1000D469h, location: "shared", loaded at 10000000h - 1002A000h
Address: 1000D469h, location: "shared", loaded at 10000000h - 1002A000h
Address: 10003C90h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "t_font_description::g_from_font" (+00000030h)
Address: 10003C9Eh, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "t_font_description::g_from_font" (+0000003Eh)
Address: 7C921B09h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlLogStackBackTrace" (+00000025h)
Address: 004D0420h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C921B09h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlLogStackBackTrace" (+00000025h)
Address: 004D0490h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0048353Dh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C9206F0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004895FFh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00488400h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AF5A0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 10002D77h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000B7h)
Address: 004AF5A0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0049F6CBh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AF5A0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042B560h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004CD488h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00488D15h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004830B9h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004830B3h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004A38E8h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004A2EBDh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00488400h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0049F8ADh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004872E5h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00EAD0B8h, location: "foo_masstag", loaded at 00E70000h - 00EC0000h
Address: 00EAD0B8h, location: "foo_masstag", loaded at 00E70000h - 00EC0000h
Address: 00488400h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C906000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 00EAD0B8h, location: "foo_masstag", loaded at 00E70000h - 00EC0000h
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C906000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C906000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 0048734Eh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004DF000h

Version info:
foobar2000 v0.9.2 beta 2
UNICODE

Additional info:
Album Art Panel 0.164a  (foo_uie_albumart)
foo_lyricsdb 0.0.7 beta 3  (foo_lyricsdb)
On-Screen Display 1.52  (foo_osd)
freedb tagger v0.5.1  (foo_freedb2)
Track info panel 0.8  (foo_uie_trackinfo)
Columns UI 0.1.3 beta 1v5  (foo_ui_columns)
Album list panel 0.2.1 beta 4  (foo_uie_albumlist)
Common services 0.1  (foo_common)
Converter 1.0  (foo_converter)
Send to Device 1.0.3 [Apr 27 2006 - 08:47:11]  (foo_sendtodevice)
foosic music database 1.0 beta 7  (foo_sic)
Standard input array 1.0  (foo_input_std)
FLAC decoder 1.1.0  (foo_input_std)
Masstagger 1.5  (foo_masstag)
LPCM <--> delta-PCM converter 0.1.1  (foo_dsp_delta)
CD Audio decoder 2.0  (foo_cdda)
ReplayGain Scanner 2.0  (foo_rgscan)
Playlist Bind 2.2  (foo_playlist_bind)
Playlist Tree Panel 2.0.7 [May  5 2006 - 13:10:05]  (foo_playlist_tree)
I'm using Windows XP Professional SP2.

EDIT: Couldn't reproduce it unfortunatly...

EDIT2: Crashed again when trying to add Root->New Query... with having an empty playlist_tree and this time I can reproduce it.
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 01015F44h
Access violation, operation: read, address: FFFFFFFFh
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (01015F44h):
01015F04h:  00 10 00 00 78 01 01 01 78 01 01 01 12 00 17 00
01015F14h:  2F 00 0E 00 D8 02 01 01 80 F0 6F 02 6F 64 79 20
01015F24h:  53 63 72 65 61 6D 73 20 4F 66 20 44 65 73 70 61
01015F34h:  69 72 20 54 68 61 74 20 53 74 61 69 6E 20 54 68
01015F44h:  65 20 49 63 65 00 00 00 00 00 00 00 00 00 00 00
01015F54h:  00 00 00 00 00 00 00 00 00 00 00 00 08 00 0A 00
01015F64h:  21 00 08 00 50 60 01 01 60 5A 01 01 18 5D 01 01
01015F74h:  28 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00
Stack (0012F81Ch):
0012F7FCh:  00000000 00000000 00000000 00000000
0012F80Ch:  00000000 00000000 00000000 00000000
0012F81Ch:  00FC1504 03092F58 FFFFFFFF AB00984A
0012F82Ch:  00000001 03092F58 0012F874 00FC852A
0012F83Ch:  FFFFFFFF 00FC2F85 AB00982E 00000001
0012F84Ch:  00000001 00FE5610 0012F8F8 0012F8F8
0012F85Ch:  0012F878 77D1ED1A 00000000 00000002
0012F86Ch:  0012F8F8 77D1C640 0012F89C 00FC8770
0012F87Ch:  FFFFFFFF 00030000 0012F8C0 00F9AC04
0012F88Ch:  0000000E 00000000 AB0098FE 0210CAD0
0012F89Ch:  0012F91C 00FCA6C8 00000000 0042D7DB
0012F8ACh:  00000001 00000000 00000000 0219BBC0
0012F8BCh:  00000000 0012F928 0042D4F7 0012F8B0
0012F8CCh:  0012F934 00000000 0219B768 0042D4F7
0012F8DCh:  00000002 0012F934 00000000 020C5228
0012F8ECh:  0042D4F7 00000002 0012F934 00000002
0012F8FCh:  01336620 0042DFAE 00000002 0012F934
0012F90Ch:  00000000 000000B2 0012F904 0042DF63
0012F91Ch:  0012F9A8 0049EFFB 00000000 0012F9B4
0012F92Ch:  012BF1BE 00000002 00000000 AB09F809
Registers:
EAX: 010101BF, EBX: 00000000, ECX: 01015228, EDX: 01015F18
ESI: 03092F58, EDI: 01015228, EBP: 0012F884, ESP: 0012F81C
Unable to identify crash location

Loaded modules:
foobar2000                      loaded at 00400000h - 004DF000h
ntdll                            loaded at 7C910000h - 7C9C7000h
kernel32                        loaded at 7C800000h - 7C906000h
COMCTL32                        loaded at 773A0000h - 774A2000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4A000h
RPCRT4                          loaded at 77E50000h - 77EE1000h
GDI32                            loaded at 77EF0000h - 77F36000h
USER32                          loaded at 77D10000h - 77DA0000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
SHELL32                          loaded at 7C9D0000h - 7D1EE000h
ole32                            loaded at 774B0000h - 775EC000h
shared                          loaded at 10000000h - 1002A000h
comdlg32                        loaded at 76350000h - 7639A000h
WinStylerThemeHelper            loaded at 59800000h - 59817000h
oleaut32                        loaded at 770F0000h - 7717C000h
uxtheme                          loaded at 5B0F0000h - 5B128000h
LgWndHk                          loaded at 00AC0000h - 00AC7000h
foo_autoplaylist                loaded at 00AD0000h - 00B02000h
foo_cdda                        loaded at 00B30000h - 00B5D000h
foo_common                      loaded at 00B80000h - 00BBA000h
foo_converter                    loaded at 00BE0000h - 00C43000h
foo_dsp_delta                    loaded at 00C70000h - 00C8E000h
foo_freedb2                      loaded at 00CB0000h - 00CF0000h
foo_input_std                    loaded at 00D10000h - 00E0A000h
foo_lyricsdb                    loaded at 00E30000h - 00E4E000h
MSVCP80                          loaded at 7C420000h - 7C4A7000h
MSVCR80                          loaded at 78130000h - 781CB000h
WININET                          loaded at 77180000h - 77227000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                          loaded at 77AF0000h - 77B02000h
foo_masstag                      loaded at 00E70000h - 00EC0000h
foo_osd                          loaded at 00EE0000h - 00F15000h
foo_playlist_bind                loaded at 00F50000h - 00F75000h
foo_playlist_tree                loaded at 00F90000h - 00FF3000h
foo_pqview                      loaded at 01020000h - 0103C000h
foo_rgscan                      loaded at 01060000h - 010A5000h
foo_sendtodevice                loaded at 010D0000h - 010E2000h
foo_sic                          loaded at 01100000h - 0114B000h
WS2_32                          loaded at 71A10000h - 71A27000h
WS2HELP                          loaded at 71A00000h - 71A08000h
foo_uie_albumart                loaded at 01170000h - 011A0000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
foo_uie_albumlist                loaded at 011D0000h - 0120F000h
foo_uie_trackinfo                loaded at 01230000h - 0125E000h
foo_ui_columns                  loaded at 01280000h - 0131B000h
dciman32                        loaded at 73B30000h - 73B36000h
LgMsgHk                          loaded at 03620000h - 0362B000h
MSVCP60                          loaded at 76020000h - 76085000h
DSOUND                          loaded at 73E70000h - 73ECC000h
WINMM                            loaded at 76AF0000h - 76B1E000h
VERSION                          loaded at 77BD0000h - 77BD8000h
WINTRUST                        loaded at 76BF0000h - 76C1E000h
IMAGEHLP                        loaded at 76C50000h - 76C78000h
wdmaud                          loaded at 72C90000h - 72C99000h
msacm32                          loaded at 72C80000h - 72C88000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
midimap                          loaded at 77BA0000h - 77BA7000h
KsUser                          loaded at 73E40000h - 73E44000h
DBGHELP                          loaded at 59DD0000h - 59E71000h

Stack dump analysis:
Address: 00FC1504h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00FC852Ah, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00FC2F85h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00FE5610h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 77D1ED1Ah, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsCharAlphaW" (+0000015Ah)
Address: 77D1C640h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetFocus" (+00000000h)
Address: 00FC8770h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00F9AC04h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 00FCA6C8h, location: "foo_playlist_tree", loaded at 00F90000h - 00FF3000h
Address: 0042D7DBh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042D4F7h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042D4F7h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042D4F7h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042DFAEh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042DF63h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0049EFFBh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 012BF1BEh, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 012E3D0Eh, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 012BF9B8h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 77D188B2h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01287220h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 012E3DD7h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 01287398h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 01287220h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 012A69A8h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 77D18709h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000072h)
Address: 01287220h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 01287220h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 77D187EBh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000154h)
Address: 01287220h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D18808h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000171h)
Address: 77D189A5h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 01287220h, location: "foo_ui_columns", loaded at 01280000h - 0131B000h
Address: 004CB810h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AE088h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 77D40494h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D189C8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D189E8h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 0042A963h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 77D1E666h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 00489992h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042B38Ah, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AC71Ch, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C920E12h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000383h)
Address: 004AC71Ch, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004B2584h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004D03B0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C920732h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C921538h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C921596h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004D0490h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004A38E4h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C920570h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C927CB7h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000002BAh)
Address: 7C927BF5h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001F8h)
Address: 7C927BB0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 1000D533h, location: "shared", loaded at 10000000h - 1002A000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C920570h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 1000D469h, location: "shared", loaded at 10000000h - 1002A000h
Address: 1000D469h, location: "shared", loaded at 10000000h - 1002A000h
Address: 10003C90h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "t_font_description::g_from_font" (+00000030h)
Address: 10003C9Eh, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "t_font_description::g_from_font" (+0000003Eh)
Address: 7C921B09h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlLogStackBackTrace" (+00000025h)
Address: 004D0420h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C921B09h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlLogStackBackTrace" (+00000025h)
Address: 004D0490h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0048353Dh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C9206F0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004895FFh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00488400h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AF5A0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 10002D77h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000B7h)
Address: 004AF5A0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0049F6CBh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004AF5A0h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0042B560h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004CD488h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00488D15h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004830B9h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004830B3h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004A38E8h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004A2EBDh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00488400h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0049F8ADh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004872E5h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00EAD0B8h, location: "foo_masstag", loaded at 00E70000h - 00EC0000h
Address: 00EAD0B8h, location: "foo_masstag", loaded at 00E70000h - 00EC0000h
Address: 00488400h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C906000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 00EAD0B8h, location: "foo_masstag", loaded at 00E70000h - 00EC0000h
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C906000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C906000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 0048734Eh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 004D002Eh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0044002Eh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 0044002Eh, location: "foobar2000", loaded at 00400000h - 004DF000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004DF000h

Version info:
foobar2000 v0.9.2 beta 2
UNICODE

Additional info:
Album list panel 0.2.1 beta 4  (foo_uie_albumlist)
Columns UI 0.1.3 beta 1v5  (foo_ui_columns)
Track info panel 0.8  (foo_uie_trackinfo)
ReplayGain Scanner 2.0  (foo_rgscan)
Playlist Tree Panel 2.0.7 [May  5 2006 - 13:10:05]  (foo_playlist_tree)
foo_lyricsdb 0.0.7 beta 3  (foo_lyricsdb)
foosic music database 1.0 beta 7  (foo_sic)
FLAC decoder 1.1.0  (foo_input_std)
Converter 1.0  (foo_converter)
Album Art Panel 0.164a  (foo_uie_albumart)
LPCM <--> delta-PCM converter 0.1.1  (foo_dsp_delta)
Masstagger 1.5  (foo_masstag)
CD Audio decoder 2.0  (foo_cdda)
Common services 0.1  (foo_common)
Send to Device 1.0.3 [Apr 27 2006 - 08:47:11]  (foo_sendtodevice)
Playlist Bind 2.2  (foo_playlist_bind)
freedb tagger v0.5.1  (foo_freedb2)
On-Screen Display 1.52  (foo_osd)
Standard input array 1.0  (foo_input_std)
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-16 13:22:31
EDIT2: Crashed again when trying to add Root->New Query... with having an empty playlist_tree and this time I can reproduce it.


How did you get an "empty" tree?  did you remove the node labelled "playlist tree"?
Title: foo_playlist_tree
Post by: Anas on 2006-05-16 14:35:34
Yes, I removed the node. Is that something one shouldn't do?
Title: foo_playlist_tree
Post by: Melomane on 2006-05-16 14:38:16

Sorry, I forgot to mention that enabling/disabling shortcut keys has no effect on the tabbing.


What OS?


1) my too have the same behavoir, xp/sp2

2) if i hide leaves playlist tree seach not work, it is possible to hide leaves with formatting ( for one tree only)?

3) request, can you add features to see album art for the select item in PL-tree? for now i use highlight in playlist but this reduce possibiliti of pl-tree

4) thank you for your great plug-in, cwbowron

regards, melomane
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-16 14:40:59
Yes, I removed the node. Is that something one shouldn't do?


Yes, if you do not want the Playlist Tree node shown, check the hide root option in preferences but do not delete the node itself. 

I have fixed it in the development version so that it is not possible to remove the node, so this wont be a problem in the future.
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-05-16 15:25:23
cwbowron, is there a page with example queries for the newest version? eg i want to have a top100-querie, but dont exactly know how to figure this out.
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-16 21:18:09
cwbowron, is there a page with example queries for the newest version? eg i want to have a top100-querie, but dont exactly know how to figure this out.

http://wiki.bowron.us/index.php/Example_Queries (http://wiki.bowron.us/index.php/Example_Queries)

http://foobar.bowron.us/example_collections/ (http://foobar.bowron.us/example_collections/)


I don't know if you mean top 100 rated or top 100 played, but it would go like...

Source
@database

Criteria
play_counter GREATER 0
(Or is it play_count? I don't remember. Or if you meant rating you would use that instead.)

Format
(whatever you want)

Maximum
100 tracks

Population Order
(whatever you want) Reverse
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-05-16 21:54:24
ah that "reverse"-population order was the point i missed, thx!
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-17 18:36:02
I'm taking a little mini-vacation starting tomorrow so I thought I would put out a new version before I leave.

Quote
Release 2.0.8
New Features

    * Added @drop<> query creation on drop with shift held
    * selection action limit option. if the selected node has more than that many files, the selection action will not be perfomed. default is 5000. set to 0 to disable.

Bug Fixes

    * highlight selected node on right click / middle click
    * Warn if @drop file does not exist, do not crash
    * changed edge style code
    * fixed Font leak
    * do not allow root node to be removed


If anyone lives in Chicago and happens to run into me at a bar, please feel free to buy me a beer.
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-17 22:14:56
Closer than Michigan... but not that close. Still 2.5 hours away, tragedy.


Anyway congrats, your 'grey' thing looks the same as the 'grey' thing for the other three panels i'm using. whooo
Title: foo_playlist_tree
Post by: ledge on 2006-05-18 01:07:20
hello,

the $if(%album artist%,%artist% - ,) part of the following query doesn't seem to be working properly and the second %artist% appears on every track rather than just the tracks that have the %album artist% tag.

%genre%|$if2(%album artist%,%artist%)|%album% '('%date%')'|[$num(%tracknumber%,2) - ] $if(%album artist%,%artist% - ,)%title%

Not a biggy but it seems non-normal. Anything I am missing?
Title: foo_playlist_tree
Post by: ledge on 2006-05-19 00:53:29
hello,

the $if(%album artist%,%artist% - ,) part of the following query doesn't seem to be working properly and the second %artist% appears on every track rather than just the tracks that have the %album artist% tag.

%genre%|$if2(%album artist%,%artist%)|%album% '('%date%')'|[$num(%tracknumber%,2) - ] $if(%album artist%,%artist% - ,)%title%

Not a biggy but it seems non-normal. Anything I am missing?


nevermind, I have got around it by using $if($strcmp(%album artist%,Various Artists),%artist% - ,)
Title: foo_playlist_tree
Post by: Wicoith on 2006-05-19 06:16:11
Ello, new to foobar and new here to the boards. This is a very neat component!

Onto my question. How do I open/use .col files? I got everything set up as I want it to be but I just can't find any info at all about how to use those .col files. I've searched both the forum and google but to no use. I could manually add the query (phew, did alot of right-clicking and testing before finding out that it's actually shift+right-click and not just right-click as it says somewhere. Changed that now though through the settings.) to make a "Most Played" folder but knowing how to use those .col files could be handy in the future.
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-19 08:22:54
I've never used the pre-0.9 versions of PLT, but my guess is that it's the old way of doing things. I could be wrong, but i can't see any place to load them either, and the only references i can find to it are from people using the old versions last year.

In any case you can open the files in Notepad and with a little thinking you can translate it to something you can put into a query yourself.
Title: foo_playlist_tree
Post by: arn on 2006-05-19 10:42:32
Hello.
I've got question. I'm sorry if this is noobish but i've search almost whole forum and i cant find answer

Some of You were uploading yours .col files, and i would like to know how can i apply them. I thought that this somethin like with .fcs files, but I cant find such option...

Please help me...
Title: foo_playlist_tree
Post by: gob on 2006-05-19 19:55:57
Hello.
I've got question. I'm sorry if this is noobish but i've search almost whole forum and i cant find answer

Some of You were uploading yours .col files, and i would like to know how can i apply them. I thought that this somethin like with .fcs files, but I cant find such option...

Please help me...


i usually store my .col fimes somewhere in the foobar install dir but it doesnt matter. what you want to do is add the platylist tree panel somewhere and either middle click, or sshift+r. click somewhere and click "select file and load" that should do it. it should open that col file and save to it whenever you open or close foobar.
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-20 00:58:11
In the 0.9 version? That doesn't work for me. It asks for a 'pts' file, and if i change it to 'all files' and force it to open a col file, nothing happens. It just sits there.
Title: foo_playlist_tree
Post by: adamb10 on 2006-05-20 02:16:00
I put the DLL in my components dir.  How do I activate it?  I looked in the documentation but found nothing. 

Thanks. 
Title: foo_playlist_tree
Post by: gob on 2006-05-20 05:37:20
first of all, you need to have the latest columns UI installed. then you need to go into the preferences and setup the playlist tree in a sidebar or something. once you do that you should have the playlist treein the wondow. there should be example queries in there. you can create new ones by right clicking in the empty space.
if you want to load a .col file you already have, just right click in the empty space and click select file and load.
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2006-05-20 14:42:06
Cwbowron... Any plans to reincorporate the Playlist Tree Browser?

I loved the way you create sortable columns (%artist%|%tracknumber%|%title%) in a way that's not really possible with Foo Browser.
Title: foo_playlist_tree
Post by: adamb10 on 2006-05-20 16:58:28
first of all, you need to have the latest columns UI installed. then you need to go into the preferences and setup the playlist tree in a sidebar or something. once you do that you should have the playlist treein the wondow. there should be example queries in there. you can create new ones by right clicking in the empty space.
if you want to load a .col file you already have, just right click in the empty space and click select file and load.

How do I add it to the sidebar?  I see the playlist tree has a little sub menu in prefs. 

Sorry for being a n00b here.
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-20 17:27:04
There is no side bar in the new Columns UI.
Title: foo_playlist_tree
Post by: Sphix on 2006-05-20 23:56:38
Is this plugin more efficient than Explorer Tree or Album List panels?!
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-21 00:07:33
More efficient than Explorer Tree, i would say. I switched from that when i realised that PLT actually did what i wanted a lot better.

I don't know about Album List, though, they're not really designed for the same thing (although you certainly could re-invent the wheel in PLT if you wanted to).
Title: foo_playlist_tree
Post by: Sphix on 2006-05-21 00:11:25
I'll give it a try so
Title: foo_playlist_tree
Post by: finalcut on 2006-05-22 02:49:29
hey is it possible to have the playlist in other way then by artist?

I want it sort by folder instead

I have tried anything that came into my mind without success.

Here is how my windows explorer structure is:

f:\music
in music I have \Pink Floyd\
and then in my pink floyd folder, I got all albums named [1977] Pink floyd - name of the album

All I want is to have a playlist that look in my f:\music folder and then only show all the stuff there!

is it possible?
Title: foo_playlist_tree
Post by: gob on 2006-05-22 05:14:50
what is the $avg() function used for? is it possible to use $avg to get the average rating of tracks within a subfolder?

also, with the new version, drop queries no longer work for me... do the files have to be in the DB?
Title: foo_playlist_tree
Post by: j conky on 2006-05-22 13:31:43
also, with the new version, drop queries no longer work for me... do the files have to be in the DB?


I had this problem as well.  I changed the format to @default and everything worked just fine.  I am not sure why though.  Also, my query is for a folder with files not in the DB.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-22 14:00:49
what is the $avg() function used for? is it possible to use $avg to get the average rating of tracks within a subfolder?

also, with the new version, drop queries no longer work for me... do the files have to be in the DB?


No, the files shouldnt have to be in the library...

I just tried a drop query and it was working for me:
(http://foobar.bowron.us/images/drop_query.png)
Title: foo_playlist_tree
Post by: ledge on 2006-05-22 23:43:33
I having a bit of trouble getting a query to show the count of folders under each entry. my query is as follows...

Code: [Select]
%label% '('%_foldercount%')'|$if2(%album artist%,%artist%)|%album% '('%date%')'|$num(%tracknumber%,2) - $if($strcmp(%album artist%,Various Artists),%artist% - ,)%title%


and it gives this result instead of the number of albums in each folder

(http://img333.imageshack.us/img333/7820/labels8aj.gif)

what am I doing wrong?
Title: foo_playlist_tree
Post by: Yom on 2006-05-23 20:09:47
blah, my database file got corrupted after such query
Code: [Select]
artist IS Byrds AND (tracknumber LESS 12 OR title IS We'll Meet Again)

maybe a feaky one, but it's to avoid bonustracks from byrds records. It worked, but after foobar restart every query after this one is.. well, mostly gone.

further investigation showed that:
Code: [Select]
artist IS Byrds AND (tracknumber LESS 12 OR title HAS Again)

works without database corruption
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-23 20:17:28
Code: [Select]
%label% '('%_foldercount%')'|$if2(%album artist%,%artist%)|%album% '('%date%')'|$num(%tracknumber%,2) - $if($strcmp(%album artist%,Various Artists),%artist% - ,)%title%


what am I doing wrong?


I think you should be able to get what you want using:

Code: [Select]
%label% '(@format<%_foldercount%>)'|...
Title: foo_playlist_tree
Post by: finalcut on 2006-05-23 22:05:37
hey I have only one search that is listed by directory structure.  For a reason I ignore, some of my folders show my songs twice!  I nuked the database and rebuild it but I still have the same problem.
Any idea what it could be?
Title: foo_playlist_tree
Post by: ledge on 2006-05-23 22:32:11

Code: [Select]
%label% '('%_foldercount%')'|$if2(%album artist%,%artist%)|%album% '('%date%')'|$num(%tracknumber%,2) - $if($strcmp(%album artist%,Various Artists),%artist% - ,)%title%


what am I doing wrong?


I think you should be able to get what you want using:

Code: [Select]
%label% '(@format<%_foldercount%>)'|...



that did the trick, thank you.
Title: foo_playlist_tree
Post by: gob on 2006-05-24 00:54:52

what is the $avg() function used for? is it possible to use $avg to get the average rating of tracks within a subfolder?

also, with the new version, drop queries no longer work for me... do the files have to be in the DB?


No, the files shouldnt have to be in the library...

I just tried a drop query and it was working for me:


thats pretty much exactly how i have it. it worked up till the newest release, i was using "$puts(tree,$replace(%path%,\,|))$replace($get(tree),F:|Music|New Albums|,)" as the format. with the newest version of the plugin, this will result in an empty query. if i use @default as the format, i get the directory structure, but there are no audio files...

i tried shift-draging the folder into the playlist tree, it seems to work, i get a query like what you posted, but still, i just get the directory structure in the tree, but no audio files..
Title: foo_playlist_tree
Post by: lav-chan on 2006-05-24 06:45:36
Uncheck the 'hide leaves' thing?
Title: foo_playlist_tree
Post by: gob on 2006-05-24 07:31:16
yup. leaves are not hidden anywhere else. not only do the leaves appear, but i cant even add them to the playlist when i double click on the query.
like i said, underneath the query i can see the folders that the files are in, but no leaves.

files that are in the library do not have this problem. they work properly with @drop queries.
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-24 13:23:42
yup. leaves are not hidden anywhere else. not only do the leaves appear, but i cant even add them to the playlist when i double click on the query.
like i said, underneath the query i can see the folders that the files are in, but no leaves.

files that are in the library do not have this problem. they work properly with @drop queries.


If it doesnt have any leaves then the files are getting picked up as playable types... Take a look at your console output under View->console and see if there are any warning messages...
Title: foo_playlist_tree
Post by: finalcut on 2006-05-24 15:21:12
ok I found out why some of my folders were having songs in double.  It's because of the m3u file!  Is it possible in the criteria to not add the .m3u file in the database?
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-24 15:45:09
ok I found out why some of my folders were having songs in double.  It's because of the m3u file!  Is it possible in the criteria to not add the .m3u file in the database?


Are they in @database queries or in @drop queries?
Title: foo_playlist_tree
Post by: finalcut on 2006-05-24 16:17:19

ok I found out why some of my folders were having songs in double.  It's because of the m3u file!  Is it possible in the criteria to not add the .m3u file in the database?


Are they in @database queries or in @drop queries?
@drop but nevermind, I've deleted all m3u files!

but there is something I dont understand.  Why every time I open foobar, I have to load my playlist?
Otherwise, I get the default one including the By Artist sorting...
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-24 16:23:34
but there is something I dont understand.  Why every time I open foobar, I have to load my playlist?
Otherwise, I get the default one including the By Artist sorting...


Start up foobar2000, then in the planel, right click somewhere not on any item.  Select "Select File And Load" and it will load that file and from then on it will read and write to that file when exiting and loading....

I've also added "Ignore nested playlists in @drop queries" to my list of feature requests.  It was something that was available on 1.7.x but has been temporarily dropped...
Title: foo_playlist_tree
Post by: gob on 2006-05-25 06:44:53

yup. leaves are not hidden anywhere else. not only do the leaves appear, but i cant even add them to the playlist when i double click on the query.
like i said, underneath the query i can see the folders that the files are in, but no leaves.

files that are in the library do not have this problem. they work properly with @drop queries.


If it doesnt have any leaves then the files are getting picked up as playable types... Take a look at your console output under View->console and see if there are any warning messages...



i checked the console when i tried adding these files and there were no errors for the mp3 files that should have loaded, and the flac files gave this error msg:
"could not enumerate tracks (Unsupported format or corrupted file) on:
F:\Music\New Albums\The Who - Discography\01. The Who Sings My Generation\05. Much Too Much.flac"

i dragged the folder to a new playlist and all the files loaded in the playlist. they aee playing ok, there seems to be nothing worng with the files.

then i decided to select all these files and reloaded info from all the files. i refreshed the drop query and all the files are loaded. but these files are not in the database, when new files get dropped in there they will not load in the tree untill i reload info from them.
Title: foo_playlist_tree
Post by: Gapkiller on 2006-05-26 00:40:09
Hi,
I´m new to playlist - tree and i only want to have 2 queries...

1. By directory (like album list does)
2. By played ( 50 most played songs)

Could anyone please post this 2 queries as screenshots so that i can figure out how that works? 
Title: foo_playlist_tree
Post by: arst on 2006-05-28 21:31:37
in PLT, how can I set format that hide nodes greater than nestlevel 3?

ex.
root
-music(nestlevel1)
--anime(nestlevel2)
---animation1(nestlevel3)
----album1(nestlevel4)  <---﹁
----album2(nestlevel4)  <--- -----  i wanna hide these nodes greater than nestlevel 3

I'm just come from other country, so my english is not pretty good, hope somebody know what I mean above.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-05-28 21:49:46
Just write @hidden2 in that part of your format that represents the fourth nestlevel! There is a small bug that displays the +/- buttons in front of the parent node but Chris already putted it on the list of known bugs.
Title: foo_playlist_tree
Post by: arst on 2006-05-29 06:46:50
Just write @hidden2 in that part of your format that represents the fourth nestlevel! There is a small bug that displays the +/- buttons in front of the parent node but Chris already putted it on the list of known bugs.



(http://140.125.80.212/arst/misc/PlaylistTree1.JPG)

(http://140.125.80.212/arst/misc/PlaylistTree2.JPG)

Is the format I write correct?
and Is the result normal for current version?
Title: foo_playlist_tree
Post by: q-stankovic on 2006-05-29 14:34:30
Why don't you use the format line inside the Edit box for queries?
Title: foo_playlist_tree
Post by: Gapkiller on 2006-05-30 11:54:02
Hi,
I´m new to playlist - tree and i only want to have 2 queries...

1. By directory (like album list does)
2. By played ( 50 most played songs)

Could anyone please post this 2 queries as screenshots so that i can figure out how that works? 



Please ...

it woulde be very nice if someone could do that because i don´t get the clue even by searching this thread.
Title: foo_playlist_tree
Post by: Pyjama mental on 2006-05-30 17:16:20
Please ...

it woulde be very nice if someone could do that because i don´t get the clue even by searching this thread.


For the 1, it seems to be :
Code: [Select]
$replace(%_path%,\,|)
in the format box, but for the second question, I'm interested too... I've tried
Code: [Select]
rating GREATER 1
(for the best rating, but it'll be the same for the most playing) as the criteria, but don't know how to sort properly (descending order)... I suppose it has something to do with the "population order" box, but don't succeed...
Title: foo_playlist_tree
Post by: cwbowron on 2006-05-30 18:19:31
I posted some examples of how to accomplish a by directory list and a most played query on the example page:  http://wiki.bowron.us/index.php/Foobar2000...t_Tree:Examples (http://wiki.bowron.us/index.php/Foobar2000%3a%50laylist_Tree:Examples)
Title: foo_playlist_tree
Post by: Gapkiller on 2006-05-30 23:31:30
I posted some examples of how to accomplish a by directory list and a most played query on the example page:  http://wiki.bowron.us/index.php/Foobar2000...t_Tree:Examples (http://wiki.bowron.us/index.php/Foobar2000%3a%50laylist_Tree:Examples)



(http://nic-nac-project.de/~killerdj/News/images/smilies/3dbiggrin3.gif)

Thank you very much!!!!!!!!
Title: foo_playlist_tree
Post by: arst on 2006-05-31 05:31:57


Please ...

it woulde be very nice if someone could do that because i don´t get the clue even by searching this thread.


For the 1, it seems to be :
Code: [Select]
$replace(%_path%,\,|)
in the format box, but for the second question, I'm interested too... I've tried
Code: [Select]
rating GREATER 1
(for the best rating, but it'll be the same for the most playing) as the criteria, but don't know how to sort properly (descending order)... I suppose it has something to do with the "population order" box, but don't succeed...


thx u cwbowron!!
It's work for me !!
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-01 12:44:18
Because the variable for multiple tags in pt doesn't use the field remapping i tried to write a little string that achieves the same like this what worked for old pt 1.7.xx:  $if(%album artist%,#album artist#,#artist#)

I thought this simple string does the job:  $if($meta(album artist),%<album artist>%,%<artist>%)

But the string just gives me back the values of the album artists. It seems that the third part ("else") isn't used.
A bug?

Currently there is no way in Broser or PT to realize that what in Album List is simply done by "%<album artist>%"
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-01 13:13:06
Because the variable for multiple tags in pt doesn't use the field remapping i tried to write a little string that achieves the same like this what worked for old pt 1.7.xx:  $if(%album artist%,#album artist#,#artist#)

I thought this simple string does the job:  $if($meta(album artist),%<album artist>%,%<artist>%)

But the string just gives me back the values of the album artists. It seems that the third part ("else") isn't used.
A bug?

Currently there is no way in Broser or PT to realize that what in Album List is simply done by "%<album artist>%"


you might try %<album artist,artist>%
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-01 13:21:26
I will try! 

But wouldn't then the values of %artist% been displayed even if there is a value for %album artist%?
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-01 13:22:10
I will try! 

But wouldn't then the values of %artist% been displayed even if there is a value for %album artist%?


yeah, i didnt think about that..
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-01 13:23:55
Am i right if i say that you don't like the new field remapping?   
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-01 14:13:09
Quote
Release 2.0.9

Bug Fixes

    * fixed bug in @drop<> queries that are not in default format. bug was introduced by my test for file existance to stop crash.
    * increased line buffer to 1024 characters instead of 256. I think this may have been causing some issues.
    * enter / space now know the calling node - fixes issues with playlist names
    * fixed bug in $sum

New Features

    * option to turn off default queries - makes it easier to modify your layout in columns ui
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-06-01 14:32:13
Is it possible to create a query whose subfolders are the playlist files in a given directory?

For example, I have a directory full of playlist files, and I would like to see them each listed as branches of a query node, looking something like this:

Code: [Select]
--.m3u playlists
  --randommix.m3u
     +-01. track 1
     +-02. track 2
  +-someotherplaylist.m3u
  +-stillanotherpls.pls


Christopher suggested I use a @drop<> source, but that just creates subfolders based on artist (or whatever display string I use), rather than creating individual folders for the contents of each .m3u playlist file.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-01 14:43:06
Is it possible to create a query whose subfolders are the playlist files in a given directory?

For example, I have a directory full of playlist files, and I would like to see them each listed as branches of a query node, looking something like this:

Code: [Select]
--.m3u playlists
  --randommix.m3u
     +-01. track 1
     +-02. track 2
  +-someotherplaylist.m3u
  +-stillanotherpls.pls


Christopher suggested I use a @drop<> source, but that just creates subfolders based on artist (or whatever display string I use), rather than creating individual folders for the contents of each .m3u playlist file.


It looks like the @drop queries are a little different right now than in 0.8.3, so this doesnt look possible right now, but I am going to look into it..
Title: foo_playlist_tree
Post by: gob on 2006-06-02 07:40:43
i cant get the drop query to work at all. unless the files are actually loaded in  the media library. i even tried a new foobar configuration and used just columns UI and playlist tree. @drop queries do not work if the music isnt in the library; the files are unaccessable. the directory structure is still maintained in playlist tree but the files are not there. also, it seems the format must be set to @default for anything (even the empty directory structure) to display at all.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-02 13:17:34
i cant get the drop query to work at all. unless the files are actually loaded in  the media library. i even tried a new foobar configuration and used just columns UI and playlist tree. @drop queries do not work if the music isnt in the library; the files are unaccessable. the directory structure is still maintained in playlist tree but the files are not there. also, it seems the format must be set to @default for anything (even the empty directory structure) to display at all.


The issue with having to use @default format for @drops should have been fixed in 2.0.9.

I'll look into the other issue.

Quote
Release 2.0.9
Bug Fixes

    * fixed bug in @drop<> queries that are not in default format. bug was introduced by my test for file existance to stop crash.
    * increased line buffer to 1024 characters instead of 256. I think this may have been causing some issues.
    * enter / space now know the calling node - fixes issues with playlist names
    * fixed bug in $sum

New Features

    * option to turn off default queries - makes it easier to modify your layout in columns ui
Title: foo_playlist_tree
Post by: khoma on 2006-06-02 17:22:48
today i opened my foobar, i changed something in the layout, without touching playlist_tree settings, but after a restart all my queries had been deleted.

so i made them again but first of all they don't auto refresh anymore when a new track starts and if i click on redraw tree the label get right but the leaves are about an album that i listened before!

[a href="http://img165.imageshack.us/my.php?image=foobar3dz.jpg" target="_blank"]
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-06-02 18:01:39
i have another question: is it possible to have a query with albumgain missing? i tried it out, but didnt work.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-02 18:54:34
Cwbowrons account is suspended until monday so that he can't give any replies anymore. Look into his forum:

http://bowron.us/smf/index.php?topic=235.0 (http://bowron.us/smf/index.php?topic=235.0)
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-03 02:54:23
Cwbowrons account is suspended until monday so that he can't give any replies anymore. Look into his forum:


My suspension has been lifted.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-05 21:07:36
Quote
Release 2.0.10
Bug Fixes
    * sort AFTER trimming - allows you to do a random album or mix of songs...

New Features
    * properly nest @drops containing playlists
    * set edge style on search box
    * custom selection text colors
    * added @hidden3 that hides leaves in the immediate folder (make sure @hidden3 is followed by a space)
    * root/Export (All) and root/Export (Visible) exports to text file.
    * allow search for nodes (example: %_overallindex% IS 50)
Title: foo_playlist_tree
Post by: gob on 2006-06-06 06:20:45
thanks for the update. this version fixed the issue i had with files not in the library. it now shows the complete tree with all of the files in the specified directory. it also shows the non-audio files. im not sure if this is intended, but if you dont want to see them you can make the query more specific.
thanks for looking into that.

edit: the non-audio files only show with the @default format. strings works fine for the conversion.
Title: foo_playlist_tree
Post by: Generalverdacht on 2006-06-06 10:33:32
i miss something:

something like "%artist% MISSING" doesnt work for me since the new version, what am i doing wrong?
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-07 14:38:48
Quote
Release 2.1.0
New Features
    * split track finder into its own component.
Bug Fixes
    * removed +/- in parents of hidden nodes/leaves
Title: foo_playlist_tree
Post by: kockroach on 2006-06-10 15:09:15
Hey cwbowron,

I am working on converting over to fb2k 0.9.2, and I am having a little problem with foo_playlist_tree 2.1.1.  Still trying to get used to the changes from PLT when it was in 0.8.3, but I love the new look.

I have been experiencing somewhat random losses of queries or folders in my PTS file.  I actually just discovered at least one reproducible event that results in a change in my PTS file.

If I happen to switch views in Columns UI (View>Layout>... or from the "Presets" in the Columns UI preferences), when I switch back, there are Queries or Folders missing from the bottom of my Play List Tree. 

Before closing fb2k, I open the PTS file, because the file changes on the switch back to the previous view.  The queries/folders that are missing are truly cut from the file.  However, when I exit out of fb2k, then open the PTS file, the queries/folders that were missing are back.  However, there is now additional text added into the file right at the point in which the queries/folders were originally removed.  This additional text causes all queries/folders below to be ignored (obviously because of incorrect formatting).

If you need me to, I can post the original PTS files, the one that is generated after switching Columns UI views, and the final PTS after closing fb2k.

Also, does Playlist Tree not allow Unicode characters now?  I had a couple of queries that were rating based, and they were set to show Unicode characters for the nodes in the query (like one star, twos stars, etc.).  When I did some editing of the PTS file by hand, it would not function if saved in any of the Unicode format options, I had to use ANSI for it to work.

Thanks,
kockroach

Edit:  After adding another panel onto my current Columns UI view, I find that this also caused some of the queries/folders to be trimmed from the end of my PTS file.  Not sure what is happening here.  Has anyone else seen this?
Title: foo_playlist_tree
Post by: gob on 2006-06-10 19:19:08
Hey cwbowron,

I am working on converting over to fb2k 0.9.2, and I am having a little problem with foo_playlist_tree 2.1.1.  Still trying to get used to the changes from PLT when it was in 0.8.3, but I love the new look.

I have been experiencing somewhat random losses of queries or folders in my PTS file.  I actually just discovered at least one reproducible event that results in a change in my PTS file.

If I happen to switch views in Columns UI (View>Layout>... or from the "Presets" in the Columns UI preferences), when I switch back, there are Queries or Folders missing from the bottom of my Play List Tree. 

Before closing fb2k, I open the PTS file, because the file changes on the switch back to the previous view.  The queries/folders that are missing are truly cut from the file.  However, when I exit out of fb2k, then open the PTS file, the queries/folders that were missing are back.  However, there is now additional text added into the file right at the point in which the queries/folders were originally removed.  This additional text causes all queries/folders below to be ignored (obviously because of incorrect formatting).

If you need me to, I can post the original PTS files, the one that is generated after switching Columns UI views, and the final PTS after closing fb2k.

Also, does Playlist Tree not allow Unicode characters now?  I had a couple of queries that were rating based, and they were set to show Unicode characters for the nodes in the query (like one star, twos stars, etc.).  When I did some editing of the PTS file by hand, it would not function if saved in any of the Unicode format options, I had to use ANSI for it to work.

Thanks,
kockroach

Edit:  After adding another panel onto my current Columns UI view, I find that this also caused some of the queries/folders to be trimmed from the end of my PTS file.  Not sure what is happening here.  Has anyone else seen this?


everytime i change the colums ui panel that the playlist tree is in, i have to right click in an empty area of the playlist tree panel and "Save File and Load...". if i dont, it will only show the default queries. but otherwise everything loads exactly how i left it. could it be because you have multiple instances of the playlist tree panel? are you sure your not confusing the pts files?
Title: foo_playlist_tree
Post by: kockroach on 2006-06-10 19:37:22
everytime i change the colums ui panel that the playlist tree is in, i have to right click in an empty area of the playlist tree panel and "Save File and Load...". if i dont, it will only show the default queries. but otherwise everything loads exactly how i left it. could it be because you have multiple instances of the playlist tree panel? are you sure your not confusing the pts files?

I only have one Playlist Tree panel.  So there is only one PTS file.  The PTS file is not altered if I resize the Playlist Tree window.  It appears that it is being altered only when I add in a new Panel.  I just removed a panel that sits below my Playlist Tree panel, it did not affter the PTS file.  However, when I added in a panel below it (or in any other area for that matter), it does alter the PTS file.

Also, I cannot just right-click in an open area and choose "Select file and Load".  The changes caused by this problem have already taken affect, so "Select File and Load" pulls up the same thing.  It does not pull up the correct configuration.  I have to actually close fb2k, and copy the backup copy of my PTS file into the fb2k directory.
Title: foo_playlist_tree
Post by: gob on 2006-06-10 20:14:28

it sounds like you might have lost most of your music. i would immediately halt ALL activity on that drive because the files may still be left intact if data isnt written over them. i would use a program called restoration (http://www.snapfiles.com/get/restoration.html) to try and recover the files.


thank you very much for the restoration tool!

the good news is that it managed to find all deleted files and folders, so they are still there 

the not so good is that i must restore each file manually and specify the destination folder - 3120 operations 

i tried "system restore" and it couldn't restore them automatically, so i did undo "system restore" and i'm back to where i started 

i will see if i can find a less time-consuming solution on the net and post it of course! if not.....there's still an option

meanwhile, if someone knows of such a solution, please let me know, it would save me a lot of hard work!

cheers,
mihail


if you select the directory the files were stored in you can do it in one operation. make sure you restore to a different drive, otherwise you might end up overwriting the data.



everytime i change the colums ui panel that the playlist tree is in, i have to right click in an empty area of the playlist tree panel and "Save File and Load...". if i dont, it will only show the default queries. but otherwise everything loads exactly how i left it. could it be because you have multiple instances of the playlist tree panel? are you sure your not confusing the pts files?

I only have one Playlist Tree panel.  So there is only one PTS file.  The PTS file is not altered if I resize the Playlist Tree window.  It appears that it is being altered only when I add in a new Panel.  I just removed a panel that sits below my Playlist Tree panel, it did not affter the PTS file.  However, when I added in a panel below it (or in any other area for that matter), it does alter the PTS file.

Also, I cannot just right-click in an open area and choose "Select file and Load".  The changes caused by this problem have already taken affect, so "Select File and Load" pulls up the same thing.  It does not pull up the correct configuration.  I have to actually close fb2k, and copy the backup copy of my PTS file into the fb2k directory.



it could be something in your queries causing a crazy character to appear. post your pts file, i'll check it out.
Title: foo_playlist_tree
Post by: kockroach on 2006-06-10 20:34:53
it could be something in your queries causing a crazy character to appear. post your pts file, i'll check it out.
Here is what is in my PTS file:
Code: [Select]
(FOLDER "Playlist Tree" 1 :CONTENTS (
(QUERY "Playlists" 0 "@playlists" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 1 :CONTENTS (
(QUERY "*Browser*" 0 "@playlist<*Browser*>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Default" 0 "@playlist<Default>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
))
(FOLDER "Music DB Stats" 1 :CONTENTS (
(QUERY "Total Artists: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Albums: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC AND tracknumber IS 1 OR tracknumber IS 01" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Tracks: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%title%" nil 0)
(QUERY "Total Genres: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
)) (FOLDER "Database Views" 1 :CONTENTS (
(QUERY "True Directory View" 0 "@database" nil "$directory(%_path%,3)|$directory(%_path%,2)|$directory(%_path%,1)|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Artist by Alphabet" 0 "@database" "%__codec% IS FLAC" "$cut($if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%),1)|%artist%|%album%|$num(%tracknumber%,2). %title%" "$cut($if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%),1)|$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist by Genre" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "%genre%|$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist - Album by Date" 0 "@database" "%__codec% IS FLAC" "%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Album by Title" 0 "@database" "%__codec% IS FLAC" "$cut(%album%,1)|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Album by Year" 0 "@database" "%__codec% IS FLAC" "%date%|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Individual Tracks by Codec" 0 "@database" nil "$directory(%_path%,3) 'Singles' '(''@format<%_itemcount%>'')'|$cut(%title%,1)|%title%" nil 0)
)) (FOLDER "Dynamic Playlists" 1 :CONTENTS (
(QUERY "Random Album" 0 "@database" "%__codec% IS FLAC" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Artist" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Album by Genre" 0 "@database" "%__codec% IS FLAC" "@limit<1>%genre%|%album artist% - %album%|$num(%tracknumber%,2). %title%" "%genre%|$rand()" 0)
(QUERY "100 Random Singles" 0 "@database" "%__codec% IS FLAC" "%title%" "$rand()" 0 :MAX-TRACKS 100)
(QUERY "10 Random Singles by Genre" 0 "@database" "%__codec" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Ska-Punk Singles -- @format<%_size_abb%>" 0 "@database" "genre IS punk rock AND %__codec% IS MP3 OR genre IS ska AND %__codec% IS MP3" "%artist% - %title%" "$rand()" 0 :MAX-SIZE 960)
(QUERY "MOD 588 Failed" 0 "@database" "NOT $mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "MOD 588 Passed" 0 "@database" "$mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Never Played" 0 "@database" "%__codec% IS FLAC AND play_counter MISSING" "%artist% - %title%" "%artist%|%title%" 0)
(FOLDER "Top 50" 1 :CONTENTS (
(QUERY "Most Played" 0 "@database" "[%play_counter%]" "'('$num(%play_counter%,3)')' %artist% - %title%" "$num(%play_counter%,3)|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Last Played" 0 "@database" "[%last_played%]" "%artist% - %title%" "%last_played%|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Least Played" 0 "@database" "[%play_counter%]" "%artist% - %title%" "%play_counter%|%artist%|%title%" 0 :MAX-TRACKS 50)
))))))

The above display fine, but if I remove a panel, then put it back, the PTS file is changed to something like this:
Code: [Select]
(FOLDER "Playlist Tree" 1 :CONTENTS (
(QUERY "Playlists" 0 "@playlists" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 1 :CONTENTS (
(QUERY "*Browser*" 0 "@playlist<*Browser*>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Default" 0 "@playlist<Default>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
))
(FOLDER "Music DB Stats" 1 :CONTENTS (
(QUERY "Total Artists: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Albums: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC AND tracknumber IS 1 OR tracknumber IS 01" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Tracks: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%title%" nil 0)
(QUERY "Total Genres: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
)) (FOLDER "Database Views" 1 :CONTENTS (
(QUERY "True Directory View" 0 "@database" nil "$directory(%_path%,3)|$directory(%_path%,2)|$directory(%_path%,1)|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Artist by Alphabet" 0 "@database" "%__codec% IS FLAC" "$cut($if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%),1)|%artist%|%album%|$num(%tracknumber%,2). %title%" "$cut($if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%),1)|$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist by Genre" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "%genre%|$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist - Album by Date" 0 "@database" "%__codec% IS FLAC" "%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Album by Title" 0 "@database" "%__codec% IS FLAC" "$cut(%album%,1)|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Album by Year" 0 "@database" "%__codec% IS FLAC" "%date%|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Individual Tracks by Codec" 0 "@database" nil "$directory(%_path%,3) 'Singles' '(''@format<%_itemcount%>'')'|$cut(%title%,1)|%title%" nil 0)
)) (FOLDER "Dynamic Playlists" 1 :CONTENTS (
(QUERY "Random Album" 0 "@database" "%__codec% IS FLAC" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Artist" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Album by Genre" 0 "@database" "%__codec% IS FLAC" "@limit<1>%genre%|%album artist% - %album%|$num(%tracknumber%,2). %title%" "%genre%|$rand()" 0)
(QUERY "100 Random Singles" 0 "@database" "%__codec% IS FLAC" "%title%" "$rand()" 0 :MAX-TRACKS 100)
(QUERY "10 Random Singles by Genre" 0 "@database" "%__codec" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Ska-Punk Singles -- @format<%_size_abb%>" 0 "@database" "genre IS punk rock AND %__codec% IS MP3 OR genre IS ska AND %__codec% IS MP3" "%artist% - %title%" "$rand()" 0 :MAX-SIZE 960)
(QUERY "MOD 588 Failed" 0 "@database" "NOT $mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%" 0)
))))sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "MOD 588 Passed" 0 "@database" "$mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Never Played" 0 "@database" "%__codec% IS FLAC AND play_counter MISSING" "%artist% - %title%" "%artist%|%title%" 0)
(FOLDER "Top 50" 1 :CONTENTS (
(QUERY "Most Played" 0 "@database" "[%play_counter%]" "'('$num(%play_counter%,3)')' %artist% - %title%" "$num(%play_counter%,3)|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Last Played" 0 "@database" "[%last_played%]" "%artist% - %title%" "%last_played%|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Least Played" 0 "@database" "[%play_counter%]" "%artist% - %title%" "%play_counter%|%artist%|%title%" 0 :MAX-TRACKS 50)
))))))

I thought that perhaps it might be due to a folder within a folder.  Even if I bring that last folder ("Top 50") into the main "Dynamic Playlist" folder, it still happens.
Title: foo_playlist_tree
Post by: foosion on 2006-06-11 16:13:04
Posts regarding "File operations/Delete file(s)" moved to separate topic (http://www.hydrogenaudio.org/forums/index.php?showtopic=45569).
Title: foo_playlist_tree
Post by: drake on 2006-06-11 19:50:32
this thing is awesome... makes for some great organization. i was just wondering how i can add more details down at the line from each thing

like this (http://i58.photobucket.com/albums/g245/dracomordag/myfoobar2.gif).

basically, how do you customize the query level info? all the stuff i've found to read about it involves .col files and loading stuff... but i can't find where to load .col files to being with.


muchas gracias
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-12 13:57:20
basically, how do you customize the query level info? all the stuff i've found to read about it involves .col files and loading stuff... but i can't find where to load .col files to being with.


You should be able to add track length information by changing the format of the query, something like:

Code: [Select]
$upper($left(%artist%,1))|%artist%|%album%|[$num(%tracknumber%,2) - ]%title% '('%length%')'


You can setup a file to save to by right clicking on playlist tree panel, but not on any of the actual tree items... choose "Select File..." and you can pick a file to save to when you exit and it will then automatically saved and restored in further instances...
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-12 14:15:55
A note about layouts, etc

Playlist tree is designed so that it multiple panels can be used.  As such, each panel instance is saves its configuration information such as the save/restore file.  When you change layouts, even if you each layout only has one instance of playlist tree panel, those instances are not the same and as such they do not use the same file for storing and loading.  So when you change layouts and it reverts to the default queries, that's a feature not a bug. 

I am adding a feature request to my list to create a global/save restore file so that if you have multiple layouts, each one having ONE playlist tree panel they both utilize the same file.


Also, does Playlist Tree not allow Unicode characters now?  I had a couple of queries that were rating based, and they were set to show Unicode characters for the nodes in the query (like one star, twos stars, etc.).  When I did some editing of the PTS file by hand, it would not function if saved in any of the Unicode format options, I had to use ANSI for it to work.


It should, but I dont use unicode much myself so there may be some issues.  Was there any chance that the problem was due to the program you used to edit the pts file messing things up?
Title: foo_playlist_tree
Post by: kockroach on 2006-06-12 14:16:26
A note about layouts, etc

Playlist tree is designed so that it multiple panels can be used.  As such, each panel instance is saves its configuration information such as the save/restore file.  When you change layouts, even if you each layout only has one instance of playlist tree panel, those instances are not the same and as such they do not use the same file for storing and loading.  So when you change layouts and it reverts to the default queries, that's a feature not a bug. 

I am adding a feature request to my list to create a global/save restore file so that if you have multiple layouts, each one having ONE playlist tree panel they both utilize the same file.

Good to know.  I can understand why this might be there.  However, should it be altering my PTS file when I am changing the panels within a Columns UI layout?  I am not removing the Playlist Tree panel, but adding in or removing other panels or toolbars.  This is also causing the problem I mention above, and the two examples of a PTS file contents are from before and after removing a panel that was below my Playlist Tree window.

It should, but I dont use unicode much myself so there may be some issues.  Was there any chance that the problem was due to the program you used to edit the pts file messing things up?

It was just a straight copy and paste of the query and format lines from my old COL file from 0.8.3's Playlist Tree version.  Not the whole contents of the file.  I'll try something else.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-12 14:24:29
Good to know.  I can understand why this might be there.  However, should it be altering my PTS file when I am changing the panels within a Columns UI layout?  I am not removing the Playlist Tree panel, but adding in or removing other panels or toolbars.  This is also causing the problem I mention above, and the two examples of a PTS file contents are from before and after removing a panel that was below my Playlist Tree window.
Thanks.


It might be trying to save the file even if you arent actually closing down the instance of playlist tree.  There is a bit of a kludge in there to save the file when there is some columns ui activity... I will look into that... I'm also looking into why your file is getting munged...
Title: foo_playlist_tree
Post by: kockroach on 2006-06-12 15:09:41
Cool.  Let me know if you need anything from me.  I was going to try out the previous version, but there aren't download links for any of them.

And it does seem to save the file without closing fb2k.  When I remove a panel (or add one) to my view, it redraws the whole fb2k window.  Then I look at my Playlist Tree panel, and the list has been shortened.  Without closing fb2k, I open up the PTS file, and it is altered.  That is what I actually posted above...and altered PTS file without even closing fb2k.
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-13 19:35:41
Hi cwbowron,

I've finally switched to fb2k 0.9 and I'm really happy with the new PT, it's really stable and quick, nice work.

I mostly use it now as a dynamic playlist generator and to keep track of my personal playlists. This is the layout I have:

+Dynamic Playlists:
--->Library
--->Most played
--->Last played
--->Random Album
+Personal Playlists:
--->Favorites

I have some questions:
- The Personal Playlists is just a folder with some subfolders. Each subfolder is like a playlist, I drag and drop files from other playlists, browser,etc... to make static playlists i.e. favorite tracks. It works like a charm, and as long as you add files everything is fine, it's keep up-to-date. But when you remove a trackfrom one of the subfolder, then the track isn't really removed, when you refresh the query or reboot fb2k, then the removed tracks are then again. Is this intended? Could it be possible to also add an option to autosave as a regular playlist somewhere in the harddrive?

- Could it be possible to specify an option to sort a folder/subfolder content. I mean, when I add a track it's added to the bottom of the playlist, and I have to sort the playlist manually. Not a big deal, but it will be nice if I could set a sort.

Maybe I'm not using PT as intended, so let me know if there are better options for what I'm doing

PS: another way could be to @drop a directory with personal playlists, but I guess everytime I'll add something it won't be saved into the playlist and I'll lose changes when the static playlist is reloaded.

Thanks for this great plugin dude.
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-13 19:57:49
Oh, another question:
When I drag and drop a playlist/folder/query from PT panel to the Playlist switcher, it's always renamed as 'New Playlist', could it be possible to configure that, so the name could be something else (using tagz or whatever)?

I don't know if it's your plugin or playlist switcher's behaviour.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-13 20:08:26
Oh, another question:
When I drag and drop a playlist/folder/query from PT panel to the Playlist switcher, it's always renamed as 'New Playlist', could it be possible to configure that, so the name could be something else (using tagz or whatever)?

I don't know if it's your plugin or playlist switcher's behaviour.


I think that's playlist switcher's behaviour.

I have some questions:
- The Personal Playlists is just a folder with some subfolders. Each subfolder is like a playlist, I drag and drop files from other playlists, browser,etc... to make static playlists i.e. favorite tracks. It works like a charm, and as long as you add files everything is fine, it's keep up-to-date. But when you remove a trackfrom one of the subfolder, then the track isn't really removed, when you refresh the query or reboot fb2k, then the removed tracks are then again. Is this intended? Could it be possible to also add an option to autosave as a regular playlist somewhere in the harddrive?


Is personal playlists set up as folder or query?  It seems like it should be a folder, but you said "refresh the query".
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-13 22:26:10
Is personal playlists set up as folder or query?  It seems like it should be a folder, but you said "refresh the query".

It's setup as a folder. 'playlists' are just folders inside the personal palylists folder where I drag items. Sorry, forget about the refresh queries, I mean that when I start fb2k, deleted items are in the subfolder again.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-14 16:27:20
Hello Chris!

You added some points concerning the @playlist/s stuff in the feature request list. Let me suggest some points more:

1. The query node of @playlist works like a link: The content is not sended to library playlist but opens the original.

2. In format and criteria the usage of variables that are available for the pl switcher: %_isplaying%, %_lockname% (i forget the real name), etc.  Example for usage: Status IS %_isplaying% or %_lockname% IS History etc

3. Creating new playlists in pl switcher from PT.

It would bee great to have the functionality of playlist mangement.


Another point concerning static folders: It would be great if the pts.file could be automatically refreshed after renaming or moving files. Now after using the renamer the static playlists point to the old names
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-15 16:58:14

Is personal playlists set up as folder or query?  It seems like it should be a folder, but you said "refresh the query".

It's setup as a folder. 'playlists' are just folders inside the personal palylists folder where I drag items. Sorry, forget about the refresh queries, I mean that when I start fb2k, deleted items are in the subfolder again.


I've just re-read my post and I see I didn't explain it really clearly. I have a static folder, within this folder I've put several static folders where I drag and drop tracks. So I use them as playlists. The problem is when I delete a track from the playlist, it's not really removed, if I click on another playlist/query/folder in the playlist tree panel, and I click again on the static oflder where I have deleted the track, it's there again.

Maybe it's because I hidde leaves and I remove the track from the lirbary playlist, not the folder content. Just guessing...

Another question: it's systemdate available in this new version of PT?
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-15 18:22:22
I've just re-read my post and I see I didn't explain it really clearly. I have a static folder, within this folder I've put several static folders where I drag and drop tracks. So I use them as playlists. The problem is when I delete a track from the playlist, it's not really removed, if I click on another playlist/query/folder in the playlist tree panel, and I click again on the static oflder where I have deleted the track, it's there again.

Maybe it's because I hidde leaves and I remove the track from the lirbary playlist, not the folder content. Just guessing...

Another question: it's systemdate available in this new version of PT?


Yes, currently the file is only removed from the tree if you middle click on it and select "Remove" or use the main menu remove selection thing.  Removing a file from the system does not currenlty affect files in folders.  I am looking at hooking up some file notification callbacks so moved files and removed files are handled correclty in the tree.

systemdate is not available in playlist tree.  I think it would be better as a global hook.  I may add it to my foo_cwb_hooks, but I havent done anywork on that lately...
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-15 18:59:50
I think I've found a bug. When you change the Column UI layout, and you have the PT panel in the layout, once you click apply, the PT configuration just dissapear.
Title: foo_playlist_tree
Post by: kockroach on 2006-06-15 20:18:27
I think I've found a bug. When you change the Column UI layout, and you have the PT panel in the layout, once you click apply, the PT configuration just dissapear.

Sounds kind of like the problem I described above.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-15 20:22:02

I think I've found a bug. When you change the Column UI layout, and you have the PT panel in the layout, once you click apply, the PT configuration just dissapear.

Sounds kind of like the problem I described above.


I think the playlist tree panel that is being created is not the same one, so they two instances don't know about each other... you might try doing something similiar with another panel that remembers its own state like trackinfo and see if they lose their config too...
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-15 21:31:38
1. The query node of @playlist works like a link: The content is not sended to library playlist but opens the original.

[...]

It would bee great to have the functionality of playlist mangement.


I second both requests.

One little suggestion, could it be possible to add more than one PT panel? I'll like to get more than 2 PT panels, but with different configurations.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-15 21:33:29
One little suggestion, could it be possible to add more than one PT panel? I'll like to get more than 2 PT panels, but with different configurations.


Its already possible... columns ui layout should let you add as many as you want...
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-15 21:52:24
Code: [Select]
Release 2.2.beta0

    * faster query results using compiled titleformatter (1.15s vs .39s in one sample)
          o improvements only on queries not using the %<tag>% stuff

New Features

    * @queue source designator. allows you to view whats in the playback queue.
          o can be set to automatically update when files are added to queue or played
    * @playlist queries can be set to automatically update when the source playlist is changed
    * @playlists queries can be set to automatically update if a playlists is add, removed or renamed
    * new context menu item: play in library playlist - clears queue, sends selection to library playlists and plays it
    * dropping items to a auto refreshed @queue query will add the item to the queue as well as the node
    * dropping items to a auto refreshed @playlist query will add the item to that playlist as well as the node
          o dropping items will also cause the query to refresh so that the folder layout is correct - so if you drop a file anywhere under a playlist or queue quere, the playlist or queue will be added to, then the query will be refreshed so everything in the query node is in the proper place...
    * respond to file moves and deletes by moving underyling path and removing node respectively.
Title: foo_playlist_tree
Post by: kockroach on 2006-06-15 21:52:50


I think I've found a bug. When you change the Column UI layout, and you have the PT panel in the layout, once you click apply, the PT configuration just dissapear.

Sounds kind of like the problem I described above.


I think the playlist tree panel that is being created is not the same one, so they two instances don't know about each other... you might try doing something similiar with another panel that remembers its own state like trackinfo and see if they lose their config too...

Not sure what you mean here about two instances.  In my case, there is only one Playlist Tree panel.  When any layout change is made to Columns UI, the Playlist Tree panel's PTS file gets changed immediately (as shown in a previous post).  Nothing happens to either of my two Track Info panels.  They keep their configurations while the same layout changes cause problems with PLT.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-16 18:53:51
Anybody tried any of the new auto refreshing options in 2.2?
Title: foo_playlist_tree
Post by: gob on 2006-06-16 19:56:36
not home right now, but i'll check thius new version out if im home later tonight...
just to let u know cwbowron, each time you release a new version of the PLT, the refresh time gets faster and faster.

btw, cant wait to try the new features with the que viewer andm editor.
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-16 20:31:01
Here, @playlists<> autorefresh work great, and the same for @playlist. However, I wonder if thi @playlist<> functionality could be added to @drop (for playlists, directories or just files droped into a PT folder), I mean:

I have a directory with personal playlists and if I want theme to apperar in PT I have 3 choices:
1) Drop every playlist using @drop<path-to-the-playlists\playlist.fpl>
2) Drop the whole directory using @drop<path-to-the-playlists>, and every playlists will appear as a static folder.
3) Open the playlists in fb2k and use @playlists<> to manage them.

But this are the 'issues' I encounter:
1) Any change (add/remove song) to the drop query is not saved since it always load the original playlist and doesn't save the changes to the loaded playlist.
2) Idem as 1) since they are also static. Changes aren't saved.
3) Idem as 1 and 2. Changes are only saved if you use @playlist and you load the playlists one by one. So you have to always have these playlists opened and in the fb2k playlists/directory.

It'll be nice if the new @playlist autosaved feature could be added to @drop, so:

- You don't have to keep the playlists opened (imagine if you don't save the playlist and you close it, ops, it's gone)
- You can just make new playlists into a directory, you drop it, and these are managed by PT (added/removed tracks, create/delete playlists, etc...)

Thanks.
Title: foo_playlist_tree
Post by: HiFiRE on 2006-06-17 07:53:58
'Is it possible to have the tree sort artists starting with "the" by the word after "the"?
Title: foo_playlist_tree
Post by: jkwarras on 2006-06-17 11:50:19
It'll be nice if the new @playlist autosaved feature could be added to @drop, so:

I've been playing a littlle more with the options we have right now in PT to manage playlists, but I admit that managing external playlists, that are not in the foobar2000\playlists directory (so, opened in foobar) is not very nice. Right now, if you drop a directory with several playlists, PT will trat them as static folders that it load everytime you open fb2k. If you drop files to the playlist folder, it'll load them, but if you switch to another place in the PT tree and you get back to this PT static folder, the content regenerated is obviously the source playlists, so changes are lost. The only way right now is, to open this static node as a playlist in the playlists switcher and remember to save changes to the real external playlist. Changes in the static folder are not automatics, so you have to restart fb2k (or refresh the drop query) to make PT reload the directory with external playlists and see the changes.

Hope it makes sense and you fine this suggestions useful cwbowron. PT is really great and improving everyday. Good work.
Title: foo_playlist_tree
Post by: kockroach on 2006-06-17 13:12:53
'Is it possible to have the tree sort artists starting with "the" by the word after "the"?

Code: [Select]
$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|%album%|$num(%tracknumber%,2). %title%

I believe this is what you would want.  This sorts by Artist (ignoring "The "), then by album, the by tracknumber (with trackname).
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-06-17 14:29:21
Anybody tried any of the new auto refreshing options in 2.2?

What does "Automatically Refresh" do exactly?  Does it refresh every time a new track is played, or every time foobar starts up, or what?

This is another example of one of my biggest frustrations with playlist tree, its consistent use of ambiguous language.  I love the component and consider it to be almost essential for me, but some clearer language would make things a lot easier.
Title: foo_playlist_tree
Post by: HotWot on 2006-06-18 15:03:34
I'm sorry if this is a stupid question, but I'm at a complete loss here...  In preferences -> playlist tree panel -> mouse and keyboard, I can choose the action "add to specified playlist"

Sounds like exactly what I am looking for, but how on earth do I specify what playlist to use? At this moment, when I use this function, nothing happens at all... Am I overlooking something here?
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-18 15:24:42

Anybody tried any of the new auto refreshing options in 2.2?

What does "Automatically Refresh" do exactly?  Does it refresh every time a new track is played, or every time foobar starts up, or what?

This is another example of one of my biggest frustrations with playlist tree, its consistent use of ambiguous language.  I love the component and consider it to be almost essential for me, but some clearer language would make things a lot easier.


I added a section about automatic refreshes to the tutorial.

http://wiki.bowron.us/index.php/Foobar2000...tomatic_Refresh (http://wiki.bowron.us/index.php/Foobar2000%3a%50laylist_Tree:Tutorial#Automatic_Refresh)

If you would like to help make the documentation clearer, please PM or email me and I will set you up an account on my wiki and you can help out with the documentation.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-19 11:44:55
I am excited of the new autorefresh features and like to second jkwarras request for making this feature available for other sources: there remains thre more - @node,@database and @drop.

It is the only annoying point of foobar that it doesn't refresh media library automatically on adding or removing files but you have to do it manually. Hopefully the foo_dirwatch plugin will someday be ported or Peter will consider to implement this essential feature in a future version.

But however: I would love it if PT could be able to recognize changes to the database so that it refresh automatically refreshes that queries that have @database as source.

The @drop stuff would be a bigger stuff, i think!
Title: foo_playlist_tree
Post by: HiFiRE on 2006-06-19 12:12:18

'Is it possible to have the tree sort artists starting with "the" by the word after "the"?

Code: [Select]
$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|%album%|$num(%tracknumber%,2). %title%

I believe this is what you would want.  This sorts by Artist (ignoring "The "), then by album, the by tracknumber (with trackname).


Sweet, dude. Thanks!
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-19 14:10:24
Just like to say that i miss an old feature from PT 1.7: Remove duplicates on add/send to library playlist.

Another point: I don't want to call it a bug because it doesn't affect the functionality - it is just a graphical issue. Often when you expand a node the panel flickers or for a small part of a second the background becomes white. Can anybody confirm this? (This issue appeared in older versions of PT (1.7.xx) too)
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-21 11:05:54
I did some testing with the new autorefresh options and it works very well. There is just one small issue with @queue: If you close foobar while your queue is not empty after restart the queue is flushed but the queue-node in PT still contain the old entries.
Title: foo_playlist_tree
Post by: HotWot on 2006-06-21 15:26:40
I'm sorry if this is a stupid question, but I'm at a complete loss here...  In preferences -> playlist tree panel -> mouse and keyboard, I can choose the action "add to specified playlist"

Sounds like exactly what I am looking for, but how on earth do I specify what playlist to use? At this moment, when I use this function, nothing happens at all... Am I overlooking something here?


A few days ago I posted this question, after some more research, I think the problem is that this function just doesn't work properly atm.

When I create a keyboard shortcut to add music to a certain playlist, I can point the shortcut directly to Edit Other -> Add to playlist -> NameOfPlaylist. This last step, where you specify the playlist to use, can't be done within Playlist Tree, therefore, it simply does nothing.

Another solution to my problem would be if there was a "Add to library playlist and play" function, but atm there is only "Send to" en "Play in" library playlist, both of which immediately delete everything else I have in this playlist.

Can this be fixed?  or is there another solution?
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-21 16:52:22
After some more testing the autorefresh stuff i have a suggestion. If there is no sort order checked and as format only leaves under the query node then it would be useful if a dropped file is exactly placed in that position of the playlist where it was dropped in pt panel and not automatically to the end.

Reading the last two or three posts i think it would be nice if the good old user_defined_playlist would be reintroduced. Why not in a seperate plugin? There would be people who don't use PT but would like to have a default/central playlist manipulated by context menu, hotkeys or buttons.  Following commands would make sense:

Add to
Add to and play
Add to and play after current
Send to
Send to and play
Send to and play after current
Fit in after playing track
Fit in after playing track and play

The coolest thing is that you can create an own panel in pt, use @playlist<'user-defined'> and has an overview beside of your playlist view (ColumnsUI).



(By the way: Let me explain one of the advantages of my request to use the @playlist query node as a link that opens the original playlist: You click such a query node, the original playlist is opened, you can edit the playlist and the result is reflected by autorefresh. Now you would remove tracks just from library playlist and become confused. Another advantage is that you would take over the attributes of ColumnsUi pllaylists like "read only" and so on. On the other side it makes sense to use the subfolders of such a query node as stuff that is normally sended to library playlist. I believe: a good combination and perhaps it should be optionally.

EDIT: One day later i think even if you have a format for @playlistqueries that uses subfolders it would be nice if the original playlist is opened but then with the special feature that all the tracks of this subfolder are highlighted. Pretty idea?  )
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-22 15:08:18
Looking in Development version and wishlist shows that the autorefresh stuff is rising and rising. I especially love the new feature "respond to file moves and deletes by moving underyling path and removing node respectively". That feature would be completed if "update on tag change" would be reimplemented: in the preview version for foo 0.8.3 that feature worked very well.
Title: foo_playlist_tree
Post by: HiFiRE on 2006-06-26 07:04:47
Is it possible to create a tree of playlist files using a wildcard and searching recursively? Something like @drop<path\*.m3u>

I'd want a tree of the file names of the playlists.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-26 13:30:39
Is it possible to create a tree of playlist files using a wildcard and searching recursively? Something like @drop<path\*.m3u>

I'd want a tree of the file names of the playlists.


Not currently.

But if you're directory contains only playlists you could @drop the directory and each playlist should make its own subfolder.
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-26 19:21:39
Code: [Select]
 Release 2.2.beta2
New Features

    * reimplemented @fakelevel
    * If the title formatting for a folder node uses non-playlist tag, it will try to find them in the first entry in the node. eliminates the need for a $first or @first function
    * turn off window redrawing when doing a user requested refresh
    * on playback skip files with meta tag SKIP (will not make it to the final release)
    * turn off redrawing while a node is expanded. Less window flashing
    * when removing a file from a auto refresh @queue query, remove it from the queue as well
    * when removing a file from a auto refresh @playlist query, remove it from the playlist as well
    * automatically store to a file in the foobar2000 directory
          o This overrides previous settings, but you can re-load your previously saved file and it will handle the storage and retrieval on its own after that.
    * multiple panels can swap contents from the context menu
    * if you are changing the configuration in columns ui, some of the panel contents can get mixed up. if you remove a panel and a different panel seems to be affected, you can right click on the remaining panel and select which contents it has, including the contents of panels that have been removed.

Bug Fixes

    * fixed bug in dropping multiple files onto auto refreshed @playlist/@queue query
    * don't write the contents of @queue query, because queue is not saved between instances


If you install the new version and you had previously been using a save/restore file, its NOT going to load it automatically now... But manually load it using File/Open... and it should now manage the storage and retrieval of content on its own after that... it will save files in foobar2000 profile directory and the files are called playlist-tree-[n].pts, where n will be the panel instance.

You can swap panel contents around from the context menu now, by right clicking somewhere in the panel that is not on any node.  This is also useful if things get mucked up by changing around columns ui layout...
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2006-06-26 19:58:28
Cwbowron.

One of my favorite parts of the Playlist Tree was being able to see what songs had been recently added. With the new version, how would I be able to accomplish this?

the query I used was this

Code: [Select]
($sub(%systemdate%,%added%) LESS 101) AND ($sub(%systemdate%,%added%) GREATER -1)


I'm not even sure if the Recently Added plugin has been added.

hmmm....
Title: foo_playlist_tree
Post by: iostream on 2006-06-27 01:35:16
I set the double click action in playlist tree to "Playlist Tree/Play in Library Playlist" and it's functioning as it should.  One question:

Is it possible to configure playlist tree so that as soon as a song I have played by double clicking it in playlist tree finishes, the next track begins?  e.g., if I double click \mp3\artist\album\track 6, when track 6 finishes, track 7 begins?

or more succinctly, is it possible to make every folder in playlist_tree act like a playlist?
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-27 13:29:10
I set the double click action in playlist tree to "Playlist Tree/Play in Library Playlist" and it's functioning as it should.  One question:

Is it possible to configure playlist tree so that as soon as a song I have played by double clicking it in playlist tree finishes, the next track begins?  e.g., if I double click \mp3\artist\album\track 6, when track 6 finishes, track 7 begins?

or more succinctly, is it possible to make every folder in playlist_tree act like a playlist?


Its not currently possible.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-06-28 16:27:11
Everybody of us who uses PT and the Browser has made a decision how to organize the interplay of these two components: you can browse nodes by singleclick or by doubleclick, also you can set that browser playlist is automatically activated or not. You even can combine these 4 possibilities with different ways how the library playlist is handled. 

But there would be a behavior that is the most interesting and (for me at least) the most useful.  It requires a special command for doubleclick in PLT: "[local] activate browser playlist".  This command just makes sense if you use singleclick for browsing and has unchecked the automatical activation of the browser playlist.

What would be the advantage?  You don't have to decide if you like the automatic activation of browser playlist: a singleclick just fills the browser and a simple doubleclick opens also the browser playlist - very easy to use!

In that context i also would like to wish the feature of the socalled preview version: Add/Send to selected folder. Then you easily can browse a node by doubleclick, singleclick a special folder that should be filled with tracks and send them from playlistview by hotkey, context menu or buttons. (Nice side effect: the easy sending from folder to folder inside pt panel by context menu)

Have a nice day, all you!
Title: foo_playlist_tree
Post by: cwbowron on 2006-06-28 16:47:28
Everybody of us who uses PT and the Browser has made a decision how to organize the interplay of these two components: you can browse nodes by singleclick or by doubleclick, also you can set that browser playlist is automatically activated or not. You even can combine these 4 possibilities with different ways how the library playlist is handled. 

But there would be a behavior that is the most interesting and (for me at least) the most useful.  It requires a special command for doubleclick in PLT: "[local] activate browser playlist".  This command just makes sense if you use singleclick for browsing and has unchecked the automatical activation of the browser playlist.

What would be the advantage?  You don't have to decide if you like the automatic activation of browser playlist: a singleclick just fills the browser and a simple doubleclick opens also the browser playlist - very easy to use!

In that context i also would like to wish the feature of the socalled preview version: Add/Send to selected folder. Then you easily can browse a node by doubleclick, singleclick a special folder that should be filled with tracks and send them from playlistview by hotkey, context menu or buttons. (Nice side effect: the easy sending from folder to folder inside pt panel by context menu)

Have a nice day, all you!


I added "Activate Browser playlist menu option" as a feature request in the browser list.  It would really belong as part of browser, not playlist tree.
Title: foo_playlist_tree
Post by: fabiospark on 2006-07-02 20:08:02
PLT 2.2 beta 2

Let me a quick check:

is the #tag# function for getting multi values broken?


Thanks

Edit:  just found in your forum %<tag>%.
Title: foo_playlist_tree
Post by: amiti on 2006-07-03 10:38:24
Is there a way to change to defualt icons set?
Is there a way to customize the "open folder" icon and "open query" icon?

Thanks,

Amit.
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-03 12:37:11
I have a drop query set to read the contents of a folder that is not included in the "Music folders" list in the Media Library.  Because these songs' metadata is not stored in the database, when I refresh the query, the metadata is not read, and all the songs end up lumped together in the query root.  Is there anyway for Playlist Tree to read the metadata when it refreshes to properly create the subfolders?  It seems possible, since files that are not in the media library can still be inserted into playlists and have their metadata read and even saved between foobar sessions.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-03 13:03:18
An little annoyment that happens often enough is that a node is selected and library playlist is activated when you right click a node or expand it by clicking the +button. This only happens if nothing is selected in the panel - once a selection is done that behavior doesn't occur. The easiest way to reproduce this is to click the +button of a node directly after fresh start of foobar.
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-03 13:19:06
I have a drop query set to read the contents of a folder that is not included in the "Music folders" list in the Media Library.  Because these songs' metadata is not stored in the database, when I refresh the query, the metadata is not read, and all the songs end up lumped together in the query root.  Is there anyway for Playlist Tree to read the metadata when it refreshes to properly create the subfolders?  It seems possible, since files that are not in the media library can still be inserted into playlists and have their metadata read and even saved between foobar sessions.


Are you using the latest version?  I thought that the last couple version support this.
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-03 13:36:38
Are you using the latest version?  I thought that the last couple version support this.

2.2.beta2 Jun 26 2006 - 11:41:51
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-03 13:39:34
An little annoyment that happens often enough is that a node is selected and library playlist is activated when you right click a node or expand it by clicking the +button. This only happens if nothing is selected in the panel - once a selection is done that behavior doesn't occur. The easiest way to reproduce this is to click the +button of a node directly after fresh start of foobar.


This is the way the treeview control works by default and it would be a hassle to work around it.
Title: foo_playlist_tree
Post by: 45miles on 2006-07-03 19:58:13
I like this Plugin very much, but there ist one thing i miss since the last version for 0.8.3.
There i could do a query according to %systemdate% (comparing to %last_played% e.g.). But now it seems this feature went away?
Is there a way to access this variable?

rainer
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-03 21:20:29
Does @and only work with @node queries?  I tried doing

@drop<c:\directory1> @and @drop<c:\directory2>

and it only takes files from directory 1.
Title: foo_playlist_tree
Post by: Teukka on 2006-07-03 21:45:53
i'm having this issue with playlist...when i drag & drop some folder to playlist tree it loads also playlist and result is having duplicate tracks. is there some setting in playlist tree to not read playlists in folders.

(http://img405.imageshack.us/img405/403/playlist9bv.th.png) (http://img405.imageshack.us/my.php?image=playlist9bv.png)
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-04 14:51:05
I had a little bit time to test the newest beta and many of the new features works well. But the new sorage technique confused me a little bit - there are two problems:

1. If you create some panels in one layout everything is fine. But if you add a panel in an other ColumnsUi layout this panel is not really a new one but an old one from first layout. The only solution i see: I have to create all panels in first layout, then to choose by context menu in second layout the panel i like and at last i have to remove that panel in first layout.

2. just the switching from one layout to an other causes that my panels are swapped: they display other stored pts.files (Note: i just tested inside tabbed panels)




Quote
This is the way the treeview control works by default and it would be a hassle to work around it.


I thought it could be a bug because that doesn't happen in album list and it even doesn't happen in PT too after a redrawing tree by context menu. But i hope you can understand the annoying factor. Sorry!
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-04 15:57:58
I have a drop query set to read the contents of a folder that is not included in the "Music folders" list in the Media Library.  Because these songs' metadata is not stored in the database, when I refresh the query, the metadata is not read, and all the songs end up lumped together in the query root.  Is there anyway for Playlist Tree to read the metadata when it refreshes to properly create the subfolders?  It seems possible, since files that are not in the media library can still be inserted into playlists and have their metadata read and even saved between foobar sessions.



Does @and only work with @node queries?  I tried doing

@drop<c:\directory1> @and @drop<c:\directory2>

and it only takes files from directory 1.



cwbowron, are you able to reproduce these problems, or am I doing something wrong?
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-04 16:54:47
Does @and only work with @node queries?  I tried doing

@drop<c:\directory1> @and @drop<c:\directory2>

and it only takes files from directory 1.


It should work, but I cannot test it right now.

do you mean @and or do you really mean @or?  @or would be if you want the contents of BOTH directories.  @and would be if you want the files that are in both.
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-04 17:37:44
I should have been using @or, but that still doesn't work.
Title: foo_playlist_tree
Post by: mil3s on 2006-07-04 21:04:25
Very small suggestion:

Similar to behaviour of Windows Explorer, the currently selected folder may be displayed with the expanded icon. I'm using a Windows XP icon set (http://www.audiohq.de/articles/foobar/playlist_tree/xp-icons.bmp) and it would slightly increase the feeling of authenticity?.

How do I enable this?

EDIT: Never mind.
Title: foo_playlist_tree
Post by: mil3s on 2006-07-04 23:51:42
Bug
Don't know if this has been reported. When I enable 'Hide Lines' in the preferences the top nodes +/- disappear.
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-05 14:22:21
Bug
Don't know if this has been reported. When I enable 'Hide Lines' in the preferences the top nodes +/- disappear.


That's a limitation of the treeview control.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-05 14:29:52
1. If you create some panels in one layout everything is fine. But if you add a panel in an other ColumnsUi layout this panel is not really a new one but an old one from first layout. The only solution i see: I have to create all panels in first layout, then to choose by context menu in second layout the panel i like and at last i have to remove that panel in first layout.

2. just the switching from one layout to an other causes that my panels are swapped: they display other stored pts.files (Note: i just tested inside tabbed panels)


I changed the tabbed panel to a normal splitter and the second point still occur: all the panels change their places. Do i something wrong or is this a bug?
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-05 14:32:56
I changed the tabbed panel to a normal splitter and the second point still occur: all the panels change their places. Do i something wrong or is this a bug?


It's a known issue.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-05 14:38:21
It's a known issue.


I missed something! 
Title: foo_playlist_tree
Post by: mil3s on 2006-07-05 17:37:26

Bug
Don't know if this has been reported. When I enable 'Hide Lines' in the preferences the top nodes +/- disappear.


That's a limitation of the treeview control.

Why would you even have this option if it doesn't work properly?  I can't expand the top nodes if the +/- is gone. Awesome plugin other than that btw.
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-05 18:16:30
Why would you even have this option if it doesn't work properly?  I can't expand the top nodes if the +/- is gone. Awesome plugin other than that btw.


You can use the right and leff arrow keys to expand and contract nodes.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-05 21:38:03
Hello Chris!

I took some time to think about the new beta versions of pt and have collected some ideas and suggestions. I hope you will pick up a few to think about them.

1. @playlist/s

a) The add/remove feature works fine. It would be nice if this could get completed by sorting. I mean this: If some conditions are fullfilled (leaves are directly under query-node, no specified population sort order and unchecked display sort) it would make sense that drag&drop inside the playlist-query doesn't copy the tracks but moves them. The effect would be that the order is also changed in original playlist.

b) same like above for dropped tracks from another source than tracks of playlist-query node: If you drag&drop a track from ColumnsUi playlist view between two leaves inside a @playlist query this tracks is placed in original playlist at the same place.

2. @queue

Same like for @playlist/s: This ability to sort would make pt to a queue manager that offers much more possibilities than foo_playbackqueueviewer.

3. @node

It is already in the wishlist but i like to mention it should just autorefresh the @node query: no removing or adding to original source. If indeed somebody adds or removes something inside a @node query the query should get refreshed to show the origin content.

4.@database

a) same like for @node: if you add or remove something to/from the @database query it will be refreshed.

b) now the autorefresh feature for @database works the same like for $playing. I like the new concept of the beta that makes for each source a special type for refreshing. So why not also for the most important queries! There are three situations where autorefreshing makes sense:
              1. changing tags - a feature the good old pt 1.7 already had: "update on tag change"
              2. now using the renamer means that pt changes the old names to the new ones inside the pts.file.
                  But if you add  or remove files to /from media library folders by the renamer this is not
                  reflected by the @database queries. In that case an automatical refresh would do the job
                  (The browser already does this!)
              3. rescan media library

5. @drop

I think autorefreshing @drop queries without repeating the whole scanning procedere would be a killer feature but also the hardest task.

Thanks for the attention to such a long posting! 
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-08 15:33:13


I have a drop query set to read the contents of a folder that is not included in the "Music folders" list in the Media Library.  Because these songs' metadata is not stored in the database, when I refresh the query, the metadata is not read, and all the songs end up lumped together in the query root.  Is there anyway for Playlist Tree to read the metadata when it refreshes to properly create the subfolders?  It seems possible, since files that are not in the media library can still be inserted into playlists and have their metadata read and even saved between foobar sessions.


Are you using the latest version?  I thought that the last couple version support this.

2.2.beta2 Jun 26 2006 - 11:41:51


cwbowron, are you able to reproduce this problem, or am i doing something wrong?
Title: foo_playlist_tree
Post by: DanDanRevolution on 2006-07-08 18:26:01
I'm having trouble adding new folders because there is no "New Folder" context menu item under my context menu for the root of the playlist-tree panel. Please help! Thanks.

I'm using the latest versions of foobar, columnsui, and playlist_tree. (All three updated today.)

This is what I was having trouble with earlier:

Quote
I'm having trouble, using 0.9, getting started. (Am I the only one?) I put the dll in my components dir, I restarted foobar and I see the component listed under Components in the Preferences, but there is no option to add playlist-tree as a panel, and I don't see any preferences for it either! :-/

the version number is 2.2.beta2 June 26 2006 ... am I missing something?

EDIT: I have columns ui 0.1.3-prealpha ... i'm checking into if that's the latest one...
EDIT: Yep, fixed it. Needed latest columns ui for this to work, but now I broke my album art panel! this smells unix-ish... foobar should have its own package manager!
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-09 17:24:11
Have found a small issue: if you create an @playlists node and check autorefresh option the same option isn't checked for the @playlist<> children queries.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-10 13:57:30
An other small issue: If you remove all tracks from a playlist the content of its @playlist<> node is removed too. That is how it should work. But if you remove the playlist itself by context menu "Remove" the content of the query node remains.
Title: foo_playlist_tree
Post by: sriram on 2006-07-13 03:40:32
If I have multiple values for a field (eg. two artists), is there any way for the song to be displayed twice under each artist, instead of separatly like "artis1, artist2"?
Title: foo_playlist_tree
Post by: Superunknown on 2006-07-13 12:59:19
since I've made some changed to my colums configuration, playlist_tree block/freeze block everytime I try to make more than 1 research, anyone has a solution to solve this problem ? (just playlist_tree doesn't work anymore, foobar remains OK)

edit : solved installing a new version... :-)
Title: foo_playlist_tree
Post by: Superunknown on 2006-07-13 14:18:45
btw,

could someone explain me please how the browser thing works with the last version of playlist_tree for 0.8.3 ? I only get a browser tab is a album column that display actually the results as 'artist - title'
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-13 14:24:41
could someone explain me please how the browser thing works with the last version of playlist_tree for 0.8.3 ? I only get a browser tab is a album column that display actually the results as 'artist - title'


This might have information you need:

http://wiki.bowron.us/index.php/Playlist_T...7.x#The_Browser (http://wiki.bowron.us/index.php/Playlist_Tree_Tutorial_1.7.x#The_Browser)
Title: foo_playlist_tree
Post by: Superunknown on 2006-07-13 17:11:52
I should buy new eyes sometimes, thanks for your support
Title: foo_playlist_tree
Post by: pstrg on 2006-07-14 01:52:18
How to add a node?
Right-clicking the root doesn't show such an option...
(http://img161.imageshack.us/img161/2217/playlisttree6bd.png) (http://imageshack.us)
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-07-14 02:29:15
How to add a node?
Right-clicking the root doesn't show such an option...


Click the "Library" menu in the menu bar, then click "Playlist Tree"
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-14 03:02:22
How to add a node?
Right-clicking the root doesn't show such an option...


You can also access the playlist tree specific context menu by holding shift when you right click on a node, or by middle clicking a node.
Title: foo_playlist_tree
Post by: pstrg on 2006-07-15 03:37:41
There seems to be a problem with sorting.
Entries beginning with letters with diacritical marks always appear at the end of the list, for instance:
- ...
- Zimmermann
- Zukerman
- Época
This issue doesn't appear with columns-ui or elsewhere as fb2k is fully Unicode compliant.
Am I perhaps missing some setting of foo_playlist_tree?
PLEASE SEE POST #1393 BELOW (MORE INFO)
Title: foo_playlist_tree
Post by: luckycatfu on 2006-07-15 10:46:47
When I right-click on a blank area in a playlist_tree panel, I see a context menu that includes an entry:

Playlist Tree [panel 0]

Does this imply I could have multiple playlist tree panels? or at least multiple configurations for panels in different layouts? That would come very much in handy.
Title: foo_playlist_tree
Post by: luckycatfu on 2006-07-15 11:42:46
When I right-click on a blank area in a playlist_tree panel, I see a context menu that includes an entry:

Playlist Tree [panel 0]

Does this imply I could have multiple playlist tree panels? or at least multiple configurations for panels in different layouts? That would come very much in handy.


I figured it out, just add another panel through the layout congiguration screen and this works fantastically
Title: foo_playlist_tree
Post by: pstrg on 2006-07-15 17:35:08
There seems to be a problem with sorting.
Entries beginning with letters with diacritical marks (accents) appear out of order at the end of the list, for instance:
- ...
- Zimmermann
- Zukerman
- Época
This issue doesn't appear with columns-ui or elsewhere as fb2k is fully Unicode compliant.
Am I perhaps missing some setting of foo_playlist_tree?

Tried to change Population Order from @default to the following, without success:
1) to $meta(artist);
2) to $replace($meta(artist),É,E)
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-16 10:51:21
I am not sure if it is a bug or if have missunderstood something :

I tried to use the @hidden/2 functions inside of $if but it doesn't work as expected. If i make simple format like: "%artist%|@hidden(or@hidden2) %album%|%title%" the album nodes appear a little bit darker when @hidden is used and they dissappear completely when @hidden2 is used. That is the way how it is described in Tutorial.

But take f.e. this format:

"@quote<@format<$if($greater(%_itemcount%,4,@hidden2 ,)>> %album|%tracknumber% %title%" to show just albums that have no more than 4 songs following happens: The nodes that should be hidden are still visible - you just cannot browse them.    If you use @hidden everything is fine: they appear greyed out.
Title: foo_playlist_tree
Post by: pstrg on 2006-07-16 15:18:01

There seems to be a problem with sorting.
Entries beginning with letters with diacritical marks (accents) appear out of order at the end of the list, for instance:
- ...
- Zimmermann
- Zukerman
- Época
This issue doesn't appear with columns-ui or elsewhere as fb2k is fully Unicode compliant.
Am I perhaps missing some setting of foo_playlist_tree?

Tried to change Population Order from @default to the following, without success:
1) to $meta(artist);
2) to $replace($meta(artist),É,E)

I have noted another problem that may be related with the above: some characters are not rendered correctly in the Edit dialog.
The image below shows a screen capture in which we may see on the upper part a bit of Character Map window showing a 11-characters string and on the lower the same string pasted on the foo_playlist_tree Edit dialog. Note that last three characters Šš•  -- "S" with caron, "s" with caron, Bullet character [$char(149)] -- are not rendered correctly.
I used characters necessary for e.g. Czech and transliterated Russian names.
(http://img67.imageshack.us/img67/6365/unicodeproblemxe1.png) (http://imageshack.us)
Title: foo_playlist_tree
Post by: jasnic02 on 2006-07-19 17:44:28
Would it be at all possible to add a global option to ignore the 'The' and 'A' when sorting by display name?  I can add a sort string to each query, but would find it most useful to have a global setting to do that for me when I check the 'Sort by display name' option.  Similar to what foo_dop does when transferring to an Ipod ..
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-19 17:53:03
@jasnic02

You need to type your sort string just one time in the preferences page where you can define your default format. So everytime you create a new query your sort string will be taken.
Title: foo_playlist_tree
Post by: jasnic02 on 2006-07-19 18:09:11
@jasnic02

You need to type your sort string just one time in the preferences page where you can define your default format. So everytime you create a new query your sort string will be taken.

I see the 'Default Query Format' but I don't see where to put the sort string.  I must just be missing it?
Title: foo_playlist_tree
Post by: q-stankovic on 2006-07-20 11:32:03
I must just be missing it?


I like ironical questions! 

So you like just sorting! My idea was to cut off the "the" by string functions, to put the "The" after the rest of artists name and to sort by display name or default format. I think you need a global option.
Title: foo_playlist_tree
Post by: Launch on 2006-07-22 00:50:32
In the 0.9 version? That doesn't work for me. It asks for a 'pts' file, and if i change it to 'all files' and force it to open a col file, nothing happens. It just sits there.

I have this same issue. Loading .col files adds nothing to Playlist Tree, and I've tried everything I can think of to get this working... but no luck. I am using foobar2000 v0.9.2 with the latest ColumnsUI and Playlist Tree, but perhaps it's something right under my nose that I'm forgetting here? 
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-22 01:42:28

In the 0.9 version? That doesn't work for me. It asks for a 'pts' file, and if i change it to 'all files' and force it to open a col file, nothing happens. It just sits there.

I have this same issue. Loading .col files adds nothing to Playlist Tree, and I've tried everything I can think of to get this working... but no luck. I am using foobar2000 v0.9.2 with the latest ColumnsUI and Playlist Tree, but perhaps it's something right under my nose that I'm forgetting here? 


playlist 2.x does not read files created from prior versions of playlist tree (it now uses the format pts rather than the col files).
Title: foo_playlist_tree
Post by: pstrg on 2006-07-22 01:54:48
pstrg's post #1395 above signaled that there's something wrong with the way Playlist Tree sorts.
That's not important for English names and titles (English is the only language with Roman characters that uses no accents) but for any other language it's indeed a problem.
Since foobar2000 is fully Unicode aware I'd guess that the glitch may not be too difficult to correct.

Sorry if I'm bumping, but I think it's relevant...
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-22 16:06:36
pstrg's post #1395 above signaled that there's something wrong with the way Playlist Tree sorts.
That's not important for English names and titles (English is the only language with Roman characters that uses no accents) but for any other language it's indeed a problem.
Since foobar2000 is fully Unicode aware I'd guess that the glitch may not be too difficult to correct.

Sorry if I'm bumping, but I think it's relevant...


I already added to the list of bugs (http://wiki.bowron.us/index.php/Foobar2000#Known_Bugs_2) and I will fix it when I have some time to work on playlist tree.
Title: foo_playlist_tree
Post by: year98 on 2006-07-23 18:21:12
I used playlist_tree in foobar 0.83 with usefulness.

But recently I changed into 0.9x, I found now-playing query doesn't work with my config....

Here is my query code used.

Label : @playing<$upper([%artist%][ :. %album%])>
Query : artist IS @playing<%artist%> OR album artist IS @playing<%artist%>

what changed in 0.9 version??? Isn't above code available in 0.9???

I'll wait a reply...

Sorry for my poor English. Thanks...^^
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-24 01:50:46
But recently I changed into 0.9x, I found now-playing query doesn't work with my config....


http://wiki.bowron.us/index.php/Example_Queries#Now_Playing (http://wiki.bowron.us/index.php/Example_Queries#Now_Playing)
Title: foo_playlist_tree
Post by: year98 on 2006-07-24 02:42:14
thanks... I had a some mistakes...^^
Title: foo_playlist_tree
Post by: fugu on 2006-07-24 12:31:22
Hi,
I'm unsure whether my problem has its origin in foo_playlist_tree, anyways here we go:
I've been using foo_playlist_tree v2.2b2 to show me my playback history using this code (in the format field):

Code: [Select]
$substr(%last_played%,9,10)'.'$substr(%last_played%,6,7)'.'$substr(%last_played%,1,4) '(@format<%_foldercount%>)'|%artist% - %title% '('$substr(%last_played%,12,16)')'


This has been working very well until I switched to the newest beta version of foobar and the official playback statistics plugin (foo_playcount v 1.2) instead of the unofficial one.
So the new playcount plugin writes a tag called last_played_timestamp instead of the well known last_played tag. According to a post of foosion this tag contains the same information in "Win32 FILETIME" format.
I've been very confused about this until I found out that I still can use %last_played% (although there is only a last_played_timestamp) to get the date in the old format (2006-07-24 12:58:14 instead of 127982122941718750).
This works very well in foo_ui_columns and foo_uie_trackinfo. Unfortunately this doesn't seem to work in foo_playlist_tree. Did I miss something? 

Anyways as I am already posting on this forum, I would like to thank all the developers and the community for making foobar what it is. 

Cheers

//edit

OK I got it working now.
Title: foo_playlist_tree
Post by: klez on 2006-07-24 20:54:07
Hi there. Wonderful Plugin!

My Question: Is it possible to "rebuild" the function "by directory structure" from foo_uie_albumlist ?
I tried it with %directoryname% in the Format field, but it goes up 1 level only :/
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-24 20:55:55
Hi there. Wonderful Plugin!

My Question: Is it possible to "rebuild" the function "by directory structure" from foo_uie_albumlist ?
I tried it with %directoryname% in the Format field, but it goes up 1 level only :/


Not exactly, but you can some close.

http://wiki.bowron.us/index.php/Example_Queries#By_Directory (http://wiki.bowron.us/index.php/Example_Queries#By_Directory)
Title: foo_playlist_tree
Post by: klez on 2006-07-25 01:06:48
Thank you very much! This is truely a killer Plugin. Now i can deinstall autoplaylist, albumlist and explorer tree
Title: foo_playlist_tree
Post by: gob on 2006-07-25 05:02:14
i have a few features requests that may be pretty easy to add.
could there be an option to disable drag and drop within the playlist tree?
in other parts of foobar, when you use the right mouse button to drag files outside foobar, it works in other applications that support drag and drop like winrar, burrrn, nero, etc. can this behaviour be replicated with the tree?
Title: foo_playlist_tree
Post by: 45miles on 2006-07-25 17:47:45
I'm doing this Query: (just as example)

Label:
Code: [Select]
LP - 5000 - @format<%_itemcount%>

Source:
Code: [Select]
NOT play_counter MISSING

Format:
Code: [Select]
%play_counter%|%title% - %artist%



What i want is something like that as Format:
Format:
Code: [Select]
%play_counter% - @format<%_itemcount%>|%title% - %artist%


But this gives me only folders like
? - 1
? - 2

Can't the items be counted for the subfolders?
It's the same with @format<%_play_length%> which works also in the "Label" but not in "Format"


Greets
Rainer
Title: foo_playlist_tree
Post by: cwbowron on 2006-07-25 18:25:33
Code: [Select]
%play_counter% - @format<%_itemcount%>|%title% - %artist%


You need to quote the @format<> so that it doesnt get evaluated until it is all populated.  Something along the lines of the following:

Code: [Select]
%play_counter% - @quote<@format<%_itemcount%>>|%title% - %artist%
Title: foo_playlist_tree
Post by: 45miles on 2006-07-25 19:12:41
You need to quote the @format<> so that it doesnt get evaluated until it is all populated.  Something along the lines of the following:

Code: [Select]
%play_counter% - @quote<@format<%_itemcount%>>|%title% - %artist%


Ahh, thanks a lot. Works fine now.
I love this plugin.
but there is still one qeustion unanswered about it.
In the version for 0.8.3 i could do a Query using the system_date. This seems liek not working anymore. Any chance to get this feature back?

Rainer
Title: foo_playlist_tree
Post by: JDoe on 2006-08-03 21:29:06
hello, in first place, let me thank you for nice plug-in. i would like to ask, how do you folks handle various artists albums? could you pls show me some codes? since i am really noob i have no idea where to start. and secondly, i had been happy user of iStormys config, does it exists for actual version of ptree as well?
thank you
Title: foo_playlist_tree
Post by: gob on 2006-08-03 23:55:15
hello, in first place, let me thank you for nice plug-in. i would like to ask, how do you folks handle various artists albums? could you pls show me some codes? since i am really noob i have no idea where to start. and secondly, i had been happy user of iStormys config, does it exists for actual version of ptree as well?
thank you



i personally tag all my various artist albums with a VARIOUS tag. this way, when making the format for a query i use $if(%various%,do_this,otherwise_do_this)

some people use an albumartist tag. but since i already have a tag called ARTIST, and a tag called ALBUM, this info would just redundant and create more work than is otherwise needed. that and a tag called albumartist really does not describe the exact nature of what its purpose is to begin with.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-08-04 12:36:30
i personally tag all my various artist albums with a VARIOUS tag. this way, when making the format for a query i use $if(%various%,do_this,otherwise_do_this)

some people use an albumartist tag. but since i already have a tag called ARTIST, and a tag called ALBUM, this info would just redundant and create more work than is otherwise needed. that and a tag called albumartist really does not describe the exact nature of what its purpose is to begin with.


I would highly recommend the albumartist tag:

1. Often enough i have various artists albums that have an global artist. Example: Mix albums where Album Artist is "Dj Bla Bla".

2. The field remapping since foobar 0.9

3. You have no more work than with a varioustag
Title: foo_playlist_tree
Post by: JDoe on 2006-08-04 18:57:05
I would highly recommend the albumartist tag:

1. Often enough i have various artists albums that have an global artist. Example: Mix albums where Album Artist is "Dj Bla Bla".

2. The field remapping since foobar 0.9

3. You have no more work than with a varioustag



thank you for help, but pls what is this "field remapping" feature?
Title: foo_playlist_tree
Post by: Mishail on 2006-08-05 10:34:53
Quote
thank you for help, but pls what is this "field remapping" feature?

http://tagz.brother-john.net/tagz_intro.html#fieldremap (http://tagz.brother-john.net/tagz_intro.html#fieldremap)
Title: foo_playlist_tree
Post by: Sphix on 2006-08-05 15:21:00
The latest version of playlist_tree crashes with foobar2k 0.9.3

(http://img75.imageshack.us/img75/7016/errorjc3.jpg)
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-07 13:09:52
The latest version of playlist_tree crashes with foobar2k 0.9.3

(http://img75.imageshack.us/img75/7016/errorjc3.jpg)


I upgraded this morning, and did not crash or have handle leaks.  Were you crashing or did you just having handle leaks when you exited?

Does it happen everytime or is there some other pattern to it that you can discern?

Thanks
Title: foo_playlist_tree
Post by: unabatedshagie on 2006-08-07 15:33:27
Does the playlist tree save the querys created automatically?

I have noticed a few times I have started foobar and all my queries have vanished.
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-07 15:48:58
Does the playlist tree save the querys created automatically?

I have noticed a few times I have started foobar and all my queries have vanished.


The latest version should save it autmatically.. what version are you running?

The auto save feature was added in 2.2beta0.
Title: foo_playlist_tree
Post by: zoddic on 2006-08-07 19:45:15
Great plugin!

I have one question tho.

I use the "sort by artist" - view and I like it alot. But, when i double click a folder, lets say Bruce Springsteen, i want my Columns playlist to order the songs by album, not by artist. The reason for this is that my whole playlist looks like shiet when i order by artist. Is this possible?

Thx /zoddic the foo-noob
Title: foo_playlist_tree
Post by: unabatedshagie on 2006-08-08 06:53:29

Does the playlist tree save the querys created automatically?

I have noticed a few times I have started foobar and all my queries have vanished.


The latest version should save it autmatically.. what version are you running?

The auto save feature was added in 2.2beta0.
Weird, like I said I have only had it happen to me a couple of times. I start up foobar and all my querys are gone.

I am using the latest version.
Title: foo_playlist_tree
Post by: pepoluan on 2006-08-08 08:16:09
>> Mods: Now that this plugin is quite stable (and much used), why not change the title of this thread?
Title: foo_playlist_tree
Post by: f0odstamp on 2006-08-11 16:40:52
hello

I am seriously loving this plug-in but I am running into 1 problem.

My attempts at formatting the labels are failing.
I am trying to display the labels in different colours than the normal text.
I am trying @format<$rgb(my colour)> before I display the name of the label, but I just see the HEX colour code for the colour I enter.

I am using v0.9.3 and the latest version of this plugin.
Any help would be appreciated.
Has anybody got this to work?
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-11 17:11:13
hello

I am seriously loving this plug-in but I am running into 1 problem.

My attempts at formatting the labels are failing.
I am trying to display the labels in different colours than the normal text.
I am trying @format<$rgb(my colour)> before I display the name of the label, but I just see the HEX colour code for the colour I enter.

I am using v0.9.3 and the latest version of this plugin.
Any help would be appreciated.
Has anybody got this to work?


Playlist tree doesnt use the standard $rgb() function for its formatting.  You can use custom colors for nodes, by enabling the "Custom Selection" option in the preferences, and using the playlist tree specific function @rgb<rr,gg,bb> somewhere in the node's label.
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-11 21:19:09
This may be of interest to some playlist tree users:

I have updated my foo_cwb_hooks component to include a variable called %systemdate% and %systemdatetime%, which will get the current date or date and time.

more information on my foobar2000 page: http://wiki.bowron.us/index.php/Foobar2000#foo_cwb_hooks (http://wiki.bowron.us/index.php/Foobar2000#foo_cwb_hooks)
Title: foo_playlist_tree
Post by: Dr.Death on 2006-08-15 05:07:56
Very usefull plugin, thx!
but NOT last_played MISSING didn't work 8\ what's wrong?
Title: foo_playlist_tree
Post by: Russell777 on 2006-08-18 14:10:50
I'm new to this component,so i'm maybe asking a stupid question,but here it is:
I wanted to make a query that sorts the files from the media library by their rating,now rating is not a tag
in my case,but calculated based on other tags,so i craeted a query:

format:
Code: [Select]
$puts(decreaserange,15)
$puts(sysmonth,$num($substr(%systemdate%,6,7),2))
$puts(sysday,$num($substr(%systemdate%,9,10),2))
$puts(sysyear,$num($substr(%systemdate%,1,4),4))
$puts(month,$mul(30,$get(sysmonth)))
$puts(day,$get(sysday))
$puts(year,$mul(365,$get(sysyear)))
$puts(date,$add($get(month),$get(day),$get(year)))
$puts(symbol,$char(9608))
$puts(fmonth,$mul(30,$num($substr(%first_played%,6,7),2)))
$puts(fday,$num($substr(%first_played%,9,10),2))
$puts(fyear,$mul(365,$num($substr(%first_played%,1,4),4)))
$puts(fdate,$add($get(fmonth),$get(fday),$get(fyear)))
$if($stricmp($get(fdate),0),$puts(fdate,$get(date)))
$puts(daterange,$sub($get(date),$get(fdate)))
$puts(fix,$div($get(daterange),$get(decreaserange)))
$if(%play_count%,$puts(rating,%play_count%),$puts(rating,0))
$if($greater(%play_count%,5),$puts(rating,$sub(5,$get(fix))),
$puts(rating,$sub($get(rating),$get(fix))))
$if($greater(-5,$get(rating)),$puts(rating,-5))
$if($greater($get(rating),5),$puts(rating,5))
$get(rating)


That calculates the rating of the tracks,but i don't know how to get it displayed in the decreasing order
(the rating value is between -5 and 5 and it getting mixed up,@default doesn't help much)

(http://img157.imageshack.us/img157/6020/untitledgb1.th.png) (http://img157.imageshack.us/my.php?image=untitledgb1.png)
Any help appreciated
Title: foo_playlist_tree
Post by: kockroach on 2006-08-18 15:09:44
Did you try to uncheck the "reverse" option?
Title: foo_playlist_tree
Post by: Russell777 on 2006-08-18 15:28:06
Did you try to uncheck the "reverse" option?

Yes,without any result.My question is:if you calculate a vlue (rating) ,how can you access it in other
playlist tree fields (ex:population order)?
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-18 15:30:56

Did you try to uncheck the "reverse" option?

Yes,without any result.My question is:if you calculate a vlue (rating) ,how can you access it in other
playlist tree fields (ex:population order)?


$put and $get variables do not work across different calls to the formatter.  So if you $put a variable in the format, you cannot access it in the population order, without $putting it again.
Title: foo_playlist_tree
Post by: topdownjimmy on 2006-08-19 18:47:13
Not sure if this has been mentioned, but I've noticed that my Playlist Tree queries tend to keep track of dead files, even after they've been deleted and are no longer present in the foobar database.  Is this being addressed?

Thanks.
Title: foo_playlist_tree
Post by: gob on 2006-08-20 05:55:40
Not sure if this has been mentioned, but I've noticed that my Playlist Tree queries tend to keep track of dead files, even after they've been deleted and are no longer present in the foobar database.  Is this being addressed?

Thanks.

i get this often too. even after deleting the file in foobar, then emptying hte recycle bin. sometimes i have to restart foobar, reload the database, restart foobar, refresh the db again, then reloal the trees..
Title: foo_playlist_tree
Post by: hiscores on 2006-08-20 16:27:09
[nevermind -- answered my own question]
Title: foo_playlist_tree
Post by: Hedin on 2006-08-25 08:38:22
I tried this plugin recently, and run into some problems.

1. I tried to show average rating per album with following query:
Title: by artist
Source: @database
Criteria: NOT artist MISSING
Format: %<artist>%|$if(%tracknumber%,[[%date% - ]%album%' [ '@quote<@format<$avg(%rating%)>>' ]'|],)[[CD %discnumber%|]%tracknumber%. ]%title%

but only get:
Artist|Album [ 0.00 ]|...

There are always 0.00 instead of calculated value.

2. Query to show all other tracks of artist of currently playing track:

Title: Now Playing: @format<$playing('%artist%')$if($playing('%title%'),' ● '$playing('%title%'),Silent)>
Source: @database
Criteria: artist IS @format<$playing('%artist%')>
Format: $if2(%track artist%,%album artist%)$if(%album%,[' ● '%date%' - ']%album%)|[%tracknumber%' - ']$if($meta(album artist),%artist%' ● ')%title%

Problems:
1. after finishing all tracks Title stick to last played track %title% and sub-items stick to tracks of last played track %artist%.
2. if I exit foobar and restart it, then Title become "Now playing: Silent", but sub-items remain unchanged - showing tracks of last played track %artist%.
Title: foo_playlist_tree
Post by: zoddic on 2006-08-25 12:30:38
Is it possible to make more than 1 autoplaylist? When I try to make a 2nd one, the "autoplaylist-icon" in my first autoplaylist disappears. Maybe just a dumb question but hopefully someone can help me.
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-25 13:16:23
Format: %<artist>%|$if(%tracknumber%,[[%date% - ]%album%' [ '@quote<@format<$avg(%rating%)>>' ]'|],)[[CD %discnumber%|]%tracknumber%. ]%title%


Try changing adding quotations marks to the %rating%, so that it looks like:

@quote<@format<$avg('%rating%')>>

Quote
1. after finishing all tracks Title stick to last played track %title% and sub-items stick to tracks of last played track %artist%.
2. if I exit foobar and restart it, then Title become "Now playing: Silent", but sub-items remain unchanged - showing tracks of last played track %artist%.


The now playing automatic refreshes occur only when a new song plays, so when all songs are done playing it will leave whatever was last in there.
Title: foo_playlist_tree
Post by: Hedin on 2006-08-25 13:48:02
Quote
Try changing adding quotations marks to the %rating%, so that it looks like:

@quote<@format<$avg('%rating%')>>


Wow! Its working, and much faster refreshing then before.
But I don't fully undestand what meaning in all those inculsions: $avg in @format in @quote. ^(

Quote
The now playing automatic refreshes occur only when a new song plays, so when all songs are done playing it will leave whatever was last in there.


It's seems illogical to me. If trese is no tracks playing $playing must return nothing, IMHO.
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-25 13:50:28
It's seems illogical to me. If trese is no tracks playing $playing must return nothing, IMHO.


The refresh is triggered only when a new track plays.  If no new track plays, the refresh is not triggered and the tree remains in the previous state.
Title: foo_playlist_tree
Post by: Hedin on 2006-08-25 14:19:55
You mean that foobar doesn't generate any distinguishing events in case of finishing playback?

And, why, in case of exiting and starting foobar (after playback finished), $playing('%title%') returns nothing, but $playing('%artist%') return, obviously, previuos %artist%?
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-25 14:22:40
You mean that foobar doesn't generate any distinguishing events in case of finishing playback?

And, why, in case of exiting and starting foobar (after playback finished), $playing('%title%') returns nothing, but $playing('%artist%') return, obviously, previuos %artist%?


I mean, I dont handle them.  If you would like to write your own plugin and handle it differently you are more than welcome.
Title: foo_playlist_tree
Post by: Hedin on 2006-08-25 14:38:20
Oh, yes... Write a plug to upgrade another unfinished plug is a really wonderful idea.

Sorry for bothering you...
Title: foo_playlist_tree
Post by: Cornie on 2006-08-25 18:45:27
Hey now, seems to be something odd going on with %_itemcount% when used after $parent()

I'm using the 3 default queries (Playlists, Artist, Album) along with a Static folder (Ratings) that contains 5 queries (for %rating% 1 - 5).

I only want to display the %_itemcount% for the 5 %rating%'s queries.

first step was: Preferences > Playlist Tree > Default Folder Format
%_name% '<'%_itemcount%'>'

as expected, this displays the correct counts for each folder/query

next step:
%_name% $if($strcmp($parent('%_displayname%'),"Ratings'),'<'%_itemcount%'>')

this does not work as expected:

(http://img237.imageshack.us/img237/9720/incorrectxu5.jpg)

for some reason the %_itemcount% for the parent (Ratings folder) rather then the individual queries is displayed?

after some fiddlin' I came up with this:
$puts(ITEMS,%_itemcount%)%_name% $if($strcmp($parent('%_displayname%'),"Ratings'),'<'$get(ITEMS)'>'

this worked:

(http://img20.imageshack.us/img20/2773/correctcd1.jpg)

Seems the index that %_itemcount% uses is changed when $parent() is called?
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-25 18:55:42
I'm using the 3 default queries (Playlists, Artist, Album) along with a Static folder (Ratings) that contains 5 queries (for %rating% 1 - 5).

I only want to display the %_itemcount% for the 5 %rating%'s queries.


I haven't really processed your whole post yet, but why not just using one query that sorts them into rating rather 5 separate queries?

You could then do some fancy stuff as to the naming of the folder such as using this format:

Code: [Select]
$select(%rating%,1 - bad,2 - bla,3 - ok,4 - good,5 - great '('@format<'%_itemcount%'>')')|%artist%-%title%


and leave your folder display variable set to %_name%

and I would suggest a population sort order such as:

Code: [Select]
$sub(999,%rating%)|%artist%-%title%


to sort it decsending.
Title: foo_playlist_tree
Post by: Warchief on 2006-08-26 09:01:52
Hi, thanks for your plug-in, it’s very useful.

But I have one big problem with it. If I activate playlist_tree, my foobar need up to 2 minutes to start. By deactivating the plug-in, foobar need "only" 7 seconds to start.

That I do wrong? I use only the default settings of playlist_tree.
Title: foo_playlist_tree
Post by: Hedin on 2006-08-28 09:53:04
Some questions

1. Sorting question. I wanted to sort albums by average rating, in descending order.
Query parameters are following.

Source: @database
Criteria: NOT album MISSING
Format: ' [ '@quote<@format<$avg('%rating%')>>' ] '%album%[' [ '%album artist%[' ● '%date%]' ] ']|[[CD %discnumber%|]%tracknumber%. ][%track artist% - ]%title%

Checkbox "Sort by display name after populating" is checked.
Checkbox "Reverse" is checked.

But albums sorting still ascending.

If I uncheck "Sort by display name after populating" and set Population Order to "$avg('%rating%')" album ordering became random (at least it looks like it).

Is there any way to make it working?

2. Search bar:
- if I turn on "Hide leaves" option in setting it's render search bar useless: there is no reaction to search attempts. I think it would be useful to select а first parent of finded file;
- which file must be selected as a search result? First in all database?

3. This is a from a feature requests list: remove duplicates option for sending to library playlist operations.
If it request would be fullfilled, by what criteria would it search duplicates? Is it possible to use custom Tagz-string?
Title: foo_playlist_tree
Post by: Cornie on 2006-08-29 21:18:39
I haven't really processed your whole post yet, but why not just using one query that sorts them into rating rather 5 separate queries?


Ya... kinda where I went first... but then, only the Rating levels that actually returned results would show...
i.e. the pic (http://img20.imageshack.us/img20/2773/correctcd1.jpg) I'd posted shows 0 items for So So... & Trash - These don't show using this method...

So, anyway, have you processed my whole post as yet?
Title: foo_playlist_tree
Post by: cwbowron on 2006-08-29 21:27:38


I haven't really processed your whole post yet, but why not just using one query that sorts them into rating rather 5 separate queries?


Ya... kinda where I went first... but then, only the Rating levels that actually returned results would show...
i.e. the pic (http://img20.imageshack.us/img20/2773/correctcd1.jpg) I'd posted shows 0 items for So So... & Trash - These don't show using this method...

So, anyway, have you processed my whole post as yet?


You're best bet, is to just use %_name% for the folder display variable, and set the name of your 5 rating queries to "Favorites @format<%_itemcount%>", etc.
Title: foo_playlist_tree
Post by: Cornie on 2006-08-29 21:42:09
You're best bet, is to just use %_name% for the folder display variable, and set the name of your 5 rating queries to "Favorites @format<%_itemcount%>", etc.


Hmmmm.... seem to remember trying that as well and each query name was displayed literaly

+Favorites @format<%_itemcount%>
+Very Good @format<%_itemcount%>
+Good @format<%_itemcount%>
..
..

but, as I'm at the library (not at home) and can't quite remember - so I'll give it a shot when I get home...

btw... shouldn't %_itemcount% be quoted?
oh, and thanks for the prompt reply....

BLAH.... ok, so my memory fails.... right you were, thanks again for the help!

but I still think there's something wonky about the way $parent() & %_itemcount% interact...
Title: foo_playlist_tree
Post by: gob on 2006-09-02 20:22:56
i thought of a few small things that might improve this component. first, if the playback order is set to shuffle, the first track played when sending to the playlist should follow this rule. also, can there be an option to not automatically select the tracks that are sent to the playlist?
Title: foo_playlist_tree
Post by: tberman333 on 2006-09-03 18:43:21
I have tried to set the double-click action on this plugin to be "Edit Other/Add to Specified Playlist"  The problem is, when you do that there is no place to specify the playlist you want to send to.  Would there be anyway to add an option to define a specifed playlist to add tracks to if you select that option as an action?

Thanks!
Title: foo_playlist_tree
Post by: Fitret on 2006-09-06 02:13:39
Very usefull plugin, thx!
but NOT last_played MISSING didn't work 8\ what's wrong?


I'm having similar issues.  NOT play_count MISSING doesn't work for me.  If I put it in, no files show up.  I'm trying to make a Most Played albums list by using $avg, and I'm having trouble figuring out the script.  I mostly copied the $avg rating script posted earlier, but it's not quite working.
Title: foo_playlist_tree
Post by: cwbowron on 2006-09-06 13:48:33

Very usefull plugin, thx!
but NOT last_played MISSING didn't work 8\ what's wrong?


I'm having similar issues.  NOT play_count MISSING doesn't work for me.  If I put it in, no files show up.  I'm trying to make a Most Played albums list by using $avg, and I'm having trouble figuring out the script.  I mostly copied the $avg rating script posted earlier, but it's not quite working.


I use "%play_counter% GREATER 0" for testing for play count, and I use "%last_played% HAS 20" for testing for a last played date.  (Assumes all your last_played values are going to be in 2000's)...
Title: foo_playlist_tree
Post by: Fitret on 2006-09-06 14:40:39


Very usefull plugin, thx!
but NOT last_played MISSING didn't work 8\ what's wrong?


I'm having similar issues.  NOT play_count MISSING doesn't work for me.  If I put it in, no files show up.  I'm trying to make a Most Played albums list by using $avg, and I'm having trouble figuring out the script.  I mostly copied the $avg rating script posted earlier, but it's not quite working.


I use "%play_counter% GREATER 0" for testing for play count, and I use "%last_played% HAS 20" for testing for a last played date.  (Assumes all your last_played values are going to be in 2000's)...


Okay, that did seem to work.  Now, what I really want to achieve here is not the last 100 tracks I've played, but rather the last few albums (100 tracks of albums is fine) that I've played.  It's MOSTLY working, but there are a few bugs.  Screenshots would probably explain it best, so here they are...

(http://img351.imageshack.us/img351/9329/foobarda2.th.jpg) (http://img351.imageshack.us/my.php?image=foobarda2.jpg)

I'm assuming the ordering issue is because I'm populating by play_count, but still, is there any way to fix that?  I'm not so sure how to fix the non-full album issue.  All of the albums that aren't full have been played through at least once, so all of their tracks have a play_count of at least 1.  However, I'm also concerned in the future that what if I really don't like one particular track on an album, so it's play_count is zero for some reason, but the rest of the album has been heard 8,000 times.  Can I use $avg('%play_count%') GREATER 0 as Criteria?
Title: foo_playlist_tree
Post by: cwbowron on 2006-09-06 14:59:33
Okay, that did seem to work.  Now, what I really want to achieve here is not the last 100 tracks I've played, but rather the last few albums (100 tracks of albums is fine) that I've played.  It's MOSTLY working, but there are a few bugs.  Screenshots would probably explain it best, so here they are...


If you want it to sort by the tracknumber after populating, check the "Sort by display name" box.  I am assuming that tracks are missing because those tracks are not in the 100 most played tracks.  You are limiting it to 100 tracks, based on the play count.  Tracks that are not in the top 100 most played are being cut so you do not have full albums.

Quote
I'm assuming the ordering issue is because I'm populating by play_count, but still, is there any way to fix that?  I'm not so sure how to fix the non-full album issue.  All of the albums that aren't full have been played through at least once, so all of their tracks have a play_count of at least 1.  However, I'm also concerned in the future that what if I really don't like one particular track on an album, so it's play_count is zero for some reason, but the rest of the album has been heard 8,000 times.  Can I use $avg('%play_count%') GREATER 0 as Criteria?


No, you cannot use $avg inside of criteria.  It applies ONLY to a FOLDER.  At the time the criteria is being applied no folders exist.  I dont know if there is a way to do exactly what you want.

Best I can think of is this:

Code: [Select]
Source: @database:
Criteria: %play_count% GREATER 0
Format: @quote<@format<$avg('%play_count%'>> %album%|%tracknumber% - %title%
Limit: 10 SUBFOLDERS
Population Order: $sub(99999,%play_counter%)
[x] Sort by display name after populating.


That should give you 10 albums that contain the most played songs.
Title: foo_playlist_tree
Post by: Fitret on 2006-09-06 23:23:42

Okay, that did seem to work.  Now, what I really want to achieve here is not the last 100 tracks I've played, but rather the last few albums (100 tracks of albums is fine) that I've played.  It's MOSTLY working, but there are a few bugs.  Screenshots would probably explain it best, so here they are...


If you want it to sort by the tracknumber after populating, check the "Sort by display name" box.  I am assuming that tracks are missing because those tracks are not in the 100 most played tracks.  You are limiting it to 100 tracks, based on the play count.  Tracks that are not in the top 100 most played are being cut so you do not have full albums.

Quote
I'm assuming the ordering issue is because I'm populating by play_count, but still, is there any way to fix that?  I'm not so sure how to fix the non-full album issue.  All of the albums that aren't full have been played through at least once, so all of their tracks have a play_count of at least 1.  However, I'm also concerned in the future that what if I really don't like one particular track on an album, so it's play_count is zero for some reason, but the rest of the album has been heard 8,000 times.  Can I use $avg('%play_count%') GREATER 0 as Criteria?


No, you cannot use $avg inside of criteria.  It applies ONLY to a FOLDER.  At the time the criteria is being applied no folders exist.  I dont know if there is a way to do exactly what you want.

Best I can think of is this:

Code: [Select]
Source: @database:
Criteria: %play_count% GREATER 0
Format: @quote<@format<$avg('%play_count%'>> %album%|%tracknumber% - %title%
Limit: 10 SUBFOLDERS
Population Order: $sub(99999,%play_counter%)
[x] Sort by display name after populating.


That should give you 10 albums that contain the most played songs.


Ahh, I used the $sub() method back when this first came out, and that opertion used to take awhile.  I'm so glad it's sped up now!  Anyways, this seems to work almost perfectly.  The only remaining problem is that since it's sorted by name, the folders go from like, 3 - > 12 (based least listened to on top) as opposed to 12 -> 3 (most listened to appears as first subfolder).  If I uncheck reverse, then the list naturally populates with the reverse of $sub(99999,%play_counter%), which means the hold list is albums I've only heard once.

Also, what's the syntax for $hidetext?  I want to hide the number of times an album has been played (I think, haven't decided yet).  I tried $hidetext(@quote<...>) and @hidden<@quote<...>>, with no luck.  Edit: Figured out $hidetext, but as expected, it screws up the ordering of my 20 most played albums (it makes them alphabetical).  I'm guessing that there's no way around this?  Still, this isn't a big issue - I'd much rather find a fix for the issue above.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-09-09 22:02:38
Hello Chris!

Now after you started continuing the development of PT let me mention three smaller bugs/issues concerning the autorefresh of @playlist/s queries (two of them i already reported weeks ago):

1. If a @playlists<> query with checked autorefreshed option is created the autorefresh is not checked for the @playlist<> children

2. When you remove a whole playlist "bla" (f.e. by context menu switcher/tab) the @playlist<bla> is not refreshed if this @playlist<bla> query doesn't belong to a @playlists<> query

3. Changing the position of a playlist (by drag&drop or by "move left/right") don't causes autorefresh of @playlists<> query. So the order of playlists isn't correct anymore in Pt  ( can be achieved by  no population sort order and no display sort)

That's it! 
Title: foo_playlist_tree
Post by: fabiospark on 2006-09-11 21:04:52
Code: [Select]
 $if($greater($strstr(%<performer>%,voice),0)
    ,$if($greater($strstr(%<performer>%,woman),0),woman,
     $if($greater($strstr(%<performer>%,group),0),group,man))
    ,nobody)|
$left(%<performer>%,$sub($strchr(%<performer>%,'('),4))|
%artist%|
%title%
(The indentation in the code box is just for better readibility.)

I'm trying to port this query from old 1.7.0b3 where all the now converted %<performer>% were written as #performer#.
My files are tagged like that:

performer = Abbey Lincoln  (voice - woman), other performers.......
performer = Jimmy Rushing  (voice - man), other performers....
performer = Manhattan Transfer  (voice - group), other performers.....

When I created it and whenever I refresh it, I get a sort of freezing up and the task manager shows me FB is eating up the RAM but nothing else happens. I have to kill the service.

Where is the problem?
--------------------------------

Can you confirm that $meta(x,y) now starts with y=0 but previously started with y=1?

Can you also confirm that @limit<> is not working with multi values %<tag>% ?

Thanks.
Title: foo_playlist_tree
Post by: fabiospark on 2006-09-16 14:04:28
Sometimes (haven't tested when) I'm getting this in the console:
"Playlist Tree exceeds selection action limit"


Weird behaviour.

I use a %performer% multi values tag with info like: Sarah Vaughan  (voice - woman)
or Jimmy Rushing  (voice - man) or Manhattan Transfer  (voice - group) plus the other performers.

Now I'm trying to port this query:

Code: [Select]
$if($greater($strstr(#performer#,voice),0),
$if($greater($strstr(#performer#,woman),0),woman,
$if($greater($strstr(#performer#,group),0),group,man)),nobody)|
$left(#performer#,$sub($strchr(#performer#,'('),4))|%artist%|%title%


Of course I replaced all the #performer# with %<performer>%.

This is what happens:

FB 0.8.3  PlaylistTree 1.7.0b3: It works and refreshes in less than 3 seconds.

FB 0.9.3.1  PlaylistTree 2.2.3:  when I click OK after writing the format string I get a CPU load of 100% and I don't know for how long it would last because I killed FB process after 6 mins of that load.

--------

Please, clear me a doubt:

1.7.0b3  @node<node name>  went into the "Query" text box.

Am I right that in 2.2.3 I have to put it in the "Source" box to make it work? Shall I have to put a "1" in the "Criteria" box instead?



Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2006-09-16 16:04:10
Sometimes (haven't tested when) I'm getting this in the console:
"Playlist Tree exceeds selection action limit"


Weird behaviour.


No, its working as designed.  There's an option where you set your selection actions on the "Mouse and Keyboard" playlist tree options called File Limit.  If the node you select has more files than this, the selection action will not be performed.  Its the help reduce lag when you select a really large node.  You can set it to 0 I believe and it will never be used.

Quote
Now I'm trying to port this query:

Code: [Select]
$if($greater($strstr(#performer#,voice),0),
$if($greater($strstr(#performer#,woman),0),woman,
$if($greater($strstr(#performer#,group),0),group,man)),nobody)|
$left(#performer#,$sub($strchr(#performer#,'('),4))|%artist%|%title%


There's some issues with the %<tag>% stuff in version 2.x of playlist tree that make it not work well inside of complicated scripts.  It's on my list of bugs to fix at some point.
Title: foo_playlist_tree
Post by: fabiospark on 2006-09-16 16:12:07
Is @limit<> still alive?
If yes, with which syntax?

Thanks.

(Sorry to pester you with all these questions but i've just started to ported seriously...)



Mmmmm, yes, I can see it still is.
I was trying it wit a %<tag>% and I couldn't see it work.
With a standard %tag% it works.

After testing it a bit, I'm a bit puzzled about some results I'm getting from a limited query.

Code: [Select]
@limit<5>$if($greater(%date%,1999),20$substr(%date%,3,3)0s,
19$substr(%date%,3,3)0s)|@limit<1>%artist%|%date% - %title%

The population order is set to $rand()

I checked with this other query
Code: [Select]
$if($greater(%date%,1999),20$substr(%date%,3,3)0s,19$substr(%date%,3,3)0s)|%date%|%artist%|%title%

and I can see I have one track of 1917 and 177 of the 20s (from 13 different artists).
With the limited query, I would expect to always get the 1917 track in the 1910s group and to get 5 tracks from different artists for the 1929s group. Instead, after countless refreshings I've never seen appear a 1910s group and I always end up with a Fats Waller track as a single component of the 1920s group: would you mind explaying me how the @limit<> works, in detail?

Thanks.
Title: foo_playlist_tree
Post by: fabiospark on 2006-09-16 22:22:57
If I hide both the lines and the root node the + disappears and I can't use the tree.

---------

It seems %__replaygain_track_gain%  (even without the %%) is not considered in the criteria box.
It works in the format, instead.
Am I wrong or should I use some other formatting in the criteria box?


Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2006-09-17 14:00:38
If I hide both the lines and the root node the + disappears and I can't use the tree.


That's how the standard treeview control works.

In that situation, you can use the right and left arrow keys to expand and contract the node.
Title: foo_playlist_tree
Post by: DarkFritz on 2006-09-17 16:06:46
Hi!

I'd really like to use this query artist IS @format<$playing('%artist%')> (copied it from the author's homepage). It works quite fine except the artist's name contains a ( or ), then the query returns just the entire database. When I change the query to artist IS "@format<$playing('%artist%')>" it works for artists with ( or ) in their names, but it doesn't work anymore for artists with quotation marks " in their names.

Does anybody know a solution for this problem?

Thank you
Title: foo_playlist_tree
Post by: cwbowron on 2006-09-17 17:00:58
I'd really like to use this query artist IS @format<$playing('%artist%')> (copied it from the author's homepage). It works quite fine except the artist's name contains a ( or ), then the query returns just the entire database. When I change the query to artist IS "@format<$playing('%artist%')>" it works for artists with ( or ) in their names, but it doesn't work anymore for artists with quotation marks " in their names.


I can't try it right now, but you might be able to use:

Code: [Select]
artist IS "@format<$replace($playing('%artist%'),$char(34),'$char(34)')>"
Title: foo_playlist_tree
Post by: DarkFritz on 2006-09-17 19:04:51
I'd really like to use this query artist IS @format<$playing('%artist%')> (copied it from the author's homepage). It works quite fine except the artist's name contains a ( or ), then the query returns just the entire database. When I change the query to artist IS "@format<$playing('%artist%')>" it works for artists with ( or ) in their names, but it doesn't work anymore for artists with quotation marks " in their names.


I can't try it right now, but you might be able to use:

Code: [Select]
artist IS "@format<$replace($playing('%artist%'),$char(34),'$char(34)')>"



Nope, it works for ( and ), but artists with " aren't working

But nevertheless thank you for your great plugin
Title: foo_playlist_tree
Post by: fabiospark on 2006-09-17 20:19:48
What @format and @quote do?

When should I use them?

Where can I use them?


Thanks.
Title: foo_playlist_tree
Post by: dano on 2006-09-21 22:34:58
This is a query that I use in foobar 0.8.3 with the 1.7.13 version of this plugin to show the songs I've played today. What would this look like in the current version 2.2.3 for foobar 0.9.3 ?
Query:
Code: [Select]
$strcmp($replace($left(%last_played%,10),-,),%_systemdate%)
Title: foo_playlist_tree
Post by: Kuwanger on 2006-09-24 21:06:01
Say, is there a way to exclude certain files, for example .m3u-files, in a @drop query?
Title: foo_playlist_tree
Post by: cwbowron on 2006-09-24 23:36:23
Say, is there a way to exclude certain files, for example .m3u-files, in a @drop query?


no, but excluding playlists from @drop queries has been requested and is on the list... and I may get around to it sometime :-)
Title: foo_playlist_tree
Post by: Kuwanger on 2006-09-25 13:23:31
Aha, i see.

Well, guess i have to do it manually then while we wait for that feature. =)
Title: foo_playlist_tree
Post by: Superunknown on 2006-09-28 10:55:41
(error)
Title: foo_playlist_tree
Post by: ciaran on 2006-10-04 09:00:45
Not sure what I'm doing wrong here

Code: [Select]
$ifgreater($meta_num(%artist%),6,@format<'%<$meta(%artist%,1),$meta(%artist%,2),$meta(%artist%,3),$meta(%artist%,4),$meta(%artist%,5)>%'>,
$select($meta_num(%artist%),%<$meta(%artist%,0)>%'>,
@format<'%<$meta(%artist%,1)>%'>,
@format<'%<$meta(%artist%,1)>%,%<$meta(%artist%,2)>%'>,
@format<'%<$meta(%artist%,1)>%,%<$meta(%artist%,2)>%,%<$meta(%artist%,3)>%'>,
@format<'%<$meta(%artist%,1)>%,%<$meta(%artist%,2)>%,%<$meta(%artist%,3)>%,%<$meta(%artist%,4)>%'>,
@format<'%<$meta(%artist%,1)>%,%<$meta(%artist%,2)>%,%<$meta(%artist%,3)>%,%<$meta(%artist%,4)>%,%<$meta(%artist%,5)>%'>))
|%album%


What I am attempting to do:
* if # artists > 5 then add 1-5 to the list
* if # artists = 1 then add 0 to the list
* if # artists = 2 then add 1 to the list
* if # artists = 3 then add 1-2 to the list
* if # artists = 4 then add 1-3 to the list
* if # artists = 5 then add 1-4 to the list

Query comes out blank. Any I am probably getting the @format wrong. I have NO idea how @format and @quote works. Appreciate any clues.

Thx!
Title: foo_playlist_tree
Post by: Mystiq on 2006-10-13 16:27:43
it could be something in your queries causing a crazy character to appear. post your pts file, i'll check it out.
Here is what is in my PTS file:
Code: [Select]
(FOLDER "Playlist Tree" 1 :CONTENTS (
(QUERY "Playlists" 0 "@playlists" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 1 :CONTENTS (
(QUERY "*Browser*" 0 "@playlist<*Browser*>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Default" 0 "@playlist<Default>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
))
(FOLDER "Music DB Stats" 1 :CONTENTS (
(QUERY "Total Artists: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Albums: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC AND tracknumber IS 1 OR tracknumber IS 01" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Tracks: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%title%" nil 0)
(QUERY "Total Genres: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
)) (FOLDER "Database Views" 1 :CONTENTS (
(QUERY "True Directory View" 0 "@database" nil "$directory(%_path%,3)|$directory(%_path%,2)|$directory(%_path%,1)|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Artist by Alphabet" 0 "@database" "%__codec% IS FLAC" "$cut($if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%),1)|%artist%|%album%|$num(%tracknumber%,2). %title%" "$cut($if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%),1)|$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist by Genre" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "%genre%|$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist - Album by Date" 0 "@database" "%__codec% IS FLAC" "%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Album by Title" 0 "@database" "%__codec% IS FLAC" "$cut(%album%,1)|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Album by Year" 0 "@database" "%__codec% IS FLAC" "%date%|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Individual Tracks by Codec" 0 "@database" nil "$directory(%_path%,3) 'Singles' '(''@format<%_itemcount%>'')'|$cut(%title%,1)|%title%" nil 0)
)) (FOLDER "Dynamic Playlists" 1 :CONTENTS (
(QUERY "Random Album" 0 "@database" "%__codec% IS FLAC" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Artist" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Album by Genre" 0 "@database" "%__codec% IS FLAC" "@limit<1>%genre%|%album artist% - %album%|$num(%tracknumber%,2). %title%" "%genre%|$rand()" 0)
(QUERY "100 Random Singles" 0 "@database" "%__codec% IS FLAC" "%title%" "$rand()" 0 :MAX-TRACKS 100)
(QUERY "10 Random Singles by Genre" 0 "@database" "%__codec" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Ska-Punk Singles -- @format<%_size_abb%>" 0 "@database" "genre IS punk rock AND %__codec% IS MP3 OR genre IS ska AND %__codec% IS MP3" "%artist% - %title%" "$rand()" 0 :MAX-SIZE 960)
(QUERY "MOD 588 Failed" 0 "@database" "NOT $mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "MOD 588 Passed" 0 "@database" "$mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Never Played" 0 "@database" "%__codec% IS FLAC AND play_counter MISSING" "%artist% - %title%" "%artist%|%title%" 0)
(FOLDER "Top 50" 1 :CONTENTS (
(QUERY "Most Played" 0 "@database" "[%play_counter%]" "'('$num(%play_counter%,3)')' %artist% - %title%" "$num(%play_counter%,3)|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Last Played" 0 "@database" "[%last_played%]" "%artist% - %title%" "%last_played%|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Least Played" 0 "@database" "[%play_counter%]" "%artist% - %title%" "%play_counter%|%artist%|%title%" 0 :MAX-TRACKS 50)
))))))

The above display fine, but if I remove a panel, then put it back, the PTS file is changed to something like this:
Code: [Select]
(FOLDER "Playlist Tree" 1 :CONTENTS (
(QUERY "Playlists" 0 "@playlists" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 1 :CONTENTS (
(QUERY "*Browser*" 0 "@playlist<*Browser*>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Default" 0 "@playlist<Default>" nil "%artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
))
(FOLDER "Music DB Stats" 1 :CONTENTS (
(QUERY "Total Artists: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Albums: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC AND tracknumber IS 1 OR tracknumber IS 01" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Total Tracks: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%title%" nil 0)
(QUERY "Total Genres: @format<$ifgreater(%_foldercount%,0,%_foldercount%,%_itemcount%)>" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
)) (FOLDER "Database Views" 1 :CONTENTS (
(QUERY "True Directory View" 0 "@database" nil "$directory(%_path%,3)|$directory(%_path%,2)|$directory(%_path%,1)|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Artist by Alphabet" 0 "@database" "%__codec% IS FLAC" "$cut($if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%),1)|%artist%|%album%|$num(%tracknumber%,2). %title%" "$cut($if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%),1)|$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist by Genre" 0 "@database" "%__codec% IS FLAC" "%genre%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "%genre%|$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Artist - Album by Date" 0 "@database" "%__codec% IS FLAC" "%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left(%album artist%,4),The ),$right(%album artist%,$sub($len(%album artist%),4))', 'The,%album artist%)|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Album by Title" 0 "@database" "%__codec% IS FLAC" "$cut(%album%,1)|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Album by Year" 0 "@database" "%__codec% IS FLAC" "%date%|%album%|$num(%tracknumber%,2). %title%" nil 0)
(QUERY "Individual Tracks by Codec" 0 "@database" nil "$directory(%_path%,3) 'Singles' '(''@format<%_itemcount%>'')'|$cut(%title%,1)|%title%" nil 0)
)) (FOLDER "Dynamic Playlists" 1 :CONTENTS (
(QUERY "Random Album" 0 "@database" "%__codec% IS FLAC" "%album artist% - %album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Artist" 0 "@database" "%__codec% IS FLAC" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" "$rand()" 0 :MAX-FOLDERS 1)
(QUERY "Random Album by Genre" 0 "@database" "%__codec% IS FLAC" "@limit<1>%genre%|%album artist% - %album%|$num(%tracknumber%,2). %title%" "%genre%|$rand()" 0)
(QUERY "100 Random Singles" 0 "@database" "%__codec% IS FLAC" "%title%" "$rand()" 0 :MAX-TRACKS 100)
(QUERY "10 Random Singles by Genre" 0 "@database" "%__codec" "%album artist%|%album%|[$num(%tracknumber%,2) - ]%title%" nil 0)
(QUERY "Ska-Punk Singles -- @format<%_size_abb%>" 0 "@database" "genre IS punk rock AND %__codec% IS MP3 OR genre IS ska AND %__codec% IS MP3" "%artist% - %title%" "$rand()" 0 :MAX-SIZE 960)
(QUERY "MOD 588 Failed" 0 "@database" "NOT $mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%" 0)
))))sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "MOD 588 Passed" 0 "@database" "$mod(%_length_samples%,588) IS 0" "%__codec%|%album artist%|'('%date%')' %album%|$num(%tracknumber%,2). %title%" "$if($strcmp($left($if2(%album artist%,%artist%),4),The ),$right($if2(%album artist%,%artist%),$sub($len($if2(%album artist%,%artist%)),4))', 'The,$if2(%album artist%,%artist%))|'('%date%')' %album%|$num(%tracknumber%,2). %title%" 0)
(QUERY "Never Played" 0 "@database" "%__codec% IS FLAC AND play_counter MISSING" "%artist% - %title%" "%artist%|%title%" 0)
(FOLDER "Top 50" 1 :CONTENTS (
(QUERY "Most Played" 0 "@database" "[%play_counter%]" "'('$num(%play_counter%,3)')' %artist% - %title%" "$num(%play_counter%,3)|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Last Played" 0 "@database" "[%last_played%]" "%artist% - %title%" "%last_played%|%artist%|%title%" 0 :REVERSE t :MAX-TRACKS 50)
(QUERY "Least Played" 0 "@database" "[%play_counter%]" "%artist% - %title%" "%play_counter%|%artist%|%title%" 0 :MAX-TRACKS 50)
))))))

I thought that perhaps it might be due to a folder within a folder.  Even if I bring that last folder ("Top 50") into the main "Dynamic Playlist" folder, it still happens.

Thanks for posting that code, helps a lot noobs like me. Im requesting if theres any more people who could post their configs, id really appreciate it.

Thanks again and also greets to the PT author, brilliant plugin.
Title: foo_playlist_tree
Post by: wolfsong on 2006-10-14 23:06:59
Is there a list of working examples/favorites somewhere? I looked at the bowron forum (http://bowron.us/smf/index.php?topic=12.0) but the link there is broken. It would be great to have a thread with screenshots and code to look at instead of asking for things that have already been posted or recreating the wheel. Maybe they could be added to the bowron wiki examples (but with code for copy and paste)???

Specifically, I'm looking for a way to handle fields with multiple values (using the \ seperator) and the Special lists shown here.

(http://wiki.bowron.us/images/d/d5/Figure06.png)
Title: foo_playlist_tree
Post by: wolfsong on 2006-10-18 23:24:23
Is there a list of working examples/favorites somewhere? I looked at the bowron forum (http://bowron.us/smf/index.php?topic=12.0) but the link there is broken. It would be great to have a thread with screenshots and code to look at instead of asking for things that have already been posted or recreating the wheel. Maybe they could be added to the bowron wiki examples (but with code for copy and paste)???

Specifically, I'm looking for a way to handle fields with multiple values (using the \ seperator) and the Special lists shown here.

(http://wiki.bowron.us/images/d/d5/Figure06.png)

Anyone?
Title: foo_playlist_tree
Post by: metal_termite on 2006-10-18 23:29:56
Is this examples of queries (http://wiki.bowron.us/index.php/Example_Queries) page what you're asking for?
Title: foo_playlist_tree
Post by: wolfsong on 2006-10-19 01:08:34
Is this examples of queries (http://wiki.bowron.us/index.php/Example_Queries) page what you're asking for?

Unfortunately not.  While that page does give some examples, there are not enough to clue me in on how to create the ones from the screenshot such as 100 Top Rated, 100 Most Played and 100 Last Played.

I'm also looking for what ideas others may have already come up. Thanks.
Title: foo_playlist_tree
Post by: gob on 2006-10-24 02:52:10
is there a way to exclude directories, or even only include certain directories in queries?

also.. if i wanted to create a style query, files will fall under multiple styles. is it possible to include them under more than one branch of the tree?
Title: foo_playlist_tree
Post by: Fractal_Mortality on 2006-10-24 04:14:13
I wasn't sure which thread to put this question in, so I'll throw it in this one since it's been more recently discussed:

Is there a way to make foo_browser sort according to playlist tree's query sorting parameters?
Title: foo_playlist_tree
Post by: azazel100 on 2006-10-30 20:39:21
I'm not sure if this was mentioned before..

when starting foobar it seams that display text functions don't get evaluated or @hidden2 is disregarded.

my config:

Code: [Select]
@quote<@format<$ifgreater(5,%_itemcount%,@hidden2 ,)>>
$replace(%album artist%,'The ',)|
[#'<'%album type%'>'|]
$if(%track%,['['%date%']']$if2(%album%,'<unknown>'),'<incomplete>')|
[%discnumber%.][$num(%tracknumber%,2).]
[%track artist% - ]%title%
$if(%track%,, ['['%album%']'])


first line alows me to filter out artist with less then 5 song, but doesn't work at startup...

great plugin btw ;]
Title: foo_playlist_tree
Post by: odyssey on 2006-11-11 14:43:02
I'm currently using playback weighted on rating. I'd like to put this function on playlist_tree, to have static playlists, with many tracks rated 5 stars, and less tracks rated 2 stars. Is this even possible? I could not get the following query to limit "some" tracks - instead it just takes any track in the database:

Edit, it should be in quotes:

Code: [Select]
rating GREATER "$add($mod($rand(),4),2)"

A have a few feature requests:
* Option to disable child objects (tracks) in querys
* Option to expand collapse folders when they are left-clicked? (...or maybe i'm just missing something here )
Title: foo_playlist_tree
Post by: gob on 2006-11-15 00:47:10
think it would be a good idea to share some of these .pts files in a separate thread? if so, feel free to split this and i can edit some rules. i'm sure there's a lot of creative queries out there.

Additional components some of these scripts need:
foo_cwb_hooks.dll
foo_playcount.dll (official)


Top 250 Songs
here's one i just put together to generate a favorite list of tracks sorted by the rating and the average time between playing. as long as it has played at least 10 times, the rating is greater than 3, and it hasn't played in the last 7 days.
Code: [Select]
(QUERY "@rgb<252,252,252>Weekly Top 250@refresh " 0 "@database" "rating GREATER 3 AND (""$cwb_datediff(%last_played%,%cwb_systemdate%)"" GREATER 7 AND %play_count% GREATER 5)" "%title% - %artist%" "$num(%rating%,2)$sub(10000000000,$num($div($mul($cwb_datediff(%first_played%,%cwb_systemdatetime%),1000000),%play_count%),10))" 0 :REVERSE t :MAX-TRACKS 250)


by Albums
depending on the tags, this lists all of the music in the database by:
"artist \ album \ title" or "artist \ title" or "various albums\ album \ title"
Code: [Select]
(QUERY "@rgb<252,252,252>All Music [@format<$cwb_splitnum(%_itemcount%,',') tracks>]" 0 "@database" nil "$if($and(%artist%,$meta(title)),$if(%various%,Various Artists,$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%))|$if2(%album%[ '('%date%')'],'@rgb<128,128,128>'●  singles  ●)|$if(%discname%,%discname%|)$meta(title),'@rgb<128,128,128>''('tags missing')'|$replace(%path%,\,|))" "$if($and(%artist%,%title%),1$if(%various%,'(((',$replace(%artist%,The ,))|$if($not(%various%),%date%)%album%|%discnumber%%tracknumber%%title%,0|%path_sort%)" 0)


by Genre
this separates the tracks by genre. then lists them as a similar method as above except the various artists are no longer displayed as albums, but singles underneath each artist.
Code: [Select]
(QUERY "@rgb<252,252,252>by Genre" 1 "@database" "NOT genre MISSING AND NOT @format<'$meta(title)'> MISSING AND NOT artist MISSING" "%<genre>% '('@format<'$cwb_splitnum(%_itemcount%,',')'> tracks')'|$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|$if($and(%album%,$not(%various%)),%album% '('%date%')','@rgb<128,128,128>'●  singles  ●)|$if(%discname%,%discname%|)%title%" "%genre%|$replace(%artist%,The ,)|$if($and(%album%,$not(%various%)),%date%%album%,%various%)|%discnumber%%tracknumber%%title%" 0)


by Rating
this displays tracks displayed as rating \ artist \ title
Code: [Select]
(QUERY "@rgb<252,252,252>by Rating" 1 "@database" "rating GREATER 0 AND NOT artist MISSING AND NOT title MISSING" "@rgb<2%rating%%rating%,1$add(2,%rating%)$add(4,%rating%),0>$repeat(♫ ,%rating%)|$if2(%genre%,'@rgb<128,128,128>'unknown genre)|$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)|%title%" "$sub(10,%rating%)| %genre% | $replace(%artist%,The ,) | %title%" 0)


by Codec
this separates the files by codec.if the tracks are lossy, then by codec \ bitrates \artist - album \ title
Code: [Select]
(QUERY "@rgb<252,252,252>Codec" 0 "@database" "NOT album MISSING" "$if(%__bitspersample%,,'@rgb<128,128,128>')%codec%|$if(%__bitspersample%,,$ifgreater(%__bitrate%,319,$puts(brgroup,320+ kbps),$ifgreater(%__bitrate%,255,$puts(brgroup,256-319 kbps),$ifgreater(%__bitrate%,191,$puts(brgroup,192-255 kbps),$ifgreater(%__bitrate%,127,$puts(brgroup,128-191 kbps),$puts(brgroup,  0-127 kbps)))))$get(brgroup)|)$if(%various%,%album%,%artist% - %album%)|%title%" "$if(%__bitspersample%,0,1)%codec%|$if(%__bitspersample%,,%__bitrate%|)$if(%various%,%album%,%artist% - %album%)|%discnumber%%tracknumber%" 0)


by Age
this query divides tracks by decade unless the album has this or last years date, if so this years and last years will be separated.
Code: [Select]
(QUERY "@rgb<252,252,252>Age" 0 "@database" "NOT album MISSING AND NOT artist MISSING AND NOT date MISSING AND NOT title MISSING AND NOT tracknumber MISSING AND various MISSING" "$if($stricmp($left(%cwb_systemdate%,4),%date%),This year''s,$if($stricmp($left(%cwb_systemdate%,4),$add(%date%,1)),Last year''s,$left(%date%,3)0''s))|%genre%|%artist%|%album%|%title%" "$if($stricmp($left(%cwb_systemdate%,4),%date%),0,$if($stricmp($left(%cwb_systemdate%,4),$add(%date%,1)),1,$sub(999,$left(%date%,3))))|%genre%|%artist%|%album%|%discnumber%%tracknumber%" 0)


Playing: album
here are a few more i made that are in reference to the currently playing track.
this one shows the tracks in the currently playing album
Code: [Select]
(QUERY "@rgb<252,64,50>Now playing: @format<$playing('[%artist%]')>@refresh " 1 "@database" "album IS @format<$playing('%album%')> AND artist IS @format<$playing('%artist%')> OR album IS @format<$playing('%album%')> AND various IS 1" "$if($stricmp(%album%,%artist%),'['self titled album']',%album%)|%title%" "%discnumber%%tracknumber%" 0)


Playing: more by this artist
this shows all the albums and singles by this artist
Code: [Select]
(QUERY "@rgb<255,255,255>@format<More $cwb_removethe($playing('%artist%'))>@refresh " 1 "@database" "artist IS @format<$playing('%artist%')> AND NOT album IS @format<$playing('%album%')>" "$if($and(%album%,$not(%various%)),%album%,'@rgb<128,128,128>'●  singles  ●)|%title%" "$if($or(%various%,$not(%album%)),0|$if2(%title%,%filename_ext%),[%date%]%album%|$if(%title,[%discnumber%][%tracknumber%]%title%,%filename_ext%))" 0)


Playing: favorite tracks by this artist
this one shows the favorite tracks based on the rating, and the number of days between plays
Code: [Select]
(QUERY "@rgb<255,255,255>@format<Favorite $cwb_removethe($playing('%artist%')) Songs>@refresh " 0 "@database" "artist IS @format<$playing('%artist%')> AND rating GREATER 3" "%title%" "$num(%rating%,2)$sub(10000000000,$num($div($mul($cwb_datediff(%first_played%,%cwb_systemdatetime%),1000000),%play_count%),10))" 0 :REVERSE t :MAX-TRACKS 15)


i hope someone finds these useful, if not, i just made an elaborate backup of my settings
Title: foo_playlist_tree
Post by: gob on 2006-11-16 02:44:19
%_play_length% stops at 23 days. is there any way to show weeks as well?
Title: foo_playlist_tree
Post by: keanej6 on 2006-11-16 05:10:43
The problem is with my playlist and i believe it to be the tagging of a few albums.  Most of my albums display fine, but there is a small handful that comes up as <missing> under my browser.  that specific album won't get categorized under the appropriate band, and the only information available are the song titles....when i go to customize it, foobar pops up the message that that specific object is not found.  here's a pic of what i see...
(http://i79.photobucket.com/albums/j141/keanej6/foobarpic.jpg)

Now i can temporarily fix this problem, by removing that playlist and readding it.  then that <missing> disappears and the albums are organized just how i want them. 
(http://i79.photobucket.com/albums/j141/keanej6/foobarpicII.jpg)

but when i add a mod to foobar or more importantly when i restart my computer, the same thing happens and the fixed albums go back to their misplaced sections under <missing>.  Now i'm not very computer savvy, so this may be a simple problem... but if anybody can help me out, i'd really appreciate it.  thank you!
Title: foo_playlist_tree
Post by: gob on 2006-11-16 05:48:07
have you enabled "force preferred tag writing schemes on all files" and selected ID3v2+ID3v1 in the advanced options?
also try refreshing your database..

you may get more answers of you post this in the support forum
Title: foo_playlist_tree
Post by: cwbowron on 2006-11-17 21:38:58
Quote
= Release 2.2.4 =
* Added "Clear Query Results" menu items
* Added notification callback so other plugins can be notified of tree selections.
* added global title formatting for treenode info: $treenode(arg) function.  Possible arguments:
** name
** displayname
** size
** duration
** itemcount
** foldercount
** overallindex
** isleaf
** isfolder
** isquery
* auto refresh in a main thread callback
* put system icons at the end of the list so when they change it doesnt mess everything up
* set the background color in the icon selection box to the same color as your tree, so its easier to tell what will look good
Title: foo_playlist_tree
Post by: gob on 2006-11-18 06:13:23
refresh doesn't quite work anymore. manually refreshing the trees, even after a file updates, it instantly looks like it was done (hoping you found a way to make big trees load faster since mine take 8 seconds to refresh ) but then i noticed the tree didn't update. i had to open some nodes and then the refresh worked as before. also what does $treenode(arg) do? where can i use it?

is it possible to change the color midway thru a tree item? i tried this:
@rgb<202,202,202>%<genre>% @rgb<128,128,128>'('@format<'$cwb_splitnum(%_itemcount%,',')'> tracks')'|

also that $cwb_splitnum() function didnt work in that statement, but it does work in the label
Title: foo_playlist_tree
Post by: cwbowron on 2006-11-18 15:28:22
also what does $treenode(arg) do? where can i use it?


It returns information about the currently selected treenode.  I use inside a trackinfo panel that shows only information about the tree node ($treenode(displayname), $treenode(duration), etc)

Quote
is it possible to change the color midway thru a tree item? i tried this:


No.  The @rgb refers to the entire line.
Title: foo_playlist_tree
Post by: wolfsong on 2006-11-18 17:03:46
think it would be a good idea to share some of these .pts files in a separate thread? if so, feel free to split this and i can edit some rules. i'm sure there's a lot of creative queries out there.

That would be great!
i hope someone finds these useful, if not, i just made an elaborate backup of my settings

I certainly did. Especially since the link (http://bowron.us/smf/index.php?topic=12.0) to the examples in the forum is broken, the examples in the wiki (http://wiki.bowron.us/index.php/Example_Queries) are few and can't be copied and the tutorial (http://wiki.bowron.us/index.php/Playlist_Tree_Tutorial) is out of date. Thanks.

EDIT: I saved a couple of your queries to a pts and loaded them but they didn't work.

I'd still like to know how to get 100 Most Played and 100 Last Played.

How do I modify the following to handle multiple artist values?

Code: [Select]
(QUERY "Now Playing: @format<$playing('%artist%')>@refresh " 1 "@database" "artist IS @format<$playing('%artist%')>" "@quote<@format<$if($greater(%_foldercount%,8),@hidden ,)>>%album%[ $char(40)%subtitle%$char(41)][ $char(91)%edition%$char(93)]|[$char(91)$num(%tracknumber%,2)$char(93) ]%title%[ $char(40)%version%$char(41)]" nil 1)

I tried setting the label to:
Code: [Select]
Now Playing: @format<$playing('%<artist>%')>

but all i get is a question mark. In other queries I've used %<artist>% in the format field which works perfectly.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-11-19 14:11:47
I don't know if it is due to the newest release: I configured a new layout and deided that it is the best for my workflow to apply the command "Send to library playlist" by ENTER.  But it doesn't work! (It works with Space).

It was a nice improvement a few versions ago to turn off the automatical redraw of the at refresh to avoid the annoying flicker of the panel. However there are two situations where an automatic redraw would be useful:

1. Loading a child inside a panel seems to have no effect. It took me some time to recognize that i have to redraw tree manually.

2. Changing the name format for folders inside preferences also requires a manual refresh
Title: foo_playlist_tree
Post by: gob on 2006-11-20 06:22:06
EDIT: I saved a couple of your queries to a pts and loaded them but they didn't work.

I'd still like to know how to get 100 Most Played and 100 Last Played.

How do I modify the following to handle multiple artist values?

Code: [Select]
(QUERY "Now Playing: @format<$playing('%artist%')>@refresh " 1 "@database" "artist IS @format<$playing('%artist%')>" "@quote<@format<$if($greater(%_foldercount%,8),@hidden ,)>>%album%[ $char(40)%subtitle%$char(41)][ $char(91)%edition%$char(93)]|[$char(91)$num(%tracknumber%,2)$char(93) ]%title%[ $char(40)%version%$char(41)]" nil 1)

I tried setting the label to:
Code: [Select]
Now Playing: @format<$playing('%<artist>%')>

but all i get is a question mark. In other queries I've used %<artist>% in the format field which works perfectly.


if there were any problems with the queries they are fixed now since i edited that post. your problem might be because you don't have foo_playcount.dll (official) or foo_cwbhooks.dll

edit:
sorry, i don't know about multiple artist fields. i don't think it would work with the now playing queries..
Title: foo_playlist_tree
Post by: wolfsong on 2006-11-20 10:59:30
if there were any problems with the queries they are fixed now since i edited that post. your problem might be because you don't have foo_playcount.dll (official) or foo_cwbhooks.dll

Thanks for the update; working now. It would be cool if the Weekly 250 displayed the playcount as well.
edit:
sorry, i don't know about multiple artist fields. i don't think it would work with the now playing queries..

Hopefully cwbowron can help with that one. I think it's his. Also, the Now Playing Query doesn't seem to work properly for albums by the artist. They are displayed but the tracks are not; works fine with tracks from VA releases.
Title: foo_playlist_tree
Post by: cwbowron on 2006-11-20 13:15:42
How do I modify the following to handle multiple artist values?

Code: [Select]
(QUERY "Now Playing: @format<$playing('%artist%')>@refresh " 1 "@database" "artist IS @format<$playing('%artist%')>" "@quote<@format<$if($greater(%_foldercount%,8),@hidden ,)>>%album%[ $char(40)%subtitle%$char(41)][ $char(91)%edition%$char(93)]|[$char(91)$num(%tracknumber%,2)$char(93) ]%title%[ $char(40)%version%$char(41)]" nil 1)


I dont think there is currently a way to do this.  The %<tag>% format has limitations and this is outside those limitations.
Title: foo_playlist_tree
Post by: gob on 2006-11-21 21:44:14
still cant figure out how the nested queries work. i made a nested query that looks like this:
Code: [Select]
@query<@rgb<255,255,255>@format<Favorite $cwb_removethe($playing('%artist%')) Songs>@refresh;@database;artist IS @format<$playing('%artist%')> AND rating GREATER 3" "%title%" "$num(%rating%,2)$sub(10000000000,$num($div($mul($cwb_datediff(%first_played%,%cwb_systemdatetime%),1000000),%play_count%),10))" 0 :REVERSE t :MAX-TRACKS 15);%title%>


but i dont know what do do with it. id like to put it under the existing query that i have that makes a tree of the currently playing album
Title: foo_playlist_tree
Post by: fabiospark on 2006-11-23 19:16:12
Trying to port this query:

Code: [Select]
 #album artist#|[& $if($stricmp(#album artist#,$meta(album artist,2)),$meta(album artist,1),$meta(album artist,2))]|[& $if($stricmp(#album artist#,$meta(album artist,3)),$meta(album artist,1),$meta(album artist,3))]|#album#|$num(%tracknumber%,2). %title%[ - %date%]


This is the translation:

Code: [Select]
%<album artist>%|[& $if($stricmp(%<album artist>%,$meta(album artist,1)),$meta(album artist,0),$meta(album artist,1))]|
[& $if($stricmp(%<album artist>%,$meta(album artist,2)),$meta(album artist,0),$meta(album artist,2))]|
%<album>%|$num(%tracknumber%,2). %title%[ - %date%]


this it the two outputs I'm getting: left=old  right=new:

(http://img72.imageshack.us/img72/7229/pltmetawg2.th.png) (http://img72.imageshack.us/my.php?image=pltmetawg2.png)


Does $meta(x,y) works zero based instead of 1 based as before?
Is there a way to get single values for tracks instead of doubles, at least?
Is there a way to get rid of that incorrect "& Ben Webster" branch?

Thanks.
Title: foo_playlist_tree
Post by: fabiospark on 2006-11-26 17:57:45
What should I write in the criteria box to make a comparison work?

This is what I have in my 0.8 foobar.

Code: [Select]
$len(%tag%) GREATER 4


In spite of my attempts I couldn't find a way to see it work in 0.9 (PLT 2.2.3).

Thanks.
Title: foo_playlist_tree
Post by: q-stankovic on 2006-11-27 15:24:06
I tried something similar but it doesn't work although i used the PT2 specific language.

your example:    @format<'$len(%tag%)> GREATER 4.

But it seems that you only can use the @format function for the value but not for the field expression of a playlist_gen_query. Would like to have that useful feature to create some fancy queries with my %mood%, %style%, %situation% tags! 
Title: foo_playlist_tree
Post by: MiSP on 2006-12-02 12:18:22
I need a little help with this script.

Code: [Select]
$if(%artist%,
%artist%|['['%date%']'] $if2(%album%,-<Unknown album>-)|[$num(%tracknumber%,2) - ]%title%,
$if(%album%,-<Unknown artist>-|%album%|[$num(%tracknumber%,2) - ]%title%,-<Unknown artist>-|<Unknown album>|[$num(%tracknumber%,2) - ]%title%)
)


I have no criteria. What I want it to do, basically, is to sort by artist and put all the tracks without artists but with album into "-<Unknown artist>-|album|title", and all tracks without both artist and album into "-<Unknown artist>-|-<Unknown album>-|title. When I use line 2 and 3 separately (in separate queries) with "artist MISSING" and "NOT artist MISSING" they work perfectly, but once I put them together here, the tracks without artist but with album does not get listed.

Does anybody have an idea of what is wrong?
Title: foo_playlist_tree
Post by: MiSP on 2006-12-02 14:52:02
Nevermind, I figured it out - the problem was that the tracks I expected to have artist, did have an album artist, and therefore they did not count as having no artist at all.

Is there a way to check only the artist field, and not the album artist, composer or performer?
Title: foo_playlist_tree
Post by: q-stankovic on 2006-12-03 16:21:57
Is there a way to check only the artist field, and not the album artist, composer or performer?


$meta(artist)
Title: foo_playlist_tree
Post by: tableschairs on 2006-12-03 19:59:29
I have tried to set the double-click action on this plugin to be "Edit Other/Add to Specified Playlist"  The problem is, when you do that there is no place to specify the playlist you want to send to.  Would there be anyway to add an option to define a specifed playlist to add tracks to if you select that option as an action?

Thanks!


I just want to second this request in case it got missed in the jumble of other posts.  It is already possible to specify a playlist when setting hotkeys, and a similar thing for the playlist tree menu would be completely fantastic - it would allow a playback behavior that is closer to what people intuitively expect when browsing and playing music at the same time.  I have been scouring the forums looking for some way to get foobar to play and browse in separate playlists, and while there are a ton of awkward workarounds out there (using the queue, right clicking and selecting send to playlist, etc.) this little function would work perfectly. 

Seriously, from the searching I have done it seems like there are quite a few people who would love a way to make their foobar act like this, and making this option functional would be an amazing solution.  I honestly can't stress enough how great it would be if this could be implemented, as it would fix the single biggest issue I (and others, apparently) have with the way foobar handles playback.
Title: foo_playlist_tree
Post by: cwbowron on 2006-12-03 20:23:02
I just want to second this request in case it got missed in the jumble of other posts.  It is already possible to specify a playlist when setting hotkeys, and a similar thing for the playlist tree menu would be completely fantastic - it would allow a playback behavior that is closer to what people intuitively expect when browsing and playing music at the same time.  I have been scouring the forums looking for some way to get foobar to play and browse in separate playlists, and while there are a ton of awkward workarounds out there (using the queue, right clicking and selecting send to playlist, etc.) this little function would work perfectly.


Its being looked into and should be in the next release.
Title: foo_playlist_tree
Post by: fabiospark on 2006-12-17 13:19:50
Is there a way to refresh one query only?

If I launch the refresh queries, it goes on forever (killed FB after 4 mins) so,
probably there is some unsafe query in my tree.

To check which one is, I need to be able what I asked above.
Or some other way is there, maybe? (apart having to remove all queries
and then add one at a time, of course)

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2006-12-17 16:17:56
Is there a way to refresh one query only?


middle click or shift right click on the query node and select "refresh queries".  It will only refresh that query.  Also if you have a static folder that contains multiple queries you can click on it, and select "refresh queries" and it will refresh ONLY the queries underneath it.
Title: foo_playlist_tree
Post by: fabiospark on 2006-12-17 17:20:22

Is there a way to refresh one query only?


middle click or shift right click on the query node and select "refresh queries".  It will only refresh that query.  Also if you have a static folder that contains multiple queries you can click on it, and select "refresh queries" and it will refresh ONLY the queries underneath it.


Yes, I knew that but, due to the extra long time it took, and to the "s" at the end of the word "queries", for a moment I thought it was refreshing always everything.

Anyway, I tried that refresh on a couple of queries and this is what came out:

1)
Format= %artist%|%title% - %album%
Sort= by name after populating
refresh time = 2 secs

2)
Format= %artist%|%title%|%album%
Sort= by name after populating
refresh time = 65 secs

3)
Format= %artist%|%date%|%title%|%album%
Sort= by name after populating
refresh time = 118 secs

but...

following a hint I found in the wiki, I put "%overallindex%: %_name%" in the Folder name box of the preferences and that was the problem.
Removing that %overallindex%, reduced the time of 2) and 3) to a couple of secs.

As I'd like to be able to refresh a query and send it to a playlist with a remote control, is there a way to link a query to a keyboard shortcut without using that slowing function?
(Maybe assigning a fixed index number manually)

Thanks
Title: foo_playlist_tree
Post by: mdhare007 on 2006-12-28 19:51:40
Having problems with nodes.

I've created a folder called "blah".  Under this folder, I have a few queries.  I'd like to use the contents of this folder in another query.  I've tried every possible iteration that I can think of and I can't get anything to work. 

* What is the actual definition of a node?
* Would the node name for a folder labeled 'blah' be 'blah' or 'Folder::blah' ?
* Does the 'folder format:' config option change the node name?
* The node syntax is used as a source so is used only in the Criteria section of a query?

I've searched and read as much as I could but am still lost..

-Michael
Title: foo_playlist_tree
Post by: cwbowron on 2006-12-28 20:03:22
Having problems with nodes.

I've created a folder called "blah".  Under this folder, I have a few queries.  I'd like to use the contents of this folder in another query.  I've tried every possible iteration that I can think of and I can't get anything to work. 

* What is the actual definition of a node?
* Would the node name for a folder labeled 'blah' be 'blah' or 'Folder::blah' ?
* Does the 'folder format:' config option change the node name?
* The node syntax is used as a source so is used only in the Criteria section of a query?

I've searched and read as much as I could but am still lost..


You should be able to use that node as the Source of another query using "@node<blah>"

The folder format should not affect it.

Here's an example (http://foobar.bowron.us/images/@node.png).
Title: foo_playlist_tree
Post by: mdhare007 on 2006-12-28 20:17:02
[/quote]

You should be able to use that node as the Source of another query using "@node<blah>"

The folder format should not affect it.

Here's an example (http://foobar.bowron.us/images/@node.png).
[/quote]

Thanks for the quick reply.  I've tried your example verbatim on 2.2.4 with no success.  I assure you that I have songs with the RATING field flushed out

Any ideas on how to troubleshoot further?

http://nibbler.wiscnet.net/~m7h/node_woes.jpg (http://nibbler.wiscnet.net/~m7h/node_woes.jpg)
Title: foo_playlist_tree
Post by: cwbowron on 2006-12-28 20:23:39
Any ideas on how to troubleshoot further?


You could try @node<blah {28G}> to see if the {} stuff is what's causing the issue.
Title: foo_playlist_tree
Post by: mdhare007 on 2006-12-28 20:28:02

Any ideas on how to troubleshoot further?


You could try @node<blah {28G}> to see if the {} stuff is what's causing the issue.


Yup, that was it!  I thought I had tried this before bothering you, but I guess not.  That's a bummer, since foo_playlist_tree is the only way I know how to get the size of a playlist, but these two features seem to be incompatible.  The reason the size of the playlist was important is because I am now using foo_dop to sync to my Ipod and I have more music than what the Ipod can handle in my library.
Title: foo_playlist_tree
Post by: cwbowron on 2006-12-28 20:36:51
Yup, that was it!  I thought I had tried this before bothering you, but I guess not.  That's a bummer, since foo_playlist_tree is the only way I know how to get the size of a playlist, but these two features seem to be incompatible.  The reason the size of the playlist was important is because I am now using foo_dop to sync to my Ipod and I have more music than what the Ipod can handle in my library.


I checked the code, and I am using the display name so that makes sense.

I added it to the known bugs, and I will probably take a look at fixing that when i get a chance.

In the mean time, you can could the display to just using the name and right click a node and select "Properties" to find out the filesize, or you could do like i do and use a track info panel that displays information about the currently selected playlist tree node.  This is what I use:

Code: [Select]
$align(left,middle)
Node: $treenode(displayname)$char(10)
Size: $cwb_splitnum($treenode(size))$char(10)
Count: $treenode(itemcount%)$char(10)
Duration: $cwb_wdhms($treenode(duration))$char(10)
Title: foo_playlist_tree
Post by: q-stankovic on 2006-12-29 16:50:08
Yes, I knew that but, due to the extra long time it took, and to the "s" at the end of the word "queries", for a moment I thought it was refreshing always everything.

Anyway, I tried that refresh on a couple of queries and this is what came out:

1)
Format= %artist%|%title% - %album%
Sort= by name after populating
refresh time = 2 secs

2)
Format= %artist%|%title%|%album%
Sort= by name after populating
refresh time = 65 secs

3)
Format= %artist%|%date%|%title%|%album%
Sort= by name after populating
refresh time = 118 secs

but...

following a hint I found in the wiki, I put "%overallindex%: %_name%" in the Folder name box of the preferences and that was the problem.
Removing that %overallindex%, reduced the time of 2) and 3) to a couple of secs.

As I'd like to be able to refresh a query and send it to a playlist with a remote control, is there a way to link a query to a keyboard shortcut without using that slowing function?
(Maybe assigning a fixed index number manually)

Thanks


Using %_folderindex%,%_itemcount% and %_nestlevel% even at the same time in the format of the name doesn't slow the refresh so extremly. Due to that perhaps that painful slow refreshing at %_overallindex% could be considered as a bug - means: a chance to change that?
Title: foo_playlist_tree
Post by: leokennis on 2007-01-17 18:46:04
Man...I'm trying to create a query that will display all the songs of the album of the currenly playing track...and to let it auto-refresh when a new song starts. I really have no ideo how to do it... I have this:

(http://tinypic.com/403duu0.gif)

Now when I manually refresh, it works...but it dosn't at all update automatically when a new songs starts playing. Why is this? I have checked the box and I have mad a $playing() query...
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-17 18:53:53
Man...I'm trying to create a query that will display all the songs of the album of the currenly playing track...and to let it auto-refresh when a new song starts. I really have no ideo how to do it... I have this:

Now when I manually refresh, it works...but it dosn't at all update automatically when a new songs starts playing. Why is this? I have checked the box and I have mad a $playing() query...


I'm not sure why that wouldnt work... It looks very similar to mine... You could try changing the label to "Now Playing: @format<$playing('%album%')>"... that might work...
Title: foo_playlist_tree
Post by: leokennis on 2007-01-17 19:23:50

Man...I'm trying to create a query that will display all the songs of the album of the currenly playing track...and to let it auto-refresh when a new song starts. I really have no ideo how to do it... I have this:

Now when I manually refresh, it works...but it dosn't at all update automatically when a new songs starts playing. Why is this? I have checked the box and I have mad a $playing() query...


I'm not sure why that wouldnt work... It looks very similar to mine... You could try changing the label to "Now Playing: @format<$playing('%album%')>"... that might work...

Nope...doesn't work
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-17 19:39:39
That is very strange: Both queries must work!???

An idea: Remove population sort that so or so not makes sense and check sort display by name
Title: foo_playlist_tree
Post by: leokennis on 2007-01-17 20:02:19
That is very strange: Both queries must work!???

An idea: Remove population sort that so or so not makes sense and check sort display by name

Yes, both queries work...the problem is that they don't auto-refresh when a new song starts playing...
Title: foo_playlist_tree
Post by: odyssey on 2007-01-18 13:45:13
I have my playlist tree setup as a simple list of misc. queues, which will be added to a new playlist with the same name. However it will always create a new playlist. Would it be possible to make it check if a playlist by the same name already exists and clear (/delete it) it before sends the results?

Also could you make "Play in Library Playlist" activate the playlist and add option to play in the actions, f.ex. "New playlist and play"?

Thanx for a great panel 
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-18 14:09:11
I have my playlist tree setup as a simple list of misc. queues, which will be added to a new playlist with the same name. However it will always create a new playlist. Would it be possible to make it check if a playlist by the same name already exists and clear (/delete it) it before sends the results?

Also could you make "Play in Library Playlist" activate the playlist and add option to play in the actions, f.ex. "New playlist and play"?

Thanx for a great panel 


You can use the "Rename last library playlist when sending" option so that only one library playlist is ever created and then subsequent sends will rename and repopulate that playlist.

You can get a New Playlist and Play functionality with foosion's foo_utils.
Title: foo_playlist_tree
Post by: odyssey on 2007-01-18 15:04:56
You can use the "Rename last library playlist when sending" option so that only one library playlist is ever created and then subsequent sends will rename and repopulate that playlist.

You can get a New Playlist and Play functionality with foosion's foo_utils.

Thanks 
Title: foo_playlist_tree
Post by: Melomane on 2007-01-20 00:51:45
it is possible to have in the same tree:

various artists album ( woodstock 99 -
                                                                        - alanis morrisette - so pure
                                                                      - elvis costello - alison)
and
artist list                      (alanis morrisette-
                                                                            woodstock 99 -
                                                                                                            - so pure
                                                          mtv unplugged
                                                                                - you learn)

thanks
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-20 15:08:30
As foosion gave me a hint i was able to create this query for criteria (inspired by one of fabiosparks fancy queries):

mood IS @format<$playing('$meta_sep(mood, AND mood IS )')> AND "$meta_num(mood)" IS @format<$playing('$meta_num(mood)')>

The query works as long as i play atrack that contains the mood tag.
But if you play a track without any value for mood you expect to have an empty query. Instead of that PLT shows me all tracks of my database even that with mood tags.

The problem is so weird that even if you append "AND NOT mood MISSING" all tracks are shown.
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-20 15:25:36
As foosion gave me a hint i was able to create this query for criteria (inspired by one of fabiosparks fancy queries):

mood IS @format<$playing('$meta_sep(mood, AND mood IS )')> AND "$meta_num(mood)" IS @format<$playing('$meta_num(mood)')>

The query works as long as i play atrack that contains the mood tag.
But if you play a track without any value for mood you expect to have an empty query. Instead of that PLT shows me all tracks of my database even that with mood tags.

The problem is so weird that even if you append "AND NOT mood MISSING" all tracks are shown.


Did you try putting NOT mood MISSING AND... as the beginning of the query?
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-20 18:48:02
Did you try putting NOT mood MISSING AND... as the beginning of the query?


I think i tried both: at beginning and at end. But i will have a look.
However, if a track without any mood tag is played the query shouldn't give back at least  that tracks which have one.

Also i think it should be just an empty query as long as this is the behaviour if you have another tag: f.e. if you have "artist IS @format<$playing('%artist%')>" in criteria and you play a track without artist tag the query is empty.
Title: foo_playlist_tree
Post by: fabiospark on 2007-01-21 20:31:53
I have only one PLT panel.
In the preferences page I put "Desk.pts" in the file text box but when I exit foobar PLT keeps updating the "playlist-tree-0.pts" instead.
This happens even after I load the "Desk.pts" in the panel and then exit FB.
Is it a bug or not?
If not, what does the "File" textbox is for?

Thanks.
Title: foo_playlist_tree
Post by: alphaex32 on 2007-01-21 20:46:26
Just had an idea...could you add a feature to create a dynamic playlist based on a tree node. So basically, it would be like an autoplaylist source but with all of the features of playlist tree.
Title: foo_playlist_tree
Post by: stampgevaar on 2007-01-22 13:31:16
Is it possible to sort folders by say tracknumber but not displaying tracknumber. I need this for the folders not the leafs.

for example:

01 album\filename x
02 album\filename xx
03 album\filename xxx

then I use as a code
%tracknumber% %album%|%filename%

but isn't it possible to let it sort on tracknumber but no displaying the tracknumber.

like this:

album\filename x
album\filename xx
album\filename xxx

So it sort on tracknumber and not on albumname.
To much work by the way to do it manually and it looks better without the numbers.
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-22 14:24:21
Just had an idea...could you add a feature to create a dynamic playlist based on a tree node. So basically, it would be like an autoplaylist source but with all of the features of playlist tree.


You can already do that using @node (http://wiki.bowron.us/index.php/Playlist_Tree_Tutorial#.40node).


I have only one PLT panel.
In the preferences page I put "Desk.pts" in the file text box but when I exit foobar PLT keeps updating the "playlist-tree-0.pts" instead.
This happens even after I load the "Desk.pts" in the panel and then exit FB.
Is it a bug or not?
If not, what does the "File" textbox is for?

Thanks.


playlist tree manages the files itself now.  I don't know which text box you are referring to.  None of them are for specifying a playlist to save and load from.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-22 14:49:23

Did you try putting NOT mood MISSING AND... as the beginning of the query?


I think i tried both: at beginning and at end. But i will have a look.
However, if a track without any mood tag is played the query shouldn't give back at least  that tracks which have one.

Also i think it should be just an empty query as long as this is the behaviour if you have another tag: f.e. if you have "artist IS @format<$playing('%artist%')>" in criteria and you play a track without artist tag the query is empty.


It doesn't matter if you add "NOT mood MISSING AND" at the beginning or append "AND NOT mood MISSING" at the end. You don't have added this to the bug list in the wiki so far - so let me ask for any news about this. 
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-22 15:02:39
It doesn't matter if you add "NOT mood MISSING AND" at the beginning or append "AND NOT mood MISSING" at the end. You don't have added this to the bug list in the wiki so far - so let me ask for any news about this. 


I think the issue is that meta_sep(x,y) doesn't return anything when the tag doesn't exist at all.

I think you're best bet is to rework the query into some sort of @format<$if($meta(x),bla bla bla,x MISSING)> type query.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-22 16:57:05
Sorry! I don't understand really. Also i don't know how to rework. 
Title: foo_playlist_tree
Post by: antares on 2007-01-22 17:34:12
Hi,

is it possible to display a query in different modes (album-mode or single-mode) according to the query? The different modes work with playlist-switcher (see this Tutorial) (http://eolindel.free.fr/foobar0.9/tutorial5.php), but I didn`t find a way to do the same with Playlist-tree. How should the query be, in order to display in single-mode -s-?
Title: foo_playlist_tree
Post by: Garfield4 on 2007-01-23 17:21:56
Hi

Thanks for a great component.

I'm using the 'Resume Playback on Restart' function on preferences - which works fine using the Album List component, so I know it works.

But with Playlist tree - on restart it resumes to play a track in the main *Browser* playlist from the beginning. For example if i'm playing the 4th song in my ratings config - on reload it will play the 4th song in the *Browser*...

Have you come across this and know how I can fix this??

Thanks in advance
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-23 18:12:22
I'm using the 'Resume Playback on Restart' function on preferences - which works fine using the Album List component, so I know it works.

But with Playlist tree - on restart it resumes to play a track in the main *Browser* playlist from the beginning. For example if i'm playing the 4th song in my ratings config - on reload it will play the 4th song in the *Browser*...

Have you come across this and know how I can fix this??


Sounds more like a foo_browser problem that playlist tree.... someone here might know a workaround or you could ask in the foo_browser thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=42849&hl=).  I no longer use foo_browser so I don't know how to fix that.
Title: foo_playlist_tree
Post by: Garfield4 on 2007-01-23 18:17:49
Quote
Sounds more like a foo_browser problem that playlist tree.... someone here might know a workaround or you could ask in the foo_browser thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=42849&hl=).  I no longer use foo_browser so I don't know how to fix that.


Thanks for the advice- didnt even think to look there - found the answer on the foo_browser thread  - was to do with populating on startup. 
Title: foo_playlist_tree
Post by: alphaex32 on 2007-01-23 19:36:13

Just had an idea...could you add a feature to create a dynamic playlist based on a tree node. So basically, it would be like an autoplaylist source but with all of the features of playlist tree.
You can already do that using @node (http://wiki.bowron.us/index.php/Playlist_Tree_Tutorial#.40node).
How would that automatically create a playlist? I understand that it would create a node in the tree, but you would still need to activate the node to load an actual playlist...unless I'm missing something.
Title: foo_playlist_tree
Post by: gfngfgf on 2007-01-24 01:41:16
gfngfgf
in the last version of playlist tree
cwbowron as Added notification callback, so other plugins can be notified of tree selections.

do you think it is possible to use this in album art panel ?
thanks

I received this request for foo_uie_albumart, and I'm willing to oblige, but I can't find any information about this notification callback in playlist tree.  I assume that I'll need to add something to album art panel's code to handle the notification, but again, I need to know what to handle.  Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2007-01-24 13:33:09
I received this request for foo_uie_albumart, and I'm willing to oblige, but I can't find any information about this notification callback in playlist tree.  I assume that I'll need to add something to album art panel's code to handle the notification, but again, I need to know what to handle.  Thanks.

Cool.

I haven't tested this exhaustively, but I believe it should work.  If you do find any problems I will fix them quickly.

You'll have to implement a node_select_callback, shown below, and handle the on_node_select function.  The pointer will be to a callback_node class item, defined below.  get_entries will get all the entries in the node as  a list, and they will be in the order they are in the tree but flattened into a list.

If you have any suggestions on how to make this more useful, please let me know.

Thanks.

Code: [Select]
class callback_node
{
public:
  virtual bool  get_entries( pfc::list_base_t<metadb_handle_ptr> & list ) const = 0;
  virtual bool  is_leaf() const    = 0;
  virtual bool  is_folder() const  = 0;
  virtual bool  is_query() const    = 0;
  virtual int    get_entry_count() const = 0;
  virtual void  get_name( pfc::string_base & out ) const = 0;
};

class NOVTABLE node_select_callback : public service_base
{
public:
  virtual void on_node_select( const callback_node * node ) = 0;

  FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(node_select_callback);
};

const GUID node_select_callback::class_guid =
{ 0x9c2ae3c3, 0xdc04, 0x4042, { 0xad, 0xf3, 0x88, 0x84, 0x11, 0x7b, 0x49, 0x55 } };

Title: foo_playlist_tree
Post by: Melomane on 2007-01-29 23:13:18
i have this query:

source: database
query: nothing
format:

%<album artist,artist>%|%album%|$if($strcmp(@format<$parent('%_displayname%',2)>,'Various Artists'),%track artist%) %title%

problem is not display %track artist% when name of parent folder(2) is Various Artists

how use $parent and %_displayname% ?

thanks

edit: ok work only in label or i am wrong?
Title: foo_playlist_tree
Post by: 45miles on 2007-01-30 09:33:46
Hi all,

i think this shows what i'm trying to do:

Code: [Select]
[b]Label:[/b]
PlayedThisMonth- @format<%_itemcount%> - @format<%_play_length%>

[b]Source:[/b]
@playlist<Temp>

[b]Criteria:[/b]
$substr(%last_played%,1,7)  IS $substr(%cwb_systemdate%,1,7)

[b]Format:[/b]
%title% - $substr(%last_played%,1,7) - $substr(%cwb_systemdate%,1,7)


Well, it just doesn't work. According to the "Format"-Line it shows me that both Strings are equal. But the Criteria won't work. I also tried "EQUAL" and "EQUALS" instead if "IS".

The Critera shown above gives me back all items in <Temp>, with "EQUALS" it gives me back 0 items.

Would be nice to have this. Can anyone help me?


rainer
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-30 15:45:13
Try this in Criteria:

"$substr(%last_played%,1,7)"  IS @format<$substr(%cwb_systemdate%,1,7)>
Title: foo_playlist_tree
Post by: 45miles on 2007-01-30 16:05:47
Try this in Criteria:

"$substr(%last_played%,1,7)"  IS @format<$substr(%cwb_systemdate%,1,7)>


jepp, works fine, this must be the one combination i never tried, and i tried much of them.

Can you explain in short when i have to use '"', when "@format<>" and when none of them?



Thanks a lot

rainer
Title: foo_playlist_tree
Post by: MiSP on 2007-01-30 20:53:37
I want to create a Genre query which lists the genres, and then the styles as sub-folders (if it exists) and artists and so on as subfolders there again. I've managed to do that without any problem. However, for songs that have multiple genres (e.g. Jazz; Ambient), the folder will show up as Jazz, Ambient. What I want to do is to list that song under both Jazz and Ambient. How do I do this?

Also, I want the sub-folders (styles) to list before the artists. As it looks now, it could be

- Jazz
--> Fourplay
--> Smooth Jazz

where fourplay is an artist and smooth jazz is a style (sub-folder) which contains more artists.
Title: foo_playlist_tree
Post by: fabiospark on 2007-01-31 06:57:10
I want to create a Genre query which lists the genres, and then the styles as sub-folders (if it exists) and artists and so on as subfolders there again. I've managed to do that without any problem. However, for songs that have multiple genres (e.g. Jazz; Ambient), the folder will show up as Jazz, Ambient. What I want to do is to list that song under both Jazz and Ambient. How do I do this?

Also, I want the sub-folders (styles) to list before the artists. As it looks now, it could be

- Jazz
--> Fourplay
--> Smooth Jazz

where fourplay is an artist and smooth jazz is a style (sub-folder) which contains more artists.

Use %<genre>% instead of %genre%.

That should make the tracks appear both under "jazz" and "ambient".
Title: foo_playlist_tree
Post by: q-stankovic on 2007-01-31 14:49:47

Try this in Criteria:

"$substr(%last_played%,1,7)"  IS @format<$substr(%cwb_systemdate%,1,7)>


jepp, works fine, this must be the one combination i never tried, and i tried much of them.

Can you explain in short when i have to use '"', when "@format<>" and when none of them?



Thanks a lot

rainer


You have to use "" if you are using Tagz before an operator like IS or HAS (that is part of the Query language and you can use that in each component that uses the language)

You have to use @format if you are using Tagz after an operator (that is playlist tree specific)
Title: foo_playlist_tree
Post by: MiSP on 2007-01-31 15:36:51
Use %<genre>% instead of %genre%.

This causes foobar to freeze.
Title: foo_playlist_tree
Post by: fabiospark on 2007-01-31 17:50:45

Use %<genre>% instead of %genre%.

This causes foobar to freeze.

How long?
Have you tried leaving it alone for a few minutes? (say 5)
How many tracks have you?
Title: foo_playlist_tree
Post by: Ono on 2007-01-31 21:41:34
Is @sum<> supposed to work in Format?  I can't get it to do anything.
Title: foo_playlist_tree
Post by: MiSP on 2007-01-31 23:09:06
How long?
Have you tried leaving it alone for a few minutes? (say 5)
How many tracks have you?

Fifteen minutes and counting, with no hard disk activity whatsoever. I have 3000-ish songs.
Title: foo_playlist_tree
Post by: fabiospark on 2007-02-01 18:13:46

How long?
Have you tried leaving it alone for a few minutes? (say 5)
How many tracks have you?

Fifteen minutes and counting, with no hard disk activity whatsoever. I have 3000-ish songs.

Do you mind posting your format string?
We could better try to guess.

Thanks.
Title: foo_playlist_tree
Post by: MiSP on 2007-02-01 18:18:22
This is what I have now.
Code: [Select]
$if(%genre%,
@icon<2>%genre%|[@icon<2>%style%|]@icon<29>%artist%|['['%date%']'] $if2(@icon<11>%album%,@icon<86><Unknown album>)|[$num(%tracknumber%,2) - ]%title%,
@icon<86>-<Unknown genre>-|$if(%artist%,@icon<29>%artist%|['['%date%']'] $if2(@icon<11>%album%,@icon<86><Unknown album>)|[$num(%tracknumber%,2) - ]%title%,@icon<86>-<Unknown artist>-|$if(%album%,@icon<11>%album%|[$num(%tracknumber%,2) - ]%title%,@icon<86>-<Unknown album>-|[$num(%tracknumber%,2) - ]%title%))
)
What I'm trying to do, is
Code: [Select]
$if(%genre%,
@icon<2>%<genre>%|[@icon<2>%<style>%|]@icon<29>%artist%|['['%date%']'] $if2(@icon<11>%album%,@icon<86><Unknown album>)|[$num(%tracknumber%,2) - ]%title%,
@icon<86>-<Unknown genre>-|$if(%artist%,@icon<29>%artist%|['['%date%']'] $if2(@icon<11>%album%,@icon<86><Unknown album>)|[$num(%tracknumber%,2) - ]%title%,@icon<86>-<Unknown artist>-|$if(%album%,@icon<11>%album%|[$num(%tracknumber%,2) - ]%title%,@icon<86>-<Unknown album>-|[$num(%tracknumber%,2) - ]%title%))
)
The only difference is %<genre>% and %<style>% at the beginning of line 2.
Title: foo_playlist_tree
Post by: cwbowron on 2007-02-01 18:53:26
The only difference is %<genre>% and %<style>% at the beginning of line 2.


There's some issues with using %<tag%> stuff inside of complex $if statements and such.  If you want to use the %<tag>% consider doing so without nesting it inside of an $if.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-01 19:03:18
It doesn't matter if you add "NOT mood MISSING AND" at the beginning or append "AND NOT mood MISSING" at the end. You don't have added this to the bug list in the wiki so far - so let me ask for any news about this. 


I think the issue is that meta_sep(x,y) doesn't return anything when the tag doesn't exist at all.

I think you're best bet is to rework the query into some sort of @format<$if($meta(x),bla bla bla,x MISSING)> type query.


I tried following:

mood IS @format<$if($playing('%mood%'),$playing('$meta_sep(mood, AND mood IS )'),qwert)> AND "$meta_num(mood)" IS @format<$playing('$meta_num(mood)')>

It is similar to old query but the string "$playing('$meta_sep(mood, AND mood IS )')" should only be applied if the playing track contains a mood tag. If not then the first part of the criteria is "mood IS qwert" - a value that doesn't exist.

But also here the same problem: If the playing track has no mood tag the whole database is displayed instead of nothing.

Before getting frustrated i like to ask again for help. 
Title: foo_playlist_tree
Post by: cwbowron on 2007-02-01 19:13:56
I tried following:

mood IS @format<$if($playing('%mood%'),$playing('$meta_sep(mood, AND mood IS )'),qwert)> AND "$meta_num(mood)" IS @format<$playing('$meta_num(mood)')>

It is similar to old query but the string "$playing('$meta_sep(mood, AND mood IS )')" should only be applied if the playing track contains a mood tag. If not then the first part of the criteria is "mood IS qwert" - a value that doesn't exist.

But also here the same problem: If the playing track has no mood tag the whole database is displayed instead of nothing.

Before getting frustrated i like to ask again for help. 


Try something like

@format<$if($playing('%mood%'),mood IS $playing('%mood%'),mood MISSING)>
Title: foo_playlist_tree
Post by: fabiospark on 2007-02-01 20:47:36
Is there any option not to have such a huge pts file (like in old PLT style)?
Mine is 92 megs and growing...

I remember having even more numerous and complicated queries with a 14KB pts file.

Maybe we can have the option to choose between huge pts file + fast FB start and tiny file + quite slow FB start. We usually launch FB once a day so it wouldn't be an issue, for us.

The giant file makes backups a pain in the neck.


Thanks.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-02 14:27:23
Try something like

@format<$if($playing('%mood%'),mood IS $playing('%mood%'),mood MISSING)>


Maybe this query is going to work - but it won't do what i like. Let me give an example: The playing mood is "hard, aggressive, militant" - but the criteria won't give back all the songs with mood "aggressive, hard, militant" because the single entries of the multiple tag are sorted in a different way.

So it is time to get frustrated! 
Title: foo_playlist_tree
Post by: cwbowron on 2007-02-02 14:36:05


Try something like

@format<$if($playing('%mood%'),mood IS $playing('%mood%'),mood MISSING)>


Maybe this query is going to work - but it won't do what i like. Let me give an example: The playing mood is "hard, aggressive, militant" - but the criteria won't give back all the songs with mood "aggressive, hard, militant" because the single entries of the multiple tag are sorted in a different way.

So it is time to get frustrated! 


I get that.  But you can use what I put in as a basis for getting what you want.  Make the mood IS $playing part more complex and add in whatever $meta_sep stuff you need.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-02 14:56:20
Oh?

Does that mean the criteria accepts just one @format<> expresssion? Did not know that!
I will try that and report the result.

Thanks!
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-04 16:29:16
No, it doesn't work. I think there is a bug in processing an $if-function. Here is the way how i came to the conclusion:

At thirst i thought the playlist_gen_query language doesn't like all the $meta-functions because the following simple criteria (for purpose of testing)seemed to work:

@format<$if($playing('%artist%'), artist IS $playing('%artist%'), artist MISSING)>



But if you change the else part of $if function to get this:


@format<$if($playing('%artist%'), artist IS $playing('%artist%'), artist HAS ea)>


you should expect that f.e. the Beastie Boys are shown if playing track has no artist tag. But instead of that nothing is shown. I think the else part is never processed.
Title: foo_playlist_tree
Post by: cwbowron on 2007-02-04 16:52:43
No, it doesn't work. I think there is a bug in processing an $if-function. Here is the way how i came to the conclusion:


I think its more likely a bug in the way the $playing() function works.  Test what shows up witha  $playing() function when the song doesnt have the tag, and change your $if function to a test of that.... I dont have my foobar2000 handy, but my guess is that $playing is returning an empty string so just change your $if() to something like $greater($length($playing('bla')),0)
Title: foo_playlist_tree
Post by: Melomane on 2007-02-04 20:04:15
i use this:

$if($strcmp($playing('%bla%'),?),A,B))
Title: foo_playlist_tree
Post by: Ono on 2007-02-06 01:13:06
Is it possible to include hidden text (using $hidetext() ) in display name sorting.

I have some text at the start of fuction but I only want to sort by it, not show it.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-06 12:46:02
I think its more likely a bug in the way the $playing() function works.  Test what shows up witha  $playing() function when the song doesnt have the tag, and change your $if function to a test of that.... I dont have my foobar2000 handy, but my guess is that $playing is returning an empty string so just change your $if() to something like $greater($length($playing('bla')),0)



I am not really sure what you mean - however i made the following test:

@format<$if($greater($len($playing('%artist%')),0), artist HAS dmc, artist HAS eas)>


If the playing track does not contain an artist tag the length of "$playing('%artist%')" is grater  "0" wich seems to be correct because "?" is also counted.
Title: foo_playlist_tree
Post by: cwbowron on 2007-02-06 13:21:31

I think its more likely a bug in the way the $playing() function works.  Test what shows up witha  $playing() function when the song doesnt have the tag, and change your $if function to a test of that.... I dont have my foobar2000 handy, but my guess is that $playing is returning an empty string so just change your $if() to something like $greater($length($playing('bla')),0)



I am not really sure what you mean - however i made the following test:

@format<$if($greater($len($playing('%artist%')),0), artist HAS dmc, artist HAS eas)>


If the playing track does not contain an artist tag the length of "$playing('%artist%')" is grater  "0" wich seems to be correct because "?" is also counted.


Use $if($strcmp($playing('%bla%'),?),A,B)) like Melomane suggested.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-09 11:38:21
Use $if($strcmp($playing('%bla%'),?),A,B)) like Melomane suggested.


It works!! 

So the problem was that if no tag exists $playing('tag') gives back a "?" if it is a string but doesn't give back nothing (neither true or false) if it is a logical statement?
Title: foo_playlist_tree
Post by: Kiteroa on 2007-02-15 07:13:08
When I try to use this plug-in and I choose any of the menu options which are not greyed-out nothing happens!

How do I start using this?



Problem solved: you need the Playlist Tree panel open so the PLaylist Tree menu options have any effect!

Looking forward to using this plug-in.
Title: foo_playlist_tree
Post by: barry123 on 2007-02-16 17:08:40
is it possible to make an Library tree?
Title: foo_playlist_tree
Post by: fabiospark on 2007-02-16 17:36:17
is it possible to make an Library tree?

Can you explain better?
Title: foo_playlist_tree
Post by: barry123 on 2007-02-16 17:59:55
My Media Libary is not integrated in Foobar.
I click on the toolbar Libary - Album list .
But I want my Libary integrated on the left side like this.

(http://xs412.xs.to/xs412/07075/foobar2.jpg)
Title: foo_playlist_tree
Post by: q-stankovic on 2007-02-16 18:09:26
You are in the wrong thread! 

That is not Playlist Tree but Album List. However, if you like to place a panel in your ColumnsUi go to preferences ->View->ColimnsUi to create your layout. If you prefer Album List be sure to install the panel version.
Title: foo_playlist_tree
Post by: barry123 on 2007-02-16 18:20:57
Sorry for wrong thread but I can't find the Album list topic.
Anyway, I go to, preference - Display, Colums UI, right?
I click tab Layout.
When I right click on vertical splitter, Insert panel, I dont see Album list in Panels, Playlist views, Splitters and Toolbar.

I use foo_ui_columns.dll
and
foo_uie_quicksearch.dll


EDIT.
sorry it's a little confusing for me, but I think I fixed it, I use foo_uie_albumlist.dll now.
Title: foo_playlist_tree
Post by: gob on 2007-02-16 19:27:12
is it possible to have different font sizes for playlist tree panels? that would make switching from desktop to tv mode easy with a remote.
Title: foo_playlist_tree
Post by: Kiteroa on 2007-02-17 01:11:27
I want to use this plug-in to show lists of other versions of teh same track, other albums/tracks by the same artist etc. .


Is it possible to test against tags other than by IS or HAS?

I am looking for a more fuzzy sort of matching so that, for example, Fred Smith and Smith,Fred would match!

Maybe something like the HAS MOST OF option in the databse search plug-in?
Title: foo_playlist_tree
Post by: wolfsong on 2007-02-20 07:05:54
Is there a maximum megs allowed in a query? I'm tryin to fill a 15 GB but if I specify 15000 megs I get no results back.
Title: foo_playlist_tree
Post by: Capric0rn on 2007-03-01 18:31:57
Can this plugin use 256 colors for the icons?
I used this plugin before and back them it supported even XP icons.
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-12 19:47:33
I just uploaded a new Beta Version of playlist tree.  Please read the readme.txt file included in the zip for installation instructions.

It includes a new feature in the form of an embedded version of the scheme programming language for describing queries.  The basics are you set the source of the query to "@scheme" and put the scheme code in the "Format" field.

Here's an example that will add every database entry in artists\album\title:
Code: [Select]
(for-each-db-entry
(lambda (handle)
   (add-node
    handle
    (list (format-title handle "%artist%")
      (format-title handle "%album%")
      (format-title handle "%title%")))))


The edit box for the format field is not a good place for editting scheme code, so I suggest getting Emacs and editting there and pasting into the format box.

More examples can be found here (http://wiki.bowron.us/index.php/Example_Queries#.40scheme_Queries).

This is not a feature for beginner users, its for advanced users who know a little bit about programming.  Other than posting occasional snippets of code on the above wiki page, I will not help users build fancy queries.

Playlist tree adds some scheme primitive function which are described on the wiki at http://wiki.bowron.us/index.php/Template:F...Embedded_Scheme (http://wiki.bowron.us/index.php/Template:Foobar2000%3a%50laylist_Tree#Embedded_Scheme)

From the changelog:
Quote
*  better selection actions options -> fixed the interaction with foo_utils
    * mzscheme integration
          o the formatting will now be a real language with looping and other fancy features.
          o powerful scripting for power users.
          o (display ...) and (print ...) both output to foobar2000 console
          o Sample query:
Title: foo_playlist_tree
Post by: Chaser on 2007-03-12 22:16:11
Thank you for the update!
Title: foo_playlist_tree
Post by: aliendesaster on 2007-03-12 23:23:53
Crash occured when removing one by one all queries and folders of a playtree in a docked panel.
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 015EA911h
Access violation, operation: read, address: 039171B4h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (015EA911h):
015EA8D1h:  00 51 FF D6 6A 10 FF 15 CC 61 62 01 66 85 C0 68
015EA8E1h:  90 81 62 01 68 90 81 62 01 79 0D 8B 15 10 07 64
015EA8F1h:  01 B9 10 07 64 01 EB 0B 8B 15 1C 02 64 01 B9 1C
015EA901h:  02 64 01 8B 42 04 FF D0 50 33 C9 E8 9F FD 02 00
015EA911h:  8B 0F 83 C4 0C 6A 00 6A 08 68 0B 11 00 00 51 FF
015EA921h:  D6 B8 01 00 00 00 5F 5E 5B 8B E5 5D C2 10 00 E8
015EA931h:  1B 14 00 00 85 C0 74 0B 8D 54 24 0C 52 50 E8 1C
015EA941h:  0C 00 00 B8 01 00 00 00 5F 5E 5B 8B E5 5D C2 10
Stack (0012F5B4h):
0012F594h:  00B5E530 7C9D93C0 77F443DD 7C9D93C0
0012F5A4h:  00000004 00000000 00B5DA3C 00000000
0012F5B4h:  01763EB8 01628190 01628190 0012F67C
0012F5C4h:  015EA550 00000000 0000029D 00000233
0012F5D4h:  00000067 00000016 00000004 00157F28
0012F5E4h:  00000004 00157F28 00000002 00000000
0012F5F4h:  00000000 00000000 00000000 00000000
0012F604h:  00000000 03917180 00000000 77D1C331
0012F614h:  0012F640 77D18734 0050007E 0000007B
0012F624h:  00360154 0233029D 015EA550 DCBAABCD
0012F634h:  00000000 0012F67C 015EA550 0012F6AC
0012F644h:  77D2418D 015EA550 0050007E 0000007B
0012F654h:  00360154 0233029D 0000007B 0050007E
0012F664h:  0074BEE0 00000014 00000001 00000000
0012F674h:  00000000 00000010 00000000 00DF32EB
0012F684h:  00000000 00000001 00000000 00000000
0012F694h:  0012F65C 0012F1D8 0012F7B4 77D40467
0012F6A4h:  77D241B0 00000000 0012F6F4 77D23FD9
0012F6B4h:  00000000 015EA550 0050007E 0000007B
0012F6C4h:  00360154 0233029D 0074BEF4 0012F6FC
Registers:
EAX: 00000001, EBX: 03917180, ECX: 1531D114, EDX: 016282FB
ESI: 77D1B8BA, EDI: 039171B4, EBP: 0012F614, ESP: 0012F5B4
Crash location: "foo_playlist_tree", loaded at 015E0000h - 01651000h

Loaded modules:
foobar2000                      loaded at 00400000h - 004F3000h
ntdll                            loaded at 7C910000h - 7C9C7000h
kernel32                        loaded at 7C800000h - 7C907000h
COMCTL32                        loaded at 773A0000h - 774A3000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4A000h
RPCRT4                          loaded at 77E50000h - 77EE1000h
GDI32                            loaded at 77EF0000h - 77F37000h
USER32                          loaded at 77D10000h - 77DA0000h
SHLWAPI                          loaded at 77F40000h - 77FB7000h
SHELL32                          loaded at 7C9D0000h - 7D4E4000h
ole32                            loaded at 774B0000h - 775ED000h
shared                          loaded at 10000000h - 10029000h
comdlg32                        loaded at 76350000h - 763A6000h
UxTheme                          loaded at 5B0F0000h - 5B128000h
foo_ac3                          loaded at 003C0000h - 003EB000h
foo_adpcm                        loaded at 00A40000h - 00A8F000h
foo_asap                        loaded at 5FFF0000h - 6000B000h
MSVCR80                          loaded at 78130000h - 781CB000h
foo_cdda                        loaded at 00AD0000h - 00B06000h
foo_common                      loaded at 00B30000h - 00B6A000h
foo_converter                    loaded at 00B90000h - 00BF9000h
foo_cuesheet_creator            loaded at 00C20000h - 00C4D000h
foo_cwb_hooks                    loaded at 00C70000h - 00CA5000h
foo_discogs                      loaded at 00CD0000h - 00D42000h
gdiplus                          loaded at 4EBA0000h - 4ED43000h
WS2_32                          loaded at 71A10000h - 71A27000h
WS2HELP                          loaded at 71A00000h - 71A08000h
WINMM                            loaded at 76AF0000h - 76B1E000h
foo_dockable_panels              loaded at 00DF0000h - 00E24000h
foo_dsp_std                      loaded at 00E50000h - 00E91000h
foo_freedb2                      loaded at 00EC0000h - 00F00000h
foo_input_dts                    loaded at 00F20000h - 00F85000h
foo_input_monkey                loaded at 00FB0000h - 00FF9000h
foo_input_mslive                loaded at 01020000h - 01047000h
WMVCore                          loaded at 01060000h - 012BD000h
WMASF                            loaded at 070E0000h - 07119000h
OLEAUT32                        loaded at 770F0000h - 7717C000h
foo_input_std                    loaded at 012C0000h - 013D4000h
foo_lnk                          loaded at 01400000h - 01419000h
foo_lyricsdb                    loaded at 01440000h - 0145E000h
MSVCP80                          loaded at 7C420000h - 7C4A7000h
WININET                          loaded at 77180000h - 7722A000h
CRYPT32                          loaded at 77A50000h - 77AE5000h
MSASN1                          loaded at 77AF0000h - 77B02000h
foo_masstag                      loaded at 01470000h - 014C0000h
foo_osd                          loaded at 014E0000h - 01512000h
foo_playcount                    loaded at 01550000h - 01578000h
foo_playlist_length              loaded at 015A0000h - 015BF000h
foo_playlist_tree                loaded at 015E0000h - 01651000h
libmzsch360_000                  loaded at 10400000h - 105D0000h
WSOCK32                          loaded at 71A30000h - 71A3A000h
libmzgc360_000                  loaded at 01680000h - 01724000h
foo_random                      loaded at 01770000h - 017AF000h
foo_rgscan                      loaded at 017D0000h - 01818000h
foo_sic                          loaded at 01840000h - 01899000h
foo_skip                        loaded at 019C0000h - 019DB000h
foo_uie_albumart                loaded at 01A00000h - 01A3C000h
foo_uie_console                  loaded at 01A60000h - 01A7B000h
foo_uie_lyrics_panel            loaded at 01AA0000h - 01B08000h
foo_uie_quicksearch              loaded at 01B30000h - 01B76000h
foo_uie_tabs                    loaded at 01BA0000h - 01BCA000h
foo_uie_trackinfo_mod            loaded at 01BF0000h - 01C46000h
foo_uie_vis_egoh                loaded at 01C60000h - 01C7D000h
foo_ui_columns                  loaded at 01C90000h - 01D27000h
foo_ui_std                      loaded at 01D50000h - 01DA7000h
foo_verifier                    loaded at 01DD0000h - 01E00000h
appHelp                          loaded at 77B10000h - 77B32000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                          loaded at 77010000h - 770E5000h
VERSION                          loaded at 77BD0000h - 77BD8000h
ntfslink                        loaded at 021F0000h - 0222D000h
cscui                            loaded at 02450000h - 02503000h
CSCDLL                          loaded at 765A0000h - 765BD000h
SSSensor                        loaded at 062D0000h - 062E5000h
xpsp2res                        loaded at 20000000h - 2030E000h
browseui                        loaded at 75F20000h - 7601E000h
USERENV                          loaded at 76620000h - 766D5000h
SETUPAPI                        loaded at 778F0000h - 77A4A000h
ntshrui                          loaded at 76940000h - 76966000h
ATL                              loaded at 76AD0000h - 76AE1000h
NETAPI32                        loaded at 597D0000h - 59824000h
shdocvw                          loaded at 03340000h - 03543000h
CRYPTUI                          loaded at 76880000h - 76912000h
WINTRUST                        loaded at 76BF0000h - 76C1E000h
IMAGEHLP                        loaded at 76C50000h - 76C78000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
DBGHELP                          loaded at 59DD0000h - 59E71000h

Stack dump analysis:
Address: 015EA550h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D1C331h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetRectEmpty" (+0000004Fh)
Address: 77D18734h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000006Dh)
Address: 015EA550h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 015EA550h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D2418Dh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "PrivateExtractIconExW" (+000002B2h)
Address: 015EA550h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 00DF32EBh, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D241B0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "PrivateExtractIconExW" (+000002D5h)
Address: 77D23FD9h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "PrivateExtractIconExW" (+000000FEh)
Address: 015EA550h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D188D1h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D184FCh, location: "USER32", loaded at 77D10000h - 77DA0000h
Address: 77D185A4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Address: 77D24204h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefDlgProcW" (+00000022h)
Address: 00DF32EBh, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 00DF3230h, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 77D18734h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000006Dh)
Address: 00DF3230h, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 00DF3230h, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 77D18816h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000014Fh)
Address: 00DF3230h, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D18830h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000169h)
Address: 77D1B89Bh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetParent" (+0000016Ch)
Address: 00DF3230h, location: "foo_dockable_panels", loaded at 00DF0000h - 00E24000h
Address: 77D1B903h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SendMessageW" (+00000049h)
Address: 773D9F51h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E0B1h)
Address: 773DAB5Fh, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001ECBFh)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 77D18BD9h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowThreadProcessId" (+00000159h)
Address: 77D1885Ah, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000193h)
Address: 77D1882Ah, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000163h)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 77D18734h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000006Dh)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 77D18816h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000014Fh)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D18830h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000169h)
Address: 77D1C63Fh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsWindowUnicode" (+000000A1h)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 77D1C665h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CallWindowProcW" (+0000001Bh)
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 015EA3ABh, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 773DA549h, location: "COMCTL32", loaded at 773A0000h - 774A3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 015EA1B0h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 062D25C0h, location: "SSSensor", loaded at 062D0000h - 062E5000h
Symbol: "SsCreateScreenSaverSensor" (+00000090h)
Address: 77D318A2h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "UnhookWinEvent" (+00000025h)
Address: 77D3E185h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "User32InitializeImmEntryTable" (+00000E18h)
Address: 77D3E162h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "User32InitializeImmEntryTable" (+00000DF5h)
Address: 01623368h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D18734h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000006Dh)
Address: 015EA1B0h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 015EA1B0h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D18816h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000014Fh)
Address: 015EA1B0h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D18830h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000169h)
Address: 77D189CDh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 015EA1B0h, location: "foo_playlist_tree", loaded at 015E0000h - 01651000h
Address: 77D1DAEAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 77D2E04Ah, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsDialogMessageW" (+0000008Eh)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D189F0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D18A10h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 004301ADh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 10002DD2h, location: "shared", loaded at 10000000h - 10029000h
Symbol: "uCallStackTracker::uCallStackTracker" (+00000032h)
Address: 004C0560h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00D1DAEAh, location: "foo_discogs", loaded at 00CD0000h - 00D42000h
Address: 00430CF3h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004BC44Ch, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004C70FCh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004C70FCh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 7C920732h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004C70E0h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 7C920732h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C920732h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C921538h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C921596h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004E41B0h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C884780h, location: "kernel32", loaded at 7C800000h - 7C907000h
Address: 10003251h, location: "shared", loaded at 10000000h - 10029000h
Symbol: "uGetCallStackPath" (+00000451h)
Address: 004E3E80h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C9206F0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C9206F0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 00491D18h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004E4230h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 0040CA96h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004480F4h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00407DE2h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00497FFDh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004C0570h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 10002D87h, location: "shared", loaded at 10000000h - 10029000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000A7h)
Address: 004C0570h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004AF5D4h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004C0570h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00430EFAh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004E0928h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 0049729Ah, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004935BCh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004935B6h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004B49E4h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004B34A0h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004E4228h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00496FE0h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004AF9C8h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00496154h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 00496FE0h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 7C816FD7h, location: "kernel32", loaded at 7C800000h - 7C907000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C839A10h, location: "kernel32", loaded at 7C800000h - 7C907000h
Symbol: "ValidateLocale" (+000002B0h)
Address: 7C816FE0h, location: "kernel32", loaded at 7C800000h - 7C907000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 004961BDh, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 01C6C0AAh, location: "foo_uie_vis_egoh", loaded at 01C60000h - 01C7D000h
Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 003D006Eh, location: "foo_ac3", loaded at 003C0000h - 003EB000h
Address: 003D0065h, location: "foo_ac3", loaded at 003C0000h - 003EB000h
Address: 003D006Eh, location: "foo_ac3", loaded at 003C0000h - 003EB000h
Address: 01C6C0AAh, location: "foo_uie_vis_egoh", loaded at 01C60000h - 01C7D000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 003D0065h, location: "foo_ac3", loaded at 003C0000h - 003EB000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 004F3000h

Version info:
foobar2000 v0.9.4.2
UNICODE

Additional info:
Standard Input Array 1.0  (foo_input_std)
BRR decoder and converter 0.7  (foo_adpcm)
Lyrics panel 0.34.1  (foo_uie_lyrics_panel)
Console panel 0.2.1  (foo_uie_console)
Dockable Panels 1.0.5 [Dec  4 2006 - 09:04:00]  (foo_dockable_panels)
On-Screen Display 1.52  (foo_osd)
mslive 0.2  (foo_input_mslive)
File Integrity Verifier 1.0.1  (foo_verifier)
Egoh Spectrum analyser (uie) 1.1.2  (foo_uie_vis_egoh)
Tabbed panel modified 0.2.5  (foo_uie_tabs)
CD Audio Decoder 2.1.1  (foo_cdda)
DTS decoder 0.1.7  (foo_input_dts)
AC3 decoder 0.7  (foo_ac3)
Discogs Tagger 0.92  (foo_discogs)
foosic music database 1.0 beta 12  (foo_sic)
Playlist Tree Panel 3.0.BETA_0 [Mar 12 2007 - 15:29:48]  (foo_playlist_tree)
freedb Tagger 0.5.2a  (foo_freedb2)
Masstagger 1.6  (foo_masstag)
Cuesheet Creator 0.4.5  (foo_cuesheet_creator)
Track info panel mod 0.8.0 beta [Jan  5 2007 - 13:36:12]  (foo_uie_trackinfo_mod)
ReplayGain Scanner 2.0.2  (foo_rgscan)
Playlist length 1.0  (foo_playlist_length)
Album Art Panel 0.2.6  (foo_uie_albumart)
Interplay ACM decoder 1.0  (foo_adpcm)
Playback Statistics 1.3.2  (foo_playcount)
Monkey's Audio decoder 2.1.1  (foo_input_monkey)
Quick Search Toolbar 2.8k  (foo_uie_quicksearch)
Randomized playlist entry 1.2.3  (foo_random)
Default User Interface 0.9acc  (foo_ui_std)
OKI-ADPCM decoder 0.14  (foo_adpcm)
XA ADPCM decoder 1.1  (foo_adpcm)
FLAC Decoder 1.1.0  (foo_input_std)
Columns UI 0.1.3 beta 1v7  (foo_ui_columns)
Standard DSP array 1.0  (foo_dsp_std)
GCN DSP decoder 1.2  (foo_adpcm)
cwbowron's title format hooks 1.1.0beta [Dec  1 2006 - 13:47:34]  (foo_cwb_hooks)
Common services 0.1  (foo_common)
ASAP 0.2.1  (foo_asap)
Converter 1.0.1  (foo_converter)
WMA Decoder 1.1  (foo_input_std)
kode's ADPCM decoders 1.2  (foo_adpcm)
RAC decoder 1.0  (foo_adpcm)
Shell Link Resolver 1.2  (foo_lnk)
foo_skip 0.2  (foo_skip)
foobar2000 core 0.9.4.2  (Core)
ADX decoder 1.0  (foo_adpcm)
foo_lyricsdb 0.0.7 beta 4  (foo_lyricsdb)

Title: foo_playlist_tree
Post by: Kiteroa on 2007-03-13 00:14:07
Great upgrade! Works fine for me.

1).  I don't get 3 refresh options as per your screenshots; only the "automatically refresh" check box, as in the previous version.

2). Any chance of reading and setting PVARs from within PTP?

3). If the query screeen was bigger you could have a bigger format box! (Big enough to edit simple schemes in situ.)

I was already using PTP to show other versions of the now playing song, other tracks by the same artist and other works by the same composer! Looking forward to using the new features ....

Thanks.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-03-13 11:41:39
This is not a feature for beginner users, its for advanced users who know a little bit about programming.  Other than posting occasional snippets of code on the above wiki page, I will not help users build fancy queries.


I consider myself as advanced user of playlist tree but unfortunately i have no programming experience. Can you give me a link that would lead me to a tutorial of this language?

My most important question before i start learning a new language: What are the advantages of it?
Is there a speed improvement (on autorefresh for example)? Can i create formats that are not possible with the  usual way using TAGZ?
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-13 12:30:26


This is not a feature for beginner users, its for advanced users who know a little bit about programming.  Other than posting occasional snippets of code on the above wiki page, I will not help users build fancy queries.
My most important question before i start learning a new language: What are the advantages of it?
Is there a speed improvement (on autorefresh for example)? Can i create formats that are not possible with the  usual way using TAGZ?


There is probably not a speed improvement (in fact, it probably takes a little longer using a @scheme query) but, yes it is possible to generate formats that are not possible with TAGZ which is the entire reason I put in the scheme interpreter.  The biggest asset will be using the (meta-list ... ... ) function for multiple value tags.
Title: foo_playlist_tree
Post by: q-stankovic on 2007-03-13 22:04:01
Can you give me a link that would lead me to a tutorial of this language?


 
I had a look on the site wich link i found in your readme-file!  Now i know that this is another dimension than Playlist_gen_query or TAGZ. I think i will copy & paste other peoples formats.
Title: foo_playlist_tree
Post by: ozstrike on 2007-03-13 22:28:11
I have aproblem, and I'm not sure whether it's a problem with Playlist tree or browser.
I'm using browser and playlist tree in order for me to be able to browse my files (winamp-style), and on double click, it sends files to the library playlist.
Now, it would be really handy if the library playlist could be automatically renamed to whatever the album the currently playing files are from. However, I can't figure out if it's possible or not, or how to do it.
Any tips?
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-14 17:33:27
Great upgrade! Works fine for me.

1).  I don't get 3 refresh options as per your screenshots; only the "automatically refresh" check box, as in the previous version.

2). Any chance of reading and setting PVARs from within PTP?

3). If the query screeen was bigger you could have a bigger format box! (Big enough to edit simple schemes in situ.)

I was already using PTP to show other versions of the now playing song, other tracks by the same artist and other works by the same composer! Looking forward to using the new features ....

Thanks.


1 - that's normal.  Some of those screenshots are from previous version
2 - what do you mean by PVAR?
3 - In the dev version, I've increased the size in the version and made a little bit easy to edit the code in the dialog, so that will be in the next released version
Title: foo_playlist_tree
Post by: Kiteroa on 2007-03-14 21:31:20

Great upgrade! Works fine for me.

1).  I don't get 3 refresh options as per your screenshots; only the "automatically refresh" check box, as in the previous version.

2). Any chance of reading and setting PVARs from within PTP?

3). If the query screeen was bigger you could have a bigger format box! (Big enough to edit simple schemes in situ.)

I was already using PTP to show other versions of the now playing song, other tracks by the same artist and other works by the same composer! Looking forward to using the new features ....

Thanks.


1 - that's normal.  Some of those screenshots are from previous version
2 - what do you mean by PVAR?
3 - In the dev version, I've increased the size in the version and made a little bit easy to edit the code in the dialog, so that will be in the next released version




Thanks.

$setpvar and $getpvar are functions in Panels_ui (including Track Display and Single Column Playlist) which set and get variables which are accessible between panels and which persist between refreshes. It would be particularly useful to me (at least) if you could set a variable in PTP which could be read and used in a Track Display!
Title: foo_playlist_tree
Post by: VeaaC on 2007-03-15 15:07:36
I want to sort my artists by playtime using this code:

Code: [Select]
@quote<@format<%_play_length%>> %artist%|%album%[-%disc%]-%tracknumber%-%title%


But I'm a bit confused on how to sort this.
The lists contains entries like "1:40", "13:45:12" and "1:50:01". Is it possible to format this in a way that it gets sorted right?
Title: foo_playlist_tree
Post by: theprash on 2007-03-19 19:13:27
I have a feature request:

If I create a query with source @playlists and make it automatically refreshing then I am essentially browsing through normal Foobar2000 playlists. When I click on these folders it would be great if this actually changed the active playlist in columns ui as opposed to just reproducing the contents of the playlist in a browsing playlist.

Of course, this would only really make sense if used with an automatically refreshing @playlists query. The reason I would find this useful is that I could go to a playlist in the tree, start it playing and switch playlists and have the playlist continue while I browse through others.

Why don't I just use the playlist switcher, I hear you ask? Because the playlist switcher doesn't arrange playlists alphabetically or allow me to filter any playlists out.

Please let me know if you think this is worth implementing as an option and how difficult it would be do it.

Thanks.

EDIT:
Also, if a playlist is removed from a query with source @playlists, could it delete the foobar2000 playlist?
Title: foo_playlist_tree
Post by: noorotic on 2007-03-20 11:55:08
About the sorting by artist duration, try using

$pad_right(time,10) %artist%|whatever

This works fine for me, although it goes in ascending order.

Here's the code example:

Code: [Select]
@quote<@format<$pad_right(%_play_length%,10) %artist%  
|%album%|$num(%tracknumber%,2) - ]%title%

And on activating playlists (the other question) that is what the library playlist (special type) accomplishes, more or less.  Do some playing around with the Library Playlist, and see if you can get what you want.

Best
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-20 19:09:05
New release. 3.0.beta1

Not much new unless you are using the new scheme queries.

Quote
* Minor layout changes to query options dialog
* scheme preferences page with a scheme startup option where you can put code that will be evaluated before any scheme functions are used... allows you to put in global define's and such.
* new functions
          o (add-query-node label source criteria format [population-order] [sortp] [max-n] [max-type]) => returns a tree-node which can be used in refresh-query, max-type can be one of tree-max-tracks, tree-max-minutes, tree-max-megs, tree-max-subfolders
          o (refresh-query query-node)


Code: [Select]
;;; Example of a nested query
(let ((source "@database")
      (format "%artist% - %title% '('%rating%')'")
      (pop-sort "$rand()")
      (max 60)
      (max-type tree-max-minutes)
      (not-recent
       "(\"$cwb_datediff(%last_played%,%cwb_systemdate%)\" GREATER 7 OR NOT %last_played% HAS 20)"))
  (for-each
   (lambda (label criteria)
     (refresh-query
      (add-query-node label source criteria format pop-sort #f max max-type)))
   (list "Great Stuff" "Good Stuff" "Decent Stuff")
   (map (lambda (c)
      (string-append c " AND " not-recent))
    (list "rating GREATER 4" "rating GREATER 3" "rating GREATER 2"))))
Title: foo_playlist_tree
Post by: q-stankovic on 2007-03-22 12:21:20
I noticed in the wiki that you suggested to use the new @scheme functions to create complicated formats with multiple tags: hopefully you will give one example.

However, i think one issue should be solved: It is not necessary anymore to realize the possibility to apply string functions on multiple tags but as long as PT's %<tag>% expression doesn't support field remapping they should work in a simple $if-function to realize something simple like: $if($meta(album artist),%<album artist>%,%<artist>%)
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-22 14:51:18
I noticed in the wiki that you suggested to use the new @scheme functions to create complicated formats with multiple tags: hopefully you will give one example.


Here's a small script that will loop over all the genres and artists of the playing song to create a
GENRE\ARTIST\TITLE tree.

Code: [Select]
(let ((handle (now-playing)))
  (for-each
   (lambda (genre)
     (for-each
      (lambda (artist)
    (let ((title (format-title handle "%title%")))
      (add-node handle (list genre artist title))))
      (meta-list handle "artist")))
   (meta-list handle "genre")))
Title: foo_playlist_tree
Post by: tberman333 on 2007-03-22 16:26:05
I am trying to find all of the tracks I have that are tagged incorrectly.  One tag mistake I made int eh past was to add an %album artist% tag to every track (instead of just to various artist albums).

To fix this, I am trying to search for all tracks where the %album artist% is equal to the %artist%.

In doing that, I created a query like this:

Source = @database
Criteria = artist IS @format<$meta(album artist)>

This query is returning every track in my database (including tracks that don't have an %album artist% tag and tracks where the %album artist% is NOT equal to the %artist%.

Does anyone know why this query will not work?  Also, is there a way to accomplish what I want in PT?

Thanks for the help!
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-22 17:29:37
I am trying to find all of the tracks I have that are tagged incorrectly.  One tag mistake I made int eh past was to add an %album artist% tag to every track (instead of just to various artist albums).

To fix this, I am trying to search for all tracks where the %album artist% is equal to the %artist%.

Does anyone know why this query will not work?  Also, is there a way to accomplish what I want in PT?


You can do this using the built in scheme language interpreter...

Set the "Source" to "@scheme" and the "Format" to:

Code: [Select]
(for-each-db-entry
(lambda (handle)
   (let ((artist (format-title handle "$meta(artist)"))
     (album-artist (format-title handle "$meta(album artist)")))
     (if (and (> (string-length artist) 0) (equal? artist album-artist))
     (let ((title (format-title handle "%title%")))
       (add-node handle (list artist title)))))))
Title: foo_playlist_tree
Post by: tberman333 on 2007-03-22 19:35:42

I am trying to find all of the tracks I have that are tagged incorrectly.  One tag mistake I made int eh past was to add an %album artist% tag to every track (instead of just to various artist albums).

To fix this, I am trying to search for all tracks where the %album artist% is equal to the %artist%.

Does anyone know why this query will not work?  Also, is there a way to accomplish what I want in PT?


You can do this using the built in scheme language interpreter...

Set the "Source" to "@scheme" and the "Format" to:

Code: [Select]
(for-each-db-entry
(lambda (handle)
   (let ((artist (format-title handle "$meta(artist)"))
     (album-artist (format-title handle "$meta(album artist)")))
     (if (and (> (string-length artist) 0) (equal? artist album-artist))
     (let ((title (format-title handle "%title%")))
       (add-node handle (list artist title)))))))




That worked perfectly!  Thanks for the help!!!!!
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-23 20:46:30
New version - Should work better with panels ui.

Quote
#  fixed a DestroyWindow problem - fixes? problem with panel ui interaction - thanks terrestrial
# (handle-apply function path [subsong-index])
# (file-creation filename) => retusn the file creation in seconds, same scale as the mzScheme (current-seconds) results.
# (file-last-access filename) => see file-creation
# (file-last-write filename) => see file-creation
Title: foo_playlist_tree
Post by: Chaser on 2007-03-24 10:35:21
Quote
Forbidden
You don't have permission to access /foo_playlist_tree.zip on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.


could you please fix this?
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-24 16:17:52
Permission problem has been fixed again.  I do not know of its a problem with my hosting or if someone hacked my ftp server, but it once again is working.
Title: foo_playlist_tree
Post by: noorotic on 2007-03-25 11:26:15
@Chris (or Mr. Bowron)... I am using PTP in my PanelsUI, regardless of whether it causes flickers or not (worth it)... but my observation last night while working with it... it seems to me that Yes, the flickering/redraw problems are largely if not entirely corrected.  I really appreciate this!

 

And I have read some of the mzscheme coding, and will be playing with it sometime soon.  My concentration levels are frequently unhappily low, and it does take some concentration. 

One final note/question, would be, is there a page or location on your wiki (I have not found one) or would it not be helpful to have it, where useful and curious queries and formatting strings could be submitted?  Just a thought.

 

Thanks for your efforts.
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-25 13:38:32
One final note/question, would be, is there a page or location on your wiki (I have not found one) or would it not be helpful to have it, where useful and curious queries and formatting strings could be submitted?  Just a thought.


Yes, at one point I had my wiki open, but I got a lot of advertising spam, so I closed it so only I can edit the pages.  If you have queries you would like to share, you can share them here or on my forum http://www.bowron.us/smf/ (http://www.bowron.us/smf/)... If I see stuff posted here that I think will have general appeal, I will post them to the wiki myself.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-25 17:18:55
Temporary backup server:

http://msu.edu/~bowronch/foobar/foo_playlist_tree.zip (http://msu.edu/~bowronch/foobar/foo_playlist_tree.zip)
Title: foo_playlist_tree
Post by: ciaran on 2007-03-31 19:39:43
Is there any way to do bitwise operations in the CRITERIA field?

I am trying to store a DWORD type var, so I want to do:

( %FIELD% & 2 ) GREATER 0

which would let me filter out bit 1, for example.

That query doesn't work tho. Can you help?

Thx
Title: foo_playlist_tree
Post by: cwbowron on 2007-03-31 21:30:08
Is there any way to do bitwise operations in the CRITERIA field?

I am trying to store a DWORD type var, so I want to do:

( %FIELD% & 2 ) GREATER 0


No, there's no built in way to use bitwise operations there.

If you wanted to try out the built in scheme interpreter, you would be able to do this, but it will be more complicated.
Title: foo_playlist_tree
Post by: ciaran on 2007-04-01 17:31:57
cwboron, thx for your reply. I figured out a way to do it with the $mod function. However, something like:

$mod(%ipod_pl%,2) GREATER 0

does not work in the criteria field. Was it possible to do tagz function, or am I just behind on PT versions and it can be done now?

Thanks again
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-03 18:22:48
New Release.  This adds the ability to script foobar2000 menu actions as well as interact with the playlists via the embedded scheme language.  You can also assign @scheme query refreshes to buttons to automate some stuff...

Quote
Release 3.0beta 3

    * GUID's for queries
    * main menu command for refreshing @scheme queries: Library/Playlist Tree/Refresh/* (you can refresh a query, for its side effects such as creating a new playlist and playing it with the new playlist interaction commands below)
    * for-each-playlist-entry can now take an integer playlist index OR a playlist name to specify which playlist
    * (in-library? handle)
    * (handle-test handle filter-string) - e.g. (handle-test handle "rating GREATER 3")
    * (mainmenu mainmenu-fun-string)
    * (playlist-contextmenu contextmenu-fn-string [playlist-index])
    * (contextmenu contextmenu-fn-string handle-list)
    * (playing-playlist)
    * (active-playlist)
    * (find-or-create-playlist name) => returns a playlist-index
    * (add-to-playlist handle [playlist-index] [item-index]) => if no playlist-index is specified, active playlist is assumed.
    * (clear-playlist [playlist-index])
    * (activate-playlist playlist-index)
    * (play-from-playlist [playlist-index] [item-index])

Examples of new features:
Code: [Select]
;;; Fill *Scheme* playlist with an hours worth 
(let ((playlist-index (find-or-create-playlist "*Scheme*"))
      (total-time 0))
  (clear-playlist playlist-index)
  (for-each-db-entry
  (lambda (handle)
    (let ((len (get-length handle)))
      (if (< (+ len total-time) (* 60 60))
  (begin
    (add-to-playlist handle playlist-index)
    (set! total-time (+ total-time len))))))
  "rating GREATER 3"
  "$rand()")
  (activate-playlist playlist-index)
  (play-from-playlist playlist-index))

Code: [Select]
;;; Show properties of all playlist entries
(let ((the-list (list)))
  (for-each-playlist
  (lambda (n)
    (for-each-playlist-entry
      n
      (lambda (handle)
(set! the-list
      (cons handle the-list))))))
  (contextmenu "Properties" the-list))
Title: foo_playlist_tree
Post by: gob on 2007-04-08 06:13:56
hey cwbowron, if enough people are interested would it be possible to have a separate font dialog box for each playlist tree panel?
Title: foo_playlist_tree
Post by: bb10 on 2007-04-08 22:44:56
I have a problem with this component.

I'm using the latest Panels UI and SCPL. I have a node for my complete database and 2 nodes for 2 musicfolders.

Normally when i click on a node it displays all the tracks of that node in SCPL. It only does now with one of the nodes (53 tracks total on that node).

The other 2 nodes (with about 6000 tracks each) don't send the tracks to SCPL when i click on them.

Can anyone help me?


EDIT:
When i start foobar my complete database is shown in SCPL.

Also when I click a node while im in another playlist it doesn't go to my *Browser* playlist. It only does that with one node and thats the one with 53 tracks.

EDIT2:
Nvm, I found an option that limits the number of files to 5000 under "mouse and keyboard". Strange place for that option but it solved my problem.
Title: foo_playlist_tree
Post by: w00tfest99 on 2007-04-09 01:01:50
Am I being stupid?  I loaded this plugin and I don't get the panel that all of the screenshots seem to show.  Is there some place I have to go to activate it?  I saw somewhere that you need to activate it in Columns UI but I don't know how do do that.
Title: foo_playlist_tree
Post by: noorotic on 2007-04-09 11:22:13
Am I being stupid?  I loaded this plugin and I don't get the panel that all of the screenshots seem to show.  Is there some place I have to go to activate it?  I saw somewhere that you need to activate it in Columns UI but I don't know how do do that.


If your main UI is ColumnsUI, any panel must be added to the panel layout, under Preferences/ColumnsUI/Layout.  If you are just getting started, it does (I found, anyway) take a while of playing with that, to get what you want.

If you are instead using PanelsUI, you must, in your main PanelsUI config (also under preferences), load and show any panel, with the $panel() function.

These things apply to any panel, not specifically PTP.

Best...
Title: foo_playlist_tree
Post by: Kiteroa on 2007-04-18 23:51:49
This looks like it i sgoing to be a very powerful component - once the scheme language is understood.


Meanwhile, I'm trying to build an index of artists which includes them twice - once as

      John Smith

and once as

        Smith, John


No problem getting either way (using ordinary PTP queries) but I can't seem to combine them in a single query. Any ideas?
Title: foo_playlist_tree
Post by: alphaex32 on 2007-04-19 00:03:32
Are there any good tutorials for the new scheme language you're using? I'm curious about how powerful it is. Can it, for example, rename and move files between playlists automatically?
Title: foo_playlist_tree
Post by: Kiteroa on 2007-04-19 12:04:37
Are there any good tutorials for the new scheme language you're using? I'm curious about how powerful it is. Can it, for example, rename and move files between playlists automatically?


Theres a lot of stuff on the mzscheme web site but it gets very complex , very quickly! It seems very abstract and extremely powerful but I haven't found it very easy to pick up.

I'm trying to generate and activate a single playlist named with the name of the now playing track and containing all versions of the current playing track.... I've based code on the examples provided to generate most of the pieces required (- now playing details, db query, etc.)  but combining them is proving to be a  nightmare!

Anyone have any examples?
Title: foo_playlist_tree
Post by: MiSP on 2007-04-19 13:41:44
I'm using a tag, INVOLVED PEOPLE LIST, to display info about all involved people (duh). The syntax I use is

name1 (role1); name2 (role2); name3 (role3);

etc. Now, I want to make a query in foo_playlist_tree that displays all the different persons. If I just use %involved people list%, I get a single record with all of the involved people for any given track, and not one record for each person. Does anybody know how I can do this? (I only want the names, not the names and the roles.)

It gets more advanced after that - I want sub"folders" with their roles, and after that, various albums or something like that. I can do the latter myself, but how do I extract what is within each parenthesis?
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-19 14:09:11
I'm using a tag, INVOLVED PEOPLE LIST, to display info about all involved people (duh). The syntax I use is

name1 (role1); name2 (role2); name3 (role3);

etc. Now, I want to make a query in foo_playlist_tree that displays all the different persons. If I just use %involved people list%, I get a single record with all of the involved people for any given track, and not one record for each person. Does anybody know how I can do this? (I only want the names, not the names and the roles.)

It gets more advanced after that - I want sub"folders" with their roles, and after that, various albums or something like that. I can do the latter myself, but how do I extract what is within each parenthesis?


Are you trying to do this using only the foobar2000 titleformatting stuff, or are you doing it in scheme?
Title: foo_playlist_tree
Post by: MiSP on 2007-04-19 15:01:12
Are you trying to do this using only the foobar2000 titleformatting stuff, or are you doing it in scheme?

What's scheme? Let's go for foobar2000 titleformatting.  Unless it's impossible, of course. I'm not familiar with scheme.
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-19 15:07:32

Are you trying to do this using only the foobar2000 titleformatting stuff, or are you doing it in scheme?

What's scheme? Let's go for foobar2000 titleformatting.  Unless it's impossible, of course. I'm not familiar with scheme.


There's a built in Scheme (http://en.wikipedia.org/wiki/Scheme_(programming_language)) interpreter in Playlist Tree these days for really advanced quieries.

I don't know that your problem can be solved using regular titleformatting, but I know that it can using scheme, as I did something similar (http://bowron.us/smf/index.php?topic=292.0) for a user on the playlist tree forum.
Title: foo_playlist_tree
Post by: FofR on 2007-04-19 17:08:25
I'm having problems getting this to work with PanelsUI v0.9. I've installed the component and the library dlls in the correct places and the component options are there in the preferences.

From here I go to edit my layout and include a panel using $panel and making the panel Playlist Tree. When I click OK or Apply things go crazy, CPU usage jumps to 99% and fb2k's footprint starts rising rapidly. The pop-up asking for me to join the user map appears but I cannot click yes or no on it. I try waiting a while but the memory usage hits 300mb and fb2k says it's not responding so I have to stop the process from running.

Is there a fix to this, what's the likely cause? Are there known component incompatibilities?
Title: foo_playlist_tree
Post by: 2Pacalypse on 2007-04-19 17:12:53
@fofr

i have the same problem. the pop up about the map appears, and then another one pops up and it keeps going until i ctrl alt del foobar.
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-19 17:50:55
I'm having problems getting this to work with PanelsUI v0.9. I've installed the component and the library dlls in the correct places and the component options are there in the preferences.

From here I go to edit my layout and include a panel using $panel and making the panel Playlist Tree. When I click OK or Apply things go crazy, CPU usage jumps to 99% and fb2k's footprint starts rising rapidly. The pop-up asking for me to join the user map appears but I cannot click yes or no on it. I try waiting a while but the memory usage hits 300mb and fb2k says it's not responding so I have to stop the process from running.

Is there a fix to this, what's the likely cause? Are there known component incompatibilities?


There were a few issues with ghosted windows and such in PTP and Browser, but I had thought that they were fixed.

I personally don't use Panels UI so I don't really know what's going on... I test Playlist Tree with columns ui and my own foo_dock plugin.
Title: foo_playlist_tree
Post by: FofR on 2007-04-19 19:37:48
When I go to view > dockable panels > new. Then in that panel select Playlist tree I get a massive cpu spike but then the panel loads. From there, if I load up a Playlist Tree Panel in PanelsUI I get a small CPU spike but then everything is ok.

PUI may simply not like the alert the panel throws up.
Title: foo_playlist_tree
Post by: sylla on 2007-04-19 19:41:56
Hello, I have tried to find it myself but didn't. It's probably pretty easy to do, I hope so =)

I want the playlist tree to act as the normal playlist view, so that when i click on anything in it it shows up in my SCPL.

I also have sorted my playlists with either -s- or -a- so that it views either album view or single view. I would want it to be so in the playlist tree too.

As it is now I have to middle click and then go through context menu to add it to a real playlist and it doesn't change view if I have -a- or -s-.

Any solution?
Title: foo_playlist_tree
Post by: FofR on 2007-04-19 22:42:30
Is there a way to send different queries to different playlists? I see that Scheme has:

Code: [Select]
(add-to-playlist handle [playlist-index] [item-index]) => if no playlist-index is specified, active playlist is assumed.


But I am not sure how I would implement that with a mouse or keyboard action.
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-20 00:38:30
Is there a way to send different queries to different playlists? I see that Scheme has:

Code: [Select]
(add-to-playlist handle [playlist-index] [item-index]) => if no playlist-index is specified, active playlist is assumed.


But I am not sure how I would implement that with a mouse or keyboard action.


It's possible in scheme.  And once you've gotten the scheme query written, you can assign the query refresh to a keystroke or button using the Main Menu refresh options (under libarary->Playlist Tree->Refresh).
Title: foo_playlist_tree
Post by: Kiteroa on 2007-04-20 02:41:04
Starting to have some success with scheme queries now - it is a very subtle but powerful language!

Is it possible to access the value of a tag (e.g. artist, track, or my user-defined tag "opus")  in a scheme query to use elsewhere in scheme code?
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-20 03:14:21
Starting to have some success with scheme queries now - it is a very subtle but powerful language!

Is it possible to access the value of a tag (e.g. artist, track, or my user-defined tag "opus")  in a scheme query to use elsewhere in scheme code?


absolutely.  What are you trying to do?
Title: foo_playlist_tree
Post by: Kiteroa on 2007-04-20 05:51:58

Starting to have some success with scheme queries now - it is a very subtle but powerful language!

Is it possible to access the value of a tag (e.g. artist, track, or my user-defined tag "opus")  in a scheme query to use elsewhere in scheme code?


absolutely.  What are you trying to do?



I'm trying to query the database to find any other tracks with the same composer and title as that playing but which has an "opus" tag.

I'm (currently) stuck on building the filter string for the query and then building the name for the playlist. (I've hard-coded them into the code for the present). I'm not sure how to build get tag values (meta-tag()? ) and build strings?

In any case, although I can run the db query with a filter of form e.g. "composer is schubert" it does not run with a filter of a longer form e.g. "composer is schubert AND title is die forelle AND NOT opus MISSING" (even when hard-coded.)

I want to make and activate a playlist with the composer, title and opus number as its name. Then I'll pick up the name of the active playlist in panels_ui and make a button to set the opus of the playing track (after checking the composer and title match)!

Here's my code ( such as it is):

Code: [Select]
(let (        (playlistname '"OPUS3")  
               (filter "(composer HAS schubert AND title has forelle)")
       )  
      (let (
            (handle (now-playing))
            )
           (let (  
                  (title (format-title handle "%composer% %title%" ) )
                 )  
            (add-to-playlist handle playlist-index)
            (add-node handle (list title)
           )
      )

    (for-each-db-entry
           (lambda (handle)
                        (begin
                              (add-node handle (list (format-title handle "DB: %title% %opus%"  )))
                        )
             )
   filter
      )

  (let (
               (playlist-index (find-or-create-playlist playlistname))
        )
        (clear-playlist playlist-index)
        (activate-playlist playlist-index)
  )



I'm learning by doing ... and enjoying it as the power of the list processing languages is amazing, but I'd be grateful for any help you can give.
Title: foo_playlist_tree
Post by: FofR on 2007-04-20 09:23:13
It's possible in scheme.  And once you've gotten the scheme query written, you can assign the query refresh to a keystroke or button using the Main Menu refresh options (under libarary->Playlist Tree->Refresh).


Would you mind showing me the code to do this?

My current code not using scheme is:

Criteria:
%last_played% HAS 20

Format:
$cwb_datediff(%last_played%,%cwb_systemdate%) days ago|[%artist% - ]%title%

Population Order:
$num($cwb_datediff(%last_played%,%cwb_systemdate%),3)$sub(100,$substr(%last_played%,12,13))
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-20 14:01:00
I'm trying to query the database to find any other tracks with the same composer and title as that playing but which has an "opus" tag.

I'm (currently) stuck on building the filter string for the query and then building the name for the playlist. (I've hard-coded them into the code for the present). I'm not sure how to build get tag values (meta-tag()? ) and build strings?

In any case, although I can run the db query with a filter of form e.g. "composer is schubert" it does not run with a filter of a longer form e.g. "composer is schubert AND title is die forelle AND NOT opus MISSING" (even when hard-coded.)

I want to make and activate a playlist with the composer, title and opus number as its name. Then I'll pick up the name of the active playlist in panels_ui and make a button to set the opus of the playing track (after checking the composer and title match)!

This should get you close.  I couldnt test it myself because I dont have the same tags, so there could be some errors.

BTW, I think part of the problem with your original filter string is that case is important.  all the keywords such as IS, HAS, MISSING, NOT, AND must be uppercase.

Code: [Select]
(let ((playing (now-playing)))
  (let ((composer (format-title playing "%composer%"))
(title (format-title playing "%title%")))
    (let ((filter
  (string-append "composer IS " composer
  " AND title IS " title
  " AND NOT opus MISSING"))
  (item-found #f))
      (for-each-db-entry
      (lambda (handle)
(let* ((opus (format-title handle "%opus%"))
(playlist-name
(string-append composer " - " title " - " opus)))
  (add-to-playlist handle
    (find-or-create-playlist playlist-name))))
      filter))))
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-20 14:23:22
It's possible in scheme.  And once you've gotten the scheme query written, you can assign the query refresh to a keystroke or button using the Main Menu refresh options (under libarary->Playlist Tree->Refresh).

Would you mind showing me the code to do this?

<snip>

Here's the original query converted into scheme:

Code: [Select]
(for-each-db-entry
 (lambda (handle)
  (let ((days (format-title
handle
"$cwb_datediff(%last_played%,%cwb_systemdate%) days ago"))
(leaf
  (format-title
  handle
  "[%artist% - ]%title%")))
    (add-node handle (list days leaf))))
 "%last_played% HAS 20"
 "$num($cwb_datediff(%last_played%,%cwb_systemdate%),3)$sub(100,$substr(%last_played%,12,13)")

Here's a version that puts the tracks into separate playlists based on when they were last played.  It only uses tracks that have been played within 2 weeks.

Code: [Select]
(let ((cleared-list ()))
  (for-each-db-entry
  (lambda (handle)
    (let ((days (format-title
  handle
  "$cwb_datediff(%last_played%,%cwb_systemdate%) days ago"))
  (leaf
    (format-title
    handle
    "[%artist% - ]%title%")))
      (let ((p-index (find-or-create-playlist days)))
(when (not (member days cleared-list))
      (clear-playlist p-index)
      (set! cleared-list (cons days cleared-list)))
(add-to-playlist handle p-index))))
  "%last_played% HAS 20 AND \"$cwb_datediff(%last_played%,%cwb_systemdate%)\" LESS 14"
  "%last_played%"))
Title: foo_playlist_tree
Post by: FofR on 2007-04-20 16:26:26
Excellent , time to play.

Is there any reason this doesn't work:

Code: [Select]
$ifgreater(2,@quote<@format<%_itemcount%>>,,VA|)


Hmm, seems this would produce some sort of recursive error
Title: foo_playlist_tree
Post by: cwbowron on 2007-04-20 17:37:32
Excellent , time to play.

Is there any reason this doesn't work:

Code: [Select]
$ifgreater(2,@quote<@format<%_itemcount%>>,,VA|)


Hmm, seems this would produce some sort of recursive error


Where are you trying to put that?
Title: foo_playlist_tree
Post by: Kiteroa on 2007-04-20 23:34:42
I'm trying to query the database to find any other tracks with the same composer and title as that playing but which has an "opus" tag.

I'm (currently) stuck on building the filter string for the query and then building the name for the playlist. (I've hard-coded them into the code for the present). I'm not sure how to build get tag values (meta-tag()? ) and build strings?

In any case, although I can run the db query with a filter of form e.g. "composer is schubert" it does not run with a filter of a longer form e.g. "composer is schubert AND title is die forelle AND NOT opus MISSING" (even when hard-coded.)

I want to make and activate a playlist with the composer, title and opus number as its name. Then I'll pick up the name of the active playlist in panels_ui and make a button to set the opus of the playing track (after checking the composer and title match)!

This should get you close.  I couldnt test it myself because I dont have the same tags, so there could be some errors.

BTW, I think part of the problem with your original filter string is that case is important.  all the keywords such as IS, HAS, MISSING, NOT, AND must be uppercase.

Code: [Select]
(let ((playing (now-playing)))
  (let ((composer (format-title playing "%composer%"))
(title (format-title playing "%title%")))
    (let ((filter
  (string-append "composer IS " composer
  " AND title IS " title
  " AND NOT opus MISSING"))
  (item-found #f))
      (for-each-db-entry
      (lambda (handle)
(let* ((opus (format-title handle "%opus%"))
(playlist-name
(string-append composer " - " title " - " opus)))
  (add-to-playlist handle
    (find-or-create-playlist playlist-name))))
      filter))))


Thanks very much - it works well, first time!

I didn't realise about needing upper-case for the query keywords - (I realised last night that I had had the full filters working OK and couldn't figure why they didn't work now. I guess I changed their case when retyping etc.) It might be useful if the wiki states that tyeh keywords must be in capitals (or maybe it does and I didn't notice).

(Looking forward to doing more with scheme: I've already built a master index - single list with artists, albums, composer in alphabetical order - I'm going to add the entries "last, first" as well as "first last" (using your strchr function) and group under initial letters!

Looking at the primitives - should there be one to delete a playlist? delete a playlist entry? etc..
Title: foo_playlist_tree
Post by: MiSP on 2007-04-21 09:01:08
There's a built in Scheme (http://en.wikipedia.org/wiki/Scheme_(programming_language)) interpreter in Playlist Tree these days for really advanced quieries.

I don't know that your problem can be solved using regular titleformatting, but I know that it can using scheme, as I did something similar (http://bowron.us/smf/index.php?topic=292.0) for a user on the playlist tree forum.

Thanks, but I don't quite get where the code snippets should be entered. Criteria? Or Format? I've tried both, and nothing happens. (I did of course add a tag called "credits" with the same syntax to a few test tracks.)

I don't quite get the Scheme language. I've tried looking at the Scheme code snippets here and comparing them to their TAGZ counterpart, but I don't get it. Is there a place where I can learn it in this context, a place with examples and descriptions? I especially need some syntax reference, I mean, I don't even have any idea what the "let" thing does.
Title: foo_playlist_tree
Post by: MiSP on 2007-04-21 11:41:50
Nevermind, I made it! Originally, I had the same problem as described here (http://bowron.us/smf/index.php?topic=243.msg1041#msg1041). However, I made some changes and tried using variables. It worked perfectly!

Here's my code (I'm using the %involved people list% tag).

Criteria:
Code: [Select]
NOT involved people list MISSING


Format:
Code: [Select]
$puts(ip,%<involved people list>%)
$substr($get(ip),1,$add($strchr($get(ip),'('),-2))|$substr($get(ip),$add($strchr($get(ip),'('),1),$add($strrchr($get(ip),')'),-1))|%title%

This way, I will firstly get the involved people, then their roles as "subfolders". I've not done anything more interesting, I just wanted to get it working. Now it works, and I'll get to polish it and make it the way I want (basically adding more subfolders, like album).

The syntax I use when entering information into INVOLVED PEOPLE LIST is
Code: [Select]
name1 (role1); name2 (role2); name3 (role3)


For anyone struggling with the same problem, here's details:

First, I created this:
Code: [Select]
$substr(%<involved people list>%,1,$strchr(%<involved people list>%,''))|%title%

This was the one that didn't work. It was supposed to take all the involved persons and include the tag value up to the first parenthesis (where the role part begins). However, I just ran into the problem (http://bowron.us/smf/index.php?topic=243.msg1041#msg1041) I mentioned earlier.

So, I went on to defining a variable:
Code: [Select]
$puts(ip,%<involved people list>%)

I didn't know what this would actually do - would it parse the whole tag and put every matching value into the variable, or would it parse the first part of the tag (the first person), finish the subfolders here and then move on to the next part (person)? Turns out it was the latter, and thank God for that. (Sorry if that was a messy description, I'm not that good with this stuff.)

So, the rest was easy. I added another line, the complete script now looked like this:
Code: [Select]
$puts(ip,%<involved people list>%)
$substr($get(ip),1,$strchr($get(ip),'('))|%title%

This would give names such as Todd Wilson (, Mark Smith ( etc. So, I just fooled around a bit with the $add() function to remove the two latter characters (the opening parenthesis and the space before that). Now it looked like this:
Code: [Select]
$puts(ip,%<involved people list>%)
$substr($get(ip),1,$add($strchr($get(ip),'('),-2))


So, for the last part, I wanted to have roles as subfolders. I did pretty much the same here - I used $strchr() and $strrchr() to get the character position for the opening and closing parentheses, used the $add() function to remove the parentheses themselves and ended up with the result at the top of this post. Hope this helps people.

Edit: The only drawback with my INVOLVED PEOPLE LIST formatting used in conjunction with my script, is that I can not have parentheses in names or in the roles themselves, parentheses can only be used for denoting a role. For example: If I enter
Code: [Select]
Mike (Michael) Smith (guitar)

it will show up as the name "Mike" and the role "Michael) Smith (guitar". This can be fixed in two ways - either by changing the whole syntax used for entering information (which might be an idea), or by making the script find the last occurence of the opening parenthesis, and not the first occurence like I have done here (however, the latter does still not allow parentheses inside the role string).
Title: foo_playlist_tree
Post by: Kiteroa on 2007-04-22 10:22:45
I'm trying to query the database to find any other tracks with the same composer and title as that playing but which has an "opus" tag.

I'm (currently) stuck on building the filter string for the query and then building the name for the playlist. (I've hard-coded them into the code for the present). I'm not sure how to build get tag values (meta-tag()? ) and build strings?

In any case, although I can run the db query with a filter of form e.g. "composer is schubert" it does not run with a filter of a longer form e.g. "composer is schubert AND title is die forelle AND NOT opus MISSING" (even when hard-coded.)

I want to make and activate a playlist with the composer, title and opus number as its name. Then I'll pick up the name of the active playlist in panels_ui and make a button to set the opus of the playing track (after checking the composer and title match)!

This should get you close.  I couldnt test it myself because I dont have the same tags, so there could be some errors.

BTW, I think part of the problem with your original filter string is that case is important.  all the keywords such as IS, HAS, MISSING, NOT, AND must be uppercase.

Code: [Select]
(let ((playing (now-playing)))
  (let ((composer (format-title playing "%composer%"))
(title (format-title playing "%title%")))
    (let ((filter
  (string-append "composer IS " composer
  " AND title IS " title
  " AND NOT opus MISSING"))
  (item-found #f))
      (for-each-db-entry
      (lambda (handle)
(let* ((opus (format-title handle "%opus%"))
(playlist-name
(string-append composer " - " title " - " opus)))
  (add-to-playlist handle
    (find-or-create-playlist playlist-name))))
      filter))))


This is working well - but I haven't been able to get it to activate one of the generated playlists just before it exits! I'd really appreciate your showing me what to do...

I've got it activating the playlist!  - using a BEGIN to group the commands. I'd be interested to see how you would have done it, if you have some time some time.
Title: foo_playlist_tree
Post by: Kiteroa on 2007-05-01 05:48:33
This looks like it i sgoing to be a very powerful component - once the scheme language is understood.


Meanwhile, I'm trying to build an index of artists which includes them twice - once as

      John Smith

and once as

        Smith, John


No problem getting either way (using ordinary PTP queries) but I can't seem to combine them in a single query. Any ideas?


I've done this now - I can put up my code if anyone is interested .
Title: foo_playlist_tree
Post by: MiSP on 2007-05-01 09:32:54
Upload it please, I'm interested too.
Title: foo_playlist_tree
Post by: Kiteroa on 2007-05-01 11:17:07
Upload it please, I'm interested too.


This is my scheme preferences code:

(remove-whitespace, strchr & split came from CWBowron's PLT forum; strip came from the web but flip and initial-and-string are my first scheme procedures - or whatever they are called in scheme!)


Code: [Select]

(define (remove-whitespace str)
  (let ((len (string-length str)))
(do ((start 0 (+ 1 start)))
((or (>= start len)
(not (char=? #\space (string-ref str start))))
(do ((end (- len 1) (- end 1)))
((or (<= end start)
  (not (char=? #\space (string-ref str end))))
  (substring str start (+ 1 end))))))))

(define (strchr str chr start)
  (cond
((>= start (string-length str)) #f)
((char=? (string-ref str start) chr) start)
(else (strchr str chr (+ 1 start)))))

(define (split str chr)
  (let ((mid (strchr str chr 0)))
(if mid
(list (remove-whitespace (substring str 0 (- mid 1)))
  (split (substring str (+ mid 1) (string-length str) chr))
)
#f)))
; strip : string -> string
;  remove white space from the beginning and end of a string
(define strip
  (let ([r-strip (regexp "^[ \t\r]*(.*?)[ \t\r]*$")])
(lambda (s)
  (cadr (regexp-match r-strip s)))))

(define (flip str chr sep )
  (let ((mid (strchr str chr 0)))
(if mid
  (strip (string-append (strip (substring str (+ mid 1) (string-length str)))
  (if  (string? sep) sep (make-string 1 sep) )  (strip (substring str 0  mid  ))))
#f)))

(define (initial-and-string str)
  (if (> (string-length str) 2)
(list (substring str  0 1) str)
(list str)
))


and in the query:

Code: [Select]

(define (proc-tag hp tag album title)

(if (> (string-length tag) 1)
(add-node hp (append (initial-and-string tag) (list album title)) )
(if (flip tag #\, " ")
  (add-node hp  (append (initial-and-string (flip tag #\, " " )) (list album title) ))
  (if (flip tag #\space "," )
(add-node hp (append (initial-and-string (flip tag #\  ", " )) (list album title) ))
)
)
)
)
;----------------------------------------------------------------------------------------------------------------------------------------
(for-each-db-entry
(lambda (handle)
  (let (
  (album   (format-title handle "[%album%]"))
  (albumartist (format-title handle "$if3($trim($meta(album artist)), )"))
  (title   (format-title handle "%track%  %title%"))
  (artistfull (format-title handle "$meta_sep(artist,', ',' & ')"))
  )
  (add-node handle (append (initial-and-string album) (list artistfull title)))
 
(for-each
(lambda (composer)
(let (
(album   (format-title handle "[%album%]"))
(title   (format-title handle "%track%  %title%"))
)
  (proc-tag handle composer   album title)
))
(meta-list handle "composer") )

(for-each
(lambda (artist)
  (let (
  (album   (format-title handle "[%album%]"))
  (title   (format-title handle "%track%  %title%"))
  )
  (proc-tag handle artist   album title)  
  ) )
  (meta-list handle "artist"))

(for-each
(lambda (artist)
  (let (
  (album   (format-title handle "[%album%]"))
  (albumartist   (format-title handle "[%album artist%]")) 
  (title   (format-title handle "%track%  %title%"))
  )
  (proc-tag handle albumartist   album title)  
  ) )
  (meta-list handle "artist"))
)
))


The code makes a single alphabetical index (i.e. A B C etc. ) with all artists, album artists, composers and albums in it. It handles ordinary names e.g. : "John Smith" and creates "Smith, John". It respects tags the other way around e.g. "te Kanawa, Kiri" and generates "Kiri te Kanawa" as the reversal. (If the tag was "Kiri te Kanawa", the normal process would generate "Kanawa, Kiri te".) e.g. "Mozart, Wolfgang Amadeus" and generates "Wolfgang Amadeus Mozart" as the reversal. (If the tag was "Wolfgang Amadeus Mozart", the normal process would generate "Amadeus Mozart, Wolfgang".) If the tag value ends with a comma, e.g. "Dresden Orchestra," then no reversal is meant to be entered. I was relying on the fact the original name and the flipped name would be the same so that there would only be one entry in the index. This works but the entry has each track twice. I'll fix this up tomorrow and repost.

Also, I have found that selecting items from Playlist Tree sends them directly to my active playlist as well as the  playlist PLT is set up to send to. Not sure what is causing this. I intend to explore further tomorrow. I'd be grateful to hear if you do or don't experience this!

Good luck.
Title: foo_playlist_tree
Post by: Kiteroa on 2007-05-02 04:52:18
Upload it please, I'm interested too.


This is my scheme preferences code:

(remove-whitespace, strchr & split came from CWBowron's PLT forum; strip came from the web but flip and initial-and-string are my first scheme procedures - or whatever they are called in scheme!)


Code: [Select]

(define (remove-whitespace str)
  (let ((len (string-length str)))
(do ((start 0 (+ 1 start)))
((or (>= start len)
(not (char=? #\space (string-ref str start))))
(do ((end (- len 1) (- end 1)))
((or (<= end start)
  (not (char=? #\space (string-ref str end))))
  (substring str start (+ 1 end))))))))

(define (strchr str chr start)
  (cond
((>= start (string-length str)) #f)
((char=? (string-ref str start) chr) start)
(else (strchr str chr (+ 1 start)))))

(define (split str chr)
  (let ((mid (strchr str chr 0)))
(if mid
(list (remove-whitespace (substring str 0 (- mid 1)))
  (split (substring str (+ mid 1) (string-length str) chr))
)
#f)))
; strip : string -> string
;  remove white space from the beginning and end of a string
(define strip
  (let ([r-strip (regexp "^[ \t\r]*(.*?)[ \t\r]*$")])
(lambda (s)
  (cadr (regexp-match r-strip s)))))

(define (flip str chr sep )
  (let ((mid (strchr str chr 0)))
(if mid
  (strip (string-append (strip (substring str (+ mid 1) (string-length str)))
  (if  (string? sep) sep (make-string 1 sep) )  (strip (substring str 0  mid  ))))
#f)))

(define (initial-and-string str)
  (if (> (string-length str) 2)
(list (substring str  0 1) str)
(list str)
))


and in the query:

Code: [Select]

(define (proc-tag hp tag album title)

(if (> (string-length tag) 1)
(add-node hp (append (initial-and-string tag) (list album title)) )
(if (flip tag #\, " ")
  (add-node hp  (append (initial-and-string (flip tag #\, " " )) (list album title) ))
  (if (flip tag #\space "," )
(add-node hp (append (initial-and-string (flip tag #\  ", " )) (list album title) ))
)
)
)
)
;----------------------------------------------------------------------------------------------------------------------------------------
(for-each-db-entry
(lambda (handle)
  (let (
  (album   (format-title handle "[%album%]"))
  (albumartist (format-title handle "$if3($trim($meta(album artist)), )"))
  (title   (format-title handle "%track%  %title%"))
  (artistfull (format-title handle "$meta_sep(artist,', ',' & ')"))
  )
  (add-node handle (append (initial-and-string album) (list artistfull title)))
 
(for-each
(lambda (composer)
(let (
(album   (format-title handle "[%album%]"))
(title   (format-title handle "%track%  %title%"))
)
  (proc-tag handle composer   album title)
))
(meta-list handle "composer") )

(for-each
(lambda (artist)
  (let (
  (album   (format-title handle "[%album%]"))
  (title   (format-title handle "%track%  %title%"))
  )
  (proc-tag handle artist   album title)  
  ) )
  (meta-list handle "artist"))

(for-each
(lambda (artist)
  (let (
  (album   (format-title handle "[%album%]"))
  (albumartist   (format-title handle "[%album artist%]")) 
  (title   (format-title handle "%track%  %title%"))
  )
  (proc-tag handle albumartist   album title)  
  ) )
  (meta-list handle "artist"))
)
))


The code makes a single alphabetical index (i.e. A B C etc. ) with all artists, album artists, composers and albums in it. It handles ordinary names e.g. : "John Smith" and creates "Smith, John". It respects tags the other way around e.g. "te Kanawa, Kiri" and generates "Kiri te Kanawa" as the reversal. (If the tag was "Kiri te Kanawa", the normal process would generate "Kanawa, Kiri te".) e.g. "Mozart, Wolfgang Amadeus" and generates "Wolfgang Amadeus Mozart" as the reversal. (If the tag was "Wolfgang Amadeus Mozart", the normal process would generate "Amadeus Mozart, Wolfgang".) If the tag value ends with a comma, e.g. "Dresden Orchestra," then no reversal is meant to be entered. I was relying on the fact the original name and the flipped name would be the same so that there would only be one entry in the index. This works but the entry has each track twice. I'll fix this up tomorrow and repost.

Also, I have found that selecting items from Playlist Tree sends them directly to my active playlist as well as the  playlist PLT is set up to send to. Not sure what is causing this. I intend to explore further tomorrow. I'd be grateful to hear if you do or don't experience this!

Good luck.
Title: foo_playlist_tree
Post by: Kiteroa on 2007-05-02 05:07:06
Upload it please, I'm interested too.


This is my scheme preferences code:

(remove-whitespace, strchr & split came from CWBowron's PLT forum; strip came from the web but flip and initial-and-string are my first scheme procedures - or whatever they are called in scheme!)


Code: [Select]

(define (remove-whitespace str)
  (let ((len (string-length str)))
(do ((start 0 (+ 1 start)))
((or (>= start len)
(not (char=? #\space (string-ref str start))))
(do ((end (- len 1) (- end 1)))
((or (<= end start)
  (not (char=? #\space (string-ref str end))))
  (substring str start (+ 1 end))))))))

(define (strchr str chr start)
  (cond
((>= start (string-length str)) #f)
((char=? (string-ref str start) chr) start)
(else (strchr str chr (+ 1 start)))))

(define (split str chr)
  (let ((mid (strchr str chr 0)))
(if mid
(list (remove-whitespace (substring str 0 (- mid 1)))
  (split (substring str (+ mid 1) (string-length str) chr))
)
#f)))
; strip : string -> string
;  remove white space from the beginning and end of a string
(define strip
  (let ([r-strip (regexp "^[ \t\r]*(.*?)[ \t\r]*$")])
(lambda (s)
  (cadr (regexp-match r-strip s)))))

(define (flip str chr sep )
  (let ((mid (strchr str chr 0)))
(if mid
  (strip (string-append (strip (substring str (+ mid 1) (string-length str)))
  (if  (string? sep) sep (make-string 1 sep) )  (strip (substring str 0  mid  ))))
#f)))

(define (initial-and-string str)
  (if (> (string-length str) 2)
(list (substring str  0 1) str)
(list str)
))


and in the query:

Code: [Select]

(define (proc-tag hp tag album title)

(if (> (string-length tag) 1)
(add-node hp (append (initial-and-string tag) (list album title)) )
(if (flip tag #\, " ")
  (add-node hp  (append (initial-and-string (flip tag #\, " " )) (list album title) ))
  (if (flip tag #\space "," )
(add-node hp (append (initial-and-string (flip tag #\  ", " )) (list album title) ))
)
)
)
)
;----------------------------------------------------------------------------------------------------------------------------------------
(for-each-db-entry
(lambda (handle)
  (let (
  (album   (format-title handle "[%album%]"))
  (albumartist (format-title handle "$if3($trim($meta(album artist)), )"))
  (title   (format-title handle "%track%  %title%"))
  (artistfull (format-title handle "$meta_sep(artist,', ',' & ')"))
  )
  (add-node handle (append (initial-and-string album) (list artistfull title)))
 
(for-each
(lambda (composer)
(let (
(album   (format-title handle "[%album%]"))
(title   (format-title handle "%track%  %title%"))
)
  (proc-tag handle composer   album title)
))
(meta-list handle "composer") )

(for-each
(lambda (artist)
  (let (
  (album   (format-title handle "[%album%]"))
  (title   (format-title handle "%track%  %title%"))
  )
  (proc-tag handle artist   album title)  
  ) )
  (meta-list handle "artist"))

(for-each
(lambda (artist)
  (let (
  (album   (format-title handle "[%album%]"))
  (albumartist   (format-title handle "[%album artist%]")) 
  (title   (format-title handle "%track%  %title%"))
  )
  (proc-tag handle albumartist   album title)  
  ) )
  (meta-list handle "artist"))
)
))


The code makes a single alphabetical index (i.e. A B C etc. ) with all artists, album artists, composers and albums in it. It handles ordinary names e.g. : "John Smith" and creates "Smith, John". It respects tags the other way around e.g. "te Kanawa, Kiri" and generates "Kiri te Kanawa" as the reversal. (If the tag was "Kiri te Kanawa", the normal process would generate "Kanawa, Kiri te".) e.g. "Mozart, Wolfgang Amadeus" and generates "Wolfgang Amadeus Mozart" as the reversal. (If the tag was "Wolfgang Amadeus Mozart", the normal process would generate "Amadeus Mozart, Wolfgang".) If the tag value ends with a comma, e.g. "Dresden Orchestra," then no reversal is meant to be entered. I was relying on the fact the original name and the flipped name would be the same so that there would only be one entry in the index. This works but the entry has each track twice. I'll fix this up tomorrow and repost.

Also, I have found that selecting items from Playlist Tree sends them directly to my active playlist as well as the  playlist PLT is set up to send to. Not sure what is causing this. I intend to explore further tomorrow. I'd be grateful to hear if you do or don't experience this!

Good luck.


This is the latest, for me final, version - somewhat more Scheme-like (I think). I've added a loop to handle the values  (divided by "\") in multi-value tags separately as some multi-value tags were not being separated by the primitive.

In the scheme preferences code box:

Code: [Select]
(define (remove-whitespace str)
  (let ((len (string-length str)))
    (do ((start 0 (+ 1 start)))
((or (>= start len)
    (not (char=? #\space (string-ref str start))))
(do ((end (- len 1) (- end 1)))
    ((or (<= end start)
  (not (char=? #\space (string-ref str end))))
  (substring str start (+ 1 end))))))))

(define (strchr str chr start)
  (cond
    ((>= start (string-length str)) #f)
    ((char=? (string-ref str start) chr) start)
    (else (strchr str chr (+ 1 start)))))

(define (split str chr)
  (let ((mid (strchr str chr 0)))
    (if mid
(list (remove-whitespace (substring str 0 (- mid 1)))
      (split (substring str (+ mid 1) (string-length str) chr))
)
#f)))

;;; str-split : Apr 2006 Doug Hoyte, hcsw.org.
;;; ----
;;; Splits a string 'str into a list of strings
;;; that were separated by the delimiter character 'ch
;;; ----
;;; Efficient as possible given that we can't count on
;;; 'str being an immutable string.

(define (str-split str ch)
  (let ((len (string-length str)))
    (letrec
      ((split
        (lambda (a b)
          (cond
            ((>= b len) (if (= a b) '() (cons (substring str a b) '())))
            ((char=? ch (string-ref str b)) (if (= a b)
                                              (split (+ 1 a) (+ 1 b))
                                              (cons (substring str a b) (split b b))))
            (else (split a (+ 1 b)))))))
      (split 0 0))))

; strip : string -> string
;  remove white space from the beginning and end of a string
(define strip
  (let ([r-strip (regexp "^[ \t\r]*(.*?)[ \t\r]*$")])
    (lambda (s)
      (cadr (regexp-match r-strip s)))))

(define (flip str chr sep )
  (let ((mid (strchr str chr 0)))
    (if mid
              (strip (string-append (strip (substring str (+ mid 1) (string-length str) ))
                                                (if  (string? sep) sep (string sep) )
                                                (strip (substring str 0  mid  )) ))
#f )))

(define (initial-and-string str)
  (cond (  (not str) '() )
            (  (> (string-length str) 1) (list (substring str  0 1) str ) )
            (  #t    (list str) )
    ))

In the scheme code box:

Code: [Select]
(define (proc-tag hp multivaluetag album title)
  (for-each
  (lambda (multivaluetag)
        (for-each
        (lambda (tag) 
                  (if (not (equal? (substring tag (- (string-length tag) 1)  (string-length tag)  ) ",") )
                              (add-node hp (append (initial-and-string tag) (list album title) ))  )
                  (cond   
                            (  (strchr tag #\, 0)
                              (add-node hp  (append (initial-and-string (flip tag #\,            " " )) (list album title) )) )
                          (  (strchr tag #\space 0)
            (add-node hp (append (initial-and-string (flip tag #\space  ", " )) (list album title) )) )
              )
        )
        (str-split multivaluetag #\\) )
    )
    (meta-list hp multivaluetag) )
)
;----------------------------------------------------------------------------------------------------------------------------------------
(for-each-db-entry
(lambda (handle)
      (let (
                  (album          (format-title handle "[%album%]"))
                  (title              (format-title handle "%track%  %title%"))
                  (artistfull        (format-title handle "$meta_sep(artist,', ',' & ')"))
                )
; add album
                (add-node handle (append (initial-and-string album) (list artistfull title) ))
         
              (proc-tag handle "composer"          album title)
              (proc-tag handle "artist"                album title)         
              (proc-tag handle "albumartist"        album title)   
              (proc-tag handle "album artist"        album title)
      )
))

Title: foo_playlist_tree
Post by: 4nt1 on 2007-05-03 17:49:22
Hi - I am running the latest version of everything...

Playlist Tree 3.03
Panels UI 11.0
Foobar 0.9.4.3
Columns UI 0.1.3 b1.7

Win XP SP2

Every time I try to run Playlist Tree in either Columns or Panels it stops responding and crashes - people keep telling me to launch Playlist Tree in columns ui and then get a dialogue box popup and click ok - and then from there it will work... I simply do not get this option - I have tried adding/removing all of the versions and components and I still do not get the option...

I really want to try and use this component but it aint working

I have just tried removing panels completly and using the default ui and using dockable panels to add playlist tree and it wont show either.. I have those other dll's in my main foobar folder as instructed.. any suggestions.. it seems not to be panels ui related any more...


----

finally got it to load left the application in default ui running the panel for about 5-10 minutes and eventually the dialogue box shows up - i hit ok and now it works inside panels...

I am guessing it takes so long to load because I have a large music collection 50,000 songs and its scanning them?

either way I am happy its working now..
Title: foo_playlist_tree
Post by: The Judge on 2007-05-04 01:30:04
Hey guys, having a little problem with this. I installed it once and didn't like it so deleted it. Thought I'd give it another shot again today and now it just doesn't want to work. I'm not used to it so I guess I could be using it incorrectly but I don't think so. In short it won't allow me to change playlists via the tree. If I right-click on my SCPL and change via the context menu it works but no-go otherwise. It worked the other day but not now. I even deleted any other components I've installed since but it still doesn't work. Any help would be appreciated.
Title: foo_playlist_tree
Post by: shakey_snake on 2007-05-04 01:33:56
you can only "change playlists via the tree" if the active playlist is *Browser*
(or whatever you may have changed it to)
Title: foo_playlist_tree
Post by: The Judge on 2007-05-04 01:47:42
Thanks but that still doesn't seem to have worked . I just noticed my 'Refresh Browser' option in the Library menu is missing too.

EDIT:Seems it's not just the Playlist Tree. I can't change playlists via the Playlist Switcher either. Argh. Lol

Looks like my CFG or Columns UI got corrupted or something. Had to do a fresh install and reconfigure everything. Luckily I'd saved all my code as text files. Now that I think about it after I installed the playlist tree I did have a crash so that may be what caused it. Don't know. Either way, just thought I'd let you know. Remember to back up all your code not just your cfg!

I'll get round to trying this again once I take a suitable rest. Lol.
Title: foo_playlist_tree
Post by: cwbowron on 2007-05-05 22:21:52
I'm in the process of moving my foobar2000 components and documentations to a new server.  It should forward links from the old wiki.bowron.us site to the new host at bazquux.com, but I wanted users to know that the new bazquux.com site is legitimate.
Title: foo_playlist_tree
Post by: Notsmart on 2007-05-11 19:18:54
Greetings all!

I was wondering how I can enable this plugin?=/

I put those dll's in right directions, and I saw the playlist_tree in preferences-> components, but I have no clue how to enable it?
Title: foo_playlist_tree
Post by: Kiteroa on 2007-05-13 09:47:25
Greetings all!

I was wondering how I can enable this plugin?=/

I put those dll's in right directions, and I saw the playlist_tree in preferences-> components, but I have no clue how to enable it?



Try main menu: Library/ Playlist Tree/ Root/ New Query
Title: foo_playlist_tree
Post by: cwbowron on 2007-05-13 14:20:21
Greetings all!

I was wondering how I can enable this plugin?=/

I put those dll's in right directions, and I saw the playlist_tree in preferences-> components, but I have no clue how to enable it?


You need to use a interface that will let you add columns ui panels.  Columns UI, Panels UI, or my own foo_dockable_panels will let you add it.
Title: foo_playlist_tree
Post by: purged on 2007-05-14 12:58:42
i want to have a query that collects all music with a specific genre and adds it to a playlist but not showing the tree view in the foo_playlist_tree panel, it should generate it dynamic only if i click on it without saving the results to the panel is this possible?

i hope someone understands my fucked up englisch
Title: foo_playlist_tree
Post by: kabuki on 2007-05-14 17:23:56
to cwbowron :
Have I already thank you for this component ?
Anyway twice better than never, so thanks.   
I'm using it from the beginning (almost one year) with great satisfaction. And time has come for me to make my first request(s).  I don't use anymore "the automatic refresh" option because it's somehow a bit heavy with a big library and using Panel UI (in my case) make a white "flash" during 1 or 2 second in place of PT panel, when track change.
And a "refresh all" will be very helpful when adding some new releases.

Regards
Title: foo_playlist_tree
Post by: cwbowron on 2007-05-14 18:22:03
  • Would it be possible to add a "Refresh All Queries" context-menu ?
    • (or/and?) maybe you could add "[local] menus" in "Selection Action" in main preference, so we would be able to automatically refresh queries when selecting them ?[/i]
    I don't use anymore "the automatic refresh" option because it's somehow a bit heavy with a big library and using Panel UI (in my case) make a white "flash" during 1 or 2 second in place of PT panel, when track change.


There is a main menu option Library/Playlist Tree/Root/Refresh All Queries option.  That could work depending on where you want to use it.

I'll add the thing about the local menus to the request list.  They used to be there I think, but I took them out I guess when I changed some of that stuff around.
Title: foo_playlist_tree
Post by: kabuki on 2007-05-14 18:38:33
There is a main menu option Library/Playlist Tree/Root/Refresh All Queries option.  That could work depending on where you want to use it.

I'll add the thing about the local menus to the request list.  They used to be there I think, but I took them out I guess when I changed some of that stuff around.

You're very reactive, so thank for that, too.
I've even never used the main menu to access Playlist Tree menu or never been enough curious ?. I feel stupid now ... but it will not kill me
Now I will be able to have a nice button to refresh all. Easy and very useful!
Thank to have added the [local] request in the list.

Cheers
Title: foo_playlist_tree
Post by: MiSP on 2007-05-14 23:32:00
I've added F5 as "refresh all queries". It's the default refresh button for just about any application, so it's logical, and easy to remember/use.
Title: foo_playlist_tree
Post by: Leech on 2007-05-15 05:51:44
Is there any query to show latest albums added to library?

I want to see all new added albums this week, ordered by date. Is that possible?
Title: foo_playlist_tree
Post by: shakey_snake on 2007-05-15 13:07:53
Is there any query to show latest albums added to library?

I want to see all new added albums this week, ordered by date. Is that possible?

It is if you are tagging your files with something when they are added to the library.
cwb_hooks + a Masstagger Script can automatically write a tag like this for you.
Title: foo_playlist_tree
Post by: MiSP on 2007-05-15 13:10:19
Is there a way to empty the browser playlist if the query does not return any results? As it is now, it keeps what was in the playlist before you ran the query.
Title: foo_playlist_tree
Post by: Leech on 2007-05-15 17:24:28

Is there any query to show latest albums added to library?

I want to see all new added albums this week, ordered by date. Is that possible?

It is if you are tagging your files with something when they are added to the library.
cwb_hooks + a Masstagger Script can automatically write a tag like this for you.


Oh, really? There isn't any way to see when a file was added to library?

Well, and how can I run a MassTagger script to each new file added in each rescan the library?
Title: foo_playlist_tree
Post by: shakey_snake on 2007-05-15 20:27:24
cwb_hooks
Title: foo_playlist_tree
Post by: Leech on 2007-05-15 23:37:38
great, thank you..!
Title: foo_playlist_tree
Post by: The Judge on 2007-05-24 01:58:51
Is it possible to 'browse' other playlists whilst playing another? I can't seem to figure out how to do this with playlist_tree. It works fine with the switcher but I can't seem to figure out how to do this with the tree.
Title: foo_playlist_tree
Post by: luckycatfu on 2007-05-26 14:04:51
Hi - I'm just trying out using playlist_tree as an auto-refreshing library.

I'm using the query: @drop<z:\music>
and format: $directory(%path%,2)|$substr($directory(%path%,1),$add($len($directory(%path%,2)),4),100)|%filename%

This works perfectly, but is there any way I could make it faster? I deliberately avoided using actual tags (ie using %path% and %filename% instead) but does this actually make any difference?
Title: foo_playlist_tree
Post by: Moofar on 2007-05-28 00:11:53
I upgraded the version of my playlist tree panel. Then I refreshed my queries, and they all disapeared except "by Album" and "by Artist". I'm quite disapointed. Any explanation or help would be appreciated.
Title: foo_playlist_tree
Post by: cwbowron on 2007-05-28 01:38:45
I upgraded the version of my playlist tree panel. Then I refreshed my queries, and they all disapeared except "by Album" and "by Artist". I'm quite disapointed. Any explanation or help would be appreciated.


how old was the version you upgraded from?  How did you refresh them all?
Title: foo_playlist_tree
Post by: topdownjimmy on 2007-05-28 19:09:28
For the life of me, I can't figure out how to use the @query<> function.

For instance, I put something like this into the Format box:

Code: [Select]
@query<Beatles;@database;artist HAS Beatles;;;artist>|%artist%|%album%


And it just gives me a tree with all my music in it.

What am I doing wrong?
Title: foo_playlist_tree
Post by: xtralong on 2007-05-30 14:21:22
i'have dl this but i cant make it work!!
none of the options react! i click and nothing happens!
:|
(http://img71.imageshack.us/img71/3212/untitled3tk4.th.jpg) (http://img71.imageshack.us/my.php?image=untitled3tk4.jpg)
Title: foo_playlist_tree
Post by: tberman333 on 2007-05-30 14:31:30
i'have dl this but i cant make it work!!
none of the options react! i click and nothing happens!
:|


You need to add it to Columns_UI first... look at the wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Columns_UI_%28foo_ui_columns%29) to learn how to do that.
Title: foo_playlist_tree
Post by: xtralong on 2007-05-31 00:08:56
TY! now i wanna creat folders by year and month! how can i do that? ty
Title: foo_playlist_tree
Post by: MiSP on 2007-05-31 18:18:18
Here's what I have done. It's not the best way to do it, but it was the easiest at the time for me, and I have had no reason to change it:

1. I created a folder (not a query) called Year.
2. I created seven subqueries here named Unknown year, Pre-1960's, 1960's, 1970's, 1980's, 1990's and 2000's. These had format
Code: [Select]
$cut(%date%,4)|%artist%|$if2(%album%,<Unknown album>)|[$num(%tracknumber%,2) - ]%title%
and criteria (this is the important part)
Code: [Select]
date GREATER 1969 AND NOT date GREATER 1979
for 1970's,
Code: [Select]
date GREATER 1979 AND NOT date GREATER 1989
for 1980's and so on. Unknown year had
Code: [Select]
date MISSING
and Pre-1960's had
Code: [Select]
NOT date MISSING AND NOT date GREATER 1959


That way, all the subfolders of these queries will be a single year (e.g. 2000, 2001, 2002 and so on for the 2000's query), and then the standard artist/album thingy. You might want to change some things to include months, if that is what you're after.
Title: foo_playlist_tree
Post by: watusimoto on 2007-06-07 00:40:25
I've looked around for an answer to this without luck.  I very much like the foo_playlist_tree component.  I keep all my music on a remote SMB share.  Unfortunately, when I change songs, playlist_tree causes foobar to become completely non-responsive for 8-10 seconds.  Music plays, but nothing else happens.  Disabling playlist_tree fixes the problem.  Is there a less drastic cure?

Thanks!
Title: foo_playlist_tree
Post by: topdownjimmy on 2007-06-07 04:39:27
I've looked around for an answer to this without luck.  I very much like the foo_playlist_tree component.  I keep all my music on a remote SMB share.  Unfortunately, when I change songs, playlist_tree causes foobar to become completely non-responsive for 8-10 seconds.  Music plays, but nothing else happens.  Disabling playlist_tree fixes the problem.  Is there a less drastic cure?

Thanks!

Sounds like your queries are set to "Automatically Refresh," which refreshes them each time a new track begins.

Speaking of which, Chris, I'm sure you're probably aware of this request, but in case you're not: it would be convenient if you could choose when each query is refreshed -- e.g., when foobar starts, on track change, on album change, etc.
Title: foo_playlist_tree
Post by: watusimoto on 2007-06-07 08:08:20
Sounds like your queries are set to "Automatically Refresh," which refreshes them each time a new track begins.


That seems to have fixed it.  Thanks!!
Title: foo_playlist_tree
Post by: MiSP on 2007-06-07 14:40:27
Speaking of which, Chris, I'm sure you're probably aware of this request, but in case you're not: it would be convenient if you could choose when each query is refreshed -- e.g., when foobar starts, on track change, on album change, etc.

on media library update/rescan...
Title: foo_playlist_tree
Post by: q-stankovic on 2007-06-10 20:59:44

Speaking of which, Chris, I'm sure you're probably aware of this request, but in case you're not: it would be convenient if you could choose when each query is refreshed -- e.g., when foobar starts, on track change, on album change, etc.

on media library update/rescan...



That would finish the development of PT wich started with version 2.2 where all the different sources have different ways of refreshing them.  I would really appreciate that the most important source "@database" refreshes on rescan, medialibrary update and tagging.
Title: foo_playlist_tree
Post by: elenhil on 2007-06-18 18:42:19
Is there a way to make a queue of "last played" type except that it would return not specific tracks grouped by date but rather whole albums grouped by last played date of its least recently played track?
Title: foo_playlist_tree
Post by: thorbeck on 2007-06-21 17:08:52
Hello and thanks for such a great component!

I am trying to mimic the navigation menu from windows media player.
To do that I need to assign different selection actions.
My playlist node is supposed to activate the playlist upon selection.
My other nodes will then use a very typical sorting (artists, albums, etc), but I want these nodes to act normally. Which I just can do using the normal settings.

My problem is the activation of playlists under the @playlists node since I do not want them sent to the library playlist but rather just activated as if I was selecting it from the playlist context menu.

Cheers,
thorbeck
Title: foo_playlist_tree
Post by: Farinhir on 2007-06-22 01:20:16
I have a question and I am not sure if it belongs here or another thread. It has to do with something I want to do with playlist tree. I am one that has a lot of music that I like to dance to on my computer. I am trying to make a query for a tag for dance. My problem is that some songs can have multiple styles of dance to them (example is that many faster Lindy Hop songs can also have someone dance Balboa to them). I am trying to find a way to be able to list multiple styles in the dance tag and have playlist tree list each individually rather than together. The properties window (which I use to make tags) says to separate multiple entries with a ";", but when I put that between Lindy Hop and Balboa I get "Lindy Hop; Balboa" as an entry under my query in playlist tree. Any ideas here?

Thanks
~F~
Title: foo_playlist_tree
Post by: John n' y on 2007-06-22 17:37:36
i would like to add a query which shows me the last 30 songs which were added to my library.

the field added is in the format for example 20070619

criteria: added GREATER $sub($replace(%cwb_systemdate%,-,),30)

now i don't get the last 30 files, but all files which are in my library. if i'm using a number instead of [$sub($replace(%cwb_systemdate%,-,),30)] it works, therefore the problem must be somewhere in the last string.

edit:
okay, i got it:

added GREATER @format<$sub($replace(%cwb_systemdate%,-,),30)>
Title: foo_playlist_tree
Post by: wolfsong on 2007-06-28 06:02:33
Has anyone written a scheme version of 'Filling an MP3'? The old one crapped out with a large number of files. Thanks.
Title: foo_playlist_tree
Post by: John n' y on 2007-07-01 11:47:34
Assuming folder >Artist< is expanded and then i click on folder >Genre< folder >Artist< should be collapsed automaticlly. Is this possible?
Title: foo_playlist_tree
Post by: thorbeck on 2007-07-02 06:33:22
I would like to see playlists automatically being activated upon selection in a future release of this component. Perhaps make a setting for it like there is for the library playlist.
That would make this component a all-in-one navigation component for foobar.
For my needs at least.
Title: foo_playlist_tree
Post by: John n' y on 2007-07-04 12:38:13
Assuming folder >Artist< is expanded and then i click on folder >Genre< folder >Artist< should be collapsed automaticlly. Is this possible?


It should act like library filter panel.
Title: foo_playlist_tree
Post by: topdownjimmy on 2007-07-07 19:29:01
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 01524A6Eh
Access violation, operation: read, address: 00000000h
Call path:
entry=>app_mainloop=>destroy panel=>destroy host
This is the first crash logged by this instance.
Code bytes (01524A6Eh):
01524A2Eh:  44 24 50 14 71 56 01 E8 D2 AC 01 00 68 48 06 57
01524A3Eh:  01 8D 4C 24 1C 51 C7 44 24 20 AC 76 56 01 E8 82
01524A4Eh:  02 02 00 C6 44 24 40 01 8B 4C 24 14 3B CB 74 06
01524A5Eh:  8B 11 8B 02 FF D0 8B 0D B4 BF 57 01 8B 74 24 48
01524A6Eh:  8B 11 8B 52 10 53 8D 44 24 14 50 A1 D0 BE 57 01
01524A7Eh:  56 50 FF D2 8B 07 8B 90 F8 00 00 00 8B CF FF D2
01524A8Eh:  8B 06 8B 50 04 8B CE FF D2 8B 17 8B 92 00 01 00
01524A9Eh:  00 50 8D 44 24 28 50 8B CF FF D2 84 C0 74 1B 39
Stack (0012E840h):
0012E820h:  000001E5 00000004 01B165D0 00000000
0012E830h:  A965F680 A965F3E4 A965F684 0012EA14
0012E840h:  7FE2BB4F 049FAD18 0012EB00 00000000
0012E850h:  034684E0 004DF59C B851EB84 40A4DF1E
0012E860h:  0012E884 0156772C 00000000 00000000
0012E870h:  00000000 00000000 0012E8BC 0155DD68
0012E880h:  00000001 015578C1 0157AE44 7FE2BB9B
0012E890h:  0012E98C 0012EB00 0012E8C8 00000000
0012E8A0h:  01B165D0 DCBAABCD 00000000 0012E8F0
0012E8B0h:  01B165D0 0012E91C 7E418816 0012E9AC
0012E8C0h:  0155D778 FFFFFFFF 0012E924 0152A8D3
0012E8D0h:  0012E98C 0152A7D0 00000000 0012E8EC
0012E8E0h:  00000000 7C9105C8 04018DA0 0012E9B8
0012E8F0h:  7C910551 01BC07A8 7C91056D 00000000
0012E900h:  04018DA8 0152A7D0 7E41B4C0 0012E960
0012E910h:  01BC0000 7E418830 FFFFFFFF 7E41882A
0012E920h:  7E41B4C0 0012E950 7E418734 000901CC
0012E930h:  0000004E 000003E9 0012EB00 0152A7D0
0012E940h:  DCBAABCD 00000000 0012E98C 0152A7D0
0012E950h:  0012E9BC 7E423745 0152A7D0 000901CC
Registers:
EAX: 00000001, EBX: 00000000, ECX: 00000000, EDX: 004C4894
ESI: 0157AE44, EDI: 049FAD18, EBP: 0012E8C8, ESP: 0012E840
Crash location: "foo_playlist_tree", loaded at 01520000h - 0158B000h

Loaded modules:
foobar2000                      loaded at 00400000h - 004F3000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                        loaded at 7C800000h - 7C8F5000h
COMCTL32                        loaded at 773D0000h - 774D3000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 77DD0000h - 77E6B000h
RPCRT4                          loaded at 77E70000h - 77F01000h
GDI32                            loaded at 77F10000h - 77F57000h
USER32                          loaded at 7E410000h - 7E4A0000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
SHELL32                          loaded at 7C9C0000h - 7D1D5000h
ole32                            loaded at 774E0000h - 7761D000h
shared                          loaded at 10000000h - 10029000h
comdlg32                        loaded at 763B0000h - 763F9000h
foo_abx                          loaded at 003C0000h - 003F4000h
foo_albumlist                    loaded at 00A00000h - 00A47000h
OLEAUT32                        loaded at 77120000h - 771AC000h
foo_audioscrobbler              loaded at 00A70000h - 00AA7000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_browser                      loaded at 00B10000h - 00B4B000h
foo_burninate                    loaded at 00B70000h - 00BA7000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                        loaded at 00BD0000h - 00C05000h
foo_converter                    loaded at 00C30000h - 00C99000h
foo_custominfo                  loaded at 00CC0000h - 00D45000h
foo_custom_pc                    loaded at 00D70000h - 00DAC000h
WINSPOOL                        loaded at 73000000h - 73026000h
foo_cwb_hooks                    loaded at 00E70000h - 00EA6000h
foo_dbsearch                    loaded at 00ED0000h - 00F40000h
foo_dbsearch_api_demo            loaded at 00F60000h - 00F81000h
foo_dop                          loaded at 00FB0000h - 0100D000h
SETUPAPI                        loaded at 77920000h - 77A13000h
foo_dsp_crossfeed                loaded at 01030000h - 01054000h
foo_dsp_dolbyhp                  loaded at 01080000h - 010A1000h
foo_dsp_std                      loaded at 010C0000h - 01101000h
foo_dsp_tube                    loaded at 01130000h - 01156000h
foo_freedb2                      loaded at 01170000h - 011B0000h
foo_history                      loaded at 011D0000h - 011EC000h
foo_input_std                    loaded at 01210000h - 01323000h
foo_lnk                          loaded at 01350000h - 01369000h
foo_masstag                      loaded at 01390000h - 013DF000h
foo_navigator                    loaded at 01400000h - 01431000h
foo_playcount                    loaded at 01460000h - 01488000h
foo_playlist_manager            loaded at 014B0000h - 014F7000h
foo_playlist_tree                loaded at 01520000h - 0158B000h
foo_rgscan                      loaded at 015B0000h - 015F8000h
foo_run                          loaded at 01620000h - 0164B000h
foo_scrobblecharts              loaded at 01670000h - 016A3000h
WININET                          loaded at 771B0000h - 77256000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                          loaded at 77B20000h - 77B32000h
foo_sic                          loaded at 016D0000h - 01729000h
foo_tradersfriend                loaded at 01880000h - 018BA000h
foo_uie_albumart                loaded at 018C0000h - 018FC000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
foo_uie_albumlist                loaded at 01930000h - 0196D000h
foo_uie_quicksearch              loaded at 01990000h - 019D8000h
foo_uie_single_column_playlist  loaded at 01A00000h - 01A4A000h
MSVCP80                          loaded at 7C420000h - 7C4A7000h
MSVCR80                          loaded at 78130000h - 781CB000h
foo_uie_tabs                    loaded at 01A70000h - 01A99000h
foo_uie_trackinfo                loaded at 01AC0000h - 01AEE000h
foo_ui_columns                  loaded at 01B10000h - 01BA7000h
foo_ui_std                      loaded at 01BD0000h - 01C27000h
foo_unpack                      loaded at 01C50000h - 01C7E000h
foo_utils                        loaded at 01CA0000h - 01CD9000h
foo_version                      loaded at 01D00000h - 01D26000h
dbghelp                          loaded at 59A60000h - 59B01000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
mswsock                          loaded at 71A50000h - 71A8F000h
DNSAPI                          loaded at 76F20000h - 76F47000h
rasadhlp                        loaded at 76FC0000h - 76FC6000h
hnetcfg                          loaded at 662B0000h - 66308000h
wshtcpip                        loaded at 71A90000h - 71A98000h
WINTRUST                        loaded at 76C30000h - 76C5E000h
IMAGEHLP                        loaded at 76C90000h - 76CB8000h
netapi32                        loaded at 5B860000h - 5B8B4000h
appHelp                          loaded at 77B40000h - 77B62000h
CLBCATQ                          loaded at 76FD0000h - 7704F000h
COMRes                          loaded at 77050000h - 77115000h
shdocvw                          loaded at 7E290000h - 7E3FF000h
CRYPTUI                          loaded at 754D0000h - 75550000h
WLDAP32                          loaded at 76F60000h - 76F8C000h
urlmon                          loaded at 7E1E0000h - 7E280000h
Secur32                          loaded at 77FE0000h - 77FF1000h
DSOUND                          loaded at 73F10000h - 73F6C000h
WINMM                            loaded at 76B40000h - 76B6D000h
wdmaud                          loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                          loaded at 73EE0000h - 73EE4000h

Stack dump analysis:
Address: 004DF59Ch, location: "foobar2000", loaded at 00400000h - 004F3000h
Address: 0156772Ch, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 0155DD68h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 015578C1h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 0157AE44h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 0155D778h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 0152A8D3h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7C9105C8h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41882Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000163h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E423745h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "PrivateExtractIconExW" (+000002B2h)
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E423768h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "PrivateExtractIconExW" (+000002D5h)
Address: 7E423591h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "PrivateExtractIconExW" (+000000FEh)
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 01B59EF7h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B1CC39h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E42765Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowRgn" (+0000012Dh)
Address: 7E41B903h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "SendMessageW" (+00000049h)
Address: 773EAFF1h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal414" (+00000FB4h)
Address: 01B11252h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E41904Eh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowDC" (+0000002Dh)
Address: 77407E35h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001BF95h)
Address: 7740809Fh, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001C1FFh)
Address: 77407392h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001B4F2h)
Address: 774397FFh, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0004D95Fh)
Address: 774096BDh, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001D81Dh)
Address: 7740A74Ch, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E8ACh)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 01B82D70h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41C63Fh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "IsWindowUnicode" (+000000A1h)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 7E41C665h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "CallWindowProcW" (+0000001Bh)
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 0152A64Ah, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+0001E6A9h)
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 01A854F2h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 01A7FFE0h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 0152A7D0h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 01A7FFE0h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 0155F818h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 01A7FFE0h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 0152A450h, location: "foo_playlist_tree", loaded at 01520000h - 0158B000h
Address: 7E41B473h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 7E41DA6Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "SetFocus" (+0000000Ch)
Address: 7E43CB0Dh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "SetDlgItemTextA" (+000001D3h)
Address: 7E4259A3h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DialogBoxIndirectParamAorW" (+00000058h)
Address: 10002DA0h, location: "shared", loaded at 10000000h - 10029000h
Symbol: "uCallStackTracker::uCallStackTracker" (+00000000h)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 7E423512h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "PrivateExtractIconExW" (+0000007Fh)
Address: 7E41DAF6h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DestroyWindow" (+0000000Ch)
Address: 01A81D53h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 01A85219h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 01A8257Ah, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 01A85310h, location: "foo_uie_tabs", loaded at 01A70000h - 01A99000h
Address: 01B31332h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B6F70Fh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B32D4Bh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418B26h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 7E4188DAh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 01B16748h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7C910F46h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+000004B7h)
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E41B473h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 7E41DAF6h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DestroyWindow" (+0000000Ch)
Address: 01B165BDh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B227D2h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B31332h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B6F70Fh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B32D4Bh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418B26h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 7E4188DAh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 01B16748h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E41B473h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 7E41DAF6h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DestroyWindow" (+0000000Ch)
Address: 01B165BDh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B227D2h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B31332h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B6F70Fh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B32D4Bh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418B26h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 7E4188DAh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 01B16748h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E41B473h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 7E41DAF6h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DestroyWindow" (+0000000Ch)
Address: 01B165BDh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B227D2h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B31332h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B6F70Fh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B32D4Bh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418B26h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 7E4188DAh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 01B16748h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01000001h, location: "foo_dop", loaded at 00FB0000h - 0100D000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B5A689h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 01B165D0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 7E41B473h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 7E41DAF6h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DestroyWindow" (+0000000Ch)
Address: 01B165BDh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B227D2h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B3B33Ch, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B83320h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B78108h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC50h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B71C61h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B3B63Bh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B8FC34h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B3B78Eh, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B9059Ch, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h
Address: 01B903A0h, location: "foo_ui_columns", loaded at 01B10000h - 01BA7000h

Version info:
foobar2000 v0.9.4.3
UNICODE

Additional info:
Dolby Headphone Wrapper 1.1  (foo_dsp_dolbyhp)
Single Column Playlist Display 0.5.4 beta [Nov 24 2006 - 21:31:48]  (foo_uie_single_column_playlist)
Playcounter for foo_custominfo 1.0.1  (foo_custom_pc)
Quick Search Toolbar 2.8g  (foo_uie_quicksearch)
Database Search 1.4  (foo_dbsearch)
CD Audio Decoder 2.1.1  (foo_cdda)
Navigator 0.6  (foo_navigator)
Last.fm Chart Player 0.2.3  (foo_scrobblecharts)
ReplayGain Scanner 2.0.2  (foo_rgscan)
cwbowron's title format hooks 1.1.1 [May  4 2007 - 12:39:47]  (foo_cwb_hooks)
ABX Comparator 1.3.1  (foo_abx)
ZIP/GZIP reader 1.0  (foo_unpack)
RAR reader 1.1  (foo_unpack)
Playlist Manager 1.0.2  (foo_playlist_manager)
Playlist Tree Panel 2.2.4 [Nov 17 2006 - 16:34:17]  (foo_playlist_tree)
Standard Input Array 1.0  (foo_input_std)
Standard DSP array 1.0  (foo_dsp_std)
Playback Statistics 1.3.2  (foo_playcount)
Converter 1.0.1  (foo_converter)
Album List 3.2.0  (foo_albumlist)
Audioscrobbler 1.3.5  (foo_audioscrobbler)
Tabbed panel modified 0.2.4  (foo_uie_tabs)
Album Art Panel 0.2.6  (foo_uie_albumart)
Tube Sound 0.7  (foo_dsp_tube)
Music Browser 1.2.2c [Jul  6 2006 - 09:42:02]  (foo_browser)
freedb Tagger 0.5.2a  (foo_freedb2)
Album list panel 0.2.1  (foo_uie_albumlist)
foobar2000 core 0.9.4.3  (Core)
Playlist tools 0.5.8  (foo_utils)
Shell Link Resolver 1.2  (foo_lnk)
iPod manager 0.3.9 TEST  (foo_dop)
foo_custominfo 0.1.2  (foo_custominfo)
Crossfeed 0.92  (foo_dsp_crossfeed)
Database Search Toolbar Demo 1.0  (foo_dbsearch_api_demo)
FLAC Decoder 1.1.0  (foo_input_std)
WMA Decoder 1.1  (foo_input_std)
Components versions viewer 0.3  (foo_version)
Columns UI 0.1.3 beta 1v7  (foo_ui_columns)
Run services 0.3.2  (foo_run)
foosic music database 1.0 beta 12  (foo_sic)
Audio CD Writer 2.0.1  (foo_burninate)
Live Show Tagger 0.6.1  (foo_tradersfriend)
History 0.2  (foo_history)
Default User Interface 0.9acc  (foo_ui_std)
Track info panel 0.8  (foo_uie_trackinfo)
Masstagger 1.6  (foo_masstag)


Got this crash log, using 2.2.4, and switching to a layout that used an old version of Single Column Playlist
Title: foo_playlist_tree
Post by: Dave_Scream on 2007-07-08 17:12:40
in my files i have several fields:
artist
album artist

all they set as "multivalue" fields in advanced foobar properties page

i want to make this thing:
if a multivalue field %album artist% has two artists:
Example:  Umek; Ben Long
Playlist Tree must show this release in two folders "Umek" and "Ben Long" but not in folder like "Umek, Ben Long"

so this is my format string:

%<album artist>%|blablabla

i want to show multivalue field %<album artist>%

it works, but it DOESNT show releases wich dont have multivalued %album artist%

so im trying to correct it
when %album artist% is empty, i will show %artist%:

$if($meta(album artist),%<album artist>%,%artist%)

BUT IT doesnt work again!!!! grrrr i dont know what to do!!! it shows only releases with multivalued %album artist% it doesnt show releases wich have only 1 album artist.... i tryed many things... it looks like a bug

---
UPD.
this string doesnt work too:
$if($meta(album artist,1),%<album artist>%,%album artist%) | blablabla

i see that if any release has multivalued %album artist% it will show only multivalued %album artist%

i explain:
i have 3 releases:
Umek - album1
Umek; Ben Long - album2
Umek; Chris Liebing - album3

sooo and in playlist three i can see only
-Umek
--album2
--album3

where is album1 ??????
Title: foo_playlist_tree
Post by: elenhil on 2007-07-09 14:03:32
I've a rather complex request. If you're afraid of reading long messages feel free to go to the last paragraph - thus you'll get the request and skip the rationale, if it OK with you.

Now, I use a nonstandard folder structure: only artists with several albums or those who are quite well-known get a named folder, others' albums are stored as they are. So inside my music folder there artist-folders like "Johann Sebastian Bach" (with his ops inside, in their own folders) but also simply album-folders like "The Lord of the Rings" - not inside "Howard Shore"-folder, because I don't have other music by Howard Shore. Also, albums by little known artists get placed the same way, because in most of these cases it's the album title that makes sense, not the author's name.

I find that way perfectly optimal for my taste and my searching habits - I don't want to flog my memory trying to recall who was the author of that particular album I liked - and finding his name in the long, long artists list (unless it is Bach or some other big name), neither do I want to rake through the long, long list of all Various Artists albums.

So, to cut the long story short, it's not a way of thoroughly listing my music collection - it's a way of presenting it for quick access with little unnecessary information (like some little known artist's name).

OK, thanks for having read so far. You might ask why won't I simply use Explorer Panel (which will render my peculiar folder structure exactly as it is)? Two reasons: 1) Playlist Tree has lots of nifty sorting and filtering features you all know and love. 2) Windows file system has lots of limitations you all know and hate. Unicode is still not problem-free, file length is limited, certain symbols are restricted, etc. Filenames and foldernames are inherently limited in comparison with tags.

That's where I need Playlist Tree and that's where my request actually starts: I need a way of generating a query that will follow my folder structure but use corresponding tags instead of filenames and foldernames. Not simply $replace(%path%, ...)
Title: foo_playlist_tree
Post by: Somebody on 2007-07-15 02:58:36
This is very nice. Thanks for the good work!
Title: foo_playlist_tree
Post by: wolfsong on 2007-07-19 18:58:55
Has anyone written a scheme version of 'Filling an MP3'? The old one crapped out with a large number of files. Thanks.

Is this not possible yet? I would have thought it would be as simple as changing "total-time" to something like "total-space" and then setting the proper value. Am I wrong? I don't see this documented anywhere so any help would really be appreciated. Thanks.

Code: [Select]
;;; Fill *Scheme* playlist with an hours worth 
(let ((playlist-index (find-or-create-playlist "*Scheme*"))
      (total-time 0))
  (clear-playlist playlist-index)
  (for-each-db-entry
   (lambda (handle)
     (let ((len (get-length handle)))
       (if (< (+ len total-time) (* 60 60))
       (begin
         (add-to-playlist handle playlist-index)
         (set! total-time (+ total-time len))))))
   "rating GREATER 3"
   "$rand()")
  (activate-playlist playlist-index)
  (play-from-playlist playlist-index))
Title: foo_playlist_tree
Post by: cwbowron on 2007-07-19 19:32:21
Has anyone written a scheme version of 'Filling an MP3'? The old one crapped out with a large number of files. Thanks.


http://www.screencast.com/t/HG5CQOVQw (http://www.screencast.com/t/HG5CQOVQw)
Title: foo_playlist_tree
Post by: wolfsong on 2007-07-28 06:41:10

Has anyone written a scheme version of 'Filling an MP3'? The old one crapped out with a large number of files. Thanks.


http://www.screencast.com/t/HG5CQOVQw (http://www.screencast.com/t/HG5CQOVQw)

So now I have:
Code: [Select]
;;; Fill *SD Card* playlist with an hours worth 
(let ((playlist-index (find-or-create-playlist "*SD Card"))
      (total-time 0))
  (clear-playlist playlist-index)
  (for-each-db-entry
   (lambda (handle)
     (let ((len (get-file-size handle)))
       (if (< (+ len total-time) (* 1048 1048))
       (begin
         (add-to-playlist handle playlist-index)
         (set! total-time (+ total-time len))))))
   "rating GREATER 3"
   "$rand()")
;;;  (activate-playlist playlist-index)
;;;  (play-from-playlist playlist-index))

For the moment I dont' want to activate or play the new playlist. The problem is I get 0 files added to the list. I tried the scheme query that does a random hour of music and it works fine so I assume something else needs to be modified in the script.

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2007-07-28 14:06:52
So now I have:
Code: [Select]
;;; Fill *SD Card* playlist with an hours worth 
(let ((playlist-index (find-or-create-playlist "*SD Card"))
      (total-time 0))
  (clear-playlist playlist-index)
  (for-each-db-entry
   (lambda (handle)
     (let ((len (get-file-size handle)))
       (if (< (+ len total-time) (* 1048 1048))
       (begin
         (add-to-playlist handle playlist-index)
         (set! total-time (+ total-time len))))))
   "rating GREATER 3"
   "$rand()")
;;;  (activate-playlist playlist-index)
;;;  (play-from-playlist playlist-index))


You have the total-time set to 1048*1048 which equals comes out to a little over 1 meg.  What you probably want is (* 1024 1024 1000) for about a gig.
Title: foo_playlist_tree
Post by: wolfsong on 2007-07-29 07:26:42
You have the total-time set to 1048*1048 which equals comes out to a little over 1 meg.  What you probably want is (* 1024 1024 1000) for about a gig.

I tried that and still get 0 files. 
Title: foo_playlist_tree
Post by: mazy on 2007-07-29 11:56:50
cwbowron, could i use the schema language to sort playlist by modified time of directories?
Title: foo_playlist_tree
Post by: q-stankovic on 2007-07-29 16:13:35
Hello Chris,

you are working now on many new plugins so that the development of PT is stopped. I would like to ask if you will continue thge development in the near future (i mean in some months) - i am not thinking of exciting new features but of removing the known bugs and considering to implement some features of the request list.
Title: foo_playlist_tree
Post by: cwbowron on 2007-08-02 20:27:56
I put up a new version today.

Biggest improvement is that I added two scheme functions that let you ask for input when the query gets refreshed.  This allows you to create a generic query that will prompt you for input.  See the bottom of the post for an example.

ChangeLog:
Quote
*  don't ask about the user map.
    * new scheme functions that allow interaction:
          o (prompt-user-string "foo") - prompts the user for input. Returns a string. "" for cancel.
          o (prompt-user-list "foo" ("option 1" "option 2" ... "option n")) - prompts the user to select from given options - returns zero-based index of selection. -1 for cancel.

Example of prompting query:
Code: [Select]
(let ((tags (list "artist" "album" "title")))
  (let ((n (prompt-user-list "Tag:" tags)))
    (when (>= n 0)
  (let ((criteria (prompt-user-string "Criteria:")))
    (display criteria)
    (when (> (string-length criteria) 0)
  (for-each-db-entry
  (lambda (handle)
    (add-node
      handle
      (list (format-title handle "%artist%")
    (format-title handle "%album%")
    (format-title handle "%title%"))))
  (string-append (list-ref tags n) " " criteria)))))))
Title: foo_playlist_tree
Post by: shof515 on 2007-08-02 20:31:13
Just installed this, foobar and colums UI and now i get this error:
Failed to load DLL: foo_playlist_tree.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000.
Title: foo_playlist_tree
Post by: cwbowron on 2007-08-02 20:51:21
Just installed this, foobar and colums UI and now i get this error:
Failed to load DLL: foo_playlist_tree.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000.


Did you follow the instructions in the readme.txt file?
Title: foo_playlist_tree
Post by: shof515 on 2007-08-02 20:59:51

Just installed this, foobar and colums UI and now i get this error:
Failed to load DLL: foo_playlist_tree.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000.


Did you follow the instructions in the readme.txt file?

Yes i did

Can it be that my system is missing some kind of file?

(http://img110.imageshack.us/img110/8716/untitled1hy4.jpg) (http://imageshack.us)
Shot at 2007-08-02
Title: foo_playlist_tree
Post by: wolfsong on 2007-08-02 21:03:32
cwbowron Any other ideas on why this (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=29435&view=findpost&p=507366) doesn't work?

thanks
Title: foo_playlist_tree
Post by: watusimoto on 2007-08-02 21:26:59
One annoying "feature" in this otherwise very good plugin occurs when I want to find a listing by typing its name.  For example, to find Sonic Youth, I might type "son" and I get to the right area of my playlist.  However, if I am looking for The White Stripes, I start typing "The W", but the process stops when I hit the space, and I can only get to the beginning of the "The"s.  (Does that make sense??)

Is there a workaround for this, so I can keep typing a name that contains a space?

Thanks!!
Title: foo_playlist_tree
Post by: MiSP on 2007-08-03 11:54:14
One annoying "feature" in this otherwise very good plugin occurs when I want to find a listing by typing its name.  For example, to find Sonic Youth, I might type "son" and I get to the right area of my playlist.  However, if I am looking for The White Stripes, I start typing "The W", but the process stops when I hit the space, and I can only get to the beginning of the "The"s.  (Does that make sense??)

Is there a workaround for this, so I can keep typing a name that contains a space?

Thanks!!

I encountered this problem, but it disappeared as soon as it had emerged. *shrug*
Title: foo_playlist_tree
Post by: Kiteroa on 2007-08-03 20:04:16
I want to get the last played track in a scheme Playlist tree so I can write it to a playlist.

No problem getting back all the tracks sorted by %last_played% date.

I can see how to reverse the order by turning the date into a number and subtracting from 999999999 but how do I restrict the selection to just the latest track?

(I'd also like to do the same in ordinary playlist tree; the maximum track option there will restrict the no. of tracks returned but I can't make it the one I want (latest %last_played%!)

Any ideas??
Title: foo_playlist_tree
Post by: Kiteroa on 2007-08-05 14:29:15
Another query:


How do I get the name of the currently playing playlist in Scheme?
Title: foo_playlist_tree
Post by: Scheisen2000 on 2007-08-11 09:15:50
Hey guys,

i didnt realy had the time to get into this @scheme thing but it seems to be fancy...
maybe you can tell me, if something can be done with it, maybe you even got some code suggestions.

many people like me want to edit their playback queue... you add something like 10 songs to queue and than you recognize that you want to have the song on 8th position on the 3rd...
here is what i do:

I manage my music and playlists with playlist_tree component.
In playlist_tree you can define source as "@queue"
So i created a new playlist_tree query with source set to @queue and a query which is always true:
criteria: "NOT 1 IS 2"
when i now click the "Queue"-query in my playlist tree, it sends the tracks of queue to the defined playlist, than activates the playlist. In my case the name of the playlist_tree auto-send playlist is always the name of the query. Therefore, after doing so, i am editing a playlist named "queue" which contains exactly the queue.
now i reorder the tracks the way i want them, push my "flush queue"-button, do a ctrl+a to select the whole playlist and than "add to playback queue".

now my question... 
can this flushing and resending to queue be automated with scheme everytime the "Queue" playlist created by the Queue query is changed?
this would give some kind of queue editor, which i think, many people are missing since foobar is around...

Cheers 
Title: foo_playlist_tree
Post by: cwbowron on 2007-08-11 12:36:15
now my question... 
can this flushing and resending to queue be automated with scheme everytime the "Queue" playlist created by the Queue query is changed?
this would give some kind of queue editor, which i think, many people are missing since foobar is around...


Yes, playlist tree scheme queries can run any main menu or context menu function, so to clear the queue, you would use the function (mainmenu-command "Flush playback queue").  You can add tracks to the queue using the scheme function (contextmenu "Add to Playback Queue" list) where list is a list of handles from functions like for-each-db-entry or for-each-playlist-entry
Title: foo_playlist_tree
Post by: Kiteroa on 2007-08-11 14:09:41
In case it is any use to anyone, here is my scheme code to make a playlist with all tracks by the now playing artist:

Code: [Select]
(let  (( field              (format-title (now-playing) "%artist%"))
        (playlist-index  (find-or-create-playlist "Browser" )))
      (clear-playlist playlist-index)
      (if  (> (string-length field) 1)
            (for-each-db-entry
                  (lambda (handle)
                                (add-to-playlist handle  playlist-index))
            (string-append "artist HAS " field " OR album artist HAS " field ))
))

Title: foo_playlist_tree
Post by: MiSP on 2007-08-12 19:17:38
I think this has been up before, but here it is again: Using %<artist>% crashes foobar. Here's the script I'm trying to use, the %<artist>% thing is almost first on line 2:

Code: [Select]
$if(%artist%,
@icon<29>%<artist>%|['['$substr(%date%,1,4)']'] $if2(@icon<11>%album%,@icon<87>-<Unknown album>-)|[$num(%tracknumber%,2) - ]%title%,
@icon<87>-<Unknown artist>-|$if(%album%,@icon<11>%album%|[$num(%tracknumber%,2) - ]%title%,@icon<87>-<Unknown album>-|%title%)
)
I'm currently using %artist% there instead; as mentioned, foobar crashes when I try to use %<artist>%.
Title: foo_playlist_tree
Post by: wolfsong on 2007-08-15 23:59:16
cwbowron Any other ideas on why this (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=29435&view=findpost&p=507366) doesn't work?

thanks

BUMP

.ws.
Title: foo_playlist_tree
Post by: Adi Corrales on 2007-08-16 23:18:50
Hi everybody!  First of all thanks for this wonderful plugin...  is one of the many things that makes me use Foobar, and try to use my iPod and everything with it (jejeje is more work, but foobar and this plugin worth it!    )

I have a question:  I have a lot of compilation albums (soundtracks, compilations, two or three artists albums, etc)  That I want to sort as regular albums.  I don't like to have a different "category" for compilations.

I'm formating my node in the next way:

$if($not($meta(album artist)),
%artist%|%date% %album%|[$num(%tracknumber%,2) - ]%title%,
%artist% - %album%|[$num(%tracknumber%,2) - ]%title%)

That is, if the album artist field is empty, use artist, but if it is not, use artist-album tag for the nodes.

Now, what I want to  know is if is possible that, when I select a compilation artist (show as "artist - album" in the node) the next node shows all the album songs, not only the ones that match the artist, but all that macht the album.  I have been trying with $parent, but returns "unidentify function" and in the end,  I always get a one song node, that is what I don't want. 

I have been using the album name in the node, without artist, but this "hides" many artists from my list (for example:  I only have one song by Bob Dylan in my Natural Born Killers soundtrack.  If i use the album name, is hard to know that I have, at least, one Bob Dylan´s song...) My idea is that, if I select the Bob Dylan artist node, the next node shows all the Natural born killers album, and not only the Dylan's song...

I hope i'm clear enogh...  Thanks for your help and regards.
Title: foo_playlist_tree
Post by: gob on 2007-08-18 06:10:20
hey cwbowron, is it possible to display a different font size in a different panel?
Title: foo_playlist_tree
Post by: msobetzko on 2007-08-27 21:48:14
I'm having trouble writing what I think should be a simple query.

I have created queries that use playcount and lastplay info to create queries around Played Most, Played Least, Played Long Ago etc.

I wish to exclude files from my catalog (stand up comedy, kids music, etc).

I created a tag called SKIP and added the tag to all files I wish to skip and populated it with a Y.

I did not add the tag to other files (the ones I want to play).

I can write a query (%skip% IS Y) that lists all the files I wish to skip.  I can write a query (%skip% NOT Y) that lists all the files I do NOT wish to skip.

But...  If I add 'and %skip% NOT Y' to any of my other queries, the query fails and sometimes with odd results.  One query that selects files played at least once when the 'and %skip% NOT Y' is appended it selects files that have NOT been played and INCLUDE (not exclusively) files tagged SKIP Y.

Sorry for the long post, perhaps I'm not getting how to include and statements, perhaps my idea of creating a tag is flawed.  I'm looking for some advice.

Mike
Title: foo_playlist_tree
Post by: cwbowron on 2007-08-27 21:52:39
I'm having trouble writing what I think should be a simple query.

<snip>

But...  If I add 'and %skip% NOT Y' to any of my other queries, the query fails and sometimes with odd results.  One query that selects files played at least once when the 'and %skip% NOT Y' is appended it selects files that have NOT been played and INCLUDE (not exclusively) files tagged SKIP Y.


you need "AND %skip% NOT Y", capital AND.  It's case sensitive.
Title: foo_playlist_tree
Post by: MiSP on 2007-08-27 23:06:35
I think this has been up before, but here it is again: Using %<artist>% crashes foobar. Here's the script I'm trying to use, the %<artist>% thing is almost first on line 2:

Code: [Select]
$if(%artist%,
@icon<29>%<artist>%|['['$substr(%date%,1,4)']'] $if2(@icon<11>%album%,@icon<87>-<Unknown album>-)|[$num(%tracknumber%,2) - ]%title%,
@icon<87>-<Unknown artist>-|$if(%album%,@icon<11>%album%|[$num(%tracknumber%,2) - ]%title%,@icon<87>-<Unknown album>-|%title%)
)
I'm currently using %artist% there instead; as mentioned, foobar crashes when I try to use %<artist>%.
Quoting myself here, because I have the answer. It seems all will be OK if you first make a variable with %<artist>%, like here (only the first few functions are relevant in this discussion):

Code: [Select]
$if(%artist%,$puts(ar,%<artist>%)
@icon<29>$get(ar)|['['$substr(%date%,1,4)']'] $if2(@icon<11>%album%,@icon<87>-<Unknown album>-)|[$num(%tracknumber%,2) - ]%title%,
@icon<87>-<Unknown artist>-|$if(%album%,@icon<11>%album%|[$num(%tracknumber%,2) - ]%title%,@icon<87>-<Unknown album>-|%title%)
)
Notice that I have $puts(ar,%<artist>%) on the first line, and $get(ar) on the second line instead of %<artist>% (or just %artist%).

Also, it works this way:
Code: [Select]
$if(%artist%,
@icon<29>$put(ar,%<artist>%)|['['$substr(%date%,1,4)']'] $if2(@icon<11>%album%,@icon<87>-<Unknown album>-)|[$num(%tracknumber%,2) - ]%title%,
@icon<87>-<Unknown artist>-|$if(%album%,@icon<11>%album%|[$num(%tracknumber%,2) - ]%title%,@icon<87>-<Unknown album>-|%title%)
)
Here I define the variable and use it directly ($put instead of $puts).

Now, for the big one: Why does it work these ways, and not the first one, cwbowron?
Title: foo_playlist_tree
Post by: msobetzko on 2007-08-28 00:58:07

I'm having trouble writing what I think should be a simple query.

<snip>

But...  If I add 'and %skip% NOT Y' to any of my other queries, the query fails and sometimes with odd results.  One query that selects files played at least once when the 'and %skip% NOT Y' is appended it selects files that have NOT been played and INCLUDE (not exclusively) files tagged SKIP Y.


you need "AND %skip% NOT Y", capital AND.  It's case sensitive.


I just tried that and I am still having no luck.  Here is my exact query.

NOT "$substr(%last_played%,1,7)" GREATER 2000-01 AND %skip% NOT Y

My goal in this query is to list songs that I have never played (and are not marked skip).
Title: foo_playlist_tree
Post by: wolfsong on 2007-08-30 17:10:22
cwbowron Any other ideas on why this (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=29435&view=findpost&p=507366) doesn't work?

thanks

BUMP

.ws.
Title: foo_playlist_tree
Post by: msobetzko on 2007-08-30 20:46:42


I'm having trouble writing what I think should be a simple query.

<snip>

But...  If I add 'and %skip% NOT Y' to any of my other queries, the query fails and sometimes with odd results.  One query that selects files played at least once when the 'and %skip% NOT Y' is appended it selects files that have NOT been played and INCLUDE (not exclusively) files tagged SKIP Y.


you need "AND %skip% NOT Y", capital AND.  It's case sensitive.


I just tried that and I am still having no luck.  Here is my exact query.

NOT "$substr(%last_played%,1,7)" GREATER 2000-01 AND %skip% NOT Y

My goal in this query is to list songs that I have never played (and are not marked skip).


I got it fixed.  Just a subtle difference.  I had to use NOT %skip% IS Y in all instances and it works. 
Title: foo_playlist_tree
Post by: cwbowron on 2007-08-31 17:40:58
BUMP


Code: [Select]
;;; Create a tree with 5 gigs of music, rated greater than 3
(let ((total-size 0)
      (max-size (* 1024 1024 5 1000)))
  (for-each-db-entry
   (lambda (handle)
     (let ((size (get-file-size handle)))
       (if (< (+ size total-size) max-size)
       (begin
         (add-node
          handle
          (list
           (format-title
        handle
        "%artist% - %title%")))
         (set! total-size (+ total-size size))))))
   "rating GREATER 3"
   "$rand()"))
Title: foo_playlist_tree
Post by: wolfsong on 2007-09-02 21:21:57

BUMP


Code: [Select]
;;; Create a tree with 5 gigs of music, rated greater than 3
(let ((total-size 0)
      (max-size (* 1024 1024 5 1000)))
  (for-each-db-entry
   (lambda (handle)
     (let ((size (get-file-size handle)))
       (if (< (+ size total-size) max-size)
       (begin
         (add-node
          handle
          (list
           (format-title
        handle
        "%artist% - %title%")))
         (set! total-size (+ total-size size))))))
   "rating GREATER 3"
   "$rand()"))


Woohoo! It works now. Thanks!
Title: foo_playlist_tree
Post by: Mar2zz on 2007-09-05 09:42:51
I am using Foobar for a short while now, and use playlist tree mainly for adding tracks to queue. I am trying to make an Album Top 25. Maybe my request is too exotic, but i cant get it working.

My best album is in my opinion the album with the highest score on trackplaycount + trackrating + albumrating.
This score i can make visible with the following code in format;

Code: [Select]
@quote<@format<$num($add($sum('%rating%'),$sum('%play_count%'),$avg('%album rating%')),3)>> - %album artist% - %album%|%artist% - %title%


In criteria i use NOT album rating MISSING, but that is not a good criteria. For an album with a high score on trackplaycount and trackrating it should also be possible to get a top25 listing. Sadly, a criteria that checks all folders and tracks makes the refresh query hang for a few seconds. Maybe its possible to make criteria that allready filters albums with a high score?

another problem i have is with sorting and maximize.
The sorting is completely random when i want to reverse it. Only sort by display name works, but that sorts down from low score to high, i want that reversed. For sorting i tried to use several codes, but none works.
Maximize gives me a completely random set of albums. Scores get mixed, it shows not the best 25 albums, but 25 random albums. I tried to maximize by 25 folders. That doesnt work.
Here is a screenshot
(http://img136.imageshack.us/img136/8066/playlisttreealbumay4.th.jpg)
Screenie (http://img136.imageshack.us/img136/8066/playlisttreealbumay4.jpg)

I hope someone will have an answer to this problem. or maybe another query that almost does the same stuff. thx in advance
Title: foo_playlist_tree
Post by: the in sound from way out on 2007-09-05 22:43:14
Hi all,

First, thanks for this powerful component.

I'm new to it, trying to guess a few queries here and there.

What I haven't been able to do so far is to display the total number of files in a node (next to a dynamic folder name).
Something like :

Genre (5559)
+ Classical (123)
+ Jazz (5436)


Thought the tag  %_itemcount% would do it, but it didn't.

Any clue?

Greetings
Title: foo_playlist_tree
Post by: Mar2zz on 2007-09-06 09:39:41
put this in label behind your query name:
Example:
Code: [Select]
Genre (@format<%_itemcount%> tracks>)


And in format:
Code: [Select]
%genre% (@format<'%_foldercount%' albums, '%_itemcount%' tracks>)|%artist% - %album%|
%track% - %title%


becomes:
Genre (5559 tracks)
+ Classical (10 albums, 125 tracks)
+ Jazz (25 albums, 212 tracks)
+ etc.
Title: foo_playlist_tree
Post by: the in sound from way out on 2007-09-06 13:38:45
Thx for the reply.  I get better how it works now. With your code I get the itemcount behind the query name.

But for some reason, it won't work with nods. The panel stops creating nods as soon as I add (@format<'%_foldercount%' albums, '%_itemcount%' tracks>) behind %genre%. Instead, it displays the genre of each selected tracks, without any folder (or item/folder count for that matter). Maybe a problem of syntax, I have no idea.
Title: foo_playlist_tree
Post by: Mar2zz on 2007-09-06 15:17:48
You are right, somehow the () in front and at end mess up. When you use <> instead of () it wil work ok (i use <> all the time, i thought changing it to () wouldnt make a difference, so i didn't test it, sorry). the code will be this:

Code: [Select]
%genre% <@format<'%_foldercount%' albums, '%_itemcount%' tracks>>|%artist% - %album%|
%track% - %title%


this gives you:
Genre (5559 tracks)
+ Classical <10 albums, 125 tracks>
+ Jazz <25 albums, 212 tracks>
+ etc.
Title: foo_playlist_tree
Post by: the in sound from way out on 2007-09-06 22:05:21
You are right, somehow the () in front and at end mess up.
That was it! I fixed it with :

Code: [Select]
'('@format<'%_itemcount%'>')'

Works fine now. Thank you for your help.
Title: foo_playlist_tree
Post by: Melomane on 2007-09-08 13:58:01
I put up a new version today.

Biggest improvement is that I added two scheme functions that let you ask for input when the query gets refreshed. This allows you to create a generic query that will prompt you for input. See the bottom of the post for an example.

ChangeLog:
Quote
* don't ask about the user map.
* new scheme functions that allow interaction:
o (prompt-user-string "foo") - prompts the user for input. Returns a string. "" for cancel.
o (prompt-user-list "foo" ("option 1" "option 2" ... "option n")) - prompts the user to select from given options - returns zero-based index of selection. -1 for cancel.

Example of prompting query:
Code: [Select]
(let ((tags (list "artist" "album" "title")))
(let ((n (prompt-user-list "Tag:" tags)))
(when (>= n 0)
(let ((criteria (prompt-user-string "Criteria:")))
(display criteria)
(when (> (string-length criteria) 0)
(for-each-db-entry
(lambda (handle)
(add-node
handle
(list (format-title handle "%artist%")
(format-title handle "%album%")
(format-title handle "%title%"))))
(string-append (list-ref tags n) " " criteria)))))))


 

nothing displayed!
Title: foo_playlist_tree
Post by: cwbowron on 2007-09-08 14:50:16
nothing displayed!


What ui component are you using?  Was there an error message displayed on the console?
Title: foo_playlist_tree
Post by: Melomane on 2007-09-08 16:29:31
columns
->"reference to undefined identifier: prompt-user-list"

edit: sorry, i haven't use latest dll
Title: foo_playlist_tree
Post by: reking on 2007-09-08 20:47:28
Help. I can't stand this anymore, I want to change double click in the playlist tree to expand/collapse, but there is no such option in the configuration window. Yet I've seen people talk about it. What am I doing wrong?

I have the latest version from http://wiki.bowron.us/index.php/Playlist_Tree (http://wiki.bowron.us/index.php/Playlist_Tree)
Title: foo_playlist_tree
Post by: MiSP on 2007-09-08 21:32:46
Help. I can't stand this anymore, I want to change double click in the playlist tree to expand/collapse, but there is no such option in the configuration window. Yet I've seen people talk about it. What am I doing wrong?

I have the latest version from http://wiki.bowron.us/index.php/Playlist_Tree (http://wiki.bowron.us/index.php/Playlist_Tree)

I can't do this either. It's not a feature I've been missing, but now as you say it, there's nothing wrong implementing it (after all, it's the way all other UIs work).
Title: foo_playlist_tree
Post by: vader897 on 2007-09-30 07:39:07
I am trying to make a dynamic playlist of all the file of one file type.  I have tried using the following things in the criteria box but each time the playlist is just returning every item in my database.

$ext(%_path%) IS mp3
$ext(_path) IS mp3
$ext(path) IS mp3

I am a little confused as to why the criteria box doesnt use %% for the syntax when referring to tags.  I got $ext(%_path%) IS mp3 from the example queries wiki page.

Thank you for your guidance.
-vader897
Title: foo_playlist_tree
Post by: odyssey on 2007-10-03 18:30:32
I have a quite large library (almost 20000 entrys) and with Playlist Tree plugin loaded, everytime I do anything in a playlist (start play/add or remove files etc) it hangs 1-2 sec. This is VERY annoying, since it doesn't matter how small a playlist I edit.

Is it because I enabled refresh in one of my querys? I doubt it's nessesary to refresh the library ALL THE TIME ?!?!?
Title: foo_playlist_tree
Post by: MiSP on 2007-10-03 19:30:49
Is it because I enabled refresh in one of my querys?

Yep. Do as I do - map the refresh function to F5, so that you can press F5 whenever you want to update the playlist tree.
Title: foo_playlist_tree
Post by: Dave_Scream on 2007-10-07 14:54:50
$if(%album artist%,$puts(ar,%<album artist>%),$puts(ar,%<artist>%))
$get(ar)|%album%|%title%

i read that <%tag%> is not working...  but this "lambda" request language is very hard-to-find for me...

please, can someone explain to me, how i can realize this function with that difficult query language?
Title: foo_playlist_tree
Post by: MiSP on 2007-10-07 21:24:30
$if(%album artist%,$puts(ar,%<album artist>%),$puts(ar,%<artist>%))
$get(ar)|%album%|%title%

i read that <%tag%> is not working...  but this "lambda" request language is very hard-to-find for me...

please, can someone explain to me, how i can realize this function with that difficult query language?

$put(ar,%<album artist>%) makes a variable called ar, sets it to %<album artist>% and returns that value. $puts(ar,%<album artist>%) (think "put silent") does the same, but does not return the value (i.e. it only makes the variable). You can call that variable later using $get.

In other words: Using $put(ar,%<album artist>%) is the same as using just %<album artist>%, except it works.

You can also use the $puts command first thing in the script for every tag you want to do it with, and call them later using $get, but it's easier just using $put and putting it where you'd else want it (you can still call them later anyway).

By the way, the $if check at the beginning is pointless - using %album artist% returns the album artist tag if present, otherwise returns the artist tag (and then goes on to a few more if artist isn't found either).


So, to sum it up - the script you're looking for is probably this:

Code: [Select]
$put(ar,%<album artist>%)|%album%|%title%


Easy as pie.
Title: foo_playlist_tree
Post by: Dave_Scream on 2007-10-07 22:13:01
$put(ar,%<album artist>%) makes a variable called ar, sets it to %<album artist>% and returns that value. $puts(ar,%<album artist>%) (think "put silent") does the same, but does not return the value (i.e. it only makes the variable). You can call that variable later using $get.

In other words: Using $put(ar,%<album artist>%) is the same as using just %<album artist>%, except it works.

You can also use the $puts command first thing in the script for every tag you want to do it with, and call them later using $get, but it's easier just using $put and putting it where you'd else want it (you can still call them later anyway).

By the way, the $if check at the beginning is pointless - using %album artist% returns the album artist tag if present, otherwise returns the artist tag (and then goes on to a few more if artist isn't found either).


So, to sum it up - the script you're looking for is probably this:

Code: [Select]
$put(ar,%<album artist>%)|%album%|%title%


Easy as pie.


thank u for help, but i know this.

in previous post my script was:

$if(%album artist%,$puts(ar,%<album artist>%),$puts(ar,%<artist>%))
$get(ar)|%album%|%title%

but ive tryed and these schemes:

1. %<album artist>%|%album%|%title%
2. $if($meta(%album artist%),%<album artist>%,%<artist>%)|%album%|%title%
3. $if($meta(%album artist%),puts(ar,%<album artist>%), puts(ar, %<artist>%) $get(ar)|%album%|%title%
shure it works, but not all releases are in list!

i readed somewhere that in playlist tree  %<tag>% is not working, but this mechanism can be realized by special query language...

but this is very hard-to understand... so if anyone can halp me with this, please help.
---
i need query script for this query (in simple form): %<album artist>%|%album%|%title%
Title: foo_playlist_tree
Post by: cwbowron on 2007-10-08 14:06:52
i need query script for this query (in simple form): %<album artist>%|%album%|%title%

Set the source to @scheme and the format to:

Code: [Select]
(for-each-db-entry
 (lambda (handle)
  (for-each
    (lambda (album-artist)   
      (add-node
      handle
      (list album-artist
    (format-title handle "%album%")
    (format-title handle "%title%"))))
    (meta-list handle "album artist"))))
Title: foo_playlist_tree
Post by: Dave_Scream on 2007-10-08 15:54:50


aha! thank you it works!

but how i must change this script if i want to use %<artist>% instead of %<album artist>% if the last is empty?
i feel that i must change somethink it this place?
Code: [Select]
   (for-each 
    (lambda (album-artist)


because this is dont work:
Code: [Select]
(for-each-db-entry
(lambda (handle)
   (add-node
    handle
    (list (format-title handle "$if($meta(%album artist%),%<album artist>%,%<artist>%)")
      (format-title handle "%album%")
      (format-title handle "%title%")))))
Title: foo_playlist_tree
Post by: 2Pacalypse on 2007-10-08 20:56:56
are there any good tutorials for this? i want a most played & a recently added script
Title: foo_playlist_tree
Post by: cwbowron on 2007-10-08 21:41:33
but how i must change this script if i want to use %<artist>% instead of %<album artist>% if the last is empty?

Code: [Select]
(for-each-db-entry
 (lambda (handle)
  (for-each
    (lambda (artist-or-album)   
      (add-node
      handle
      (list artist-or-album
    (format-title handle "%album%")
    (format-title handle "%title%"))))
    (let ((album-artist-list
  (meta-list handle "album artist")))
      (if (null? album-artist-list)
  (meta-list handle "artist")
  album-artist-list)))))
Title: foo_playlist_tree
Post by: MiSP on 2007-10-08 22:33:30
Like 2Pacalypse asked: Are there any good tutorials for this scripting language? Preferably focused on foobar2000 use?
Title: foo_playlist_tree
Post by: Dave_Scream on 2007-10-09 09:01:05
but how i must change this script if i want to use %<artist>% instead of %<album artist>% if the last is empty?

Code: [Select]
(for-each-db-entry
 (lambda (handle)
  (for-each
    (lambda (artist-or-album)   
      (add-node
      handle
      (list artist-or-album
    (format-title handle "%album%")
    (format-title handle "%title%"))))
    (let ((album-artist-list
  (meta-list handle "album artist")))
      (if (null? album-artist-list)
  (meta-list handle "artist")
  album-artist-list)))))


wohoho! it works! thanks! when i click on the whole query folder... playlist get file list with many duplicates... i know this is because 1 track can be in many nodes... well this is not important.

but this query language is VERY hard!! and not transparent!
иге I feel how it powerfull!

i look at tutorial... and i note this functions:
(for-each-node-entry node-name fn)
(get-file-size handle) => returns size in bytes

and for example with previous query can I transform it and make some query, which will show summary size of every node?:

for example:
artist (size of all child nodes)
-label(size of all child nodes)
--album(size)
-label(size of all child nodes)
--album(size)

is this realizeable too? if it is not much simply for u then just say "yes" and all
Title: foo_playlist_tree
Post by: virus_found on 2007-10-25 10:15:18
Sorry for a noobish question, but...
I'm new to playlist_tree (never used any "browsers" like albumlist either). But i'm quite adequate to TAGZ.
So: how do i make my playlist tree look and function the same way as the standart Playlist Switcher?  But with one exclusion, i don't want to create and use hundreds of playlists (before that, i used one static (handmade) playlist for each %artist% folder in my library). But i want to use only ONE dynamic playlist connected to Playlist Tree. For ex: when i leftclick on an item in the tree, this playlist is filled with songs, appropriate to a criteria. When i click on another item, it's filled with other songs
I'm sure, it's a simpliest thing
Help is greatly appreciated
ps: sorry for poor english
Title: foo_playlist_tree
Post by: Mishail on 2007-10-25 10:35:52
Quote
But i want to use only ONE dynamic playlist connected to Playlist Tree.

Use the Library playlist as I do (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=58431&view=findpost&p=525058).
Title: foo_playlist_tree
Post by: 2Pacalypse on 2007-10-25 10:39:04
When I add files to my media library I tag them with a timestamp in %ADDED% can someone please tell me how to sort a query by the newest %added% ie recently added playlist.
Title: foo_playlist_tree
Post by: virus_found on 2007-10-25 12:48:31
Quote
Use the Library playlist as I do.

Useful solution, thnx a lot
Zhosh )
Title: foo_playlist_tree
Post by: ~*McoreD*~ on 2007-10-27 00:48:17
Hi, how do you get this working in foobar2000 under default UI? I can't seem to figure out how to insert a new UI Element where I'd like to, and use Playlist Tree as that element. Thanks for your great work.
Title: foo_playlist_tree
Post by: david_dl on 2007-10-27 01:40:17
columns_ui panels and UI elements are completely incompatible.
Title: foo_playlist_tree
Post by: ~*McoreD*~ on 2007-10-29 10:09:30
columns_ui panels and UI elements are completely incompatible.


david_dl, thanks! so does that mean I can't use playlist_tree in the Default UI under 0.9.5? Ouch.
Title: foo_playlist_tree
Post by: poisonborz on 2007-10-30 14:17:04
Hola... Newbie question - Installed Playlist Tree (all the files in the right place), clicked library/playlist tree menu, but none of the menu buttons work... I click "new folder", "file/open", nothing happens... (upd: i thought my problem could be like the one stated above with default ui... but it's the same with columns ui..)
Title: foo_playlist_tree
Post by: TomBarlow on 2007-11-13 17:49:50
Nevermind, I read the readme and managed to solve my own problem!
Title: foo_playlist_tree
Post by: qiru on 2007-12-09 12:31:51
Could anyone re-upload the foo_playlist_tree source code or email a copy to me? Thanks.
Title: foo_playlist_tree
Post by: pIv on 2007-12-19 08:15:12
cwbowron

In last betas (0.95b7 and 0.95b8) Peter delete function $rand() from supported functions list and random queries not worked now.

It is possible support random queries without using internal function of fobar2000 and can you create you own $rand() as internal in foo_playlist_tree.dll?
Title: foo_playlist_tree
Post by: cwbowron on 2007-12-19 15:03:04
cwbowron

In last betas (0.95b7 and 0.95b8) Peter delete function $rand() from supported functions list and random queries not worked now.

It is possible support random queries without using internal function of fobar2000 and can you create you own $rand() as internal in foo_playlist_tree.dll?


if it still is unsupported when the official 0.9.5 is released (non-beta) I'll do something.

In the mean time, you could use a scheme query and use the scheme (rand) function which returns a floating point value between 0-1
Title: foo_playlist_tree
Post by: pIv on 2007-12-24 18:16:50
In beta 9 funcyion $rand() not supported too.

By me it is very good solution add function $cwb_rand(), if Peter not want to  support $rand() function.

Without this function foo_playlist_tree is lost it usefulness as 50% minimum.
Title: foo_playlist_tree
Post by: ssteven on 2008-01-02 21:03:53
Anyone have a mirror? Seems like the main site download is down
Title: foo_playlist_tree
Post by: cwbowron on 2008-01-02 21:11:13
In beta 9 funcyion $rand() not supported too.

By me it is very good solution add function $cwb_rand(), if Peter not want to  support $rand() function.

Without this function foo_playlist_tree is lost it usefulness as 50% minimum.


I added $cwb_rand() to foo_cwb_hooks today.
Title: foo_playlist_tree
Post by: msobetzko on 2008-01-03 03:56:41

In beta 9 funcyion $rand() not supported too.

By me it is very good solution add function $cwb_rand(), if Peter not want to  support $rand() function.

Without this function foo_playlist_tree is lost it usefulness as 50% minimum.


I added $cwb_rand() to foo_cwb_hooks today.


I have been using foo_playlist_tree in 9.4 and love it.  Is it possible to use in the 9.5 default UI?
Title: foo_playlist_tree
Post by: pIv on 2008-01-03 06:28:37

In beta 9 funcyion $rand() not supported too.

By me it is very good solution add function $cwb_rand(), if Peter not want to  support $rand() function.

Without this function foo_playlist_tree is lost it usefulness as 50% minimum.


I added $cwb_rand() to foo_cwb_hooks today.


Big thanks to you from me!
Title: foo_playlist_tree
Post by: ssteven on 2008-01-04 00:18:37
Anyone have a mirror? Seems like the main site download is down


My post seemed to have been ignored! Does the link from http://wiki.bowron.us/index.php/Playlist_Tree (http://wiki.bowron.us/index.php/Playlist_Tree) work for anyone else?
Title: foo_playlist_tree
Post by: cwbowron on 2008-01-04 00:48:18
My post seemed to have been ignored! Does the link from http://wiki.bowron.us/index.php/Playlist_Tree (http://wiki.bowron.us/index.php/Playlist_Tree) work for anyone else?


Sorry the link in the first post was old.

Get it from here:

http://www.bazquux.com/wiki/Foobar2000:Playlist_Tree (http://www.bazquux.com/wiki/Foobar2000%3a%50laylist_Tree)
Title: foo_playlist_tree
Post by: vigge on 2008-02-08 18:32:50
Being able to hide a node completely (not just it's childnodes) would be very nice, unless I am missing something the @hidden "functions" only hide the current nodes children.

Edit: One more thing - I'm getting flickering of various degrees most of the times a query is run. It gets really annoying when using a dark background for the tree panel (white stripes/blocks appearing and disappearing ><). I don't have any idea of how the panel gets redrawn (haven't got much experience in Windows UI programming), but could the flicking possibly be resolved by repainting the panel with the background color before "the big redraw"?
Edit #2: Apparentely one of the queries had autorefresh turned on, with them off I'm only getting giant white flicker while updating the queries which generate long lists.
Edit #3: Hmm or not, flickering is back again =(
Edit #4: Resizing also results in alot of flickering
Title: foo_playlist_tree
Post by: cybasoul on 2008-02-13 10:50:11
Ive been going through the thread's posts and the tutorial page, and I must say that scripting the query scheme is quiet over whelming. I even read some introductions to Scheme and Lambda programing, yet it still doesnt make perfect sense, its damn over whelming.   

Anyway, I have not given up yet, but I really need a scheme that will do the following:

Display only a list of playlists who's names end with "-C".
So that when I have the following playlists shown in "Playlist Switcher":

1. *FILTER*
2. *Browser*
3. *90's Hip Hop*
4. *90's R&B*
5. *100 Most Played*
6. Deep House -C
7. Neo Soul -C
8. Jaz -C

Then only the following playlist should be shown in "Playlist Tree Panel":

Deep House -C
Neo Soul -C
Jaz -C

Can this be done? Can someone please have a go at this and let me know if it can be done, and of cause tell me how to go about, with out sending me to the example page again.

Thanks in advance.

Oh, can the results on the scheme get displayed without the suffix "-C":
So that the scheme looks for playlists who's names end with "-C" but only labels them without the "-C"
Title: foo_playlist_tree
Post by: cwbowron on 2008-02-13 14:20:50
Display only a list of playlists who's names end with "-C".

...

Oh, can the results on the scheme get displayed without the suffix "-C":
So that the scheme looks for playlists who's names end with "-C" but only labels them without the "-C"

this should be pretty close to what you want:

Code: [Select]
(for-each-playlist
 (lambda (playlist)
  (let ((len (string-length playlist)))
    (when (> len 2)
  (let ((suffix (substring playlist (- len 2) len)))
    (when (equal? suffix "-C")
  (let ((shortened (substring playlist 0 (- len 2))))
    (for-each-playlist-entry
      playlist
      (lambda (entry)
(add-node
entry
(list shortened
      (format-title entry "%artist% - %title%"))))))))))))
Title: foo_playlist_tree
Post by: cybasoul on 2008-02-14 08:44:40
this should be pretty close to what you want:

Code: [Select]
(for-each-playlist
 (lambda (playlist)
  (let ((len (string-length playlist)))
    (when (> len 2)
  (let ((suffix (substring playlist (- len 2) len)))
    (when (equal? suffix "-C")
  (let ((shortened (substring playlist 0 (- len 2))))
    (for-each-playlist-entry
      playlist
      (lambda (entry)
(add-node
entry
(list shortened
      (format-title entry "%artist% - %title%"))))))))))))

Thanks for your quick reply, but did you get to test the scheme, because it does not do any thing when I try it.
Title: foo_playlist_tree
Post by: cwbowron on 2008-02-14 13:32:43
Thanks for your quick reply, but did you get to test the scheme, because it does not do any thing when I try it.


Yes, I tested it.  I'm not sure why it wouldnt work for you.
Title: foo_playlist_tree
Post by: cwbowron on 2008-02-18 13:36:11
release 3.0.5 fixes a bug that appears with 9.5.1 betas

    *  added context menu item: Send to library playlist (Selected)
    * fixed a bug in context menu items that caused a crash with 9.5.1 beta
Title: foo_playlist_tree
Post by: Reflection on 2008-02-24 22:56:25
If I hide both the lines and the root node the + disappears and I can't use the tree.

---------

It seems %__replaygain_track_gain%  (even without the %%) is not considered in the criteria box.
It works in the format, instead.
Am I wrong or should I use some other formatting in the criteria box?


Thanks.

I've searched everywhere and still can't figure this out. I would like to use the criteria field to find all tracks that have no replay gain applied. Does anyone know how I can accomplish this?

Thanks.
Title: foo_playlist_tree
Post by: amiti on 2008-02-25 22:33:42
Hello , I remember There was an option for viewing the tracks as they are organized in the harddrive as folder tree. Can you remind me please how it is done?

Thanks.
Title: foo_playlist_tree
Post by: cwbowron on 2008-02-26 13:49:20
Hello , I remember There was an option for viewing the tracks as they are organized in the harddrive as folder tree. Can you remind me please how it is done?


This is probably what you are looking for:

http://www.bazquux.com/wiki/Example_Queries#Using_Drop_Query (http://www.bazquux.com/wiki/Example_Queries#Using_Drop_Query)
Title: foo_playlist_tree
Post by: amiti on 2008-02-26 14:54:13
Thanks , cwbowron.
Is it only possible to see the actual folder organization in hard drive when using @drop ? I was trying this with @database earlier with no success.
Title: foo_playlist_tree
Post by: cwbowron on 2008-02-26 14:58:00
Is it only possible to see the actual folder organization in hard drive when using @drop ? I was trying this with @database earlier with no success.


Take a look at the next query on that page too... basically you can use $replace(%path%,\,|) as your format.
Title: foo_playlist_tree
Post by: amiti on 2008-02-26 17:11:04
Thank you
Title: foo_playlist_tree
Post by: antar3s on 2008-02-28 13:33:41

If I hide both the lines and the root node the + disappears and I can't use the tree.

---------

It seems %__replaygain_track_gain%  (even without the %%) is not considered in the criteria box.
It works in the format, instead.
Am I wrong or should I use some other formatting in the criteria box?


Thanks.

I've searched everywhere and still can't figure this out. I would like to use the criteria field to find all tracks that have no replay gain applied. Does anyone know how I can accomplish this?

Thanks.


this works for me:
NOT %__replaygain_track_gain% HAS .
Title: foo_playlist_tree
Post by: antar3s on 2008-02-28 13:53:28
Being able to hide a node completely (not just it's childnodes) would be very nice, unless I am missing something the @hidden "functions" only hide the current nodes children.


with @hidden2 you can hide entire nodes. just make sure there is a space after hidden2, otherwise it doesn't work for me. and the odd thing is after restarting foobar the nodes are back again, refreshing the query hides them again.
eg this code hides all nodes that have only one item:
'@format<$ifgreater(%_itemcount%,1,,@hidden2 )>'
Title: foo_playlist_tree
Post by: vigge on 2008-02-28 20:12:59
with @hidden2 you can hide entire nodes. just make sure there is a space after hidden2, otherwise it doesn't work for me. and the odd thing is after restarting foobar the nodes are back again, refreshing the query hides them again.
eg this code hides all nodes that have only one item:
'@format<$ifgreater(%_itemcount%,1,,@hidden2 )>'


Unfortunately it doesn't work very well with what I was trying to accomplish:
Code: [Select]
%album%
@quote<@format<$ifgreater(%_itemcount%,1,,@hidden2 )>>
|
%title%

Hides every node, I guess due to all nodes starting out with 0 items when they're being created.

Code: [Select]
%album%
@quote<@format<$ifgreater(%_itemcount%,1,,@hidden )>>
|
%title%

Renders nodes with only 1 item unexpandable and leaves the rest. They're still visible though, I want the ones with less than a specified number of subitems to be hidden =/
Title: foo_playlist_tree
Post by: antar3s on 2008-03-04 19:09:01
Unfortunately it doesn't work very well with what I was trying to accomplish:
Code: [Select]
%album%
@quote<@format<$ifgreater(%_itemcount%,1,,@hidden2 )>>
|
%title%

Hides every node, I guess due to all nodes starting out with 0 items when they're being created.

Code: [Select]
%album%
@quote<@format<$ifgreater(%_itemcount%,1,,@hidden )>>
|
%title%

Renders nodes with only 1 item unexpandable and leaves the rest. They're still visible though, I want the ones with less than a specified number of subitems to be hidden =/


interestingly enough: i tested it again and found that it's only working if 'sort by display name when populating' is enabled!!! i'm not sure if this is a bug or a feature

i guess this would be what you want:
Code: [Select]
'@format<$ifgreater(%_itemcount%,1,,@hidden2 )>' %album%|%title%
Title: foo_playlist_tree
Post by: Xezzy on 2008-03-05 16:58:35
EDIT: When I send to current playlist I cant focus on current playling track, if it was in previous playlist. Cant play previous track either. Is there a walkaround for this?
Title: foo_playlist_tree
Post by: Xezzy on 2008-03-05 17:38:35
Oh, I found the way to get focus. Back button doesnt work (as previous PLAYING) anyway, I think its not doable o.0

EDIT: sorry for previous double post, it wasnt intentional.
Ive read on your page that adding file to playlist through tree playlist is requested, but only for @drop'ed folders. Hope it will be good for source: @playlist<x> either :]

EDIT2: IMHO @node doesnt work properly, it should use only %_name% of query to determine node. Be cause my queries looks like this:

%_name% '('%_itemcount%')'

its impossible to create @node o.0

EDIT3(lol): Why I cant limit by size if I want more than 2gb? 26 gb for ex.?
Title: foo_playlist_tree
Post by: Xezzy on 2008-03-11 15:03:18
So any1 knows how to bypass this silly 2gb limitation? I want to create playlist restriced by size. Maybe there are other plugins that can do that?
Title: foo_playlist_tree
Post by: antar3s on 2008-03-11 18:04:33
EDIT2: IMHO @node doesnt work properly, it should use only %_name% of query to determine node. Be cause my queries looks like this:

%_name% '('%_itemcount%')'

its impossible to create @node o.0

EDIT3(lol): Why I cant limit by size if I want more than 2gb? 26 gb for ex.?


For the size limitation i suggest to use a @scheme query, like the one in this post (http://www.hydrogenaudio.org/forums/index.php?showtopic=29435&st=1700&p=513691&#entry513691) from cwbowron.
Title: foo_playlist_tree
Post by: Xezzy on 2008-03-11 19:41:16
Uhm, thank you, I will try to make it work 
<No luck yet >
Title: foo_playlist_tree
Post by: the in sound from way out on 2008-03-13 22:41:17
Hi all,

I'm looking for a way to index leaves inside the Playlist Tree.

E.g., for a "most played" query, I'd like to get:

1. Artist - song
2. Artist - song
3. ...
4. and so on...

Is it possible?

Thanks
Title: foo_playlist_tree
Post by: Xezzy on 2008-03-14 11:34:12
Edit query and type %artist% - %title% in format box.
Title: foo_playlist_tree
Post by: Xezzy on 2008-03-14 16:34:52
It looks like playlist tree can run schemes at startup. Is it possible to write scheme which would change background color? (depending on cwb_systemdatetime in my case...)
Title: foo_playlist_tree
Post by: shakey_snake on 2008-03-14 20:23:53
Um... No.
Playlist tree is only runs schemes that deal with (surprise!) playlists.
Title: foo_playlist_tree
Post by: the in sound from way out on 2008-03-15 11:26:04
Edit query and type %artist% - %title% in format box.
I'll try to make myself clearer.

I already get:

artist - title
artist - title
artist - title

I'm trying to get:

1. artist - title
2. artist - title
3. artist - title


Thx for your help. 
Title: foo_playlist_tree
Post by: püppchen on 2008-03-19 10:34:12
Hi.
Is there any collection of schemes which are usefull and used very often? I'm looking for a scheme to fill my Ipod. But I don't want to fill it with random tracks. Moreover I want to fill it with random albums. Maybe in this way: Pick a random track, look if it's allready in the tracklist, in case not, add the whole album. Is this possible? I'm not into deep with the scheme language yet. Is there anyone who made something similar?

Cheers
Title: foo_playlist_tree
Post by: Keikonium on 2008-03-31 06:18:23
Is it just me or can playlists ONLY be made consisting of up to 2047 MB? I can't seem to make a playlist filled with random songs that is 2 GB or more .

Any help?
Title: foo_playlist_tree
Post by: Totyo on 2008-03-31 09:31:54
When I am trying to add my music folder with @drop<> and while it processes the files, foobar2000.exe is trying to connect several times to the internet and if I block it in my firewall it crashes saying:

Unhandled exception : Could not connect to host

and also: it would be cool to lock playlist to a query (creating an autoplaylist)
Title: foo_playlist_tree
Post by: scars on 2008-04-01 22:52:09
Hi all,

im using playlist tree with my foobar2000 - great plugin, now ive tried to use a query for my albums, that updates itself if ill add new albums to the folder...

for example this is the folder:

Code: [Select]
Albums
+Artist
|   +Album1
|   |       Song1
|   |       Song2
|   |      
|   +Album2
|           Song1
|           Song2
|          
+Artist2
    +Album1
    |       Song1
    |       Song2
    |      
    +Album2
            Song1
            Song2


So if i use this folder with the @drop command the songs are listet but without their subfolders

Code: [Select]
Albums
Song1
Song2
Song1
Song2
Song1
Song2
Song1
Song2


Is it possible that he also shows the subfolders ?

thanks
Title: foo_playlist_tree
Post by: gob on 2008-04-04 02:16:19
i upgraded from an athlon xp 2500+ (barton) to an athlon 64 x2 4200+. i have a total of 13,033 tracks and 5 queries. it literally took 45 seconds to refresh all the trees, now it takes 5 seconds.

im used to doing other things while i waited for this and now i dont have time. would it be possible to add a delay so the refresh process takes longer?
Title: foo_playlist_tree
Post by: Kiteroa on 2008-04-05 07:11:04
In scheme queries,  is there away to get hold of the tracks in the Playback Queue?
Title: foo_playlist_tree
Post by: jbk_atl on 2008-04-09 18:52:59
Great Plugin ........ couple of questions / suggestions

*  would be cool to change icons individually if possible as opposed to being limited to folder / leaf

*  also, could you make it so you can use .png files as well

Thanks
Title: foo_playlist_tree
Post by: metal_termite on 2008-04-10 02:09:28
I do not have Automatically Refresh enabled on any queries/folders. Each time there is a track change, the component blinks; I assume its redrawing itself. Is that normal behavior or is it just me? If it is normal it would be nice if the redraw was optimized so it didn't blink.

PS +1 to the previous post regarding PNG's.
Title: foo_playlist_tree
Post by: Arithmomaniac on 2008-04-14 00:29:51
The $rand() function for Population Order stopped working for me. Is this a known problem?
Relevant extensions:

    foobar2000 core 0.9.5.1
    Playlist Tree Panel 3.0.4 [Aug  2 2007 - 10:16:21]
    Randomized Playlist Entry 1.2.3
    Send to Device 1.1.2 [Nov 28 2007 - 10:13:31]
    Columns UI 0.2
    Default User Interface 0.9.5
Title: foo_playlist_tree
Post by: cwbowron on 2008-04-14 14:43:21
The $rand() function for Population Order stopped working for me. Is this a known problem?


It was removed from foobar2000.

If you use foo_cwb_hooks, you can get the latest and use the $cwb_rand() function instead.
Title: foo_playlist_tree
Post by: Arithmomaniac on 2008-04-15 04:34:48
Quote
was removed from foobar2000.

If you use foo_cwb_hooks, you can get the latest and use the $cwb_rand() function instead.


Thanks.
Arithmomaniac
Title: foo_playlist_tree
Post by: Keikonium on 2008-04-15 04:38:28
cwbowron,

Is there a reason that playlist tree can only create random playlists up to 2047 MB in size, and no higher?

~ Kei
Title: foo_playlist_tree
Post by: Kiteroa on 2008-04-18 02:41:01
In scheme queries,  is there away to get hold of the tracks in the Playback Queue?


Found it:

(for-each-queue-entry fn)


But I am also trying to refer to a node using

(for-each-node-entry node-name fn)

but cannot get the syntax right to refer to a (sub-)node in a different playlist tree. Anyone know how?
Title: foo_playlist_tree
Post by: Fabien on 2008-05-27 13:43:48
Hello,

how do you activitate the playlist tree? I am on 0.9.5.2 version.
I tried to trigger a query but nothing happens. In the preferences page, when i click on query, or leaf, there is a dialog bow with "Playlist Tree must be active to select icons" message. How can i do this?

Thanks in advance
Fabien
Title: foo_playlist_tree
Post by: 45miles on 2008-05-27 18:26:41
hi all,

just came back to foobar2000 after a necessary reinstall. My previous installation of fb was rarely old and not really up-to-date. Because of not backed up any setting, components et al. i'am now trying to rebuild it.

By copying playlist_tree and cwb_hooks to the components directory, fb say after a restart that they are not for this version (the newest 9.5.3).
---
The following components are incompatible with this foobar2000 version and will function partially or incorrectly:
- foo_cwb_hooks.dll : cwbowron's title format hooks, Tagger Panel Window
- foo_playlist_tree.dll : Playlist Tree Panel
Please update these components to their latest versions if possible.
--
Hmm, referring to http://www.bazquux.com/wiki/Foobar2000:Playlist_Tree (http://www.bazquux.com/wiki/Foobar2000%3a%50laylist_Tree) it seems they won't be updatet. Is there a hope to get them to work or do i have to look for an alternative.

kind regards
rainer
Title: foo_playlist_tree
Post by: Arithmomaniac on 2008-05-27 23:50:50
What rating/star system works best with Playlist Tree?
Is there a way to make a "Party Shuffle" script along the following lines:

Make a 5-song playlist that will favor higher-rated/starred tracks
sort randomly
have it autoupdate after every track
?

Thanks,
Arithmomaniac
Title: foo_playlist_tree
Post by: gob on 2008-06-15 02:40:19
anyone know of a way to prevent foo_uie_albumart from displaying images from the selection in foo_playlist_tree? thanks.
Title: foo_playlist_tree
Post by: DocBeard on 2008-06-15 15:41:53
The simplest way is to make sure that 'toggle follow cursor' (in the album art context menu) is off, so that it always displays art for the currently-playing song only. You can also switch this off by double-clicking on the art panel.

I don't know if there's a way to set it to follow your cursor within a playlist, but to ignore selections made in Playlist Tree, though.
Title: foo_playlist_tree
Post by: gob on 2008-06-21 16:45:08
damn, im not sure when this behavior was changed but its kind of annoying now. its a shame the older versions of playlist tree are nowhere to be found. R.I.P playlist tree, cwbowron and his components will be greatly missed.
Title: foo_playlist_tree
Post by: HAL_ on 2008-06-22 10:07:57
I'm using playlist tree in order to generate automatic bests of (by genre, artist, year and so on)
It do very well the job but for the artists best of, I want to add a filter and I don't know how :

Today I use :
source :
@database

Criteria :
%rating% GREATER 2

Format :
%artist%|%rating% - %title%

But a lot of artists only have 1 song in their best of and I prefer display only those who have at least 2 songs

Is it possible to add this filter ? 
Title: foo_playlist_tree
Post by: Zilog Jones on 2008-07-03 00:58:31
What exactly isn't working in 0.9.5.3 with Playlist Tree? It seems to be working fine for me (outside the lack of $rand() which was removed before), though I don't have any particularly complicated queries in it.

Is there any equivalent function with the new default UI? I mainly use it just for making playlists containing/not containing particular genres, ratings or filetypes.
Title: foo_playlist_tree
Post by: DocBeard on 2008-07-03 03:16:51
I was able to use Playlist Tree without incident in 9.5.3 for a while (aside from the error message, obviously). I assume there are some functions within it that use the bad API, but I couldn't tell you what they are.

For making simple playlists that match up to simple (or not so simple) queries, I find the new Library Search command to be pretty effective. You could probably also set up an Album List view by genre, and then of course there's Facets (which I am not all that familiar with, as I don't use the Default UI).
Title: foo_playlist_tree
Post by: _m²_ on 2009-07-09 20:44:55
Does anybody have the latest version?
The author took it down.
Title: foo_playlist_tree
Post by: DocBeard on 2009-07-09 20:55:55
Do a forum search for "playlist tree mod". Someone else has taken over the project and adapted it to work with modern FB2K.
Title: foo_playlist_tree
Post by: _m²_ on 2009-07-10 14:28:50
Do a forum search for "playlist tree mod". Someone else has taken over the project and adapted it to work with modern FB2K.


Thank you.
Title: Re: foo_playlist_tree
Post by: 2tec on 2016-11-10 21:12:39
Do a forum search for "playlist tree mod". Someone else has taken over the project and adapted it to work with modern FB2K.

perhaps you meant foo_playlist_organizer ~ http://hydrogenaud.io/index.php/topic,80705.0.html