Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Search-by-Distance-SMP (Read 25685 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Search-by-Distance-SMP

Reply #175

[6.0.0] - 2023-11-24

    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.


    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.


    Buttons bar: 'buttons\examples' folder, for file examples check Playlist Tools.


    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.


Re: Search-by-Distance-SMP

Reply #176

7.0.0 - 2024-02-28

    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).


    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.


    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.