HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: regor on 2021-05-13 11:41:09

Title: Playlist-Manager-SMP
Post by: regor on 2021-05-13 11:41:09
Playlist-Manager-SMP (https://github.com/regorxxx/Playlist-Manager-SMP)
(https://img.shields.io/github/release/regorxxx/Playlist-Manager-SMP.svg?include_prereleases) (https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md)(https://www.codefactor.io/repository/github/regorxxx/Playlist-Manager-SMP/badge/main) (https://www.codefactor.io/repository/github/regorxxx/Playlist-Manager-SMP/overview/main)(https://api.codacy.com/project/badge/Grade/329cf09cbffc46618a64d04e51f32011) (https://www.codacy.com/gh/regorxxx/Playlist-Manager-SMP/dashboard?utm_source=github.com&utm_medium=referral&utm_content=regorxxx/Playlist-Manager-SMP&utm_campaign=Badge_Grade)(https://img.shields.io/github/license/regorxxx/Playlist-Manager-SMP) (https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/LICENSE)
A playlist manager for foobar2000 and Spider Monkey Panel (https://theqwertiest.github.io/foo_spider_monkey_panel) to save and load (auto)playlists on demand, synchronizing, ... along many more utilities.

(https://user-images.githubusercontent.com/83307074/116749102-f8b7b900-a9ef-11eb-9054-08fcb349813d.gif)

Features

(https://user-images.githubusercontent.com/83307074/116749322-4d5b3400-a9f0-11eb-9e55-cdd91370f624.gif)


(https://user-images.githubusercontent.com/83307074/116749095-f6555f00-a9ef-11eb-9723-7229766bed90.gif)

Current limitations
.fpl playlists (native format) are read only and can not be autosaved since the format is closed source and there are no methods on  Spider Monkey Panel (https://theqwertiest.github.io/foo_spider_monkey_panel) to save them on a path (without showing the 'save as' window), neither load them as handle lists (without loading on playlist tabs, for example to update the track count).
Whenever that changes, I will add full support for .fpl, and end pre-release state.

Also integrates
 1. Menu-Framework-SMP (https://github.com/regorxxx/Menu-Framework-SMP): Helper which allows to easily create customizable and dynamic menus.

Installation
Copy all files from the zip into YOUR_FOOBAR_PROFILE_PATH\scripts\SMP\xxx-scripts
Any other path WILL NOT work without editing the scripts. (see images_Installation_*jpg)
For ex: mine is c:\Users\xxx\AppData\Roaming\foobar2000\scripts\SMP\xxx-scripts...
For portable installations >= 1.6: .\foobar2000\profile\scripts\SMP\xxx-scripts...
For portable installations <= 1.5: .\foobar2000\scripts\SMP\xxx-scripts...
Then load 'playlist_manager.js' into a SMP panel within foobar.

Download latest release (or nightly releases) at github:
https://github.com/regorxxx/Playlist-Manager-SMP
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-05-18 17:42:39
Following a github suggestion, have been working on relative paths support for playlist and it should be ready on the next pre-release along these changes.

- Additional checks for portable installations.
- Relative Paths: playlists can now be saved with paths relative to the playlist folder.
- New menu to change playlist extension.
- New menu to relative/abs path config.
- Playlist loading is done using cache matching any of both absolute and relative path playlists, independently of configuration (for saving).
- Fpl playlist data (like tags, size or category) is now saved between sessions (removing some of the intrinsic limitations of the closed format).
- Multiple info popups at some points when working with fpl and pls playlists for the first time.
- Using pls format disables UUIDs menu and forces UUID refresh to none for consistency.
- Using pls format disables some menus for editing data (pls format doesn't allow extra comments).
- Changed the background text when filtering the lists and # items was 0. (previously it showed the default text)
- Multiple bugfixes for fpl and pls file edits.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-05-19 20:07:35
[0.2.2] - 2021-05-19 (https://github.com/regorxxx/Playlist-Manager-SMP)
### Added
- Portable: Additional checks for portable installations.
- Relative Paths: playlists can now be saved with paths relative to the playlist folder.
- Menu: entry to change playlist extension.
- Menu: entry to relative/abs path config.
- Menu: different tools to check for errors (absolute/relative paths mixing, dead items on playlist files, etc.)
- Fpl playlist data (like tags, size or category) is now saved between sessions (removing some of the intrinsic limitations of the closed format).
- Multiple info popups at some points when working with fpl and pls playlists for the first time.
### Changed
- Bugfix: All data arrays get updated on playlist saving/editing (previously only displayed data was updated, leading to some display bugs).
- Bugfix: Multiple bugfixes for fpl and pls file edits.
- Helpers: Playlist loading is done using cache for both absolute and relative path playlists, independently  of configuration (for saving).
- Using pls format disables UUIDs menu and forces UUID refresh to none for consistency.
- Using pls format disables some menus for editing data (pls format doesn't allow extra comments).
- Changed the background text when filtering the lists and # items was 0. (previously it showed the default text).
- Playlist loading should be much faster after the first time all libray paths have been cached, since that was the main culprit of loading time (+1 sec for 70k tracks).
### Removed
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-05-24 17:02:30
Just pushed a few updates you can try until I create a new pre-release. Categories are finally used to filter the playlist panel and not only as info on tooltips. Tags remain for relevant info-only data you may want to add to any playlist file.

## [Unreleased] (Download from repository not from the releases) (https://github.com/regorxxx/Playlist-Manager-SMP)
### Added
- Menu: tool to check for size mismatch. Compares # paths against size tag on files for .m3u8, .m3u or .pls. Also reports playlist files without those tags.
- Menu: New header menu invoked with R. Click at the top of the panel.
- Menu: Show/hide shortcuts info on tooltips.
- Filter: Playlist may now be filtered by category, multiple selection allowed in a menu.
- Filter: If lists are being filtered by category, an indicator is shown in the header text.
- Tooltip: Tooltip for header with complete path, current category filter and shortcuts info.
- Tooltip: Tooltip for playlists with shortcuts info.
- Shortcut: Shift + Click sends current selection directly to playlist file (without needing to load it first).
### Changed
- Shortcut: Shift + Ctrl + Click deletes selected playlist. (previously it was assigned to Shift).
- Menu: Config menus (R. Click) moved to header menus. For consistency now all contextual menus related to the playlists are invoked within the list, and the rest at the top.
- Menu framework: updated.
### Removed
### Fixed
- Deleting a playlist while pressing shift no longer deletes it without sending the file to the recycle bin (for later restoring). It matches menu behavior now.
- Selection indicator not being removed when moving mouse from list to header.

X

X

X

X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-05-26 20:49:27
## [0.3.0] - 2021-05-26 (https://github.com/regorxxx/Playlist-Manager-SMP)
### Added
- Menu: tool to check for size mismatch. Compares # paths against size tag on files for .m3u8, .m3u or .pls. Also reports playlist files without those tags.
- Menu: New header menu invoked with R. Click at the top of the panel.
- Menu: Show/hide shortcuts info on tooltips.
- Filter: Playlist may now be filtered by category, multiple selection allowed in a menu.
- Filter: If lists are being filtered by category, an indicator is shown in the header text.
- Tooltip: Tooltip for header with complete path, current category filter and shortcuts info.
- Tooltip: Tooltip for playlists with shortcuts info.
- Shortcut: Shift + Click sends current selection directly to playlist file (without needing to load it first).
### Changed
- Shortcut: Shift + Ctrl + Click deletes selected playlist. (previously it was assigned to Shift).
- Menu: Config menus (R. Click) moved to header menus. For consistency now all contextual menus related to the playlists are invoked within the list, and the rest at the top.
- Menu framework: updated.
### Removed
### Fixed
- Deleting a playlist while pressing shift no longer deletes it without sending the file to the recycle bin (for later restoring). It matches menu behavior now.
- Selection indicator not being removed when moving mouse from list to header.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-05-28 13:03:10
Since the latest pre-release already supports sending tracks to a playlist file without loading it, I'm considering adding some integration with Playlist-Tools-SMP (https://hydrogenaud.io/index.php?topic=120978.msg998340;topicseen#new) to create a pools utility.

Playlist tools already can do anything random pools component does (creating pools with queries), but I'm thinking about using pre-set playlists as sources. It will be available on the next release for loaded playlists on foobar, but I want to expand it to playlist files within any instance of a Playlist Manager.

That way it should be pretty easy to have some dummy 'container' playlists where you collect tracks by moods, occasion, whatever, ... (using Shift + Click which sends current selection directly to playlist file without loading it first). And then use the other script to use those 'container' playlists as source pools for a final playlist. The point of this approach is not having those dummy playlists always loaded on foobar cluttering the UI (using macros already allow this, but you have to add select/close playlist steps).

Finally, that should also work along Search-by-Distance-SMP (https://github.com/regorxxx/Search-by-Distance-SMP). Since I wanted to use some 'container' playlist as source to create playlists on the fly with similar tracks to a given set (thus integrating all MusicIP (https://spicefly.com/article.php?page=what-is-musicip) functionality).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-05-28 21:54:15
## [0.3.1] - 2021-05-28 (https://github.com/regorxxx/Playlist-Manager-SMP)
### Added
- Menu: entry on header menu to reset all categories shown.
### Changed
- Menu framework: updated.
### Removed
### Fixed
- Changing extension to .pls did not update the UUID to "nothing".
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-07 19:32:21
v0.4.0 - File restructuring and cleanup (https://github.com/regorxxx/Playlist-Manager-SMP)
Maintenance release for better compatibility with other repositories.

## [0.4.0] - 2021-06-07
### Added
### Changed
- Helpers: Moved all SMP scripts without UI (those not meant to be loaded directly on panels) to 'main'.
- Helpers: Split 'helpers_xxx.js' file into multiple ones for easier future maintenance.
### Removed
### Fixed
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-15 17:37:07
v0.4.1 - Playlist Tools integration (https://github.com/regorxxx/Playlist-Manager-SMP)
See changelog for all changes.

    Playlist manager integration for pools. They will use playlists tracked by this manager as source is set to do so.
    Custom color improvements (standard text included).
    Minor improvements.

(*) Recommended to update all other scripts (Playlist Tools, Search by Distance, World Map) too. There have been major changes on those.


## [0.4.1] - 2021-06-15
### Added
- Integration: Listeners to share tracked playlist path with other panels (use 'window.NotifyOthers('Playlist manager: playlistPath', null)'). Used on [Playlist-Tools-SMP](https://github.com/regorxxx/Playlist-Tools-SMP) to use tracked playlist files as source for pools. i.e. Playlist A would match first a playlist within foobar with same name, then a playlist file with matching '#PLAYLIST:Playlist A' tag and finally any playlist file named 'Playlist A.m3u8'. Autoplaylists are excluded (use queries instead) and fpl files too. This feature allows to use virtual playlists as containers, where you can easily collect tracks (since Playlist Manager allows to send tracks directly to a file without loading it) to be used later on pools without polluting the UI with tons of dummy playlists.
- Colors: added menu option to change standard text color, switchange between CUI\DUI color or custom one.
### Changed
- Portable: when properties are set for the first time, now use relative paths on profile folder for portable installations (>= 1.6).
- Integration: Moved some functions to 'playlist_manager_helpers.js' to easily integrate others scripts with the playlists objects.
- Data: json file for playlists is now formatted to be readable.
- Colors: background color menu moved to 'Set custom colour...' submenu. Now all colour options reside in the same submenu.
- Buttons framework: skip icon drawing if font is not found.
- Buttons: icons to all buttons.
- Helpers: warn about missing font on console if trying to load a font and is not found.
### Removed
### Fixed
- Colors: panel did not repaint with default color values in some cases after using 'Reset all to default' entry.
- Avoid 2 possible crashes when playlist json files get corrupted. Warns about it whit a popup (to restore a backup).
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-06-25 18:52:01
regor, after a period without using foobar , I tested the latest scripts and I have errors in console , they keep appearing (obviously I have the font wingdings 2 installed)
[17:03:00] Missing font: wingdings 2
[17:03:01] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:06] Missing font: wingdings 2
[17:03:06] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
Also , when I add a playlist from a json file (I was using Auto-playlist Manager by marc2003, and I had 3 auto playlists), one auto playlist is imported indeed [These are de values used for the auto playlist --- Query pattern : %last_played% DURING LAST 57 WEEKS AND %play_count% GREATER 1  and---Sort pattern : $sub(99999,%play_count%)  --this works ]
But the other 2 auto playlists are not imported, and 2 error reports appear.
For auto playlist number 2, I have this error : "Query not valid:
ALL SORT DESCENDING BY %file_created%"  .
For auto playlist number 3, I have this error : ''Query not valid:
ALL SORT DESCENDING BY "$date(%added%)"
Obviously these 2 auto playlists are ok when I use the auto-playlist Manager by marc2003 or when I create auto playlists in foobar, they don t work here, I don't know why

I used the last version of the scripts, portable Foobar 1.6.6 , clean install, only SMP ( vers. 1.4.1) installed (Windows 10, 20H2)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-26 11:54:49
regor, after a period without using foobar , I tested the latest scripts and I have errors in console , they keep appearing (obviously I have the font wingdings 2 installed)
[17:03:00] Missing font: wingdings 2
[17:03:01] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:02] Missing font: wingdings 2
[17:03:06] Missing font: wingdings 2
[17:03:06] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
[17:03:07] Missing font: wingdings 2
I used the last version of the scripts, portable Foobar 1.6.6 , clean install, only SMP ( vers. 1.4.1) installed (Windows 10, 20H2)

The first was reported on github. Not sure if it was you!
It's already fixed, was a typo on my side. It's Wingdings. But the icon works without problems even with the default font.

Quote
Also , when I add a playlist from a json file (I was using Auto-playlist Manager by marc2003, and I had 3 auto playlists), one auto playlist is imported indeed [These are de values used for the auto playlist --- Query pattern : %last_played% DURING LAST 57 WEEKS AND %play_count% GREATER 1  and---Sort pattern : $sub(99999,%play_count%)  --this works ]
But the other 2 auto playlists are not imported, and 2 error reports appear.
For auto playlist number 2, I have this error : "Query not valid:
ALL SORT DESCENDING BY %file_created%"  .
For auto playlist number 3, I have this error : ''Query not valid
Will recreate them and try. It may have something to do with the Descending/ascending part. Should be fixed on next release, since the idea is the playlist manager should be 100% compatible with marc2003's one, and replace it. That's why there is the import thing.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-26 13:02:36
Well the problem was query testing.
I test the queries before allowing users to add a new autoplaylist (to avoid errors or crashes if you put something wrong), to do it I use a function which doesn't allow 'SORT' commands on that context, only standard queries.

Spoiler (click to show/hide)

marc2003's script allows you to put anything on the query input without checking it. Crashes for some inputs and if it fails at playlist creation, it doesn't tell you why.

Spoiler (click to show/hide)

So whether you try to create a new autoplaylist or import one with those (SORT) commands, it will fail on my panel. There is no workaround around that since it's a limitation of SMP (GetQueryItems(handle_list, query) ). I will ask the author about a possible new function which checks all. But I will not disable query testing, since I find really weird to be able to crash the entire panel with a typo. Queries should always be tested.

I can perform query testing only for the string part just before SORT, that should work and be a good compromise between testing queries and allowing SORT on them. And that would fix the importing problem.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-06-26 16:27:22

"The first was reported on github. Not sure if it was you!"

No, it wasn't me :)

Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-26 21:11:09
The query and font bugs (along some minor improvments) should be solved if you download the latest files from the repository (not release, but the files directly). The changelog is updated there.
Queries with SORTED BY patterns should now be allowed, and checked for errors too (at least partially).

Try re-importing the json :)

Quote
No, it wasn't me :)
Just a coincidence then, I get notifications from github so I read reports there first.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-06-27 02:12:12
I downloaded the latest files, now I don't have the font bug, but when I tried to import the json this time no playlist is imported, and  no error reports appear
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-27 16:58:19
I can't reproduce your problem, it works fine on my side (tried with +20 playlists, with queries and SORT mixed in may ways).

Could you share your json file? Unless is something related to your file, it must be a config thing on your side.

Also, are you sure you don't have filtering enabled? (like only showing standard playlists!)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-06-27 20:15:07
regor, it works. Yesterday I tried 10 times, I think , but no result appeared, I even removed the panel , reloaded the script... but today after a windows restart everything ok. Sorry for the false alarm
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-06-27 20:24:04
Don't worry, thanks for your reports :)
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-07-12 16:51:14
Hi Regor,
is there a way to automatically add playlists from the playlist_manager panel to the main foobar playlist container? (the "load" action, when you manually click on them)

(My aim is to make the new playlist files added to a specific folder reachable through the foobar upnp server, which apparently doesn't detect the playlist listed in the playlist_manager panel, but only those in the main list. But this have to be done automatically. Here (https://www.reddit.com/r/foobar2000/comments/oim3n0/how_to_automatically_import_playlists_from_a/), someone suggested that maybe with your component this could be done...)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-07-12 18:25:58
Hi Regor,
is there a way to automatically add playlists from the playlist_manager panel to the main foobar playlist container? (the "load" action, when you manually click on them)

(My aim is to make the new playlist files added to a specific folder reachable through the foobar upnp server, which apparently doesn't detect the playlist listed in the playlist_manager panel, but only those in the main list. But this have to be done automatically. Here (https://www.reddit.com/r/foobar2000/comments/oim3n0/how_to_automatically_import_playlists_from_a/), someone suggested that maybe with your component this could be done...)
Currently nope. With the future Playlist Tools release, it should be possible to perform some actions using dummy tracks (names would be commands) if you also have that script.

If I understand your usage, you want to have all playlist from a tracked folder automatically loaded on foobar? Or just specific playlists?
Also according to what condition? At startup? On demand (not easy at all since it requires some integration with the remote control)?

Since there is currently a playlist tag feature implemented, I could add a config option to add a "Load on Startup" tag (or custom tags) to every new playlist added to the tracked folder.
Then I could make the panel to check tags and perform automatic actions according to those tags. That should cover both cases: you could have a panel associated to a folder with automatic tagging and loading, and another without it.
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-07-12 23:32:16
Thank you Regor!

If I understand your usage, you want to have all playlist from a tracked folder automatically loaded on foobar? Or just specific playlists?
Also according to what condition? At startup? On demand (not easy at all since it requires some integration with the remote control)?
Yes, ALL the playlists from a tracked folder loaded on foobar. According to no specific condition: as soon as they are added to the folder would be the best way for the usage I have in mind. But at foobar startup would do as well.

Since there is currently a playlist tag feature implemented, I could add a config option to add a "Load on Startup" tag (or custom tags) to every new playlist added to the tracked folder.
Then I could make the panel to check tags and perform automatic actions according to those tags. That should cover both cases: you could have a panel associated to a folder with automatic tagging and loading, and another without it.
That sounds perfect, I think it could work just fine!

Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-07-13 12:15:42
Thank you Regor!

If I understand your usage, you want to have all playlist from a tracked folder automatically loaded on foobar? Or just specific playlists?
Also according to what condition? At startup? On demand (not easy at all since it requires some integration with the remote control)?
Yes, ALL the playlists from a tracked folder loaded on foobar. According to no specific condition: as soon as they are added to the folder would be the best way for the usage I have in mind. But at foobar startup would do as well.

Since there is currently a playlist tag feature implemented, I could add a config option to add a "Load on Startup" tag (or custom tags) to every new playlist added to the tracked folder.
Then I could make the panel to check tags and perform automatic actions according to those tags. That should cover both cases: you could have a panel associated to a folder with automatic tagging and loading, and another without it.
That sounds perfect, I think it could work just fine!


Already got it working. Will update github asap.
Spoiler (click to show/hide)

The tag method is more complex than just automatically loading all playlists but I prefer this method because you can manually write that tag to the desired playlists... so only those are loaded (instead of all). Or just enable autotagging, and it will apply to all. So this allow fine grained control. (*)

(*) You can have multiple Playlist Manager panels to control that but if you only have one, you may have many different playlists there, even auto-playlists... probably it makes no sense to auto-load all of them. So some control is preferred.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-07-15 21:54:11
Have updated the repository with all the latest changes (tags, autoload, etc.) and some bugfixes. If anyone want to test it, download the files directly from the repository not the releases.

(it's recommended to also download the latest files from the rest of my scripts, since I have changed all with major changes in Playlist Tools)

Changelog is up to date on github. Check unreleased.
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-07-18 17:50:42
Hi Gregor,
I just updated the script from Github (just replacing all files and folders in xxx-scripts... Is this the right way? I'm new to Spider Monkey Panel...), but it doesn't load. I get this message:

Code: [Select]
Error: Spider Monkey Panel v1.5.1 (Playlist Manager: Playlist Manager v0.2 by XXX)
include failed:
Path does not point to a valid file: helpers\helpers_xxx.js

File: <main>
Line: 27, Column: 1
Stack trace:
  @:27:1
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-07-18 21:25:57
Hi Gregor,
I just updated the script from Github (just replacing all files and folders in xxx-scripts... Is this the right way? I'm new to Spider Monkey Panel...), but it doesn't load. I get this message:

Code: [Select]
Error: Spider Monkey Panel v1.5.1 (Playlist Manager: Playlist Manager v0.2 by XXX)
include failed:
Path does not point to a valid file: helpers\helpers_xxx.js

File: <main>
Line: 27, Column: 1
Stack trace:
  @:27:1

Yes, that's right. Does that file exist at (xxx-scripts)? If it's there, then it's a SMP bug. Update it to latest version (https://theqwertiest.github.io/foo_spider_monkey_panel/) (dev build). If it continues, another user had the same problem with relative paths, so please report it at the SMP thread in that case.
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-07-19 21:58:23
Yes, the file is there (in xxx-scripts\helpers), and the bug still appears even with the last SMP version.
But if it affects just me I can patiently wait for the next versions, where it hopefully will be fixed...

(Not sure where I should report this bug, anyway... Here (https://github.com/TheQwertiest/foo_spider_monkey_panel/issues?q=path) I can't find any (recent / open) thread referring to this issue. Do you mean this one (https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/142)? I'm a bit lost when it comes to coding and stuff...)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-07-19 22:09:58
At its thread or github (your link):
https://hydrogenaud.io/index.php?topic=116669.0

Have no idea what's going on, since it works on my side on win 10 and win 7 pcs but another user had problems at win 7.
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-07-19 22:18:14
Oh, I see that you've already reported it, thanks.
By the way, I'm on win 10.
Title: Re: Playlist-Manager-SMP
Post by: dreampillet on 2021-07-21 06:42:26
I was having this exact problem with the World Map script. The file is there but I get the same error message saying it doesn't point to valid file. For some reason, the release version of the script seems to work fine for me. I'm using Windows 10 as well.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-07-24 20:53:38
Have updated the repository with a new feature to automatically add tags to tracks added to playlists (see changelog) with TF expressions, a set value or JS functions.This:
https://hydrogenaud.io/index.php?topic=121331.msg1001055;topicseen#new
Also an important bugfix on autosaving (not applying on filtered playlists).

If anyone want to test it, download the files directly from the repository not the releases. Please have in mind the relative path bug on SMP has not been solved yet, so I have no idea if it will work for you!
(it's recommended to also download the latest files from the rest of my scripts in that case, since I have changed all with major changes)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-07-29 17:56:33
regor, I followed your steps from here https://hydrogenaud.io/index.php?topic=121331.msg1001029#msg1001029 but automatically adding tags to tracks added to playlists it's not working for me . Either it's a bug or I'm doing something wrong http://sendanywhe.re/AR38O8Y7
Title: Re: Playlist-Manager-SMP
Post by: architekt on 2021-07-30 20:17:13
This plugin is awesome! 1 minor detail that took me a while to figure out though. I specified my playlist path as this: "D:\Google Drive\Music\Default". It kept saying it couldn't find any playlists, which made no sense since when I had it open said folder, I saw all my .m3u8 files. Then I tried adding a trailing slash, so I made it: "D:\Google Drive\Music\Default\" and that fixed it. Would it be possible to check if the last character includes the slash, and if not, just append it? Or perhaps make mention of that in the info panel as part of the can't find any playlists standard message that otherwise populates it? Great work btw, this is exactly what I needed.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-01 18:49:16
This plugin is awesome! 1 minor detail that took me a while to figure out though. I specified my playlist path as this: "D:\Google Drive\Music\Default". It kept saying it couldn't find any playlists, which made no sense since when I had it open said folder, I saw all my .m3u8 files. Then I tried adding a trailing slash, so I made it: "D:\Google Drive\Music\Default\" and that fixed it. Would it be possible to check if the last character includes the slash, and if not, just append it? Or perhaps make mention of that in the info panel as part of the can't find any playlists standard message that otherwise populates it? Great work btw, this is exactly what I needed.
Yep, easy enough. That's a "problem" with paths at many places though, not only this script or that specific function. Will check the path inputs of most of my scripts to solve it.

Btw the latest SMP dev build (https://ci.appveyor.com/api/projects/theqwertiest/foo-spider-monkey-panel/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel.fb2k-component?branch=master&job=Configuration%3A%20Release) seems to fix the relative paths bug, so I will update the github repositories with proper releases asap.

Quote
regor, I followed your steps from here https://hydrogenaud.io/index.php?topic=121331.msg1001029#msg1001029 but automatically adding tags to tracks added to playlists it's not working for me . Either it's a bug or I'm doing something wrong http://sendanywhe.re/AR38O8Y7
Can't see the link sorry. (you can attach gifs here too btw)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-01 19:48:25
Sorry, here is the gif
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-01 21:56:01
Sorry, here is the gif
You must use double quotes instead of ' x 2. That's how javascript json works. Do it and it should work ;)

And... I will try checking if the input uses ' and replacing it with " to avoid this. Or at least warn about it in the popup.

EDIT: last commit should replace ' ' with " automatically.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-01 22:34:01
This plugin is awesome! 1 minor detail that took me a while to figure out though. I specified my playlist path as this: "D:\Google Drive\Music\Default". It kept saying it couldn't find any playlists, which made no sense since when I had it open said folder, I saw all my .m3u8 files. Then I tried adding a trailing slash, so I made it: "D:\Google Drive\Music\Default\" and that fixed it. Would it be possible to check if the last character includes the slash, and if not, just append it? Or perhaps make mention of that in the info panel as part of the can't find any playlists standard message that otherwise populates it? Great work btw, this is exactly what I needed.
After checking, I'm sorry to say that's something already checked if you use the menus. '\' is added at the end if you omit it. Either you are using a really old version or you added the playlist paths directly at properties (and therefore any path integrity check is user's responsibility).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-02 18:44:22
Have updated the repository with a few fixes, the previous improvement with quotes and a few new tools to export playlists (copy playlist file to, copy playlist file +tracks, copy playlist file + convert tracks).
See this: https://hydrogenaud.io/index.php?topic=121367

After setting the DSP, output and TF filename expression, the playlist manager is fully integrated with foobar converter... allowing to export entire playlists (and maintain their order) in one click. Can be used as a 'one way sync' tool for portable players, etc.

Spoiler (click to show/hide)

I mixed the output of multiple exports steps in the same folder, but you get the idea...
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-02 22:52:00
Thanks, it works now. Great new features , btw
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-03 10:17:49
Changed a bit the last convert feature to allow an arbitrary number of presets (instead of only 1). Also the list shows the DSP, TF and path (disk letter + folder name). I think it's much better now since it allows multiple outputs without needing to re-configure it or asking for user input every time.

Spoiler (click to show/hide)

* (DSP) and (FOLDER) means those var are set with user input instead of predefined.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-05 17:56:01
And another suggestion here, although maybe it can't be done with SMP. It's possible to automatically copy a tag (or more) to another tag when songs are added to library? (something that this old component can do https://hydrogenaud.io/index.php?topic=68139.0 , but it can only accomplish one task, not more)
So, let's say I want to copy the Date tag to another tag, Date2, and Artist tag to Artist2
I know it can be done with masstagger but obviously it would be easier like this, automatically


Edit : just noticed this cool color code for DR, in this gif https://hydrogenaud.io/index.php?topic=30361.msg1001484#msg1001484 Can you share it ? :)

One for bitrate :

$ifgreater(%bitrate%,128,$ifgreater(%bitrate%,320,$rgb(0,0,250,0,0,250)%bitrate%,$rgb(0,250,0,0,250,0)%bitrate%),$rgb(250,0,0,250,0,0)%bitrate%)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-05 21:20:10
I couldn't edit the last post so : cool color code for PLR and DR in this gif https://hydrogenaud.io/index.php?topic=120979.msg1001391#msg1001391 Can you share it ? :)

Edit :
Also it seems the latest dev build doesn't solve the problem :
Error: Spider Monkey Panel v1.5.2-dev+b064066b (Playlist Manager: Playlist Manager v0.2 by XXX)
include failed:
Path does not point to a valid file: helpers\helpers_xxx.js

File: <main>
Line: 27, Column: 1
Stack trace:
  @:27:1

Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-06 08:19:11
And another suggestion here, although maybe it can't be done with SMP. It's possible to automatically copy a tag (or more) to another tag when songs are added to library? (something that this old component can do https://hydrogenaud.io/index.php?topic=68139.0 , but it can only accomplish one task, not more)
So, let's say I want to copy the Date tag to another tag, Date2, and Artist tag to Artist2
I know it can be done with masstagger but obviously it would be easier like this, automatically


Edit : just noticed this cool color code for DR, in this gif https://hydrogenaud.io/index.php?topic=30361.msg1001484#msg1001484 Can you share it ? :)

One for bitrate :

$ifgreater(%bitrate%,128,$ifgreater(%bitrate%,320,$rgb(0,0,250,0,0,250)%bitrate%,$rgb(0,250,0,0,250,0)%bitrate%),$rgb(250,0,0,250,0,0)%bitrate%)
That's already within the manager features. Create an autoplaylist with 'ALL', add auto-tags for tracks where date2 is date, and artist2 is artist. Done. Note auto-tagging will only copy values (merge), never remove previous one (and date and artist is never deleted).

About the DR thing... it's supposed it's already shared on the relevant repositories (not here but Playlist Tools or Search by Distance). (*)

About the SMP bug, please report it at the SMP thread. According to TheQwertiest's log at github, it had something to do with unicode strings on paths. Maybe it would help if you report the full path where you added the scripts.

(*) Will also create another repo for all scripts, presets, etc. for AutoHotkey, Masstagger, Notepad++, Picard, UI, ...
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-07 09:26:11
Just updated the repository. The last changes should hopefully greatly improve tracks' relative path handling even for non standard playlists, therefore improving their loading time too.

### Added
- Relative Paths: new menu entry for playlists which allows to convert (force) all paths to relative paths, stripping all but filenames. i.e. the tracks are expected at the same Dir the playlist resides in. Meant to be used after tracks conversion, exporting, etc.

- Exporting Playlists: new menu entries for playlist exporting, allowing to just copy the playlist file, the playlist file along its tracks (thus converting the paths to relative paths too) or the playlist file plus the tracks converted using DSP presets. The latter option is configurable on the header menu at top 'Export and convert...'. Meant to be used for exporting playlists in one step, not having to edit playlists manually after converting files to match the new files... Can also be used as a 'one way sync' utility at servers, portable players, etc.

- Duplicates: New tool to find duplicated items on playlists without loading them (R. Click, 'Check playlists consistency...' menu).
### Changed
- Loading playlists, checking items on library and finding dead items now evaluates relative paths whether they start with .\ or not. Playlists created with the manager always use '.\', but this improves compatibility with playlists created with other software or manually.

- General speed improvements loading playlists, checking items on library and finding dead items.
### Fixed
- Dead items: the menu entry to find dead items on playlists now skips streams (http or https).
- Checking if all items on a playlist are in the library now works as expected when some items -file paths- are duplicated.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-07 18:10:23
A minor quality of life update.

### Added
- Tooltip & Duplicates: While pressing shift over a playlist, apart from the playlist info, a warning will be given if the current selection is already present on the destination playlist (to avoid adding duplicates). Note Shift + L.Click is the action associated to sending current selection to a playlist file.
### Changed
- Tooltip: Pressing shit, control or both will show on the tooltip the action which will be performed on playlists. If usage info is enabled on tooltips, then only the current action associated to the keys will be shown while pressing them (so it becomes obvious which one is from the list); otherwise -disabled- nothing will be shown until a key is pressed.
- Tooltip: Adjusted max width to 600 px before splitting lines.

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-13 08:44:58
Another minor update on repo.

### Added
- Skip duplicates: new option to skip duplicates when adding selected items to a playlist. Checks both, if any of the new items is already on the playlist file and if the current selection contains duplicates. Console log shows when this happen without additional warnings or functionality changes (they are simply skipped). Configuration can be toggled at header menu. Only applies when sending selection directly to a playlist file (does not prevent adding duplicates via auto-save).
### Fixed
- Adding current selection to a playlist file (Shift + L. Click) when it's loaded and it's also the current playlist no longer reinserts tracks, thus duplicating them.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-13 22:48:02
"It's possible to automatically copy a tag (or more) to another tag when songs are added to library? (something that this old component can do https://hydrogenaud.io/index.php?topic=68139.0 , but it can only accomplish one task, not more)
So, let's say I want to copy the Date tag to another tag, Date2, and Artist tag to Artist2"

"That's already within the manager features. Create an autoplaylist with 'ALL', add auto-tags for tracks where date2 is date, and artist2 is artist. Done. "

@regor , sorry, it seems you have a dumb foobar user here :) I couldn't manage this a few days ago. I followed your advice , I created the autoplaylist with 'ALL', then  Automatically add tags to tracks ..... and then I don't know what to add there in that window that opens
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-14 00:36:02
"It's possible to automatically copy a tag (or more) to another tag when songs are added to library? (something that this old component can do https://hydrogenaud.io/index.php?topic=68139.0 , but it can only accomplish one task, not more)
So, let's say I want to copy the Date tag to another tag, Date2, and Artist tag to Artist2"

"That's already within the manager features. Create an autoplaylist with 'ALL', add auto-tags for tracks where date2 is date, and artist2 is artist. Done. "

@regor , sorry, it seems you have a dumb foobar user here :) I couldn't manage this a few days ago. I followed your advice , I created the autoplaylist with 'ALL', then  Automatically add tags to tracks ..... and then I don't know what to add there in that window that opens
Code: [Select]
[{"date2":"%date%"},{"artist2":"%artist%"}]
As noted, first item (key) is the tag name, second item (value) is the thing you want to add to the tag. You may add an arbitrary value, another tag, TF expression or predefined javascript functions.

Use it first on a standard playlist (set autotag first), then add a test track. After that remove the tags.
Then create an autoplaylist which should only apply to that track (use title as query) and check it works. (read the popups for autoplaylists on config)

Remember to enable Tracks Autotags on config. Note you may switch the functionality for different playlist types. Readmes will appear when clicking. Will add a few examples on the global switch popup and readme on next release.

Btw just uploaded a small bugfix for the feature (using shift + l. click to add tracks to playlist applied auto tag even if it was disabled on config), just in case you notice that... it's already fixed.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-14 12:20:12
Thanks, that was easy, I was thinking about something else, about that example with add date added to playlist :  [{"addedDate":"JS:todayDate"},{"Playlist Name"}] , haha
It worked , I added a few songs to library and it adds the tags but when I made a final attempt, I have this error and it's the same even if I reload the script or restart foobar ( I tried on a test configuration , so no problem for me) :

Error: Spider Monkey Panel v1.5.2 (Playlist Manager: Playlist Manager v0.2 by XXX)
UpdateFileInfoFromJSON failed:
Invalid JSON info: mismatched with handle count

File: playlist_manager_list.js
Line: 585, Column: 14
Stack trace:
  _list/this.updateTrackTags@playlist_manager_list.js:585:14
  _list/this.updateTags@playlist_manager_list.js:622:10
  _list/this.update/<@playlist_manager_list.js:987:15
  _list/this.update@playlist_manager_list.js:976:10
  _list/this.init@playlist_manager_list.js:1569:8
  _list@playlist_manager_list.js:1643:7
  @playlist_manager.js:78:12

This is from console :

Playlist manager: reading from files
Playlist Manager: Auto-tagging enabled, retrieving tags for new tracks...
Playlist Manager: Auto-tagging tracks...
foo_spider_monkey_panel:
Error: Spider Monkey Panel v1.5.2 (Playlist Manager: Playlist Manager v0.2 by XXX)
UpdateFileInfoFromJSON failed:
Invalid JSON info: mismatched with handle count

File: playlist_manager_list.js
Line: 585, Column: 14
Stack trace:
  _list/this.updateTrackTags@playlist_manager_list.js:585:14
  _list/this.updateTags@playlist_manager_list.js:622:10
  _list/this.update/<@playlist_manager_list.js:987:15
  _list/this.update@playlist_manager_list.js:976:10
  _list/this.init@playlist_manager_list.js:1569:8
  _list@playlist_manager_list.js:1643:7
  @playlist_manager.js:78:12


I'm not sure 100%, but I think this error appeared after I removed a song from the library. I made a autoplaylist ALL , with all the songs from the library, and aplied your query [{"date2":"%date%"},{"artist2":"%artist%"}]

Edit : it seems it happens when I enable Autoplaylists (at start up)  : Tracks Autotag and actions - Automatically tag added tracks on - Autoplaylists (at start up)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-14 14:32:00
Thing is I can not reproduce your problem with a query which checks an specific title. Have not tried with all. It may be that updateJSON tries to save tags to a non existing file because your database has not been refreshed yet after deleting the file, although testing that I found no problems.

If you add this code at line 585 (at playlist_manager_list.js) it should avoid a possible crash in some situations (in particular the error you got). Although files not being present requires more checks.
Code: [Select]
		if (handleList.Count !== tagsArr.length) {console.log('Auto tagging failed due to size mismatch between handle list and tags array'); return;}
X

In any case this only "skips" the problem, I have to found why you got a list of tracks different to the list of tags to be applied.

EDIT: I think I know what the problem is. Wait for another fix.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-14 14:47:21
Added a fix on repo to what I think is the source of the problem. Try it and tell me if it solves it. The crash in any case should be gone with the safeguard I wrote before (which is also included).

Alternatively just download this file. -EDIT  see below-
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-14 15:00:07
Foobar starts without SMP crash but now it seems this error appears when I'm trying to do right click on the panel :

Error: Spider Monkey Panel v1.5.2 (Playlist Manager: Playlist Manager v0.2 by XXX)
list.deleted_items is undefined

File: playlist_manager_menu.js
Line: 281, Column: 51
Stack trace:
  createMenuRight@playlist_manager_menu.js:281:51
  on_mouse_rbtn_up@playlist_manager.js:129:71

Console :

Error: Spider Monkey Panel v1.5.2 (Playlist Manager: Playlist Manager v0.2 by XXX)
list.deleted_items is undefined

File: playlist_manager_menu.js
Line: 281, Column: 51
Stack trace:
  createMenuRight@playlist_manager_menu.js:281:51
  on_mouse_rbtn_up@playlist_manager.js:129:71
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-14 15:08:37
Oh yes,  I updated another file today. Sorry, thought that was the only file. Once you do it will be gone. Both offered here now. (updating from repo there are no problems)

The non mentioned update (on the menu file) was a bug introduced some releases ago where the restore menu did not work at all when deleting playlists (I accidentally deleted a line of code). Did not notice it until today, now it works as expected (if you delete a playlist within the manager, you can restore it from the recycle bin).
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-08-14 15:26:48
Everything works ok, problem solved :)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-14 15:31:21
Great; If you ever get the 'Auto tagging failed due to size mismatch between handle list and tags array.' on console, let me know. I will left it there in case some people got problems with tagging at some point, although it should work fine now.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-15 19:09:51
Just pushed a new update on the repo with a bug fix and a handy shortcut to further use categories as virtual folders and easily swap them.

### ADDED
- Categories: double clicking on the header cycles through the categories shown one by one.
### Fixed
- Categories: due to a copy/paste typo, the menu to filter categories only worked when using custom background colors on the panel.

Btw, if someone want to test it, there is a second branch on the repo for full relative path handling. i.e. you may have the playlist folder at a different folder level (H:\Music\_Other things\_Playlists) than the library folders (H:\Music\CDs\...) and still have relative paths working on playlists, where tracks would use something like:
Quote
..\..\CDs\Artist\Album\track 01.flac
Quote
H:\Music
    + [_Other things]
        + [_Playlists]
            - Playlist A.m3u8
            - Other playlist files...
    + [CDs]
        + [Artist]
        + ...

On the main branch the playlist folder must be on the same root than the library folders to have relative paths working (so they may pollute the current root folder specially if there are other files there or the root is the disk itself):
Quote
.\CDs\Artist\Album\track 01.flac'
Quote
H:\Music
    + [CDs]
        + [Artist]
        + ...
    - Playlist A.m3u8
    - Other playlist files...


There are no further differences (although the rel. path branch will not be updated with new features or fixes, is just for testing before merging), and in any case, both branches fallback to absolute paths if relative paths are not used (or not able to use them). Rel. path handling is obviously only 'useful' for people using portable installs, removable devices or network servers, where (track) paths are not fixed to an specific drive letter. Also when playlist may be shared between multiple foobar instances where the drive letter changes, for ex. when the music is on a network drive and you may access it from 2 different PCs or mobile controllers.

Also support for the playlist manager on the online http controller ajquery-xxx is planned:
https://hydrogenaud.io/index.php?topic=62218.msg1000139#msg1000139
At least the loading part and listing all playlist on the manager panel(s). Autosave would work too according to the setting on the foobar server.
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-08-18 10:39:56
Hello again Regor,
following a hint here I tried with the release version of the script (v 0.4.1), and it works without crashing.
But I still can't find an option to apply actions to a specific tag (nor I can find the "autotag" option): could it be because the release version (which, in fact, dates to 15 jun) hasn't got all the features that the repository version has? Or am I just missing something?

(I suppose I should see something like in this GIF you uploaded: https://hydrogenaud.io/index.php?action=dlattach;attach=20604;image but right above "font size" in the menu I see only "Show usage info on tooltips")
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-18 11:02:03
Hello again Regor,
following a hint here I tried with the release version of the script (v 0.4.1), and it works without crashing.
But I still can't find an option to apply actions to a specific tag (nor I can find the "autotag" option): could it be because the release version (which, in fact, dates to 15 jun) hasn't got all the features that the repository version has? Or am I just missing something?

(I suppose I should see something like in this GIF you uploaded: https://hydrogenaud.io/index.php?action=dlattach;attach=20604;image but right above "font size" in the menu I see only "Show usage info on tooltips")
That's it. On last updates I have warned about downloading the files directly from the repo, not the release files. If you read the changelog at the repo you will see the 'unreleased changes' section, those are not on the previous release obviously, and that's what you are missing. (I always maintain up to date the changelog on my repos, so you can fully follow them to know if you want to test non released versions)
https://github.com/regorxxx/Playlist-Manager-SMP/blob/9ce231c6a683ac0e1d9eacdd54145201f476bc83/CHANGELOG.md

If you want to try them, download from the repo.

I will not create a release until Spider Monkey fixes definitively the relative path errors some people are experiencing randomly (it just crash at panel startup because SMP does not find the scripts even if they are at the right path). It works fine for me and for other people, so that's why I continue updating it without a release. I would recommend to use/test it since it contains many bugfixes and UI polishing...
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-18 11:11:47
Btw this is the latest update (yesterday). Merged the changes from the relative path branch to the main branch (first point at changes).

Quote
### Added
- Categories: double clicking on the header cycles through the categories shown one by one.
- Added tag filtering menu to only show playlists which contain selected tags. Tag filtering is always reset on startup, no matter what 'Save filtering between sessions' is set to. Use categories for 'virtual folders' or permanent playlist categorization, tags are meant only for informative purpose or auto-tag actions (thus not needing permanent filtering).
- Popup warnings when finding dead items sending selection to playlist (Shift + L. Click), creating a new playlist from active playlist, manually saving a playlist or auto-saving (configurable). Note checking on auto-saving is disabled by default since it may affect performance and also result on popups being thrown multiple times until dead items are fixed.
### Changed
- Relative Paths: Improved relative path support. Playlist folder may now be at a different level than the library folders as long as they share the same root For ex. 'H:\_Playlists' and 'H:\Music\Cds'.
- Cache: Paths from current library items are cached at script loading, it's done async and in iterative steps so it doesn't freeze the UI. It was done previously once, per panel, when loading the first playlist. The change should greatly speed up the loading of the first playlist since most of the work is already done at that step, thus being as fast as consecutive playlist loading before.
- Categories: Current category view is now saved only when 'Save filtering between sessions' is enabled, otherwise it will be reset to show 'All' on startup.
- UI: Tooltip shortcuts are updated as soon as the key modifiers are pressed, even if the the mouse has not been moved (tooltip is redrawn). That should make easier to see the action which would be applied without needing to move the mouse constantly to update the tooltip.
- UI: Header tooltip (with current filter view) is updated after double clicking, even if the the mouse has not been moved  (tooltip is redrawn). That should make easier to see the current category applied while cycling without needing to move the mouse constantly to update the tooltip.
- Added descriptions at top of most menus.
- Minor code cleanup.
### Fixed
- UI: When a playlist of current view had no category, next category letter was not being shown on the letter separators. i.e. Jumping from none (-) to B, skipping A, when there were playlists with categories starting with A, B and some without categories. Long time UI only bug since first releases. Only happened for the category sorting view; when sorting by name, playlist always have a name by design, so first item header was never 'empty' and thus the next one was always shown fine.

Currently it should look like this:
X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-08-19 14:00:25
Last update until September. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
### Changed
-UI: current selection rectangle now has its width adjusted according to 'Show name/category separators', so it doesn't overlap with the letters at the right when enabled.
-UI: when opening the contextual menu for a playlist (L. Click) the selection rectangle will be shown until the menu close. Previously it was cleared as soon as the menu was created or the mouse left the panel. Opening menus for things not directly related to an specific playlist will maintain the previous behavior.
-UI: entire panel is repaint when moving the mouse over it instead of currently selected playlist only to ensure selection is always properly drawn even with extreme movements.
### Fixed
-Menus: crash when selected playlist index was out of bounds on L. Click menu creation due to menu being created 100 ms later than clicking. If the mouse was moved really fast out of the list within that 100 ms delay, the selected playlist was considered null (crash). It would also change the playlist to which the menu applied if the mouse was moved to another playlist really fast (bug). Fixed both cases now, forcing the playlist index at the exact moment the L. Click was done (on button up).
X
X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-03 18:20:46
New update with mostly cosmetic bugfixes. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
    ### Fixed
   -Importing Json: skips playlists at importing whenever they don't have a query or are not Autoplaylists. Feature was added at a time where the only playlists items on json where autoplaylists (so importing from marc2003's panel worked fine), now that .fpl playlists also have a virtual counterpart, additional checks must be done. Should also serve as sanity check for manually created autoplaylist json files.
   - Menus: send selection to playlist entry has now appropriate flags to be disabled when there is no selection, it's an autoplaylists, the playlist is locked or it's an .fpl playlist.
   - Menus: using the menus to rename .pls playlist was failing due to a back coded check even if the playlist was properly renamed.
   - Tooltip: when trying to send selection to a playlist and there is no selection, it's an Autoplaylist, the playlist is locked or it's an .fpl playlist, a warning is shown to note it's not possible to do so.
   - Shortcut: send selection (Shift + L. Click) is disabled when it's an Autoplaylist, the playlist is locked or it's an .fpl playlist; instead of simply failing.
   - UI: bug with uppercase playlist names not being correctly identified when mixed along lowercase names (spanning of the same separator multiple times)

Additionally I'm working on creating full documentation for the scripts with latex, this will be the first one. Check 'readmes' folder. Currently wip though (missing some sections, images and gifs), feel free to suggest any faq not present yet.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-06 20:10:06
New update. Reworked the menus (specially the header menu), added some new features for AutoPlaylist and fixed some rare bugs. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
   ### Added
   - AutoPlaylists: new option on contextual menu to clone the selected AutoPlaylist as a standard playlist. i.e. automatizes the process of loading it, copying the track, pasting them into a new playlist and creating a new playlist file from it.
   - AutoPlaylists: new filtering option on header menu for AutoPlaylists on cloning process to remove duplicates according to some tag(s) or TF expression(s). By default is set to 'artist,date,title'. Automatizes the process of removing duplicates by tags after cloning using tools like those found on Playlist-Tools-SMP and automatically fixes one of their worst quirks (having multiple versions of the same tracks).
   ### Changed
   - UI: Auto-Playlists size now gets updated when loading them (since it's essentially performance free).
   - Menus: Reordered menu entries into sub-menus for more logical access: panel behavior, playlist behavior, UI, ...
   ### Fixed
   - Menus: Force relative paths menu entry is now disabled when playlist is locked.
   - Bug on first playlist not being properly updated at some points (at least on manual update) due to a bad coded check for index !== 0.
   - Crash when deleting an AutoPlaylist right after loading it if Track Tagging was enabled due to callback delays.
   - Playlist with special characters did not properly update the playlist path at some instances (the chars were not being stripped until manual refresh).

Additionally I'm working on creating full documentation for the scripts with latex, this will be the first one. Check 'readmes' folder. Currently wip though (missing some sections, images and gifs), feel free to suggest any faq not present yet.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-07 22:50:54
New update. UI polishing and expanded exporting options for auto-playlists. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
### Added
- UI: new option to enable/disable header on selected playlist contextual menu. The header shows the playlist format and name.
- AutoPlaylists: new option on contextual menu to export selected AutoPlaylist as json file (ready to be imported by other instances of the manager). Not backwards compatible with marc2003's panel.
- AutoPlaylists: new option on list menu to export all AutoPlaylist (and optionally .fpl virtual files too) as json file at once (ready to be imported by other instances of the manager). Not backwards compatible with marc2003's panel
### Changed
- UI: contextual menu for selected playlist can now be invoked on the entire selection rectangle (not only over the name).
- Menus: 'Copy playlist file to...' is now available for .fpl playlist too, since it's the only option which doesn't involve playlist editing.
- Menus: 'Bind active playlist to this file...' is now disabled for locked playlists (must unlock them first) and .fpl playlists (in any case).

Additionally I'm working on creating full documentation for the scripts with latex, this will be the first one. Check 'readmes' folder. Currently wip though (missing some sections, images and gifs), feel free to suggest any faq not present yet.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-09 23:11:40
New update. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
    ### Added
- Menus: new option on header menu to set intervals for auto-loading and auto-saving files (previously done only via properties).
    ### Fixed
- Fixed crash when trying to load a playlist with non present items and 'omit not found' was enabled (for ex. exporting features).

The readme is mostly finished with screenshots and explanations of most features btw. Check attached file or repository.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-10 12:13:50
Missed the last additions to auto-loading and auto-saving, now reflected on the manual. Also fixed some typos.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-09-14 06:32:08
I have a problem with the Playlist manager. At first I thought this might happen because I updated a few components, but after 1 million tests I found what happens :) After I restart the Pc, and I start foobar, the player remains blocked, CPU at 20% , so I have to kill the process . If I start foobar again (once, twice...ten times) everything is ok (foobar is starting and the playlist manager works normally). So, the problem appears ONLY when I start foobar for the first time after I restart the pc (obviously, without this script, foobar starts normally every time, even after a pc restart) Maybe something happened with the latest updates? (I noticed this a few days ago, it might be a week) Or simply a playlist might be corrupt , somehow? Or something else...
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-14 09:16:38
Are you using the latest version (commit)? Which config? That may be a SMP bug, since it sounds similar to other bugs on the past.

There is nothing at startup done by default which should block foobar in any way. And specially not on first init but being fine on subsequent inits. The only thing which takes processing time is autoplaylist size updating which may be disabled and library caching which is done Async on latest versions so it doesn't affect startup at all.

EDIT: can you enable console on an UI panel at startup to show where it fails when freezing? Note if it was a simple infinite loop problem, it would show the popup about a script taking so much time. So that looks like a SMP bug, corrupted files somewhere or something more complex.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-09-14 10:48:51
I'm using the latest version of the script, also SMP 1.5.2 (I think that's the latest stable version). I'm not at the Pc now. Later in the evening, I'll try to answer.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-14 20:42:24
New update. Auto-playlist size updates can now be enabled without impacting startup time at all due to async processing. Also added some safe checks to file code-pages to ensure files don't get corrupted when using UTF8 without BOM or no identified code-pages. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
### Changed
- Workaround for SMP limits on automatic code-page detection for text files (playlists). If code-page is present in M3U files (#EXTENC:...), encoding is forced instead of using the detected code-page (which may be wrong). .m3u8 files are always considered as UTF-8 files. This should cover most UTF-8 problems (when BOM is not present) on M3U files. .pls format still relies on code-page detection.
- AutoPlaylists: Autoplaylists size now gets updated asynchronously (if feature is enabled), thus not impacting loading time at startup.
- UI: selection rectangle drawing is skipped if color matches the background color.

The readme has been updated (FAQ and Tips) and I'm trying to embed gifs into the pdf to easily show examples. If someone could Check "VII Tips \ Pools using Playlist-Tools-SMP" section and tell me if the gif works properly I would be grateful, seems to be reader dependent.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2021-09-15 13:35:35
No, for me it doesn't work, I tried with 3 pdf readers , but no luck. Maybe you should put the gifs separately, in a folder? (for those that can't see them in a pdf). I solved the problem that I had with the playlist manager, sorry for late reply, it took awhile until I found what was the problem , I'll send you a PM in a few hours to explain
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-15 23:32:20
Works on one PC on my side but not on the other... so yep, that's not a good solution. Thanks. There is an alternative involving splitting the gifs in all its images and creating an animation with them, will try that. It would be preferable to have all the documentation in one place since pointing from time to time to external files clearly breaks its ease of use.

Answered your PM. May be related to the code-page detection change, so last update may have solved it too. Note you can find dead items with the tools within the panel, that may also indicate when a track is "not recognized" even if its on the library.

New update. More things changed to async processing whenever was possible. The popups and readme have been updated to reflect those changes (faq and some comments). Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
### Changed
- Playlists consistency tools: all are now executed asynchronously: Absolute/relative paths..., external items, dead items, duplicated items and playlist size mismatch.
- AutoPlaylists: Autoplaylists automatic track tagging now is done asynchronously (if feature is enabled), thus having a minimum impact on loading time at startup.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-16 10:54:19
No, for me it doesn't work, I tried with 3 pdf readers , but no luck. Maybe you should put the gifs separately, in a folder? (for those that can't see them in a pdf).
New version with an animation embedded. The gif is also linked within the pdf as fallback (obviously it doesnt work now since I'm only sharing the pdf)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-19 14:36:35
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).
- Updated installation instructions.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-21 10:31:55
Updated the readme with full explanations about integration with Playlist Tools (pools feature) and Export and convert feature. Also a guide to export playlists (and its files) ready to be used on other devices with Foobar2000 mobile . I think I have covered most of the possible uses of the manager and doubts, if you have any more questions let me know.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-23 15:42:11
Just pushed a new update. Readme updated. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
   ### Added
   - UI: Header icon can now be customized according to category being shown with an extra json config file. Check readme for instructions ('Advanced tips').
   ### Changed
   - Requisites: Script requires at minimum SMP 1.5.2. now.
   - UI: Minor UI adjustments to the header.
   - Export and copy tracks to: new configuration to asynchronously copy files, not blocking the UI. This is now the default behavior.
   ### Removed
   - UI: Removed wingdings dependencies. Replaced with Font Awesome (already being in use at other places).
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-09-23 18:39:11
Hi Regor,
I bypassed the relative paths error just replacing them with absolute paths (as suggested by this user (https://hydrogenaud.io/index.php?topic=121277.msg1000551#msg1000551)), but it still fails to load, this time displaying this message:

Code: [Select]
Error: Spider Monkey Panel v1.6.1-dev+757cb073 (Playlist Manager: Playlist Manager v0.2 by XXX)
this.properties.bBOM is undefined

File: playlist_manager_list.js
Line: 1831, Column: 2
Stack trace:
  _list@playlist_manager_list.js:1831:2
  @:79:12

I tried some digging here but couldn't find anyone with the same error. Any guess?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-23 18:45:14
Hi Regor,
I bypassed the relative paths error just replacing them with absolute paths (as suggested by this user (https://hydrogenaud.io/index.php?topic=121277.msg1000551#msg1000551)), but it still fails to load, this time displaying this message:

Code: [Select]
Error: Spider Monkey Panel v1.6.1-dev+757cb073 (Playlist Manager: Playlist Manager v0.2 by XXX)
this.properties.bBOM is undefined

File: playlist_manager_list.js
Line: 1831, Column: 2
Stack trace:
  _list@playlist_manager_list.js:1831:2
  @:79:12

I tried some digging here but couldn't find anyone with the same error. Any guess?
Are you using the latest version? (from commits) Have you installed it at the right path (see installation txt file)?

Your error happens at the beginning of panel loading about a missing property on the panel, so that points to an installation problem. Try re-downloading the files.

Also SMP 1.6.0 is a broken release and I'm not supporting dev releases like 1.6.1 until it has been fixed, the SMP repository recommends to use 1.5.2 and that's what I support. Maybe that's your problem.

EDIT:  btw the user's comment you pointed to has a wrong installation path... so maybe that was also his problem. Please take a look at the installation file.
Title: Re: Playlist-Manager-SMP
Post by: jotti on 2021-09-23 19:41:33
Ok, I downgraded SMP to 1.5.2, and I re-installed the latest version* in the -I think- right path (C:\Users\andre\AppData\Roaming\foobar2000\scripts\SMP\xxx-scripts), but the problem is still there, and nothing loads.

*Be patient, I don't really know what "from commits" means... I just downloaded the zip from here (https://github.com/regorxxx/Playlist-Manager-SMP), green button "code", "Download ZIP"
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-23 21:16:47
Ok, I downgraded SMP to 1.5.2, and I re-installed the latest version* in the -I think- right path (C:\Users\andre\AppData\Roaming\foobar2000\scripts\SMP\xxx-scripts), but the problem is still there, and nothing loads.

*Be patient, I don't really know what "from commits" means... I just downloaded the zip from here (https://github.com/regorxxx/Playlist-Manager-SMP), green button "code", "Download ZIP"
Yep the last path is right if you are using a non portable install, and that's the zip you needed. Then, did you pointed to the new path at the panel? Seems obvious, but maybe you still had the panel trying to load the previous path and thus crashing.

Is the log the same now? I'm testing it on a portable fresh install directly from github and loads fine. Also try clearing the properties at the panel in case you got someting wrong there.
Title: Re: Playlist-Manager-SMP
Post by: altruumann@protonmail.com on 2021-09-23 23:05:57
Ok, I downgraded SMP to 1.5.2, and I re-installed the latest version* in the -I think- right path (C:\Users\andre\AppData\Roaming\foobar2000\scripts\SMP\xxx-scripts), but the problem is still there, and nothing loads.

Hi. I also waited a couple of months that the problem with relative ways is resolved with the new SMP release, but this did not happen (Win10 x64, 1607, SMP 1.5.2). For the scripts to work you will have to manually replace in each script the section that meets at the very top, from this:

Code: [Select]
include('
to this:
Code: [Select]
include(fb.ProfilePath + 'scripts\\SMP\\xxx-scripts\\
I didn't test all scripts functions yet, but i think this works.


Hi. Can you please add colour customization for buttons - for dark themes and styles? I use a high-contrast dark style in Windows, and in a Foobar the buttons in your scripts are displayed as "black font on a dark background". Or if i turn off the style, i have "white buttons on dark Foobar theme background". ::)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-24 09:00:11
Quote
include(fb.ProfilePath + 'scripts\\SMP\\xxx-scripts\\
Yep that's the good one. Thanks
I will create a batch file to do it... since I can't continue with half the people manually changing all files on every update.

Quote
Hi. Can you please add colour customization for buttons - for dark themes and styles? I use a high-contrast dark style in Windows, and in a Foobar the buttons in your scripts are displayed as "black font on a dark background". Or if i turn off the style, i have "white buttons on dark Foobar theme background".
The buttons background are managed by windows themes, so they can not be customized within foobar but follow what you set as you note. The problem is the font color, which is harcoded to black. That's what I have to change, to use the inverted color instead of always black.

Btw, until I do so you can change it at buttons_xxx.js & buttons_panel_xxx.js
Quote
         gr.GdiDrawText(iconCalculated, this.g_font_icon, RGB(0, 0, 0), x_calc - iconWidthCalculated / 5 - textWidthCalculated / 2, y_calc, w_calc, h_calc, DT_CENTER | DT_VCENTER | DT_CALCRECT | DT_NOPREFIX); // Icon
         gr.GdiDrawText(textCalculated, this.g_font, RGB(0, 0, 0), x_calc + iconWidthCalculated, y_calc, w_calc, h_calc, DT_CENTER | DT_VCENTER | DT_CALCRECT | DT_NOPREFIX); // Text
      } else {
         let textCalculated = _isFunction(this.text) ? this.text() : this.text;
         gr.GdiDrawText(textCalculated, this.g_font, RGB(0, 0, 0), x_calc, y_calc, w_calc, h_calc, DT_CENTER | DT_VCENTER | DT_CALCRECT | DT_NOPREFIX); // Text
Change the RGB(0, 0, 0) to any other like RGB(239, 239, 239)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-24 10:12:11
Ok. done. Decompress the entire zip into 'xxx-scripts', read instructions and run the bat file. Will work on any of my scripts and process the entire folder. Should work on future releases too.

Anyway this is a patch, as soon as you update the files it will have to be run again...
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-24 17:10:05
Hi. Can you please add colour customization for buttons - for dark themes and styles? I use a high-contrast dark style in Windows, and in a Foobar the buttons in your scripts are displayed as "black font on a dark background". Or if i turn off the style, i have "white buttons on dark Foobar theme background". ::)

Done, check latest update ;)
Readme updated (with full installation instructions). Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
### Added
- UI: buttons' text color can now be customized via menus.

Check previous reply's script to convert relative paths to absolute paths if Spider Monkey fails loading the scripts.
https://hydrogenaud.io/index.php?topic=120979.msg1003329#msg1003329
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-27 14:02:50
Readme updated with known problems (like the SMP bug (https://hydrogenaud.io/index.php?topic=120979.msg1003323#msg1003323)). Also added the cmd batch file (to switch paths) to the repository as workaround; no further changes. Updated not needed at all for already working installations. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-09-29 19:22:32
Just pushed a new update. Optimization of remove duplicates code. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   ### 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 (currently on AutoPlaylist cloning).
   ### Removed
   ### Fixed
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-05 20:27:07
Just pushed a new update. Added support for a new playlist format (for media servers compatibility like Kodi). Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - Playlist formats: added read-only support for .strm format. Since format only allows one URL per playlist, M3U formats are preferred to create new playlists for the same purpose (which can also be read by streaming players).
   ### Changed
   - Selected playlist menu: Renamed 'Open playlist folder' to 'Show playlist file' on explorer.
   - Properties: added extensive checks to most properties.
   ### Removed
   ### Fixed
   - Autosave & Autoupdate: changing the properties via menus or properties panel could lead to values being formatted as strings instead of numbers, now disallowed at input (menus) and loading (value checking).

(*)  XSPF support (https://github.com/Chocobo1/foo_xspf_1/) will be added on next releases.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-08 21:40:43
Just pushed a new update. 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
   ### Removed
   ### Fixed

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-10 19:12:33
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.

Thanks to the user who reported it!
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-14 17:25:39
Just pushed a new update. Added even more options to clone autoplaylists and for exporting playlists. Also created some presets ready to be used for foobar2000 mobile or kodi systems (see readme for usage, it has been updated), this along the ability to set format for the output playlist should allow to easily export playlists+files in one step to any device out there. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - Menus: new entry to 'Clone AutoPlaylist and edit query'. Creates a clone of the selected AutoPlaylist and allows to edit the query afterwards; for easy AutoPlaylist creation using a generic query as base (instead of copying/pasting queries).
   - Export and convert: new default presets for multiple use-cases (Kodi devices, etc.). Use 'Restore defaults' at header menu to reload presets if updating from a previous version.
   ### Changed
   - Export and convert: '.\' is only added to paths when a preset is set to do so, playlist still use as paths whatever TF expression is used considering the file is along the playlist by default (relative path). Rationale: a preset can be set to either use relative paths (with or without '.\' at start) by default or edited to prepend an absolute path via Title Formatting. For ex: '.\%title%.mp3' and '%title%.mp3' are equivalent in practice. While 'MusicHDD:\music\%artist%\%album%\%track% - %title%.mp3' will use absolute path on playlist file (and tracks will have to be copied to such device and path for later use). This greatly simplifies exporting playlist to devices like Kodi in one step (without further manual path editing), since playlists require absolute paths and are usually stored in a different folder and disk than the music files.
   - Export and convert: presets can have their own playlist extension, selected playlist will be converted to that format -if required- on exporting. Note converting from M3U to PLS format involves discarding part of their metadata (tags, etc.).
   - Export and convert: presets can have a name instead of showing the TF expression. Name is set at header menu. This is only cosmetic, to easily identify them.
   - Helpers: additional checks at json loading on all scripts. Warnings via popup when a corrupted file is found.
   ### Removed
   ### Fixed
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-18 22:06:06
Pushed a new update. Added full .xspf playlist support (*) along some general file reading improvements to max compatibility with other software and SO's. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - Playlist formats: .xspf format (https://en.wikipedia.org/wiki/XML_Shareable_Playlist_Format) full compatibility (read, edit and create). Follows the complete specification (https://www.xspf.org/xspf-v1.html): items not found don't break playlist loading (it continues with next item). If  an item is not found at the set the path, it also tries to find matches on library by query using fuzzy matching according to the playlist metadata (Title + Artist + Album + Track number or a combination of those). By default, if lock flag is not set on file, it's loaded as a locked file. Note fuzzy matching by queries may take a great amount of time on large libraries or when a lot of items are missing.
   - Blank lines: new entry to check for blank lines on playlists, although they may be allowed in some formats, some players may behave incorrectly with such playlists (for ex. with .strm files)
   ### Changed
   - When retrieving paths from M3U files, lines are trimmed (blank spaces). In other words, blank lines are simply skipped for any purpose. Other formats don't allow these "errors".
   - Editing metadata on playlists not created by the manager no longer fails neither warns about requiring loading/saving to update the format; now the playlist header is automatically rewritten and then the new metadata added. This change allows to edit metadata for almost any format while not having to rewrite playlists to the currently default format (i.e. allowing .xspf playlists to remain in their format even if the default one is .m3u8).
   ### Removed
   ### Fixed

   - While reading Playlist files, they are now split by lines using any of the possible escape sequence combinations (https://en.wikipedia.org/wiki/Newline) and not only windows ones (\r\n). This should allow to correctly read any playlist file created in any SO (no longer limited to Windows ecosystem).
   - Crash after manual refreshing a playlist with less items than the number of rows.

.xspf (XML Shareable Playlist Format ):  https://en.wikipedia.org/wiki/XML_Shareable_Playlist_Format
Quote
Traditionally playlists have been composed of file paths that pointed to individual titles. This allowed a playlist to be played locally on one machine or shared if the listed file paths were URLs accessible to more than one machine (e.g., on the Web). XSPF's meta-data rich open format has permitted a new kind of playlist sharing called content resolution.

A simple form of content resolution is the localisation of a playlist based on metadata. An XSPF-compliant content resolver will open XSPF playlists and search a catalog for every title with <creator>, <album> and <title> tags, then localise the playlist to reference the available matching tracks
In other words, query matching... so playlists may be shared as is among different users and libraries and still find matches (no matter the physical media structure). Note this is different to autoplaylists, since the latter looks for any track satisfying an arbitrary condition (GENRE IS ROCK), while the former specifically looks for tracks (U2 - One) which may be present or not on the library. An XSPF playlist will never output more tracks than those written on the playlist (contrary to an autoplaylist which allows duplicates and has no fixed size). (*)

There is an example playlist on the repo, attached here too. Put it on the playlist tracked folder and load it, it will try to find matches on your library. It's a collection of 800 tracks from the 90s so it should easily find at least some of them.

(*) Someone may notice I have explicitly disabled XSPF to be used as 'saving' format, such playlists need to be created manually first with a text editor or another player. Then items can be added with SHIFT+L. Button, metatada edited, etc.. I will change this after enough testing.
(**) This is obviosly similar to 'Import track list' tool at Playlist-Tools-SMP, but XSPF being an XML playlist also allows metadata and paths to work as an standard playlist too. It's also universally supported by other players (mostly Unix).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-21 22:36:27
Pushed a small fix for XSFP files. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Meanwhile I'm working on adding XBMC Smart playlist support.
https://kodi.wiki/view/Smart_playlists/XSP_Method
Not only as a read only format, but also to convert current AutoPlaylists within foobar to a Kodi readable format... so they can be used on both devices. Currently I have been able to translate XBMC queries to Foobar queries, the part that takes more time is the reverse process (since foobar queries can be arbitrarily complex...).
Working great so far, and as a bonus, since Smart Playlists allow to use another playlists as sources, they can be effectively used as way to merge different playlists as pools.
Spoiler (click to show/hide)

Spoiler (click to show/hide)

The final aim is being able to translate most of the playlists created within foobar to other devices -and back- without loss of functionality. Manually duplicating those 30 autoplaylists from Foobar into Kodi can easily take days... while this approach would do it in seconds. The same applies copying playlists to Foobar2000 mobile, which requires manually editing paths, track conversion, etc. now all done automatically in one click with the 'Export and convert' presets.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-22 21:46:55
Just pushed a new update. Added new menu entry to clone playlists, full support for XBMC Smart Playlists (**) and other QoL changes and fixes. There are multiple playlist example files on the 'Examples' folder. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
   ### Added
   - Playlist formats: [.xsp format](https://kodi.wiki/view/Smart_playlists) full compatibility (read, edit and create). They are Smart Playlists which work on Kodi-like/XBMC systems, pretty similar to AutoPlaylists. Has been added a full layer of translations between XBMC-queries and Foobar-queries which allows conversion on the fly between both formats whenever it's possible. Some exceptions may apply, like most foobar TF functions not being available on .xsp format (check readme for more info). For all purposes Smart Playlists are treated like AutoPlaylists, being locked by default, having a query and sort, can be cloned as standard playlist or AutoPlaylist, etc. Metadata is also saved on the panel .json file, along AutoPlaylists and .fpl playlists metadata. Note queries checking for other playlists by name are also allowed (so it can use as source any playlist format read by the manager, even AutoPlaylists); this can be easily used as a way to merge different playlists as pools (the same it works on Kodi).
   - Menus: new menu entry on selected playlist menu to clone current playlist as another format. Shortcut to easily convert playlists between different formats without using the exporting tools. Checks the paths on the process, so dead items are reported and skipped.
   - Menus: new menu entry to edit limit of tracks output when loading playlist's query (currently only available for .xsp format).
   - Tooltip: limit is shown for AutoPlaylists (infinite) and .xsp playlists (set by playlist file).
   ### Changed
   - UI: Tweaked a bit the default colors to differentiate better every type of playlist, should look better by default now when changing the background to black too.
   - UI: .xsp playlists can be set to have their own color.
   - UI: popup warning if saving a playlist will involve changing the playlist format. This should avoid accidental changes. Configurable on header menu.
   - Edit query (.xsp only): query is now translated into an XBMC query after user input. Structure may change during the process (specially parenthesis and how things are grouped) and non recognized tags/expressions are skipped (those which have no XBMC counterpart). Please recheck query after edition on the tooltip to ensure it has been recognized properly. See readme for more usage info.
   ### Removed
   ### Fixe
d
   - Rare crash when using manual refresh while the mouse was over a playlist file deleted outside the panel.
   - Rare error when trying to create a playlist without a name, the name used was the filename + extension instead of only the filename. Only happened when trying to clone a playlist without UUID but UUIDs were enabled.

Spoiler (click to show/hide)

(*)  May be used to create XSPF playlists from scratch while the option to use .xspf as default format is disabled (testing period).
(**) Please be aware Smart playlist CAN NOT use all the TF variables and functions found on Foobar2000. Check https://kodi.wiki/view/Smart_playlists/XSP_Method for more info, so don't get surprised if things are skipped from the query on the translation process. This is done to ensure they work with Kodi/XBMC. Will update the PDF readme asap with full documentation.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-10-26 14:46:09
Just updated the pdf readme, with full documentation for the XSP format and advanced tips to create queries and use Smart Playlists as 'Pools'. Check on the repository.

It should hopefully help users to use all capabilities of those playlists.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-11-02 15:28:30
Just pushed a new update. Added new option to allow tracking UI-only playlists, thus allowing to use the manager as a playlist organizer (like most plugins out there) (*) along other fixes. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - Playlist formats: new option to also show UI-only playlists on the manager panel, to use it as a simple playlist organizer. UI-only playlists are non editable but they can be renamed, deleted or restored. Sending current selection to playlist is also allowed. They have its own custom color too. To be able to use all the other features of the manager, consider creating playlist files instead. At any point you may use 'Create new playlist from Active playlist...' to save UI-only playlists as a tracked file.
   - UI: informative popups the first time an .xsp or .xspf playlis are loaded/created.
   - UI: added warnings when multiple playlist share the same name on the tracked folder (configurable).
   - XSP: new option to never auto-save .xsp playlists (thus avoiding format changes) even if they are not locked; this is now the default behavior.
   ### Changed
   - Menus: .xsp playlist now also have an option to copy the playlist file to another location (i.e. exporting the playlist).
   - UI: Smart Playlists are now identified as such in any text instance where they behave as AutoPlaylists, instead of using the generic 'AutoPlaylist' term for all. For ex. on tooltips warning the playlist can not be edited when trying to add a track. This is just a cosmetic change.
   - Duplicates: are now also checked when using the option 'Send selection to playlist' (and not only on Shift + L.Click).
   ### Removed
   ### Fixed

   - UI: cosmetic fix. Fixed 'AutoPlaylists' being written as 'Autoplaylists' on some instances.
   - UUID: UUID was not assigned properly on AutoPlaylist creation if option was enabled (thus not allowing multiple playlists with same name).
   - UUID: solved all instances where full name was not properly retrieved from Name + UUID strings, no matter if the option was enabled or not by using Regex to replace any possible UUID. This happened when UUID was enabled and trying to create new playlist from active playlist, i.e. the suggested name was not the full name.
   - UI: warnings about format changes are now moved after checking if playlist is locked. Previously it warned about it even if nothing would be changed due to the file being locked.

(*) Most options are disabled for these playlists since they don't have a physical file associated and I want to enforce using physical files for the advanced features (that's the reason this manager exists). On the other hand, sending selection to playlist is fully supported, along deletion/restoration... so it should come handy for those not using the playlist tabs bar.

Gif showing how to enable it and general functions:
Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-11-05 18:11:52
Just pushed a new update. Added new shortcut to show active playlist, some additions to UI-only playlists and minor fixes. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - Shortcut: L. Click on header highlights active playlist on manager if possible (an associated file exists).
   ### Changed
   - Formats: playlist consistency tools (duplicates, external items and dead items), 'Clone as...' and 'Export and convert tracks to...' now also work with UI-only playlists.
   ### Removed
   ### Fixed

   - UI: fixed some instances where the current position on the list view got reset after updating a playlist file.
   - UI: selection indicator is now only displayed if the mouse is over the panel. It was shown on some instances when updating the current view, while trying to remember the last selected item to maintain the current index.
   - UI: fixed some instances where the currently playlist playlist was incorrectly displayed (with playback stopped).
   - Dead items: https streams were incorrectly reported as dead items due to a typo.

Spoiler (click to show/hide)

Also updated the readme with all the latest changes and explaining new features (along UI-only playlists). Images updated to reflect all changes to menus on last updates.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-11-11 17:35:55
Just pushed a new update. Added key quicksearch, built-in playlists backups and some changes to the basic behaviors. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
   ### Added
   - UI: pressing any key while focus is on panel will scroll the list to the first playlist whose first name's letter matches the key (sorting by name), first category's letter (sorting by category) or first size's number (sorting by size).
   - Backup: new option to automatically backup the playlist files by interval, when unloading the script and just after loading a playlist file on UI (if auto-saving is enabled). Setting the interval to zero completely disables the feature on any case; to only backup on script unloading/playlist loading, set it to 'Infinity'.
   ### Changed
   - Auto-saving: playlists are not immediately auto-saved after loading them, but only after a change is made. This is done caching the last playlists loaded until auto-saves fires for the first time later. This change makes unwanted format changing a bit more difficult, requiring explicit user interaction with the playlist to change it.
   - Send selection: loaded playlists are not immediately auto-saved after sending selected tracks to it (menu or shortcut actions). This behavior follows previous comments about not needing to rewrite the playlist. Note sending the selection already edits the playlist file, so this skips the auto-saving step (since its also loaded in the UI) which could involve changing the playlist format.
   ### Removed
   ### Fixed

   - Cache: added safechecks to library cache to ensure loaded item is the one pointed at the playlist. At some instances, after adding/removing library items without reloading the panel cache, some tracks could have been mixed up due to different index.
   - Cache: now gets rebuilt whenever an item is added/removed to the library, not only at startup. This is in addition to the previous check (to automatically solve it).
   - Force relative paths: tool was not working properly for .xspf playlists, now paths are properly replaced considering they are URI encoded.
   - Bind active playlist to file: when canceling the popup that appears trying to bind the active playlist to a playlist file with a non-default format, playlist file binding was properly aborted (no file changes) but the active playlist was already renamed. Now aborting also reverts the renaming, renaming it again back to the original name. This 'fix' also applies
   - Crash on menu due to a typo.

Spoiler (click to show/hide)

Readme pdf has also been updated to reflect all the changes.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-11-14 12:12:25
Just pushed a new update. Reworked filter buttons and UI. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.

Quote
   ### Added
   - UI: filter buttons are now configurable by R. Clicking on them. The menu on any of the 2 buttons allows to set the selected button to filter by Playlist type, lock status, extension, category or tag. There is also an entry to reset all filtering and the current buttons configuration is saved between sessions (the filtering itself follows its own configuration). Note filters are accumulative, i.e. changing a button from lock status to extension will not reset its previously selected filter. Tooltips have been updated accordingly.
   ### Changed
   - UI: sorting method configuration is now opened by R. Clicking directly on the sort button, following the same behavior thane the [new] filter configuration menus.
   ### Removed
   ### Fixed

   - Bind active playlist to file: when canceling the popup that appears trying to bind the active playlist to a playlist file with a non-default format, playlist file binding was properly aborted (no file changes) but the active playlist was already renamed. Now aborting also reverts the renaming, renaming it again back to the original name. This 'fix' also applies in any case where the playlist saving fails or is aborted.

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-12-24 09:15:38
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.6.0-beta.1
Quote
External players integration, QOL and stability improvements
Considered a beta due to a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.5.2.

    Playlist formats: UI-only playlists, .xsp format full compatibility, .xspf format full compatibility (read, edit and create), read-only support for .strm format.
    Automatic backups. So previous version of playlists may be restored if something goes wrong.
    Quick-search.
    UI reworked: buttons, menus, etc. Much more intuitive now. More customization available.
    New sorting and filtering options.
    UI: new sorting option by first tag. Playlists without tags are considered as 'first'. Note it uses only the first tag of all the available tags for a given playlist, so order is relevant.
    Tons of new options for AutoPlaylists.
    Tons of new tools to check playlist consistency.
    Exporting tools ready to be used along Foobar mobile, Kodi-like systems, etc. (full documentation on PDF!)
    Metadata inheritance on new playlists.
    Improved library caching, animation popup while loading the panel and new instance manager (to share the cache between multiple panels instead of calculating it on every panel).
    Added multiple playlist checks of different nature at saving, loading, etc. to ensure playlists don't get corrupted, have wrong paths, etc.
    More than 20 fixes related to cache, playlist saving, UI, crashes, etc. RECOMMENDED TO USE THIS NEW RELEASE.

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
Title: Re: Playlist-Manager-SMP
Post by: regor on 2021-12-29 23:17:41
Just a small update. Also uploaded the latest version of the manual to the repo with explanations of all features up to date. Clone the repository to get the latest changes (Code/Download zip) instead of using the releases page.
Quote
## [Unreleased][]
### Added
### Changed
- Tooltip: added metadata inheritance notice on filter button tooltips (category and tag filtering).
- Header menu: added metadata inheritance notice on header filtering submenus (category and tag filtering).
### Removed
### Fixed

Spoiler (click to show/hide)

PD: there is no more changes so if you don't care about the manual update (which explains how metadata inheritance works) and those 2 minor UI cosmetic things, feel free to skip it and use the official release from above. No more updates planned until end of Jan 2022.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-03-02 20:56:29
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.6.0-beta.2

Quote
v0.6.0-beta.2 - Bugfixes and QOL changes Latest

Considered a beta due to a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1.

    UI-only playlists integration with filters.
    Playlist files are now automatically renamed when using foobar UI to rename a loaded playlist (only with no UUID option).
    Subsongs are now allowed in M3U and XSPF playlist formats. i.e. tracks from an ISO file may be referenced within a playlist; when loaded it will load only the selected track instead of the entire ISO file (bypassing Foobar2000's playlist limitations).
    Changes to backup to include also metadata files and Autoplaylists. Now also excludes non recognized files on tracked folder.
    Minor changes to UI, sorting icons, tooltip, etc.
    Improved UNIX compatibility.
    Multiple bugfixes: XSPF playlists with illegal chars, file deletion, extensions in upper case, etc.
    Updated the readme with installation instructions and a comprehensive playlist features table.

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
Title: Re: Playlist-Manager-SMP
Post by: Fundulcast on 2022-03-27 11:32:53
I've been using this plugin for several months now and really like the idea behind it! One problem I've found is that the GUI slows down considerably. Scrolling is jerky and laggy; clicking (right or left) lags by several milliseconds. When I first installed it was slightly slower than the main Foobar UI (I'm using Default), but now it is much slower than when I started using it.

Any way I can fix this?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-03-28 20:30:10
Without any more info I can't help (specific usage, config, videos, ...) . At first, it sounds like a problem on your side... check you are using latest version and you don't have other plugins slowing down your foobar installation.

There is nothing exotic on the gui (except the filtering), and can't experience any lag at all with a lot of playlists.
Scrolling works fine, the same than left and right menus or any other feature. Filtering is also pretty fast.

See this:
Spoiler (click to show/hide)

Title: Re: Playlist-Manager-SMP
Post by: Fundulcast on 2022-03-29 11:40:08
So a quick description: your video shos the red outline box right under the cursor as you move it. Mine has a second (or so) delay between mouse movement and red box movement, then another split second delay before the tooltip pops up. Left/right clicking produces another second-or-so delay from click to menu popup.

One thing I noticed from looking at console.log, is that I have many "[12:38:18 PM] Missing font: FontAwesome" lines, though I dont know what date they were written.

Playlist-Manager-SMP version: [0.5.0-beta.2](#050-beta2---2022-03-02)
SMP version: 1.6.1
Foobar Version: 1.6.7


I was looking around for Playlist-Manager-SMP settings, where are they located?

All Plugins:
Core (2021-08-09 13:53:58 UTC)
    foobar2000 core 1.6.7
foo_albumlist.dll (2021-08-09 13:53:28 UTC)
    Album List 1.6.7
foo_beefweb.dll (2021-10-24 19:44:04 UTC)
    Beefweb Remote Control 0.5
foo_bpm.dll (2014-06-25 01:36:50 UTC)
    BPM Analyser 0.2.4.6
foo_cdda.dll (2021-08-09 13:53:28 UTC)
    CD Audio Decoder 1.6.7
foo_converter.dll (2021-08-09 13:53:30 UTC)
    Converter 1.6.7
foo_dsp_eq.dll (2021-08-09 13:53:22 UTC)
    Equalizer 1.2.2
foo_dsp_std.dll (2021-08-09 13:53:28 UTC)
    Standard DSP Array 1.6.7
foo_dsp_utility.dll (2021-11-12 18:34:00 UTC)
    Utility DSP Array 1.2.4
foo_enhanced_spectrum_analyzer.dll (2018-05-26 15:34:04 UTC)
    Enhanced Spectrum analyzer 0.9.4.2
foo_fileops.dll (2021-08-09 13:53:30 UTC)
    File Operations 1.6.7
foo_freedb2.dll (2021-08-09 13:53:30 UTC)
    Online Tagger 0.8
foo_input_std.dll (2021-08-09 13:53:40 UTC)
    FFmpeg Decoders 4.3.1
    Standard Input Array 1.6.7
foo_playcount.dll (2020-07-01 22:00:50 UTC)
    Playback Statistics 3.0.4
foo_playlist_attributes.dll (2019-02-22 14:31:03 UTC)
    Playlist Attributes 0.5.5
foo_plorg.dll (2018-07-09 18:25:11 UTC)
    Playlist Organizer 2.6
foo_queuecontents.dll (2013-02-23 18:10:55 UTC)
    Queue Contents Editor 0.5.1
foo_rgscan.dll (2021-08-09 13:53:32 UTC)
    ReplayGain Scanner 1.6.7
foo_simplaylist.dll (2013-02-23 18:17:14 UTC)
    SimPlaylist 1.0
foo_spider_monkey_panel.dll (2022-01-14 03:29:00 UTC)
    Spider Monkey Panel 1.6.1
foo_ui_std.dll (2021-08-09 13:53:42 UTC)
    Default User Interface 1.6.7
foo_unpack.dll (2021-08-09 13:53:46 UTC)
    ZIP/GZIP/RAR/7-Zip Reader 1.6.7
foo_wave_minibar_mod.dll (2022-03-06 14:23:18 UTC)
    Waveform Minibar (mod) 1.0.46
foo_wave_seekbar.dll (2018-11-09 21:53:52 UTC)
    Waveform seekbar 0.2.45
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-03-29 13:01:46
You have skipped the installation instructions. Read the readme pdf or the txt file instructions... you are missing at least one dependency. Not sure if you have other installation errors.

Fix that and then report.
Title: Re: Playlist-Manager-SMP
Post by: Fundulcast on 2022-03-30 21:19:48
I think I got it. I hadn't installed the font. Though this was buried in the docs and not directly stated ("Playlist manager requires some fonts.")

But it seems much more responsive now! Thanks
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-03-31 09:22:25
Yep, I will update the github page too to make it more obvious. The pdf is right and up to date but the page was created months ago when the docs were not present yet and is outdated. That's my fault. I have also updated the txt installation notes.

Code: [Select]
INSTALLATION: 
-------------
[...]
Some scripts may require additional files or dependencies (like fonts). Check the 'INFO' section
for more details, the github page and the related pdf documentation at 'readmes' folder (if available).
[...]

Btw the problem was the console logging. Everytime the font was required and not found, the console was flooded with missing font messages (instead of only warning once) thus slowing down the entire UI. Installing the font solved the problem, but that's also a fault on the code. I have changed it to display a popup (so users are warned clearly) and log to console once per session  (so the script will continue working fine without UI slowdowns).

Thanks for the report :)

X
Title: Re: Playlist-Manager-SMP
Post by: Fundulcast on 2022-03-31 11:03:22
Makes sense! Thanks for taking the time to fix the root issues! (docs, logging)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-05-04 19:28:13
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.5

Quote
v0.5.0-beta.5 - Bugfixes and QOL changes
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    End, Home, Av Pag and Re Pag can now be used to scroll on the UI.
    Better error handling while setting tags, category, lock status, renaming, ... with backups of the original playlist before editing.
    Multiple bugfixes: renaming with special chars, XSP playlists checking not working (size, duration), external items not working for tracks in ISO files ...

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md

Previous changes (beta 3 & 4)
Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-05-23 20:46:11
.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-05-23 20:50:24
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.6
Quote

v0.5.0-beta.6 - Bugfixes and accesibility changes Latest
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    UI presets to easily switch all the colors on the UI at the same time to pre-defined sets.
    Improved accesibility with presets for Color Blindness (deuteranopia) and Grey Scale. Every playlist type now has an specific icon associated.
    Icon at header now opens the playlists folder.
    New option to darken/lighten background of alternate rows on the list.
    Categories and tags sub-menu has been reworked todisplays all existing categories to easily reuse them.
    Multiple minor improvements on UI colors, sizing, text displaying of popups, cursor, etc.
    Fixed crash when cloning playlist to UI.

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md

Have also updated the wiki on github.

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-05-24 17:11:50
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.7

Quote
v0.5.0-beta.7 - Hotfix
There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    Panel was not being shown properly on startup, required manual resizing after foobar init to work as intended (or manually reloading the panel).

See v0.5.0-beta.6: https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.6
See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-05-29 21:32:35
Just a quick update, thanks to a feature on the last SMP update, I can fully integrate all my scripts with the Http controller (using main menus). For ex. displaying all playlist from any Playlist Manager panel and load them on demand using the online controlle (this is just a prototype for the UI):

Spoiler (click to show/hide)

When ready I will update ajquery-xxx for it
https://hydrogenaud.io/index.php?topic=62218.msg1000180#msg1000180
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-22 05:28:25
Hi @regor

I'm trying to install your scripts, and I'm founding some troubles.

I'm in foobar2000 v1.6.11, Spider Monkey Panel v1.6.2-dev+7c0928bf and Playlist Manager v0.5.0 by XXX), running in ubuntu 22.04 through wine 7.11-devel

The first one was with the Segoe UI font. The script crash with "N is not defined" or similar if the default wine font is something different from Segoe UI (in my case was Noto Sans). Changing the default wine font to Segoe UI avoid this crash.

After that changes in the next foobar restart the script seems to go futher and the console reurns

Code: [Select]
Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1}: Playlist Manager v0.5.0 by XXX): initialized in 1943 ms
Startup time : 0:10.663586
Caching library paths 10%.
Caching library paths 20%.
Caching library paths 30%.
Caching library paths 40%.
Caching library paths 50%.
Caching library paths 60%.
Caching library paths 70%.
Caching library paths 80%.
Caching library paths 90%.
Caching library paths 100%.
precacheLibraryPaths: got paths from 73628 items.

But when I select the script tab it crashes again with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1}: Playlist Manager v0.5.0 by XXX)
this.g_theme is null

File: buttons_panel_xxx.js
Line: 119, Column: 5
Stack trace:
  themedButton/this.draw@buttons_panel_xxx.js:119:5
  drawAllButtons@buttons_panel_xxx.js:165:30
  on_paint_buttn@buttons_panel_xxx.js:186:2
  on_paint@playlist_manager.js:251:2

Did you know what could be the problem?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 08:13:18
v0.5.0-beta.8?

Segoe UI is the default font for the tooltip AND the fallback font when others fail. I don't really get why it crashes (?) if the font is installed on Wine (no matter if it's the default one or not). Also if doesn't crash on windows if the font is missing. Did you change the default font or installed Segoe UI? Maybe it was not installed and was added when setting it as default? Could you revert back the default one and check? Can you provide the crash message?

The last part may be related to a wine thing, but you are the first reporting problems with it on wine (?) and nothing has changed related to that on months. I will definitely try to find what's going on but it will take some time.

I will probably need some help with that. Would you mind doing some testing with alt. files?
(could you check if my other scripts work for u? World map, playlist tools)
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-22 09:51:56
v0.5.0-beta.8?

Segoe UI is the default font for the tooltip AND the fallback font when others fail. I don't really get why it crashes (?) if the font is installed on Wine (no matter if it's the default one or not). Also if doesn't crash on windows if the font is missing. Did you change the default font or installed Segoe UI? Maybe it was not installed and was added when setting it as default? Could you revert back the default one and check? Can you provide the crash message?

The last part may be related to a wine thing, but you are the first reporting problems with it on wine (?) and nothing has changed related to that on months. I will definitely try to find what's going on but it will take some time.

I will probably need some help with that. Would you mind doing some testing with alt. files?
(could you check if my other scripts work for u? World map, playlist tools)

the version is Playlist Manager v0.5.0-beta8 by XXX). From git clone.

The font was installed before. Other scripts like last.fm charts or bio print in console

Code: [Select]
Last.fm Similar Artists + User Charts + Recent Tracks: Unable to use default font. Using Segoe UI instead.

when the default font is not Segoe UI.

But Playlist Manager crashes with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1}: Playlist Manager v0.5.0-beta8 by XXX)
N is not defined

File: playlist_manager_panel.js
Line: 48, Column: 4
Stack trace:
  _panel/this.fontChanged@playlist_manager_panel.js:48:4
  _panel@playlist_manager_panel.js:112:7
  @playlist_manager.js:155:13

World map work without problem, but playlist tools crash the program completely when I tried to add it.

Code: [Select]
Illegal operation:
Code: E06D7363h, flags: 00000001h, address: 7B0122E6h
Additional parameters: 19930520h 0021C228h 06B5714Ch
Message: argument not found
Last win32 error: 3

Call path:
entry=>app_mainloop

Code bytes (7B0122E6h):
7B0122A6h:  83 EC 6C 8B 59 04 8B 31 C7 45 A0 00 00 00 00 8B
7B0122B6h:  41 08 8B 51 0C C7 45 A4 90 22 01 7B 83 E3 01 89
7B0122C6h:  75 98 89 5D 9C 85 C0 74 04 85 D2 75 2D C7 45 A8
7B0122D6h:  00 00 00 00 8D 45 98 89 04 24 FF 15 40 9B 0D 7B
7B0122E6h:  83 EC 04 8D 65 F4 59 5B 5E 5D 8D 61 FC C2 10 00
7B0122F6h:  8D B4 26 00 00 00 00 8D 76 00 83 F8 0F B9 0F 00
7B012306h:  00 00 0F 47 C1 89 45 A8 C1 E0 02 8B 4C 02 FC 89
7B012316h:  4C 05 A8 83 E8 01 83 F8 04 72 B9 83 E0 FC 31 C9

Stack (0021C164h):
0021C144h:  665C6E69 61626F6F 30303272 72705C30
0021C154h:  6C69666F 0021C1D8 7B0122E6 0021C170
0021C164h:  00000000 0021C190 00000013 E06D7363
0021C174h:  00000001 00000000 7B0122E6 00000003
0021C184h:  19930520 0021C228 06B5714C 026A0000
0021C194h:  00000000 00000013 70B73406 026A0000
0021C1A4h:  00000000 0021C1CC 70B74177 0073006A
0021C1B4h:  23BA0000 0021C1DC 70B74177 0021C210
0021C1C4h:  00000013 00000013 0021C1F0 19930520
0021C1D4h:  06B23A81 0021C218 06AC67AD 0021C1F0
0021C1E4h:  06AC7ED7 0021C218 06AC67AD E06D7363
0021C1F4h:  00000001 00000003 0021C20C 0021C518
0021C204h:  0021C2CC 0021C228 19930520 0021C228
0021C214h:  06B5714C 0021C258 0694E984 0021C228
0021C224h:  06B5714C 06B12BA8 4679C800 00000001
0021C234h:  06B05114 00000000 00000000 06B11BC0
0021C244h:  0694EA01 0121C2C8 0021C57C 06AEB17D
0021C254h:  FFFFFFFF 0021C2C0 0694EA0D 06B23A80
0021C264h:  06B23A83 0021C310 0021C2C0 0000000F
0021C274h:  00000000 0021C5B8 0000003A 0021C310

Registers:
EAX: 0021C170, EBX: 0021C228, ECX: 00000008, EDX: 0021C20C
ESI: E06D7363, EDI: 06B5714C, EBP: 0021C1D8, ESP: 0021C164

Crash location:
Module: kernelbase
Offset: 122E6h
Symbol: "RaiseException" (+51h)

Loaded modules:
explorerframe                    loaded at 676C0000h - 6771F000h
cryptnet                         loaded at 0F230000h - 0F273000h
psapi                            loaded at 67840000h - 6784F000h
rsaenh                           loaded at 6FE40000h - 6FED7000h
schannel                         loaded at 6DD00000h - 6DD1C000h
msxml                            loaded at 71040000h - 7105C000h
msxml3                           loaded at 41340000h - 41D25000h
msctf                            loaded at 6F900000h - 6F9F3000h
wintrust                         loaded at 6F4C0000h - 6F560000h
setupapi                         loaded at 6BCC0000h - 6BE61000h
userenv                          loaded at 0EFC0000h - 0EFE3000h
lgpllibs                         loaded at 0F9C0000h - 0FAD3000h
mozglue                          loaded at 0F8C0000h - 0F9BD000h
nss3                             loaded at 0F6B0000h - 0F8BF000h
xul                              loaded at 2D5A0000h - 32BF4000h
mshtml                           loaded at 24020000h - 25596000h
scrrun                           loaded at 0EF90000h - 0EFB6000h
wshom                            loaded at 0EF70000h - 0EF8C000h
atlthunk                         loaded at 66540000h - 66554000h
foo_dsp_sqrcomp                  loaded at 0BCE0000h - 0BCEE000h
foo_dsp_vocal_exciter            loaded at 0BCC0000h - 0BCD4000h
foo_enhanced_playcount           loaded at 0BC80000h - 0BCB5000h
foo_ui_std                       loaded at 0AB70000h - 0AC79000h
foo_runcmd                       loaded at 0A930000h - 0A963000h
foo_uie_albumlist                loaded at 0A8B0000h - 0A923000h
avutil-fb2k-56                   loaded at 0A600000h - 0A8A6000h
avcodec-fb2k-58                  loaded at 0A440000h - 0A5FB000h
foo_input_std                    loaded at 0A2E0000h - 0A439000h
foo_rgscan                       loaded at 0A290000h - 0A2DA000h
foo_dsp_replaygain               loaded at 0A270000h - 0A283000h
foo_simplaylist                  loaded at 09F20000h - 0A06C000h
foo_texttools                    loaded at 09CE0000h - 09D14000h
foo_textdisplay                  loaded at 09A90000h - 09ADB000h
foo_dsp_std                      loaded at 09A50000h - 09A86000h
foo_stop_after_queue             loaded at 09A40000h - 09A4D000h
foo_freedb2                      loaded at 09A10000h - 09A40000h
foo_unpack                       loaded at 099A0000h - 09A0E000h
foo_musical_spectrum             loaded at 09780000h - 0979C000h
foo_uie_typefind                 loaded at 09750000h - 09773000h
foo_dsp_eq                       loaded at 09710000h - 0974D000h
foo_simplaylist_manager          loaded at 09430000h - 09508000h
foo_quicksearch                  loaded at 091D0000h - 09227000h
foo_vis_vumeter                  loaded at 08D20000h - 08DC5000h
foo_uie_console                  loaded at 08CE0000h - 08D17000h
foo_facets                       loaded at 08920000h - 08AD5000h
foo_lrc_metalarchives            loaded at 08880000h - 08918000h
foo_cdda                         loaded at 08840000h - 08875000h
fooid                            loaded at 08420000h - 0843A000h
foo_biometric                    loaded at 083E0000h - 08417000h
foo_musicbrainz                  loaded at 08310000h - 083D3000h
foo_enhanced_spectrum_analyzer   loaded at 082C0000h - 08303000h
riched20                         loaded at 7AC00000h - 7AE2A000h
msftedit                         loaded at 08280000h - 082B7000h
wsock32                          loaded at 69180000h - 691A5000h
nspr4                            loaded at 08040000h - 08071000h
mozjs-68                         loaded at 06B90000h - 08038000h
foo_spider_monkey_panel          loaded at 06920000h - 06B89000h
foo_run                          loaded at 060E0000h - 0611A000h
foo_albumlist                    loaded at 06090000h - 060D7000h
foo_playcount                    loaded at 06060000h - 06087000h
urlmon                           loaded at 05DC0000h - 06054000h
propsys                          loaded at 69940000h - 699AA000h
windowscodecs                    loaded at 056C0000h - 05DC0000h
usp10                            loaded at 056B0000h - 056B2000h
dwmapi                           loaded at 6EC40000h - 6EC5C000h
foo_ui_columns                   loaded at 053B0000h - 056AC000h
foo_multisource                  loaded at 04990000h - 04B20000h
foo_input_monkey                 loaded at 04950000h - 0498A000h
mpr                              loaded at 70940000h - 70994000h
wininet                          loaded at 61940000h - 61B3F000h
foo_uie_lyrics3                  loaded at 04890000h - 0494B000h
foo_converter                    loaded at 04400000h - 0448A000h
foo_dsp_dynamics                 loaded at 043F0000h - 04400000h
foo_scrobble                     loaded at 04320000h - 043EC000h
foo_discogger                    loaded at 04160000h - 0431A000h
foo_masstag                      loaded at 04120000h - 0415D000h
foo_wave_minibar_mod             loaded at 03E70000h - 03F11000h
foo_dsp_dolbyhp                  loaded at 03C40000h - 03C64000h
foo_jesus                        loaded at 03A20000h - 03A3A000h
foo_stnaa                        loaded at 039F0000h - 03A1D000h
foo_r128norm                     loaded at 037C0000h - 037E8000h
foo_fileops                      loaded at 03780000h - 037C0000h
nsi                              loaded at 6F480000h - 6F49B000h
iphlpapi                         loaded at 61500000h - 6157A000h
dnsapi                           loaded at 6E4C0000h - 6E4FE000h
netapi32                         loaded at 688C0000h - 6894F000h
msv1_0                           loaded at 6D880000h - 6D8B5000h
kerberos                         loaded at 65F40000h - 65F65000h
concrt140                        loaded at 02D10000h - 02D7E000h
winex11                          loaded at 02A60000h - 02AD7000h
secur32                          loaded at 02020000h - 020AD000h
ws2_32                           loaded at 6D780000h - 6D808000h
jsproxy                          loaded at 68080000h - 680C4000h
winhttp                          loaded at 69600000h - 69700000h
oleacc                           loaded at 637C0000h - 63881000h
bcrypt                           loaded at 66240000h - 66283000h
crypt32                          loaded at 6E8C0000h - 6EB95000h
gdiplus                          loaded at 01DB0000h - 02012000h
msimg32                          loaded at 70E80000h - 70E94000h
msvcr120                         loaded at 67340000h - 6763A000h
msvcp140                         loaded at 62300000h - 625D8000h
winspool                         loaded at 663C0000h - 66472000h
comdlg32                         loaded at 01B90000h - 01DA7000h
dbghelp                          loaded at 6FA80000h - 6FCD2000h
imagehlp                         loaded at 6DB40000h - 6DB72000h
shared                           loaded at 01B60000h - 01B81000h
vcruntime140                     loaded at 70240000h - 70255000h
zlib1                            loaded at 10000000h - 10017000h
oleaut32                         loaded at 64EC0000h - 652BB000h
shell32                          loaded at 00EB0000h - 01B58000h
uxtheme                          loaded at 68700000h - 68791000h
shcore                           loaded at 63BC0000h - 63C05000h
shlwapi                          loaded at 64A40000h - 64B2A000h
rpcrt4                           loaded at 62FC0000h - 631E2000h
combase                          loaded at 68500000h - 68640000h
ole32                            loaded at 00A40000h - 00EA9000h
msacm32                          loaded at 6A040000h - 6A0A2000h
winmm                            loaded at 008C0000h - 00A3C000h
imm32                            loaded at 71200000h - 71255000h
win32u                           loaded at 66B00000h - 66B69000h
version                          loaded at 63480000h - 6349B000h
user32                           loaded at 6ED00000h - 6F25B000h
gdi32                            loaded at 6C9C0000h - 6CBE0000h
ucrtbase                         loaded at 70B40000h - 70E13000h
sechost                          loaded at 6BC00000h - 6BC99000h
msvcrt                           loaded at 6A280000h - 6A4F4000h
advapi32                         loaded at 61740000h - 61836000h
comctl32                         loaded at 6CC40000h - 6D0BC000h
kernelbase                       loaded at 7B000000h - 7B4D2000h
kernel32                         loaded at 7B600000h - 7B757000h
ntdll                            loaded at 7BC00000h - 7BEAB000h
foobar2000                       loaded at 00400000h - 0067A000h

One thing I noticed:

To do this test i split the tab in two SMP panels to add playlist tools. This new panel crashes even empty with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({245526F8-C8F7-4BEE-B306-90AD014DD52D})
GdiDrawText failed:
font argument is null

File: <main>
Line: 65, Column: 8
Stack trace:
  on_paint@:65:8

This means that the bug is present in Spider Monkey Panel v1.6.2-dev+7c0928bf too?

Setting the default wine font to Segoe UI works as intended displaying the ""click here to open the editor".

The playlist manager crashes with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1}: Playlist Manager v0.5.0-beta8 by XXX)
this.g_theme is null

File: buttons_panel_xxx.js
Line: 119, Column: 5
Stack trace:
  themedButton/this.draw@buttons_panel_xxx.js:119:5
  drawAllButtons@buttons_panel_xxx.js:165:30
  on_paint_buttn@buttons_panel_xxx.js:186:2
  on_paint@playlist_manager.js:263:2

and buttons_playlist_tools.js crash the player.



Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 12:38:55
v0.5.0-beta.8?

Segoe UI is the default font for the tooltip AND the fallback font when others fail. I don't really get why it crashes (?) if the font is installed on Wine (no matter if it's the default one or not). Also if doesn't crash on windows if the font is missing. Did you change the default font or installed Segoe UI? Maybe it was not installed and was added when setting it as default? Could you revert back the default one and check? Can you provide the crash message?

The last part may be related to a wine thing, but you are the first reporting problems with it on wine (?) and nothing has changed related to that on months. I will definitely try to find what's going on but it will take some time.

I will probably need some help with that. Would you mind doing some testing with alt. files?
(could you check if my other scripts work for u? World map, playlist tools)

the version is Playlist Manager v0.5.0-beta8 by XXX). From git clone.

The font was installed before. Other scripts like last.fm charts or bio print in console

Code: [Select]
Last.fm Similar Artists + User Charts + Recent Tracks: Unable to use default font. Using Segoe UI instead.

when the default font is not Segoe UI.

But Playlist Manager crashes with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1}: Playlist Manager v0.5.0-beta8 by XXX)
N is not defined

File: playlist_manager_panel.js
Line: 48, Column: 4
Stack trace:
  _panel/this.fontChanged@playlist_manager_panel.js:48:4
  _panel@playlist_manager_panel.js:112:7
  @playlist_manager.js:155:13

That's because I'm stupid XD

Line 48 at that file 'playlist_manager_panel.js'
Code: [Select]
console.log(N, 'Unable to use default font. Using', name, 'instead.');

Remove N,
Code: [Select]
console.log('Unable to use default font. Using', name, 'instead.');

It's a typo so it crashes. And it only happens when you are missing some fonts (your situation), so I have missed it.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 12:54:56
Code: [Select]
Illegal operation:
Code: E06D7363h, flags: 00000001h, address: 7B0122E6h
Additional parameters: 19930520h 0021C228h 06B5714Ch
Message: argument not found
Last win32 error: 3

Call path:
entry=>app_mainloop

Code bytes (7B0122E6h):
7B0122A6h:  83 EC 6C 8B 59 04 8B 31 C7 45 A0 00 00 00 00 8B
7B0122B6h:  41 08 8B 51 0C C7 45 A4 90 22 01 7B 83 E3 01 89
7B0122C6h:  75 98 89 5D 9C 85 C0 74 04 85 D2 75 2D C7 45 A8
7B0122D6h:  00 00 00 00 8D 45 98 89 04 24 FF 15 40 9B 0D 7B
7B0122E6h:  83 EC 04 8D 65 F4 59 5B 5E 5D 8D 61 FC C2 10 00
7B0122F6h:  8D B4 26 00 00 00 00 8D 76 00 83 F8 0F B9 0F 00
7B012306h:  00 00 0F 47 C1 89 45 A8 C1 E0 02 8B 4C 02 FC 89
7B012316h:  4C 05 A8 83 E8 01 83 F8 04 72 B9 83 E0 FC 31 C9

Stack (0021C164h):
0021C144h:  665C6E69 61626F6F 30303272 72705C30
0021C154h:  6C69666F 0021C1D8 7B0122E6 0021C170
0021C164h:  00000000 0021C190 00000013 E06D7363
0021C174h:  00000001 00000000 7B0122E6 00000003
0021C184h:  19930520 0021C228 06B5714C 026A0000
0021C194h:  00000000 00000013 70B73406 026A0000
0021C1A4h:  00000000 0021C1CC 70B74177 0073006A
0021C1B4h:  23BA0000 0021C1DC 70B74177 0021C210
0021C1C4h:  00000013 00000013 0021C1F0 19930520
0021C1D4h:  06B23A81 0021C218 06AC67AD 0021C1F0
0021C1E4h:  06AC7ED7 0021C218 06AC67AD E06D7363
0021C1F4h:  00000001 00000003 0021C20C 0021C518
0021C204h:  0021C2CC 0021C228 19930520 0021C228
0021C214h:  06B5714C 0021C258 0694E984 0021C228
0021C224h:  06B5714C 06B12BA8 4679C800 00000001
0021C234h:  06B05114 00000000 00000000 06B11BC0
0021C244h:  0694EA01 0121C2C8 0021C57C 06AEB17D
0021C254h:  FFFFFFFF 0021C2C0 0694EA0D 06B23A80
0021C264h:  06B23A83 0021C310 0021C2C0 0000000F
0021C274h:  00000000 0021C5B8 0000003A 0021C310

Registers:
EAX: 0021C170, EBX: 0021C228, ECX: 00000008, EDX: 0021C20C
ESI: E06D7363, EDI: 06B5714C, EBP: 0021C1D8, ESP: 0021C164

Crash location:
Module: kernelbase
Offset: 122E6h
Symbol: "RaiseException" (+51h)

Loaded modules:
explorerframe                    loaded at 676C0000h - 6771F000h
cryptnet                         loaded at 0F230000h - 0F273000h
psapi                            loaded at 67840000h - 6784F000h
rsaenh                           loaded at 6FE40000h - 6FED7000h
schannel                         loaded at 6DD00000h - 6DD1C000h
msxml                            loaded at 71040000h - 7105C000h
msxml3                           loaded at 41340000h - 41D25000h
msctf                            loaded at 6F900000h - 6F9F3000h
wintrust                         loaded at 6F4C0000h - 6F560000h
setupapi                         loaded at 6BCC0000h - 6BE61000h
userenv                          loaded at 0EFC0000h - 0EFE3000h
lgpllibs                         loaded at 0F9C0000h - 0FAD3000h
mozglue                          loaded at 0F8C0000h - 0F9BD000h
nss3                             loaded at 0F6B0000h - 0F8BF000h
xul                              loaded at 2D5A0000h - 32BF4000h
mshtml                           loaded at 24020000h - 25596000h
scrrun                           loaded at 0EF90000h - 0EFB6000h
wshom                            loaded at 0EF70000h - 0EF8C000h
atlthunk                         loaded at 66540000h - 66554000h
foo_dsp_sqrcomp                  loaded at 0BCE0000h - 0BCEE000h
foo_dsp_vocal_exciter            loaded at 0BCC0000h - 0BCD4000h
foo_enhanced_playcount           loaded at 0BC80000h - 0BCB5000h
foo_ui_std                       loaded at 0AB70000h - 0AC79000h
foo_runcmd                       loaded at 0A930000h - 0A963000h
foo_uie_albumlist                loaded at 0A8B0000h - 0A923000h
avutil-fb2k-56                   loaded at 0A600000h - 0A8A6000h
avcodec-fb2k-58                  loaded at 0A440000h - 0A5FB000h
foo_input_std                    loaded at 0A2E0000h - 0A439000h
foo_rgscan                       loaded at 0A290000h - 0A2DA000h
foo_dsp_replaygain               loaded at 0A270000h - 0A283000h
foo_simplaylist                  loaded at 09F20000h - 0A06C000h
foo_texttools                    loaded at 09CE0000h - 09D14000h
foo_textdisplay                  loaded at 09A90000h - 09ADB000h
foo_dsp_std                      loaded at 09A50000h - 09A86000h
foo_stop_after_queue             loaded at 09A40000h - 09A4D000h
foo_freedb2                      loaded at 09A10000h - 09A40000h
foo_unpack                       loaded at 099A0000h - 09A0E000h
foo_musical_spectrum             loaded at 09780000h - 0979C000h
foo_uie_typefind                 loaded at 09750000h - 09773000h
foo_dsp_eq                       loaded at 09710000h - 0974D000h
foo_simplaylist_manager          loaded at 09430000h - 09508000h
foo_quicksearch                  loaded at 091D0000h - 09227000h
foo_vis_vumeter                  loaded at 08D20000h - 08DC5000h
foo_uie_console                  loaded at 08CE0000h - 08D17000h
foo_facets                       loaded at 08920000h - 08AD5000h
foo_lrc_metalarchives            loaded at 08880000h - 08918000h
foo_cdda                         loaded at 08840000h - 08875000h
fooid                            loaded at 08420000h - 0843A000h
foo_biometric                    loaded at 083E0000h - 08417000h
foo_musicbrainz                  loaded at 08310000h - 083D3000h
foo_enhanced_spectrum_analyzer   loaded at 082C0000h - 08303000h
riched20                         loaded at 7AC00000h - 7AE2A000h
msftedit                         loaded at 08280000h - 082B7000h
wsock32                          loaded at 69180000h - 691A5000h
nspr4                            loaded at 08040000h - 08071000h
mozjs-68                         loaded at 06B90000h - 08038000h
foo_spider_monkey_panel          loaded at 06920000h - 06B89000h
foo_run                          loaded at 060E0000h - 0611A000h
foo_albumlist                    loaded at 06090000h - 060D7000h
foo_playcount                    loaded at 06060000h - 06087000h
urlmon                           loaded at 05DC0000h - 06054000h
propsys                          loaded at 69940000h - 699AA000h
windowscodecs                    loaded at 056C0000h - 05DC0000h
usp10                            loaded at 056B0000h - 056B2000h
dwmapi                           loaded at 6EC40000h - 6EC5C000h
foo_ui_columns                   loaded at 053B0000h - 056AC000h
foo_multisource                  loaded at 04990000h - 04B20000h
foo_input_monkey                 loaded at 04950000h - 0498A000h
mpr                              loaded at 70940000h - 70994000h
wininet                          loaded at 61940000h - 61B3F000h
foo_uie_lyrics3                  loaded at 04890000h - 0494B000h
foo_converter                    loaded at 04400000h - 0448A000h
foo_dsp_dynamics                 loaded at 043F0000h - 04400000h
foo_scrobble                     loaded at 04320000h - 043EC000h
foo_discogger                    loaded at 04160000h - 0431A000h
foo_masstag                      loaded at 04120000h - 0415D000h
foo_wave_minibar_mod             loaded at 03E70000h - 03F11000h
foo_dsp_dolbyhp                  loaded at 03C40000h - 03C64000h
foo_jesus                        loaded at 03A20000h - 03A3A000h
foo_stnaa                        loaded at 039F0000h - 03A1D000h
foo_r128norm                     loaded at 037C0000h - 037E8000h
foo_fileops                      loaded at 03780000h - 037C0000h
nsi                              loaded at 6F480000h - 6F49B000h
iphlpapi                         loaded at 61500000h - 6157A000h
dnsapi                           loaded at 6E4C0000h - 6E4FE000h
netapi32                         loaded at 688C0000h - 6894F000h
msv1_0                           loaded at 6D880000h - 6D8B5000h
kerberos                         loaded at 65F40000h - 65F65000h
concrt140                        loaded at 02D10000h - 02D7E000h
winex11                          loaded at 02A60000h - 02AD7000h
secur32                          loaded at 02020000h - 020AD000h
ws2_32                           loaded at 6D780000h - 6D808000h
jsproxy                          loaded at 68080000h - 680C4000h
winhttp                          loaded at 69600000h - 69700000h
oleacc                           loaded at 637C0000h - 63881000h
bcrypt                           loaded at 66240000h - 66283000h
crypt32                          loaded at 6E8C0000h - 6EB95000h
gdiplus                          loaded at 01DB0000h - 02012000h
msimg32                          loaded at 70E80000h - 70E94000h
msvcr120                         loaded at 67340000h - 6763A000h
msvcp140                         loaded at 62300000h - 625D8000h
winspool                         loaded at 663C0000h - 66472000h
comdlg32                         loaded at 01B90000h - 01DA7000h
dbghelp                          loaded at 6FA80000h - 6FCD2000h
imagehlp                         loaded at 6DB40000h - 6DB72000h
shared                           loaded at 01B60000h - 01B81000h
vcruntime140                     loaded at 70240000h - 70255000h
zlib1                            loaded at 10000000h - 10017000h
oleaut32                         loaded at 64EC0000h - 652BB000h
shell32                          loaded at 00EB0000h - 01B58000h
uxtheme                          loaded at 68700000h - 68791000h
shcore                           loaded at 63BC0000h - 63C05000h
shlwapi                          loaded at 64A40000h - 64B2A000h
rpcrt4                           loaded at 62FC0000h - 631E2000h
combase                          loaded at 68500000h - 68640000h
ole32                            loaded at 00A40000h - 00EA9000h
msacm32                          loaded at 6A040000h - 6A0A2000h
winmm                            loaded at 008C0000h - 00A3C000h
imm32                            loaded at 71200000h - 71255000h
win32u                           loaded at 66B00000h - 66B69000h
version                          loaded at 63480000h - 6349B000h
user32                           loaded at 6ED00000h - 6F25B000h
gdi32                            loaded at 6C9C0000h - 6CBE0000h
ucrtbase                         loaded at 70B40000h - 70E13000h
sechost                          loaded at 6BC00000h - 6BC99000h
msvcrt                           loaded at 6A280000h - 6A4F4000h
advapi32                         loaded at 61740000h - 61836000h
comctl32                         loaded at 6CC40000h - 6D0BC000h
kernelbase                       loaded at 7B000000h - 7B4D2000h
kernel32                         loaded at 7B600000h - 7B757000h
ntdll                            loaded at 7BC00000h - 7BEAB000h
foobar2000                       loaded at 00400000h - 0067A000h

One thing I noticed:

To do this test i split the tab in two SMP panels to add playlist tools. This new panel crashes even empty with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({245526F8-C8F7-4BEE-B306-90AD014DD52D})
GdiDrawText failed:
font argument is null

File: <main>
Line: 65, Column: 8
Stack trace:
  on_paint@:65:8

This means that the bug is present in Spider Monkey Panel v1.6.2-dev+7c0928bf too?

Setting the default wine font to Segoe UI works as intended displaying the ""click here to open the editor".

The playlist manager crashes with

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1}: Playlist Manager v0.5.0-beta8 by XXX)
this.g_theme is null

File: buttons_panel_xxx.js
Line: 119, Column: 5
Stack trace:
  themedButton/this.draw@buttons_panel_xxx.js:119:5
  drawAllButtons@buttons_panel_xxx.js:165:30
  on_paint_buttn@buttons_panel_xxx.js:186:2
  on_paint@playlist_manager.js:263:2

and buttons_playlist_tools.js crash the player.
Player crashes are a SMP thing, an script should only crash the panel in most cases. Also your report points to some bug within SMP too. There are a few things going there yep, @TheQwertiest will have to check them. Could you report it at his github? (your las crash with missing fonts on empty panel, etc.)

The "this.g_theme" thing may be tested though. I was expecting "window.CreateThemeManager('Button');" to be available on wine. Let me write you a simple script test to be sure.

Add this to any panel and let us know where it fails, if it fails.
Code: [Select]
"use strict";

const button = window.CreateThemeManager('Button');
const gFont = gdi.Font('Segoe UI', 50);

function on_paint(gr) {
    if (!window.ID) {return;}
    if (!window.Width || !window.Height) {return;}
    button.SetPartAndStateID(1, 1);
    button.DrawThemeBackground(gr, 0, 0, window.Width, window.Height);
    gr.GdiDrawText('My button', gFont, 0, 0, 0, window.Width, window.Height, 0x00000001|0x00000004|0x00000400);
}
You should see something like this:
X
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-22 13:36:01
Player crashes are a SMP thing, an script should only crash the panel in most cases. Also your report points to some bug within SMP too. There are a few things going there yep, @TheQwertiest will have to check them. Could you report it at his github? (your las crash with missing fonts on empty panel, etc.)

I don't have an account in github, but when I'll see him around here, I tell him.

The "this.g_theme" thing may be tested though. I was expecting "window.CreateThemeManager('Button');" to be available on wine. Let me write you a simple script test to be sure.

Add this to any panel and let us know where it fails, if it fails.
Code: [Select]
"use strict";

const button = window.CreateThemeManager('Button');
const gFont = gdi.Font('Segoe UI', 50);

function on_paint(gr) {
    if (!window.ID) {return;}
    if (!window.Width || !window.Height) {return;}
    button.SetPartAndStateID(1, 1);
    button.DrawThemeBackground(gr, 0, 0, window.Width, window.Height);
    gr.GdiDrawText('My button', gFont, 0, 0, 0, window.Width, window.Height, 0x00000001|0x00000004|0x00000400);
}
You should see something like this:
[attach type=thumb]22643[/attach]

No luck.

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({89CB6BF3-C1B2-4C9A-8872-E14774FED3A1})
button is null

File: test.js
Line: 9, Column: 5
Stack trace:
  on_paint@test.js:9:5
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 13:57:09
No problem, I will create the issue there then pointing to this thread.

And yep, obviously the problem is CreateThemeManage code. I have zero knowledge about it so i have no idea if
- It's a problem introduced on a recent wine version.
- It has never been supported on wine (don't think so since there have been users using my scripts on wine fine).
- It's a SMP thing on wine.

Supposing it's the second one, I could replace all the theme code with a button entirely done with javascript + SMP UI methods. It would take me some days though.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 14:07:20
Meanwhile you may use this file with all buttons disabled. Obviously you will miss the sorting and filtering options but at least you may use the manager.

EDIT: reuploaded the file, I missed one thing.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-22 14:45:01
I tried with wine 6.0.4, and it crashes in the same way. Maybe they are using some winetricks verb....

The new file loads without problem (nice animation btw)

Man, I have to say that look a bit intimidating, there are a LOT of things  ;D
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 15:04:06
I tried with wine 6.0.4, and it crashes in the same way. Maybe they are using some winetricks verb....

The new file loads without problem (nice animation btw)

Man, I have to say that look a bit intimidating, there are a LOT of things  ;D

Yep. There is a pdf though.

I have spent lot of time explaining it all, specially the advanced features :)

About the wine thing, no idea... seems to me strange there has been zero reports about it on the past though. Specially when some of the SMP samples use buttons too XD
We also had a wine topic testing multiple things, and there was no report about that. Neither at the docs
https://theqwertiest.github.io/foo_spider_monkey_panel/docs/faq/wine/
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-22 16:22:26

Yep. There is a pdf though.

I have spent lot of time explaining it all, specially the advanced features :)

About the wine thing, no idea... seems to me strange there has been zero reports about it on the past though. Specially when some of the SMP samples use buttons too XD
We also had a wine topic testing multiple things, and there was no report about that. Neither at the docs
https://theqwertiest.github.io/foo_spider_monkey_panel/docs/faq/wine/

I must confess that I never tried all of them, but for science, I load them. Minus basic/HtmlDialogWithCheckBox.js that crash trying to open (known issue in wine) all works well.  :o
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 16:55:31
Basic\Simple themed button can not work since that's essentially the thing that crashes for u (?)
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-22 17:45:27
Basic\Simple themed button can not work since that's essentially the thing that crashes for u (?)

Clearly I didn't load ALL.....

That doesn't work  ;D
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-22 19:18:20
Well, I overestimated the work to replace the themed buttons, try this:

playlist_manager.js: is the original one, the same on github (remember you now have a file with disabled buttons)
playlist_manager_buttons.js: has a small bugfix for some text I found while testing this (not related at all to this but well..)
buttons_panel_xxx.js: check your console. it will say "window.CreateThemeManager('Button') failed, using experimental buttons"

And esentially you will see something like this:
X

PD: I will port this to Playlist Tools too, but it will take me some more time. Also the fallback SMP buttons don't follow the UI theme, so they are always grey.
PD2: Bugs:
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/172
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/173
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2022-06-23 00:44:18
That was fast!

I make some playlists and play around a bit, and seems to work well.


Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-06-23 08:24:39
Glad it finally works :)

Try toying with it first, just to be sure all functions (deleting, adding tracks, editing metadata) work fine on Wine before working with important files.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-08-05 18:17:06
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.8
Quote
v0.5.0-beta.8 - Improved wine compatibility, online controller, etc.
@regorxxx regorxxx released this in 1 minute
v0.5.0-beta.8
77369a7

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    Themed buttons are replaced with manually drawn buttons when the first method fails (on Wine for ex.).
    Editable playlist icons.
    SMP Dynamic menus to be used with CMD, keyboard shortcuts, etc.
    Online controllers integration: full integration with foo_httpcontrol has been added when using the preset ajquery-xxx.
    Update for compatibility with latest Playlist Tools v3.0.0-beta.8
    Minor improvements on readmes, helpers, temp files, ...
    Fixed multiple crashes on wine.
    Fixed errors on Smart Playlist: values with '-', '+' or '<' were not recognized properly in queries.
    Multiple UI fixes.

buttons_wine

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-08-09 16:26:34
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.9
Quote
v0.5.0-beta.9 - Compatibility update Latest
@regorxxx regorxxx released this 5 minutes ago
v0.5.0-beta.9
3827176

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    Updated helpers to match my other scripts.

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-08-12 20:26:54
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.10
Quote
v0.5.0-beta.10 - Compatibility update
@regorxxx regorxxx released this in 2 minutes
v0.5.0-beta.10
2ab0fca

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    Updated helpers to match my other scripts.
    Switched all callbacks to event listeners.
    Workaround for some instances where the scripts would warn about some feature not being supported by the OS (due to an OS or SMP bug).

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-08-21 20:41:03
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.11
Quote
v0.5.0-beta.11 - Hotfix
@regorxxx regorxxx released this in 12 hours
v0.5.0-beta.11
ccf6467

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    Fixed left click actions not working (playlists, buttons, etc)..
    Fixed console logging to file (lines were not being split properly).

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md

HOT-FIX FOR BUG PRESENT ON PREV. VERSION.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-08-22 20:10:41
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.12
Quote
v0.5.0-beta.12 - Playlist locks
@regorxxx regorxxx released this in 12 hours
v0.5.0-beta.12
11e3328

There may be a SMP's bug on installation. See _TIPS and INSTALLATION.txt
REQUIRES SMP 1.6.1

    New menu entry to lock/unlock playlists (L. Click menu). Allows fine-grained control of lock types.
    Minor improvements to word lists within popups in some instances. Now split in new lines after X elements.

See changelog for a full list: https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-09-07 10:45:39
Have continued improving the UI and design; now multiple selection is allowed. Some actions can be applied to an entire list of playlists, etc. Shortcuts have been adding to multiple select playlists one by one or all from current view by clicking on header. It may be used to apply an action to playlists filtered by type, category, etc.

Spoiler (click to show/hide)

Many actions have been exposed to Main menus (using SMP dynamic menus), so they can be associated to native foobar buttons. For ex. a button to load an specific playlist, to export playlists, etc.

A new playlist tag has been added which may be referenced by some special menus to apply an action to all playlists which such tag. For ex. to export 5 playlists at the same time to a portable music player, with converter presets. Etc.

Modifiers for shortcuts are now fully configurable. i.e. actions associated to pressing shift, control. etc. while clicking can be set.

Spoiler (click to show/hide)

In summary, even if the manager already make it easier and faster to perform exotic actions to playlists within foobar, now it has become a lot easier when working with many playlists, online controllers (via CMD) or automatizing steps.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-09-09 00:11:33
Also working on ListenBrainz integration:
- Exporting foobar playlists to ListenBrainz. (*)
- Importing playlists from ListenBrainz to foobar, with content resolution following XSPF/JSPF specification (something already supported). (**)
- Syncing (*)

This should fill a hole on ListenBrainz related to playlists, which can only be imported from Spotify. So full syncing would be allowed between playlists files (in any readable format) and ListenBrainz this way...and since ListenBrainz lets you export playlists to Spotify, this means playlists may also be synced with Spotify in some way. (which may be relevant now that none of the spotify plugins work).

(*) There is only a requirement, tracks must have 'MUSICBRAINZ_TRACKID' tag retrieved by picard/musicbrainz plugin.
(**) Partial matches allowed. i.e. tracks not found on library are skipped. Tracks are not matched with 'MUSICBRAINZ_TRACKID' only but using all available metadata.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-18 16:36:51
I have a problem with Automatically add tags to tracks....When I add this: [{"addedDate":"JS:todayDate"},{"Playlist":"test 2"}]   SMP crashes :
Error: Spider Monkey Panel v1.6.1 ({09005844-D2CE-4EDB-B471-344C29E940C3}: Playlist Manager v0.5.0-beta13 by XXX)
tagsString is not defined

File: playlist_manager_menu.js
Line: 235, Column: 8
Stack trace:
  func@playlist_manager_menu.js:235:8
  _menu/this.btn_up/<@menu_xxx.js:305:15
  _menu/this.btn_up@menu_xxx.js:295:24
  _list/this.lbtn_up/this.timeOut<@playlist_manager_list.js:665:29

I have enabled Automatically tag added tracks for standard playlists (my playlist, named test 2, it's a standard playlist, not auto playlist).
I have tried this on a clean portable install, foobar 1.6.13, SMP 1.6.1, latest scripts.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-10-18 23:11:28
A missing line of code. Sorry.
Don't use that unless you are using the files directly from github btw (not the releases, but the repo itself). Otherwise add:
Code: [Select]
			const tagsString = tags;
X
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-19 05:16:02
Hmm, now I have this error:
Error: Spider Monkey Panel v1.6.1 ({006CB404-AF39-4717-BF6A-1EDE0BDF854F}: Playlist Manager v0.5.0-beta13 by XXX)
pls is not defined

File: playlist_manager_helpers.js
Line: 203, Column: 14
Stack trace:
  setTrackTags@playlist_manager_helpers.js:203:14
  func@playlist_manager_menu.js:236:35
  _menu/this.btn_up/<@menu_xxx.js:305:15
  _menu/this.btn_up@menu_xxx.js:295:24
  _list/this.lbtn_up/this.timeOut<@playlist_manager_list.js:666:29
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-10-19 08:56:41
Add at Line 193:
const pls = list.data[z];

X
Tested it to be sure nothing more is missing hahaha.
Btw just updated github with a new function to add the playlist name to the track, instead of manually putting the value.
I added these (JS: + ): playlistName, playlistCategory, playlistTags and playlistMBID

X
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-19 09:13:16
It's working now, thanks :)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-19 10:29:36
Yep, useful new additions (in my case, especially playlistName)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-20 20:45:59
Hi, @regor. It's me again :) It seems there are still some problems...Every time I add a song to that playlist, ADDEDDATE becomes something like this : 2022-10-20 0:5:5; 2022-10-20 0:6:20; 2022-10-20 0:8:6; 2022-10-20 0:18:32; 2022-10-20 0:29:38; 2022-10-20 22:4:17.........It should be only one value per song, but it seems every time I add a song, a new value it's added to all songs , which should not happen.

Now another problem.
Also I tried this with a auto playlist, using this [{"addedDate":"JS:todayDate"},{"Playlist":"Favorite Song"}] but in this case ADDEDDATE it's not added. Songs are added to auto playlist Favorite Song after I choose fav songs (%favorite song% IS 5, this is the query, I add value 5 for favorite songs using a button) but that's all, no ADDEDDATE
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-10-21 10:20:32
Cant' reproduce your problem, since the way it's coded it's not supposed to tag already present tracks in any way. Format? How do you add tracks?  More info?

In any case, the way it works now (to also avoid that situation):
- If it's a function -> returns something like this {value: pls.name, bOverWrite: true, bMultiple: false}; ->  if overwrite is true, it will always replace current tag values. -> otherwise, if Multiple is true, it will add current value to tag, no duplicates.

- If it's TF, string, etc -> always adds new values to current ones, no duplicates and don't touch previous values -> unless new value is "", in such case the entire tag is removed

Tagging event:
- Adding tracks to a playlist file via mouse shortcut/drag n drop will only trigger tagging on the new tracks.
- Autosaving or manual saving will trigger tagging for the entire list (so "old" tracks update can be forced).
- Adding tracks to a playlist loaded on UI (when such option is enabled).

Quote
Also I tried this with a auto playlist, using this [{"addedDate":"JS:todayDate"},{"Playlist":"Favorite Song"}] but in this case ADDEDDATE it's not added. Songs are added to auto playlist Favorite Song after I choose fav songs (%favorite song% IS 5, this is the query, I add value 5 for favorite songs using a button) but that's all, no ADDEDDATE
Check Playlists behavior preferences. Autoplaylists don't work that way.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-10-21 12:48:03
Updated the readme PDF with clear indications of Tagging events. Also the new Tagging procedure.
Spoiler (click to show/hide)

Fixed the multiple addition of values for JS:functions, with an update procedure. And changed the general behavior (so your bug should not apply anyway).

Autoplaylists have their own behavior, check the documentation and your preferences BUT there was a bug, autoplaylists were not applying tags on playlist loading (only on panel startup/manual refresh) due to a change I introduced at later point on auto-saving; now fixed.

In any case, tags were never applied on real time. Just because you added rating to tracks, tagging was not expected until you either load the Autoplayist, on startup or manual refresh.

Don't plan to change that, because it would require constant checking of Autoplaylist on the background which requires so many resources (one of the main problems of Foobar and that's why this manager exists XD to not have Autoplaylists loaded)

Check github on an hour :)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-21 14:59:47
Sorry for late reply, I didn't checked yet on github, I'll do it a bit later. I'll add a few things.
I tried with 2 clean portable configurations the only difference it's that in one of them I also have installed Columns UI 2.0. alpha 4, in the other foobar I have only SMP.
In this config with Columns UI (I don't know if it's relevant or not) when I drag & drop flac files on that playlist, multiple values are added, as you can see here https://sendanywhe.re/ZX16BJVZ.
In the other foobar, without CUI, everything seems ok, no multiple tags are added.
About Auto playlists, no matter what I did, in both configurations, no tags were added, even if I close and open foobar again. I read your message now about the bug. I understand that part about tags that were never applied on real time, and I agree with you (just I was worried that no tags were applied at all : )  )
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2022-10-21 21:33:42
Yep, it seems it's solved, everything ok for playlists but also for auto playlists. Thanks :) Btw, I don't know if you remember, a few weeks ago I said that with the new scripts my foobar didn't wanted to start anymore. Eventually I have found the culprit , it was the component foo_uie_explorer....After I removed that component everything was ok.

Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-10-21 23:11:40
Yep, it seems it's solved, everything ok for playlists but also for auto playlists. Thanks :) Btw, I don't know if you remember, a few weeks ago I said that with the new scripts my foobar didn't wanted to start anymore. Eventually I have found the culprit , it was the component foo_uie_explorer....After I removed that component everything was ok.


Glad it's working.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2022-12-25 10:40:00
Will probably release a new version of all my scripts on the next month, meanwhile since someone asked for more buttons configuration, the version at github:
Spoiler (click to show/hide)
There are now 3 ways to draw the buttons, colors and transparency fully configurable.

I will probably clean up a bit the header to make it look better and maybe add a scrollbar.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-11 22:57:36
Regor, happy new year.

1. I can't drag and drop files into playlists. It works with the normal Playlist manager in a panel, but not with your Playlist manager in a Spider Monkey Panel. I just get a red circle with a red line through it.

2. If we add tracks to an existing playlist, we can't then export the playlist file because it already exists. I would like to be able to easily add tracks and then export the updated playlist file so that I can resync it to my phone.
1. Click on the panel first. That's a general SMP "bug", focus is not set on a panel until you click on it. Report on the SMP thread if you don't agree with that behavior. See github (I also see it as a non-desirable behavior):
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/195

2. I don't understand your problem at all. That use case is covered by the manager and explained on the readme PDF. There are multiple tools to export playlist and their tracks. Please show me a gif about what you are trying to do and a detailed explanation of the problem.
https://github.com/NickeManarin/ScreenToGif
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-12 09:21:03
Regor, happy new year.

1. I can't drag and drop files into playlists. It works with the normal Playlist manager in a panel, but not with your Playlist manager in a Spider Monkey Panel. I just get a red circle with a red line through it.

2. If we add tracks to an existing playlist, we can't then export the playlist file because it already exists. I would like to be able to easily add tracks and then export the updated playlist file so that I can resync it to my phone.
1. Click on the panel first. That's a general SMP "bug", focus is not set on a panel until you click on it. Report on the SMP thread if you don't agree with that behavior. See github (I also see it as a non-desirable behavior):
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/195
I still can't drag and drop even when I click on the panel first. Here's a gif:
(https://i.imgur.com/x1Amlfr.gif)
.

2. I don't understand your problem at all. That use case is covered by the manager and explained on the readme PDF. There are multiple tools to export playlist and their tracks. Please show me a gif about what you are trying to do and a detailed explanation of the problem.
https://github.com/NickeManarin/ScreenToGif
I don't see how to export a playlist that's been updated. Here's a gif:
(https://i.imgur.com/cj8W1TV.gif)
.

But I'm not worried about it, on second thoughts, because I don't think I need to export the playlists. I can just copy the original files in foobar2000\profile\playlist_manager. (I'm using FreeFileSync to copy my playlists to my phone. I was exporting them first but I don't think there's any need, is there?)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-12 09:43:43
1. Which version are you using? Drag n drop is not on the last "official" release as noted on the changelog (https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md), download from repository instead.
X
Quote
[10:24:43] Spider Monkey Panel v1.6.1 (Playlist Manager: Playlist Manager v0.5.0-beta13 by XXX): initialized in 366 ms

Drag n drop works perfectly fine on all my setups (ignoring the SMP focus thing)
Spoiler (click to show/hide)
2. Ok, I could add an overwrite question popup in such case. Makes sense, instead of forcing you to delete the file first.

About copying playlists, no idea what's your setup is. I suppose if all devices access the tracks with the same disk letter that's fine. The copy file option is just a copy of the original file, yep. It's also fine IF you are using relative paths, and the file structure (and names) remains the same in all your devices.

Otherwise you have to use the other export options (to dynamically change paths).

Export and copy tracks, changes all paths to relative paths, so the playlist copy will point to tracks found on the same folder. For ex. lets say I want to play my playlist in another PC, I would just use this, copy the files to a pendrive and done. I have a folder with all tracks (in original format) and a playlist file to play them.

Export and convert tracks changes all paths according to some TF format you can specify AND then invokes a converter window for all the tracks (where you should use the same TF). For ex. If I want to play my playlist on my phone... I want the tracks to be converted to MP3. Also my playlist are saved to a different folder than the tracks, so I would use this. It's the same for kodi systems, etc. There are even pre-defined presets for those use cases.

Only thing "missing" is 2 menu entries to copy and copy & export tracks on batch multiple playlists. The Export and Convert can already be done on batch though.

There are detailed explanations about this on the readme.

EDIT: 2. done it, will upload it on a few hours. (all the other export options already overwrite files without asking, but since this was a strict copy option I thought it made more sense to not allow overwriting)
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-12 11:52:30
1.
Which version are you using?
I downloaded Playlist-Manager-SMP-0.5.0-beta.12.zip from the "v0.5.0-beta.12 - Playlist locks" page at https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.12

But I don't know how to check the version within Foobar2000. Is it possible?

I'm using foobar2000 v2.0 beta 21.

2.
Quote
[10:24:43] Spider Monkey Panel v1.6.1 (Playlist Manager: Playlist Manager v0.5.0-beta13 by XXX): initialized in 366 ms
I don't know where that quote is from or really what it's referring to. Where's that "[10:24:43]" timestamp from?

Why does it talk about beta13, when beta12 seems to be the latest? Should I try and find beta13 instead?

3.
download from repository instead
Instead of where? The only place I know where to download Playlist manager is here: https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.12 and I thought that was the repository.

4.
Drag n drop is not on the last "official" release as noted on the changelog (https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md)
I'm so confused, lol. That changelog specifically says drag n drop does work: "tracks can now be sent to a playlist directly with Drag and Drop"

and then you seem to say the opposite:
Drag n drop works perfectly fine on all my setups (ignoring the SMP focus thing)
Do you see what I mean?
First you say: "Drag n drop is not on the last "official" release" and the you say: "Drag n drop works perfectly fine on all my setups". Don't those two statements contradict each other?

Perhaps I'm missing what "official" in quotes means? What does that mean? Is that different from the betas? I've got the beta (12) and drag n drop just doesn't work at all, as far as I can see.

Here's a gif of me adding tracks to a built-in Playlist manager panel and then failing to do the same with your Playlist manager:
Spoiler (click to show/hide)

EDIT: 2. done it, will upload it on a few hours. (all the other export options already overwrite files without asking, but since this was a strict copy option I thought it made more sense to not allow overwriting)
Thank you!
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-12 12:03:53
Thank you!
Have you checked the image (https://hydrogenaud.io/index.php?action=dlattach;attach=24440;image)? XD All your 4 first questions are answered there. I also warned you about this some time ago on the other thread. I understand people not used to Github usually don't know they can download the latest files that way, but... that's why I put the image!

5. Changelog specifically says unreleased ;) (which includes drag n drop, the buttons bar configuration, etc.)
Spoiler (click to show/hide)

And beta 12 clearly states...
Spoiler (click to show/hide)

If you download beta 12, don't expect to see unreleased changes. Obviously, you have been using beta  12 all this time, which is missing a lot of "unreleased" functionality since I DID NOT create a new release yet. But you can test it, downloading directly from repository (see at top and the image I put on my previous message).

Hope this clarifies any possible confusion.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-12 13:09:28
I just downloaded the 'correct' version from here: https://i.imgur.com/pY11oj5.png

But when I looked in the file explorer, there's a file there called VERSION and when I click on it, it still says: v0.5.0-beta12

I copied all the files over to C:\foobar2000\profile\scripts\SMP\xxx-scripts anyway (is that how you're supposed to update it?) and replaced the existing files.

But then SMP threw up an error. So I removed the SMP panel and added a new one, then added playlist_manager.js but got this error: https://i.imgur.com/oqBnnsf.png

Then I deleted everything in C:\foobar2000\profile\scripts\SMP\xxx-scripts, pasted everything from Playlist-Manager-SMP-main into C:\foobar2000\profile\scripts\SMP\xxx-scripts and tried to add a new panel and playlist_manager.js but got the same error: https://i.imgur.com/Wv9BCVy.png

So now I can't use it at all.

What's my next step?

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-12 17:44:24
I just downloaded the 'correct' version from here: https://i.imgur.com/pY11oj5.png

But when I looked in the file explorer, there's a file there called VERSION and when I click on it, it still says: v0.5.0-beta12

I copied all the files over to C:\foobar2000\profile\scripts\SMP\xxx-scripts anyway (is that how you're supposed to update it?) and replaced the existing files.

But then SMP threw up an error. So I removed the SMP panel and added a new one, then added playlist_manager.js but got this error: https://i.imgur.com/oqBnnsf.png

Then I deleted everything in C:\foobar2000\profile\scripts\SMP\xxx-scripts, pasted everything from Playlist-Manager-SMP-main into C:\foobar2000\profile\scripts\SMP\xxx-scripts and tried to add a new panel and playlist_manager.js but got the same error: https://i.imgur.com/Wv9BCVy.png

So now I can't use it at all.

What's my next step?


This is right because version file is not supposed to be changed until a new release is created. Version points to the last release version, not an actual state of the files.

And that's an error on my side, you did nothing wrong, I missed to upload that file (only used on Foobar V2 which I don't use). Thanks ;) Solved now. (just download again and overwrite) -updated fgithub right now, also with the copy/overwrite change-

And yep, updating means overwriting files. Will add such instructions on the wiki for clarity.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-12 18:13:10
And updated the wiki to clarify those doubts
https://github.com/regorxxx/Playlist-Manager-SMP/wiki/Installation
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-13 12:58:44
Aaaagh!

I was so happy to read your reply but then, after I downloaded the zip file again, I still get the same error: https://i.imgur.com/yG3EhSM.png

Any ideas?
Title: Re: Playlist-Manager-SMP
Post by: Terence on 2023-01-13 13:37:20
Maybe by putting the files in the Roaming folder ? (if it's a normal foobar installation, not a portable installation)
C:\Users\yourUser\AppData\Roaming\foobar2000-v2\scripts\SMP\xxx-scripts
See on the wiki (https://github.com/regorxxx/Playlist-Manager-SMP/wiki/Installation).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-13 13:42:23
Maybe by putting the files in the Roaming folder ? (if it's a normal foobar installation, not a portable installation)
C:\Users\yourUser\AppData\Roaming\foobar2000-v2\scripts\SMP\xxx-scripts
See on the wiki (https://github.com/regorxxx/Playlist-Manager-SMP/wiki/Installation).
Nope, again my fault. Missed the new dependency file when adding the previously missing file. XD

Fixed now. Just re-downloaded the v2 beta -so it will not happen anymore- and tested it on a new installation linking to github by myself.
Spoiler (click to show/hide)

BTW I'm currently re-designing the UI (the buttons bar customization is one step), so open to comments or suggestions about it.
My current idea is to remove the current header as it is right now and put there some small icons (like the folder icon) to open the settings menu. Then add a search toolbar there, more in line with Library Tree/Album List UI.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-13 14:14:26
Maybe by putting the files in the Roaming folder ? (if it's a normal foobar installation, not a portable installation)
C:\Users\yourUser\AppData\Roaming\foobar2000-v2\scripts\SMP\xxx-scripts
See on the wiki (https://github.com/regorxxx/Playlist-Manager-SMP/wiki/Installation).
Nope, again my fault. Missed the new dependency file when adding the previously missing file. XD

Fixed now. Just re-downloaded the v2 beta -so it will not happen anymore- and tested it on a new installation linking to github by myself.
Spoiler (click to show/hide)

BTW I'm currently re-designing the UI (the buttons bar customization is one step), so open to comments or suggestions about it.
My current idea is to remove the current header as it is right now and put there some small icons (like the folder icon) to open the settings menu. Then add a search toolbar there, more in line with Library Tree/Album List UI.
Thank you very much. All good now.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-14 08:29:15
When I drag n drop some tracks from e.g. Library viewer selection, they get removed from Library viewer selection.

It's 'moving' instead of copying.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-14 10:25:03
When I drag n drop some tracks from e.g. Library viewer selection, they get removed from Library viewer selection.

It's 'moving' instead of copying.
Obviously, it follows native windows behavior. Copy in windows is pressing Ctrl. This is stated at the tooltip.
X

 If you drag n drop a track -at the libray viewer selection-  within the same playlist,, it's moved, isn't it? If you pres ctrl it's copied. The explorer and most software follow the same rules.

Please read the readme next time you have a doubt and if you don't find the answer, then feel free to ask.
X

Anyway, as already told u from the start. Drag n drop is just UI eye candy.
You can copy selected tracks pressing shift + L. click on playlists, which is much faster than dragging things. keyboard modifiers are fully configurable. (and now that I think I will change the default modifier to Ctrl + L. Click to be consistent with the drag n drop modifier)
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-14 10:57:39
Gotcha, sorry.

I knew about shift + L. click but I thought drag n drop was a bit more intuitive for a newbie (I'm going to pass on my version of Foobar2000 to a friend, and I want it to be as straightforward to use as possible).

But you're right, I think I'll just use shift + L. click anyway.

I'll watch out for the change to Ctrl + L. Click.

Thanks again.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-14 13:16:04
Gotcha, sorry.

I knew about shift + L. click but I thought drag n drop was a bit more intuitive for a newbie (I'm going to pass on my version of Foobar2000 to a friend, and I want it to be as straightforward to use as possible).

But you're right, I think I'll just use shift + L. click anyway.

I'll watch out for the change to Ctrl + L. Click.

Thanks again.
Yep, that's right though. Problem with drag n drop is that I can not modify the tooltip, so there is no way to show shortcuts help other than what Windows puts there. Ctrl is copy, Alt is new playlist, standard is move. (note all shortcut actions are shown on the playlist tooltips though)

I could create a new config though, to disable "moving" and make any drag n drop action a copy action. Which may be easier for newbies. Not really sure about this though, if you want to completely disable all but copy on your friend install, let me know and I point you to the lines of code to change it.

About the shortcuts, you can fully modify them using the header menu (UI\Shortcuts).
The change has been uploaded some hours ago anyway, but it only applies in new installations as default values. Updating respects the current config.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-16 13:01:51
Absolutely loving this, thanks once again.

One thing though. I get an error seemingly whenever I play a song for the first time.

I get a box like this: https://i.imgur.com/NxbHovK.png

And when I close that box, I have to also close another box like this: https://i.imgur.com/A7QHsF3.png

Can you think what might be causing it?
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-16 14:35:21
Ah. The only reason there are two error boxes to close is because I was running your Playlist manager in two separate SMP panels.

I've removed one temporarily and now I only get one error box.

I only seem to get the error when I play a track from the Library Viewer Selection playlist, not the other ones.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-16 15:42:21
Uhm...
1. Why are you saving the library viewer to a file? It makes no sense to do that in general, since the playlist is overwritten with every click on the library viewer.
2. The manager can track UI-only playlists too, there is no need to write them to files unless you have a reason to do so (for ex. loading only the ones you need on every session).
3.  2 panels are not supposed to work with the same playlist folder (and playlists), in general, unless you disable auto-saving in one of them. This is stated in the readme. Otherwise you are saving things 2 times with every change, which is sub-optimal (or may lead to problems).
4. Cant' reproduce it with any playlist, even doing (1) it works fine here.

I need more info about your config.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-16 15:47:33
UI-playlist tracked without file -> Play items -> Converted to M3U8 -> play Items
Spoiler (click to show/hide)
Lock M3U8 playlist -> play Items
Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-16 16:54:47
Uhm...
1. Why are you saving the library viewer to a file? It makes no sense to do that in general, since the playlist is overwritten with every click on the library viewer.
2. The manager can track UI-only playlists too, there is no need to write them to files unless you have a reason to do so (for ex. loading only the ones you need on every session).
I didn't know I was saving the library viewer to a file, lol.

I deleted the playlist_manager folder and reinstalled Playlist Manager (so presumably everything is set to default settings?) and the problem has gone. Thanks.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-16 17:20:37
I'm sorry to have to ask this but no matter how many times I read the pdf, I can't quite get my head around the "relative paths" thing.

Could you please tell me what I should set.

I have foobar2000 monitoring two music folders, so the setup is like this:

[C:]
    -\Users\Username\Music
        -[Big Retro Hits 90s]
            -007. Chateau Pop - Maniac.mp3
            -...
        -...
[D:]
    -Live music
        -[1999-01-02 - A Concert]
            -001. A song.mp3
            -...
        -...
[C:]
    -\foobar2000\profile\playlist_manager
        -My playlist.m3u8

where [C:] and [D:] are internal hard drives.

My friend's setup wil be:

[E:]
    -Music
        -[Big Retro Hits 90s]
            -007. Chateau Pop - Maniac.mp3
            -...
        -...
[C:]
    -\foobar2000\profile\playlist_manager
        -My playlist.m3u8

where [E:] is an external USB drive and [C:] is of course their internal drive.

We will both be using portable installations.

Should one or both of us set "Save relative paths to folder..." to "Yes"?

It seems from this: https://i.imgur.com/z49Rw1T.png that maybe the answer is no for my friend (not sure about me because my music is in two different drives).

But is there a way to change the folder the playlists are saved in?

So instead of my friend using C:\foobar2000\profile\playlist_manager\My playlist.m3u8

they could use

E:\!playlist_manager\My playlist.m3u8

instead. Or something like that.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-16 20:58:37
Uhm...
1. Why are you saving the library viewer to a file? It makes no sense to do that in general, since the playlist is overwritten with every click on the library viewer.
2. The manager can track UI-only playlists too, there is no need to write them to files unless you have a reason to do so (for ex. loading only the ones you need on every session).
I didn't know I was saving the library viewer to a file, lol.

I deleted the playlist_manager folder and reinstalled Playlist Manager (so presumably everything is set to default settings?) and the problem has gone. Thanks.
Not sure what was going on, but it would have been interesting to find the problem (just to be sure it doesn't happen again). But yep, it may have been the installation was somehow corrupted.

The relative paths thing is simple in fact. Do you need to enable it? Only if you know you need to use it. i.e. you probably don't :)
An use case? You have your foobar installation on an external disk. Therefore, every-time it's plugged onto a PC the same disk letter is not assured. Here you would use relative paths to point to files on the same disk, and the paths would always work since they don't depend on an specific disk. (this may be generalized to any root). "IX Advanced tips\43 Portable ’plug&play’ installation" is about this ;)

Now... relative paths ONLY works when the playlist is on the same disk than the music. As simple as that. If you save the playlist to a different disk than the music it references, then it doesn't work.

Quote
-\Users\Username\Music
      -[Big Retro Hits 90s]
            -007. Chateau Pop - Maniac.mp3
            -...
        -...
[D:]
    -Live music
        -[1999-01-02 - A Concert]
            -001. A song.mp3
            -...
        -...
[C:]
    -\foobar2000\profile\playlist_manager
        -My playlist.m3u8

where [C:] and [D:] are internal hard drives.
In this case, only music on C could use relative paths. Since any track on D would need to use the full path "D:\Live music\..."

Quote
My friend's setup wil be:

[E:]
    -Music
        -[Big Retro Hits 90s]
            -007. Chateau Pop - Maniac.mp3
            -...
        -...
[C:]
    -\foobar2000\profile\playlist_manager
        -My playlist.m3u8
You would need to save the playlist on E  too to make use of relative paths.

Quote
But is there a way to change the folder the playlists are saved in?
Obviously XD Readme: "III Features\Tracking folder"
That's what this manager is for hahahaha Header menu, first entry "Set playlist folder".  ::)

I will edit the readme anyway to make it more clear on the installation section like "After installation REMEMBER to set the playlists folder [see section XXX]".

Btw just checked it and the first panel popup point users to set their desired folder, but I will make it clearer and also add a warning about it on the panel itself.
X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-16 21:31:26
Ok, reworked the popup:
Spoiler (click to show/hide)

The panel text:
Spoiler (click to show/hide)

And also a new popup on first install in case tracked folders are the same:
Spoiler (click to show/hide)

Better now? That should cover most situations where users may miss to check it..
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-17 14:50:26
Just updated it with a few fixes and small improvements for the UI:
Quote
- UI: keyboard modifier on L. Click + Ctrl is now set by default to 'Copy selection to playlist'. Shift + L. Click to 'Load / show playlist'. i.e. they are swapped; this is done to be consistent with drag and drop modifiers, since Ctrl is associated to copy.
- UI: initial popup and panel text (with empty tracked folder) now points more clearly to set the tracked folder as needed.
- UI: on first installation, in case another panel has the same tracked folder, a popup is thrown warning about setting another folder for the new panel.
- UI: fix to quick-searching / show active playlist not jumping to playlist in some cases (also appeared at [0.5.0-beta.8] and before). Method has been rewritten from scratch and now puts the result on the middle of the window whenever it's possible resulting in a more natural behavior.
- UI: loaded playlist indicator has been changed to '>>' which is adjusted better to different DPI settings.
- UI: selected and highlighted playlist rectangles did not match in size, neither were properly adjusted to playlist name text in some cases.
- UI: size not being shown when playlist name was too long. Now the name is sliced to accommodate the available width after the size info is taken into account. Example: "My too long playlist..." is now displayed as "My too long pl... (100)"
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-18 15:18:05
Thanks, regor. Excellent.

I still don't understand what I should do with relative paths but I'm not worried for now. I'll leave the default (absolute paths) and worry about it when something breaks.

Couple of other things:

1. I can't create a playlist by creating a new file from the active playlist. Whether I keep the same name, or type in a new one, I get this error:
(https://i.imgur.com/yoiwOdB.png)

2. Is it possible that Playlist Manager is adding a disc number to some tracks? It seems very unlikely but I can't work out what's doing it.

All my single-disc albums have no %discnumber% in the tags. But some tracks are mysteriously getting a 1 put in that field. I can't work out what the tracks have in common. But they have all definitely been in a standard playlist. And it only started happening recently.

If not, do you by any chance have any idea what could be doing this?

I only noticed because I sent a playlist of 158 tracks to my phone and only 154 showed up in the playlist, (which it took me ages to realise was) because the playlist is looking for a file called 1.01 - Title.mp3 when in fact the file is called 01- Title.mp3[/code

So it messes up the playlists, and when I go to move files in Foobar2000, all these tracks want to get moved to because of the new rogue, unwanted disc number.

3. Sending playlists to my phone is wonderful. I have a partial collection of tracks on my phone, but in the same folder structure (not sure if that's necessary or not but I did it so I can keep all the album covers ready to be accessed when they're needed).

So I send a playlist over and my music player (Musicolet) plays whichever of those tracks it can find, and in the correct order. Whoopee. But I guess that's what playlists are meant to do, lol. It just took me a while to get there.

But I can't get the other way round to work. I create a playlist in Musicolet and send it to my C:\foobar2000\profile\playlist_manager folder, but the tracks show up with completely blank metadata in Foobar2000.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-18 16:27:46
Quote
1. I can't create a playlist by creating a new file from the active playlist. Whether I keep the same name, or type in a new one, I get this error:
That seems similar to your other error. Is the folder actually writable? Do you have another playlist with same name? Does that folder exist? Other new playlist actions work?
Again this is non-reproducible by me (and no one ever reported something like this).

Quote
2. Is it possible that Playlist Manager is adding a disc number to some tracks? It seems very unlikely but I can't work out what's doing it.
Nop. Tracks are never touched by the manager in any way (unless you make use of some auto-tagging features which require user-explicit actions and that's not your case).

Quote
I only noticed because I sent a playlist of 158 tracks to my phone and only 154 showed up in the playlist, (which it took me ages to realise was) because the playlist is looking for a file called 1.01 - Title.mp3 when in fact the file is called 01- Title.mp3[/code
Why don't you strip the tag from the converter/copy logic? I mean, that doesn't solve your tagging problem, but at least it doesn't mangle your playlists anymore.

Quote
3. Sending playlists to my phone is wonderful. I have a partial collection of tracks on my phone, but in the same folder structure (not sure if that's necessary or not but I did it so I can keep all the album covers ready to be accessed when they're needed).

So I send a playlist over and my music player (Musicolet) plays whichever of those tracks it can find, and in the correct order. Whoopee. But I guess that's what playlists are meant to do, lol. It just took me a while to get there.

But I can't get the other way round to work. I create a playlist in Musicolet and send it to my C:\foobar2000\profile\playlist_manager folder, but the tracks show up with completely blank metadata in Foobar2000.
To be honest I am a bit lost with your usage. To help you, I need you to provide me exact details of disk letters involved in both devices, folder structure and also post the 2 playlist files as example (one from PC, other from Musicolet).

Is the playlist from Musicolet playable? I would say you don't get blank metadata but just no tracks, i.e. it tries to load a path which points to nothing.

Also I would really suggest you to investigate a bit more about how playlist work and paths, since I would say most of your usage doubts are related to that and you can no expect things to work just by copying files in most use-cases unless you replicate the entire file structure, including disk letters.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-24 16:13:21
Thanks. I'll get back to you about the other stuff, regor.

1.
What is the black panel on the left in this screenshot of your pdf?
(https://i.imgur.com/ImIsUPe.png)

I only have the panel on the right (with the four playlists) and I don't understand what you're referring to when you talk about the "manager".

2.
I have a big playlist in a particular order, handmade by me - not sorted by any column. The playlist is locked so I don't mess up that order.

I want to remove one track from the playlist. But I don't know where the track is in the playlist.

So I want to sort the playlist temporarily by title, find the track, remove it from the playlist and then revert to the original playlist order (but with that track now removed).

None of my efforts (involving unlocking then relocking the playlist) have managed to achieve that. Is it possible?

Alternatively, is it possible to search within a playlist, so I can find the track I want to remove without re-sorting the playlist?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-24 18:09:51
1. (?) There are 2 playlist manager panels (one with 4 playlists). One with black background, one with white background. The playlist tabs is the usual DUI or CUI playlist tabs panel. I can edit the footnote to "both playlist managers panels have playlist not loaded...", but I thought it was clear enough I was just talking about one of them.

2. Use the right menu to find playlists which contain selected tracks.
Spoiler (click to show/hide)
Quote
Alternatively, is it possible to search within a playlist, so I can find the track I want to remove without re-sorting the playlist?
Then to search within a playlis, load it and use one of the CUI or DUI tools, that's outside the scope of the manager if you think about it. There is no need to add additional layers of complexity when you have tons of tools to look for tracks on loaded playlists. There are multiple tools out there to search within playlists. In CUI there is a 'Playlist search'. I suppose default UI is the same.
Spoiler (click to show/hide)
Once you select the track on the popup window, it's selected on the playlist too. After removing the track, just save again the playlist. Done.
Quote
None of my efforts (involving unlocking then relocking the playlist) have managed to achieve that. Is it possible?
As you see, your method was overly complicated. There is no need at all to do sorting and undo.

Anyway in the case you ever need to 'compare 2 playlists' and make intersections, unions or differences of them... Playlist Tools (one of my other scripts) is the tool -pun intended- you need. In this case you could intersect the playlists without 1 track against the original one, giving as result the original sorting with the track not being in both removed. But all this is just for your info, there is no need at all for the things you wanna do.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-24 18:59:26
Re: 2.

Wow. It's totally built in. Ctrl+F brigs up Playlist Search, as you show in your gif. Thanks. And also, ReFacets has a filter to change from Library to Filters.

I thought it might be a feature of your Playlist Manager but now I totally see why it's not. You're adding needed (and more) stuff that's missing from Foobar2000.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-24 19:07:07
1. (?) There are 2 playlist manager panels (one with 4 playlists). One with black background, one with white background. The playlist tabs is the usual DUI or CUI playlist tabs panel.
Sorry, I'm not getting this at all.

What is "playlist tabs"?

What's the difference between the two panels (apart from their colour)?

I just don't know what I'm looking at at all. I only have this one
(https://i.imgur.com/QDUKLIJ.png)

Which one is that? What do you call it?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-24 19:34:25
Ehm... I think you are a bit lost XD you are asking me things from the native Foobar UI, playlist tabs have nothing to do with the playlist manager. Is a default UI panel or Columns UI panel.

Why would you have 2 panels if you only add one? XD You can add as many panels as you want, that's your decision. That's a pretty standard Spider Monkey feature. You can add multiple SMP panels to your layout and load there whatever you want.
You are expecting to see things in your installation exactly like the pdf which makes no sense. The PDF show possible examples, not necessarily your actual installation. You can add 40 playlist managers if you want, but you can not expect to have 40 panels just because you installed one in one panel.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-24 20:03:20
I'm really not expecting anything. XD
'
I just didn't know what I was looking at.
'
I thought your image was comparing the two panels (light and dark). But it's comparing the 4 playlists at the top with the light panel. I didn't realise that they were playlists in the tabs at the top, lol. I thought the arrow was pointing at something called External, which I didn't understand. I'm not criticising your help documents at all. They're amazing and it's so generous of you. I'm just describing what I experienced. It's very hard reading manuals when you don't have the basic understanding that you probably, unavoidably, take for granted. Although this was particularly dim of me because I now see that there's the famous Library Viewer Selection and even a New Playlist. I just got confused by the plethora of tabs like Panel Stack Splitter etc. Sorry!

Thanks so much. I've finally got what I'm looking at. And I'm really grateful for you putting up with me and sparing me your time.

One thing: I still don't know what that panel on the left is (the dark one)? It's titled "Playlists: _" while the other one (the one I have) is titled "Playlists: playlist_manager".

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-24 20:05:23
I'm really not expecting anything. XD
'
I just didn't know what I was looking at.
'
I thought your image was comparing the two panels (light and dark). But it's comparing the 4 playlists at the top with the light panel. I didn't realise that they were playlists in the tabs at the top, lol. I thought the arrow was pointing at something called External, which I didn't understand. I'm not criticising your help documents at all. They're amazing and it's so generous of you. I'm just describing what I experienced. It's very hard reading manuals when you don't have the basic understanding that you probably, unavoidably, take for granted. Although this was particularly dim of me because I now see that there's the famous Library Viewer Selection and even a New Playlist. I just got confused by the plethora of tabs like Panel Stack Splitter etc. Sorry!

Thanks so much. I've finally got what I'm looking at. And I'm really grateful for you putting up with me and sparing me your time.

One thing: I still don't know what that panel on the left is (the dark one)? It's titled "Playlists: _" while the other one (the one I have) is titled "Playlists: playlist_manager".


No hard feelings, as said, if you find something not clear enough then the documentation is not working. It's mean to help others, not to be read by me :)

So I will revise it tomorrow to make it more clear.

About your last question, you are missing the panel is named the same than the actual tracked folder ;) so if you set your playlist manager to track a folder named "Netflix", the title will say "Playlist: Neflix". This can be easily checked on the header tooltip. It just happens that the default folder is named playlist_manager in all installations!
X
X

Just checked and this is not clearly mentioned on the UI section of the manual, so will add it tomorrow.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-24 20:21:50
Btw edited the popup with the Search hint.  ;)
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-24 20:34:30
Ah! So I can have two folders with different sets of playlists in them. Excellent.

I can't think of a use for it right now (?) but it's clear now. Thank you.

And I like the popup Search hint. I think I'd write: "to find items in loaded playlists" instead of "to find the items on loaded playlists"?

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-24 20:53:43
Ah! So I can have two folders with different sets of playlists in them. Excellent.

I can't think of a use for it right now (?) but it's clear now. Thank you.

And I like the popup Search hint. I think I'd write: "to find items in loaded playlists" instead of "to find the items on loaded playlists"?


Yep, that part is explained at III Features\ 9 Tracked folder and IX Advanced Tips\ 44 Multiple views / manager panels.

You may have one set of playlist using relative paths and another absolute paths (global setting per panel). Or one folder with M3U8 playlists and another one with other format (format is set per panel and applied to all playlists). Also if you just want to "categorize" playlists, and have 2 views with different lists... but that's what the category metadata is used for (and the filter buttons).

The option is there, I usually prefer to have more options than forcing one way of doing things. There are usually multiple ways for something [in all my scripts]. For ex. adding tracks to playlists can be done with keyboard shortcuts, drag n drop, the contextual menu or loading the playlists and copy/paste. Every user may find easier some way or the other.

There is a little thing many developers don't care about, which is accessibility. Windows text to speech tools  -since win 7-  read tooltips and menus, but can not read things within SMP panels. That's why I care about adding clear info on every tooltip and menu (even if there are fastest ways to do the same things).

Quote
And I like the popup Search hint. I think I'd write: "to find items in loaded playlists" instead of "to find the items on loaded playlists"?
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-01-31 13:45:45
When I run Playlist maintenance tools...>Duplicated items... and click Yes, the results says "Found these playlists with dead items:"

I think it's meant to say "duplicated" instead of "dead"?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-01-31 16:52:00
Yep! It's a typo. Thanks!
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-02-15 19:58:29
New release:
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.13
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-02-19 14:22:09
New release:
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.15

Apart from beta 13 too long list of changes, new beta 15 allows to select multiple playlists and load their content merged into a new playlist. (https://github.com/reupen/columns_ui/issues/176) This includes autoplaylists or any other type of playlists (UI-only playlists too).
Duplicates by TF and RegExp can also be removed.

Spoiler (click to show/hide)

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-02-19 21:39:19
New release:
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.15

Apart from beta 13 too long list of changes, new beta 15 allows to select multiple playlists and load their content merged into a new playlist. (https://github.com/reupen/columns_ui/issues/176) This includes autoplaylists or any other type of playlists (UI-only playlists too).
Duplicates by TF and RegExp can also be removed.
Nice. Thank you.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-02-22 09:34:52
Here's a few "Aw, crashed" errors:

1) Right click > Manual refresh
Quote
Error: Spider Monkey Panel v1.6.1 ({5E1463F0-7C8F-4735-B496-C134D90D0212}: Playlist Manager v0.5.0-beta15 by XXX)
pls is undefined

File: playlist_manager_list.js
Line: 194, Column: 19
Stack trace:
  _list/this.paint@playlist_manager_list.js:194:19
  @playlist_manager.js:336:7
  fireEvents/</<@callbacks_xxx.js:148:37
  fireEvents/<@callbacks_xxx.js:145:30
Restart foobar, Right click > Manual refresh: no problem

EDIT: That was yesterday. Just happened again today.

2) Delete all files in a playlist > Hover over playlist name: same error as above.

3) Restart foobar. Rename playlist. Not certain what I did next. I think I just right-clicked on the playlist name again. Same error as above.

But I should add that you said this to paregistrase:
Maybe you have not cleaned the properties of the panel before installing things?

and there's this:
Quote
Install on a blank panel. Clean the old panel first.

I'm not certain that I've done it correctly. I just deleted the old SMP panels and then added new ones. I'm not sure how to "clean the properties of the panel" or "clean the panel". Is what I've done OK?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-02-22 09:55:59
Nothing to do with installation, it's the same bug everytime if you have less playlists than the number of available rows due to a change I introduce on last version.

Replace:
xxx-scripts\main\playlist_manager\playlist_manager_list.js
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-02-22 13:47:17
Thanks again, regor. 👍
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-02-22 16:28:23
Thanks again, regor. 👍
Currently working on a wine compatibility update, will create a new release with this fix once I finish that.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-02-22 17:41:27
What did the grape say when it got stepped on?

Nothing. It just gave out a little whine.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-02-22 20:01:13
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.16

Fixes the crashes and all instances of weird chars on Wine. Fonts are now configurable globally.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-02-25 09:26:09
Hey, could you give your vote here about Installation methods?
https://github.com/regorxxx/Playlist-Manager-SMP/discussions/38

Any other feedback about it is appreciated.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-02-25 13:40:15
Hey, could you give your vote here about Installation methods?
https://github.com/regorxxx/Playlist-Manager-SMP/discussions/38

Any other feedback about it is appreciated.

The package format sure could be easy for new users.
If you're ok with the extra maintaining work, it can not make hurt
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-03-04 10:58:29
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.17

Quote
## [0.5.0-beta.17] - 2023-03-04
### Added
### Changed
- UI: popup when cloning an Auto-playlist now adds a tip to cancel, thus skipping playlist file creation.
- Autosave: renamed property, config will be reset on update (this doesn't affect to most users since this config is usually not touched).
- Documentation: updated readme PDF to be up to date with all changes.
- Internal code cleanup of menus.
### Removed
### Fixed
- Console: logging of null value not working properly (totally irrelevant except for debug purposes).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-03-08 17:34:09
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.18
I think a lot of people get lost seeing so many features on first init, so now by default first installation will have most menus disabled.
They are also configurable now, and the native contextual menu has been added (in case you don't need it, just disable it).
This covers all features requested here (https://hydrogenaud.io/index.php/topic,110516.msg1023516.html#msg1023516). Since the only thing missing was the items' contextual menu. A redesign of the UI and more "simplification of features" by default it's planned, to make it easier for new users to use this manager as a replacement for broken components without getting lost on too many features.

Spoiler (click to show/hide)
Quote
[0.5.0-beta.18] - 2023-03-08
Added

    UI: native contextual menu for items within loaded or UI-only playlists.
    UI: configurable playlist menus. Multiple entries may be hidden if not used, thus making it easier for users without more advanced needs.

Changed

    UI: on first init, advanced features will be hidden by default.
    UI: focus is now set on new playlist after playlist creation.

Removed
Fixed

    Dynamic menus: not being created on init when the manager had no Auto-playlists and Auto-playlist size updating was enabled.
    Crash after deleting playlists using multiple selection actions, since the selection was not being reset.

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-03-28 11:13:37
Working on updating the UI:
Traditional                                                                                                             Modern
X X

Updated UI:
- Header right click menu moved to the cog (the settings menu).
- Playlists right click menu moved  to the plus sign (the new playlists menu or tools applied to entire list).
- Added a search header. This is in addition to the quick-search by pressing keys, already implemented long time ago. It will allow to filter the panel instead of jumping and work with playlist's metadata.
- The header text is not bold anymore, which looks cleaner.
- Different UI modes, like Bio or Library tree panels do.

I will probably tweak a few more things, so if someone has a suggestion or better design, just let me know.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-03-29 12:12:45
Modern UI:
Spoiler (click to show/hide)

Menus are now on the buttons, and the power actions associated to clicking on header are now found on the bolt button. i.e. double clicking to cycle categories, middle clicking to select all playlists, etc.  As before, the actions associated to the mouse shortcuts are configurable.

Both he action button and the search box show the current state of the manager.

RegExp on search:
Spoiler (click to show/hide)

Track search within playlists (both UI playlists and playlist files)
Spoiler (click to show/hide)

The search is pretty similar to the one found at library tree -so people familiar with it will easily use this one-, with history available and more advanced options. It may match playlist names, categories, tags, tracks or use regexp. Along other settings.
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-03-30 13:22:19
regor, I'm getting an error trying to update:

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-03-30 16:08:06
Obviously I had to forget adding the new files, fixed :=)
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-04-03 16:53:06
I'm still getting this error:

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-04-03 22:38:20
Check the files: (open them)

playlist_history.js is dated //11/03/23
And playlist_manager.js is dated //29/03/23
Title: Re: Playlist-Manager-SMP
Post by: InchPerfect on 2023-04-04 15:33:01
Check the files: (open them)

playlist_history.js is dated //11/03/23
And playlist_manager.js is dated //29/03/23
playlist_history.js was old. Presumably my fault.

Thanks.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-04-04 23:40:54
Check the files: (open them)

playlist_history.js is dated //11/03/23
And playlist_manager.js is dated //29/03/23
playlist_history.js was old. Presumably my fault.

Thanks.

Yep, testing nightly releases may bring these errors; glad it was sorted out.

Continued refining the UI and also added a new feature to the search toolbar, when path searching is enabled. Drag n drop on the search toolbar now parses the filenames to search for playlists with such track(s).
Spoiler (click to show/hide)

Any suggestion about the UI or making it more intuitive will be welcome :)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-04-06 14:38:08
Finally added a proper scrollbar, pretty similar to the one at found at Library tree, which hides itself after being unused for a few seconds. The up/down buttons are now hidden except when using drag n drop to easily scroll the list when sending tracks to panel (something not applicable to library viewers since drag n drop is always done outside the panel).
Spoiler (click to show/hide)

Want to test it a bit more, so I will not upload it to github now.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-04-10 21:34:55
Just uploaded to github the last bits for the scrollbar, so it should be working now as intended if anyone wants to test it.

Also double clicking on the up/down buttons now jumps to top/bottom of the list; on the current position jumps to the active/playing playlist.
Title: Re: Playlist-Manager-SMP
Post by: Fundulcast on 2023-04-11 15:01:58
Drag n drop on the search toolbar now parses the filenames to search for playlists with such track(s).

This is the kind of functionality I've been thinking about for a while... I should be able to query any song and see which playlists I've put it into. Now to make a "choose your own adventure" mode where you can jump to other playlists based on the song!

Thanks for this plugin... loving being able to maintain my own playlist library.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-04-11 15:20:34
Drag n drop on the search toolbar now parses the filenames to search for playlists with such track(s).

This is the kind of functionality I've been thinking about for a while... I should be able to query any song and see which playlists I've put it into. Now to make a "choose your own adventure" mode where you can jump to other playlists based on the song!

Thanks for this plugin... loving being able to maintain my own playlist library.
It has been there for some time, using one of the menu entries 'Find current selection' (it reports results via popup).
The new feature at the search filter just makes it easier/faster and filters the current view on real time.

Since this manager allows you to select multiple playlist and load their tracks merged (without duplicates), is technically possible to merge playlists related by specific tracks if you set your playlists in an appropriate way.

Btw Playlist Tools also has a similar feature (although obviously limited to playlists loaded within foobar) at 'Selection manipulation\Find tracks in...'. It will also jump to the exact position.



Just pushed a new update which allows to selectively enable/disable UI elements. So the scrollbar can be disabled and the old up/down buttons reverted, show only some buttons, ... almost every bit of the manager can be customized now.
X


Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-04-19 13:11:19
I'm playing with a CMD batch script (along some internal changes) to create packages from my files (which then can be imported at SMP package manager), and it seems to be working fine for the waveform script, creating the file structure and package info JSON file.

It should cover all my scripts but the Buttons toolbar one (*). This way I would be able to support both packages and script files.
In case someone wants to test it, let me know.

(*) It's not trivial to allow a package to dynamically load other packages without hard-coding names... so I don't see how to do it.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 20:31:28
Could someone test these packages? They are built directly from the latest repository commits.

If it works fine this will be the new recommended installation method from now on.

The manager one is missing the readme pdf (due to size restrictions here). If anyone cares, the cmd script is on the repositories too (for the playlist manager, world map and waveform seekbar), so the packages can always be created with the most up to date file versions. Right now it supports those 3 scripts.

EDIT: Removed. See below.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 20:47:03
Could someone test these packages? They are built directly from the latest repository commits.

If it works fine this will be the new recommended installation method from now on.

The manager one is missing the readme pdf (due to size restrictions here). If anyone cares, the cmd script is on the repositories too (for the playlist manager, world map and waveform seekbar), so the packages can always be created with the most up to date file versions. Right now it supports those 3 scripts.

I supposed it must be installed importing with script package manager, right?

Both gives me
Code: [Select]
Failed to open archive: `Playlist-Manager-SMP-0-5-0-beta19.zip`
  mz_zip_reader_init_file failed with error 0x7: failed finding central directory
Code: [Select]
Failed to open archive: `Not-A-Waveform-Seekbar-SMP-1-0-0.zip`
  mz_zip_reader_init_file failed with error 0x7: failed finding central directory
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 20:51:55
Could someone test these packages? They are built directly from the latest repository commits.

If it works fine this will be the new recommended installation method from now on.

The manager one is missing the readme pdf (due to size restrictions here). If anyone cares, the cmd script is on the repositories too (for the playlist manager, world map and waveform seekbar), so the packages can always be created with the most up to date file versions. Right now it supports those 3 scripts.

I supposed it must be installed importing with script package manager, right?

Both gives me
Code: [Select]
Failed to open archive: `Playlist-Manager-SMP-0-5-0-beta19.zip`
  mz_zip_reader_init_file failed with error 0x7: failed finding central directory
yep, like the Bio panel or Find n play.

Uhm... it seems some kind of incompatibility with my tar binary (https://libarchive.org/) and SMP's zip library. WTF I will have to investigate it more.

These are created using 7zip
Edit: see below.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 20:59:28
Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({422165D7-5F7A-4323-AF72-A2E057703614}: Playlist-Manager-SMP v0.5.0-beta19 by Regorxxx)
can't access lexical declaration `list' before initialization

File: main.js
Line: 252, Column: 7
Stack trace:
  @main.js:252:7


Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({422165D7-5F7A-4323-AF72-A2E057703614}: Not-A-Waveform-Seekbar-SMP v1.0.0 by Regorxxx)
include failed:
include failed:
Path does not point to a valid file: ..\..\helpers\helpers_xxx_input.js

File: seekbar_xxx_menu.js
Line: 3, Column: 1
Stack trace:
  @seekbar_xxx_menu.js:3:1
  @main.js:120:1

and

Code: [Select]
Required dependency not found: audiowaveform

"Z:\\home\\user\\.foobar2000_v2\\profile\\scripts\\SMP\\xxx-scripts\\helpers-external\\audiowaveform\\audiowaveform_32.exe"

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 21:07:27
Quote
Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({422165D7-5F7A-4323-AF72-A2E057703614}: Playlist-Manager-SMP v0.5.0-beta19 by Regorxxx)
can't access lexical declaration `list' before initialization

File: main.js
Line: 252, Column: 7
Stack trace:
  @main.js:252:7

XD not related to the package thing, but a bug. This should work.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 21:23:32
Quote
Code: [Select]
Required dependency not found: audiowaveform

"Z:\\home\\user\\.foobar2000_v2\\profile\\scripts\\SMP\\xxx-scripts\\helpers-external\\audiowaveform\\audiowaveform_32.exe"
Added missing file and reworked binaries path checking to use the package path.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 21:38:15
The wave works (very slowly in my potato)

the playlist load and show the pop-up duplicated.

in the final, select hidden features....that also show twice crash with yes and no.

Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({98310BD0-1764-4710-BF17-49605366AAD2}: Playlist-Manager-SMP v0.5.0-beta19 by Regorxxx)
this.properties.playlistPath[1] is undefined

File: playlist_manager_list.js
Line: 3871, Column: 2
Stack trace:
  _list@playlist_manager_list.js:3871:2
  @main.js:290:14

After the crash, reloading the panel, it loads. caching library, checking paths, etc
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 21:44:07
The wave works (very slowly in my potato)

the playlist load and show the pop-up duplicated.

in the final, select hidden features....that also show twice crash with yes and no.

Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({98310BD0-1764-4710-BF17-49605366AAD2}: Playlist-Manager-SMP v0.5.0-beta19 by Regorxxx)
this.properties.playlistPath[1] is undefined

File: playlist_manager_list.js
Line: 3871, Column: 2
Stack trace:
  _list@playlist_manager_list.js:3871:2
  @main.js:290:14

After the crash, reloading the panel, it loads. caching library, checking paths, etc
The first thing is normal if you already have the script loaded on another panel, obviously. Warns you about it.

The second part makes no sense at all. It's simply not possible unless the panel got corrupted somehow. Could you retry on a blank panel? (no properties left)
EDIT: Tried myself multiple times and works fine.
Title: Re: Playlist-Manager-SMP
Post by: Terence on 2023-05-02 22:14:58
I got the same results as paregistrase, except it was audiowaveform.exe (not _32), and except the last error. I quickly loaded the components on a portable installation, it tells me it's a portable installation (something with the playlist path). I don't know these components so I can't say more.

It seems to me that you can't import the zip file into the package manager if there are accents ( é ) in the path, in the folder name. It says "Failed to open archive: `Not-A-Waveform-Seekbar-SMP-1-0-0(1).zip`
  mz_zip_reader_init_file failed with error 0x11: file open failed". If I put the zip file in another folder, it works.
It would come from SMP, I may have seen that before. Maybe to be mentioned on the wiki.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 22:17:25
I got the same results as paregistrase, except it was audiowaveform.exe (not _32), and except the last error. I quickly loaded the components on a portable installation, it tells me it's a portable installation (something with the playlist path). I don't know these components so I can't say more.

It seems to me that you can't import the zip file into the package manager if there are accents ( é ) in the path, in the folder name. It says "Failed to open archive: `Not-A-Waveform-Seekbar-SMP-1-0-0(1).zip`
  mz_zip_reader_init_file failed with error 0x11: file open failed". If I put the zip file in another folder, it works.
It would come from SMP, I may have seen that before. Maybe to be mentioned on the wiki.
All those problems should have been fixed on the latest files.
It was related to the way tar zipped the files.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 22:19:36
I found the source of the pop-ups.

After select the package and close the window the script start to load.

and the SMP window is still open (SMP configuration). If I close the script pop-up warning and the script select window the panel begin to load normally.
But when I close the SMP window another script select window is crated and select yes or no gives the crash.

If i don't close the scripts pop-ups and tried to close the SMP configuration window first a set of scripts pop-up windows is created every time i hit ok. I hit it a lot of time and end with at least 10 sets, with a lot of undefined variables error every time I close one.

At the end a final crash after closing it all

Code: [Select]
Error: Spider Monkey Panel v1.6.1-mod ({888CBEF1-623E-4779-AF84-04AD5713737D}: Playlist-Manager-SMP v0.5.0-beta19 by Regorxxx)
this.properties.playlistPath[1] is undefined

File: playlist_manager_list.js
Line: 3871, Column: 2
Stack trace:
  _list@playlist_manager_list.js:3871:2
  @main.js:290:14


A reload and it works normal.

Also in the console
Code: [Select]
_runCmd(): failed to run command "Z:\home\user\.foobar2000_v2\profile\foo_spider_monkey_panel\packages\{2A6AEDC9-BAE4-4D30-88E2-EDE7225B494D}helpers-external\cmdutils\Recycle.exe" -f "Z:\home\user\.foobar2000_v2\profile\js_data\playlistManager_playlist_manager.json.old"(Error: ActiveX_Run failed:
WinAPI error:
  ActiveXObject call failed with error (0x80070003):
    Ruta no encontrada.)
Playlist manager: reading files from "Z:\home\user\.foobar2000_v2\profile\playlist_manager\


Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 22:23:35
Also in the console
Code: [Select]
_runCmd(): failed to run command "Z:\home\ruben\.foobar2000_v2\profile\foo_spider_monkey_panel\packages\{2A6AEDC9-BAE4-4D30-88E2-EDE7225B494D}helpers-external\cmdutils\Recycle.exe" -f "Z:\home\user\.foobar2000_v2\profile\js_data\playlistManager_playlist_manager.json.old"(Error: ActiveX_Run failed:
WinAPI error:
  ActiveXObject call failed with error (0x80070003):
    Ruta no encontrada.)
Playlist manager: reading files from "Z:\home\user\.foobar2000_v2\profile\playlist_manager\



Didn't really understand a word XD (provide a video please) but that seems a mix SMP and wine things, not mine. That's the way SMP works. Popups are shown while the package manager is opened, so if you don't close it... and click 'ok' on the package manager. Then the popup continues running on non available code. That's a SMP bug.

All popups must be closed before closing the SMP configure panel (which reloads the panel). Obviously SMP should be fixed to not do this at some point.
Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 22:35:42
This should fix the missing '\' at the path (related to the console log).
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 22:41:14
here (https://www.udrop.com/8628/Grabación_de_pantalla_desde_2023-05-02_23-35-39.webm)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 22:51:52
As noted, you are supposed to close the popups first (before closing the SMP window). It's a SMP bug (in Windows the SMP window is closed after clicking 'ok' once though so it only gets repeated twice, that's a wine thing).

The other error is fixed on latest file.

I will report it at github, but don't expect a SMP fix until september at least XD
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 23:13:40
In wine with the rest of packages, the window act like you said. It closes when hit ok (even with the wave you post) and not respawn the panel.

Is only the playlist manager.

Anyway the panel at the end load and install just fine.

The console message is gone too.

Insert great success borat meme :-)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 23:22:55
In wine with the rest of packages, the window act like you said. It closes when hit ok (even with the wave you post) and not respawn the panel.

Is only the playlist manager.

Anyway the panel at the end load and install just fine.

The console message is gone too.

Insert great success borat meme :-)
Because other packages don't use a popup on init. As said, it's a SMP bug related to popups + packages. It's the same on windows
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/210
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 23:28:02
I get it now. That is why I never saw it before.

The first time I hit the Ok button a bazillion times and ends with a multi-bazillion pop-ups  :D
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 23:32:59
Taking apart SMP bugs, this method is a lot easier and intuitive.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-02 23:39:47
I get it now. That is why I never saw it before.

The first time I hit the Ok button a bazillion times and ends with a multi-bazillion pop-ups  :D
Yep, that's a problem XD

Maybe I can find some kind of workaround, like a dummy popup when using packages asking the user to close the rest before closing the SMP window. Then in case the dummy popup belongs to a previous instance, don't continue. Will try tomorrow and post here

And yep, it seems much easier for the final user.
Title: Re: Playlist-Manager-SMP
Post by: TT on 2023-05-02 23:48:22
Man regor, I feel sorry for you.
I don't know how many times I've read that you're doing some sort of workarounds to fix
some stupid shit xD. Fortunately for me, I only have like 6-8 ( or maybe more, I can't remember ) in my theme :p

But on the positive downside, you're getting more and more creative ;-)

P.S Enjoy to adjust and delete those workarounds when SMP finally has the fixes.

-TT
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-02 23:52:37
Man regor, I feel sorry for you.
I don't know how many times I've read that you're doing some sort of workarounds to fix
some stupid shit xD. Fortunately for me, I only have like 6-8 ( or maybe more, I can't remember ) in my theme :p

But on the positive downside, you're getting more and more creative ;-)

-TT

Become a user, It is easier, you just have to complain  8)
Title: Re: Playlist-Manager-SMP
Post by: TT on 2023-05-02 23:56:27
@paregistrase, that's exactly my plan once the public release of my theme has been released  :))

-TT
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-03 00:02:54
There's only two rules. Never read the instructions and click yes at every window (without read it, first rule applies)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-03 00:19:25
There is no workaround but throwing on purpose with a custom message XD (windows.reload doesn't work at that point and it refuses to do most things).

At that point I can simply say read the popup  ::)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-03 00:26:53
Ok. Nevermind. Found the workaround. Will send the fix later to @TheQwertiest. You can thank me later.
Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: TT on 2023-05-03 00:37:26
I see what you did there regor, my eyes are everywhere, like a lupa xD
I can approve this message if you change "bad" with "good" :P

-TT
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-03 00:42:18
I see what you did there regor, my eyes are everywhere, like a lupa xD
I can approve this message if you change "bad" with "good" jokes  :P

-TT
Somehow SMP refuses to show that message and keeps changing it to bad jokes.

Not sure if there is a workaround for that, but I will do my best. Promise  ::)
Title: Re: Playlist-Manager-SMP
Post by: TT on 2023-05-03 00:48:53
Ok, await promise  :-X

-TT
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-08 15:50:37
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.19
v0.5.0-beta.19 - Youtube support, UI revamp & Package installation
Quote
## [0.5.0-beta.19] - 2023-05-08
### Added
- Search: search toolbar to filter the current view according to the input. Supports case insensitive matching by playlist name, tag, category or tracks' file or folder names (this one disabled by default). Works pretty similar to the search filters found on Library Tree or the album viewer (except no query support). Enabling the path searching allows to easily find tracks within playlists (both loaded and non loaded ones). Path level is configurable. There is also an additional setting to parse RegExp expressions (which allow more advanced searches).
- XSP: 'datemodified', 'dateadded', 'datenew', 'noofchannels', 'samplerate', 'musicbitrate', 'time', 'origyear' and 'bpm' support. This covers all tags on the [specs](https://github.com/xbmc/xbmc/blob/master/xbmc/playlists/SmartPlayList.cpp), except 'source' tag which has no correspondence in foobar2000.
- ListenBrainz: on first init, panel will try to retrieve user token from other panels (like [ListenBrainz-SMP](https://github.com/regorxxx/ListenBrainz-SMP)).
- ListenBrainz: new menu entry to retrieve user token on demand from other panels (like [ListenBrainz-SMP](https://github.com/regorxxx/ListenBrainz-SMP)).
- ListenBrainz: new option to look for not found tracks on library at YouTube when retrieving playlists from ListenBrainz. Requires 'foo_youtube' component installed. When links are loaded, the entire process is asynchronous and playlist filling may take some seconds. Track order is ensured in the process (contrary to other scripts relying on foobar path loading).
- Backup: in case a playlist backup file is found on startup, panel asks to restore it. This usually happens if the panel crashes while editing a playlist file.
- Package: new installation method as package.
### Changed
- ListenBrainz: improvements to error handling and reports given to user.
- ListenBrainz: playlist MBID is now cached on import menu entry (during same session).
- ListenBrainz: .xspf playlists now save user-name at 'creator' tag, user's web page at 'info' tag, playlist's web page at 'location' tag and description metadata.
- ListenBrainz: .m3u8 playlists now save user-name at 'author' tag and description metadata.
- ListenBrainz: panel is now blocked with an animation while retrieving playlists.
- Playlist formats: all playlists created by the manager will now have 'author' metadata present and set to 'Playlist-Manager-SMP'.
- UI: revamp of UI, moving list and header menus to buttons at the header along a more modern look. Header actions (and tooltip info) are now available at the bolt button.
- UI: up/down buttons are replaced by a smart scroll bar which is automatically hidden when the mouse is not over. Double clicking on the bar will jump to the active/playing playlist. Double clicking on the up/down bar buttons will jump to the top/bottom of the list.
- UI: -by default- up/down buttons are now only shown while drag n' dropping to easily scroll the list.
- UI: main UI elements can now be enabled/disabled via the settings menu. i.e. it's possible to revert all new UI additions by disabling them, showing only a header with the tracked folder.
- Playlist locks: locks are now easily switched in a submenu list, showing action descriptions, instead of using popups. It will also state when the lock is applied by other components.
- Drag and Drop: tracks can now be dropped to the search toolbar to parse their filenames for filtering (when file/folder searching is enabled). This is equivalent to the 'Find current selection...' menu entry, but direclty filtering the current view (instead of showing a report popup).
- Menus: restore feature also supports playlists closed outside the panel (i.e. UI-only playlists even if they are not tracked). Name also shows if it's assigned to a file or UI.
- Playlist loading: some minor optimizations.
- Console: multiple improvements when logging to file for FbMetadbHandle, FbMetadbHandleList, Error and unknown instances (totally irrelevant except for debug purposes).
- Documentation: updated readme PDF to be up to date with all latest changes. Added all XSP -> foobar2000 tag equivalences.
- Console: menu entries are no longer logged to console after clicking.
- Helpers: updated helpers.
### Removed
### Fixed
- Renaming: auto-renaming of playlist tracked on manager if renaming was done within playlists tabs not working on some cases (still only possible for active playlist).
- AutoPlaylists: 'Reload playlist (overwrite)' was not working properly, creating a duplicated playlist instead of overwriting the existing one.
- ListenBrainz: crash due to renamed 'contentResolver' function call.
- ListenBrainz: workaround for windows caching of server requests (so sometimes playlists were not updated with changes on real time).
- ListenBrainz: relative paths not being used -if configured to do so- when importing playlists from ListenBrainz.
- Clone: relative paths not being used -if configured to do so- when cloning a playlist file.
- Clone: links being reported as non found when cloning a playlist file. Now they are silently omitted. Non found paths are still reported.
- UI: MBIDs filtering not being saved between sessions.
- UI: resetting all filters did not reset MBID filtering.
- UI: selected and highlighted playlist rectangles did not match in size (again).
- UI: crash when using 'UI\Set custom colours...\Reset all to default' menu entry.
- Links: multiple fixes to web links handling, specially for YouTube links (which should now properly use the 'fy+' scheme in all cases).
- Links: fix web links identification, using '\\' or '//' convention.
- Paths: multiple fixes to inconsistent path handling, specially for items with subsong indexes or links (at the playlist maintenance tools).
- Playlists maintenance tools: fixed relative path handling for 'Duplicated items...' tool when there were multiple relative levels.
- Playlists maintenance tools: fixed report for 'Absolute/relative paths...' tool; displaying always none even when results where found.
- Playlists maintenance tools: fixed report for 'Duplicated items...' tool; popup said 'dead items' instead of 'duplicated items'.
- XSP: sorting not properly saved on smart playlist creation.
- XSP: type ('songs') not properly set on smart playlist creation.

Script should be installed as package, using the package manager at the Spider Monkey Panel Configuration window. Old method is still supported anyway.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-08 16:16:42
Smooth transition using the new package installer.

Just a suggestion, maybe renaming the package installers to differentiate them from the .zip ones?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-08 16:38:04
Smooth transition using the new package installer.

Just a suggestion, maybe renaming the package installers to differentiate them from the .zip ones?
I'm not sure what do you mean. The only zip file added by me is the package. Otherwise it's just the source code, as always.

Playlist-Manager-SMP-0-5-0-beta19.zip
Source code (zip)
Source code (tar.gz) 
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-08 16:52:14
Smooth transition using the new package installer.

Just a suggestion, maybe renaming the package installers to differentiate them from the .zip ones?
I'm not sure what do you mean. The only zip file added by me is the package. Otherwise it's just the source code, as always.

Playlist-Manager-SMP-0-5-0-beta19.zip
Source code (zip)
Source code (tar.gz)

I refer to something in the name that indicate that is intended to use with the package installer. In the page is clear but when you download both, like they have the same name you just get:

Playlist-Manager-SMP-0-5-0-beta19.zip and Playlist-Manager-SMP-0-5-0-beta19(1).zip

The only way to know which one is the installer is to open the zips.

But maybe not everyone is going to download the source, don't know, just a thought
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-08 16:54:05
I didn't know github renamed the file XD
Will rename it then. Thanks
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-08 16:59:16
I didn't know github renamed the file XD
Will rename it then. Thanks

Much clear now. Also, that differentiates them from the other components that still use the old method.

Very cool the new last.fm by the way
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-20 00:19:53
Came with a solution to the first installation problems due to SMP bugs... Panel will be disabled on first init, and only when the user clicks setup it will start running. If the user never clicks setup, then panel will stay indefinitely disabled. That will avoid the current situation with popups being shown while the SMP windows are opened. it will also force users to put attention to the installation process. (this gif is obviously missing the setup process, since it's being applied over an existing panel)

X
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-26 11:06:45
This is a really cool script, very powerful and well thought-out.

There are some features that I would love to see added though:
- A folder structure tree-view that is based on the actual folder structure of the playlist folder.
- A way to order playlists manually, using an index property or such.
- The "By date" sorting scheme is based on the modified date. For some purposes, creation date would make more sense. Although one problem is that on an NTFS partition where I keep all my music, the crtime doesn't seem to be straightforwardly accessible under Linux. (https://unix.stackexchange.com/questions/87265/how-do-i-get-the-creation-date-of-a-file-on-an-ntfs-logical-volume) Not sure how it is under Windows. Maybe instead the script could write the date to the file when it creates it. I realize this is a rather particular use case though.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-26 13:59:26
Okay, forget about the NTFS issue, I just switched to a Kernel that supports NTFS3 and now crtime works just fine.

A different thing: How do I convince the script that I have Segoe UI installed? I have segoeui.ttf in .../windows/Fonts, but it still complains.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-26 15:45:38
A different thing: How do I convince the script that I have Segoe UI installed? I have segoeui.ttf in .../windows/Fonts, but it still complains.
Read this:
https://github.com/regorxxx/Playlist-Tools-SMP/wiki/Wine

There are users who are more capable on that topic than me though. But maybe that helps.

If there is additional feedback, I will update all wikis and readmes as needed. (also check the readme PDF)

Quote
- A folder structure tree-view that is based on the actual folder structure of the playlist folder.
Not sure yet if I will add a tree-view or just categories by folder. But something along these lines may come in the future.

Quote
- A way to order playlists manually, using an index property or such.
Even if this seems trivial, it's not due to supporting physical playlist files. Adding an index tag at the playlist would mean having to rewrite them all whenever a playlist is added, removed or order changed.

Have in mind my manager works like the foobar album manager. You can not manually sort that. I may add an additional layer to store those indexes outside the actual playlists files; but in such case order would be limited to your individual installation (can not move the playlist to other instance and preserver the order).

There is also a possibility I will only support some of these features on UI-only playlists, in a "simple mode", meant to replace foo_plorg.
Quote
The "By date" sorting scheme is based on the modified date. For some purposes, creation date would make more sense.
That one is trivial to implement, just done it in 5 min. I will also look into implementing it for UI-only playlists, storing the date internally.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-26 18:33:27
A different thing: How do I convince the script that I have Segoe UI installed? I have segoeui.ttf in .../windows/Fonts, but it still complains.

Try to put the font in the user directory "/home/user/.local/share/fonts". Create one if not there and rebuild font cache "fc-cache -f -v"

You can also use "/usr/share/fonts" if you want to make it available for all users.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-26 19:51:41
Read this:
https://github.com/regorxxx/Playlist-Tools-SMP/wiki/Wine

There are users who are more capable on that topic than me though. But maybe that helps.

If there is additional feedback, I will update all wikis and readmes as needed. (also check the readme PDF)
The suggestions from the wiki didn't help unfortunately. Also the link to the SMP Wine page is dead. Maybe this should be linked instead: https://theqwertiest.github.io/foo_spider_monkey_panel/docs/faq/wine/

The only thing that worked in the end was manually adding the following registry entries:

Code: [Select]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Fonts]
"Segoe UI (TrueType)"="C:\\windows\\Fonts\\segoeui.ttf"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
"Segoe UI (TrueType)"="C:\\windows\\Fonts\\segoeui.ttf"

Of course the paths need to point to a file that actually exists. In a standard wine prefix, these files don't exist, so they'll have to be added manually. Alternatively, one could use a wine-readable path to any other font file on the system, of course.

Try to put the font in the user directory "/home/user/.local/share/fonts". Create one if not there and rebuild font cache "fc-cache -f -v"

You can also use "/usr/share/fonts" if you want to make it available for all users.
Adding the file isn't enough, there needs to be a registry entry.

Quote
Quote
- A way to order playlists manually, using an index property or such.
Even if this seems trivial, it's not due to supporting physical playlist files. Adding an index tag at the playlist would mean having to rewrite them all whenever a playlist is added, removed or order changed.

Have in mind my manager works like the foobar album manager. You can not manually sort that. I may add an additional layer to store those indexes outside the actual playlists files; but in such case order would be limited to your individual installation (can not move the playlist to other instance and preserver the order).
Yeah, that did cross my mind. An external file would probably be the best solution. Perhaps it would be helpful to add a unique ID to each playlist file which can be referenced by the index file, so it doesn't depend on filenames.

Quote
Quote
The "By date" sorting scheme is based on the modified date. For some purposes, creation date would make more sense.
That one is trivial to implement, just done it in 5 min. I will also look into implementing it for UI-only playlists, storing the date internally.
Awesome.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-26 20:07:05
Yeah, that did cross my mind. An external file would probably be the best solution. Perhaps it would be helpful to add a unique ID to each playlist file which can be referenced by the index file, so it doesn't depend on filenames.

Quote
Quote
The "By date" sorting scheme is based on the modified date. For some purposes, creation date would make more sense.
That one is trivial to implement, just done it in 5 min. I will also look into implementing it for UI-only playlists, storing the date internally.
Awesome.
That doesn't help at all. Foobar had no unique ids for playlist and SMP has not exposed a way to associate a playlist to an id. So the only way to track a playlist is by name. It's not my design choice.

PD: updated the wiki and added these new things. @paregistrase looking forward to your comments about the reg edits too
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-26 21:58:23
What I had in mind was just putting a random string, plus maybe the current unix timestamp to rule out duplicates, in the header of the playlist file like "#ID:hg9d.1685133336".
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-26 22:14:47
As said, that brings nothing useful. You still can not link that unique playlist to a playlist within foobar; as soon as there are 2 playlists named "My playlist" on UI, there is no way to differentiate them (unless you also add the id to the name in the UI). I obviously know I can do it in JS, the problem is the UI part. And the manager will throw you a popup about not supporting duplicates for this reason.

I already solved that with invisible chars long time ago, but that's a hack.Read the pdf (10.7 Playlist binding). It needs a new SMP version.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2023-05-26 22:28:15
Try to put the font in the user directory "/home/user/.local/share/fonts". Create one if not there and rebuild font cache "fc-cache -f -v"

You can also use "/usr/share/fonts" if you want to make it available for all users.
Adding the file isn't enough, there needs to be a registry entry.

There's no need to extra steps to make the font available in WINE. Simply put it in the font folder (user or system wide) and after rebuild the cache or reboot there will be available in WINE.

The registry is only necessary to make the font fallbacks
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-26 22:41:58
rebuild the cache or reboot there will be available in WINE.

Fair enough, idk how but I missed the "rebuilding the cache" part.

As said, that brings nothing useful. You still can not link that unique playlist to a playlist within foobar; as soon as there are 2 playlists named "My playlist" on UI, there is no way to differentiate them (unless you also add the id to the name in the UI). I obviously know I can do it in JS, the problem is the UI part. And the manager will throw you a popup about not supporting duplicates for this reason.

I'm probably being dense, but we are still talking about sorting methods, right? So you're saying SMP supports stuff like sorting playlists by tags parsed from the header, but not parsing an ID from the header and then looking up that ID in another file to get an index value, and then sorting by that index value?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-26 22:50:19
rebuild the cache or reboot there will be available in WINE.

Fair enough, idk how but I missed the "rebuilding the cache" part.

As said, that brings nothing useful. You still can not link that unique playlist to a playlist within foobar; as soon as there are 2 playlists named "My playlist" on UI, there is no way to differentiate them (unless you also add the id to the name in the UI). I obviously know I can do it in JS, the problem is the UI part. And the manager will throw you a popup about not supporting duplicates for this reason.

I'm probably being dense, but we are still talking about sorting methods, right? So you're saying SMP supports stuff like sorting playlists by tags parsed from the header, but not parsing an ID from the header and then looking up that ID in another file to get an index value, and then sorting by that index value?
I already told you from the beginning I know how to link an index to a playlist file. The index MUST be changed everytime a playlist is deleted, added or moved. Obviously I can add an unique id to a playlist file, but that brings zero improvements. Playlists MUST be unique by design, since there can not be two playlist with the same name in foobar (or I cant track them anymore).

Since the manager tracks not only playlist files, but also UI-only playlists, your UUID idea doesn't work. If I have two playlists named "my playlist", which one is "1" and which one is "2"? And if I swap them? If I rename one of them, which one should I rename, 1 or 2?

There is no physical file with a tag. You are supposing all playlists work the same, and that's not true. I may add arbitrary things to physical playlists, I can not do so with UI-only ones.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-26 23:17:27
Honestly I wasn't even thinking about UI-only playlists at all since I find the physical playlists so much more convenient to work with. I can totally see how mixing the two types of playlists in the UI complicates things tho.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-26 23:34:15
Honestly I wasn't even thinking about UI-only playlists at all since I find the physical playlists so much more convenient to work with. I can totally see how mixing the two types of playlists in the UI complicates things tho.
Even if you don't consider them, as soon as you load the playlist file into UI, it requires to be tracked by name (to be able to update changes within the UI into the file).

A SMP update could solve it. JSP added methods for that some time ago for ex.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-05-27 20:20:09
Is there a way to make drag & drop behave more like in the standard playlist manager where when you drag tracks from one playlist to another one, they get copied rather than moved?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-05-29 01:06:04
Read the pdf readme. It's explained there.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-06-02 21:29:59
Quick question: Why are right click actions restricted to the action button and filter buttons? The documentation says that right click also works on "list" (meaning the list of playlists?), but that doesn't seem to work for me, and nothing happens when I right click anywhere on the list.

I'm used to right click opening context menus (that's the behavior in the rest of Foobar anyway), so having that on left click instead for playlists seems a bit counterintuitive and is hard to get used to. I assume there must be a technical reason for it?

Oh, also the double click timeframe seems a bit short to me (i.e. it requires a very fast doubleclick) - is there some way to make it longer? Like, a number I can increase somewhere in the scripts?
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-05 00:45:43
Quick question: Why are right click actions restricted to the action button and filter buttons? The documentation says that right click also works on "list" (meaning the list of playlists?), but that doesn't seem to work for me, and nothing happens when I right click anywhere on the list.
Docs also explain that specific mouse shortcuts only work whenever there is not a button doing the same action. Section 27.5. I have to agree there is no note about it at 24, which may be confusing.

There is no point on enabling the settings menu by r. Clicking on all buttons, when there is a specific button for it. You are asking for too much complexity there and the tooltips are pretty clear about the available actions.

Quote
I'm used to right click opening context menus (that's the behavior in the rest of Foobar anyway), so having that on left click instead for playlists seems a bit counterintuitive and is hard to get used to. I assume there must be a technical reason for it?
Then just assign current L. click action to something else (?).

If I allow r. click customization then I also have to check if there is a button to open the same menu, which is simply too complex since I also allow buttons customization. I plan to do that at some point, but it has zero priority for me.  All actions are configurable. And you don't select playlists like tracks in a library, so you can simply set the l click action to show playlist and done.

Quote
Oh, also the double click timeframe seems a bit short to me (i.e. it requires a very fast doubleclick) - is there some way to make it longer? Like, a number I can increase somewhere in the scripts?
Latest commit.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-06-05 10:19:24
My explanation of my issue was too roundabout and confusing. My only real problem is that left click opens the playlist context menu instead of right click. I don't think that can currently be changed? Neither Single left click (on playlists) nor individual playlist context menu nor right click actions seem to be re-assignable.

Quote
Latest commit.
👍
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-05 11:54:50
You are right, I missed Single L. Click is not configurable. As said it was on my todo list, and it didn't took me so much time so check in a few hours. Added full L. Click and R. Click customization, and now Contextual playlist menu defaults to R. Click.
I'm also thinking about adding the native playlist items contextual submenu to Shift + R. Click.
Title: Re: Playlist-Manager-SMP
Post by: dpc666 on 2023-06-05 12:30:01
Neat, thanks.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-05 17:39:12
Should be online now. Don't forget to restore default values first.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-13 12:42:15
I'm now working on expanding ListenBrainz integration (latest commits allow directly exporting playlists to Spotify  :)) ) and polishing the UI.

Drag n drop will now show a tooltip to indicate the current action (according to position and Ctrl/Alt being pressed):
Spoiler (click to show/hide)
This should make much easier to understand what's going on.
Note how a new playlist can be created by dropping on blank space, the + button or pressing alt.
Dropping on the search box, will filter playlists containing the tracks.

Also added some common win shortcuts for files:
Spoiler (click to show/hide)

These will NOT be configurable (contrary to mouse shortcuts). But I can add a global switch to enable/disable them. I'm open to suggestions about F1, F6, F8 (delete?), ... or tweaking the existing ones.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-14 10:14:12
Finally used these:
- F1: Lock/unlock playlist file or UI-only playlist.
- F2: Rename highlighted playlist.
- F3: Clone in UI highlighted playlist.
- F4: Load/show highlighted playlist
- F5: Copy highlighted playlist. Maintains original format.
- F6: Export playlist to ListenBrainz (+Spotify).
- F7: Add new (empty) playlist.
- F8: Delete highlighted playlist
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-14 11:34:41
Also:
- F9: Filter/Search playlists with selected tracks.
- F10: Open settings menu or List menu (+Shift) (for usage without mouse/buttons).
- F11: Open help.
- F12: Open playlists folder.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-15 11:33:30
Header buttons are now highlighted in some situations:
- Filter button (x): when any filter is active.
And animation:
- Settings button: when library changes have not been cached (useful in case the tracking has been stopped on purpose).
- Folder button: when tracked folder contains changes and manager has not been updated (useful when auto-loading is disabled).

Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-21 16:56:29
Added fully configurable columns (width, size, color, metadata, ...) , which can be globally hidden/shown pressing 'º', '\' or 'Numpad /':
Spoiler (click to show/hide)
(UI glitches are due to gif compression)
This replaces the feature to show size on parenthesis (both are available now) and offers more customization.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-22 10:55:04
Now added lock, track tags and ListenBrainz sync as columns. Pics with different settings:


Note the lock column may replace the usage of playlist icons if there is no need to differentiate playlists by format (also the colors -which are configurable- may help with that).


Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-29 13:52:56
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.22
Full UI redesign, important bugfixes and almost any element is now configurable. New lite mode which only tracks native playlists (UI-only playlists), hides advanced features and may be used as foo_plorg replacement (for people who doesn't care about playlist files or other features).


Only thing "missing" to cover all foo_plorg features are folders, which currently is done via categories + filters. It's a design decision which may change at some point. Anyway this script surpasses foo_plorg on all other aspects, so choose your poison.

Quote
[0.5.0-beta.22] - 2023-06-29
Added

    UI: new menu entry to create UI-only playlists.
    UI: new lite mode to exclusively track UI-only playlists, thus behaving like a simple replacement for foo_plorg. Extends the current settings to disable/enable features, changing how the panel works at low level. i.e. no playlist files, no folder tracking, etc.

Changed

    UI: configurable playlist menus is now at 'Features...' submenu within the settings menu. No longer associated to "menu entries" since it now affects other settings.
    UI: settings menu, new playlist menu, keyboard shortcuts and filter buttons now follow the settings for shown/hidden features. i.e. if menu entries to edit tags are hidden, then all other features depending on it will also be hidden (like filtering or sorting by tag). (see above)

Removed
Fixed

    Playlist locks: menu entries not working properly for multiple selection mode (when lock was set by another component). Now mimics the behavior of single selection menu.
    UI: workaround for a SMP crash with some combinations of sizes drawing rounded boxes. This doesn't solve the underlying problem but at least bypass the crash and just omits painting the element.
    UI: another workaround for a SMP crash with some combinations of sizes drawing rounded boxes, this time aiming to avoid the previous situation by properly adjusting arc of rounded boxes whenever it's possible.

[0.5.0-beta.21] - 2023-06-27
Added

    Tags: new auto-tags named 'bPinnedFirst' and 'bPinnedLast' which force showing the tagged playlists at top/bottom of the list, for any sorting/filtering combination.
    UI: script will be completely disabled after installing for the first time until user clicks on the setup button (which will initiate a serie of popups). This is a workaround for a SMP bug during the installation process.
    UI: added manual sorting. It must be enabled on the sorting button and works independently to the automatic sorting methods. Playlist can be reordered by drag n' dropping within the panel or using the sorting submenu. It also works with multiple selection. Pinned playlists are ignored in this mode. Sorting indexes are stored at '.\js_data'.
    UI: configurable columns to display playlist metadata. Width, metadata, font size, order, num of columns, borders and colors can be set. In the case of playlist's size, a configurable unit may be set. The entire feature may be disabled using the configurable UI elements submenu.
    UI: added sorting by creation date.
    UI: added sorting by duration.
    UI: added configurable R. click mouse actions (like the previous L. click and Middle click ones).
    UI: added configurable timer for double clicking.
    UI: added configurable timer for tooltip (on properties panel). By default is now 2 times the double clicking timer, also if changed, a popup will ask to update its value.
    UI: settings header button is now animated when library tracking has been disabled and path cache needs to be rebuilt.
    UI: folder header button is now animated when tracked playlists folder contains new changes. In case auto-loading has been disabled, it can be used as a warning to know when manual refresh is needed.
    UI: filter header button is now highlighted whenever a filter is active, It follows the 'Also reset search filter' setting, thus not being highlighted while using the search filter if it's disabled.
    UI: added new menu entry to create a playlist from current selection (which does the same than drag n' drop + ALT).
    Drag and Drop: added tooltip on drag n drop giving hints about the action used: sending to new playlist, to selected playlist, to search box, ...
    Keyboard shortcuts: pressing F1 will lock / unlock the highlighted playlist file or UI-only playlist.
    Keyboard shortcuts: pressing F2 will rename the highlighted playlist.
    Keyboard shortcuts: pressing F3 will create a clone on UI of the highlighted playlist.
    Keyboard shortcuts: pressing F4 load the highlighted playlist (or jump to it if it was already loaded).
    Keyboard shortcuts: pressing F5 will create a copy of the highlighted playlist with same extension. AutoPlaylists, Smart Playlists and UI-only playlists will maintain their format.
    Keyboard shortcuts: pressing F6 will export the highlighted playlist to ListenBrainz (+ Spotify if configured to do so).
    Keyboard shortcuts: pressing F7 will create a new empty playlist.
    Keyboard shortcuts: pressing F8 will cycle current view by category.
    Keyboard shortcuts: pressing F9 will filter the manager showing playlists with the selected tracks (if the search box and path searching are enabled) or show a popup with the results (otherwise).
    Keyboard shortcuts: pressing F10 will open the settings menu or the list menu (when also pressing shift).
    Keyboard shortcuts: pressing F11 will open the documentation (pdf).
    Keyboard shortcuts: pressing F12 will open playlists tracked folder.
    Keyboard shortcuts: pressing DEL will delete the highlighted playlist.
    Keyboard shortcuts: pressing 'º', '' or 'Numpad /' will globally hide/show the playlist's metadata columns.
    Playlist formats: creation and last modified date values are now cached for UI-only playlists and AutoPlaylists. To be used along the new date sorting options.
    Playlist formats: UI-only playlists metadata (tag, category and tracks' tags) is now editable (and cached between sessions). This allows for sorting and categorization of UI-only playlists.
    ListenBrainz: playlists can now be exported to Spotify (when exporting to ListenBrainz). Requires Spotify's service to be connected to the user profile, and 'Play music on ListenBrainz' enabled.
    Clone: added 'Clone as Smart Playlist' entry for AutoPlaylists and Smart Playlists. This allows to easily switch between formats or clone existing XSP playlists.
    Exporting Playlists: added a 'Copy playlist files to...' entry to the multiple playlist selection contextual menu.
    Exporting Playlists: added a 'Export and Copy Tracks to...' entry to the multiple playlist selection contextual menu.

Changed

    ListenBrainz: YouTube searches are now cached (during the same session). i.e. matches are found much faster for tracks already searched.
    ListenBrainz: matches on library -for playlist creation- are now preferred by higher rating and not live tracks (if possible).
    ListenBrainz: optimizations finding tracks on library.
    ListenBrainz: key for the token is cached during the same session.
    ListenBrainz: user name is cached during same session.
    Merge load: when removing duplicates, tracks are now preferred by higher rating and not live.
    Exporting Playlists: when removing duplicates, tracks are now preferred by higher rating and not live.
    XSP: matches on library -for playlist creation- are now preferred by higher rating and not live tracks (if possible).
    XSPF: matches on library -for playlist creation- are now preferred by higher rating and not live tracks (if possible).
    XSPF: optimizations finding tracks on library.
    Playlist formats: creation and last modified date values are calculated when loading the playlist files, and cached during the entire session. Sorting by date is now much faster.
    Drag and Drop: sending tracks to blank space or list menu button (plus shape) will create a new playlist.
    UI: 'show size' option is now disabled by default. i.e. columns offer the same functionality now.
    UI: renamed some menu entries for playlist creation.
    UI: R. clicking now opens the contextual menu for the selected playlists (previously on L. Click). Shift + R. Clicking opens the playlist's items native contextual menu.
    UI: L. single click action is now configurable.
    UI: 'Send selection to playlist' now creates a backup before editing the playlist file (to restore it in case it fails).
    UI: added presets to UI elements configuration menu. Fast settings to enable/disable search box and multiple buttons at the same time.
    UI: added presets to available menu entries configuration menu.
    UI: improved checks to ensure there is at least one UI element able to open the settings menu.
    UI: improved tooltip of power action button. Mouse shortcuts tips are always shown, including the settings menu by R. clicking.
    UI: added new entries to configurable playlist menus: File locks, UI playlist locks and Sorting.
    UI: now applies configurable playlist menus when using multiple selection.
    UI: clicking anywhere on scrollbar will move list up/down depending on relative position, up to the current mouse position (mimics Win behavior).
    UI: adjusted playing now / loaded playlist indicators and letters/numbers separators at right according to the scrollbar state. When it is enabled, those indicators are shifted a bit to the left. Alignment also changes according to the toolbar state (visible or minimized).
    Console: improved console logging for empty playlists (no longer reporting 0 items found).
    Console: improved error logging at multiple places.
    Documentation: updated readme PDF to be up to date with all latest changes.
    Documentation: added a quick help summary at the help button (by pressing shift).
    Dynamic menus: delayed dynamic menus initialization some seconds after panel is loaded (to avoid foobar2000 hiccups due to SMP bad behavior).
    Dynamic menus: retried 5 secs after first try in case it fails or gets blocked.

Removed
Fixed

    UI: category filter is no longer set on first innit in case panel is installed to track UI-only playlists and/or old playlists files with category set.
    UI: weird behaviors (cursor changing and buttons being focused) when pressing shift/ctrl after opening a menu and clicking outside the panel.
    UI: settings menu opening when clicking at blank space within the buttons toolbar at header instead of just the settings and power action buttons.
    UI: incorrect settings for panel/buttons colors using dark mode in foobar2000.
    UI: list view not maintaining current position at some instances. 'Online sync...'.
    UI: focus was lost in some cases when editing an UI-only playlist.
    UI: scrollbar not working properly when list exceeded current window size by one row.
    UI: scrollbar not hiding in some cases.
    UI: multiple minor fixes to menu entry checks (the tick shown if setting is enabled).
    UI: loaded and playing now indicators not working for AutoPlaylists.
    Quick-search: no longer works when the mouse is not over the panel.
    Export: export to JSON not working for AutoPlaylists in so...

Title: Re: Playlist-Manager-SMP
Post by: ApacheReal on 2023-06-29 15:31:32
Found an issue on current installation:
Arial Unicode MS font is missing.

Fix: install missing font.
https://github.com/mrbvrz/segoe-ui-linux

I do not understand.

I already have the Arial Unicode MS font and the subsequent notice of the linux font.

I use windows 11.

Do i have to install a linux font on windows 11?

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-06-29 21:08:39
Ignore it. It's an error on my side.
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.23
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-07-03 18:47:49
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.24

Quote
## [0.5.0-beta.24] - 2023-07-03
### Added
- UI: panel background can now use the now playing/selection art or an external file. Different proportion/filling settings available, along transparency.
### Changed
- UI: while using multiple selection, R. clicking on another playlist appends it to the current selection and immediately calls the context menu. This only happens in case R. Click action is associated to the playlists context menu.
- Search: in case current view is filtered by specific playlist (for ex. using the 'Playlist maintenance tools'), if there is a text on the search box, the results are also filtered by the search.
- UI: some improvements to menus while managing locked UI-only playlists (specially for native AutoPlaylists) or loaded playlists with UI-locks.
### Removed
### Fixed
- Search: current search did not update properly after adding/removing a playlist (for ex. cloning).
- UI: selection rectangle not being shown when opening the playlist contextual menu.
- Playlist locks: multiple fixes to handling of playlists with rename/delete locks.

X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-07-04 12:41:57
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0-beta.25

Quote
## [0.5.0-beta.25] - 2023-07-04
### Added
- UI: added option to use bold font for playlists.
- UI: added light shadows to playlists' text when using art as background to improve readability. It's now the default, but it may be disabled.
- UI: added blur setting for the panel background art.
- UI: added setting to tint UI elements (appart from the playlist list) while using the panel background art.
### Changed
- UI: multiple optimizations to panel background art usage.
### Removed
### Fixed

X X

Will not be available for some weeks, if there is something relevant broken, just use a previous version. Will continue implementing folders afterwards.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-07-28 22:38:36
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.0

Quote
[0.5.0] - 2023-07-28
Added

    AutoPlaylists: new 'Clone in UI' menu entry for AutoPlaylists.
    XSP: new 'Clone in UI' menu entry for XSP playlists.

Changed

    XSP: wrong queries when creating a new Smart Playlist now show an informative popup instead of silently failing and logging to console.
    UI: improvements to text shading depending on the background/art color.
    UI: mouse cursor now reflects when an internal drag n drop for manual sorting is not allowed. Selection is also shown using the inverted selection color (usually red/orange).
    UI: shift clicking on folder button will manually refresh the panel. Tooltip has been adjusted.
    UI: shift clicking on settings button will switch library tracking. Tooltip has been adjusted.
    Configuration: ALBUM ARTIST is now used instead of ARTIST by default (on new installations). This ensures better compatibility with classical music, where the artist is the actual performer but the album artist is the original composer/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. Further configuration may be needed via menus.

Removed
Fixed

    Export: multiple fixes to TF paths.
    AutoPlaylists: fixed non valid query warning for queries containing 'SORT' as string/tag, like "%ALBUMARTISTSORT%%ALBUMTYPE%%ARTISTS%%ARTISTSORT%%ARTWORKGUID% PRESENT".
    AutoPlaylists: AutoPlaylists not filtering duplicates -if enabled- when using keyboard shortcut F3.
    XSP: XSP playlists not filtering duplicates -if enabled- when using shortcut actions or keyboard shortcut F3.
    Lite mode: switching lite mode no longer overrides default features enabled when lite mode is disabled afterwards. This made restoring defaults to not work as expected since it would only enable the features available on lite mode. A panel refresh fixed this behavior.
    Lite mode: tooltip fix at settings button when switching lite mode during the same session.
    Lite mode: minor fixes to AutoPlaylists contextual menu on lite mode.
    UI: focus sometimes not being set on newly created AutoPlaylist.
    UI: focus sometimes not being set on newly created Smart Playlists.
    UI: focus not being set on newly created UI-Only Playlists.
    UI: minor fixes and improvements to quick help (shift click on help button).
    UI: minor fixes to multiple selection contextual menus.
    UI: in some cases the filter buttons were miss-clicked when clicking on the scrollbar if distance was lower than the cursor size and the mouse entered first on the button(s), should be much precise now.
    UI: size and duration was not properly updated in some cases for UI-only playlists after using drag n' drop or copy/move tracks actions.
    UI: current view was vertically shifted sometimes after editing the query of an AutoPlaylist or Smart Playlist (instead of maintaining the position).
    UI: categories and tags not being sorted following current locale. i.e. "World" being shown before "foobar", due to uppercase usage, or "first" at the end due to "" usage. Now it follows the expected behavior: _first, foobar, World, ...
    UI: cosmetic internal drag n' drop fixes when releasing outside the allowed range.
    UI: workaround for GDI/SMP bugs or weird behaviors using text shading.
    UI: effects not being updated properly after releasing internal drag n drop for manual sorting on header or buttons.
    UI: cursor not being updated in some cases after releasing internal drag n drop for manual sorting on header or buttons.
    Fix for non standard hyphen chars on playlist names.
    Crash when deleting a multiple selection.
    Crash when creating UI-Only Playlists.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-08-05 08:59:29
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.2

Quote
[0.5.2] - 2023-08-05
Added
Changed

    Lite mode: fully disabled auto-backup on lite mode. Minor performance improvements.
    Lite mode: fully disabled auto-load on lite mode. Minor performance improvements.
    Lite mode: fully disabled library path tracking on lite mode. Minor performance improvements.
    Lite mode: auto-save timer is now set to 1000 ms on lite mode, and back to default values when disabling it. It will be faster showing changes on UI-only playlists.
    UI: internal drag n' drop now allows to move an item below or over the current position (instead of just moving it before it). UI has been adjusted to show a bold line at the target position.
    UI: list now jumps to new position after renaming a playlist [file] via menus/actions. For ex. sorting alphabetically, playlist may be found at a different position after renaming.
    UI: playlist [file] is highlighted when renaming the bound playlist on native foobar2000 UI.
    UI: current panel position should be maintained -if possible- after [auto]updating playlist files from folder.
    UI: improved text shading performance up to 90%. It should now be working much better on low-end systems.
    UI: font shading is now disabled when disabling panel art background and a popup warns about the performance impact when enabling it.
    UI: panel art background is now better adjusted to fill the entire list.

Removed
Fixed

    Lite mode: 'Export and convert' settings being shown on lite mode.
    Lite mode: tracking disabled after disabling lite mode.
    UI: selection focus was not being updated while scrolling using the wheel or buttons.
    UI: missing separator at header from Playlist items' contextual menu.
    UI: minor fixes to multiple selection contextual menus.
    UI: settings button not being updated in some instances after switching library tracking.
    UI: wrong size for vertical line before buttons.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-08-25 19:07:08
If someone want to test it, here it is a beta WIP of playlist manager with folder support.

If after installing there is no way to create a folder using the + button; then enable the feature at "Settings menu\Features\Folders...".

There are bugs to be expected. Please report them here.
Should work:
Quote
- Drag n drop to move things to folder. UI with associated effects.
- Work on manual sorting.
- Work on automatic sorting, drag n drop only works to send things to a folder or outside it.
- Folder menu to select all items or apply some actions on batch. Advanced actions are possible via multiple-selection first.
- Folders are saved to the manager json file along Auto-playlists.(i.e. they can be transferred to other installations).

Known errors: (don't report these)
Quote
- Errors related to filtering in case the folder does not contain any item with the selected filtering (don't try to collapse/expand it or it will crash).
- Nested folders doesn't work properly (items are duplicated, nesting is lost on restart).

X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-08-28 15:06:19
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.5.3

Quote
[0.5.3] - 2023-08-28
Added
Changed
Removed
Fixed
    UI: filters reset on innit due to bugfix introduced on 0.5.0-beta.21. which was only intended on first innit (after setup).
    UI: offset improperly set after filtering in some corner cases.
    UI: text shadows sometimes not being cut to the same length than the main text. Issue 69.


Also updated the beta WIP of playlist manager with folder support and previously known errors fixed:
Quote
   - Added shadow to folders' text.
   - Added folder nesting and total count up to the deepest level.
   - Fix folder nesting duplicates.
   - Folders levels are limited to 3.
   - Added tooltips while drag n' droppin on folders.
   - Fix removing items from folders (not updating UI properly);

Known errors: (don't report these)
Quote
   - Some mouse action shortcuts don't work properly when used on folders (they will be applied to all their child playlists).
   - Some inconsistencies on UI tooltips when showing actions for folders.
   - Some inconsistencies on UI tooltips while drag n dropping tracks on folders.

Don't use the beta unless you wanna test folders usage.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-08-29 11:33:02
Updated the beta WIP of playlist manager with folder support and previously known errors fixed:
Quote
      - Mouse action shortcuts should work properly when used on folders (applied to all their child playlists).
       - Fixed actions shown on folder tooltips (names and available actions)
       - Fixed tooltip while drag n dropping a track on folder (sent to all childs).
       - "Show current playlist / now playling playlist' action (at header or double clicing on scrollbar) now works fine with folder nesting, looking for the playlist at any level and opening the entire folder tree.

There is no known errors -about folders usage- right now. Feel free to report anything.

Don't use the beta unless you wanna test folders usage. Stable release at post above.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-08-31 22:28:58
Quote
- Some fixes about shortcuts/actions.
- Fix folder deletion (not working properly before).
- Keyboard shortcuts (F1 - F6 and Del) now also work with folders.
- Multiple selection click on folder now directly select all the items within.
- Added tooltip at scrollbar about double click action.
- Deep recursion for column statistics.
- Deep recursion for tooltip statistics.

X

Don't use the beta unless you wanna test folders usage.
Stable release at post above.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-07 10:19:38
Probably the last beta before a stable release. All functionality should now be compatible with folders.

Quote
Others
   - New Switch columns button at header (the same than pressing º or \ or /
   - Quick-search can be now be disabled.
   - Improvements on how shortcuts are shown on quick help popup.
   - Del (delete playlist), º, \, / (switch columns) shortcuts now work even when F1-F12 shortcuts are disabled.
- ListenBrainz: export to ListenBrainz is now available on the multiple selection contextual menu. i.e. can work on batch.
Folders
Added:
   - New shortcut, F7 + Shift, which creates a new folder.
   - Configurable folder icons.
   - Configurable max level depth.
   - Configurable subitems count.
Fix:
   - Crash when filtering by MBID.
   - While using multiple selection, r. clicking on a folder also selects the folder instead of its child items.
   - While using multiple selection on a folder only selects the immediate childs, not all levels. Now it's applied with recursion.
   - While using multiple selection on a folder, with some childs already selected, now all contained items are selected (instead of switching current selection). In case all are selected, then it deselects all.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-08 21:32:37
One last addition before next release; added the statistics framework (https://hydrogenaud.io/index.php/topic,122604.msg1031862.html#msg1031862) to create a new mode used for displaying statistics about the playlists.

X

X

Right now is pretty "simple" only allowing to track things like playlists per extension, tag, category, etc. but I will expand it later.

After that, I will do the same with World Map (https://github.com/regorxxx/World-Map-SMP) to display statistics by country.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-13 18:15:55
v0.6.0 - Folders support + Statistics
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.6.0

Quote
[0.6.0] - 2023-09-13

    Folders: items may now be grouped in folders, with unlimited level depth support and the ability to be expanded/collapsed. Adding or removing items is done via drag n' drop, similar to the way manual sorting works. Folders have an unique contextual menu which allow to apply some actions to their content or multiple-select them. Feature can be disabled if desired.
    ListenBrainz: export to ListenBrainz is now available on the multiple selection contextual menu. i.e. can work on batch.
    UI: added tooltip at scrollbar about double click action.
    UI: switch columns button.
    Statistics: added statistics mode. Use it to display general metadata stats about the current panel; for ex. number of playlists per extension. See Statistics-Framework-SMP.

Changed

    Quick-search: can be now be disabled.
    UI: improvements on how shortcuts are shown on quick help popup.
    UI: Del, º, , / shortcuts now work even when F1-F12 shortcuts are disabled.
    UI: new shortcut, F7 + Shift, which creates a new folder.
    ListenBrainz: network errors when caching library paths (usually at startup) are not reported anymore (since they don't give useful info on real use-cases).
    Helpers: updated helpers

Removed
Fixed

    UI: avoid jumping to the top after auto-updating a playlist if mouse never entered the list and was only used at the scroll bar.

(https://github.com/regorxxx/Playlist-Manager-SMP/assets/83307074/d72adb2d-4963-4c98-b7dc-59d55b2c7b2c) (https://github.com/regorxxx/Playlist-Manager-SMP/assets/83307074/5c79fcef-228f-4551-b90f-14b593c77c32)
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2023-09-18 18:56:46
Hi, regor! First of all, congrats for the latest additions and improvements. I have a few errors (one also in the World Map thread).
I have this error when I try to change: Playlist Manager settings - Folder-Icons-Custom

Error: Spider Monkey Panel v1.6.1-mod (Playlist Manager: Playlist Manager v0.6.0 by XXX)
list.icons is undefined

File: playlist_manager_menu.js
Line: 3163, Column: 23
Stack trace:
  func/<@playlist_manager_menu.js:3163:23
  func@playlist_manager_menu.js:3161:31
  _menu/this.btn_up/<@menu_xxx.js:408:15
  _menu/this.btn_up@menu_xxx.js:398:24
  func@playlist_manager_list.js:5942:27
  _list/this.lbtn_up@playlist_manager_list.js:1712:14
  @playlist_manager.js:551:9
  fireEvents/</<@callbacks_xxx.js:149:37
  fireEvents/<@callbacks_xxx.js:145:30

Another thing....It seems that I can't do anything with the folders...I can create a folder but that's all...I can't create a playlist inside the folder or to drag & drop a playlist inside the folder....Sorry if it's my mistake, maybe it's a bug in my brain , haha :) Maybe it's something that I don't understand
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-18 22:11:04
You don't create things inside folders (I may add a submenu for that?), but only drag n drop things into it. Maintain L. click and put a playlist there.
Let me know if it doesn't work, since it works fine on my side!

And the error is fixed now.
Title: Re: Playlist-Manager-SMP
Post by: Koshingg on 2023-09-19 11:37:42
Yes, everything is working fine now, thanks (error is fixed too). Sorry about the drag n drop thing...I don't know why it didn't worked, it seems I needed some practice, I tried on a clean install, it worked...then it worked in my main config too :)
About the submenu for folders, maybe it's a good idea, to be able to create playlists directly in a folder (I'm not sure how it's in plorg component). One more thing, a little request, if it's possible (or maybe the setting is already there but I didn't found it) Can we change the color of the folders? Like we can do for autoplaylists
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-19 11:51:31
Folders currently use the same color than standard playlists. If you change that, it will change both. But yep, will be configurable with its own color.

I'm not really sure about this since it makes it a bit more convoluted (there are currently 7 actions to create a new playlist), will have to think about it.

I have added a 'Move to...' submenu to playlists, which allow to directly send them to a folder (shows all available folders sorted by name). Also  works for multiple selection. And it may simplify usage, instead of drag n' drop for some users.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-20 15:18:41
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.6.1

Quote
[0.6.1] - 2023-09-20
Added

    Folders: added a 'Move to folder...' submenu in the playlist and multiple selection contextual menu, to easily send playlists to a folder without using drag n' drop.
    Folders: added submenu to create playlists/folders within folders (simplified version of the entries found at the list menu on the header).
    Folders: color is now configurable (found at the general UI or the folders submenu).

Changed
Removed
Fixed

    Exporting Playlists: playlist files were not overwritten properly -if chosen to do so- using 'Copy playlist files to...' for multiple selection.
    Exporting Playlists: output folder was not shown using 'Copy playlist files to...' for multiple selection.
    Exporting Playlists: AutopPlaylists are now filtered 'Export and Copy Tracks to...' for multiple selection, instead of being logged as error.
    Folders: custom icon setting crash.
    Lite mode: 'new playlist from active...' was not hidden while using lite mode.
    Lite mode: minor fixes to separators on list menu while using lite mode.
    Lite mode: minor fixes to separators on header buttons tooltips while using lite mode.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-25 21:59:13
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.6.2

Quote
0.6.2] - 2023-09-25
Added
Changed

    Helpers: updated helpers.
    Documentation: updated readme PDF to be up to date with all latest changes.

Removed
Fixed

    UI: wrong tooltip on folder button.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-09-26 14:04:48
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.6.3

Quote
## [0.6.3] - 2023-09-26
### Added
### Changed
### Removed
### Fixed
- UI: crash while using internal drag n' drop if the number of elements was lower than the available rows and mouse moved to an empty row.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-10-18 16:39:23
v0.8.0 - Search and Quick-search improvements (https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.8.0)

Quote
[0.8.0] - 2023-10-18
Added

    Search: fuzzy search can be enabled by adding '~' to the beginning/end of the search term (when not using RegExp). There are 2 modes, one which only works with single words (fast) and a full fledged fuzzy search for multiple word input (slower).
    Quick-search: pressing shift allows to find the pressed chars/words at any position of the name, contrary to the default behavior which only looks at the start of the name. Popup on Quick-search has been adjusted to indicate this.

Changed

    Configuration: the installation process now asks to enable the items contextual menu if desired.
    Configuration: after changing the playlists path, a popup now asks to enable relative path handling menu entries.
    Configuration: improved feature switching in some settings combinations.
    Search: last search may be reset or restored on startup. Configuration at search button.

Removed
Fixed

    Search: infinite search interval in some cases while using the search function along folders.
    Renaming a playlist is not allowed if name (+UUID) matches any other item tracked by the manager.
    Creating a playlist, Smart Playlist, AutoPlaylist or UI-only playlist is not allowed if name (+UUID) matches any other item tracked by the manager.

Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-08 11:04:49
Would you use/appreciate an auto-update check within foobar?

It would check the version on startup, and throw a popup if a newer version is found. Clicking ok would show the latest release for the script on the default browser. No need to check forum/github manually anymore.

I could also add the check on a menu entry, in case someone wants to do it manually. If I see interest, I will add it to all my packages.

X
Title: Re: Playlist-Manager-SMP
Post by: TT on 2023-11-08 16:22:29
@regor,

most definitely, I wouldn't even try to ask the user base as it is a fundamental feature in almost all programs nowadays!?
Georgia and Georgia-ReBORN have this update check and are displaying a hyperlink in the right bottom lower bar when a new
release has been published. When you click on the link, it opens the browser and redirects to the Github Releases page as you've shown in your animation.
So yes, just implement it =)

Also I have an auto update check and manual check as menu items in top menu:
Help > Theme > Updates > "Auto-check for theme updates" and "Check for latest theme update"

-Tom
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-08 18:57:54
@regor,

most definitely, I wouldn't even try to ask the user base as it is a fundamental feature in almost all programs nowadays!?
Georgia and Georgia-ReBORN have this update check and are displaying a hyperlink in the right bottom lower bar when a new
release has been published. When you click on the link, it opens the browser and redirects to the Github Releases page as you've shown in your animation.
So yes, just implement it =)

Also I have an auto update check and manual check as menu items in top menu:
Help > Theme > Updates > "Auto-check for theme updates" and "Check for latest theme update"

-Tom
Well personally I hate when software forces you -by default- : (any of them)
- Network calls to check an update.
- Popup about new update.
- Download the update.

:)) So I ask for a reason, if no one cares; less time I spent on that.

The example was just a side-effect or other thing I had planned, but it could be used for checking updates too.
Having a manual check seems fine to me. Being able to disable auto-checks too.

Asking the user to enable it on first installation requires some more work (except for the manager, since it already has a setup procedure)... so I was unsure about enabling it by default. But I would really prefer it to be opt-in. Otherwise I can warn about the possibility of disable it the first time an update throws a popup.

Playing with it a bit more, have also managed to directly download the package from github without user intervention, so I can also give the option to read the changelog and start the download in one step.
Title: Re: Playlist-Manager-SMP
Post by: TT on 2023-11-08 19:21:55
Quote
Well personally I hate when software forces you -by default- : (any of them)
- Network calls to check an update.
- Popup about new update.
- Download the update.

You have valid points with these, I personally also do not like this behavior BUT you can turn off auto-check as personal
preference. For the general public I would enable this as default though. I think most people do not manually check often
or forget to even check for new updates.

But I DO fully understand, less effort, more time for other things 8)

-Tom
Title: Re: Playlist-Manager-SMP
Post by: Terence on 2023-11-08 23:42:52
I wonder if checking for updates can be done with foo_acfu (https://acfu.3dyd.com). I don't know since these are scripts for SMP.

I use rss feeds to keep me informed of updates, and they notify me first (before foo_acfu). But it's a bit more complicated and not everyone uses rss feeds. Otherwise I think I'd be happy to have a pop-up that informs me of an update (with an option to disable it), I like programs that do that, but here I won't use it because I already do otherwise.

I've made some small modifications for my use in Search by distance (these (https://github.com/regorxxx/Search-by-Distance-SMP/compare/main...username116:Search-by-Distance-SMP:main?diff=split) if you're interested), so I have to manually redo these modifications each time I update, or replace files with my versions. At the moment I'm trying Github Desktop. I can update very easily as long as you don't modify the files I'm modifying. It happened once and it was a mess. I don't know anything about Git.

Speaking of popups, I commented some stuff in helpers_xxx_so, so those popups don't show up anymore, I think it's for linux. Some time ago, I also spent an afternoon looking for the source of these "test" in my clipboard. I discovered that it came from this.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-09 12:32:10
Quote
I wonder if checking for updates can be done with foo_acfu. I don't know since these are scripts for SMP.
No. It would require a rewrite of SMP to integrate it.

Also there has been zero interest in the community on showcasing JS scripts on the foobar components list, even if some scripts are much more mature and less buggy than some components  ::) My point is there is zero interest -by devs- on anything down that road.

Quote
I use rss feeds to keep me informed of updates, and they notify me first (before foo_acfu). But it's a bit more complicated and not everyone uses rss feeds. Otherwise I think I'd be happy to have a pop-up that informs me of an update (with an option to disable it), I like programs that do that, but here I won't use it because I already do otherwise.
I'm considering that. Enabled by default, a global setting to enable/disable it by default on any new script installation (like the global tag remap files) and a setting per panel to switch it.

Quote
Speaking of popups, I commented some stuff in helpers_xxx_so, so those popups don't show up anymore, I think it's for linux. Some time ago, I also spent an afternoon looking for the source of these "test" in my clipboard. I discovered that it came from this.
They are supposed to be taken into consideration to be fixed, but yep, they can become annoying if you don't want to. I will add a new file at 'profile\js_data\presets\global\' (along the other global config files), with a toggle to simply omit the popups. The update check behavior on new installs will be there too.

Quote
I've made some small modifications for my use in Search by distance (these if you're interested), so I have to manually redo these modifications each time I update, or replace files with my versions. At the moment I'm trying Github Desktop. I can update very easily as long as you don't modify the files I'm modifying. It happened once and it was a mess. I don't know anything about Git.
Will look at this. The buttons customization, not sure how they look. I may provide additional settings for that. Then you seem to have a "fix" for an incomplete commit of mine. Will upload today all update files.

EDIT: To remove borders, just set buttons colors to -1 at properties. It also affects the highlighting. The code is already there for that, no need to touch the files. Just click ctrl when on the buttons color menu entry, as indicated at the header of the menu.

I'm not sure about your rationale to changing the width of the button to 1 px. though. That makes the button invisible (?) Neither why you changed the coordinates in some functions at the buttons framework file, which affects all buttons (?)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-09 17:00:55
Related to colors on UI, since I have been working on an updated fork of Chroma.js (https://github.com/regorxxx/chroma.js); have found an easy way to know which color is associated to an element in menus (without requiring to open the color picker).

Thanks to Name that color (https://chir.ag/projects/name-that-color/) and the new chroma fork, I can show a name for the color in the entry (the most prox. color).
X
Which should give you at least a hint of the current settings on menus. 'None' in the case of the previous button discussion equals to 'no button color and border'.

Will implement this to all my scripts. In case someone more is interested, it just requires 3 lines of code:

Code: [Select]
include('ntc.js');
const Chroma = require('chroma-ultra-light.min');
const getColorName = (val) => {return (val !== -1 ? ntc.name(Chroma(val).hex())[1] : '-none-');}

For the require:
Code: [Select]
let module = {}, exports = {};
module.exports = null;
function require(script) { // Must be path relative to this file, not the parent one; add RegExp  if needed
include(script + '.js');
return module.exports;
}
Title: Re: Playlist-Manager-SMP
Post by: Terence on 2023-11-09 22:40:09
I replied in the Search-by-Distance topic (https://hydrogenaud.io/index.php/topic,120982.msg1035032.html#msg1035032).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-09 23:25:35
Test release. If everything is right, will upload to github and create a proper release.
Quote
### 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. 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).
### Changed
- UI: panel background can now use both 'Maintain proportions' and 'Fill panel' options at the same time when using the front cover.
- Helpers: updated statistics mode with new graphs and features from the latest [Statistics-Framework-SMP](https://github.com/regorxxx/Statistics-Framework-SMP) version.
- Helpers: replaced library [chroma.js with own version](https://regorxxx.github.io/chroma.js/).
- Helpers: updated helpers.
### Removed
### Fixed

X

It should ask after 2 mins to update (since I changed the version num to something wrong on purpose). Manual update check can also be used.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-15 19:29:35
v0.9.0 - Auto-update
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.9.0
Quote
[0.9.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. 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).
    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: color menu entries now show the color name along the menu entry.
    UI: panel background can now use both 'Maintain proportions' and 'Fill panel' options at the same time when using the front cover.
    Helpers: updated statistics mode with new graphs and features from the latest Statistics-Framework-SMP version.
    Helpers: replaced library chroma.js with own version.
    Helpers: updated helpers.

Removed
Fixed
Spoiler (click to show/hide)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-24 19:40:22
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.10.0

Quote
[0.10.0] - 2023-11-24
Added

    Statistics: click on point to jump to list mode and filter by selected key.
    Statistics: added buttons to statistics mode. Menus are now opened via buttons, no longer with R. click. There is also a button to directly exit statistics mode.
    Statistics: added sorting options according to Y axis.
    Statistics: colors are now forced with a scheme based on selection color and background.
    UI: transparency input menu entries now have a hint about which value is opaque and which transparent.

Changed

    Lite mode: config json files are now saved with an UUID on filename, so they can't conflict with playlist managers panels associated to a physical tracking folder anymore.
    Lite mode: it's now possible to have multiple playlist managers panels in lite mode tracking different AutoPlaylist or with different manual sorting/folder structures.
    Helpers: updated helpers.
    Console: reduced max log file size to 1 MB.

Removed
Fixed

    UI: minor fix to settings button's tooltip.

Title: Re: Playlist-Manager-SMP
Post by: Majestyk on 2023-11-26 04:29:13
Can the tooltips be changed to a dark background with white text? OR can they be turned off completely? They're too bright on my old tired eyes.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-26 20:47:08
Can the tooltips be changed to a dark background with white text? OR can they be turned off completely? They're too bright on my old tired eyes.

That's something to ask at the SMP thread or DUI/CUI threads. How tooltips are displayed is not something script related.

[...]\xxx-scripts\helpers\helpers_xxx_UI.js
Delete or comment those lines in that file. It will work on any of my scripts.
X
Title: Re: Playlist-Manager-SMP
Post by: Majestyk on 2023-11-27 04:01:28
Ok, thanks!

One more question... Do I really need IE 11? I get that popup every so often. It seems to work just fine without it and I'd rather not install it unless I have to.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-27 16:27:42
Ok, thanks!

One more question... Do I really need IE 11? I get that popup every so often. It seems to work just fine without it and I'd rather not install it unless I have to.
Read this, to disable such popups.
https://github.com/regorxxx/Playlist-Manager-SMP/blob/main/CHANGELOG.md#090---2023-11-15

(will also add a setting to disable tooltips globally on the same file)

About the functionality, for IE on my scripts you only lose automatic clipboard functionality at some points, since I made all to ensure they would work on Wine too.
Will reword the popups to make more clear what are you losing.

Other scripts, like Bio, will simply not work at all.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-11-28 19:44:54
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.11.0

Quote
## [0.11.0] - 2023-11-28
### 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
- Helpers: updated helpers.
- Improved error messages about features not working related to OS checks (at startup) with tips and warnings.
### Removed
### Fixed
- UI: minor fix to settings button's tooltip.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2023-12-01 00:09:48
I'm updating the repositories to automate a bit releases and building packages (one of the things that takes me more time).
The '_createPackage.bat' can be run directly from github, so there is no need for me to upload a package for every release anymore.
AND, have automated it to create a new package file every-time I update the repository (kept for 1 day for now),

These nightly packages can be downloaded here;
https://github.com/regorxxx/Playlist-Manager-SMP/actions/workflows/build.yml
Spoiler (click to show/hide)

Will update the wikis accordingly and refine the process in all repositories. With this and the auto-update feature, it should be pretty easy now to retrieve new versions.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-01-09 15:28:22
On next version, apart from a lot of code cleanup and fixes, there are a few big features added.
Quote
- The import from JSON feature now also works with folders and any kind of playlist. It will also ask to overwrite existing playlists or allow to selectively import by format.
- New search modes by track's tags, playlist's metadata (for ex. M3U8 playlists already save the track's artist and title) and queries.
- Smart Playlists are now automatically refreshed whenever a playlist source changes . i.e. if a Smart Playlist has a query like "#PLAYLIST# IS A", and "A" playlist changes, the Smart Playlist is automatically refreshed now on real time (tracks added/removed).

Back to the 2nd point, it's now possible to do something like: 'ARTIST IS led zeppelin' to find all playlists with such tracks. The same you do on Library or Playlist search. Wildcards are also allowed, RegExp, and even fuzzy search. It works with playlist files and UI-only playlists.

X

(Automatic) nightly releases can be found here:
https://github.com/regorxxx/Playlist-Manager-SMP/wiki/Nightly-releases
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-01-14 17:58:46
Some time ago someone asked if native AutoPlaylists could be imported automatically into the manager after the first install, and finally implemented it parsing the hex dat files on v1.6 (see nightly). Something similar will be possible reading the v2 sqlite files. No need to copy/past the original queries anymore to create the virtual copies.

In this example I import 4 autoplaylists which were not present on the manager. Note it may be done at any point, not just limited to the installation step.
Spoiler (click to show/hide)

(Automatic) nightly releases can be found here:
https://github.com/regorxxx/Playlist-Manager-SMP/wiki/Nightly-releases
Title: Re: Playlist-Manager-SMP
Post by: Seta on 2024-02-16 00:39:29
Hey, thanks a lot for keeping this manager Wine-friendly. I had settled with Strawberry but now I see that software support is really serious in Wine, in spite of gaming stealing all the spotlight. (which was my main reason for leaving Windows, so no complains there either!)

If I may make a suggestion for the Wine section in the wiki, I'd add that, at least on Wine 9.0, installing the mdac28 and wsh57 winetricks dependencies in a 32bit prefix is essential to perform the setup. No more popups will show even if you click Yes in the first one without installing those.

Thanks for pointing me in the right direction, either way; this comes from the Foobar Linux thread: https://hydrogenaud.io/index.php/topic,54933.msg1025558.html#msg1025558 (https://hydrogenaud.io/index.php/topic,54933.msg1025558.html#msg1025558)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-02-16 09:59:41
Thanks for the report!

It was supposed that mdac28 is only for ADODB.Stream and wsh57 for VBS scripts, so not sure how that's related to popups at all, I would want to further test it to make sure only the minimum dependencies are required. Also mdac28 is limited to 32 bits, so I would prefer not to enforce using it.

In fact my scripts already show a warning if those 2 components are missing in some cases, but since they were not reported as essential to create popups... I did not check for them in Playlist Manager. Could someone with wine make a few test?
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-02-16 13:56:05
Thanks for the report!

It was supposed that mdac28 is only for ADODB.Stream and wsh57 for VBS scripts, so not sure how that's related to popups at all, I would want to further test it to make sure only the minimum dependencies are required. Also mdac28 is limited to 32 bits, so I would prefer not to enforce using it.

In fact my scripts already show a warning if those 2 components are missing in some cases, but since they were not reported as essential to create popups... I did not check for them in Playlist Manager. Could someone with wine make a few test?

Without them besides the fact that biography didn't download images the rest of scripts that I have in the player seems to work just fine. Biography, last.fm last played, musicbrainz releases, worldmap, a lot of buttons in a buttons toolbar, youtube search, library tree, etc

No visible error and no crashes of any panel.

To download images in bio you need both.

The pop-up show fine without them too, in the scripts and in the rest of the components.

Maybe he is talking about the html pop-up of Options, that only works if you sacrifices all your possessions in the altar of ie8?


Title: Re: Playlist-Manager-SMP
Post by: Seta on 2024-02-16 15:09:25
Thanks for the report!

It was supposed that mdac28 is only for ADODB.Stream and wsh57 for VBS scripts, so not sure how that's related to popups at all, I would want to further test it to make sure only the minimum dependencies are required. Also mdac28 is limited to 32 bits, so I would prefer not to enforce using it.

In fact my scripts already show a warning if those 2 components are missing in some cases, but since they were not reported as essential to create popups... I did not check for them in Playlist Manager. Could someone with wine make a few test?

Maybe he is talking about the html pop-up of Options, that only works if you sacrifices all your possessions in the altar of ie8?


I mean the initial setup windows. When I click on the big "Setup" button (both with clean 32bit & 64bit prefixes and the required fonts), it brings up the "before the setup, close all Spider Monkey Panel windows" popup. I click yes and nothing else appears; the window disappears and I can click "Setup" again and once more the first "Yes/No" popup shows. The console doesn't mention any issue either... I'm clueless, honestly.

foobar2000 is a portable install, if that matters.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-02-16 21:01:01

I mean the initial setup windows. When I click on the big "Setup" button (both with clean 32bit & 64bit prefixes and the required fonts), it brings up the "before the setup, close all Spider Monkey Panel windows" popup. I click yes and nothing else appears; the window disappears and I can click "Setup" again and once more the first "Yes/No" popup shows. The console doesn't mention any issue either... I'm clueless, honestly.

foobar2000 is a portable install, if that matters.

I'm in a portable too. The first time I added the panel I have the initial set-up button. Clicking it, some yes/no and some windows with instructions. All yes and closing the windows gives me a panel like this
X
With the playlist that i have open.
Title: Re: Playlist-Manager-SMP
Post by: Seta on 2024-02-17 22:14:28

I mean the initial setup windows. When I click on the big "Setup" button (both with clean 32bit & 64bit prefixes and the required fonts), it brings up the "before the setup, close all Spider Monkey Panel windows" popup. I click yes and nothing else appears; the window disappears and I can click "Setup" again and once more the first "Yes/No" popup shows. The console doesn't mention any issue either... I'm clueless, honestly.

foobar2000 is a portable install, if that matters.

I'm in a portable too. The first time I added the panel I have the initial set-up button. Clicking it, some yes/no and some windows with instructions. All yes and closing the windows gives me a panel like this
[attach type=image]29066[/attach]
With the playlist that i have open.

I can manage to get to that panel and even use the manager with a 64bit prefix... if I install mdac28 and wsh57 on a 32 prefix and configure the panel there first. Unless there's some weird shenanigans from having foobar in a folder inside "Z:" (/home/) instead of the "C:" drive of the prefix, I'm really out of ideas.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-02-18 05:00:04
I can manage to get to that panel and even use the manager with a 64bit prefix... if I install mdac28 and wsh57 on a 32 prefix and configure the panel there first. Unless there's some weird shenanigans from having foobar in a folder inside "Z:" (/home/) instead of the "C:" drive of the prefix, I'm really out of ideas.

This could be the problem, why do you change to a 64 prefix?. mdac for example is only 32 and SMP needs a 32 foobar2000. To avoid strange behaviors, it is best to use a 32 prefix.

If you make a 32 prefix, install the winetricks verbs and configure foobar2000 it works.

At least until we have a 64 version of SMP it is safe continues to use a 32 prefix.

About the drives, C: it is only a "fake" drive, it is a folder inside your prefix and the user folders (documents, pictures, etc) are only links to folders in your real /home/user (and you can choose where they link in winecfg).  Z. it is a representation of your real drive structure.

For example.

C:\\windows is located in /home/user/<wine prefix>/drive_c/windows and also can be accessed in wine in Z;\\home\user\<wine prefix>\drive_c\windows. there is also winepath (https://wiki.winehq.org/Winepath) to translate between both types of paths.
Title: Re: Playlist-Manager-SMP
Post by: Seta on 2024-02-18 11:53:50
I can manage to get to that panel and even use the manager with a 64bit prefix... if I install mdac28 and wsh57 on a 32 prefix and configure the panel there first. Unless there's some weird shenanigans from having foobar in a folder inside "Z:" (/home/) instead of the "C:" drive of the prefix, I'm really out of ideas.

This could be the problem, why do you change to a 64 prefix?. mdac for example is only 32 and SMP needs a 32 foobar2000. To avoid strange behaviors, it is best to use a 32 prefix.


It was just to remark that SMP can work normally on a 64bit prefix once you get past the setup.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-02-18 13:04:53
It was just to remark that SMP can work normally on a 64bit prefix once you get past the setup.

Not all SMP scripts can fully work in a 64 prefix. Biography for example, can't download images because you can't install mdac in a 64 prefix. the autotag of regor scripts block the player when scanning and you can't click in it until the scan end, and I supposed that it will be more cases when you find odd behaviors without any advantage.

You can't say normally. It can, but with limitations and without benefits.

wine have enough problems by itself, there is no need to look for more
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-02-29 00:52:53
https://github.com/regorxxx/Playlist-Manager-SMP/releases/tag/v0.13.0

Quote
0.13.0 - 2023-02-28
Added

    Importing JSON: allows to import any available playlist metadata from UI-only playlists, .fpl, .xsp, .pls and .srtm files (which is only saved in the JSON file). In such case, the playlist file (with same filename and name) must already reside in the tracked folder to be matched at the importing step and overwritten with the metadata found.
    Importing JSON: allows to import the folder structure saved in the JSON file.
    Importing JSON: allows to selectively choose which formats will be imported. i.e. files, AutoPlaylists and Smart Playlists, UI-only playlists, folders, ...
    AutoPlaylists: it's now possible to directly import all AutoPlaylists from native foobar2000 (v1.6 and V2.0+) to the manager using 'Import AutoPlaylists from UI...'. It will read the config files at the profile folder and try to parse the playlists found there (retrieving the query, name and sorting). This should automate the process of importing AutoPlaylists the first time the manager is installed, instead of going one by one.
    Search: new search mode against tracks' metadata. Internally loads all tracks from every playlists and looks for the search input within specific tags (by default ALBUM ARTIST, ALBUM, TITLE and DATE). It may produce some lag while searching if there are a lot of playlists, so disable it if not needed. The tracks are cached, so consecutive searches are faster (or performing it some seconds after startup); but it greatly increases startup time when using search is maintained at startup (since cache has not been built). In such cases, make sure to have the setting 'Reset search on startup' enabled.
    Search: new search mode against playlists' metadata. Retrieves track's metadata from the playlist file (available on .m3u8, .m3u, .xspf and .pls formats) and tries to match ARTIST or TITLE. This mode is much faster than looking for the track's tags (see above).
    Search: new search mode using queries. If the query outputs at least a track from a playlist, is considered a match. Caching is used (see above).
    Search: using drag n' drop on search box when query search mode is enabled will create a query to show only playlists containing such tracks by title and artist.
    Search: using drag n' drop on search box when tags search mode is enabled will show only playlists containing tracks matching title and artist.
    Search: the different drag n' drop search modes can now be set by priority. i.e. If query and path search are both enabled, query search may be set as as higher priority than path search, so it will always use queries if possible. In case query search is disabled, path search would be used instead.
    XSP: Smart Playlists are now automatically refreshed whenever a playlist source changes (not in any other case, use AutoPlaylists for that). i.e. if a Smart Playlist has a query like "#PLAYLIST# IS A", and "A" playlist changes, the Smart Playlist is automatically refreshed now (tracks added/removed). If the playlist is not loaded, only metadata is updated (like duration or size). This behavior can be disabled at settings.
    Backup: added more backup procedures when editing playlists. Original file is restored in case of errors.
    Statistics: new 'size' data mode for statistics, which shows statistics according to playlist's size (num of tracks) grouped by 25. Ex. Empty, >0, >25, >50, ... Clicking on any data point will filter the panel, as usual, with playlists with such condition.
    Statistics: data source can now be set to All playlists, Playlist files, AutoPlaylists, UI-only playlists or Selected playlists (by name).
    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.
    Folders: added menu entries to create [child] playlists from current selection or active playlists at the folder contextual menu. Request 71
    Folders: playlists can now be created within folders using drag n' drop (pressing ALT or ALT + CONTROL as usual). Request 71
    UI: added drag n' drop actions to the quick help popup (shift click on help button).
    UI: added settings for UI-only bound playlists deletion behavior when deleting a playlist file: always ask, delete both (file and UI-only playlist) or delete only playlist file. Request 76

Changed

    Importing JSON: importing logic has been rewritten to be more robust. If an existing playlist has the same name than one imported, a popup will ask to overwrite or omit it. In case extensions differ, will show an error (since they are probably not the same playlist). Overwriting a playlist involves replacing the old metadata with the new one, which in the case of AutoPlaylists means the query is replaced (plus other data), but for other playlists formats, things like tags, categories, etc. are also transferred. Items will also be compared before overwriting, so in case there is no changes (filtering on-init properties like folders being opened or not), they will skipped.
    Importing JSON: suggested JSON file path is now automatically retrieved from clipboard (instead of being empty).
    Search: added validity checks to input to avoid crashes or errors.
    AutoPlaylists: added checks to sorting inputs to ensure they are valid expressions.
    AutoPlaylists: AutoPlaylists created via native foobar2000, instead of the manager, are now flagged as 'AutoPlaylist (UI)' when opening their contextual menu at the manager, as an indication of playlist being an UI-only playlist. Some menu entries also show a warning about cloning needed to fully integrate them.
    AutoPlaylists: cloning an AutoPlaylist created via native foobar2000, instead of the manager, also opens the AutoPlaylists properties now to easily copy the query and sort patterns.
    XSP: added checks to sorting inputs to ensure they are valid expressions.
    XSP: Smart Playlists are now locked when loading them, similar to AutoPlaylists behavior. If there is no sorting, then tracks can be reorder, otherwise sorting is also locked.
    XSP: improved caching in multiple playlist actions.
    XSPF: improved caching in multiple playlist actions.
    XSPF: .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.
    Folders: drag n' drop now allows to move items to any specific position within a folder, not just to the end, on manual sorting.
    Folders: improved filtering in some cases with nested folders or showing only specific playlists within a folder.
    UI: 'Move to folder...' submenu now shows an indicator when there are no other folders to move to.
    UI: Added a tip at all input popups for sorting, to specify when 'SORT BY' and similar statements must be used.
    UI: optimized repainting to use less resources on statistics mode.
    UI: changed tooltip for multiple selection to only show the available actions which work on the entire selection.
    Shortcuts: global shortcut to search (F9) uses now the new search methods added for tracks.
    Shortcuts: Shift + F9 now displays the report with selected tracks (previously it was only used when pressing F9 if no compatible search methods was enabled to look for tracks).
    Shortcuts: all global shortcuts related to playlists (F1 - F6) now work recursively on multiple selection and folders (without level limits). Exceptions: F2-Rename (since renaming on batch is not allowed), and DEL-Remove playlist (deleting in batch can only be done via menus and multiple selection to avoid accidental deletions of multiple items).
    Shortcuts: global shortcut are now shown on the related menu entries and/or buttons. For ex. the menu entry to create a new playlist now displays the shortcut F7 if global shortcuts are enabled.
    Clone: wrong warning about not found tracks when using relative paths in some cases.
    Clone: when cloning playlists within a folder (via menus or shortcuts), the new items will be created now at the same folder level (not at the root of the list).
    Playlist formats: added some checks when parsing corrupted playlists to avoid crashes (and instead omit the line).
    ListenBrainz: input when using playlist importing by MBID is now checked to ensure it's a valid UUID (before attempting the web retrieval).
    Startup processing has been changed to not run any secondary process while caching the library (for ex. AutoPlaylist size updating, etc.); these steps will be run sequentially after library caching has been done. Using multiple panels, one of them will cache the library and the rest run the other steps if possible.
    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.
    Code cleanup.

Removed

    UI: internal logging when checking .xsp playlists.

Fixed

    UI: single click actions not working in some cases. Issue 74
    UI: multiple selection was lost in some cases after executing actions if UI-only playlists were tracked.
    UI: extra separator on 'Restore...' playlists submenu in some cases.
    UI: AutoPlaylists contextual menu missing 'Load playlist' entry on lite mode.
    UI: playlists missing 'Delete' entry on lite mode.
    UI: fixed misspelling of 'bound' in multiple places.
    UI: renaming a playlist/folder changed the position when using manual sorting, sending the item to the end of the list (instead of keeping the original position).
    Drag and Drop: source playlist's size was not properly updated after using drag n' drop on move tracks actions. It was increasing the size instead of decreasing it.
    Search: search history not applying the term when clicking.
    Folders: playlist deletion within folders did not update the UI properly in some cases. Issue 72
    Folders: nested folders not working in some cases or producing crashes. Issue 73
    Folders: internal drag n' drop not working properly on sorting methods different than manual one. i.e. to move items into/out of a folder.
    Search: crash on multiple settings menu entries due to a typo on variable.
    ListenBrainz: crash when importing an existing playlist in some cases.
    Exporting Playlists: crash when clicking on a point -to filter- while using folders data.
    Exporting Playlists: error while exporting an AutoPlaylist with sorting.
    Exporting Playlists: crash while reporting malformed .xsp playlist.
    XSP: wrong cache handling for .xsp playlist when rewriting the queries.
    XSP: UI-only playlists were not working as playlist sources.
    XSPF: playlist was rewritten when some tracks were not found (by link, content resolver and path) after loading it.
    XSPF: identifier tag was not working properly at the content resolution step (usually used for MUSICBRAINZ_TRACKID).
    XSPF: .xspf playlists not loading properly when content resolution was used in some cases.
    XSPF: malformed track paths using relative paths in some cases.
    AutoPlaylists: crash when changing AutoPlaylists sort TF expression if the value was not changed.
    Links: multiple fixes to YouTube web links handling.
    Remove duplicates: advanced RegEx title matching option not being applied in some cases.
    Colors: crash if a color was missing from an older version, after updating, if the settings menu was opened. Issue 70
    Shortcuts: 'Single click' header submenu, to set the single click actions on header, was duplicated.
    Lite mode: fixed some minor errors when switching to/from lite mode (after installation process only).
    Rare crash on mouse L. button up if a menu from other panel was displayed over the manager panel, the action affected a playlist and the click fell on the list.
    Minor fixes.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-17 22:01:36
Hi.
X

I can't find how to change size, color and behavior of these icons. I would like to make them a bit bigger and change to highlight square for the active playlist like it does when is playing.

Sorry in advance, sure is pretty obvious, but I can't find it
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-17 23:33:52
You can't. You have to change the font size of all text, not only the icons. And there is a reason for that, since icons bigger than text would break the proportions of the panel, overlap with other lines and/or the scrollbar. But feel free to just make the entire rows bigger.

The icons use the color for "standard text" too, which I may consider to allow independent customization.

About your other question, the manager only shows loaded playlists and playing playlist. Are you asking to show a different icon for the active playlist? (which is not currently present)
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 01:14:01
You can't. You have to change the font size of all text, not only the icons. And there is a reason for that, since icons bigger than text would break the proportions of the panel, overlap with other lines and/or the scrollbar. But feel free to just make the entire rows bigger.

Fair enough

The icons use the color for "standard text" too, which I may consider to allow independent customization.

This could be cool. Different colors for loaded, playing and active.

About your other question, the manager only shows loaded playlists and playing playlist. Are you asking to show a different icon for the active playlist? (which is not currently present)

Not necessary one more icon, the same existing square (loaded) highlighted could work. Now when you have various playlists loaded there is no visual clue for the active one

The important part is to have visual for the active playlist. New icon, custom colors.....the easier way for you
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 08:11:47
Not necessary one more icon, the same existing square (loaded) highlighted could work. Now when you have various playlists loaded there is no visual clue for the active one

The important part is to have visual for the active playlist. New icon, custom colors.....the easier way for you

That's not true. You single click on the bolt icon and it jumps to the active one. Or whatever shortcut you assigned.

In general, I don't really want to clutter the UI with more and more info if it's not really needed.

Quote
This could be cool. Different colors for loaded, playing and active.
That's what icons are for. Adding that, means 3 more colors and it would also be confusing since now playlists have colors per format. Not sure...
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 09:26:28
Ok, so this is how it looks now for active/loaded/playling playlist:
X

And the active playlist highlighting, which has always been available:
X

If someone has a better suggestion for the chars, let me know. They must be one of these unicode chars.
https://www.codetable.net/groups

(for ex https://www.codetable.net/Group/general-punctuation)
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 09:47:16
Looks good. It is easy to distinguish which one is active, playing and loaded.

Thanks
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 10:09:29
Well, I also added the chars to the properties. So in any case they can be edited there if desired. Will not add another menu for that though.

I created a menu to switch these status icons: loaded, active and playing playlist.

Looking at the colors, there are some inconsistencies, since the top toolbar uses the standard text color (the same than playlist files without an specific color). So I will add a new setting for the top toolbar and another one only for standard playlist files. Therefore the icons , which use the standard text color would also be configurable without affecting the rest.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 13:37:16
Latest nightly contain all the changes now, along instructions to change the tooltip font on the pdf readme
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 16:33:33
The color of Standard playlist and UI-only playlist doesn't change, is always blue.

X

All other text colors are set to white (standard text, header toolbar, buttons' text)
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 16:39:53
Standard playlists work fine on my side. Please check again.

You are right about the other. (now fixed)
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 17:17:37
Standard playlists work fine on my side. Please check again.

You are right about the other. (now fixed)

Now the color change too much :-P

X

The standard doesn't obey the color chosen.
The color of UI-only is set to both.

I have an error updating to the new version
Code: [Select]
WinAPI error:
  CreateFile failed with error (0x5):
    Acceso denegado.

I tried to deleted the script package to start fresh, and I could not do it with the package manager UI. After restart, it displays the text will be removed but stay installed. I had to erase the folder in foo_spider_monkey panel.

After new install, the error pop-up again with the big setup button

Edit:
I tried again to delete the script.
After the restart is stil there and gives the error
Code: [Select]
Failed to process delayed packages:
remove_all: Acceso denegado.: "Z:\home\user\.foobar2000\profile\foo_spider_monkey_panel\packages\{2A6AEDC9-BAE4-4D30-88E2-EDE7225B494D}"

And the package manager look like that

X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 17:36:29
Have no idea what you did or SMP broke the package. That's something on your side and SMP.. clean the panel, redownload package and install again.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 17:54:39
Clear the properties gives away the errors.
But the color remains the same. The color of UI-only is set to both
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 18:05:20
Clear the properties gives away the errors.
But the color remains the same. The color of UI-only is set to both
I don't really understand the problem. I'm testing it on my side and all works fine. Are you really using the latest nightly?
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 18:12:50
Clear the properties gives away the errors.
But the color remains the same. The color of UI-only is set to both
I don't really understand the problem. I'm testing it on my side and all works fine. Are you really using the latest nightly?

Yeah, generated with the link at the bottom of the page
Nightly releases
Automatic package built from GitHub (using the latest commit).
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 18:20:13
That doesn't mean you are using the latest one... it takes some time to be created. Redownload.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 18:25:47
That doesn't mean you are using the latest one... it takes some time to be created. Redownload.

No luck. I tried deleting the browser cache, and with chrome (just in case), same result

I can put the UI-only in white and I have my indicator. :-P. It does the trick for now.
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 18:31:42
Really, no idea what you are doing. Please send a video and a copy of your properties.

And also please recheck you are really using any playlist file at all. Your screenshot shows only ui-playlists, so obviously they all have the same color.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 18:44:12
Same as always. After the error is gone cleaning the properties, install the download zip, restart foobar and configure the background and colors
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 18:57:33
Is weird.

The properties value changes, but the colors in the panel not

Both set to white

autoPlaylist,-24125,smartPlaylist,-6037372,selectedPlaylist,-16744256,uiPlaylist,4294967295,lockedPlaylist,-2354116,folder,4286644096,standardPlaylist,4294967295

Changing standard to orange

autoPlaylist,-24125,smartPlaylist,-6037372,selectedPlaylist,-16744256,uiPlaylist,4294967295,lockedPlaylist,-2354116,folder,4286644096,standardPlaylist,4294934528

but the UI doesn't change

X

Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 19:01:03
You have no standard playlist there, not sure what you are complaining about... You have an autoplaylist in red and 2 ui playlist in white, as you have set.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 19:14:52
You have no standard playlist there, not sure what you are complaining about... You have an autoplaylist in red and 2 ui playlist in white, as you have set.

Could be that I get it wrong.

X

The pink is an autoplaylist, the green a folder

And all the other ones are UI-only?

Library view with the monitor like icon and the other with the solid file icon created with the playlist tabs are the same?

I thought that the solid ones were UI-only and the others standard.

So what is a standard?







Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 19:53:40
I must present my apologies, now I get it.

These are UI-only, to make standard you must select with middle click and convert to playlist file, that is save in the playlist folder setup in properties.

Now the color change fine.

Really sorry for making you lost your time.


Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 19:58:44
They are solid but blank, because they are empty. That applies to any type of playlist. Files have a different icon.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 20:04:22
They are solid but blank, because they are empty. That applies to any type of playlist. Files have a different icon.

I get it at last. To make a standard, one I must select and convert. All others created at the fly are UI-only.

What I can say....I'm dumb.

Accept my humble apologies

Colors work fine

X
Title: Re: Playlist-Manager-SMP
Post by: regor on 2024-03-18 21:35:23
It has always been that way. If you want only playlist files, disable tracking UI playlists. Otherwise, create playlist files.
Title: Re: Playlist-Manager-SMP
Post by: paregistrase on 2024-03-18 22:03:26
It has always been that way. If you want only playlist files, disable tracking UI playlists. Otherwise, create playlist files.

I think I will keep it, maybe I will start to use playlists beyond the library view and some occasional taging.