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: Playlist-Tools-SMP (Read 67433 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Playlist-Tools-SMP

Reply #350
Have an error with the new scripts.
I start fresh and when I start to customize the tag mapping for mood to ["MOOD","MOOD ALLMUSIC","THEME","THEME ALLMUSIC"] I get this

Code: [Select]
rror: Spider Monkey Panel v1.6.1-mod ({341046C8-56E8-4AC9-8E11-E25A8789D068}: Playlist Tools: Buttons Bar v3.0.1 by XXX)
tag is not defined

File: playlist_tools_menu_search_by_distance.js
Line: 205, Column: 17
Stack trace:
  func@playlist_tools_menu_search_by_distance.js:205:17
  _menu/this.btn_up/<@menu_xxx.js:408:15
  _menu/this.btn_up@menu_xxx.js:398:24
  ["Playlist Tools"]<@buttons_playlist_tools.js:57:9
  themedButton/this.onClick@buttons_xxx.js:432:21
  @buttons_xxx.js:754:21
  fireEvents/</<@callbacks_xxx.js:149:37
  fireEvents/<@callbacks_xxx.js:145:30

and the panel crash.

After a reload the panel didn't crash and the modification show up in the menu but not in the last.fm button.

Also the last.fm button doesn't seem to see the data of bio panel.

The listenbrainz one show it without problem.

I make sure to have the notify tags set to true in bio..

For example.

The files didn't have any last.fm, allmusic or wikipedia info in tags.

The listenbrainz menu





but the last.fm one





No similar artist, mood, etc.

In tag mapping global I have this



Adding tags to file like



Only show mood and theme and not the other added in the setting



This is also true to listenbrainz one.







Re: Playlist-Tools-SMP

Reply #351
Quote
After a reload the panel didn't crash and the modification show up in the menu but not in the last.fm button.
Why should it show there too? Every button has its own config.

Quote
and the panel crash.
Fixed.

Quote
Also the last.fm button doesn't seem to see the data of bio panel.
Works fine here. Have you enabled bio tags on the button?
X X

Quote
In tag mapping global I have this
There is no such thing as global tag mapping. Every button and tool uses its own config. You are totally mixing things here.

Since there is no menu to edit tags on ListenBrainz or Last.fm Tools, that clearly means tags are not configurable for those 2 tools. It just reads these tags:
   
Quote
      {name: 'Artist top tracks', tf: ['ARTIST', 'ALBUM ARTIST']},
      {name: 'Artist shuffle', tf: ['ARTIST', 'ALBUM ARTIST']},
      {name: 'Similar artists to', tf: ['ARTIST', 'ALBUM ARTIST']},
      {name: 'Similar artists', tf: ['SIMILAR ARTISTS SEARCHBYDISTANCE', 'LASTFM_SIMILAR_ARTIST', 'SIMILAR ARTISTS LAST.FM']},
      {name: 'Album tracks', tf: ['ALBUM']},
      {name: 'Genre & Style(s)', tf: ['GENRE', 'STYLE', 'ARTIST GENRE LAST.FM', 'ARTIST GENRE ALLMUSIC', 'ALBUM GENRE LAST.FM', 'ALBUM GENRE ALLMUSIC', 'ALBUM GENRE WIKIPEDIA', 'ARTIST GENRE WIKIPEDIA']},
      {name: 'Folksonomy & Date(s)', tf: ['FOLKSONOMY', 'OCCASION', 'ALBUMOCCASION', 'LOCALE', 'LOCALE LAST.FM', 'DATE', 'LOCALE WORLD MAP']},
      {name: 'Mood & Theme(s)', tf: ['MOOD','THEME', 'ALBUMMOOD', 'ALBUM THEME ALLMUSIC', 'ALBUM MOOD ALLMUSIC']},

Will not change it to remap tags here since those are the standard tag names provided by all the tools (BIO and others).

Re: Playlist-Tools-SMP

Reply #352
Why should it show there too? Every button has its own config.
Fixed
Ok, get it. But the playlists tools search by distance tag remapping option affects others buttons that use this feature, like the predefined ones or a new custom, right?

Quote
Works fine here. Have you enabled bio tags on the button?
Nope, I didn't even know this menu existed  :P . Now it works

Quote
There is no such thing as global tag mapping. Every button and tool uses its own config. You are totally mixing things here.

Since there is no menu to edit tags on ListenBrainz or Last.fm Tools, that clearly means tags are not configurable for those 2 tools. It just reads these tags:
      {name: 'Artist top tracks', tf: ['ARTIST', 'ALBUM ARTIST']},
      {name: 'Artist shuffle', tf: ['ARTIST', 'ALBUM ARTIST']},
      {name: 'Similar artists to', tf: ['ARTIST', 'ALBUM ARTIST']},
      {name: 'Similar artists', tf: ['SIMILAR ARTISTS SEARCHBYDISTANCE', 'LASTFM_SIMILAR_ARTIST', 'SIMILAR ARTISTS LAST.FM']},
      {name: 'Album tracks', tf: ['ALBUM']},
      {name: 'Genre & Style(s)', tf: ['GENRE', 'STYLE', 'ARTIST GENRE LAST.FM', 'ARTIST GENRE ALLMUSIC', 'ALBUM GENRE LAST.FM', 'ALBUM GENRE ALLMUSIC', 'ALBUM GENRE WIKIPEDIA', 'ARTIST GENRE WIKIPEDIA']},
      {name: 'Folksonomy & Date(s)', tf: ['FOLKSONOMY', 'OCCASION', 'ALBUMOCCASION', 'LOCALE', 'LOCALE LAST.FM', 'DATE', 'LOCALE WORLD MAP']},
      {name: 'Mood & Theme(s)', tf: ['MOOD','THEME', 'ALBUMMOOD', 'ALBUM THEME ALLMUSIC', 'ALBUM MOOD ALLMUSIC']}
Will not change it to remap tags here since those are the standard tag names provided by all the tools (BIO and others).

Knowing how to make that bio panel tags show up is not necessary, I only tried to remap when I saw that they didn't be there.

Thanks




Re: Playlist-Tools-SMP

Reply #353
Quote
Ok, get it. But the playlists tools search by distance tag remapping option affects others buttons that use this feature, like the predefined ones or a new custom, right?
No. As said, every button has its own config. So you can set different tags for different buttons/tools.

Quote
Nope, I didn't even know this menu existed  :P . Now it works
Tooltip over buttons shows the available menus. There is a general UI design on all my scripts.

Re: Playlist-Tools-SMP

Reply #354
Quote
Ok, get it. But the playlists tools search by distance tag remapping option affects others buttons that use this feature, like the predefined ones or a new custom, right?
No. As said, every button has its own config. So you can set different tags for different buttons/tools.

Quote
Nope, I didn't even know this menu existed  :P . Now it works
Tooltip over buttons shows the available menus. There is a general UI design on all my scripts.

So If I want tag remapping in a sbd button, I must make a custom one that allow tag remapping. and is only used in this one.

Ok




Re: Playlist-Tools-SMP

Reply #355
Quote
Ok, get it. But the playlists tools search by distance tag remapping option affects others buttons that use this feature, like the predefined ones or a new custom, right?
No. As said, every button has its own config. So you can set different tags for different buttons/tools.

Quote
Nope, I didn't even know this menu existed  :P . Now it works
Tooltip over buttons shows the available menus. There is a general UI design on all my scripts.

So If I want tag remapping in a sbd button, I must make a custom one that allow tag remapping. and is only used in this one.

Ok
Yep. Every button has its own config.

On second thought, I may add tag remapping to ListenBrainz/Last.fm tools at some point. But those are the only 2 tools without tag remapping.

Re: Playlist-Tools-SMP

Reply #356
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.1.1

Quote
## [3.1.1] - 2023-09-20
### Added
### Changed
### Removed
### Fixed
- Tags: crash when using Search by Distance tag remapping.

Re: Playlist-Tools-SMP

Reply #357
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.2.0

Quote
[3.2.0] - 2023-10-05
Added

    Selection Manipulation\Select by query: equivalent to 'Playlist Manipulation\Query filtering' but selecting the tracks by query (instead of removing them). Not it also works with dynamic queries.
    Last.fm: tag remapping is now available along customizable entries at buttons configuration menu.
    Last.fm: added forced query to pre-filter library for all lookups. Greatly speedups the process of searching matches in library.

Changed

    Pools: default presets have been changed for all 'Top tracks...' pools. Now instrumentals are only allowed for tracks with rating > 3 (see query below). Restore defaults in submenu to load updated presets.
    Playlist Manipulation\Query filtering: new default preset added to filter instrumental tracks ('NOT (STYLE IS instrumental OR GENRE IS instrumental OR SPEECHNESS EQUAL 0 OR LANGUAGE IS zxx)').
    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.
    Presets: all default menu entries are now saved as a file preset named 'default.json' for every tool at '.\presets\Playlist Tools'. Importing them, when all entries have been removed, is equivalent to use 'Restore defaults' for that tool. Whenever a default entry is updated (for ex in future versions), the file is also updated. These entries may be used as example to create your own presets.
    Search by Distance: changed default tag values, reset defaults at 'Configuration/Search by Distance/Tag remapping...' to apply.
    Helpers: updated helpers.

Removed

    Search by Distance: tags cache menu entry on configuration submenu has been removed (the setting is still accessible via the properties panel).
    Search by Distance: 'Create theme file with selected track' menu entry on configuration submenu has been removed. It has no use now on this tool.

Fixed

    Search by Distance: 'dynGenre' tag being configurable when it should have not been (along other virtual tags added).
    UI: fix extra tab on Last.fm tools tooltip.


@paregistrase the last.fm remap implementation  ;)


Re: Playlist-Tools-SMP

Reply #359
v3.3.0 - Deduplication for pools + toolbar customization
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.3.0

Quote
[3.3.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).
    Pools: new 'deDuplicate' option for pools which filters the group by TF and against the rest of the tracks already picked, to ensure there are zero duplicates -tracks with same TF result- (within the group and at the final playlist). For ex. for groups defined by '%ARTIST%', X tracks per artist would be retrieved. The standard duplicates removal procedure would check for tracks with same title, artist and date. But is possible to have a track and a live track from another year, which may be undesirable. Setting 'deDuplicate' to '[%ARTIST%,%TITLE%]' would also ensure that within a group of same artist, no 2 tracks have the same title. Note that's different to define a group by '%ARTIST%-%TITLE%', which does not ensure X track per artist (you could have 10 tracks from Artist A and 2 from Artist B as long as their titles are different). Check '.\presets\Playlist Tools\pools\allowedKeys.txt' for usage and examples.
    Presets: presets can now be individually exported by tool (instead of exporting all at the configuration submenu).
    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

    Presets: separator entries are now non editable.
    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

    Presets: presets not being saved properly for later exporting when editing an entry in some cases.
    Quickmatch: crash without Last.fm tools button also loaded.

Spoiler (click to show/hide)

Re: Playlist-Tools-SMP

Reply #360
Good new additions @regor

About the updates....Do it check for new GitHub updates or only new releases?

Re: Playlist-Tools-SMP

Reply #361
Only releases, so it doesn't bother anyone with small changes. Also only releases are 'guaranteed' to be stable.

It would also be really difficult to track changes by commit. There are other software out there for those interested on that.

Re: Playlist-Tools-SMP

Reply #362
Is the logic solution, only asking to confirm my guessing.

Thanks for the great work.




Re: Playlist-Tools-SMP

Reply #363
:) I may study a way to check for commits at some point though (with a setting to enable at the globSettings.json file), but it's not trivial.
Since the commit id is set after I upload the files xd So I can not assign a state of files to a commit and compare against github. It would require CRC comparisons, file per file, which I may precompute if I find a way to do it automatically in github,

Re: Playlist-Tools-SMP

Reply #364
Nah, is cool with releases. Less burden to users and secure updates (more stable).

At the end, to tracks more granular updates, there are other more specialized tools.


Re: Playlist-Tools-SMP

Reply #365
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.4.0

Quote
[3.4.0] - 2023-11-24
Added

    Other tools\Write Tags: new setting to disable popups about file format/tools compatibility.
    Other tools\Write Tags: new setting to disable popups about tool tips.
    Buttons bar: new setting to enable asynchronous loading of buttons, now the default behavior.

Changed

    Readmes: improved dynamic queries and tags readme.
    Helpers: updated helpers.
    Console: reduced max log file size to 1 MB.

Removed
Fixed

    Other tools\Write Tags: crash when running Audio MD5 tool on iso files.
    Playlist Revive: fixed menu entries not being grayed out in some cases.
    Playlist Revive: fixed menu entry not showing the actual similarity value after changing it.
    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: Playlist-Tools-SMP

Reply #366
Got a crash with tags automation

Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({376C6C53-A11B-46E1-B34A-44D63AFDF25C})
include failed:
utils.ReadTextFile(...).match(...) is null

File: buttons_tags_automation.js
Line: 19, Column: 106
Stack trace:
  @buttons_tags_automation.js:19:106
  includeButton@buttons_toolbar.js:182:4
  reducer/</</<@helpers_xxx_prototypes.js:309:60

Re: Playlist-Tools-SMP

Reply #367
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.4.1

Quote
[3.4.1] - 2023-11-24
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

    Buttons bar: crash with multiple buttons while checking version number.


Re: Playlist-Tools-SMP

Reply #368
Still same crash.

Re: Playlist-Tools-SMP

Reply #369
That's not possible, since the last release doesn't have a line 19 with that code (which is the thing I fixed). So there is something wrong on your side or the error must be another one.

X

Re: Playlist-Tools-SMP

Reply #370
My god, I decompress Playlist-Tools-SMP-main.zip but the new download is Playlist-Tools-SMP-main(1).zip

 :-[

Re: Playlist-Tools-SMP

Reply #371
Have finally bypassed all problems found to use ChromaPrint within foobar (see https://hydrogenaud.io/index.php/topic,120978.msg1011036.html#msg1011036) and I will create a new repository with the FooID and ChromaPrint tools.

Whenever we have a SMP x64 build, it will use cached tags, but on large libraries and x32 builds it will use ffprobe to retrieve the fingerprint tags without reaching RAM limits.

Database is now created incrementally, so every-time the library changes only the added/removed tracks must be updated (instead of calculating all again).
And the JSON database files are split into small chunks, so it doesn't crash with Utils.ReadTextFile() anymore. I can still be optimized here and there, but it finds matches in 5 secs in a set of 80K tracks.

X

Re: Playlist-Tools-SMP

Reply #372
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v4.0.0
Quote
4.0.0 - 2024-02-28
Added

    Last.fm: added caching to YouTube links lookup, which can now be configured by date (or disabled setting it to zero). Pressing Shift + Click on any menu entry will also bypass the cache.
    Selection manipulation\Advanced sort...: new harmonic mixing entries to repeat patterns in small cycles (30 tracks) instead of applying a pattern for the entire selection (which results in too many consecutive tracks with same key for big selections).
    Playlist manipulation\Harmonic mix: new harmonic mixing entries to repeat patterns in small cycles. See above.
    Selection manipulation\Advanced sort...: new harmonic mixing entry to apply a semi-random pattern.
    Playlist manipulation\Harmonic mix: new harmonic mixing entry. See above.
    Selection manipulation\Expand...: added 'By Album Artist', 'By Decade', 'By Protocol' and 'By File/Url' entries.
    Selection manipulation\Jump...: added 'By Album Artist', 'By Decade', 'By Protocol' and 'By File/Url' entries.
    Playlist manipulation\Query filtering: added 'Not links' and 'Same decade' entries.
    Other Tools\Check tags: new option to also check if genre/styles exist at the Music Graph from Search-By-Distance-SMP.
    Macros: custom macro button now has a menu entry to edit the button name (which was previously only editable on first init).
    Buttons: added more icons to Playlist Tools submenu custom button.
    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).
    Quicksearch: added new option 'Partially includes' which uses 'HAS' instead of 'IS' to find matches at any place of a tag.
    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.

Changed

    Selection manipulation\Expand...: greatly enhanced performance for large selections.
    Selection manipulation\Jump...: greatly enhanced performance for large selections.
    Other Tools\Write tags: checks now if the tracks exist (as file) before processing and will skip those being a link or dead. This should have been handled by the external tools but it produced errors on some cases.
    Other Tools\Check tags: list of excluded values is now checked after using and rewritten in case there are duplicate tag keys with different casing (STYLE vs style) or duplicated tag values.
    Search same by: default entries now use the global tags set.
    Search same by: if an entry tag matches one at global tags, the entry is named as its key (instead of using the TF expression). For ex. using '$year(%DATE%)' as TF, will be shown as 'Date' on the menu entries.
    'Other tools\Check tags': composer check now uses the vale at global tags.
    Pools: .xspf playlists now follow the complete specification, allowing multiple locations per track. In case one is not found, the next one is used. Previously only one location per track was allowed. Content resolution via tags has not changed since that was already implemented.
    Quicksearch: 'Partial match' and 'Begins with' options now formats the tag values with lower case to retrieve more matches.
    Configuration: changed the remove duplicates bias to prefer tracks with higher play-counts and positive feedback tag (love/hate).
    Helpers: updated helpers.
    Console: improved log file formatting on windows text editors which parse new lines only with CR+LF instead of LF.
    Buttons: changed filename for 'buttons_others_device_selector.js' to 'buttons_device_selector.js' and 'buttons_others_main_menu.js' to 'buttons_utils_main_menu.js'. Before updating, rename all instances of these names at '[foobar2000 profile]\js_data\buttons_XXX.json' with the new names. 'buttons_XXXXX.json' are all json button toolbar files.
    Code cleanup.

Removed
Fixed

    Macros: fixed macros button and custom macro button to work with the latest changes to macros on 3.7.0.
    Other tools\Import track list: error setting custom path.
    Other Tools\Check tags: fixed regression with value comparison not working in some cases.
    Toolbar: buttons' size not restored back to normal height after disabling 'Full size buttons' without reloading the panel.
    Pools: in .xspf playlists, identifier tag was not working properly at the content resolution step (usually used for MUSICBRAINZ_TRACKID).
    Pools: .xspf playlists not loading properly when content resolution was used in some cases.
    UI: wrong parsing of png masks on unix systems (currently, it only affected the ListenBrainz icon when changing the font color).
    Most played tracks at: last.fm listens are now deduplicated within a 30 seconds range to ensure tracks are not counted twice in some cases where the timestamp differs by some second.
    Minor fixes.

Re: Playlist-Tools-SMP

Reply #373
I have this enable in auto tags

X

Add tags on batch to selected tags do the FooID and ChromaPrint and stop. It is necessary to Manually force next step.

Then it starts scanning essentia and RG, but the audio md5 is not wrote.

The component is installed and the audio md5 scan in utilities-create audio md5 tags works fine

Re: Playlist-Tools-SMP

Reply #374
The processing order is not the one at the list.
Remove ReplayGain -> FooId -> Masstager MD5 -> DR -> ChromaPrint -> ffmpeg LRA -> Folksonomy -> Essentia (fast) -> Essentia -> AudioMD5 -> ReplayGain

The audio MD5 calls 'Utilities/Create Audio MD5 checksum' contextual menu. Check it exists with the same name. Works fine on my pc, but maybe newest versions have changed it.

EDIT: I think Is my fault, MD5 tool looks for AUDIOMD5 tag and Audio MD5 tool looks for MD5 tag. Let me check it