SoundIntercept is a currently work-in-progress addon that intercepts Addon/Interface sounds, providing the option to either silence them, or to replace them with another.
EDIT: I've learned since the time v0.1 was posted that it is impossible to use an addon to intercept non-addon sounds. That is to say, SoundIntercept can only intercept sounds that are played by another addon, or by the in-game UI, NOT by the game engine.
This was mostly done per-request, but after I thought about it, I figured this addon may have its uses in being flexible.
That being said, its current capabilities are to silence/replace a sound, and to provide a function check for each sound to indicate when/where/etc. this change should be done.
Currently the intercepts are only configurable if you change the Lua code. In the future, I'll likely write a system that lets any user easily add new/modify "Intercepts."
It comes pre-packaged with one "Intercept," which was the request:
Replace the DBM sound "Run Away, Little Girl!" with a Female Dwarf's /flee sound.
This will not replace the sound in Karazhan (where it's actually used in the game).
EDIT: I've learned since the time v0.1 was posted that the zone check for Karazhan isn't needed, as the boss sound isn't played via the API function, and thus not interceptable. I will update the addon to reflect this when I get some time.
Intercept example:
Code:
InterceptThese["Sound\\Creature\\HoodWolf\\HoodWolfTransformPlayer01.wav"] = {
["replacement"] = "Sound\\Character\\Dwarf\\DwarfVocalFemale\\DwarfFemaleFlee01.wav",
["checkFunc"] = function() return SoundIntercept.check.NotInZone("Karazhan") end,
}
Valid replacements can even be placed within the addon's folder and referenced:
Code:
"Interface\\AddOns\\SoundIntercept\\example.mp3"
Possible Future Features- Interface to allow users to easily specify sounds to intercept
- Write the ability to specify a random replacement from a list
- Prepackaged dropdown-style (or similar) scripts, similar to how Outfitter has configurable outfit scripts
- Sound-tracker: when turned on, prints the path of any sound into the chat frame, allowing you to know what sound to replace.
- Ability to pick whether the sound is disabled by the in-game option to disable all sounds, or not
- More filtering functionality, such as the ability to check if a sound path contains a string, is in a certain "folder", etc. Also would grant the ability to add checkFuncs to all sounds, so you could, for instance, disable all sounds when you're AFK
- Make the pre-packaged list (and all user-entered intercepts) be easily enableable/disableable
Want to help?
I'm always interested in Bug Reports and Feature Requests. I try to keep this addon lightweight and simple, so in some cases I may turn down extensive requests.
Please notify me if you want to silence/intercept a specific sound, and I can add it to the pre-packaged list.