Inherit Child Playlists
- MediaMonkey Add-on - by Zvezdan Dimitrijević
This add-on works with MediaMonkey v3.0-4.x. It allows the parent auto-playlists to optionally inherit their child playlists, which means that the parent auto-playlists would display all tracks of their child playlists, so you could get the same behavior as with iTunes and some another media players. Also when synchronizing with some device, and during other operations with playlists, such parent auto-playlists would behave as if they contain all tracks from their children. The inheritance could be manually turned on/off to the selected auto-playlist from the tree context menu. When some child playlist is added or removed to/from the parent auto-playlist which has the inheritance turned on, that parent auto-playlist would adjust its content automatically.
For a discussion about this add-on, you could visit its related MediaMonkey forum thread.
This add-on is donationware. I am its sole developer and I worked on it in my own free time. I am not employed by Ventis Media, the company behind MediaMonkey, nor have I been paid by them for my efforts. If you find my add-on useful and want to help its further development, it would be nice if you could send a small donation using PayPal. You could donate as much as you think that is appropriate, any amount would be really appreciated.
This add-on doesn't work with MediaMonkey v5! No add-on made for a previous version of the program will work with MM5, either by me or any other author, since MM5 has completely different programming interface than before. If you really like my add-on and think that it is essential for your work with the program, you should stay with MM4.
Just double-click on the InheritChildPlaylists-xx.mmip file; if you are on Vista or newer Windows and you got "Product installation error", make sure you have MM set to "Run as Administrator"; if you downloaded the installation package with IE7 and it changed its extension to a .zip, you should first change it back to a .mmip.
The inheritance could be set only to the advanced auto-playlists (created using the Advanced tab in the AutoPlaylist criteria dialog box, which you could get with the Edit AutoPlaylist option from the context menu). However, the parent auto-playlist could inherit any child auto-playlists (basic and advanced), as well as static playlists.
The details about the inherited playlists are stored as the new criterion of the parent playlist in the form of "Playlist is xx, yy, ...". If you want to set the inheritance to some auto-playlist which already has the criterion "Playlist is not ...", such criterion should be after the criterion "Playlist is xx, yy, ..." in the list of criteria.
The on/off state of the inheritance of some playlist is stored in the Comment field of the Playlists table in the database. AFAIK, that field is currently unused by the program, but maybe some future version of the program will change that.
By default, with the program older than 18.104.22.1682, the parent playlist without any child playlist will not be empty, but it will display all tracks from the Library. Such behaviour is a consequence of the fact that the auto-playlists without added any criterion display all tracks. You could get the empty parent playlist that is without any child playlist if you have the condition "Playlist is some_empty_static_playlist". This problem is fixed in 22.214.171.1242 version of the program.
When you add the new child playlist to some auto-playlist with the inheritance turned on using the option New (Auto)Playlist, the content of the parent playlist would not be updated imediatelly in MM3, but you need to switch to some another playlist and turn back to the previously selected playlist. MM4 has not such problem.
This add-on is using some dirty hacks to overcome some MM API limitations. It is working fine, but you are suggested to make a backup of the database file, at least until you check if the add-on works as you expect.
This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.