Skip to main content

Notice

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

Re: Playlist-Manager-SMP

Reply #50
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

Re: Playlist-Manager-SMP

Reply #51
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).

Re: Playlist-Manager-SMP

Reply #52
Everything works ok, problem solved :)

Re: Playlist-Manager-SMP

Reply #53
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.

 

Re: Playlist-Manager-SMP

Reply #54
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.

Re: Playlist-Manager-SMP

Reply #55
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")

Re: Playlist-Manager-SMP

Reply #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")
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...

Re: Playlist-Manager-SMP

Reply #57
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

Re: Playlist-Manager-SMP

Reply #58
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

Re: Playlist-Manager-SMP

Reply #59
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.

Re: Playlist-Manager-SMP

Reply #60
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.

Re: Playlist-Manager-SMP

Reply #61
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.

Re: Playlist-Manager-SMP

Reply #62
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.

Re: Playlist-Manager-SMP

Reply #63
Missed the last additions to auto-loading and auto-saving, now reflected on the manual. Also fixed some typos.

Re: Playlist-Manager-SMP

Reply #64
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...

Re: Playlist-Manager-SMP

Reply #65
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.

Re: Playlist-Manager-SMP

Reply #66
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.

Re: Playlist-Manager-SMP

Reply #67
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.

Re: Playlist-Manager-SMP

Reply #68
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

Re: Playlist-Manager-SMP

Reply #69
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.

Re: Playlist-Manager-SMP

Reply #70
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)

Re: Playlist-Manager-SMP

Reply #71
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.

Re: Playlist-Manager-SMP

Reply #72
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.

Re: Playlist-Manager-SMP

Reply #73
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).

Re: Playlist-Manager-SMP

Reply #74
Hi Regor,
I bypassed the relative paths error just replacing them with absolute paths (as suggested by this user), 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?