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: WSH Panel Mod script discussion/help (Read 1398623 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

WSH Panel Mod script discussion/help

Reply #1250
Firstly, I must say I have no clue how to script with this component, and I've been scratching my head for a long time thinking it might be nice to learn. Unfortunately I find no structured way of 'learning'. All the documentation I have ever found seems to be like looking at the 'Oxford English Dictionary'; it's useful if you know how to use the English language, otherwise there is no structured guidance.

Having said that, here is my problem...

One of the "essential" panels in my foobar2000 layout is a fantastic WSH artwork viewer which has auto-scrolling and other built-in functions. This script has been part of my layout for a long time. I copied the script from someone else's foobar2000 skin (named EIKO).

A few days ago I updated "WSH_Panel_Mod.dll" to version 1.5.0, and when I view the console output after foobar2000 has started I now see these lines:
WSH Panel Mod: Warning: Obsolete: window.CreateTimerInterval() is now obsolete, please use window.SetInterval() in new script.
WSH Panel Mod: Warning: Obsolete: window.CreateTimerTimeout() is now obsolete, please use window.SetTimeout() in new script.
WSH Panel Mod: Warning: Obsolete: Please use AppendTo() method to create sub menu instead of AppendMenuItem()


I opened the config of my WSH Artwork Viewer panel and conducted a text search. I found references to the "old" WSH Panel Mod methods !

What do I do now? There is no way I am ever going to remove my WSH Artwork Viewer, and I have no capability to edit the script !

Do I simply replace all instances of  the text window.CreateTimerInterval() with window.SetInterval() ...is that it?  ...or does the function need to be re-written?

It seems to me that unless I somehow learn how to edit WSH Panel Mod scripts on my own, I am going to have to NOT update this component anymore !!??

WSH Panel Mod script discussion/help

Reply #1251
Do I simply replace all instances of  the text window.CreateTimerInterval() with window.SetInterval() ...is that it?  ...or does the function need to be re-written?

Replace window.CreateTimerInterval(delay) with window.SetInterval(on_timer, delay)
For example, if the delay is 500 ms, replace window.CreateTimerInterval(500) with window.SetInterval(on_timer, 500)
It will work, at least if there is only one timer used in your script.
(You can also rename on_timer and the on_timer() function to something else, but it's not necessary.)

For AppendMenuItem(), see here: http://www.hydrogenaudio.org/forums/index....st&p=773643

WSH Panel Mod script discussion/help

Reply #1252
@r0lz,
thanks for the guidance +++
What about window.SetTimeout() . Do you have info on that one?

@ marc2003,
I just added your Autoplaylists script to a tabbed panel ...it is brilliant ...much nicer than loading these things at foobar2000 startup.
Unfortunately, it is taking the background color of my general display preferences, but I have a different custom color scheme for my tabbed panel.
I right-click on your WSH Panel, but I don't see a Properties page entry. How do I edit the colors?
The background color I want is BROWN-BLACK (RGB: 28,28,28), with WHITE Foreground/Font (RGB: 255,255,255)

WSH Panel Mod script discussion/help

Reply #1253
What about window.SetTimeout() . Do you have info on that one?

Same thing: replace CreateTimerTimeout(timeout) with SetTimeout(on_timer, timeout)

Have a look at Interfaces.txt.  The syntax for each function is listed (but without much explanation).


WSH Panel Mod script discussion/help

Reply #1254
So I tried to edit one of the three obsolete methods   --->   CreateTimerInterval

One line in my script contained:   this.ChangeTimer = window.CreateTimerInterval(Prop.ChangeAnimation.RefreshInterval);
Nine other lines in my script contained:   this.GetImageTimer = window.CreateTimerInterval(200);    (the integer varied between 200, 120, 50)

I changed One line to:   this.ChangeTimer = window.SetInterval(on_timer, Prop.ChangeAnimation.RefreshInterval);
I changed Nine other lines to:   this.GetImageTimer = window.SetInterval(on_timer, 200);    (the integer varied between 200, 120, 50)

--------------------------------------------------------------------------------------------------------------------------------
WSH Panel Mod:      Aw, crashed ):

Console:      Error: WSH Panel Mod ({FFF2B498-2C93-4683-9C3B-504C9370EC6B}): Microsoft JScript runtime error:
Console:      Object doesn't support this property or method
Console:      File: <main>
Console:      Ln: 1233, Col: 3
Console:      <source text only available at compile time>
--------------------------------------------------------------------------------------------------------------------------------

It seems like the info by r0lz is not enough ... any other suggestions?

Line 1233 in the script looks like this:
Code: [Select]
1231    function KillGetImageTimer (){
1232        if (Image.GetImageTimer){
1233            Image.GetImageTimer.Dispose();
1234            Image.GetImageTimer = null;
1235            CollectGarbage();
1236        }
1237    }

WSH Panel Mod script discussion/help

Reply #1255
Falstaff i tried your WSH playlist on a fresh install (CUI) with the latest WSH Panel Mod installed. It displays everything fine, but double-clicking a track does nothing. Any ideas?

WSH Panel Mod script discussion/help

Reply #1256
I don't know why your changes do not work.  Can you post the original script somewhere?

WSH Panel Mod script discussion/help

Reply #1257
r0lz, I appreciate your effort for trying get my script to work +++

Here is an upload of my original script with all its support files, so you can make it work 'out of the box' (make sure to read the README):
WSH_Artwork_Viewer uploaded at filebeam (500 KB)


WSH Panel Mod script discussion/help

Reply #1259
@derty2, you can set those colours right at the start of the on_paint() function

Code: [Select]
g_backcolor = RGB(28, 28, 28); //background
g_textcolor = RGB(255, 255, 255); //text
g_textcolor_hl = RGB(255, 255, 255); //title text

WSH Panel Mod script discussion/help

Reply #1260
Thank you very much! 

I just noticed the new autoplaylist script with abilty to change name - somehow i missed it two weeks ago. I won't use the common file panel mode but it should be mentioned that it can be quite confusing that changes in one panel aren't reflected suddenly in the other ones. I mean confusing in that sense that if a new user don't know this feature and starts using several panels he will be wondering that after restarting foobar2000 all panels will be overwritten with last saved panel. Mabe it is a good idea to make unique file mode the default one (after importing script)

A little request for convenience: it would be nice to have all settings for autoplaylist: name, query, sorting and option for force-sorting in one window rather than clicking from window to window and having global option for force-sorting.

WSH Panel Mod script discussion/help

Reply #1261
ah yes, i forgot to implement synchronisation between common autoplaylist panels. that's now fixed.

WSH Panel Mod script discussion/help

Reply #1262
marc2003, Thanks for the color code +++

I just created 12 Autoplaylists for myself, and I ended up with 12 extra playlists...
I tried restarting foobar2000 and it took a long time to start. I would like to have only one Autoplaylist existing at any point in time; this means I would prefer if all new Autoplaylist queries overwrote each other. Is it possible to have a preference for this?

WSH Panel Mod script discussion/help

Reply #1263
i won't be adding more options but you can stop the panel automatically generating playlists. right click>on successful creation/edit>do nothing.

WSH Panel Mod script discussion/help

Reply #1264
right click>on successful creation/edit>do nothing.

By the way: i have this option enabled and because of that the option "replace existing playlists with same name" is greyed out and hence not available although it makes sense to have it.

WSH Panel Mod script discussion/help

Reply #1265
you've completely lost me. 

obviously that option is grayed out for a reason. you've explicitly chosen the option do nothing so how can that action even be performed? you do know what replace means, right?


WSH Panel Mod script discussion/help

Reply #1267
@marc2003
well, when you execute a query from icon with option "do nothing" enabled then the created autoplaylist will replace or not replace already existing ones with same name - depending from check state of grayed out option "replace ..."

WSH Panel Mod script discussion/help

Reply #1268
ok, i see what you mean now. clicking that button doesn't really fit in with those options. anyway, the option is no longer grayed out and i might look into re-arranging the menu sometime.

WSH Panel Mod script discussion/help

Reply #1269
After doing a fresh install of foobar on a new Windows install, I'm met with this error which seems to be coming from my WSH panel script. Keep in mind that I've altered nothing in this script between installs.

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 64E93A43h
Access violation, operation: read, address: 00000050h

Call path:
entry=>app_mainloop

Code bytes (64E93A43h):
64E93A03h:  00 00 0F 84 90 56 0A 00 8B 55 C4 8D 45 C0 50 6A
64E93A13h:  00 8D 4D B8 51 52 E8 41 48 FD FF 89 45 E8 8B 45
64E93A23h:  0C 85 C0 74 15 8B 8B 5C 01 00 00 8B 51 50 8B 4D
64E93A33h:  C0 50 E8 54 4C FD FF 89 45 E0 8B 83 5C 01 00 00
64E93A43h:  8B 48 50 85 F6 8B 75 E8 0F 95 C2 88 91 74 05 00
64E93A53h:  00 85 F6 0F 88 A2 4E 04 00 8D 47 04 50 FF 15 68
64E93A63h:  13 E6 64 85 C0 0F 85 35 87 FD FF 8B 47 34 C7 07
64E93A73h:  FC C7 E6 64 85 C0 0F 85 C2 56 0A 00 8B 47 0C 8B

Stack (0040EA9Ch):
0040EA7Ch:  00000000 FFFFFD34 000002E4 FFFFFD34
0040EA8Ch:  000002CC 00000019 00000000 0040EAD0
0040EA9Ch:  483ADF8E 00000000 0040EB40 0012EF48
0040EAACh:  07D45CB0 00000000 00000000 0012E640
0040EABCh:  07D45CB0 0012E640 00000000 00000000
0040EACCh:  00000000 07D4F120 08E45BE0 082D6E00
0040EADCh:  0012A994 025D3278 00000008 00000000
0040EAECh:  00000004 00000000 025D2420 80020101
0040EAFCh:  0012EF48 0040EA9C 0040EBA4 64FFC075
0040EB0Ch:  00000001 0040EBB4 64E938B7 0012EF48
0040EB1Ch:  00000000 00000000 483ADFB6 08DA5960
0040EB2Ch:  00000000 08DA5962 77281ECD 00000000
0040EB3Ch:  0012DD88 00000000 00000000 00000000
0040EB4Ch:  00000000 00000000 00000000 00000000
0040EB5Ch:  00000000 08DA5960 00000000 0040EBFC
0040EB6Ch:  0012A450 64E922D4 00000000 00000000
0040EB7Ch:  00000009 00000000 00000000 00000000
0040EB8Ch:  00000000 00001D68 00000000 00000001
0040EB9Ch:  483ADFAA 00000000 0040EC74 64FFC0C9
0040EBACh:  00000000 75ED14DD 0040EC00 64E84915

Registers:
EAX: 00000000, EBX: 0012EF48, ECX: 0040EAC8, EDX: 07D4F120
ESI: 00000000, EDI: 025D2420, EBP: 0040EB10, ESP: 0040EA9C

Crash location:
Module: jscript9
Offset: 33A43h
Symbol: "DllGetClassObject" (+A337h)

Loaded modules:
foobar2000                      loaded at 00BA0000h - 00D92000h
ntdll                            loaded at 77210000h - 77390000h
kernel32                        loaded at 75EC0000h - 75FD0000h
KERNELBASE                      loaded at 76280000h - 762C6000h
COMCTL32                        loaded at 6CF00000h - 6D09E000h
msvcrt                          loaded at 762D0000h - 7637C000h
GDI32                            loaded at 765F0000h - 76680000h
USER32                          loaded at 75890000h - 75990000h
ADVAPI32                        loaded at 76540000h - 765E0000h
sechost                          loaded at 76790000h - 767A9000h
RPCRT4                          loaded at 75990000h - 75A80000h
SspiCli                          loaded at 74900000h - 74960000h
CRYPTBASE                        loaded at 748F0000h - 748FC000h
LPK                              loaded at 74AE0000h - 74AEA000h
USP10                            loaded at 75FD0000h - 7606D000h
SHLWAPI                          loaded at 76190000h - 761E7000h
DSOUND                          loaded at 6DD40000h - 6DDB2000h
ole32                            loaded at 75B10000h - 75C6C000h
WINMM                            loaded at 72F20000h - 72F52000h
POWRPROF                        loaded at 6C980000h - 6C9A5000h
SETUPAPI                        loaded at 75CF0000h - 75E8D000h
CFGMGR32                        loaded at 74990000h - 749B7000h
OLEAUT32                        loaded at 75A80000h - 75B0F000h
DEVOBJ                          loaded at 74B00000h - 74B12000h
UxTheme                          loaded at 6CA80000h - 6CB00000h
SHELL32                          loaded at 74BE0000h - 7582A000h
zlib1                            loaded at 5A4C0000h - 5A4D4000h
shared                          loaded at 6DE20000h - 6DE4B000h
imagehlp                        loaded at 75E90000h - 75EBA000h
dbghelp                          loaded at 641E0000h - 642CB000h
COMDLG32                        loaded at 75C70000h - 75CEB000h
Secur32                          loaded at 70100000h - 70108000h
CRYPT32                          loaded at 749C0000h - 74ADD000h
MSASN1                          loaded at 74AF0000h - 74AFC000h
gdiplus                          loaded at 6C630000h - 6C7C0000h
IMM32                            loaded at 75830000h - 75890000h
MSCTF                            loaded at 76840000h - 7690C000h
CLBCatQ                          loaded at 761F0000h - 76273000h
MMDevApi                        loaded at 6C400000h - 6C439000h
PROPSYS                          loaded at 6C300000h - 6C3F5000h
dwmapi                          loaded at 6C9D0000h - 6C9E3000h
foo_input_std                    loaded at 68490000h - 685FD000h
foo_channel_mixer                loaded at 6DDE0000h - 6DE1F000h
foo_discogs                      loaded at 6B2E0000h - 6B343000h
WININET                          loaded at 76070000h - 7618A000h
Normaliz                        loaded at 765E0000h - 765E3000h
iertutil                        loaded at 76380000h - 76538000h
urlmon                          loaded at 76680000h - 76790000h
foo_uie_albumlist                loaded at 10000000h - 10043000h
foo_burninate                    loaded at 6DC30000h - 6DC6E000h
foo_playcount                    loaded at 6AFC0000h - 6AFFE000h
foo_uie_playlists_dropdown      loaded at 00410000h - 0044C000h
foo_jesus                        loaded at 6DE60000h - 6DE7A000h
foo_out_ks                      loaded at 00450000h - 0047A000h
foo_input_tak                    loaded at 6AF10000h - 6AF54000h
tak_deco_lib                    loaded at 004C0000h - 004E0000h
foo_rgscan                      loaded at 69C50000h - 69C9B000h
foo_input_dvda                  loaded at 699C0000h - 69A1B000h
foo_dsp_resampler                loaded at 02FD0000h - 03095000h
foo_masstag_addons              loaded at 005D0000h - 005EF000h
foo_input_dsdiff                loaded at 00600000h - 0062D000h
foo_skip                        loaded at 69990000h - 699BD000h
foo_facets                      loaded at 661D0000h - 66385000h
MSIMG32                          loaded at 69900000h - 69905000h
foo_uie_peakmeter                loaded at 00B50000h - 00B83000h
foo_dop                          loaded at 07820000h - 079F3000h
WS2_32                          loaded at 76910000h - 76945000h
NSI                              loaded at 771E0000h - 771E6000h
QUARTZ                          loaded at 68270000h - 683E7000h
foo_dsp_effect                  loaded at 027A0000h - 027DA000h
foo_uie_typefind                loaded at 02D70000h - 02DA0000h
foo_simplaylist                  loaded at 66400000h - 6654C000h
foo_simplaylist_manager          loaded at 660F0000h - 661C8000h
foo_ac3                          loaded at 02DF0000h - 02E20000h
foo_cdda                        loaded at 69940000h - 6998E000h
foo_uie_panel_splitter          loaded at 031C0000h - 03219000h
foo_input_ht                    loaded at 07BC0000h - 07CC8000h
foo_freedb2                      loaded at 69880000h - 698C0000h
foo_out_asio                    loaded at 06CE0000h - 06D16000h
foo_out_wasapi                  loaded at 06F70000h - 06F96000h
foo_audioscrobbler              loaded at 070C0000h - 070F3000h
foo_input_ds                    loaded at 07100000h - 0712D000h
foo_random                      loaded at 07190000h - 071CD000h
foo_masstag                      loaded at 07280000h - 072D4000h
foo_input_reverse                loaded at 07150000h - 07176000h
foo_uie_tabs                    loaded at 071D0000h - 071F8000h
foo_fileops                      loaded at 68440000h - 68487000h
foo_input_tta                    loaded at 072E0000h - 07322000h
foo_autoupdate                  loaded at 67340000h - 6738C000h
foo_ui_std                      loaded at 652E0000h - 653F9000h
foo_ui_columns                  loaded at 08470000h - 08600000h
foo_input_sacd                  loaded at 66390000h - 663FC000h
foo_input_alac                  loaded at 07340000h - 0735D000h
foo_converter                    loaded at 66070000h - 660EC000h
foo_albumlist                    loaded at 66010000h - 6606D000h
foo_unpack                      loaded at 69910000h - 6993E000h
foo_texttools                    loaded at 67300000h - 67334000h
foo_chacon                      loaded at 68240000h - 68264000h
foo_dsp_crossfeed                loaded at 07770000h - 07798000h
foo_input_monkey                loaded at 07B00000h - 07B49000h
foo_verifier                    loaded at 07CD0000h - 07D13000h
foo_dsp_xgeq                    loaded at 652A0000h - 652D4000h
foo_dsp_std                      loaded at 65250000h - 65298000h
foo_uie_wsh_panel_mod            loaded at 65170000h - 65243000h
foo_input_dtshd                  loaded at 65020000h - 6516A000h
AUDIOSES                        loaded at 6C2A0000h - 6C2D6000h
SXS                              loaded at 6C9F0000h - 6CA4F000h
jscript9                        loaded at 64E60000h - 6501B000h
VERSION                          loaded at 73270000h - 73279000h
WindowsCodecs                    loaded at 747B0000h - 748AB000h
apphelp                          loaded at 6E7D0000h - 6E81C000h
EhStorShell                      loaded at 64160000h - 64191000h
ntshrui                          loaded at 64080000h - 640F0000h
srvcli                          loaded at 6B2A0000h - 6B2B9000h
cscapi                          loaded at 67390000h - 6739B000h
slc                              loaded at 641D0000h - 641DA000h
IconCodecService                loaded at 748B0000h - 748B6000h
sud                              loaded at 64C20000h - 64CDB000h
ADVPACK                          loaded at 68410000h - 6843E000h
DUI70                            loaded at 64B60000h - 64C12000h
WINTRUST                        loaded at 74960000h - 7498D000h
CFNetwork                        loaded at 72790000h - 729F0000h
iphlpapi                        loaded at 72C30000h - 72C4C000h
WINNSI                          loaded at 72C20000h - 72C27000h
CoreFoundation                  loaded at 72FD0000h - 730D9000h
MSVCR80                          loaded at 73130000h - 731CB000h
pthreadVC2                      loaded at 72FC0000h - 72FD0000h
WSOCK32                          loaded at 72FB0000h - 72FB7000h
objc                            loaded at 72F90000h - 72FAD000h
MSVCP80                          loaded at 731D0000h - 73257000h
libdispatch                      loaded at 72F80000h - 72F8E000h
libicuin                        loaded at 72DE0000h - 72F1A000h
libicuuc                        loaded at 72CF0000h - 72DD3000h
icudt46                          loaded at 4AD00000h - 4BC8B000h
ASL                              loaded at 72C90000h - 72CA1000h
SQLite3                          loaded at 720B0000h - 7211F000h
libxml2                          loaded at 71F70000h - 720A3000h
iTunesMobileDevice              loaded at 62A40000h - 62B8E000h
dnssd                            loaded at 72BF0000h - 72C05000h
icuin40                          loaded at 6DE50000h - 6DE56000h
profapi                          loaded at 73100000h - 7310B000h
mswsock                          loaded at 72B80000h - 72BBC000h
wshtcpip                        loaded at 72B70000h - 72B75000h
CRYPTSP                          loaded at 72F60000h - 72F76000h
rsaenh                          loaded at 72CB0000h - 72CEB000h

Stack dump analysis:
Address: 64FFC075h (jscript9+19C075h), symbol: "DllUnregisterServer" (+7D369h)
Address: 64E938B7h (jscript9+338B7h), symbol: "DllGetClassObject" (+A1ABh)
Address: 77281ECDh (ntdll+71ECDh), symbol: "WinSqmSetIfMaxDWORD" (+35h)
Address: 64E922D4h (jscript9+322D4h), symbol: "DllGetClassObject" (+8BC8h)
Address: 64FFC0C9h (jscript9+19C0C9h), symbol: "DllUnregisterServer" (+7D3BDh)
Address: 75ED14DDh (kernel32+114DDh), symbol: "HeapFree" (+14h)
Address: 64E84915h (jscript9+24915h), symbol: "JsVarToScriptDirect" (+22CA9h)
Address: 64E9230Ah (jscript9+3230Ah), symbol: "DllGetClassObject" (+8BFEh)
Address: 64E922D4h (jscript9+322D4h), symbol: "DllGetClassObject" (+8BC8h)
Address: 65179DA5h (foo_uie_wsh_panel_mod+9DA5h)
Address: 65210FF4h (foo_uie_wsh_panel_mod+A0FF4h), symbol: "foobar2000_get_interface" (+5CA34h)
Address: 65208058h (foo_uie_wsh_panel_mod+98058h), symbol: "foobar2000_get_interface" (+53A98h)
Address: 651799C4h (foo_uie_wsh_panel_mod+99C4h)
Address: 758B12A5h (USER32+212A5h), symbol: "PostMessageW" (+0h)
Address: 65210FF4h (foo_uie_wsh_panel_mod+A0FF4h), symbol: "foobar2000_get_interface" (+5CA34h)
Address: 652080CAh (foo_uie_wsh_panel_mod+980CAh), symbol: "foobar2000_get_interface" (+53B0Ah)
Address: 651ABFD9h (foo_uie_wsh_panel_mod+3BFD9h)
Address: 758A6D91h (USER32+16D91h), symbol: "GetThreadDesktop" (+12Eh)
Address: 758A6D51h (USER32+16D51h), symbol: "GetThreadDesktop" (+EEh)
Address: 758A6CE9h (USER32+16CE9h), symbol: "GetThreadDesktop" (+86h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A6D51h (USER32+16D51h), symbol: "GetThreadDesktop" (+EEh)
Address: 758A965Eh (USER32+1965Eh), symbol: "GetWindow" (+3F0h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 758CD0F5h (USER32+3D0F5h), symbol: "SendDlgItemMessageW" (+0h)
Address: 6517F518h (foo_uie_wsh_panel_mod+F518h)
Address: 6517F39Bh (foo_uie_wsh_panel_mod+F39Bh)
Address: 65205FC8h (foo_uie_wsh_panel_mod+95FC8h), symbol: "foobar2000_get_interface" (+51A08h)
Address: 652082AAh (foo_uie_wsh_panel_mod+982AAh), symbol: "foobar2000_get_interface" (+53CEAh)
Address: 651ABED5h (foo_uie_wsh_panel_mod+3BED5h)
Address: 758CD0F5h (USER32+3D0F5h), symbol: "SendDlgItemMessageW" (+0h)
Address: 65197E52h (foo_uie_wsh_panel_mod+27E52h)
Address: 6520FDECh (foo_uie_wsh_panel_mod+9FDECh), symbol: "foobar2000_get_interface" (+5B82Ch)
Address: 652083D0h (foo_uie_wsh_panel_mod+983D0h), symbol: "foobar2000_get_interface" (+53E10h)
Address: 65197747h (foo_uie_wsh_panel_mod+27747h)
Address: 651AB797h (foo_uie_wsh_panel_mod+3B797h)
Address: 65214D0Ch (foo_uie_wsh_panel_mod+A4D0Ch), symbol: "foobar2000_get_interface" (+6074Ch)
Address: 65199200h (foo_uie_wsh_panel_mod+29200h)
Address: 758A62FAh (USER32+162FAh), symbol: "gapfnScSendMessage" (+332h)
Address: 758CF943h (USER32+3F943h), symbol: "GetCursor" (+263h)
Address: 758CF8FBh (USER32+3F8FBh), symbol: "GetCursor" (+21Bh)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758CF784h (USER32+3F784h), symbol: "GetCursor" (+A4h)
Address: 758CF860h (USER32+3F860h), symbol: "GetCursor" (+180h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 758CF889h (USER32+3F889h), symbol: "GetCursor" (+1A9h)
Address: 758A62FAh (USER32+162FAh), symbol: "gapfnScSendMessage" (+332h)
Address: 758CF860h (USER32+3F860h), symbol: "GetCursor" (+180h)
Address: 758CF860h (USER32+3F860h), symbol: "GetCursor" (+180h)
Address: 758A6D3Ah (USER32+16D3Ah), symbol: "GetThreadDesktop" (+D7h)
Address: 758CF860h (USER32+3F860h), symbol: "GetCursor" (+180h)
Address: 758A6CE9h (USER32+16CE9h), symbol: "GetThreadDesktop" (+86h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A965Eh (USER32+1965Eh), symbol: "GetWindow" (+3F0h)
Address: 758A9679h (USER32+19679h), symbol: "SendMessageW" (+0h)
Address: 758A96C5h (USER32+196C5h), symbol: "SendMessageW" (+4Ch)
Address: 6CFA4601h (COMCTL32+A4601h), symbol: "GetEffectiveClientRect" (+3409h)
Address: 6CFA4663h (COMCTL32+A4663h), symbol: "GetEffectiveClientRect" (+346Bh)
Address: 6CFA44EDh (COMCTL32+A44EDh), symbol: "GetEffectiveClientRect" (+32F5h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 768439F5h (MSCTF+39F5h)
Address: 76843F35h (MSCTF+3F35h), symbol: "TF_GetAppCompatFlags" (+16Dh)
Address: 758A62FAh (USER32+162FAh), symbol: "gapfnScSendMessage" (+332h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 758A6D3Ah (USER32+16D3Ah), symbol: "GetThreadDesktop" (+D7h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 758A6CE9h (USER32+16CE9h), symbol: "GetThreadDesktop" (+86h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A77C4h (USER32+177C4h), symbol: "CharPrevW" (+138h)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A788Ah (USER32+1788Ah), symbol: "DispatchMessageW" (+Fh)
Address: 6CF2B495h (COMCTL32+2B495h), symbol: "ImageList_GetIcon" (+567h)
Address: 758CC81Fh (USER32+3C81Fh), symbol: "IsDialogMessageW" (+11Eh)
Address: 758CCDE7h (USER32+3CDE7h), symbol: "DialogBoxIndirectParamW" (+1F4h)
Address: 758CCF5Ch (USER32+3CF5Ch), symbol: "DialogBoxIndirectParamAorW" (+108h)
Address: 758CCE8Ah (USER32+3CE8Ah), symbol: "DialogBoxIndirectParamAorW" (+36h)
Address: 65170000h (foo_uie_wsh_panel_mod+0h)
Address: 65233B38h (foo_uie_wsh_panel_mod+C3B38h), symbol: "foobar2000_get_interface" (+7F578h)
Address: 651992B0h (foo_uie_wsh_panel_mod+292B0h)
Address: 758CD009h (USER32+3D009h), symbol: "DialogBoxParamW" (+3Fh)
Address: 65170000h (foo_uie_wsh_panel_mod+0h)
Address: 65233B38h (foo_uie_wsh_panel_mod+C3B38h), symbol: "foobar2000_get_interface" (+7F578h)
Address: 651992B0h (foo_uie_wsh_panel_mod+292B0h)
Address: 651AF02Dh (foo_uie_wsh_panel_mod+3F02Dh)
Address: 65170000h (foo_uie_wsh_panel_mod+0h)
Address: 651992B0h (foo_uie_wsh_panel_mod+292B0h)
Address: 651AC548h (foo_uie_wsh_panel_mod+3C548h)
Address: 65214D0Ch (foo_uie_wsh_panel_mod+A4D0Ch), symbol: "foobar2000_get_interface" (+6074Ch)
Address: 65214D30h (foo_uie_wsh_panel_mod+A4D30h), symbol: "foobar2000_get_interface" (+60770h)
Address: 758A6DE8h (USER32+16DE8h), symbol: "GetThreadDesktop" (+185h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 651C10CFh (foo_uie_wsh_panel_mod+510CFh), symbol: "foobar2000_get_interface" (+CB0Fh)
Address: 758A6DF3h (USER32+16DF3h), symbol: "GetThreadDesktop" (+190h)
Address: 6520FDECh (foo_uie_wsh_panel_mod+9FDECh), symbol: "foobar2000_get_interface" (+5B82Ch)
Address: 6520FDECh (foo_uie_wsh_panel_mod+9FDECh), symbol: "foobar2000_get_interface" (+5B82Ch)
Address: 65214D40h (foo_uie_wsh_panel_mod+A4D40h), symbol: "foobar2000_get_interface" (+60780h)
Address: 6520FDECh (foo_uie_wsh_panel_mod+9FDECh), symbol: "foobar2000_get_interface" (+5B82Ch)
Address: 6520FDECh (foo_uie_wsh_panel_mod+9FDECh), symbol: "foobar2000_get_interface" (+5B82Ch)
Address: 651ADC67h (foo_uie_wsh_panel_mod+3DC67h)
Address: 65208956h (foo_uie_wsh_panel_mod+98956h), symbol: "foobar2000_get_interface" (+54396h)
Address: 651ADC76h (foo_uie_wsh_panel_mod+3DC76h)
Address: 651AC9FFh (foo_uie_wsh_panel_mod+3C9FFh)
Address: 758B0D4Dh (USER32+20D4Dh), symbol: "CallWindowProcW" (+1Bh)
Address: 00440406h (foo_uie_playlists_dropdown+30406h), symbol: "foobar2000_get_interface" (+23966h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6F9Eh (USER32+16F9Eh), symbol: "GetThreadDesktop" (+33Bh)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6F9Eh (USER32+16F9Eh), symbol: "GetThreadDesktop" (+33Bh)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A702Ch (USER32+1702Ch), symbol: "GetWindowLongW" (+2Eh)
Address: 65208A34h (foo_uie_wsh_panel_mod+98A34h), symbol: "foobar2000_get_interface" (+54474h)
Address: 651B225Fh (foo_uie_wsh_panel_mod+4225Fh)
Address: 0043FBA8h (foo_uie_playlists_dropdown+2FBA8h), symbol: "foobar2000_get_interface" (+23108h)
Address: 651F1AE1h (foo_uie_wsh_panel_mod+81AE1h), symbol: "foobar2000_get_interface" (+3D521h)
Address: 0043FBA8h (foo_uie_playlists_dropdown+2FBA8h), symbol: "foobar2000_get_interface" (+23108h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 75910230h (USER32+80230h), symbol: "ShutdownBlockReasonDestroy" (+59A2h)
Address: 758A62FAh (USER32+162FAh), symbol: "gapfnScSendMessage" (+332h)
Address: 0043FBA8h (foo_uie_playlists_dropdown+2FBA8h), symbol: "foobar2000_get_interface" (+23108h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6D3Ah (USER32+16D3Ah), symbol: "GetThreadDesktop" (+D7h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 0043FBA8h (foo_uie_playlists_dropdown+2FBA8h), symbol: "foobar2000_get_interface" (+23108h)
Address: 0043FBA8h (foo_uie_playlists_dropdown+2FBA8h), symbol: "foobar2000_get_interface" (+23108h)
Address: 758A6CE9h (USER32+16CE9h), symbol: "GetThreadDesktop" (+86h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A90C9h (USER32+190C9h), symbol: "LoadStringW" (+210h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 0043FBA8h (foo_uie_playlists_dropdown+2FBA8h), symbol: "foobar2000_get_interface" (+23108h)
Address: 758A6E57h (USER32+16E57h), symbol: "GetThreadDesktop" (+1F4h)
Address: 758B291Fh (USER32+2291Fh), symbol: "GetKeyState" (+0h)
Address: 75910230h (USER32+80230h), symbol: "ShutdownBlockReasonDestroy" (+59A2h)
Address: 7722011Ah (ntdll+1011Ah), symbol: "KiUserCallbackDispatcher" (+2Eh)
Address: 77220080h (ntdll+10080h), symbol: "KiUserApcDispatcher" (+48h)
Address: 758A6A8Ch (USER32+16A8Ch), symbol: "gapfnScSendMessage" (+AC4h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6AE9h (USER32+16AE9h), symbol: "gapfnScSendMessage" (+B21h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 651ACC2Dh (foo_uie_wsh_panel_mod+3CC2Dh)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 6CA90D73h (UxTheme+10D73h)
Address: 758A62FAh (USER32+162FAh), symbol: "gapfnScSendMessage" (+332h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6F9Eh (USER32+16F9Eh), symbol: "GetThreadDesktop" (+33Bh)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A702Ch (USER32+1702Ch), symbol: "GetWindowLongW" (+2Eh)
Address: 65208A34h (foo_uie_wsh_panel_mod+98A34h), symbol: "foobar2000_get_interface" (+54474h)
Address: 651B225Fh (foo_uie_wsh_panel_mod+4225Fh)
Address: 651F1AE1h (foo_uie_wsh_panel_mod+81AE1h), symbol: "foobar2000_get_interface" (+3D521h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 6646EC2Fh (foo_simplaylist+6EC2Fh)
Address: 758A62FAh (USER32+162FAh), symbol: "gapfnScSendMessage" (+332h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6D3Ah (USER32+16D3Ah), symbol: "GetThreadDesktop" (+D7h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758A6CE9h (USER32+16CE9h), symbol: "GetThreadDesktop" (+86h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A77C4h (USER32+177C4h), symbol: "CharPrevW" (+138h)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 7590A61Eh (USER32+7A61Eh), symbol: "VTagOutput" (+54h)
Address: 758A788Ah (USER32+1788Ah), symbol: "DispatchMessageW" (+Fh)
Address: 651F1950h (foo_uie_wsh_panel_mod+81950h), symbol: "foobar2000_get_interface" (+3D390h)
Address: 758CC81Fh (USER32+3C81Fh), symbol: "IsDialogMessageW" (+11Eh)
Address: 65382667h (foo_ui_std+A2667h)
Address: 00C0D9C7h (foobar2000+6D9C7h)
Address: 758A78E2h (USER32+178E2h), symbol: "GetMessageW" (+0h)
Address: 75ED11A9h (kernel32+111A9h), symbol: "SetLastError" (+0h)
Address: 00CEBDD8h (foobar2000+14BDD8h)
Address: 00C0DB06h (foobar2000+6DB06h)

Environment:
App: foobar2000 v1.1.9
OS: Windows 6.1.7601 Service Pack 1 x64
CPU: Intel® Core™ i7 CPU      M 640  @ 2.80GHz, features: MMX SSE SSE2 SSE3 SSE4.1 SSE4.2
Audio: SPDIF Interface (MUSILAND Monitor 03 US); Speakers (MUSILAND Monitor 03 US); Line 1 (Virtual Audio Cable); Speakers (USB PnP Sound Device); Speaker/HP (Realtek High Definition Audio)
UI: Default User Interface 0.9.5

Components:
Core (2011-11-04 14:08:40 UTC)
    foobar2000 core 1.1.9
foo_ac3.dll (2011-11-10 00:29:34 UTC)
    AC3 decoder 0.9.5
foo_albumlist.dll (2011-11-04 14:07:12 UTC)
    Album List 4.5
foo_audioscrobbler.dll (2011-11-10 00:29:34 UTC)
    Audioscrobbler 1.4.7
foo_autoupdate.dll (2011-11-10 00:29:34 UTC)
    Automatic Updater 1
foo_burninate.dll (2011-11-10 00:29:34 UTC)
    Audio CD Writer 3.0.3
foo_cdda.dll (2011-11-04 14:07:04 UTC)
    CD Audio Decoder 3.0
foo_chacon.dll (2011-11-10 00:29:34 UTC)
    Chacon 3
foo_channel_mixer.dll (2011-11-10 00:29:34 UTC)
    Channel Mixer 0.9.6.7
foo_converter.dll (2011-11-04 14:06:48 UTC)
    Converter 1.5
foo_discogs.dll (2011-11-10 00:29:34 UTC)
    Discogs Tagger 1.30
foo_dop.dll (2011-11-10 00:29:34 UTC)
    iPod manager 0.6.9.7
foo_dsp_crossfeed.dll (2011-11-10 00:29:34 UTC)
    Crossfeed 1.01
foo_dsp_effect.dll (2011-11-10 00:29:34 UTC)
    Effect DSP 0.9.2
foo_dsp_resampler.dll (2011-11-03 14:05:14 UTC)
    SoX Resampler 0.7.6
foo_dsp_std.dll (2011-11-04 14:07:12 UTC)
    Standard DSP Array 1.0
foo_dsp_xgeq.dll (2011-11-10 00:29:34 UTC)
    Graphic Equalizer 0.2.1
foo_facets.dll (2011-11-10 00:29:34 UTC)
    Facets 1.0
foo_fileops.dll (2011-11-04 14:06:12 UTC)
    File Operations 2.1.3
foo_freedb2.dll (2011-11-04 14:06:12 UTC)
    freedb Tagger 0.6.4
foo_input_alac.dll (2011-11-10 00:29:34 UTC)
    ALAC Decoder 1.0.7
foo_input_ds.dll (2011-11-10 00:29:34 UTC)
    DirectShow input 0.1
foo_input_dsdiff.dll (2011-11-10 00:29:34 UTC)
    DSDIFF Decoder 1.4
foo_input_dtshd.dll (2011-11-10 00:29:34 UTC)
    DTS-HD Decoder 0.1.3
foo_input_dvda.dll (2011-11-10 00:29:34 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.8
foo_input_ht.dll (2011-11-10 00:29:34 UTC)
    Highly Theoretical 2.0.7
foo_input_monkey.dll (2011-11-10 00:29:34 UTC)
    Monkey's Audio Decoder 2.1.5
foo_input_reverse.dll (2011-11-10 00:29:34 UTC)
    Reverse Playback 0.1.4 (SSE)
foo_input_sacd.dll (2011-11-11 11:11:10 UTC)
    Super Audio CD Decoder 0.4.2
foo_input_std.dll (2011-11-04 14:06:56 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2011-11-10 00:29:34 UTC)
    TAK Decoder 0.4.4
foo_input_tta.dll (2011-11-10 00:29:34 UTC)
    TTA Audio Decoder 3.1
foo_jesus.dll (2011-11-10 00:29:34 UTC)
    Autosave & Autobackup 10
foo_masstag.dll (2011-11-10 00:29:34 UTC)
    Masstagger 1.8.4
foo_masstag_addons.dll (2011-11-10 00:29:34 UTC)
    Masstagger Addons 0.3.4 (SSE)
foo_out_asio.dll (2011-11-10 00:29:34 UTC)
    ASIO support 1.2.7
foo_out_ks.dll (2011-11-10 00:29:34 UTC)
    Kernel Streaming Output 1.2.2
foo_out_wasapi.dll (2011-11-10 00:29:34 UTC)
    WASAPI output support 2.1
foo_playcount.dll (2011-11-10 00:29:34 UTC)
    Playback Statistics 3.0.2
foo_random.dll (2011-11-10 00:29:34 UTC)
    Randomized Playlist Entry 1.2.3
foo_rgscan.dll (2011-11-04 14:06:54 UTC)
    ReplayGain Scanner 2.1.2
foo_simplaylist.dll (2011-11-10 00:29:34 UTC)
    SimPlaylist 1.0
foo_simplaylist_manager.dll (2011-11-10 00:29:34 UTC)
    SimPlaylist Manager 1.0
foo_skip.dll (2011-11-10 00:29:34 UTC)
    Skip Track 1.7.4
foo_texttools.dll (2011-11-10 00:29:34 UTC)
    Text Tools 1.0.5
foo_ui_columns.dll (2011-11-10 00:29:34 UTC)
    Columns UI 0.3.8.8
foo_ui_std.dll (2011-11-04 14:07:18 UTC)
    Default User Interface 0.9.5
foo_uie_albumlist.dll (2011-11-10 00:29:34 UTC)
    Album list panel 0.3.5
foo_uie_panel_splitter.dll (2011-11-10 00:29:34 UTC)
    Panel Stack Splitter 0.3.8.2(alpha)
foo_uie_peakmeter.dll (2011-11-10 00:29:34 UTC)
    Peakmeter Panel 0.0.4.2 beta
foo_uie_playlists_dropdown.dll (2011-11-10 00:29:34 UTC)
    Playlists Dropdown 0.7.6
foo_uie_tabs.dll (2011-11-10 00:29:34 UTC)
    Tabbed Panel Modified 0.2.7
foo_uie_typefind.dll (2011-11-10 00:29:34 UTC)
    Typefind 0.2 beta 2
foo_uie_wsh_panel_mod.dll (2011-11-15 01:14:42 UTC)
    WSH Panel Mod 1.5.0
foo_unpack.dll (2011-11-04 14:06:26 UTC)
    ZIP/GZIP/RAR Reader 1.6
foo_verifier.dll (2011-11-10 00:29:34 UTC)
    File Integrity Verifier 1.1

Recent events:
iPod manager: USB AMD enumerator: Found USB\VID_05AC&PID_1297\3FBF80AAA36084853D8114BEF797B08C9C58B596
iPod manager: Device properties: DBVersion: 5, SQLiteDB
iPod manager: 172 post process SQL commands, version 8
iPod manager: Apple iPod/iPhone connected. Device Instance Path: USB\VID_05AC&PID_1297\3FBF80AAA36084853D8114BEF797B08C9C58B596
WSH Panel Mod ({0E88C1C9-B018-4157-9403-14028A8D3B6A}): Parsing file "C:\Program Files (x86)\foobar2000\scripts\Helpers.txt"
WSH Panel Mod ({0E88C1C9-B018-4157-9403-14028A8D3B6A}): Parsing file "C:\Program Files (x86)\foobar2000\scripts\Flags.txt"
WSH Panel Mod ({0E88C1C9-B018-4157-9403-14028A8D3B6A}): Parsing file "C:\Program Files (x86)\foobar2000\scripts\getColoursFonts.js"
WSH Panel Mod ({0E88C1C9-B018-4157-9403-14028A8D3B6A}): Parsing file "C:\Program Files (x86)\foobar2000\scripts\buttons.js"
WSH Panel Mod ({0E88C1C9-B018-4157-9403-14028A8D3B6A}): Parsing file "C:\Program Files (x86)\foobar2000\scripts\menus.js"
Error: WSH Panel Mod ({0E88C1C9-B018-4157-9403-14028A8D3B6A}): Microsoft JScript runtime error:
Automation server can't create object
File: C:\Program Files (x86)\foobar2000\scripts\menus.js
Ln: 1, Col: 1
<source text only available at compile time>

And this is the script:

Code: [Select]
// ==PREPROCESSOR==
// @import "%fb2k_path%scripts\Helpers.txt"
// @import "%fb2k_path%scripts\Flags.txt"
// @import "%fb2k_path%scripts\getColoursFonts.js"
// @import "%fb2k_path%scripts\buttons.js"
// @import "%fb2k_path%scripts\menus.js"
// ==/PREPROCESSOR==

window.MaxHeight = tpad+bth;
window.MinHeight = tpad+bth;

function on_size()
{
ww = window.Width;
wh = window.Height;
    buttons = {
        back: new button('back', function(){fb.Prev();},"Previous",lpad),
        stop: new button('stop', function(){fb.Stop();},"Stop",lpad+btw),
        pop:  new button((fb.IsPlaying&&!fb.IsPaused)?'pause':'play',function(){fb.PlayOrPause();},(fb.IsPlaying&&!fb.IsPaused)?"Pause":"Play",lpad+2*btw),
        sac:  new button(fb.StopAfterCurrent?'sac_on':'sac',function(){fb.StopAfterCurrent=!fb.StopAfterCurrent;},"Stop After Current "+(fb.StopAfterCurrent?"(On)":"(Off)"),lpad+3*btw),
        next: new button('fwd', function(){fb.Next();},"Next",lpad+4*btw),
        //
        cfp:  new button(fb.CursorFollowPlayback?'cfp_on':'cfp',function() { fb.CursorFollowPlayback=!fb.CursorFollowPlayback; },"Cursor Follows Playback "+(fb.CursorFollowPlayback?"(On)":"(Off)"), ww-rpad-5*btw),
        pfc:  new button(fb.PlaybackFollowCursor?'pfc_on':'pfc',function() { fb.PlaybackFollowCursor=!fb.PlaybackFollowCursor; },"Playback Follows Cursor "+(fb.PlaybackFollowCursor?"(On)":"(Off)"), ww-rpad-4*btw),
        pbo:  new button(PBOArray[fb.PlayBackOrder],function() { playbackorder(); },"Playback Order ("+PBOArray[fb.PlayBackOrder]+")", ww-rpad-3*btw),
        lfm:  new button('lfm',  function(){lastfm();},"Last.fm", ww-rpad-2*btw),
        menu: new button('menu', function(){runmenu();},"Run", ww-rpad-btw)
    }
}

function on_paint(gr)
{
    gr.FillSolidRect(0,0,ww,wh,utils.GetSysColor(15));
    //bg_theme = window.CreateThemeManager("BUTTON");
    //try { bg_theme.SetPartAndStateId(1, 1); }catch(e) {}
//try { bg_theme.DrawThemeBackground(gr, lpad, tpad, ww-lpad-rpad, bth); } catch(e) {}
    gr.SetSmoothingMode(4);
    gr.FillGradRect(lpad+1, tpad+1, ww-lpad-rpad-2, bth-3, 90, 0xfff4f4f4, 0xffe1e1e1, 1);
    gr.DrawRoundRect(lpad, tpad, ww-lpad-rpad-1, bth-1, 3, 3, 1, 0xffb2b2b2);
    gr.DrawRoundRect(lpad+1, tpad+1, ww-lpad-rpad-3, bth-3, 3, 3, 1, 0xfffafafa);
    drawAllButtons(gr);
   
    ///Seekbar

gr.SetTextRenderingHint(5);
//For normal playback
if(fb.PlaybackLength>0)
{
        gap = gr.CalcTextWidth(len.Eval(),font_labels)+8;
        if(fb.PlaybackLength > fb.PlaybackTime)
        {
            if(g_drag)
                pos = (ww-(2*lpad+2*rpad+10*btw)-2*gap) * g_drag_seek;
            else
                pos = (ww-(2*lpad+2*rpad+10*btw)-2*gap) * (fb.PlaybackTime / fb.PlaybackLength);
}
        else
        {
            pos=0;   
        }
        seekbg.DrawThemeBackground(gr,2*lpad+5*btw+gap-2,6,ww-(2*lpad+2*rpad+10*btw)-2*gap+4,18);
gr.GdiDrawText(elap.Eval(),  font_labels, txtcol, 2*lpad+5*btw, 7, gap, wh-1, DT_CENTER);
gr.GdiDrawText(remain.Eval(), font_labels, txtcol, ww-gap-2*rpad-5*btw, 7, gap, wh-1, DT_CENTER);
seekfill.DrawThemeBackground(gr,2*lpad+5*btw+gap,8,pos,14);
}
//For streams
else if(fb.IsPlaying && (fb.PlaybackLength < 0 || filetype_eval == "mms"))
{
seekbg.DrawThemeBackground(gr,2*lpad+5*btw+2,6,ww-(2*lpad+2*rpad+10*btw)-4,18);
gr.GdiDrawText(elap.Eval()+" (continuous)", font_labels, txtcol, 0, 9, ww, wh, DT_CENTER);
}

}

function on_playback_stop()
{
if(g_timer){window.KillTimer(g_timer);}
buttons.pop.icon=gdi.Image(dir+"play"+".png");
buttons.pop.tooltiptxt="Play";
window.Repaint();
}

function on_playback_pause(is_paused)
{
buttons.pop.icon=is_paused?gdi.Image(dir+"play"+".png"):gdi.Image(dir+"pause"+".png");
buttons.pop.tooltiptxt=is_paused?"Play":"Pause";
window.Repaint();
}
function on_playback_starting(cmd, is_paused)
{
g_timer = window.CreateTimerInterval(40);
buttons.pop.icon=is_paused?gdi.Image(dir+"play"+".png"):gdi.Image(dir+"pause"+".png");
buttons.pop.tooltiptxt=is_paused?"Play":"Pause";
window.Repaint();
}
function on_playlist_stop_after_current_changed(state)
{
buttons.sac.icon=state?gdi.Image(dir+"sac_on"+".png"):gdi.Image(dir+"sac"+".png");
buttons.sac.tooltiptxt="Stop After Current "+(state?"(On)":"(Off)");
window.Repaint();
}
function on_cursor_follow_playback_changed(state)
{
buttons.cfp.icon=state?gdi.Image(dir+"cfp_on"+".png"):gdi.Image(dir+"cfp"+".png");
buttons.cfp.tooltiptxt="Cursor Follows Playback "+(state?"(On)":"(Off)");
window.Repaint();
}

function on_playback_follow_cursor_changed(state)
{
buttons.pfc.icon=state?gdi.Image(dir+"pfc_on"+".png"):gdi.Image(dir+"pfc"+".png");
buttons.pfc.tooltiptxt="Playback Follows Cursor "+(state?"(On)":"(Off)");
window.Repaint();
}

function on_playback_order_changed(new_order_index)
{
buttons.pbo.icon=gdi.Image(dir+PBOArray[fb.PlayBackOrder]+".png");
buttons.pbo.tooltiptxt = "Playback Order ("+PBOArray[fb.PlayBackOrder]+")";
    window.Repaint();
}

function on_playback_seek(time)
{
window.Repaint();
}

function on_playback_time(time)
{
if(!g_timer){g_timer = window.CreateTimerInterval(40);}
window.Repaint();
}

function on_playback_new_track(metadb)
{
filetype_eval = filetype.Eval();
window.Repaint();
}

function on_timer(id)
{
window.RepaintRect(2*lpad+5*btw,0,ww-(2*lpad+2*rpad+10*btw),wh);
}

////Seekbar

var g_drag = 0;
var g_drag_seek = 0;

//Titleformatting
var len = fb.Titleformat("%length%");
var elap = fb.TitleFormat("%playback_time%");
var remain = fb.TitleFormat("$if2(%playback_time_remaining%,continuous)");

var pos = 0;
var gap = 0;

var g_timer;
var filetype = fb.TitleFormat("$left(%path%,3)");
var filetype_eval;

var seekbg = window.CreateThemeManager("Progress");
try { seekbg.SetPartAndStateID(1,1); }
catch(e){}
var seekfill = window.CreateThemeManager("Progress");
try { seekfill.SetPartAndStateID(3,1); }
catch(e){}

function on_item_focus_change() { window.Repaint(); }

Any ideas?

WSH Panel Mod script discussion/help

Reply #1270
Hi guys, i just read something interesting about the powershell.

Windows Powershell could realize the aero effect on any window rendered by DWM with calling dwmapi.dll.

We can use Powershell in WSH script (which i had tested, successfully.)

So....
mad messy misanthropist morbid mused

WSH Panel Mod script discussion/help

Reply #1271
Marc 2003, is there a way to get the thumbs script to show all non-audio files, rather than just the images? I'd like to have thumbnails of the images though also icons for other files such as .txt, which I could click on to open.

Thanks

WSH Panel Mod script discussion/help

Reply #1272
(Back to the timer...)

Just to ensure (to don't create a "memory leak" in my scripts ):
Does window.ClearInterval(g_timer) have the same effect as g_timer.Dispose() in older scripts?

WSH Panel Mod script discussion/help

Reply #1273
r0lz, I appreciate your effort for trying get my script to work +++

Well, I have finished to convert the obsolete timer methods to the new ones, and the script works fine.

But I haven't converted AppendMenuItem(MF_POPUP...) to the new AppendTo() method, as this would require too many changes, due to the way the menu is built.  (The method, based on arrays containing the menu items, is elegant but very complex and extremely difficult to change!)  Anyway, IMO, changing that is not really necessary, as the old method continues to work as expected.

Also, I have noticed that the reflection of the image is not drawn in the panel.  I have tried to find why, but without success.  This line (near the end of the script) doesn't work:
Code: [Select]
Rimg.ApplyMask(mask);

I don't understand why, as it works fine with the original mask.png image if I extract the code that build the reflexion and I draw it directly in a panel.  Also, I have verified that the original image and the mask are correctly loaded and that they can be displayed independently.  It's only when the mask is applied to the image that the problem occurs.

Maybe it's because the script uses a strange approach: it draws the folder image and the reflection in a new bitmap, and the bitmap is finally drawn in the panel.  Not sure why the original author has adopted that complex method.  Could it be the problem?  Anyway, again, the script is too complex to fix that problem easily.

Can you confirm that the reflection has never been visible, even with old versions of the wsh panel mod extension?  If it worked in the past, that would mean that there is a new (undocumented) incompatibility in the current version.

[EDIT] Uploaded the new version here, so you can test it...

WSH Panel Mod script discussion/help

Reply #1274
Marc 2003, is there a way to get the thumbs script to show all non-audio files, rather than just the images?


it's certainly possible..... if you do it yourself.

sorry but i won't be adding that feature as i'd never use it. i only use it for last.fm artist images so extending the functionality of the custom folder mode doesn't really appeal to me.