foobar2000

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:

Added
  • Moved documentation from Wiki to a new homepage: <https://theqwertiest.github.io/foo_spider_monkey_panel>:
    • 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.

Changed
  • 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 <https://github.com/marc2k3/foo_listenbrainz2> instead.

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

Links

No download available.
View version history
Home page
Documentation
Discussion
Source code

More components

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

How to install a component?