Spider Monkey Panel

version Build status CodeFactor Codacy Badge

Table of contents

This is a component for the foobar2000 audio player.

It allows for creation of 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!

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 2018 conformant JavaScript.
  • Potential support of ECMAScript Next once it has been released.
  • Blazing-fast performance!
  • Easily customizable: allows to implement 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
Detailed list of API Changes
Current tasks and plans
Nightly build