HOWTO: Automatically create dynamic playlists in 7MC/VMC using MusicIP and WMPDJ
DISCLAIMER: I did not create either the MusicIP program or the WMPDJ plug-in. Additionally, they are both DEFUNCT and NOT SUPPORTED by their original creators (both were essentially abandoned over a year ago). I’m putting together this guide as complete as I can manage because much of the information is now only present in Google Cache and may soon be lost.
WHAT THIS IS/WHY YOU SHOULD WANT IT:
MusicIP uses analytics to scan your entire playlist and knows what the songs are from its library of songs. It knows styles, what songs tend to be representative of an artist, etc. What this will do is after you pick a song to play, it will proceed to pick the next song based on criteria you set. This includes how you want it to favor style, how much variety you want, how often a song can be repeated from the same album, how often a song can be repeated from the same artist, etc.
So you can now come home, pick one song representative of your mood and let it do the rest!
WHAT YOU NEED:
NOTE: My installation is on Windows 7. The plug-in was designed to work with older versions of Windows Media Player and within MCE2005 and VMC (the fact that it works still in 7MC is just a nice perk!). The process of installation should be nearly identical across all of them.
INSTALLATION:
1. Close Media Center and Windows Media Player.
2. Download and install MusicIP Mixer. The default directory is fine.
3. Download and extract the contents of WmpDJ.zip to any folder. The location is irrelevant.
4. Open an elevated command prompt. Navigate to the folder you extracted WmpDJ.zip too. Type “regsvr32 WmpDJ.dll” and hit enter. It should say registered successfully.
5. Open up Windows Media Player. It should give you a confirmation pop-up telling you the location of the plug-in. You can check this further in the Tools->Plug-ins menu.
6. Close Windows Media Player.
7. Open an elevated command prompt again (if you closed the other one). Navigate to the installed directory for MusicIP Mixer. Type “MusicMagicServer install” and hit enter. It should say installed successfully.
8. Open up notepad. Copy paste the following into it (there used to be an .ini for download but the link is broken. It is also available through Google Cache at the moment)
9. We want to edit the cache line so that the server uses the same library as the main GUI (you can have it be separate but I can’t imagine why…. By default, Windows 7 installs it to: “C:\Users\$USERNAME\AppData\Roaming\MusicIP\MusicIP Mixer\default.m3lib”. So above you need to replace “$USERNAME” with whatever your user name is.
10. If you think you need to change the port, feel free to do so. If you are going to run it on a different computer (i.e. you have multiple HTPCs) then you need to worry about that, otherwise it should work as-is.
11. Save the file as “mmm.ini” to your main MusicIP directory (e.g. C:\Program Files\MusicIP\MusicIP Mixer). The mmm.ini file is what controls the settings for how songs are picked by MusicIP. There is no more need to edit the file directly as you can do it through the GUI or server console. For reference, the "Style" range of values is 0-200 and "Variety" is 0-9.
12. Open an elevated command prompt again. Type
CONFIGURATION:
13. Type http://localhost:9995 (or http://localhost:$PORTNUMBER if you changed it). You should see the server configuration screen. Scroll down to “Mix Settings”. You can adjust “Artist Style” and “Variety” . A high style number means songs will be CLOSER in style. A high variety number means the songs will have GREATER variety. I’d suggest tossing it in the middle and going from there. The “Mix Size” option is irrelevant. Change “No duplicates within” to whatever you prefer. I currently have it set to “10 tracks” (so if I hear an AC/DC song, I won’t hear another one for 10 more songs).
14. Now, technically you can add songs and do everything through this console. But I think it is clunky and, since we updated the .ini to share the server cache with the main GUI cache” I think it’s easier to switch to that. So open up MusicIP Mixer.
NOTE: One will note that this program is very powerful and allows many other options for creating custom playlists, playlists based on mood, etc. Unfortunately that’s not available in Media Center but if you’re looking for a good way to create some playlists, either for a party or whatever, it is very easy to do so here and then export the .m3u to a directory for Media Center to pick it up.
15. Go File->Preferences. Go down to “Watch Folders” and have it as “Scan folders at startup” and “Monitor folders continuously”. This way you’ll only have to set it up once.
16. Click the “Add” button. PLEASE NOTE: DO NOT ADD MAPPED NETWORKED DRIVES. I tried this and for some bizarre reason WMP continued to refer to my music by their network path and not the mapped path which confused MusicIP. This was true even though I have my music mapped from my WHS to local drive letters and added into 7MC using those drive letters. So click “Add” and then (if our music is on a different computer), do it the long way by clicking on “Network”, etc etc. Once you are done adding all your folders with music (yes you can do the root of a WHS share), click “ok” to go back to the main GUI screen.
17. Ideally now you should be able to close the program, then reopen it, at which point it should begin scanning your files. If not, click “Library” (the menu at the top, not the left) and click “Add Songs” and repeat your previous steps of adding files to the “watched” list. The “watched” function does work, I just haven’t played with it on a fresh setup to confirm.
18. Wait. This process will take awhile (especially if you have a lot of music). First it will scan for all your tracks. Then it will go through and work on analyzing all of them. IT CANNOT ANALYZE ALL FILE FORMATS (e.g. it doesn’t like .aac or .m4a files… sorry Apple fans) but it can do virtually all of them. Once done identifying/analyzing your tracks, it will begin verifying them. However, you can start using the “Mix” functionality as soon as the initial analyzing step is done.
19. Make sure WMP/MC is closed. Now go to the folder that you unzipped the WmpDJ.zip files back in step #3. Open up “WmpDJ.dll.ini”. This is the configuration file to get MusicIP integrated into WMP/MC.
20. Change “SeedCount=” to something larger (I’d say at least 10). This is how many songs the plug-in looks back at to develop which songs to play next. It only cues one song at a time so if you leave it at one, you may find your playlist meandering into an area you don’t like. With a larger number it will tend to keep better uniformity. NOTE: this does NOT mean you need a minimum number of songs already playing in order for the plug-in to work; even if you set it to 1000 (though please don’t) it will still work with only one song added to the list… it just means it will keep referring back to those songs as the playlist grows until the number is exceeded.
21. Change “UseRandomDJ=1” to “UseRandomDJ=0” (otherwise it just picks random songs which is completely pointless… I think it *might* be a backup in case MusicIP fails but, in case you screw something up with your install, it will also mislead you into thinking this plug-in is working when it really isn’t.
22. Change “RestrictAlbum=” to whatever you want (this is the same setting as in the server configuration console… I’m not sure which trumps the other but set them to the same (e.g. RestrictAlbum=10).
23. Do the same for “RestrictArtist=” but you can pick a smaller number if you’d like (i.e. you don’t mind hearing Radiohead every 5 tracks, but you don’t want to hear the same album more than once every 10 tracks).
24. Change “EnableLogging=1”. This creates a .txt debug file in case you have problems.
25. Leave “ServerAddress” unless you are installing to a different computer from your Media Center. Then insert accordingly.
26. Change “ServerPort=9995” (or whatever port you picked in step #13).
27. I have no idea what “ResponseSize” since no matter what number you pick, the plug-in only cues up one track.
28. Leave “StyleWeight”, “Variety” and “StickToGenre” at “=-1”. This makes it follow the server/GUI settings so that you can tweak from there instead of continually coming back to this .ini file.
29. I would add the main MusicIP Mixer to your startup menu so it is always open in the background (to scan for new music that you add). You also want to set the Server service to start with the computer.
NOTE: The MusicIP Mixer has a built-in menu that says it can run a server. I found this to be utter CRAP and did NOT work! The standalone server service was the only way I could get this to work.
30. Open up Media Center, pick a track you like and enjoy a far more pleasant listening experience!
FURTHER NOTES:
Please remember my initial disclaimer that this is an UNSUPPORTED program and an UNSUPPORTED plug-in. So if you have problems, post them up and I can try to help… but suggestions for improvements, etc are pointless. If I’ve missed any steps, I’m sorry and please let me know so I can update the guide. Also, I think this is all fairly straightforward without pictures, but I plan on doing a new HTPC setup in another week or so, at which time I can snap some screenshots as I set it up again (if it would helpful).
Enjoy!
DISCLAIMER: I did not create either the MusicIP program or the WMPDJ plug-in. Additionally, they are both DEFUNCT and NOT SUPPORTED by their original creators (both were essentially abandoned over a year ago). I’m putting together this guide as complete as I can manage because much of the information is now only present in Google Cache and may soon be lost.
WHAT THIS IS/WHY YOU SHOULD WANT IT:
- Windows Media Center is fantastically easy to use and has made tremendous strides through its progression. From a music standpoint, it is incredibly easy to navigate due to triple-tap remote functionality. It is also extremely robust and able of handling extremely large libraries with ease.
- HOWEVER, like many/most/all(?) front ends, it lacks the ability to “intelligently” choose music for playlists. There are plenty of standalone programs that do this, as well as online solutions (e.g. Last.fm). But the whole point of MC is to make it completely accessible in a single program with a single remote.
- Currently users are limited to using genres or ratings or similar rudimentary methods (“play favorites”. My problem was that it’s a terrible way of choosing music. For example, when I want to listen to alternative rock, I don’t mind getting a few regular “rock” songs, some “indie rock”, and perhaps a few other things. So I’d have to go through and add multiple genres to get everything I might want.
- The other alternative is “shuffle all” but that’s an absolute schizophrenic nightmare! Jumping from Radiohead to 2pac to Beethoven finds me frantically hitting the skip key as I look for a song I want to listen to at the moment.
- There is also the issue of getting crap “filler” songs on CDs that you don’t really want to listen to (intros, interludes, silence, etc). I have them ripped to my server for completeness but they really ruin a good shuffle mix.
- There is also the issue with having a lot of albums by the same artist… and getting a shuffle mix that is half of one artist. This solution solves that.
- Ratings are useful but I can love songs from many different genres… it doesn’t mean I want to hear them at the same time! And manually creating playlists from extremely large collections is exactly what I am trying to avoid.
MusicIP uses analytics to scan your entire playlist and knows what the songs are from its library of songs. It knows styles, what songs tend to be representative of an artist, etc. What this will do is after you pick a song to play, it will proceed to pick the next song based on criteria you set. This includes how you want it to favor style, how much variety you want, how often a song can be repeated from the same album, how often a song can be repeated from the same artist, etc.
So you can now come home, pick one song representative of your mood and let it do the rest!
WHAT YOU NEED:
- MusicIP Mixer (http://www.amplifiedmusicservices.com/downloads/MusicMixer1.8.1b.exe)
- WMPDJ Plug-in (http://www.planetgriff.com/download/software/WmpDJ.zip)
NOTE: My installation is on Windows 7. The plug-in was designed to work with older versions of Windows Media Player and within MCE2005 and VMC (the fact that it works still in 7MC is just a nice perk!). The process of installation should be nearly identical across all of them.
INSTALLATION:
1. Close Media Center and Windows Media Player.
2. Download and install MusicIP Mixer. The default directory is fine.
3. Download and extract the contents of WmpDJ.zip to any folder. The location is irrelevant.
4. Open an elevated command prompt. Navigate to the folder you extracted WmpDJ.zip too. Type “regsvr32 WmpDJ.dll” and hit enter. It should say registered successfully.
5. Open up Windows Media Player. It should give you a confirmation pop-up telling you the location of the plug-in. You can check this further in the Tools->Plug-ins menu.
6. Close Windows Media Player.
7. Open an elevated command prompt again (if you closed the other one). Navigate to the installed directory for MusicIP Mixer. Type “MusicMagicServer install” and hit enter. It should say installed successfully.
8. Open up notepad. Copy paste the following into it (there used to be an .ini for download but the link is broken. It is also available through Google Cache at the moment)
Code:
[mix]
mixsize=10 tracks
restrict=3 tracks
style=20
variety=0
seed=1
[server]
proxy=0
host=
proxyport=
authentication=
user=
password=
[services]
key=
cache=C:\Users\$USERNAME\AppData\Roaming\MusicIP\MusicIP Mixer\default.m3lib
port=9995
tivo=0
upnp=0
api=1
readonly=0
cpu=0
9. We want to edit the cache line so that the server uses the same library as the main GUI (you can have it be separate but I can’t imagine why…. By default, Windows 7 installs it to: “C:\Users\$USERNAME\AppData\Roaming\MusicIP\MusicIP Mixer\default.m3lib”. So above you need to replace “$USERNAME” with whatever your user name is.
10. If you think you need to change the port, feel free to do so. If you are going to run it on a different computer (i.e. you have multiple HTPCs) then you need to worry about that, otherwise it should work as-is.
11. Save the file as “mmm.ini” to your main MusicIP directory (e.g. C:\Program Files\MusicIP\MusicIP Mixer). The mmm.ini file is what controls the settings for how songs are picked by MusicIP. There is no more need to edit the file directly as you can do it through the GUI or server console. For reference, the "Style" range of values is 0-200 and "Variety" is 0-9.
12. Open an elevated command prompt again. Type
It should give you a confirmation that the server is now running.net start “MusicIP Server”
CONFIGURATION:
13. Type http://localhost:9995 (or http://localhost:$PORTNUMBER if you changed it). You should see the server configuration screen. Scroll down to “Mix Settings”. You can adjust “Artist Style” and “Variety” . A high style number means songs will be CLOSER in style. A high variety number means the songs will have GREATER variety. I’d suggest tossing it in the middle and going from there. The “Mix Size” option is irrelevant. Change “No duplicates within” to whatever you prefer. I currently have it set to “10 tracks” (so if I hear an AC/DC song, I won’t hear another one for 10 more songs).
14. Now, technically you can add songs and do everything through this console. But I think it is clunky and, since we updated the .ini to share the server cache with the main GUI cache” I think it’s easier to switch to that. So open up MusicIP Mixer.
NOTE: One will note that this program is very powerful and allows many other options for creating custom playlists, playlists based on mood, etc. Unfortunately that’s not available in Media Center but if you’re looking for a good way to create some playlists, either for a party or whatever, it is very easy to do so here and then export the .m3u to a directory for Media Center to pick it up.
15. Go File->Preferences. Go down to “Watch Folders” and have it as “Scan folders at startup” and “Monitor folders continuously”. This way you’ll only have to set it up once.
16. Click the “Add” button. PLEASE NOTE: DO NOT ADD MAPPED NETWORKED DRIVES. I tried this and for some bizarre reason WMP continued to refer to my music by their network path and not the mapped path which confused MusicIP. This was true even though I have my music mapped from my WHS to local drive letters and added into 7MC using those drive letters. So click “Add” and then (if our music is on a different computer), do it the long way by clicking on “Network”, etc etc. Once you are done adding all your folders with music (yes you can do the root of a WHS share), click “ok” to go back to the main GUI screen.
17. Ideally now you should be able to close the program, then reopen it, at which point it should begin scanning your files. If not, click “Library” (the menu at the top, not the left) and click “Add Songs” and repeat your previous steps of adding files to the “watched” list. The “watched” function does work, I just haven’t played with it on a fresh setup to confirm.
18. Wait. This process will take awhile (especially if you have a lot of music). First it will scan for all your tracks. Then it will go through and work on analyzing all of them. IT CANNOT ANALYZE ALL FILE FORMATS (e.g. it doesn’t like .aac or .m4a files… sorry Apple fans) but it can do virtually all of them. Once done identifying/analyzing your tracks, it will begin verifying them. However, you can start using the “Mix” functionality as soon as the initial analyzing step is done.
19. Make sure WMP/MC is closed. Now go to the folder that you unzipped the WmpDJ.zip files back in step #3. Open up “WmpDJ.dll.ini”. This is the configuration file to get MusicIP integrated into WMP/MC.
20. Change “SeedCount=” to something larger (I’d say at least 10). This is how many songs the plug-in looks back at to develop which songs to play next. It only cues one song at a time so if you leave it at one, you may find your playlist meandering into an area you don’t like. With a larger number it will tend to keep better uniformity. NOTE: this does NOT mean you need a minimum number of songs already playing in order for the plug-in to work; even if you set it to 1000 (though please don’t) it will still work with only one song added to the list… it just means it will keep referring back to those songs as the playlist grows until the number is exceeded.
21. Change “UseRandomDJ=1” to “UseRandomDJ=0” (otherwise it just picks random songs which is completely pointless… I think it *might* be a backup in case MusicIP fails but, in case you screw something up with your install, it will also mislead you into thinking this plug-in is working when it really isn’t.
22. Change “RestrictAlbum=” to whatever you want (this is the same setting as in the server configuration console… I’m not sure which trumps the other but set them to the same (e.g. RestrictAlbum=10).
23. Do the same for “RestrictArtist=” but you can pick a smaller number if you’d like (i.e. you don’t mind hearing Radiohead every 5 tracks, but you don’t want to hear the same album more than once every 10 tracks).
24. Change “EnableLogging=1”. This creates a .txt debug file in case you have problems.
25. Leave “ServerAddress” unless you are installing to a different computer from your Media Center. Then insert accordingly.
26. Change “ServerPort=9995” (or whatever port you picked in step #13).
27. I have no idea what “ResponseSize” since no matter what number you pick, the plug-in only cues up one track.
28. Leave “StyleWeight”, “Variety” and “StickToGenre” at “=-1”. This makes it follow the server/GUI settings so that you can tweak from there instead of continually coming back to this .ini file.
29. I would add the main MusicIP Mixer to your startup menu so it is always open in the background (to scan for new music that you add). You also want to set the Server service to start with the computer.
NOTE: The MusicIP Mixer has a built-in menu that says it can run a server. I found this to be utter CRAP and did NOT work! The standalone server service was the only way I could get this to work.
30. Open up Media Center, pick a track you like and enjoy a far more pleasant listening experience!
FURTHER NOTES:
- MusicIP Mixer is actually a nice program for fixing your tags. By selecting analyzed tracks and clicking “Fix Tags”, it will give you suggestions on missing/mistaken fields and to correct them.
- The upside of the program is that, once you pick a song, it continually adds an extra song to the end of your playlist forever. So you never run out of music! The downside is, if you’re someone who wants to put on a single CD before going to bed and then have it turn off… it won’t do that. When the album you selected ends, it will automatically begin playing a new song that is similar.
- Sadly there is no way to generate a larger playlist so that you can look in advance to maybe skip ahead a few tracks. Also, the GUI program actually has other neat features like “ignore this artist” or “more like this” that unfortunately you can’t do in Media Center. Unless someone would like to program that
Please remember my initial disclaimer that this is an UNSUPPORTED program and an UNSUPPORTED plug-in. So if you have problems, post them up and I can try to help… but suggestions for improvements, etc are pointless. If I’ve missed any steps, I’m sorry and please let me know so I can update the guide. Also, I think this is all fairly straightforward without pictures, but I plan on doing a new HTPC setup in another week or so, at which time I can snap some screenshots as I set it up again (if it would helpful).
Enjoy!