Link Search Menu Expand Document

Spider Monkey Panel

version Build status CodeFactor Codacy Badge

Table of contents


This is a component for the foobar2000 audio player.

It allows to use JavaScript to create full-fledged CUI/DUI panels!

Base functionality includes:

  • Graphics functions: drawing (text, images, lines, rectangles and etc), image modification (resize, blur, inversion of colours and etc).
  • Access to font and colour settings from CUI/DUI preferences.
  • Capture of foobar2000 events with callbacks.
  • Capture of keystrokes and mouse movement/clicks.
  • Execution of main menu and context menu commands.
  • Creation of custom buttons and menus.
  • Playlist management: create, destroy, sort, change, rename and do anything that fb2k can do.
  • Media Library access with ability to sort and filter it’s content.
  • File tag management.
  • Per panel settings storage.
  • Built-in web and filesystem functionality.
  • foo_acfu integration.
  • And more!

Getting started!

JScript Panel users

The main difference from the excellent JScript Panel component by marc2003 is the underlying JavaScript engine:

  • foo_jscript_panel uses closed-source JScript engine from Internet Explorer, which was abandoned by Microsoft after the development of IE Edge.
  • foo_spider_monkey_panel uses open-source SpiderMonkey engine from Mozilla Firefox, which is being actively developed and improved every day!

Main features of Mozilla SpiderMonkey engine:

  • ECMAScript 2019 conformant JavaScript.
  • Potential support of ECMAScript Next once it has been released.
  • Blazing-fast performance!
  • Easily customizable: allows to implement a lot of features that couldn’t be implemented before.

See the corresponding page for the detailed list of API changes.
Or just use the Migration Guide to make your scripts compatible.

Support thread
Changelog
Detailed list of API Changes
Current tasks and plans
Nightly build

Credits


Copyright © 2018-2020 Yuri Shutenko.
Distributed by an MIT license.