I just finished a script that lets me, well, "see and manage which playlists a song is assigned to", at a glance. It was kinda annoying, going through my library, seeing a song and wondering, "did I put this on that one playlist?" and having to check via the context menu or the properties dialog.
Picture > 1000 words:
With this script installed, whenever you click on a song in the track browser, the panel will show checked boxes next to the playlists the song is in. Check a box that's unchecked and the song will be added to that list. Uncheck a checked box and the song will be removed from that playlist. So far, so good.
Now some cautionary notes:
- If you select more than one track, the script will only consider the topmost track.
- If you add a new playlist, the panel will not show it until you restart MM, click okay in the options panel or use the menu command "Refresh playlist panel".
- The same applies to deleted playlists. Attempting to add a track to a playlist that doesn't exist anymore does nothing.
- The playlist panel will mimic the tree structure of your playlist node. Previous issues with the visibility of child playlists have been fixed.
- If you are browsing the playlist that you remove a song from, you will not see the effect immediately. This is intentional, because otherwise the track browser would lose the line it's on and jump to the top of the playlist. I found that quite irritating. Hit F5 if you want to be sure.
- Removing a song from a playlist will never ask for confirmation, ignoring the setting in Tools->Options->General->Confirmations.
- If you have two or more playlists with the same name, this script will go all kinds of wonky. Adding a track will add it to the first playlist (according to MM's internal order) of that name, removing it will remove it from all playlists of that name.
- The built-in playlists are intentionally ignored.
Anyway, here it is, for your consideration.
New in Version 2:
Using the new option sheet in Tools->Options->Library->Playlist Panel, you can now choose how the playlists will be displayed:
- Tree mode (default): The "traditional" style that mimics the tree structure of the playlist node in the main tree.
- Alphabetical, checked first: Exactly what it says on the tin. Checked playlists (that the selected track is in) are listed first, in alphabetical order, followed by all unchecked playlists, also in alphabetical order. In this mode, all playlists are on the same "level", i.e. the parent-child-relationships of the nodes are dissolved.
- Alphabetical: Alphabetical order, also without tree structure.
- Alphabetical, checked only: Also what it says on the tin. Only offers about two thirds of the functionality (see and remove from playlists, adding is not possible because no unchecked playlists are visible), but it was requested, so here it is.
New in Version 3:
- The playlist panel will now display artist and title of the track that the panel works with. In the option sheet, you can choose between "Artist - Title" (default) and "Title - Artist".
- You can now also change whether it works on the selected song in the track browser, the currently playing song, or in a mixed mode (more details in the option sheet). I tried to copy the behavior options of the Lyrics Viewer script as closely as possible.
New in Version 3.1:
- You can refresh the panel after adding or removing playlists via the menu command "Refresh playlist panel".