Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_playlist_tree (Read 713063 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

foo_playlist_tree

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

foo_playlist_tree

Reply #1576
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?

foo_playlist_tree

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

foo_playlist_tree

Reply #1578
Can this plugin use 256 colors for the icons?
I used this plugin before and back them it supported even XP icons.

foo_playlist_tree

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

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

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:
There used to be a link to my website here.

foo_playlist_tree

Reply #1580
Thank you for the update!

foo_playlist_tree

Reply #1581
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)


foo_playlist_tree

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

foo_playlist_tree

Reply #1583
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?

foo_playlist_tree

Reply #1584


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.
There used to be a link to my website here.

foo_playlist_tree

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

foo_playlist_tree

Reply #1586
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?

foo_playlist_tree

Reply #1587
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
There used to be a link to my website here.

foo_playlist_tree

Reply #1588

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!

foo_playlist_tree

Reply #1589
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?

foo_playlist_tree

Reply #1590
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?

foo_playlist_tree

Reply #1591
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

foo_playlist_tree

Reply #1592
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"))))
There used to be a link to my website here.

foo_playlist_tree

Reply #1593
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>%)

foo_playlist_tree

Reply #1594
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")))
There used to be a link to my website here.

foo_playlist_tree

Reply #1595
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!

foo_playlist_tree

Reply #1596
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)))))))
There used to be a link to my website here.

foo_playlist_tree

Reply #1597

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!!!!!

foo_playlist_tree

Reply #1598
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
There used to be a link to my website here.

foo_playlist_tree

Reply #1599
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?