Releases: regorxxx/Playlist-Manager-SMP
v0.5.0-beta.20 - Minor LB warning improvement
Script should be installed as package, using the package manager at the Spider Monkey Panel Configuration window. Old method is still supported anyway.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
[0.5.0-beta.20] - 2023-05-16
Added
Changed
- ListenBrainz: network errors when caching library paths (usually at startup) are not reported anymore (since they don't give useful info on real use-cases).
Removed
Fixed
v0.5.0-beta.19 - Youtube support, UI revamp & Package installation
Script should be installed as package, using the package manager at the Spider Monkey Panel Configuration window. Old method is still supported anyway.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
[0.5.0-beta.19] - 2023-05-08
Added
- Search: search toolbar to filter the current view according to the input. Supports case insensitive matching by playlist name, tag, category or tracks' file or folder names (this one disabled by default). Works pretty similar to the search filters found on Library Tree or the album viewer (except no query support). Enabling the path searching allows to easily find tracks within playlists (both loaded and non loaded ones). Path level is configurable. There is also an additional setting to parse RegExp expressions (which allow more advanced searches).
- XSP: 'datemodified', 'dateadded', 'datenew', 'noofchannels', 'samplerate', 'musicbitrate', 'time', 'origyear' and 'bpm' support. This covers all tags on the specs, except 'source' tag which has no correspondence in foobar2000.
- ListenBrainz: on first init, panel will try to retrieve user token from other panels (like ListenBrainz-SMP).
- ListenBrainz: new menu entry to retrieve user token on demand from other panels (like ListenBrainz-SMP).
- ListenBrainz: new option to look for not found tracks on library at YouTube when retrieving playlists from ListenBrainz. Requires 'foo_youtube' component installed. When links are loaded, the entire process is asynchronous and playlist filling may take some seconds. Track order is ensured in the process (contrary to other scripts relying on foobar path loading).
- Backup: in case a playlist backup file is found on startup, panel asks to restore it. This usually happens if the panel crashes while editing a playlist file.
- Package: new installation method as package.
Changed
- ListenBrainz: improvements to error handling and reports given to user.
- ListenBrainz: playlist MBID is now cached on import menu entry (during same session).
- ListenBrainz: .xspf playlists now save user-name at 'creator' tag, user's web page at 'info' tag, playlist's web page at 'location' tag and description metadata.
- ListenBrainz: .m3u8 playlists now save user-name at 'author' tag and description metadata.
- ListenBrainz: panel is now blocked with an animation while retrieving playlists.
- Playlist formats: all playlists created by the manager will now have 'author' metadata present and set to 'Playlist-Manager-SMP'.
- UI: revamp of UI, moving list and header menus to buttons at the header along a more modern look. Header actions (and tooltip info) are now available at the bolt button.
- UI: up/down buttons are replaced by a smart scroll bar which is automatically hidden when the mouse is not over. Double clicking on the bar will jump to the active/playing playlist. Double clicking on the up/down bar buttons will jump to the top/bottom of the list.
- UI: -by default- up/down buttons are now only shown while drag n' dropping to easily scroll the list.
- UI: main UI elements can now be enabled/disabled via the settings menu. i.e. it's possible to revert all new UI additions by disabling them, showing only a header with the tracked folder.
- Playlist locks: locks are now easily switched in a submenu list, showing action descriptions, instead of using popups. It will also state when the lock is applied by other components.
- Drag and Drop: tracks can now be dropped to the search toolbar to parse their filenames for filtering (when file/folder searching is enabled). This is equivalent to the 'Find current selection...' menu entry, but direclty filtering the current view (instead of showing a report popup).
- Menus: restore feature also supports playlists closed outside the panel (i.e. UI-only playlists even if they are not tracked). Name also shows if it's assigned to a file or UI.
- Playlist loading: some minor optimizations.
- Console: multiple improvements when logging to file for FbMetadbHandle, FbMetadbHandleList, Error and unknown instances (totally irrelevant except for debug purposes).
- Documentation: updated readme PDF to be up to date with all latest changes. Added all XSP -> foobar2000 tag equivalences.
- Console: menu entries are no longer logged to console after clicking.
- Helpers: updated helpers.
Removed
Fixed
- Renaming: auto-renaming of playlist tracked on manager if renaming was done within playlists tabs not working on some cases (still only possible for active playlist).
- AutoPlaylists: 'Reload playlist (overwrite)' was not working properly, creating a duplicated playlist instead of overwriting the existing one.
- ListenBrainz: crash due to renamed 'contentResolver' function call.
- ListenBrainz: workaround for windows caching of server requests (so sometimes playlists were not updated with changes on real time).
- ListenBrainz: relative paths not being used -if configured to do so- when importing playlists from ListenBrainz.
- Clone: relative paths not being used -if configured to do so- when cloning a playlist file.
- Clone: links being reported as non found when cloning a playlist file. Now they are silently omitted. Non found paths are still reported.
- UI: MBIDs filtering not being saved between sessions.
- UI: resetting all filters did not reset MBID filtering.
- UI: selected and highlighted playlist rectangles did not match in size (again).
- UI: crash when using 'UI\Set custom colours...\Reset all to default' menu entry.
- Links: multiple fixes to web links handling, specially for YouTube links (which should now properly use the 'fy+' scheme in all cases).
- Links: fix web links identification, using '\' or '//' convention.
- Paths: multiple fixes to inconsistent path handling, specially for items with subsong indexes or links (at the playlist maintenance tools).
- Playlists maintenance tools: fixed relative path handling for 'Duplicated items...' tool when there were multiple relative levels.
- Playlists maintenance tools: fixed report for 'Absolute/relative paths...' tool; displaying always none even when results where found.
- Playlists maintenance tools: fixed report for 'Duplicated items...' tool; popup said 'dead items' instead of 'duplicated items'.
- XSP: sorting not properly saved on smart playlist creation.
- XSP: type ('songs') not properly set on smart playlist creation.
v0.5.0-beta.18 - Playlist items contex menu and configurable UI
IF INSTALLING FROM AN OLDER VERSION THAN BETA 13 FOLLOW THESE INSTRUCTIONS.
Otherwise just overwrite old files as usual.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1
[0.5.0-beta.18] - 2023-03-08
Added
- UI: native contextual menu for items within loaded or UI-only playlists.
- UI: configurable playlist menus. Multiple entries may be hidden if not used, thus making it easier for users without more advanced needs.
Changed
- UI: on first init, advanced features will be hidden by default.
- UI: focus is now set on new playlist after playlist creation.
Removed
Fixed
- Dynamic menus: not being created on init when the manager had no Auto-playlists and Auto-playlist size updating was enabled.
- Crash after deleting playlists using multiple selection actions, since the selection was not being reset.
v0.5.0-beta.17 - Minor improvements
IF INSTALLING FROM AN OLDER VERSION THAN BETA 13 FOLLOW THESE INSTRUCTIONS.
Otherwise just overwrite old files as usual.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1
[0.5.0-beta.17] - 2023-03-04
Added
Changed
- UI: popup when cloning an Auto-playlist now adds a tip to cancel, thus skipping playlist file creation.
- Autosave: renamed property, config will be reset on update (this doesn't affect to most users since this config is usually not touched).
- Documentation: updated readme PDF to be up to date with all changes.
- Internal code cleanup of menus.
Removed
Fixed
- Console: logging of null value not working properly (totally irrelevant except for debug purposes).
v0.5.0-beta.16 - Enhance wine compatibility and fixes
IF INSTALLING FROM AN OLDER VERSION THAN BETA 13 FOLLOW THESE INSTRUCTIONS.
Otherwise just overwrite old files as usual.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1
[0.5.0-beta.16] - 2023-02-22
Added
- UI: default fonts (buttons and tooltip) may now be changed at '[foobar profile]\js_data\presets\global\globFonts.json'.
Changed
- UI: improved compatibility with some fonts under Unix systems (using Wine). Sometimes weird chars appeared on menu entries.
Removed
Fixed
- UI: header text did not respect the right margin when the tracked folder name was too long. Now the name is sliced to accommodate the available width after the extra info is taken into account. Example: "Playlists: My folder is too long..." is now displayed as "Playlists: My folder... (10 pls.)" or "My folder... (10 pls.)". If the text is too long, it will also respect the margin, not using the full panel width.
- Crash at multiple points when number of playlists shown was lower than available rows on panel (due to a UI change on 0.5.0-beta.13).
v0.5.0-beta.15 - Merge-load playlists
IF INSTALLING FROM AN OLDER VERSION THAN BETA 13 FOLLOW THESE INSTRUCTIONS.
Otherwise just overwrite old files as usual.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1
[0.5.0-beta.15] - 2023-02-19
Added
- Merge load: when selecting multiple playlists, it's now possible to load them merged in a single playlist within UI. There is also an additional option to remove duplicates. It also works for UI-only playlists, i.e. selecting and merge-loading them will simply join them (but along the remove duplicates option, it may be used to merge playlists without duplicates in a really fast way).
Changed
- UI: 'Clone playlists in UI' multiple selection option now also works for AutoPlaylists.
- UI: 'Clone playlist in UI' mouse shortcut now also works for AutoPlaylists.
Removed
Fixed
v0.5.0-beta.14 - Compatibility update
IF INSTALLING FROM AN OLDER VERSION THAN BETA 13 FOLLOW THESE INSTRUCTIONS.
Otherwise just overwrite old files as usual.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1
[0.5.0-beta.14] - 2023-02-19
Added
Changed
- Helpers: updated helpers
Removed
Fixed
v0.5.0-beta.13 - ListenBrainz integration and UI revamp
DELETE ALL OLD FILES, AT 'xxx-scripts' before installing new ones.
Update all my other scripts too with latest releases.
Too many things have changed and it must be ensured a clean installation is done.
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1
Highlights:
- Multiple selection of files.
- Fully configurable buttons UI.
- Drag n Drop.
- Fully configurable mouse behavior (on click, keyboard modifiers, etc.)
- ListenBrainz integration (able to save playlists online or retrieve from server).
[0.5.0-beta.13] - 2023-02-15
Added
- Configuration: added user configurable files at '[FOOBAR PROFILE FOLDER]\js_data\presets\global' to edit default queries and tags for multiple tools. Usually used internally or on properties panel. Don't forget to reload the panels/restart foobar and restore defaults on all relevant buttons and menus to use the new values. For Playlist Manager, it's only used for the default values of Duplicates Removal feature, so only that sub-menu needs to be restored to defaults (not the entire panel).
- Drag and Drop: tracks can now be sent to a playlist directly with Drag and Drop, instead of using key shortcuts + mouse. Both move and copy (pressing Control) are allowed. Only tracks within foobar2000 context can be drop, trying to drop any other thing, track from outside or file is not allowed. Pressing 'Alt' on drop will create a new playlist instead of sending it to the selected playlist. To warn about this behavior, no playlist is highlighted while pressing the key (contrary to the usual drag and drop). List can be scrolled up or down by moving the mouse to the arrow buttons while dragging.
- ListenBrainz: playlist ListenBrainz integration may be added with an user token. Token encryption is allowed with a password.
- ListenBrainz: new options at L. Click menu, 'Online sync...', to export (create new/update) and import playlists from ListenBrainz. Exporting a playlist requires tracks to have 'MUSICBRAINZ_TRACKID' tags present; there is an additional option to perform MBIDs lookups on exporting when tags are missing.
- ListenBrainz: new options at L. Click menu, 'Online sync...', to get the URL of the playlist on ListenBrainz or directly open it on web.
- ListenBrainz: new options at R. Click menu to create a playlist from ListenBrainz importing by MBID.
- ListenBrainz: playlist importation may be done on any writable format, including '.xspf' format (which is essentially equivalent to '.jspf' format used internally by ListenBrainz). Saving to the latter format, allows content resolution -on load- on any library by artist, title or recording MBID and also store not found items on the playlist file. Using other formats will skip not found items on importing step.
- ListenBrainz: 'PLAYLIST_MBID' is now saved on playlist's metadata and displayed on tooltips if available. Meant to be used along ListenBrainz integration. Id is resolved to an online playlist at 'https://listenbrainz.org/playlist/(PLAYLIST_MBID)'.
- XSPF: identifier tag linked to 'MUSICBRAINZ_TRACKID' for content resolution.
- Tags: new auto-tag named 'bMultMenu' which associates tagged playlists to specific dynamic main menu entries which apply an action to a group of playlists.
- Tags: new auto-tag 'bSkipMenu' which makes the tagged playlist to be skipped on dynamic menu creation.
- Dynamic menus: new dynamic main menu entries which apply an action to a group of playlists tagged with 'bMultMenu'. These are meant to be associated to an standard Foobar2000 button (or CMD commands), to easily load or apply generic actions to a group of playlists at once.
- Dynamic Menus: menu warns about entries needing input via popups and those are skipped on the Online Controller actions.
- Dynamic menus: new 'Move selection to playlist' dynamic menu.
- Startup playlist: added new option at integration header menu to set the active playlist at panel startup, allowing to start Foobar2000 automatically with a given playlist. In case it's a playlist present on the manager but not loaded, it's required to set 'bAutoLoad' tag on playlist file to load it automatically on startup too. RegExp may be used too, returning the first match found.
- Playlist locks: UI lock status is now displayed on playlist tooltips, along the actions locked.
- UI: filter/sorting buttons are now fully configurable (background, colors, toolbar mode, ...).
- UI: show an icon related to the current filter state. For ex. the extension filter will show the associated playlist icon.
- UI: keyboard modifiers on L. Click now also allow 'Clone playlist in UI', 'Lock/unlock playlist file', 'Lock/unlock UI playlist' and 'Multiple selection' actions (along the previous ones).
- UI: added M. Click actions, configurable the same way than L. Click actions. Set by default to 'Multiple selection'.
- UI: added L. Click and M. Click actions on header, configurable the same way than the other actions. Set by default to 'Cycle categories' (previous behaviour) and 'Multiple selection (all)' (toggles selection for all playlists of current view).
- UI: added 'Multiple selection (range)' shortcut action, which emulates the usual Shift + Click action to select a range on files on explorer.
- UI: multiple playlist selection. Using any other mouse shortcut will apply the action to the entire selection, instead of a single playlist. Opening the playlist menu (L. Click) while using multiple selection, will display a different list of actions to apply to the entire selection.
- UI: new 'Move selection to playlist' shortcut action, which copies the track to the selected playlist and removes it from the source.
- UI: new 'Find current selection' menu entry, on R. Click, to find the selected tracks on the tracked playlists. A report is shown with category and playlist name.
- UI: new filter for playlist with(out) MBID (i.e. to filter playlist synced with ListenBrainz).
- UI: filter and sorting menu entries are now sorted.
- Track Auto-tagging: added new JS functions to retrieve properties from playlist: ('JS:' +) playlistName, playlistCategory, playlistTags and playlistMBID.
- Cache: new option on header's menu to stop library path caching until next startup. This allows to perform path changes to files without constantly having the panel processing the changes, when done, deactivate it to update. This action is shared across all playlist manager panels (i.e. activating it in one, will activate it in the others).
- Cache: whenever library paths cache is outdated, a warning is shown on the header and playlists' tooltips.
- Playlists maintenance tools: added tool to check for subsong items (usually files from ISO files, etc.). They are fully supported within by the manager, but it's not guaranteed to work on other software.
- Playlists maintenance tools: added tool to check for format specific errors (like XSP types not supported, wrong queries, etc.). The errors are shown on the report along the playlist name/path.
Changed
- Exporting Playlists: entry to copy playlist file will now ask to overwrite it, in case such file already exists, instead of failing.
- Playlists maintenance tools: playlist consistency tools renamed to playlists maintenance tools.
- Playlists maintenance tools: list is now filtered with the results found -if any- (in addition the popup showing the report). Makes much easier to work with the problematic playlists, not having to manually search them. Output also honors the current filtering configuration, so in case only M3U playlists are shown, the output will only show results being M3U (the report will list all results though).
- Quick-search: added new settings for its behavior when a key is pressed multiple times and also to allow cycling between results.
- XSP: 'playcount' XSP tag now gets translated into '$max(%PLAY_COUNT%,%LASTFM_PLAY_COUNT%)' within foobar when 'foo_enhanced_playcount' is installed. This offers better support for scrobbles.
- XSP: 'lastplayed' XSP tag now gets translated into '%LAST_PLAYED_ENHANCED%' within foobar when 'foo_enhanced_playcount' is installed. This offers better support for scrobbles.
- XSP: 'virtualfolder' XSP tag now gets translated into '#PLAYLIST#' within foobar. It simply remaps the tag to behave like 'playlist' XSP tag.
- XSP: XSP playlists with a non compatible type now show a warning at tooltip, contextual menu and when trying to load/export them. Most other actions are disabled. Currently only 'songs' type is allowed.
- Track Auto-tagging: reworked entire feature to fine-tune overwriting or value addition behavior, in particular for JS functions. Empty values will now delete the tag, otherwise added to current tag by default. Check documentation for further details.
- Filter: category playlist filter on header menu now allows directly selecting a single value by pressing shift.
- Filter: tag playlist filter on header menu now allows directly selecting a single value by pressing shift.
- Filter: count for tags and category entries for filters on header menu.
- Cache: reworked path caching, now will process 100 items at the same time until all tracks are done instead of forcing an specific total startup time. Adjusted delays for Foobar 2000 2.0+ tag retrieval. It should lead to faster startups in both cases, specially for small libraries (< 70K tracks).
- Backup: asynchronous on script unloading (at shutdown for example) and playlist loading.
- UI: current view position will be maintained in most use-cases now (after updating a playlist, loading new files, manual refresh, ...) if possible.
- UI: buttons' colors are now set by default according to the inverse of the background color. The same applies when applying presets, or changing the toolbar style.
- UI: colours presets menu now show a check in case one of them is active.
- UI: keyboard modifiers on L. Click are now fully configurable usi...
v0.5.0-beta.12 - Playlist locks
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1
- New menu entry to lock/unlock playlists (L. Click menu). Allows fine-grained control of lock types.
- Minor improvements to word lists within popups in some instances. Now split in new lines after X elements.
See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
v0.5.0-beta.11 - Hotfix
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1
- Fixed left click actions not working (playlists, buttons, etc)..
- Fixed console logging to file (lines were not being split properly).
See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md