Skip to content

Releases: regorxxx/Playlist-Tools-SMP

v3.0.0-beta.21 - Hotfix

04 Mar 17:02
Compare
Choose a tag to compare

IF INSTALLING FROM AN OLDER VERSION THAN BETA 16 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

[3.0.0-beta.21] - 2023-03-04

Added

Changed

  • Last.fm: renamed button to 'buttons_lastfm_tools.js'. There is no need to do anything user-side on previous installations, it's automatically handled on first load after updating.
  • Last.fm: added button to one of the default presets ('ListenBrainz & Last.fm') on empty toolbars.

Removed

Fixed

  • UI: png icons now use a dark-mode version (if available) or get inverted according to the button text color configuration.
  • Last.fm: missing icon file.

v3.0.0-beta.20 - Last.fm support

04 Mar 10:47
Compare
Choose a tag to compare

IF INSTALLING FROM AN OLDER VERSION THAN BETA 16 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

[3.0.0-beta.20] - 2023-03-04

Added

  • Last.fm: support for foo-last-list-smp. Requires package to imported within SMP Package manager (no need to be active on a panel). Then add a new button as usual from the 'Last.fm' subfolder. Allows to create playlists from Last.fm urls either matching results with library or YouTube links (requires foo_youtube). It's not an exact clone of the original script, so some features may differ. It does not require a Last.fm account or token.

Changed

  • UI: tweaked and unified buttons weight and margins, adjusted to scale set and DPI.
  • UI: minor improvements to readme sub-folders names.
  • UI: cursor now changes when over a button.
  • UI: cursor now changes while performing buttons drag n' drop. It now clearly indicates when a move is allowed or it's outside the allowed range.
  • UI: drag n' drop now only works when the mouse is over a button position. i.e. both the functionality and position rectangle are disabled if the mouse is not on a valid position. Previously moving the button to a blank part of the bar would have simply sent it to the first/last position for ex. This is disallowed now, which makes drag n' drop a bit more intuitive and offers an overall more cohesive experience. It also respects orientation and reflow settings.
  • Internal code cleanup of menus.

Removed

Fixed

  • UI: minor improvements to drag n drop behavior when mouse remains static and R. Click is released. Panel is redrawn immediately instead of waiting to move the mouse, current button remains hovered.
  • UI: minor improvements to drag n drop behavior when R. Click menu is called in rapid succession. Panel is redrawn on the background now.
  • Select...\Delete selected tracks: didn't allow undo.
  • Select...\Delete Non selected tracks: didn't allow undo.
  • Console: logging of null value not working properly (totally irrelevant except for debug purposes).

v3.0.0-beta.19 - Enhance wine compatibility

22 Feb 19:56
Compare
Choose a tag to compare

IF INSTALLING FROM AN OLDER VERSION THAN BETA 16 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

[3.0.0-beta.19] - 2023-02-22

Added

  • UI: default fonts (buttons, icons, toolbar text 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

v3.0.0-beta.18 - Hotfix

21 Feb 22:35
Compare
Choose a tag to compare

IF INSTALLING FROM AN OLDER VERSION THAN BETA 16 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

[3.0.0-beta.18] - 2023-02-21

Added

Changed

  • Helpers: updated helpers

Removed

Fixed

  • Buttons: fixed 'buttons_playlist_tools_submenu_custom' behavior when trying to call entries related to some special submenus (like those related to editing/adding/removing entries from menus). For ex. setting it to call the 'Playlist manipulation\Query filtering', all filter entries worked fine... but trying to use 'Edit entries from list...\xxxxxxxxx\Edit entry...' didn't work and reported menu entry not found at console log (although the menu was clearly named the same and it existed).
  • Buttons: properties were sometimes reset/mixed/not saved properly moving buttons using the 'Change buttons position' menu. It worked fine using drag n' drop though.

v3.0.0-beta.17 - Quicksearch customization and Hotfix

19 Feb 10:35
Compare
Choose a tag to compare

IF INSTALLING FROM AN OLDER VERSION THAN BETA 16 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

[3.0.0-beta.17] - 2023-02-19

  • UI: added settings for buttons color (the border and filling).
  • UI: added settings for buttons transparency (the filling).

Changed

  • Quicksearch: entries are now configurable. New ones may be added and existing ones edited. 'Partial match' and 'Begins with' entries are automatically created.
  • UI: enhanced colors and shading for buttons on mouse over/down when using custom toolbar color modes, etc.
  • UI: pressing Ctrl resets selected setting on buttons bar colors submenu.
  • Helpers: updated helpers

Removed

Fixed

  • Pools: duplicated 'Current genre/style and instrumentals' pool entry removed.
  • Buttons: fixed 'Restore default buttons' entry crash (not needed anymore since there are no more 'default buttons'), now replaced with 'Restore all buttons' (which simply restores back default settings for every button).

v3.0.0-beta.16 - Quicksearch

15 Feb 20:05
Compare
Choose a tag to compare

DELETE ALL OLD FILES, AT 'xxx-scripts' before installing new ones.

Update all my other scripts too with latest releases.

Install on a blank panel. Clean the old panel first.

Note Playlist Tools does not include Search by distance buttons anymore. Both must be installed now separately!

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:

  • A lot of small UI improvements.
  • Playlists locks.
  • Smart shuffle (better than Spotify's one).
  • Main menu macro button. Allows to run multiple native foobar2000 actions with a single button (like merging multiple buttons on one).
  • Quick-search tools. With partial matching, full matching, beginning with, etc.
  • Remove duplicates with RegExp.

[3.0.0-beta.16] - 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. It's recommended to do it upon installation of this update.
  • Playlist locks: new menu entries at Playlist manipulation to switch playlists locked status. It's meant to be used via Dynamic menus in a button, allowing to lock/unlock specific playlists with the same button.
  • Selection manipulation\Shuffle: shuffles tracks according to tags (for ex. artist) in a semi-random pattern, ensuring no 2 consecutive tracks have the same tag. Follows Spotify design. Differs from 'Scatter by tags' (intercalate) in the way tracks are ordered (without strict alternation), i.e. it doesn't follow a pattern ABCABAA when it's possible to ensure no A tracks are together (ABACABA). Note contrary to Spotify's preferences to recently played/loved tracks, this algorithm is truly "random" in the sense that there is no preference for any track, it just ensures artists are distributed evenly with some randomness.
  • Pools: new 'Top recently played tracks' and 'Top recently added tracks' pools entries.
  • Pools: pools now also allow harmonic mixing. Key tag used follows tag remapping of the button. Check '50_random_artists_harmonic.json' for a preset example and 'Top tracks mix (harmonic)' within pools menu.
  • Presets: new presets 'Classic Pools (20 random albums)' and 'Classic Pools (20 random tracks)' for pools. Meant to solve situations like this or this.
  • Presets: new preset 'Similar artists (G)' to make use of Similar Artists analysis. Similar artists calculation is -obviously- required first.
  • Buttons: added 'main_menu_shortcut' button which allows to call [multiple] native main menus (dynamically generated ones too). Some kind of automation is allowed by configuring states and unloading actions. For ex. to easily switch playback statistics monitoring on demand for multiple components (database, ListenBrainz, Last.Fm, ...) with a single click, and also ensure they are enabled back when closing Foobar200. Before every menu action a custom timeout can be added (for asynchronous actions).
  • Buttons: added 'search_by_tags_queries' button which is a generic version of the old 'search_same_style' button, but applicable to any tag. An arbitrary num of tags may be used to create queries.
  • Buttons: added 'quicksearch' button which is a shortcut to the "dynamic queries" functionality, more in line with foo_quicksearch. Allows searching for tracks with same tag values, beginning with them or by partial matching (i.e. adds a lot of more functionality than the original one). Results may be sent to a playlist, Autoplaylist or search window.
  • Advanced sort: decremental sort by DynGenre entry added.
  • Advanced sort: harmonic mix entry added (in place, not new playlist).
  • Tags: menu entries to -only- reset tag remapping.
  • Readmes: new 'allowedKeys.txt' file explaining pools presets, variables used, sources, etc.
  • Last Action: added new entry at main menu to execute the last action used. Cleared out at startup.
  • Other Tools\Write tags: added 'Folksonomy' tag calculation from multiple sources: genre, styles, locale, etc. Meant to be used along the Picard scripts found at presets.
  • UI: added icons-only mode for toolbar buttons at the toolbar configuration menu ('Other UI configuration'). Tooltip is adjusted to show the button's name there instead. Handy when creating a compact toolbar and icons are good enough to recognize the tools.

Changed

  • Playlist locks: menu entry to lock playlists also blocks playlist removal now (not only its items).
  • Playlist locks: lock types applied are now shown on the header of the submenu.
  • Selection manipulation\Scatter by tags: split the tool into intercalate (associated to matching any value) and scatter (for specif values) submenus.
  • Selection manipulation\Scatter by tags: now allow to customize and edit the menu entries.
  • Top Rated Tracks from...: now use the greater value between play count and Last.Fm play count for sorting to account for scrobbles. i.e. '$max(%PLAY_COUNT%,%LASTFM_PLAY_COUNT%)'.
  • Most played Tracks...: now use the greater value between play count and Last.Fm play count for sorting to account for scrobbles. i.e. '$max(%PLAY_COUNT%,%LASTFM_PLAY_COUNT%)'.
  • Most Played Tracks from...: now also includes scrobbles from Last.Fm. So in case tracks have been played at Spotify or other players, as long as scrobbles as synced by 'Enhanced playback statistics' plugin, those tracks are considered eligible the same than any track played within Foobar2000.
  • Other tools\Playlist revive: 'ACOUSTID_ID' and 'MUSICBRAINZ_TRACKID' are now checked to find exact matches, if MD5 and all other exact match rules fail.
  • Other tools\Check Tags: added 'TITLE' to the list of default tags to be checked. Added special conditions to title tags.
  • Script Integration\SMP Dynamic menu: now replaces all functionality previously found at Script Integration\SMP Main menu. Custom menus and functions may still be added, and device/DSP selector is no longer required (since it requires CMD and therefore can also be changed directly with it).
  • Script Integration\SMP Dynamic menu: the panel warns about other panels having the same name if the feature is enabled at startup or when enabling it. Panel flashes for some seconds while the popup is shown.
  • Script Integration\Add SKIP tag at current playback: pressing Shift while calling the menu now adds a skip tag to the existing ones, instead of replacing them.
  • Script Integration\Add SKIP tag at current playback: will now change playback to next track after tagging, instead of waiting for the component foo_skip to do it, resulting in smoother tagging process.
  • Online controllers integration: reworked and updated all code for full integration with foo_httpcontrol has been added when using the preset ajquery-xxx now using dynamic menus.
  • Pools: duplicates are now removed, per group, in Classic Pools mode (when using GROUP# as source). That should bring the best of both worlds, mimicking foo_random_pools behavior while not duplicating tracks when there are multiple versions of them (for ex. original and remastered album, etc.).
  • Pools: improved and expanded console logging.
  • Pools: minor change to default pool entries to ensure final playlist length matches the global playlist length set at button. There were some rounding errors before with even track numbers.
  • Remove duplicates: Ctrl + L. Click on button will show duplicates instead of removing them (i.e. the inverse function). This allows to use both functionalities without having to use multiple buttons.
  • Remove duplicates: all uses of function changed to make use of '$year(%DATE%)' and '$ascii($lower($trim(%TITLE%))' instead of 'DATE' and 'TITLE'. This is a changed ported from Search by Distance, to ensure the most matches possible.
  • Remove duplicates: advanced RegEx title matching option. For example, tracks like these would be considered to be duplicates: 'My track (live)', 'My track (acoustic)', 'My track (2022 remix)', ' My track [take 3]', ... but not those with keywrods like 'part', 'pt.', 'act' or Roman numerals.
  • Remove duplicates: advanced RegEx title matching option. Words with "-in'" and a list of verbs ending in "-in" are matched against "-ing" verbs to further refine the search. For ex. "walkin", "walkin'" and "walking" are all considered equivalent.
  • Show duplicates: Ctrl + L. Click on button will remove duplicates instead of showing them (i.e. the inverse function). This allows to use both functionalities without having to use multiple buttons.
  • Show duplicates: advanced RegEx title matching option. See above.
  • Playlist filter: advanced RegEx title matching option. See above.
  • Search by tags (combinations): duplicates advanced RegEx title matching option. See above.
  • Search by tags (queries): duplicates advanced RegEx title matching option. See above.
  • Playlist Manipulation\Query filtering: pressing Ctrl while clicking on a menu entry will invert the query and append 'NOT' at the beginning. i.e. if a filter is used to display tracks with rating > 3, pressing control will do the opposite and show tracks with rating < 3. Note global forced queries are added after the inversion.
  • Selection manipulation\Scatter ...
Read more

v3.0.0-beta.15 -Playlist locks

22 Aug 19:12
Compare
Choose a tag to compare

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
PREVIOUS BUTTONS CONFIG (<3.0.0) WILL BE LOST ON UPGRADE DUE TO A CHANGE ON PROPERTIES
REQUIRES SMP 1.6.1.

  • New menu entries at Playlist manipulation to lock/unlock playlists. Currently switches 'add, remove, replace and reorder' locks (all at once). Use Playlist-Manager-SMP for a fine-grained control of lock types. Note playlist locked by other components or main program can not be edited via SMP.
  • 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-Tools-SMP/blob/main/CHANGELOG.md

v3.0.0-beta.14 - Search by distance update and Dynamic queries

21 Aug 20:12
Compare
Choose a tag to compare

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
PREVIOUS BUTTONS CONFIG (<3.0.0) WILL BE LOST ON UPGRADE DUE TO A CHANGE ON PROPERTIES
REQUIRES SMP 1.6.1.

  • Added a few new default dynamic queries to menu. Cover versions, acoustic versions, >2 rated tacks by artist. (may need to restore defaults on the menu to enable it)
  • Search by distance: Added 'User descriptors' readme.
  • Search by distance: User file has been moved to profile folder at 'js_data/helpers/music_graph_descriptors_xxx_user.js'.
  • Search by distance: All style/genres on the graph use now ASCII only values, so it should be easier to match any value to them if required.
  • Search by distance: Default genre and style tags use now '$ascii()' TF function. This will ensure a match when using accents, etc. See change above. On previous installations, change tags to (without quotes): '$ascii(%genre%)' & '$ascii(%style%)'
  • Search by distance: After tag remapping, a popup asks to rebuild the cache.
  • Search by distance: Improved graph links cache asynchronous calculation.
  • Fixed console logging to file (lines were not being split properly).
  • Search by distance: Updated to match v3.0.0 release.

See changelog for a full list: https://github.com/regorxxx/Playlist-Tools-SMP/blob/main/CHANGELOG.md

v3.0.0-beta.13 - Similar artists improvements

12 Aug 19:21
Compare
Choose a tag to compare

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
PREVIOUS BUTTONS CONFIG (<3.0.0) WILL BE LOST ON UPGRADE DUE TO A CHANGE ON PROPERTIES
REQUIRES SMP 1.6.1.

  • Search by distance: Added diagrams explaining the design logic of similar artists calculation.
  • Search by distance: Added 'Dembow' and 'Renaissance Rock', along their influences, to descriptors.
  • Search by distance: Greatly improved Similar artists feature with better filtering and weighting of tracks.
  • Reduced console logging at startup.
  • Switched all callbacks to event listeners.
  • Updated Picard AcousticBrainz presets with fixes to output when values used scientific notation and other weird situations.
  • Workaround for some instances where the scripts would warn about some feature not being supported by the OS (due to an OS or SMP bug).
  • Search by distance: Updated to match v2.3.0 release.

See changelog for a full list: https://github.com/regorxxx/Playlist-Tools-SMP/blob/main/CHANGELOG.md

v3.0.0-beta.12 - Hotfix

10 Aug 17:35
Compare
Choose a tag to compare

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
PREVIOUS BUTTONS CONFIG (<3.0.0) WILL BE LOST ON UPGRADE DUE TO A CHANGE ON PROPERTIES
REQUIRES SMP 1.6.1.

  • Minor additions to Search by distance custom button (see below).
  • Added a reset menu entry to Search by distance custom button (see below).
  • Search by distance: Updated to match v2.2.4 release.

See v3.0.0-beta8 release info: https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.0.0-beta.8