Skip to main content

Notice

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 6438 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Search-by-Distance-SMP

Reply #75
And seriously this is the end of the discussion, I don't have time for these things, neither I contribute to a forum to create hostility or have personal discussions. It has gone too far by my side too, sorry for my English as always and I apologize if I don't express myself in a right way sometimes or being "too direct", but I think there are lines that must not be crossed. Will simply ignore your replies from now on, hope you do the same.

Lets go back to the topic, @Koshingg let me know if moving the files solves the problem (works for me in 1.4 and 1.6 in portable installs as far as I have checked). Thanks

Re: Search-by-Distance-SMP

Reply #76
@snotlicker and @regor honestly, as a foobar user , I would like to see you both get along, and cooperating in a nice manner, not like this :)

regor the problem is solved if I create that profile folder and move the scripts there, The problem is once I create that profile folder foobar starts without my theme and without user components , so I have to move also the other folders in that profile folder. This is why I avoided this move

snotlicker was right here : "fb2k v1.6+ can easily not have a profile folder from using an older version and then upgrading it in place. Only clean portable installs of v1.6+ generate a profile folder on first run.''

This is exactly my situation, I upgraded and I have no profile folder, I knew about your requirements for users that have foobar 1.6.+ BUT I didn't wanted to start moving folders and components, to create possible problems
I made a quick test and everything seems ok, if I move folders in the profile folder (obviously some things must be modified but it can be done) I'll make a backup, just in case...
This situation with this profile folder (some have it , some not) it's not ideal, for sure :)
But for me, for now, everything seems ok. I think it's better to just move the folders in that profile folder, to avoid possible problems in the future

Thanks for the help

Re: Search-by-Distance-SMP

Reply #77
Will warn about the folder update misbehavior on the readmes too, so people with >1.6 always install it right no matter if they updated from an old version or not. This is affecting other scripts which rely on relative paths for user configurable files too (like the world map's image).

Re: Search-by-Distance-SMP

Reply #78
Just pushed a new update. Please read the new installation instructions. This update is required if you also update any of my other scripts due to the UTF-8 file saving/reading changes. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
### CHANGED
- All json files are now saved as UTF-8 without BOM. All json files are now read as UTF-8 (forced).
- Link cache is now saved in an human readable structure.
- Updated installation instructions.

Re: Search-by-Distance-SMP

Reply #79
Just pushed a new update. First steps on async processing for these scripts and porting of the additional tools from Playlis Tools. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
   ### Added
   - Cache: Checks graph links cache size on startup and warns when file size > 40 Mb. This is done to avoid memory leaks, since the file is fully loaded on memory and a corrupted file may increase the map size indefinitely until crashing the panel.
   - Buttons: Customizable button now has all additional menu entries found at Playlist Tools button: debug graph, find genre/styles not on graph, reset cache, etc. i.e. both now should offer the same degree of customization and advanced tools.
   ### Changed
   - Requisites: Script requires at minimum SMP 1.5.2. now.
   - Cache: Graph links cache is now calculated asynchronously whenever it's required (on first initialization or when manually forced to do so, thus improving the startup time the first time the panel it's loaded and not blocking the UI on posterior updates.

Re: Search-by-Distance-SMP

Reply #80
Just pushed a new update. A few bugfixes, great optimization of remove duplicates and improvements at import track list. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - Buttons: buttons' text color can now be customized via menus on the bar menu (R. Click on the bar).
   ### Changed
   - Remove duplicates: optimized the code, now runs at least x2 times faster. Updated all instances where the functions were being used to call the new version.
   - Buttons: toolbar configuration menu now is opened with R. Click (instead of Shift + L. Click on empty space). This is done to allow opening the menu anywhere even when the bar has no empty space left anymore.
   - Buttons: colors are changed without reloading the panel.
   ### Removed
   ### Fixed

Re: Search-by-Distance-SMP

Reply #81
Just pushed a new update. Minor UI change. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
       ### Changed
   - Buttons: When using a variable name, max graph distance is now displayed as variable along its result when evaluated.
   - Properties: max graph distance is now set at properties as a variable instead of a number. Follows the same rules found at recipes (the variable must be at the descriptors).
   - Properties: added extensive checks to most properties.

Spoiler (click to show/hide)

Re: Search-by-Distance-SMP

Reply #82
Just pushed a new update. Improvements and bugfix. Permanent console log to bypass foobar limitation of 'saving log to file' getting reset on every startup. obviously limited to the script output. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
   ### Added
   - Helpers: added full script console logging to file at foobar profile folder ('console.log'). File is reset when reaching 5 MB. Logging is also sent to foobar2000's console (along other components logging).
   ### Changed
   - Cache: now gets refreshed not only when the descriptors change ('music_graph_descriptors_xxx.js' & 'music_graph_descriptors_xxx_user.js') but also when the 2 functions used to calculate the paths or the own graph constructor change and the influences method. Even if changing those functions is not planned, it ensures the cache reflects the actual state of the graph in any case. In particular, the 'influences bugfix' would have required a manual cache reset by the user without this change which now will be performed automatically. The properties panel now tracks the CRC32 of those 6 items as merged strings (instead of only the first 2).
   - Influences: Added 4 methods top check influences: 'fullPath', 'adjacentNodes', 'zeroNodes' and 'direct'. 'direct' is the previous behavior ("bugged") checking only the fist against the last node. 'zeroNodes' the fix listed bellow. 'adjacentNodes' works like zeroNodes but without forcing the adjacent nodes to be substitutions (checks (A,B) against (Y,Z), i.e. max. 4 possible links). 'fullPath' checks all consecutive links on the path (A->B), (B->C), ...) and also applies 'adjacentNodes' logic (to check the origin and final nodes). 'adjacentNodes' is now the default behavior.
   - Descriptors: Added a few anti-influences.
   ### Removed
   ### Fixed
   - Influences: were not being correctly parsed when the original or the final node was a substitution (zero weight). Now adjacent nodes which may be substitutions are also checked at both sides, for ex for this path: Hip-Hop <- Rap_supergenre <- Rap_cluster <- Rythm Music_supercluster <- Blue_Note_cluster <- Blues_supergenre <- Blues. Where Hip-Hop is a substitution for Rap_supergenre,  Rap_supergenre is checked against Blues_supergenre and/or Blues for (anti)influences. Note it doesn't check for links at Hip-Hop since the influences link are always added to the generic items by design (in this case Rap_supergenre_supergenre), so there is max. 1 possible link. (note this may be overridden by the default behavior listed at top)

Spoiler (click to show/hide)

Re: Search-by-Distance-SMP

Reply #83
Just pushed a new update. Fixed missing file on the previous update.. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Re: Search-by-Distance-SMP

Reply #84
https://github.com/regorxxx/Search-by-Distance-SMP/releases/tag/v2.0.1
Quote
Imported improvements from Playlist Tools and bugfixes
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.5.2.

    Full script console logging to file at foobar profile folder ('console.log'). Meant to be used along http control on server.
    Reworked UI, colors for buttons and bar can be customized. Reworked menus order and presentation.
    Better tag remapping: There is a menu to directly remap tags.
    Harmonic Mixing: now works with Open Keys too (in addition to Camelot Keys and standard notation keys).
    Improved caching and calculations for influences.
    Improved Distance tests.
    Buttons customization, exposing now all the available variables via menus. Also adding the tools found only -previously- at the Playlist Tools button. New presets.
    Added scripts for Picard to retrieve high level tags (gender, valence, danceability, speechiness, ...) from AcousticBrainz high level data.
    Greatly optimized the code at multiple parts (faster processing): duplicate removing (minimum x2 times faster).
    Multiple important bug fixes.

See changelog for a full list: https://github.com/regorxxx/Search-by-Distance-SMP/blob/main/CHANGELOG.md


Re: Search-by-Distance-SMP

Reply #86
Yep I see... it's a pitty, I don't really agree with their premises. This project is a clear example of finding similar recordings mixing AcousticBrainz features and user tags, what makes no sense is relying only on AB features and hoping for good results. No other provider does that, and most are heavily focused on user's listening history. But discarding the AB features and focusing on the rest is an error.

Also saying things like BPM are error prone it's so... stupid. Is there any software out there calculating properly BMP? No. I don't get their point with most of the written AcousticBrainz weakness.

Related to this project, everything will work the same since it's not dependent on online resources like other plugins. That's the reason I created it in the first place.

The tagging process (by the users) may require another approach. Things like key or BPM can be calculated with picard or other software even if AcousticBrainz closes. Moods can be get from last fm with picard. There may be need for additional plugins to retrieve other tags. Anyway all tags can be remapped, so the script doesn't care if you are using spotify's data, AcousticBrainz, ...

 

Re: Search-by-Distance-SMP

Reply #87
https://github.com/regorxxx/Search-by-Distance-SMP/releases/tag/v2.1.0

Quote
v2.1.0 - Buttons framework rewritten, recipes, bugfixes and new features (wip) Latest

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

    Conditional anti-influences filtering which only triggers for specific genres when enabled. i.e. using a Jazz track as reference will use it, but a Rock track will skip it.
    Similar artists computation, tagging, database and filters. New option at 'Other tools', in customizable button, to compute the similar artists to those from the currently selected tracks (duplicates are filtered first). Something equivalent to 'Similar Artists Last.fm'. The process is entirely offline and uses the already coded routines of Search by Distance.
    Expanded recipe functionality: new option, in customizable button, to create a recipe file with the current config. Full documentation of allowed variables to be used is automatically generated on the recipes folder. Tag remapping, recipe nesting and modularization allowed, etc.
    Exclude same artist filter.
    Minimum score: exposed minimum score filter variable, used in case the pool doesn't have enough tracks with the desired score.
    Harmonic Mixing: new option to perform a double pass on harmonic mixing which increases the number of tracks selected for the final mix.
    Configurable playlist Name. Compatible with themes.
    Recipes and themes can be hidden on the list if the file attribute is set to hidden.
    Improved UNIX compatibility.
    Fully reworked buttons framework: configurable scale, orientation, buttons position can be changed with drag n drop, reflow of columns/rows, etc.
    Fixed multiple crashes and bugs on the customizable button.

See changelog for a full list: https://github.com/regorxxx/Search-by-Distance-SMP/blob/main/CHANGELOG.md

Re: Search-by-Distance-SMP

Reply #88
https://github.com/regorxxx/Search-by-Distance-SMP/releases/tag/v2.1.1
Quote
v2.1.1 - Hotfix
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
PREVIOUS BUTTONS CONFIG WILL BE LOST ON UPGRADE DUE TO A CHANGE ON PROPERTIES
REQUIRES SMP 1.6.1.

    Fixed crash when using harmonic mixing due to a typo on the code.

See v2.1.0 release info: https://github.com/regorxxx/Search-by-Distance-SMP/releases/tag/v2.1.0

Re: Search-by-Distance-SMP

Reply #89
Not sure if anyone cares, since this is mostly informative or interesting for coders, but the actual graph can now be checked via web here (it was previously only available offline with the download):
https://regorxxx.github.io/Music-Graph/Draw%20Graph.html

Full statistics can be calculated on real time (takes some minutes) browser-side along the distance between different styles/genres using shift and hovering nodes. That distance is the real one used on Foobar2000, uses the same code (contrary to the one used by the renderer which is a simplification).

At some point I may add more features:
- Calculating distance against different groups of genre/styles (essentially simulating foobar2000's tracks comparison).
- Offering downloadable XSPF or txt playlists with tracks for a given style/genre. (something which can be easily imported on foobar with Playlist Tools or Playlist Manager)
- Linking to youtube videos related to that style/genre.
- Listing similar style/genres to the selected one to discover.

Re: Search-by-Distance-SMP

Reply #90
https://github.com/regorxxx/Search-by-Distance-SMP/releases/tag/v2.1.3

Quote
v2.1.3 - Bugfixes and QOL changes
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
PREVIOUS BUTTONS CONFIG (<2.1.0) WILL BE LOST ON UPGRADE DUE TO A CHANGE ON PROPERTIES
REQUIRES SMP 1.6.1.

    Descriptors: preliminary All Music and Last.fm support by linking their genre/styles to the graph with substitutions (wip).
    Totally reworked HTML presentation (wip) with a live demo available here.
    Added multiple new debug checks to descriptors.
    Debug: added accent checks (instead of single quotes) at debug.
    Debug: added ASCII compatibility checks at debug.
    Similar artists: Added new option to write similar artists tags only to previously non tagged files.
    Greatly optimized console logging when sending selected tacks to console. This reduces processing time by +2 secs for +50 tracks.

    Updated helpers.
    Multiple fixes on descriptors.
    Multiple fixes on query helpers, logging and recipe creation.

Re: Search-by-Distance-SMP

Reply #91
https://github.com/regorxxx/Search-by-Distance-SMP/releases/tag/v2.1.5
Quote
v2.1.5 -Bugfixes and compatiblity with new scripts Latest

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

-Playlist Tools: Updated to match v3.0.0-beta.7 release.
-Multiple improvements when using recipes on buttons.

See changelog for a full list: https://github.com/regorxxx/Search-by-Distance-SMP/blob/main/CHANGELOG.md

Have also updated the wiki on github.