Skip to content

Releases: TheQwertiest/foo_spider_monkey_panel

v1.6.1 - Hotfix

13 Jan 22:16
Compare
Choose a tag to compare

Changelog

Hotfix for v1.6.0 (see changelog below)

Changed

  • API changes:
    • Reverted changes in window.NotifyOthers() behaviour. Now it's executed synchronously as before.

Fixed

  • Fixed various bugs in the event handling system, which were causing unexpected behaviour and crashes.
  • Fixed right-mouse-btn-down and middle-mouse-btn-down events not being processed.

v1.6.0 - Events

10 Sep 22:17
Compare
Choose a tag to compare

!!!

!!! DON'T USE THIS VERSION, USE v1.6.1 INSTEAD !!!

!!!

Changelog

See docs for the detailed description of API changes.

Added

  • Added WIC support in image and art loaders, which enables WebP support (see FAQ for more info).
  • API changes:
    • Added IsInternal field to action argument (that is passed to on_drag_* callbacks).
    • Added ability to generate main menu items dynamically and handle it via the following API:
      • fb.RegisterMainMenuCommand().
      • fb.UnregisterMainMenuCommand().
      • on_main_menu_dynamic() callback.
    • Expanded playlist undo API:
      • plman.Undo().
      • plman.Redo().
      • plman.IsUndoAvailable().
      • plman.IsRedoAvailable().
  • Added spectrogram seekbar.js sample (by marc2003).

Changed

  • Reimplemented event handling system.
  • API changes:
    • window.NotifyOthers() is now executed asynchronously.
    • fb.DoDragDrop() is now executed asynchronously.
    • on_main_menu() callback is marked as [Deprecated]. Use dynamically generated main menu items instead.

Fixed

  • Removed unneeded writes to script package .json.
  • Fixed drag-n-drop sometimes not working.
  • Fixed timers not stopping when they should (#135).

v1.5.2 - Hotfix II

10 Aug 20:30
Compare
Choose a tag to compare

Changelog

Hotfix for v1.5.0 (see changelog below)

Changed

  • Rollbacked the fix for timers from v1.5.0, since it was causing fb2k freezes (#135).

Fixed

  • Fixed unicode handling in script paths.

v1.5.1 - Hotfix

03 Jul 13:58
Compare
Choose a tag to compare

Changelog

Hotfix for v1.5.0 (see changelog below)

See docs for the detailed description of API changes.

Added

  • API changes:
    • Added plman.GetPlaylistLockName() method.

Fixed

  • Fixed fb2k freeze that could happen when using ActiveXObject.

v1.5.0 - Packages & Whistles

29 Jun 22:55
Compare
Choose a tag to compare

Changelog

See docs for the detailed description of API changes.

Added

  • API changes:
    • Added fine-grained playlist lock control via plman.GetPlaylistLockedActions() and plman.SetPlaylistLockedActions() (#144).
    • Added utils.GetPackageInfo() method.
    • Added fb.Restart() method.

Changed

  • utils.InputBox() now automatically resizes to fit the text (#71).
  • Additional properties provided by component are no longer displayed when not set (#141).
  • API changes:
    • Added use_exact argument to GdiGraphics.CalcTextWidth() to improve width calculation accuracy in certain cases (#140).
    • utils.GetPackagePath() is marked as [Deprecated]. Use utils.GetPackageInfo() instead.
    • plman.IsPlaylistLocked() is marked as [Deprecated]. Use plman.GetPlaylistLockedActions() instead.

Fixed

  • Fixed various bugs and crashes in Configure dialog.
  • Revamped package update process to avoid potential problems when that package is being in use (#137).
  • Fixed inability to import package if there are no packages installed (#134).
  • Enable drag-n-drop checkbox value in Configure dialog is no longer ignored.
  • Slow script detection now works inside script-editing modals (#143).
  • Fixed incorrect relative path calculation when include is called from methods defined in another file (#142).
  • Fixed timers not stopping when they should (#135).
  • Fixed various errors in complete samples (by marc2003):
    • Fixed crash on invalid query in auto-playlist script.
    • Thumbs script now downloads images only when the corresponding mode is set.

v1.4.1 - Hotfix

13 Feb 22:14
Compare
Choose a tag to compare

Changelog

Hotfix for v1.4.0 (see changelog below)

See docs for the detailed description of API changes.

Changed

  • Changed casing of window.JsMemoryStats fields for consistency with the rest of API.
  • Added indicator when panel name is overriden by the script in Configure dialog.
  • Improved package manager behaviour in various scenarios.

Fixed

  • Fixed various bugs in Package tab of Configure dialog.
  • Fixed sorting of package files.
  • Fixed conflict with foo_wave_seekbar.
  • Fixed foo_acfu integration.
  • Fixed data not refreshing on Apply in Configure dialog.

v1.4.0 - Configure v2 & Script Package

11 Feb 18:13
Compare
Choose a tag to compare

Changelog

See docs for the detailed description of API changes.

Added

  • Added a brand new Configure dialog!
  • Added more ways to consume scripts:
    • Quick access to built-in script samples.
    • Load scripts by path.
    • Use script packages (see below for more info).
  • Implemented script package support:
    • Can contain multiple scripts and assets.
    • Can be easily exported and imported as a single file.
    • Has a package manager to view and manage all installed packages.
  • Panel name can be changed now via Configure dialog.
  • Default script editor can be changed now via drop-down menu of Edit button in Configure dialog.
  • Added a link to component docs to foobar2000 Help main menu.
  • API changes:
    • Added iterator protocol support to FbMetadbHandleList.
    • Added type argument to FbUiSelectionHolder.SetSelection().
    • Added fb.Version property.
    • Added utils.DetectCharset() method.
    • Added utils.EditTextFile() method.
    • Added utils.FileExists() method.
    • Added utils.GetFileSize() method.
    • Added utils.GetPackagePath() method.
    • Added utils.IsDirectory() method.
    • Added utils.IsFile() method.
    • Added utils.SplitFilePath() method.
    • Added window.DefineScript() method.
    • Added window.EditScript() method.
    • Added window.ShowConfigureV2() method.
    • Added window.JsMemoryStats property.
    • Added window.ScriptInfo property.

Changed

  • Moved Properties dialog to a separate tab of Configure dialog.
  • Grab focus is now a script property and is defined via window.DefineScript().
  • Extracted Edge style and Pseudo-transparency options to a separate tab of Configure dialog.
  • API changes:
    • utils.FileTest() is marked as [Deprecated]. Use new corresponding methods instead.
    • window.ID is now optional and unused in all methods that required it.
    • window.DefinePanel() is marked as [Deprecated]. Use window.DefineScript() instead.
    • window.MemoryLimit, window.PanelMemoryUsage and window.TotalMemoryUsage are marked as [Deprecated]. Use window.JsMemoryStats instead.
    • window.Name now returns panel name instead of script name. Use window.ScriptInfo.Name to retrieve script name.
    • window.ShowConfigure() is marked as [Deprecated]. Use window.ShowConfigureV2() to configure panel and window.EditScript to edit script.

Fixed

  • Fixed component crash when passing objects to console.log().
  • Fixed component crash when there is a stack overflow in JS.
  • Fixed the weird image offset when using fb.DoDragDrop() with custom image and theming disabled.
  • Fixed utils.ShowHtmlDialog() not applying IE mode, when HTML code is passed directly to the method.
  • Various ActiveXObject fixes:
    • Errors in callbacks passed to ActiveXObject objects and methods are now properly propagated to the script.
    • Fixed inability to use subscripts with some ActiveXObject objects.
    • Added iterator protocol support to enumerable ActiveXObject objects.
  • Fixed various errors in complete samples (by marc2003).

v1.3.1 - Hotfix

18 Jul 12:04
Compare
Choose a tag to compare

Changelog

Hotfix for v1.3.0 (see changelog below)

Fixed

  • Fixed FbTooltip.SetFont() not working.
  • Fixed a memory leak when using window.Tooltip.
  • Fixed task id collision in gdi.LoadImageAsync().

v1.3.0 - Refresh

10 Jul 15:21
Compare
Choose a tag to compare

Changelog

See docs for the detailed description of API changes.

Added

  • Re-added ability to automatically download thumbnail images to thumbs.js sample (by @marc2k3).
  • Added missing documentation for fb.GetDSPPresets() and fb.SetDSPPreset().
  • API changes:
    • Added GdiBitmap.InvertColours() method (by @kbuffington).
    • Added ActiveXObject.ActiveX_CreateArray() method.
    • Added window.Tooltip property.
    • Added FbTooltip.SetFont() method.
    • Deprecated window.CreateTooltip() method.

Changed

  • Updated SpiderMonkey JavaScript engine to 68.8.0 ESR:
    • ECMAScript 2019 conformant JavaScript. See 'What's new in ES2019' for more info.
    • Various performance improvements and bug fixes.
  • Adjusted a "Function failed successfully" error message (e.g. when running out of GDI handles).
  • Updated Tooltip sample.

Fixed

  • Fixed incorrect sorting in FbMetadbHandleList.OrderByRelativePath().
  • Fixed fb.GetDSPPresets(): now it returns a proper value.
  • Fixed fb.IsMainMenuCommandChecked() not working with hidden by default menu items.
  • Fixed garbled error messages on systems with non-English locale.
  • Fixed Replace All action and RegExp handling in Find/Replace dialog.
  • Fixed crash in some of .js samples when deleting a file via context menu.

v1.2.3 - Maintenance II

04 Feb 18:41
Compare
Choose a tag to compare

Changelog

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:

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