Soundtrack allows you to assign your own music to almost any event in the game.
IntroductionEver get tired of World of Warcraft's default music? Wish you could inject a little bit of aural life into your game, but on your own terms? Soundtrack is the mod for you! Soundtrack allows you to assign any music you own from your own personal music library to almost any event in the game, including death, getting on your mount, leveling up, entering stealth, and various forms of combat that can distinguish between world mobs, PvP, boss battles, and more! When the event occurs, Soundtrack will play the music you have assigned to that event, almost as if the music were a part of the game itself!
- PLEASE NOTE: I am not the original author. Morricone was the man behind the project, and as of now we he has yet to return to the project. This is a fan update created in order to fix a small, very limited number of bugs that have been neglected due to Morricone's unexplained absence. -FluffyBearLina
- Thanks to Morricone for creating Soundtrack in the first place, and to FluffyBearLina for the update back in March 2009. Another huge thanks to Morricone for passing on his baby to me. Hopefully I can improve and keep it going for a while longer. -Lunaqua
- As per the above, major thanks to Morricone and everyone who's worked on Soundtrack over the years. In Lunaqua's absence, I'll be adding to and maintaining the addon where I can. Long live custom music! -Sciz
- Play your own mp3s inside the game.
- Assign music to entire zones or specific sub zones. The default music still plays in zones for which you do not assign music.
- Assign music when battling various levels of mobs, specific named monsters, or elite mobs. Set a different track to trigger at low enemy health for those intense final moments!
- Assign music to your pet battles based on battle type, continent, and enemy player or NPC name.
- A plethora of events that you can assign music: Victory, Flight, Dance, Stealth, Swimming, Level Up, etc.
- Expose the full World of Warcraft score in your library to assign Blizzard's music to your own events.
- Can be used as a standard media player. You can create playlists and play them using mini floating playback controls.
- Interface to assign music to events. See all your tracks, sortable or filterable by track title, album or artist names.
- Custom events allows you to create your own events through lua scripting. Only for very advanced users with scripting knowledge.
InstallationSoundtrack requires extra installation steps to gather your music information, so please follow these steps:
- Download and Install: Curse Client or manual install, Soundtrack must be extracted in World of Warcraft/Interface/Addons.
- Get some MP3s (or Oggs): You can copy your mp3s to Interface\Addons\SoundtrackMusic. You can put your mp3s into subdirectories or subfolders for organization. If you can run GenerateMyLibraryWindows, go to Options > Add mp3 file or Add folder and select what you want. GenerateMyLibraryWindows has Junctions turned on by default (see junctions in FAQ below). This will create a junction to the folder you select (similar to making a shortcut to a folder).
- Generate your library: (PLEASE NOTE! Python 2.x.x should be installed not 3.x.x or later.) You have two choices here: Install Python, a programming language, and run GenerateMyLibrary.py. Or run GenerateMyLibraryWindows.jar and go to Options > Generate My Library. This will create MyTracks.lua inside of the SoundtrackMusic folder. Move it back to \Soundtrack\.
- Play World of Warcraft: Start up World of Warcraft. When you go to the character screen, open up the Addons and make sure that Soundtrack is checked.
- Zone and battle music sometimes gets interrupted in instances or battlegrounds. It will come back on once the number of sound effects drops.
- Dance music does not stop when your character stops dancing. This is because there is currently no way to detect that you have stopped dancing, so the track stops when it reaches its end.
Feature Requests and Bug ReportsPlease leave a comment or leave a ticket on CurseForge.
LocalizationI am doing the best I can to localize Soundtrack, but there's a lot of lines that need to be translated and I only speak English fluently. If you are multi-lingual and would like to help localize Soundtrack, send me a PM and we can set up a localization plan.
Frequently Asked Questions
- - Why does my music cut off in the middle of battles or a lot of AOE? World of Warcraft has a limited number of sound channels available for it to use. When all the sound channels fill up, WoW will cut off the music being played by PlayMusic(), which is Soundtrack's music. When the number of sound effects drop, the music will play normally again.
- - Why does my playlist stop when I close the main window? If you select a playlist from the Playlist tab in the main window, when you close it, the playlist will continue to play. If you leave the tab, the playlist will stop.
- How do I find out the icon name for a buff or debuff? If the buff or debuff is on you, you can use the following macros. They will tell you the name and icon texture of every buff (or debuff) on your character. For a buff, copy this macro: /script for i=1,40 do name,_,icon = UnitBuff("player", i) if icon then print(name," = ",icon) end end For a debuff, copy this macro: /script for i=1,40 do name,_,icon = UnitDebuff("player", i) if icon then print(name," = ",icon) end end Other sites, such as Wowhead, have the icon name. If you get the icon texture name from there, add "Interface\Icons\" before it and it should work. Capitalization does not matter.
- - What types of music files are supported? MP3s and, if you run GenerateMyLibraryWindows.jar, Ogg audio files (.ogg). Other formats are not supported by Blizzard. Files with Japanese or other non-ASCII characters in their names can cause problems, so I suggest renaming them. There are a lot of programs to convert various music formats to mp3. I personally use iTunes for that. In iTunes, Edit->Preferences, select the Importing tab, and make sure you Import using: MP3 Encoder. Then you'll be able to convert any tracks to an mp3 file.
- - Why do I need to copy my music to the SoundtrackMusic folder? The only files that can be played by WoW are files placed under the World of Warcraft folder when the game is started. Advanced users might want to try junctions to add a virtual link between Soundtrack's music folder and your music folder. If you run on a Windows machine, you can use GenerateMyLibraryWindows.jar in the Music Manager folder.
- - How do I transfer my assignments to another machine?
- Exit WoW on the target machine.
- Copy your Interface/Addons/SoundtrackMusic folder to the target machine. If you only copy partial music files, it will still work, but the events that are missing tracks will be fixed automatically and you will lose the track assignments (since the tracks dont exist).
- Regenerate the library on the target machine. You do this the usual way, by running GenerateMyLibrary.py. You can also copy MyTracks.lua directly if you want to skip this step.
- Copy the settings. All of Soundtrack settings are stored in World of Warcraft\WTF\Account\<UserName>\SavedVariables\Soundtrack.lua. So copy this file to the same location on the target machine.
- Start WoW on the target machine!
- - Why do I need to install Python? Because the Blizzard API with which I write the addon does not let me scan your music folder. This limitation is probably to prevent cheats or from addons to screw up your pc files. If this limitation is lifted, I will remove the script. So the only way to feed your list of tracks to the addon is to generate that list outside of the game. I could have written a program in any language, but the reason I picked Python is because the same script works on both Mac and PCs, and you can read the script yourself, in case you are worried about the script's security. The script scans all your mp3s and saves the name, album, artist and track length to MyTracks.lua file, which is loaded in the game. When you install Python, you install an interpreter so that your computer can understand the code, similar to the Java Virtual Machine (that little coffee cup that runs on your task bar when you view something in Java).
- - What's a junction? A junction is a file that links two directories together as if they were a parent and subfolder. The folder it links to is the subfolder, and the folder the junction is in is the parent folder. Junctions allow GenerateMyLibrary.py to add music in other folders to your in-game library. To create a junction, run Soundtrack_Music_Manager (junctions are enabled on startup) and go to File > Add Music Folder(s). Select and open the folder(s) you want to create a junction to and the junctions will show up in your SoundtrackMusic folder. (Soundtrack_Music_Manager will create a junction from the Music Manager folder to SoundtrackMusic folder for convenience.) For Windows XP users: You need to download junction.exe for junctions to work. Go to Soundtrack\Music Manager\junction and open the README file for more instructions, including a link for downloading.