Releases: regorxxx/Search-by-Distance-SMP
v6.1.0 - QOL minor 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.
[6.1.0] - 2023-11-28
Added
- Buttons bar: added compatibility with headless mode (for other buttons).
Changed
- Helpers: updated helpers.
- Improved error messages about features not working related to OS checks (at startup) with tips and warnings.
Removed
Fixed
v6.0.1 - Hotfix
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.0.1] - 2023-11-26
Added
- UI: added setting to disable tooltip on all scripts. Found at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bTooltip'. By default tooltip is always shown. This setting will never be exposed within foobar, only at this file.
Changed
Removed
Fixed
- HTML: errors displaying node distances on HTML file. Issue
[6.0.0] - 2023-11-24
Added
- Buttons: added new button 'search_by_distance_info', which pretty basic functionality right now, to display general statistics for a genre/style from the selected track. That data may come handy in creating new playlists (for tuning settings or filters), or to be used along Timeline-SMP or World-Map-SMP statistics.
- Buttons bar: new setting to enable asynchronous loading of buttons, now the default behavior.
- Descriptors: added Country Rap, Square Dance, Rodeo, Jug Band, K-Pop, J-Pop, Kayokyoku styles.
- Descriptors: improved debug tests to avoid duplicates entries in substitutions, influences, etc.
- Dynamic queries: added dynamic queries (like those found at Playlist Tools) for tracks and themes. Dynamic queries are like standard queries but with placeholders (#DATE#) which are evaluated on-the-fly, before running the query, using the selected reference track (or theme). These queries are then used to filter the library at pre-scoring stage, changing the filter according to the reference For ex. for a Bob Dylan's track: COMPOSER IS #ARTIST# -> COMPOSER IS Bob Dylan. Full documentation can be found on the associated readme.
- Readmes: added readmes for dynamic queries, cultural filters and influence filters.
- HTML: added buttons to graph html page to directly go to live version or open the GitHub repository.
Changed
- Descriptors: improved AllMusic support.
- Descriptors: extended debug tests for accents, ASCII compatibility and capitalization for all entries (including AllMusic).
- Configuration: extended tag checking at init also for user settings (and not only default values). They were already tagged with actual values at runtime and after editing tags.
- UI: tooltip while calculating the link cache (the button is animated) now shows the remaining percentage for every step.
- UI: minor cleanup of menus. Negative scoring for out of range tags setting may be reset after installation.
- Readmes: improved cultural and tags readme.
- HTML: minor UI tweaks to graph html page.
- HTML: moved HTML related scripts to its own folder.
- HTML: updated jquery dependency of graph html page.
- Debug: cleanup of debug routines, added comments about symmetries for distance calculation and better logging.
- Helpers: updated helpers.
- Console: reduced max log file size to 1 MB.
- Minor speed optimizations when looking for similar tracks using 'GRAPH' method.
Removed
- Buttons bar: 'buttons\examples' folder, for file examples check Playlist Tools.
Fixed
- Pathfinder: fix long time bug on A* pathfinder which made it unusable. NBA* was used anyway so it doesn't affect at all current functionality.
- Pathfinder: fix distances output by getDistanceFromPath() due to incorrect handling of multi-edge graphs on ngraph.graph, where only the first link found was used. As result new distance values could be lower in some cases.
- Presets: non valid keys error on 'Similar genres (DYNGENRE)' recipe. Issue #16
- Descriptors: cleanup of duplicates entries and other minor errors in substitutions, influences, etc.
- Auto-update: changed logic to check Playlist Tools's buttons updates independently to the toolbar version, so mixed scripts versions no longer produce false negatives.
v6.0.0 - Dynamic queries + 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.0.0] - 2023-11-24
Added
- Buttons: added new button 'search_by_distance_info', which pretty basic functionality right now, to display general statistics for a genre/style from the selected track. That data may come handy in creating new playlists (for tuning settings or filters), or to be used along Timeline-SMP or World-Map-SMP statistics.
- Buttons bar: new setting to enable asynchronous loading of buttons, now the default behavior.
- Descriptors: added Country Rap, Square Dance, Rodeo, Jug Band, K-Pop, J-Pop, Kayokyoku styles.
- Descriptors: improved debug tests to avoid duplicates entries in substitutions, influences, etc.
- Dynamic queries: added dynamic queries (like those found at Playlist Tools) for tracks and themes. Dynamic queries are like standard queries but with placeholders (#DATE#) which are evaluated on-the-fly, before running the query, using the selected reference track (or theme). These queries are then used to filter the library at pre-scoring stage, changing the filter according to the reference For ex. for a Bob Dylan's track: COMPOSER IS #ARTIST# -> COMPOSER IS Bob Dylan. Full documentation can be found on the associated readme.
- Readmes: added readmes for dynamic queries, cultural filters and influence filters.
- HTML: added buttons to graph html page to directly go to live version or open the GitHub repository.
Changed
- Descriptors: improved AllMusic support.
- Descriptors: extended debug tests for accents, ASCII compatibility and capitalization for all entries (including AllMusic).
- Configuration: extended tag checking at init also for user settings (and not only default values). They were already tagged with actual values at runtime and after editing tags.
- UI: tooltip while calculating the link cache (the button is animated) now shows the remaining percentage for every step.
- UI: minor cleanup of menus. Negative scoring for out of range tags setting may be reset after installation.
- Readmes: improved cultural and tags readme.
- HTML: minor UI tweaks to graph html page.
- HTML: moved HTML related scripts to its own folder.
- HTML: updated jquery dependency of graph html page.
- Debug: cleanup of debug routines, added comments about symmetries for distance calculation and better logging.
- Helpers: updated helpers.
- Console: reduced max log file size to 1 MB.
- Minor speed optimizations when looking for similar tracks using 'GRAPH' method.
Removed
- Buttons bar: 'buttons\examples' folder, for file examples check Playlist Tools.
Fixed
- Pathfinder: fix long time bug on A* pathfinder which made it unusable. NBA* was used anyway so it doesn't affect at all current functionality.
- Pathfinder: fix distances output by getDistanceFromPath() due to incorrect handling of multi-edge graphs on ngraph.graph, where only the first link found was used. As result new distance values could be lower in some cases.
- Presets: non valid keys error on 'Similar genres (DYNGENRE)' recipe. Issue #16
- Descriptors: cleanup of duplicates entries and other minor errors in substitutions, influences, etc.
- Auto-update: changed logic to check Playlist Tools's buttons updates independently to the toolbar version, so mixed scripts versions no longer produce false negatives.
v5.1.2 - Full AllMusic genre support + toolbar customization Hotfix
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.
[5.1.2] - 2023-11-16
Added
- Configuration: 'Restore defaults' menu entry at tag configuration.
- Configuration: base tags checking at init, when running the tool or editing tags in some way. A descriptive popup will show instructions about what to do if an error is found (see below).
Changed
Removed
Fixed
- Buttons bar: border setting was grayed out when the buttons color had been set.
- "Tag missing multi-value type (multiple, single): dynGenre" warnings with dynGenre recipes, due to missing key at the base tags at properties. Use the 'Restore defaults' menu entry above for dynGenre tag to fix it on previous installations, new installations will use the right values automatically.
[5.1.1] - 2023-11-16
Added
Changed
- Buttons bar: transparency input popup now has a description for the values.
- Descriptors: improved debug routines to avoid situations where a susbstitution term doesn't exist in the graph (see below).
- Descriptors: improved pathfinder routines to throw -with a descriptive error- when a path is not found due to some genre not being connected to the graph (see below).
Removed
Fixed
- Descriptors: added 'Kawaii Metal' and 'Darksynth' styles to cultural map.
- Descriptors: crash in some cases due to malformed descriptor. 'Kuduro' genre was not added properly as substitution.
[5.1.0] - 2023-11-15
Added
- Auto-update: added -optional- automatic checks for updates on script load; enabled by default. Compares version of current file against GitHub repository. Manual checking can also be found at the settings menu. For buttons within the toolbar every button will check for updates independently (although the toolbar menu has an entry for batch checking). Setting may also be globally switched at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bAutoUpdateCheck'. It will apply by default to any new installed script (previous scripts will still need to be manually configured to change them).
- Descriptors: AllMusic support linking their genre/styles to the graph with substitutions. These tags are usually added by Biography script. It may be enabled at the tags remap submenu of the customizable button. Setting is applied per panel (i.e. shared between different buttons on the same bar).
- Descriptors: added 'Chamber Music XL', Orchestral Music XL', 'Ballroom Music XL', 'Poetry-Secular Music XL', 'Choral-Spiritual Music XL' and 'Choral-Orchestral Music XL' classical music style clusters.
- Descriptors: added 'Kawaii Metal', 'Branle' and 'Darksynth' styles.
- Buttons bar: added some safe-checks to panel properties.
- Buttons bar: added custom button hover color and customization.
- Buttons bar: added custom offset for buttons along X/Y axis.
- Buttons bar: added full size mode for buttons, which will use full Width/Height according to Y/X orientation.
- Added setting to disable popups related to features not being supported by the OS (at startup). Found at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bPopupOnCheckSOFeatures'. By default popups are always shown. This setting will never be exposed within foobar, only at this file.
Changed
- UI: toolbar's color menu entries now show the color name along the menu entry. 'none' equals to no color.
- Buttons bar: renamed background buttons to 'Use themed buttons', which depends on the windows theme.
- Helpers: updated helpers.
Removed
Fixed
- Tags: improved logging when reference track does not have a tag.
Removed
- UI: tags cache menu entry on customizable button has been removed (the setting is still accessible via the properties panel).
Fixed
v5.1.1 - Full AllMusic genre support + toolbar customization Hotfix
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.
[5.1.1] - 2023-11-16
Added
Changed
- Buttons bar: transparency input popup now has a description for the values.
- Descriptors: improved debug routines to avoid situations where a susbstitution term doesn't exist in the graph (see below).
- Descriptors: improved pathfinder routines to throw -with a descriptive error- when a path is not found due to some genre not being connected to the graph (see below).
Removed
Fixed
- Descriptors: added 'Kawaii Metal' and 'Darksynth' styles to cultural map.
- Descriptors: crash in some cases due to malformed descriptor. 'Kuduro' genre was not added properly as substitution.
[5.1.0] - 2023-11-15
Added
- Auto-update: added -optional- automatic checks for updates on script load; enabled by default. Compares version of current file against GitHub repository. Manual checking can also be found at the settings menu. For buttons within the toolbar every button will check for updates independently (although the toolbar menu has an entry for batch checking). Setting may also be globally switched at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bAutoUpdateCheck'. It will apply by default to any new installed script (previous scripts will still need to be manually configured to change them).
- Descriptors: AllMusic support linking their genre/styles to the graph with substitutions. These tags are usually added by Biography script. It may be enabled at the tags remap submenu of the customizable button. Setting is applied per panel (i.e. shared between different buttons on the same bar).
- Descriptors: added 'Chamber Music XL', Orchestral Music XL', 'Ballroom Music XL', 'Poetry-Secular Music XL', 'Choral-Spiritual Music XL' and 'Choral-Orchestral Music XL' classical music style clusters.
- Descriptors: added 'Kawaii Metal', 'Branle' and 'Darksynth' styles.
- Buttons bar: added some safe-checks to panel properties.
- Buttons bar: added custom button hover color and customization.
- Buttons bar: added custom offset for buttons along X/Y axis.
- Buttons bar: added full size mode for buttons, which will use full Width/Height according to Y/X orientation.
- Added setting to disable popups related to features not being supported by the OS (at startup). Found at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bPopupOnCheckSOFeatures'. By default popups are always shown. This setting will never be exposed within foobar, only at this file.
Changed
- UI: toolbar's color menu entries now show the color name along the menu entry. 'none' equals to no color.
- Buttons bar: renamed background buttons to 'Use themed buttons', which depends on the windows theme.
- Helpers: updated helpers.
Removed
Fixed
- Tags: improved logging when reference track does not have a tag.
Removed
- UI: tags cache menu entry on customizable button has been removed (the setting is still accessible via the properties panel).
Fixed
v5.1.0 - Full AllMusic genre support + toolbar customization
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.
[5.1.0] - 2023-11-15
Added
- Auto-update: added -optional- automatic checks for updates on script load; enabled by default. Compares version of current file against GitHub repository. Manual checking can also be found at the settings menu. For buttons within the toolbar every button will check for updates independently (although the toolbar menu has an entry for batch checking). Setting may also be globally switched at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bAutoUpdateCheck'. It will apply by default to any new installed script (previous scripts will still need to be manually configured to change them).
- Descriptors: AllMusic support linking their genre/styles to the graph with substitutions. These tags are usually added by Biography script. It may be enabled at the tags remap submenu of the customizable button. Setting is applied per panel (i.e. shared between different buttons on the same bar).
- Descriptors: added 'Chamber Music XL', Orchestral Music XL', 'Ballroom Music XL', 'Poetry-Secular Music XL', 'Choral-Spiritual Music XL' and 'Choral-Orchestral Music XL' classical music style clusters.
- Descriptors: added 'Kawaii Metal', 'Branle' and 'Darksynth' styles.
- Buttons bar: added some safe-checks to panel properties.
- Buttons bar: added custom button hover color and customization.
- Buttons bar: added custom offset for buttons along X/Y axis.
- Buttons bar: added full size mode for buttons, which will use full Width/Height according to Y/X orientation.
- Added setting to disable popups related to features not being supported by the OS (at startup). Found at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json', by changing 'bPopupOnCheckSOFeatures'. By default popups are always shown. This setting will never be exposed within foobar, only at this file.
Changed
- UI: toolbar's color menu entries now show the color name along the menu entry. 'none' equals to no color.
- Buttons bar: renamed background buttons to 'Use themed buttons', which depends on the windows theme.
- Helpers: updated helpers.
Removed
Fixed
- Tags: improved logging when reference track does not have a tag.
Removed
- UI: tags cache menu entry on customizable button has been removed (the setting is still accessible via the properties panel).
Fixed
v5.0.0 - Cultural regions and tags + QOL 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.
[5.0.0] - 2023-10-05
Added
- Cultural Regions: new virtual tag named 'artistRegion' which uses artist's country data from 'locale last.fm' file tag or World-Map-SMP's database for comparison with a weight according to distance between cultural groups. i.e. a Spanish artist would be considered more similar to French than American artists. It can currently differentiate by country, region or continent. Note this is obviously not mean to be used along, since the genre similarities between different cultural groups/continents (i.e. Spanish rock vs American rock) are already managed by using the 'GRAPH' method or the new tag below, but it may come handy to prioritize tracks from the same region. This is the "tag scoring" version of the cultural filters 4.7.0. Check 'Tags & Weights: cultural' in the customizable button for more info.
- Cultural Regions: new virtual tag named 'genreStyleRegion' which uses internal genre mapping to cultural regions for comparison with a weight according to distance between cultural groups. i.e. instead of using the artist's origin, it uses the track genre's origin; therefore a blues track is considered similar -at least for this weight- no matter if it's played by a Japanese or American artist. This is the "tag scoring" version of the cultural filters 4.7.0. Check 'Tags & Weights: cultural' in the customizable button for more info.
- Configuration: new setting to invert the picking order for any method (i.e. taking tracks by lowest score first).
- Configuration: new setting to invert the sorting order for any method (independent to the picking method).
- Descriptors: updated descriptors with multiple additions: Kuduro, Semba, Kizomba, African Ritual-Tribal, Afro-Latin Ritual-Tribal, Asian Ritual-Tribal, Aboriginal Folk, Pre-Columbian Ritual-Tribal, Mbalax, Melodic Techno-House.
- Debug: cultural regions are now also checked to ensure every item on the graph is also included.
Changed
- Configuration: pool picking submenu on customizable button is now disabled when using harmonic mixing.
- Configuration: expanded user configurable files at '[FOOBAR PROFILE FOLDER]\js_data\presets\global' with new queries. File will be automatically updated with new values (maintaining the user settings).
- Configuration: improved the user configurable files update check for missing keys.
- UI: menus to remap tags on customizable button now show the weight on the submenu name to easily have a general vision of all tag weights.
- UI: global genre/style filter property has been renamed to 'Filter for genre/style' (old setting will be lost).
- Tags: changed default weight values for tags. 'dynGenre' weight is now 15, 'artistRegion' weight is 5, 'genreStyleRegion' is 7, '. To apply these changes, restore defaults at 'Set Tags and weighting...'.
- Tags: changed default range values and scoring method for tags.'key' scoring distribution is LOGARITHMIC and range set to 3, 'date' scoring distribution is NORMAL and range set to 30, 'BPM' scoring distribution is NORMAL and range set to 50. To apply these changes, restore defaults at 'Set Tags and weighting...'.
- Tags: improved handling when some of the default tags are missing.
- Tags: improved logging when reference track does not have a tag.
Removed
- UI: tags cache menu entry on customizable button has been removed (the setting is still accessible via the properties panel).
Fixed
v4.7.0 - Cultural filters
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.
[4.7.0] - 2023-09-25
Added
- Cultural Regions: new artist cultural filter -for the customizable button- which allows to only output tracks by artists from same country, region, continent or worldwide. There is also an opposite version to output from different regions. 'LOCALE LAST.FM' tag must be set on files, or World-Map-SMP installed (its database is used).
- Cultural Regions: new genre/style cultural filter -for the customizable button- which allows to only output tracks whose genres/styles originate from same region, continent or worldwide. There is also an opposite version to output from different regions. No need for external scripts.
Changed
- Themes: now also save the ISO country code from selected track when created (to be used with the new cultural filter).
Removed
Fixed
- Tags: filters using queries related to genre/styles (influences filter) were not working as intended for multivalue-tags.
v4.6.0 - Descriptors update
IF INSTALLING FROM AN OLDER VERSION THAN 4.0.0 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 (mod version attached has some improvements by marc23)
See full changelog here.
[4.6.0] - 2023-09-20
Added
Changed
- Descriptors: updated descriptors with addition of 'Electrorock', 'Sephardic', 'Classical Sufi' and 'Electronic Sufi'. New 'Progressive Psychedelic Fusion XL' cluster.
- Helpers: updated helpers
Removed
Fixed
- HTML: fix broken rendering due to file path change.
- Cultural Regions: name replacers not being used at some stages of the code.
v4.5.1 - Hotfix
IF INSTALLING FROM AN OLDER VERSION THAN 4.0.0 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 (mod version attached has some improvements by marc23)
[4.5.1] - 2023-07-29
Added
Changed
Removed
Fixed
- Configuration: some fixes for ALBUM ARTIST usage instead of ARTIST. To apply the change on existing installations, delete '[foobar_profile]\js_data\presets\global\globQuery.json' and '[foobar_profile]\foobar2000\js_data\presets\global\globTags.json' files.
- Dynamic Queries: some fixes for KEY usage with values containing '#'.