Download
(9Kb)
Download
Updated: 12-23-07 08:38 PM
Pictures
File Info
Updated:12-23-07 08:38 PM
Created:unknown
Downloads:5,076
Favorites:12
MD5:

MusicTheme  Popular! (More than 5000 hits)

Version: 2.0.1
by: mulesh [More]

== Description ==

This will allow you to play your own sound scheme for in-game music, including background music for zones as well as combat and mount music. Custom themes can be added to allow for unlimited variations, just get your music in the theme folder and write up the theme data file. Currently the only theme available is based on Final Fantasy 7.

== Features ==

Play custom music for:
Battlegrounds
Cities
Outdoor Zones
Mounted
Swimming
Combat Music
Ghost
Death
Taxi
Resting

== Usage ==

Slash Commands:
/musictheme or /music to open the config window

A F.A.Q. on creating themes is here

Download the full Final Fantasy 7 theme here:
Final Fantasy 7 Theme v2.0
Extract the contents to your Interface\AddOns\MusicTheme\ThemeData folder.

Or get the sound pack from my Google Code SVN page at:
trunk/FinalFantasy7Theme

You will also need to get the Final Fantasy 7 Theme (lua only) patch above and have it installed first. Then extract the songs into your Interface\AddOns\MusicTheme\ThemeData\FinalFantsy7\Sounds folder.

If you already have the songs from a previous download then you just need to update the theme file by getting the FinalFantasy7Theme(lua only) patch above.

== Planned Changes ==

Add support for multi-song theme elements

== Known Issues ==

Battleground music does not trigger after rezzing in battlegrouns

== Change Log ==

2.0.1
* Premier GUI added
* fix battle music priority over swimming
* improved XP gain effects
* added Silvermoon City support (code only)
* added Shattrath City support (code only)

v1.1.6
* fix typo "Stormwind" to "Stormwind City"
* fix typo "Iron Forge" to "IronForge"

v1.1.5
* fix typo in OnLoad function (this fixes slash commands and event registration issues)

v1.1.4
* new themes will now get added properly

v1.1.3
* the RestSong will only be played when resting AND indoors (still excluding major cities)
* tweaked XP gain song to trigger more accurately
* suppress other songs when in battlegrounds

v1.1.2
* Fixed zip file structure
* Added updated files from v1.1.1

v1.1.1
* Added music checks for Stormwind, The Exodar, Darnassus, and Iron Forge
* FinalFantasy7 Theme has new music to support the added cities

v1.0.1
* Initial release

Optional Files (0)


Post A Reply Comment Options
Unread 12-10-07, 10:59 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
Originally posted by okami
Thanks for the help, it worked . but now I can't hear the fanfare music and still no 'kill'.
I think the kill.wav is too quiet to be heard over the fanfare or battle music. I played it a few times myself out of game and the .wav file is only a second long I think.

I'm going over the fanfare bug and why you may not hear it. Are you level 70? If so that's why, it only triggers on exp. gain. If not I'll keep looking.
Report comment to moderator  
Reply With Quote
Unread 12-10-07, 04:27 PM  
okami
A Kobold Labourer
 
okami's Avatar

Forum posts: 1
File comments: 6
Uploads: 0
Thanks for the help, it worked . but now I can't hear the fanfare music and still no 'kill'.


Originally posted by Pyrolith
I think the way Mulesh has it set up is that he only intended one song for PvE, one for PvP, one for Battlegrounds, and so on.

You can add more songs no problem to the FinalFantasy7.lua file.

Under Battlesong = just add like Battlesong2, Battlesong3. Set them to find the song you want to play in the proper directory.

Then in MusicTheme.lua under
function MusicTheme_LoadMusic(themename)

be sure to add Battlesong2 and 3 there as well, so the addon will load those and be able to call them.

then you'd want to add that local x code from earlier to the right block of combat code.
It should be the one beneath the two else ifs

Code:
		else
			if (MusicTheme_InBattle == false) then
				Play(BattleSong)
				if (MusicThemeDB.Options.Debug == "on") then
					Print(title.."Player fighting normal, playing BattleSong.")
				end
			end
Where Play(BattleSong) is, that is where you delete and put in the local x code.
Report comment to moderator  
Reply With Quote
Unread 12-10-07, 01:05 PM  
Slakah
A Molten Giant
 
Slakah's Avatar
AddOn Author - Click to view AddOns

Forum posts: 863
File comments: 146
Uploads: 26
At the moment if you get into combat then start swimming the combat sound will be overwritten by the swimming. I personally would prefer to let combat have priority.
Report comment to moderator  
Reply With Quote
Unread 12-10-07, 01:02 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
Thanks for writing code that's easy to read and understand Mulesh. It's really helping me out by working on my coding skills. I'm having a lot of fun debugging and tweaking :P
Report comment to moderator  
Reply With Quote
Unread 12-10-07, 01:00 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
Originally posted by okami
GJ it works, but I have changed the 'BattleGround' 1,2 & 3 to songs from FF7:AC and The Black Mages so they have longer intros (so I don't really want to use them in PVE)...Is there anyway to use for example 'PVEbattle2', 'PVEbattle3' etc?

Also I can't hear the 'Kill' sound in game
I think the way Mulesh has it set up is that he only intended one song for PvE, one for PvP, one for Battlegrounds, and so on.

You can add more songs no problem to the FinalFantasy7.lua file.

Under Battlesong = just add like Battlesong2, Battlesong3. Set them to find the song you want to play in the proper directory.

Then in MusicTheme.lua under
function MusicTheme_LoadMusic(themename)

be sure to add Battlesong2 and 3 there as well, so the addon will load those and be able to call them.

then you'd want to add that local x code from earlier to the right block of combat code.
It should be the one beneath the two else ifs

Code:
		else
			if (MusicTheme_InBattle == false) then
				Play(BattleSong)
				if (MusicThemeDB.Options.Debug == "on") then
					Print(title.."Player fighting normal, playing BattleSong.")
				end
			end
Where Play(BattleSong) is, that is where you delete and put in the local x code.
Last edited by Pyrolith : 12-10-07 at 01:01 PM.
Report comment to moderator  
Reply With Quote
Unread 12-10-07, 11:57 AM  
okami
A Kobold Labourer
 
okami's Avatar

Forum posts: 1
File comments: 6
Uploads: 0
GJ it works, but I have changed the 'BattleGround' 1,2 & 3 to songs from FF7:AC and The Black Mages so they have longer intros (so I don't really want to use them in PVE)...Is there anyway to use for example 'PVEbattle2', 'PVEbattle3' etc?

Also I can't hear the 'Kill' sound in game



Originally posted by Pyrolith
I think I have a solution to Okami's question about random PVE songs to listen to while fighting.

Code:
				local x = math.random(1,5)
				if (x == 1) then
					Play(BattleSong)
				elseif (x == 2) then
					Play(PVPSong)
				elseif (x == 3) then
					Play(BG1Song)
				elseif (x == 4) then
					Play(BG2Song)
				else
					Play(BG3Song)
				end
Replace Play(BattleSong) with the code above and it should work. You can add or subtract songs, increase the likelihood of a song, and so forth by changing the numbers here. However the bad thing about changing it is the debug message won't tell you which one is playing so it can't provide you that information.

When running the debugger you'll just see:

PLAYER_REGEN_DISABLED
Player fighting normal, Playing BattleSong.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 10:30 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
The music stopped again in Heroic Mechanar. Only did it one time though. Right now my lua codes only difference is the change I made earlier.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 08:45 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
I think I have a solution to Okami's question about random PVE songs to listen to while fighting.

Code:
				local x = math.random(1,5)
				if (x == 1) then
					Play(BattleSong)
				elseif (x == 2) then
					Play(PVPSong)
				elseif (x == 3) then
					Play(BG1Song)
				elseif (x == 4) then
					Play(BG2Song)
				else
					Play(BG3Song)
				end
Replace Play(BattleSong) with the code above and it should work. You can add or subtract songs, increase the likelihood of a song, and so forth by changing the numbers here. However the bad thing about changing it is the debug message won't tell you which one is playing so it can't provide you that information.

When running the debugger you'll just see:

PLAYER_REGEN_DISABLED
Player fighting normal, Playing BattleSong.
Last edited by Pyrolith : 12-09-07 at 10:31 PM.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 08:30 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
I think I found the answer to one of my questions

-- play in combat
Code:
		elseif (InInstance == false) and (classification == "elite") then
Code:
		elseif (InInstance == false) or (classification == "elite") then
It now plays the BossMusic for me when I'm in an instance.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 06:57 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
Re: Re: Re: Re: Battle Music Stopping

Originally posted by mulesh
I cant see anything in the code that would make that song stop during combat. Its evaluating the same way it would outside an instance when in a normal fight and I have never noticed to stop in the way you are describing.
Does it only do it in instances?
I only noticed it on my mage in Shattered Halls last night. When I have time I'll try running thru another instance to see if it happens again.

Also when I was on this morning I had the debug mode on and was just running around and I got "ADDON_LOADED" every once in a while. MusicTheme should already be loaded when you login, so this sort of weird. It doesn't do anything to the music at the time, it just says that message in the debug.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 06:40 PM  
mulesh
A Chromatic Dragonspawn
 
mulesh's Avatar
AddOn Author - Click to view AddOns

Forum posts: 193
File comments: 107
Uploads: 5
Re: Re: Re: Battle Music Stopping

Originally posted by Pyrolith
Sorry about that, it was BattleSong
I cant see anything in the code that would make that song stop during combat. Its evaluating the same way it would outside an instance when in a normal fight and I have never noticed to stop in the way you are describing.
Does it only do it in instances?
__________________
"Don"t tase me bro!" ~ Andrew Meyer
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 06:36 PM  
mulesh
A Chromatic Dragonspawn
 
mulesh's Avatar
AddOn Author - Click to view AddOns

Forum posts: 193
File comments: 107
Uploads: 5
Originally posted by okami
Great addon , but is there a way to play random PVE battle songs?
Yes, its possible. I will look into adding that feature.


Originally posted by Pyrolith
I'm looking at some of the play in combat code and was wondering if this was intended.

Code:
		elseif (InInstance == false) and (classification == "elite") then
			if (MusicTheme_InBattle == false) then
				Play(BossSong)
				if (MusicThemeDB.Options.Debug == "on") then
					Print(title.."Player fighting elite, playing BossSong.")
				end
			end
What this is doing since I play on a PVE server mostly is that it doesn't play any boss music while in an instance. I'm sure if I set (InInstance == true) it'll fix it, or if i switch (classification == "boss") as well. I'll tweak around that as well and see what I come up with sometime after dinner and my online class.
You are correct (although server type does not influence that logic) that it will NOT play the BossSong while fighting an elite in an instance (all mobs are elite after all). This is intended. It should play the BossSong when fighting any of the other classifications while in an instance (worldboss, rareelite, rare).
__________________
"Don"t tase me bro!" ~ Andrew Meyer
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 06:10 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
I'm looking at some of the play in combat code and was wondering if this was intended.

Code:
		elseif (InInstance == false) and (classification == "elite") then
			if (MusicTheme_InBattle == false) then
				Play(BossSong)
				if (MusicThemeDB.Options.Debug == "on") then
					Print(title.."Player fighting elite, playing BossSong.")
				end
			end
What this is doing since I play on a PVE server mostly is that it doesn't play any boss music while in an instance. I'm sure if I set (InInstance == true) it'll fix it, or if i switch (classification == "boss") as well. I'll tweak around that as well and see what I come up with sometime after dinner and my online class.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 05:54 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
Re: battle

Originally posted by okami
Great addon , but is there a way to play random PVE battle songs?
There should be a way to tweak it so it's like the riding mount section of code where it'll select from random 1 thru 3 what song you will hear. I can spend some time later tonight on that.
Report comment to moderator  
Reply With Quote
Unread 12-09-07, 05:52 PM  
Pyrolith
A Defias Bandit

Forum posts: 3
File comments: 19
Uploads: 0
Re: Re: Battle Music Stopping

Originally posted by mulesh
There are three "fighting" songs: BossSong, PVPSong, and BattleSong. Which one was it playing when you noticed it stopping? If you turn on Debug and enter combat in an instance it should output a message showing you which song is being played.
Sorry about that, it was BattleSong
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: