Releases: TheQwertiest/foo_spider_monkey_panel
Releases · TheQwertiest/foo_spider_monkey_panel
v1.6.1 - Hotfix
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.
- Reverted changes in
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
!!!
!!! 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 toaction
argument (that is passed toon_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
- 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
v1.5.1 - Hotfix
v1.5.0 - Packages & Whistles
Changelog
See docs for the detailed description of API changes.
Added
- API changes:
- Added fine-grained playlist lock control via
plman.GetPlaylistLockedActions()
andplman.SetPlaylistLockedActions()
(#144). - Added
utils.GetPackageInfo()
method. - Added
fb.Restart()
method.
- Added fine-grained playlist lock control via
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 toGdiGraphics.CalcTextWidth()
to improve width calculation accuracy in certain cases (#140). utils.GetPackagePath()
is marked as [Deprecated]. Useutils.GetPackageInfo()
instead.plman.IsPlaylistLocked()
is marked as [Deprecated]. Useplman.GetPlaylistLockedActions()
instead.
- Added
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 inConfigure
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
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 ofConfigure
dialog. - Fixed sorting of package files.
- Fixed conflict with
foo_wave_seekbar
. - Fixed
foo_acfu
integration. - Fixed data not refreshing on
Apply
inConfigure
dialog.
v1.4.0 - Configure v2 & Script Package
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 inConfigure
dialog. - Added a link to component docs to foobar2000
Help
main menu. - API changes:
- Added iterator protocol support to
FbMetadbHandleList
. - Added
type
argument toFbUiSelectionHolder.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.
- Added iterator protocol support to
Changed
- Moved
Properties
dialog to a separate tab ofConfigure
dialog. Grab focus
is now a script property and is defined viawindow.DefineScript()
.- Extracted
Edge style
andPseudo-transparency
options to a separate tab ofConfigure
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]. Usewindow.DefineScript()
instead.window.MemoryLimit
,window.PanelMemoryUsage
andwindow.TotalMemoryUsage
are marked as [Deprecated]. Usewindow.JsMemoryStats
instead.window.Name
now returns panel name instead of script name. Usewindow.ScriptInfo.Name
to retrieve script name.window.ShowConfigure()
is marked as [Deprecated]. Usewindow.ShowConfigureV2()
to configure panel andwindow.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.
- Errors in callbacks passed to
- Fixed various errors in
complete
samples (by marc2003).
v1.3.1 - Hotfix
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
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()
andfb.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.
- Added
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 inFind/Replace
dialog. - Fixed crash in some of
.js
samples when deleting a file via context menu.
v1.2.3 - Maintenance II
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 inConfigure
:- Added wrap-around support.
- Dialog is transparent when unfocused.
- Made
Go to
dialog inConfigure
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 onlyplaylist_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.
- Note:
Fixed
- Fixed rare crash when using
utils.RunMainMenuCommand
andutils.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).