Releases: regorxxx/Search-by-Distance-SMP
v7.6.0 - JSplitter (SMP and x64) support
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.6.0 - 2024-10-09
Added
Changed
- UI: tag slots on search button can now be cloned. Note cloning also carries over any modification introduced by the active recipe.
- UI: tag entries on info button can now be cloned.
- Configuration: changed the remove duplicates bias to prefer tracks containing 'BEST' within a 'TRACKDSP' tag.
- JSplitter (SMP) support and ES2021 compatibility.
- Helpers: in case saving a file throws an error due to long paths (+255 chars) a warning popup will be shown.
- Helpers: updated helpers.
Removed
Fixed
v7.5.0 - Bugfix and code cleanup
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.5.0 - 2024-08-13
Added
- Similar artists: added readme to similar artists filter explaining its usage.
- Similar artists: added new option to use the similar artists tags and database from other scripts. For ex. ListenBrainz-SMP
- Near Genres Filter: added support at recipes.
- Near filter: added "aggressiveness" setting to tweak how the auto mode works. Higher values will further filter the library, while lower values will filter in a more relaxed way.
- Console: exposed all logging settings into 'Debug and testing' submenu of customizable button. Make use of these when reporting errors (and share the console logs).
Changed
- Similar artists: reworked similar artists database handling and unified processing with other similar artists databases (like ListenBrainz one included on other scripts).
- Similar artists: recipe for calculation now uses the near genres filter added at 7.4.0 on auto mode. Total processing time should now be much lower than before, processing 3k artists in a few hours at max instead of days.
- Similar artists: similar artist tags may now be remapped (globally) at '[FOOBAR_PROFILE]\js_data\presets\global\globTags.json'.
- UI: Smart shuffle sorting bias custom entry now shows as default TF expression the last one used if it was associated to a named entry (instead of its name).
- UI: cleanup and reordering of 'Debug and testing' submenu.
- UI: the input box to set the GRAPH distance now allows a value of zero (i.e. only tracks with same genre/styles).
- UI: the input box to set the GRAPH distance now warns if the value used will limit results to only tracks with same genre/styles. This may happen not only when it's set to 0, but also if the distance is lower than the minimum distance between 2 points at the graph. This warning also applies for the near genres filter custom input.
- Debug: improved debug of descriptors weights (and keys).
- Helpers: updated helpers.
- Performance improvement (approx. 8%) due to code cleanup.
Removed
Fixed
- Near Genres Filter: fix crash using 'WEIGHT' method if the filter was active. Issue 32.
- Genre Cultural Filter: fix crash in some methods if to 'Genre/style Region' tag had no assigned weight and the filter was active. Issue 32.
- UI: crash opening settings menu with some recipes. Issue 33.
- UI: minor errors on menu entries tips.
- Smart shuffle: foo_playcount was not being properly detected (instead looking for foo_enhanced_playcount).
- Tags cache: crash due to wrong path at include code.
- Tags: crash in some corner cases using WEIGHT method. See Issue 34
- Tags: crash in some corner cases if tags were not properly set. See Issue 34
v7.4.0 - Filters update (performance improvements)
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.4.0 - 2024-07-30
Added
- Descriptors: added Retrowave style.
- Near Genres Filter: new option to filter the library using only genres/styles which are near the selected reference, greatly reducing processing time up to 50% (although some corner cases similar after calculating the mean distance may be excluded). By default is set to Auto. It works with any of the search methods, although it uses the genres relationship found at the GRAPH method.
Changed
- UI: minor QoL improvements on menu entries.
Removed
Fixed
v7.3.0 - Better tags compatibility and descriptors update
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.3.0 - 2024-07-24
Added
- Descriptors: added Cloud Rap, Grime, Deathcore, Neoperreo, Emo Rap, Rumba Flamenca and Dark Techno styles.
- Descriptors: added Gothic XL style, Urban Rap XL, Urban R&B XL, Electronic Rap XL, Sad Emo XL, Progressive Electronic XL and Early Progressive Electronic XL cluster.
- Remove duplicates: added multi-value parsing to duplicates removal. i.e. A track with multiple artists but same title can be considered a duplicated if at least one of those artists matches (instead of requiring all to match). This setting can be switched at the 'Other settings...\Duplicates' submenu. See this for more info.
- Tags: to simplify the usage of 'RELATED' and 'UNRELATED' tags, new entries at the customizable button (see Other tools\Relate selected tracks...) have been added. They allow to add the 'ARTIST' values to 'RELATED' or 'UNRELATED' tags for the selected tracks (skipping the own artist of the track upon tagging).
- Readmes: added readme for global settings found at 'foobar2000\js_data\presets\global' .json files.
- Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting for console logging to file. Disabled by default. Now this is a change from the previous behavior, where console was always logged to 'console.log' file at the [FOOBAR PROFILE FOLDER]. It can now be switched, but since it's probably not useful for most users is disabled by default.
Changed
- GRAPH: better handling of substitutions, which are now parsed before calculating scores, in case they introduce duplicates (like 'Trap' and 'Latin Trap' both being replaced by 'Trap').
- Descriptors: improved AllMusic support.
- Descriptors: updated some primary and secondary influences.
- Descriptors: updated some anti-influences (in particular for jazz styles).
- Configuration: changed the remove duplicates bias to prefer lossless tracks with 16 bits per sample, 44.1 Khz sample rate and greater %DYNAMIC RANGE% values.
- Tags: reworked similar artists, same artist and cultural filters to better handle tag values with commas.
- Tags: relating/unrelating tracks by MBID or title now skips the own value of such tags before tagging. i.e. you can select multiple tracks with same title, and they will not add that title on theirselves but only different ones.
- UI: tag values are now listed on the button tooltip of info button.
- UI: info button tooltip behavior now follows the global setting for the toolbar.
- UI: minor menu tweaks to better group and name some settings.
- UI: minor menu tweaks to reports.
- Presets: reworked changes introduced at 4.0.0 related to graph distance.
- Presets: enhanced parsing of recipe's variables.
- Presets: new recipes and query filter presets are now saved with Windows EOL for compatibility improvements with Windows text editors.
- Remove duplicates: improved performance of duplicates removal in multiple places.
- Helpers: json button files are now saved with Windows EOL for compatibility improvements with Windows text editors.
- Helpers: updated helpers.
- Performance improvement (approx. 15%) changing the 'RELATED'/'UNRELATED' tags logic usage implemented at 7.0.0. Note this change applies no matter the reference tracks has or not such tags, as long as they have a weight associated.
Removed
Fixed
- Influences: in some cases (anti)influences weight was not considered properly to calculate the total graph distance between nodes which had multiple links.
- Presets: recipe error on some cases for user-created recipes. May require to rebuild user created recipes (or remove any trace of "poolFilteringTag" from them using a text editor). Issue #30.
- Tags: new tags created via popups, using percentage ranges, were missing the range property. Issue #29.
v7.2.0 - Descriptors update
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.2.0 - 2024-03-21
Added
- Descriptors: added Musical, Cabaret, Murga, Industrial Musical, Rock Musical, Music Hall, Revue, Vaudeville and Chèo styles.
Changed
- Helpers: updated helpers.
Removed
Fixed
v7.1.0 - Internal changes
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.1.0 - 2024-03-15
Added
- Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting for panel repaint debugging purpose. Disabled by default.
- Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting to check OS features on every panel startup. Enabled by default. This has been the default behavior since OS' features check was implemented, but it can now be disabled to improve init performance a bit, specially at foobar2000 startup (since it seems to hang in some cases when running it on slow HDDs or systems).
Changed
- UI: Improved panel repaint routines to minimize resources usage.
- Helpers: updated helpers.
Removed
Fixed
- Presets: fixed LUFS TitleFormat CUI preset.
v7.0.0 - Tags improvements and fixes + Filters revamp
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
7.0.0 - 2024-02-28
Added
- Tags: added 'RELATED' and 'UNRELATED' tags which may be used to specify tracks which are considered similar or not similar by the user. Matching the tag adds the given weight as absolute score to the total, i.e. it's not averaged with all weights. These special tags may use as values any combination of 'TITLE', 'ARTIST' or 'MUSICBRAINZ_TRACKID'. As expected, giving a title, would match any track with such title (from any artist). Giving an artist would match any track from such artist. And using the id value, would ensure only specific tracks are matched. This is something similar to the love/hate feature on Spotify (to make tracks appear or not on generated playlists), although in this case these special tags ensure you are only excluding/including specific tracks in relation to others, not globally. See the readme for more info.
- Tags: to simplify the usage of 'RELATED' and 'UNRELATED' tags (see above), new entries at the customizable button (see Other tools\Relate selected tracks...) have been added. They allow to add the 'MUSICBRAINZ_TRACKID' values to 'RELATED' or 'UNRELATED' tags for the selected tracks or the last track used as reference in a few clicks.
- Dynamic queries: added new dynamic queries for tracks within a date period relative to the reference track.
- Dynamic queries: added 'None' entry to clean all dynamic queries. If the entry is not checked, then there is at least a dynamic query set (even if it's not shown on the menus).
- Configuration: added COMPOSER to the list of global tags.
- Configuration: added LOCALE LAST.FM to the list of global tags.
- Configuration: added integrity checks to global user settings files, found at '[FOOBAR PROFILE FOLDER]\js_data\presets\global[...].json'. In particular queries are now check to ensure they are valid and will throw a popup at init otherwise. Other settings are check to ensure they contain valid values too.
- Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting to output to console profiling logs at script init. They work globally. Disabled by default.
- Descriptors: added Symphonic Rap style.
- Toolbar: new settings for text (or icon) position: left, right (default), top and bottom. These settings mimic CUI options at the buttons bar.
- Toolbar: new settings for text scale (now independent of button and icon scale).
- Toolbar: new settings for icon scale (now independent of button and text scale).
Changed
- Info: improved genre/style identification for substitutions and clusters.
- Tags: improved queries created according to tags and weights when using 'Negative score for tags out of range'; as result processing time may be lower in some cases (if weight is not high enough to filter a track by such tag but negative cases would exclude it).
- Cultural Regions: improvements to processing when using cultural filters in some cases.
- Cache: changed cache structure to minimize file size (up to 50%) and loading time (up to 30%). Link cache will need to be rebuilt on update.
- Configuration: changed the remove duplicates bias to prefer tracks with higher play-counts and positive feedback tag (love/hate).
- Helpers: updated helpers.
- Console: removed unnecessary logging in some cases.
- Console: improved log file formatting on windows text editors which parse new lines only with CR+LF instead of LF.
- UI: wrong parsing of png masks on unix systems (currently, it only affected the ListenBrainz icon when changing the font color).
- Code cleanup.
Removed
Fixed
- Scoring Method: fix to incorrect handling of (negative) values outside range for some methods ('NORMAL' and 'LOGISTIC').
- Readmes: minor fix to 'search_by_distance_info.txt' file.
- Info: minor fixes to reports provided by 'search_by_distance_info' button.
- Tags: incorrect handling of single-value tags in some cases. Issue #22.
- Tags: incorrect handling of empty tags in some cases.
- Tags: incorrect graph distance of genre/style tags if there were zero values. A reference with no genre/style tags should fallback to WEIGHT method and compared tracks should report infinite distance when missing the tags in GRAPH method. Issue #27.
- Tags: incorrect scoring of genre/style tags when they were put on custom tags. Issue #25.
- Tags: incorrect handling of genre/style tags not present on the graph for the reference track. Issue #26.
- Toolbar: buttons' size not restored back to normal height after disabling 'Full size buttons' without reloading the panel.
- Internal errors with set.add().
- Crash when using a probability of picking lower than 100 in some cases.
- Minor fixes.
v6.1.3 - Tag fix
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
6.1.3 - 2023-12-17
Added
Changed
- Helpers: updated helpers.
Removed
Fixed
- Readmes: missing 'shuffle_by_tags.txt' file.
- Tags: crash in some cases using custom single-valued tags. Issue #22
v6.1.2 - New custom tags fix
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
6.1.2 - 2023-12-09
Added
Changed
Removed
Fixed
- Tags: missing property (baseScore) for new tags. Issue #19
v6.1.1 - HTML fixes
There may be a SMP's bug on installation. See wiki.
REQUIRES SMP 1.6.1 (mod version attached has some improvements by marc23)
See full changelog here.
6.1.1 - 2023-12-08
Added
- Toolbar: now supports color for image icons (which are not drawn using fonts).
Changed
Removed
Fixed
- HTML: errors displaying node icons.