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

From Hydrogenaudio Knowledgebase
(First edit: simply copied information from the Discussion thread)
Line 1: Line 1:
{{fb2k}}
{{fb2k}}
{{stub}}
[[Category:foobar2000 3rd-Party Components|WSH panel (foo uie wsh panel)]]
[[Category:foobar2000 3rd-Party Components|WSH panel (foo uie wsh panel)]]
==Description==
==Description==


Windows script host panel.
Windows script host panel.


== Main Features ==
== Main Features ==


=== Scripting ===
=== Scripting ===
Line 16: Line 17:
*Add support to run main menu and context menu command.
*Add support to run main menu and context menu command.
*Add various helper functions.
*Add various helper functions.


=== Editor Window ===
=== Editor Window ===


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


== Shortcuts ==
== Shortcuts ==
Line 29: Line 28:
* Ctrl+G: Goto
* Ctrl+G: Goto
* Ctrl+S: Apply
* Ctrl+S: Apply


== Notes and Hints ==
== Notes and Hints ==


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


==Link==
= External links =
* [http://code.google.com/p/foo-wsh-panel-mod/downloads/list Download link]
* [http://code.google.com/p/foo-wsh-panel-mod/downloads/list Download link]
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=70363 Discussion thread]
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=77883 Discussion thread for WHS scripts]

Revision as of 20:26, 19 October 2010

Foobar2000_Logo.png

Description

Windows script host panel.

Main Features

Scripting

  • 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.

Shortcuts

  • 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. [jsbeautifier.org] 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.

External links