Skip to content

v3.0.0 - Playlist Manager + Art revamp + New Syntax

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Aug 16:44
· 30 commits to main since this release

Script should be installed as package, using the package manager at the SMP/JSplitter Configuration window.

REQUIRES SMP OR JSPLITTER

Download below clicking at '[...]-package.zip'. Check installation instructions here.

image

See full changelog here.

3.0.0 - 2026-08-24

Added

  • Filters: added new default filter query expressions like: 'Singles and EPs', ...
  • Sources: new 'All playlists' type source available for playlist sources, similar to Active playlist or Playing playlist but tracking all available playlists (Current or new ones). i.e. it serves as a playlists content viewer. There is an additional setting at 'Advanced' tab (HTML options panel) and 'Library Source: Playlist empty nodes (non-flat view)' to set whether empty playlist should be shown or not. See here and here.
  • Sources: new setting 'Multi-branch playlist view' at Views submenu to split tree by playlist's name for playlist(s) sources. i.e. if 2 playlists are used as source, tracks are separated into 2 branches by playlist instead of mixed in the tree. See here.
  • Sources: added new setting (enabled by default) to use mouse actions for playlist sources, like any other source. Previously tracking active/playing playlists only allowed setting the selection and focus on L. Click instead of using the different actions found at the HTML options panel (even if they were available as options, they were ignored). All actions which send tracks to Default playlist work as described, unless the source is also that same playlist, in such case it will select the tracks. All actions which send tracks to Current playlist will only select the tracks on it. Setting can be found at 'Behaviour' tab (HTML options panel) and 'Playlist: Use Mouse actions on playlist sources' (properties panel). See here.
  • Sources: new entries at contextual menu for playlist sources to use the panels as a full-fledged playlist manager: new, delete, rename, sort, lock/unlock, playlist revive, ... See here, here and here.
  • Sources: new entries at contextual menu for 'Playback queue' source to shuffle or sort by TF the entire queue. See here.
  • Sources: new entries at contextual menu for 'Playlist' sources to shuffle or sort by TF all their tracks.
  • Sources: added streams tag retrieval support (if any tags are exposed) as an experimental setting found at 'Advanced' tab (HTML options panel) or 'Library Source: Stream tags (experimental)' (properties panel). Once enabled, any source (usually playlists) which contains streams will be updated on real time during playback to show artist/title tags (and adjust art accordingly). Note tags retrieved depend on the stream, so any missing or not properly set tags are their fault. Without this setting enabled, streams will only use the static tags provided by foobar2000 or other components (external tags/m-tags).
  • Drag n' drop: new drag n' drop action for playlist sources to easily move/add tracks from/to playlists. While tracking active/playing playlists, tracks can be added to them from any other panel; for 'All playlists' source, tracks can also be moved within the panel from one playlist to another while using 'Multi-branch playlist view' setting to any position. When using views with branches (i.e. with splitters and/or %%), target position will be relative to the first item of the group. See here.
  • Drag n' drop: playlist can be manually sorted by moving their nodes via drag n' drop while using 'Multi-branch playlist view'. Doing the same on tracks will move/copy them between playlists (see above). To copy all tracks from a playlist to another, Ctrl may be pressed while drag n' dropping the playlist node. See here.
  • Drag n' drop: scrolling while using drag n' drop if mouse is near the first/last row/column on tree and art modes. See here.
  • Drag n' drop: added support for Top Tracks mouse actions when pressing alt starting drag n' drop from panel.
  • Drag n' drop: added new setting to control the minimum mouse movement required to start drag n' drop while L. clicking. Setting can be found at 'Behaviour' tab (HTML options panel) and 'Drag n' Drop (internal) minimum distance: auto (0)' (properties panel).
  • Album Art: added setting to control degree of zoom/cutting of images after resizing; main usage is hiding SMP images resizing artifacts, resulting on grey borders in some cases. This was previously done under the hood, but forced; now can be tweaked. Setting found at 'Album Art' (HTML options panel) and 'Image Cut Resize px: Off (0) Clean (2) Zoom (>2)' (properties panel).
  • Album art: new setting to apply collage art effect for branches, found at 'Settings\Album art' menu. It will display up to 4 child items (from different children). Note view TF and art group level must be properly set to ensure nodes have nested children (the easiest is directly checking on Tree view). Preload disk cache setting doesn't work along this feature. See here.
  • Album art: new setting for track preference within branches when a node has multiple tracks. Previous -default- behavior was taking the first available track; now available 'First track' (0), 'Last track' (1), 'Random track' (2) and 'Playing track' (3). Note it also affects other elements like overlay, etc. (and not only the art shown). Setting can be found at 'Album Art' tab (HTML options panel) or 'Image Item Track Preference' (properties panel). See here.
  • Album art: new 'Bottom' (2), 'Bottom (skew)' (3), 'Full' (4), 'Full (skew)' (5) reflection effect styles. Skew effect requires JSplitter v4.1.2+ or v3.8.2+. Settings can be found at 'Album Art' tab (HTML options panel) or 'Image Reflection [...]' (properties panel). See here and here.
  • Album art: new Zoom on hover effect (which simulates typical zoom effect of coverflow panels for hovered item). Settings can be found at 'Album Art' tab (HTML options panel) or 'Image Zoom Hover [...]'. See here and here.
  • Album art: new perspective effect, similar to the display found at foo_chronflow. Requires D2D draw mode (check panel properties). Angle and middle point to start perspective effect can be tweaked at 'Image Perspective angle' and 'Image Perspective middle point' (properties panel). By default effect is applied in both horizontal/vertical axis, according to flow mode settings; but axis can be independently switched at 'Image Perspective axis: hv-0 h-1 v-2' (properties panel). Note using only vertical effect on flow mode will be equal to no effect (since flow mode is an horizontal-only mode). See here.
  • Album art: new gap modifier setting which can be used to further adjust position between different items (while leaving space for bottom reflection on coverflow mode). Settings can be found at 'Album Art' tab (HTML options panel) or 'Image Thumbnail Gap Modifier' (properties panel). Value is not clamped, so too high/low values can overlay art in undesired ways; user is expected to take care of such cases. See here and here.
  • Album Art: new setting to tweak horizontal and vertical overlay position, in special for non-filling images (top (box) is recommended). Default settings follows automatic placement according to art style. Settings can be found at 'Behaviour' tab (HTML options panel) or 'Image Item Overlay V-Align' and 'Image Item Overlay H-Align' (properties panel). See here.
  • Album Art: new overlay styles available: None (0), Track count (1), Track count (#) (2), Item count (3), Item count (#) (4), Decade (5), Year (6), Month (7), Last played (full) (8), Last played (date) (9), Last played (full) (hour), Playing indicator (10). Note item counts rely on children nodes being present (even if not being displayed on panel while displaying art), i.e. views with multiple levels (for ex. Artist|Album|Track). Settings can be found at 'Album Art' tab (HTML options panel) or 'Image Item Overlay' (properties panel). See here.
  • Album Art: new setting to force track/item count being shown for all statistics (enabled by default). Previously, behaviour from original script design, specific stats like rating disabled track count being shown as album art overlay; presumably to not confuse stats displayed with the number of tracks having such stat value (i.e. average rating not being the actual rating of every track shown at the count). Such design doesn't really make sense in most cases, since it's clear enough the 2 display elements are independent. Setting can be found at 'Album Art' tab (HTML options panel) or 'Image Item Overlay Count Forced' (properties panel). See here.
  • Album Art: new setting to allow saving images with transparencies on cache, instead of flattening them with a black background as jpg. Setting can be found at 'Album Art' tab (HTML options panel) or 'Image Disk Cache Use transparencies' (properties panel). See here.
  • Album Art: new setting to allow vertically centering thumbnails for non-filling images. Setting can be found at 'Album Art' tab (HTML options panel) or 'Image Thumbnail Vertically centered' (properties panel). See here.
  • Album Art: rectangle selection feature now also supports custom actions set by user. i.e. if L. Click is set to 'Select [panel]' then rectangle selection will only select on panel, but if it's set to 'Send to playlist' it will select on panel and send everything to playlist as single click would do. Alt. click actions are also supported.
  • Album art: added support for .webp images. Note it requires codec installation on system, i.e. this or this and a system restart.
  • Album art: added console logging for unsupported or non valid images.
  • Album art: added $nodenameswap variable to 'File (by TF)' art types, to display node names with swapped back prefixes (following prefix setting). i.e. to retrieve 'The Rolling Stones', instead of 'Rolling Stones, The'.
  • Album Art: new art carousel feature which displays current art in an infinite scroll animation, like this. While it's enabled, animation will only stop if mouse is over panel and be locked to an item if it's the playing one, otherwise it keeps scrolling. The feature is found at the album art settings submenu.
  • UI: new settings to highlight active playlist while using playlist sources and multi-branch playlist view feature. Switch can be found at 'Display' tab (HTML options panel) or 'Active Playlist Sidemarker' and 'Active Playlist Highlight' (properties panel); color can be found at 'Custom' tab (HTML options panel) or 'Custom Colour Text Active Pls. Highlight' (properties panel).
  • Statistics: new Loved (icon), Loved and Rating (icon), Date (last), Key (standard key), Key (Open key), Key (Camelot key), BPM built-in statistics.
  • Statistics: added new settings to display additional strings for custom-slot statistics at tree/art nodes. See here.
  • Syntax: added $nodeplaying and $sourceplaying variables for usage with art type 'File (by TF)'. See here.
  • Syntax: added $front, $back, $disc,... variables to retrieve specified art type as fallback for usage along art type 'File (by TF)'. See here.
  • Syntax: added album art custom TF section. See here.
  • Syntax: added $nodetype variable for both art and tree view. See here.
  • Syntax: added support for dynamic queries syntax as found on all my other scripts, i.e. #SOMETHIN#. Note usage on filters will not autoupdate on selection/playback changes (contrary to library tree special syntax). See here.
  • Quicksetup: new quicksetup presets for playlist manager features.
  • Debug: new album art Custom TF results logging setting, which outputs the result of custom TF styles expressions for every node (along the number of files matched). i.e. it can be temporarily used to "preview" the expressions used for testing purposes. Setting can be found at 'Advanced' tab (HTML options panel) or 'Logging album art custom TF' (properties panel).
  • Debug: new album art performance logging associated to setting found at 'Advanced' tab (HTML options panel) or 'Logging library profiler' (properties panel).
  • Configuration: added new "userAgent" (Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36) and "curlImpersonate" (curl_firefox147.bat) at global settings (globSettings.json) for arbitrary downloads using curl and/or JS-host methods.
  • Helpers: added curl-impersonate.exe v1.5.6. See here.

Changed

  • Syntax: $sourcename, $sourcenameortype and $sourceid now return the associated playlist for the given node while using multi-branch playlist view setting, instead of all playlists joined with comma. Without the setting, all sources are output joined with comma.
  • Syntax: improve syntax docs. Added links at HTML options panels directly to related sections, instead of index. See here.
  • Drag n' drop: use handles directly provided from drag n' drop if JS-host allows it, instead of selection retrieval. See here.
  • Drag n' Drop: changed keyboard modified to send top tracks to auto DJ to Alt (from Ctrl).
  • Drag n' Drop: improved tooltip text when selecting top tracks.
  • Drag n' Drop: for drag n' drop into search box, reworked handling of ALBUM ARTIST tag, so it's remapped to ALBUM ARTIST and ARTIST in a better way withing generated queries, to ensure the track exist if possible.
  • Quick-search: foobar2000 shortcuts are now skipped while quick-searching if JS-host supports it (for ex. to bypass play/pause when pressing space bar). See here.
  • Quick-search: quick-search is skipped if first char is space.
  • Search: foobar2000 shortcuts are now skipped while search box is focused if JS-host supports it (for ex. to bypass play/pause when pressing space bar). See here.
  • UI: improved mouse cursor effects in some cases.
  • UI: contextual menu for playlist sources has been reworked and cleaned up to hide non-relevant menu entries like "Send to current playlist" while tracking the active playlist, etc. See here.
  • UI: support for dark themed popups if JS host allows it.
  • UI: Counts & Statistics custom color now is also applied on album art mode. See here.
  • Sources: when selecting multiple playlist as sources, by pressing Shift, if a playlist is already included it will be removed instead. Additionally duplicated playlists (by name or GUID) are no longer allowed. See here
  • Sources: playlist sources now allow multiple selection by pressing Shift or Ctrl. Previously they only allowed to select a single node. See here.
  • Album art: expanded art type 'File (by TF)' to 2 different slots which allows to assign art to specific nodes by TF, independently of foobar2000 art preferences. It may be used to load art based on folders or node names, instead of being track-based. e.g. For a genre/style tree, to show custom art for every genre (instead of art from the first track for such node); or show a custom image for every folder while using folder view. Now label names are also customizable. See here.
  • Album art: performance improvements on album art loading in some cases.
  • Album Art: art styles property names have been changed, previous settings will be lost on update. i.e. Front - Circular, Back - Fill, ...
  • Album Art: clearing image cache now only clears database for current art type, not all art.
  • Album Art: year overlay now displays '-' if no date is found. See here.
  • Album Art: heart shape style is now vertically centered (instead of starting at bottom of frame).
  • Album Art: changed statistics item counts behaviour for album art. Previously, even if it was set to track/item count (at statistics tab), setting statistics to none at menus would hide it (contrary to tree mode where can be shown at the right). Now album art follows the global item counts setting, and if no track count is desired at all, both overlay and such setting must be disabled. Statistic setting menu is now totally independent, allowing to show none, only track count, only stats or both. See here.
  • UI: show album art/tree menu entry is now also shown at the settings menu.
  • Statistics: custom statistics display labels split into 2 settings: album art overlay and tree. Additionally the album art tooltip will now use the full text of tree display labels. Settings can be found at 'Statistics' tab (HTML options panel) or 'Statistics Titleformat Custom display tree' and 'Statistics Titleformat Custom display art' (properties panel). See here.
  • Statistics: added support for %LFM_LOVED% tag, from foo_lastfm_playcount_sync, at default statistics.
  • HTML: improved mouse actions shown at 'Behaviour' tab, dynamically adjusted according to mode, source and 'Playlist: Use Mouse actions on playlist sources' setting (see above).
  • HTML: compatibility with HTML popups is now checked once at startup, like all my other scripts.
  • HTML: improved options reload in some cases when clicking 'Apply' (with updated properties).
  • Helpers: updated curl.exe to v8.20.0-slim. See here.
  • Helpers: updated 7za.exe to v26.01. See here.
  • Helpers: code cleanup.

Removed

Fixed

  • Syntax: fix $sourcetype only returning 'Active playlist' instead of all available playlist source types.
  • Sources: fix Active playlist source not working on some cases after setting Playing playlist source.
  • Sources: setting 'Sort by Playlist idx' not working with multi-value branching on views TF.
  • Sources: multiple minor fixes to playlist sources and actions.
  • Syntax: JS regexp special replacement patterns not being allowed within custom TF in some cases, like tags with '$' not properly working for album art custom TF. See here.
  • Sorting: fixed bug, on original script, related to sorting not properly processing quotes, apostrophes, dashes and hyphens. In particular for items which also had numbers, so they were not properly sorted as result. Additionally, it now processes a bigger range of special chars. See here and here.
  • Quick-search: fixed bug, on original script, related to quick-search not skipping quotes, apostrophes, dashes and hyphens. In particular for items having them as first char. Now ''B'' Girls, "B" Girls,... are also matched as B Girls. Jumping by char follows the same behavior. Note this improves DUI/CUI behavior, where such nodes are simply skipped. See here.
  • UI: fixed bug, on original script, related to incorrect playlist focus tracking on active playlist if it was the first one (0 idx).
  • UI: fixed bug, on original script, related to thumbnail padding overlaying other UI elements in some cases or not respecting margin settings (specially using flow mode). Now value is clamped. See here.
  • UI: fixed last hovered item being redrawn when following selection from other panels (due to scrolling) related to bugfix for original script. See here and here.
  • UI: fix left reflection for symmetric reflection effect in some situations with specific padding settings.
  • UI: header repaint glitches at startup. See here.
  • UI: fixed bug, on original script, related to ctrl/shift keys listeners and selection methods which triggered some visual glitches in some cases while panel was not on focus.
  • Album art: fixed bug, on original script, related to 'Send to new playlist' contextual menu entry creating playlists with '^@^' string within the name for branched views while using any art mode. Now these names are separated with ' - ' to reflect the playlist was created from a node at a nested level (like Artist - Album).
  • Album Art: fixed bug, on original script, related to image cache not being deleted due to permissions conflict in some setups.
  • Album Art: fixed bug, on original script, related to shadow effect not being properly applied to non-filling images for specific proportions. See here.
  • Album Art: fixed bug, on original script, related to track count overlay not being shown for album art if statistics item counts was not enabled (despite such setting being only used on library tree mode). See here.
  • Album Art: fixed bug, on original script, related to stats line on album art being shown right aligned while using crop art style if 2nd line was wider than available space (thus requiring tooltip to show the full info). Now they are only right aligned if the stats line itself is wider than available space, being independent of previous lines (like the rest work).
  • Album Art: clear all images cache menu entry being disabled on some unwanted situations.
  • Album Art: %FB2K_PROFILE_PATH% and %PROFILE% variables not being parsed in some cases for custom TF art.
  • Album Art: multiple minor layout fixes and adjustments.
  • Drag n' drop: workaround for incorrect handling of custom artwork on drag n' drop by SMP (<= v1.7.26.5.1, i.e. all versions) and JSplitter (<= v4.1.1 or <= v3.8.2). See here.
  • Drag n' drop: workaround for foobar crash if custom artwork was null on drag n' drop by SMP (<= v1.7.26.5.1, i.e. all versions) and JSplitter (<= v4.1.1 or <= v3.8.2). See here.