Skip to content

Commit

Permalink
v1.2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
TheQwertiest committed Feb 4, 2020
1 parent d43a4df commit 09b1fcd
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 56 deletions.
33 changes: 32 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#### Table of Contents
- [Unreleased](#unreleased)
- [1.2.3](#123---2020-01-04)
- [1.2.2](#122---2019-09-14)
- [1.2.1](#121---2019-04-24)
- [1.2.0](#120---2019-04-22)
Expand All @@ -22,6 +23,35 @@ ___

## [Unreleased][]

## [1.2.3][] - 2020-01-04
### 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 needed.
- 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).

## [1.2.2][] - 2019-09-14
### Added
- API changes:
Expand Down Expand Up @@ -244,7 +274,8 @@ ___
- More rigorous error checks.
- Updated samples with compatibility fixes.

[unreleased]: https://github.com/theqwertiest/foo_spider_monkey_panel/compare/v1.2.2-preview...HEAD
[unreleased]: https://github.com/theqwertiest/foo_spider_monkey_panel/compare/v1.2.3...HEAD
[1.2.3]: https://github.com/TheQwertiest/foo_spider_monkey_panel/compare/v1.2.2-preview...v1.2.3
[1.2.2]: https://github.com/TheQwertiest/foo_spider_monkey_panel/compare/v1.2.1...v1.2.2-preview
[1.2.1]: https://github.com/TheQwertiest/foo_spider_monkey_panel/compare/v1.2.0...v1.2.1
[1.2.0]: https://github.com/TheQwertiest/foo_spider_monkey_panel/compare/v1.1.5...v1.2.0
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018-2019 Yuri Shutenko
Copyright (c) 2018-2020 Yuri Shutenko

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
55 changes: 2 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,11 @@
# Spider Monkey Panel
[![version][version_badge]][changelog] [![Build status][appveyor_badge]](https://ci.appveyor.com/project/TheQwertiest/foo-spider-monkey-panel/branch/master) [![CodeFactor][codefactor_badge]](https://www.codefactor.io/repository/github/theqwertiest/foo_spider_monkey_panel/overview/master) [![Codacy Badge][codacy_badge]](https://app.codacy.com/app/qwertiest/foo_spider_monkey_panel?utm_source=github.com&utm_medium=referral&utm_content=TheQwertiest/foo_spider_monkey_panel&utm_campaign=Badge_Grade_Dashboard)

This is a component for the [foobar2000](https://www.foobar2000.org) audio player.
This is a component for the [foobar2000](https://www.foobar2000.org) audio player that allows for creation of full-fledged CUI/DUI panels using JavaScript!

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](https://acfu.3dyd.com) integration.
- And more!

## Getting started!

- Use [Installation Guide](https://github.com/TheQwertiest/foo_spider_monkey_panel/wiki/Installation).
- Take a look at [Documentation and Samples](https://github.com/TheQwertiest/foo_spider_monkey_panel/wiki/Script-documentation)

## JScript Panel users

The main difference from the excellent `JScript Panel` component by [marc2003](https://github.com/marc2k3) 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 [wiki][api_changes] for the detailed list of API changes.
Or just use the [Migration Guide](https://github.com/TheQwertiest/foo_spider_monkey_panel/wiki/JScript-to-SpiderMonkey-migration-guide) to make your scripts compatible.

## Links
[Support thread](https://hydrogenaud.io/index.php/topic,116669.new.html)
[Changelog][changelog]
[Detailed list of API Changes][api_changes]
[Current tasks and plans][todo]
[Nightly build](https://ci.appveyor.com/api/projects/theqwertiest/foo-spider-monkey-panel/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel.fb2k-component?branch=master&job=Configuration%3A%20Release)

## Credits
- [marc2003](https://github.com/marc2k3): original [foo_jscript_panel](https://github.com/marc2k3/foo_jscript_panel), [sample scripts](https://github.com/marc2k3/smp_2003) and multiple contributions to this project.
- [T.P. Wang](https://hydrogenaud.io/index.php?action=profile;u=44175): original [WSH Panel Mod](https://code.google.com/archive/p/foo-wsh-panel-mod).
- [#jsapi IRC channel](https://wiki.mozilla.org/IRC): wouldn't make it through without them, love you guys!
Especially huge thanks to sfink and jonco, who spent literally tens of hours helping me!
- [Respective authors](THIRD_PARTY_NOTICES.md) of the code being used in this project.
Visit [component homepage](https://theqwertiest.github.io/foo_spider_monkey_panel/) for more info.

[changelog]: CHANGELOG.md
[todo]: https://github.com/TheQwertiest/foo_spider_monkey_panel/projects/1
[api_changes]: https://github.com/TheQwertiest/foo_spider_monkey_panel/wiki/API-Changes
[version_badge]: https://img.shields.io/github/release/theqwertiest/foo_spider_monkey_panel.svg
[appveyor_badge]: https://ci.appveyor.com/api/projects/status/4fg787ijr73u7mxc/branch/master?svg=true
[codacy_badge]: https://api.codacy.com/project/badge/Grade/19c686bcf26d46e6a639bdece347ae3d
Expand Down
2 changes: 1 addition & 1 deletion foo_spider_monkey_panel/component_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#define SMP_VERSION_MAJOR 1
#define SMP_VERSION_MINOR 2
#define SMP_VERSION_PATCH 3
#define SMP_VERSION_PRERELEASE_TEXT "beta"
// #define SMP_VERSION_PRERELEASE_TEXT "beta"

#ifdef SMP_VERSION_PRERELEASE_TEXT
# define SMP_VERSION_PRERELEASE "-" SMP_VERSION_PRERELEASE_TEXT
Expand Down

0 comments on commit 09b1fcd

Please sign in to comment.