Foobar2000:Components 0.9/WSH panel (foo uie wsh panel)

From Hydrogenaudio Knowledgebase
Jump to: navigation, search

foobar2000 component
Developer(s) TBC
Repository {{{repository}}}
Release information
Initial release {{{released}}}
Stable release 1.5.6
Preview release N/A
foobar2000 compatibility
Architecture {{{foobar2000_architecture}}}
Minimum version 1.1.11
Maximum version {{{foobar2000_maximum}}}
UI module(s) N/A
Additional information
License {{{license}}}
Discussion thread Discussion Thread
View all components


Windows script host panel.

Main features


  • Restrict "Language" to JScript and VBScript to prevent unexpected behavior.
  • Draw custom images.
  • Add popup menu, blur, timer and more operations to images.
  • Add support to run main menu and context menu command.
  • Add various helper functions.

Editor window

  • Add support to pseudo transparent, syntax highlighting for JScript and VBScript, Import/Outport scripts, customizable font style and miscellaneous UI improvements.


  • Ctrl+F: Find
  • Ctrl+H: Replace
  • Ctrl+G: Goto
  • Ctrl+S: Apply

Notes and hints

  1. If anything goes wrong, check the console first.
  2. gdi.Font() is fully changed: gdi.Font(name, pxSize, style);
  3. Don't call repaint functions such as window.Repaint() in callback function on_size() {}, especially in pseudo transparent mode.
  4. Don't try to assign parameter "gr" from function on_paint(gr) {} with other value, nor try to store "gr" in another variable.
  5. CollectGarbage() is useful in JScript when you want to free memory immediately. (But please also refer to #12)
  6. It's better to retrieve window width and height in callback function on_size(), because their values during startup is not reliable.
  7. It's NOT recommended to create objects in callback function on_paint(), since it's called frenquently.
  8. Since v1.1.0, functions /methods which use IFbFileInfo Interface is replaced with IFbMetadbHandle Inferface.
  9. Do NOT update tags in global callbacks, see Callbacks.txt for details.
  10. [] is a good site for formatting your JScript files.
  11. Don't forget that error handling (JScript, VBScript) helps to create more stable scripts.
  12. Consider using Dispose() method instead of CollectGarbage() function.
  13. DO NOT try to call playback control methods such as fb.RunMainMenuCommand("Next") and fb.RunMainMenuCommand("Stop") during global callbacks, or you may make foobar2000 crash.

Notable scripts

marc2003's scripts

Br3tt's scripts

WilB's scripts

External links