Spider Monkey Panel

By: TheQwertiest

Allows to create full-fledged CUI/DUI panels using JavaScript.

Base functionality includes:
  • Graphics functions: drawing text, external images, lines, rectangles, etc.
  • Access fonts and colours settings from the main preferences of CUI/DUI.
  • Execution of main menu and context menu commands.
  • Creation of custom buttons and menus.
  • Capture of keystrokes/mouse movement/clicks.
  • Capture of foobar2000 events with callbacks.
  • Processing and changing of file tags.
  • Playlists management: create, destroy, sort, change, rename and do anything that fb2k can do.
  • Access Media Library with ability to sort and filter it's contents.
  • Per panel settings storage.
  • Built-in web and filesystem access.
  • foo_acfu integration.
  • And more!

Current version: 1.2.3, released on 2020-02-04

Change log:

  • Moved documentation from Wiki to a new homepage: <>:
    • Contains JS documentation for the latest release.
    • Contains script showcase with basic information about sample scripts and user-made scripts.
  • Updated `FindReplace` dialog in `Configure`:
    • Added wrap-around support.
    • Dialog is transparent when unfocused.
  • Made `Go to` dialog in `Configure` modeless.

  • Reimplemented `FbMetadbHandleList::OrderByRelativePath`:
    • Uses MUCH less memory.
    • Faster by 10% (on sorted list) to 500% (on unsorted list).
  • Adjusted codepage detection with various file handling methods.
  • Adjusted playlist lock check during drag-n-drop and `plman.AddLocations`: now only `playlist_lock::filter_add` flag is checked.
  • Removed unneeded `on_size` call.
  • Adjusted component initialization time reported in console to be more accurate.
  • Updated marc2003 scripts:
    • Note: `ListenBrainz` sample was removed - use <> instead.

  • Fixed rare crash when using `utils.RunMainMenuCommand` and `utils.IsMainMenuCommandChecked`.
  • Fixed crash when working with COM on systems with non English locale.
  • Fixed `window.GetProperty` not working when name contained whistespace at the beggining.
  • Fixed other various crashes.
  • Fixed occasional double error report in console.
  • Fixed crashes in `jsplaylist-mod` and other complete samples (by marc2003).

Works with foobar2000 v1.3.17 and newer


No download available.
View version history
Home page
Source code

More components

Browse all
Browse by author: TheQwertiest
Tags: Columns UI panel, Default UI element

How to install a component?