TradeSkillMaster/LibTSM/Util/Sound.lua

85 lines
2.9 KiB
Lua
Raw Permalink Normal View History

2020-11-13 14:13:12 -05:00
-- ------------------------------------------------------------------------------ --
-- TradeSkillMaster --
-- https://tradeskillmaster.com --
-- All Rights Reserved - Detailed license information included with addon. --
-- ------------------------------------------------------------------------------ --
--- Sound Functions
-- @module Sound
local _, TSM = ...
local Sound = TSM.Init("Util.Sound")
local L = TSM.Include("Locale").GetTable()
local NO_SOUND_KEY = "TSM_NO_SOUND" -- this can never change
local SOUNDS = {
[NO_SOUND_KEY] = "<"..L["No Sound"]..">",
["AuctionWindowOpen"] = L["Auction Window Open"],
["AuctionWindowClose"] = L["Auction Window Close"],
["alarmclockwarning3"] = L["Alarm Clock"],
["UI_AutoQuestComplete"] = L["Auto Quest Complete"],
["TSM_CASH_REGISTER"] = L["Cash Register"],
["HumanExploration"] = L["Exploration"],
["Fishing Reel in"] = L["Fishing Reel In"],
["LevelUp"] = L["Level Up"],
["MapPing"] = L["Map Ping"],
["MONEYFRAMEOPEN"] = L["Money Frame Open"],
["IgPlayerInviteAccept"] = L["Player Invite Accept"],
["QUESTADDED"] = L["Quest Added"],
["QUESTCOMPLETED"] = L["Quest Completed"],
["UI_QuestObjectivesComplete"] = L["Quest Objectives Complete"],
["RaidWarning"] = L["Raid Warning"],
["ReadyCheck"] = L["Ready Check"],
["UnwrapGift"] = L["Unwrap Gift"],
}
local SOUNDKITIDS = {
["AuctionWindowOpen"] = 5274,
["AuctionWindowClose"] = 5275,
["alarmclockwarning3"] = 12889,
["UI_AutoQuestComplete"] = 23404,
["HumanExploration"] = 4140,
["Fishing Reel in"] = 3407,
["LevelUp"] = 888,
["MapPing"] = 3175,
["MONEYFRAMEOPEN"] = 891,
["IgPlayerInviteAccept"] = 880,
["QUESTADDED"] = 618,
["QUESTCOMPLETED"] = 878,
["UI_QuestObjectivesComplete"] = 26905,
["RaidWarning"] = 8959,
["ReadyCheck"] = 8960,
["UnwrapGift"] = 64329,
}
-- ============================================================================
-- Module Functions
-- ============================================================================
--- Gets the key used to represent no sound.
-- @return The key used to represent no sound
function Sound.GetNoSoundKey()
return NO_SOUND_KEY
end
--- Gets the key-value table containing all supported sounds.
-- The key is the what gets passed to @{Sound.PlaySound} and the value is a localized string describing the sound.
-- @return The sounds table
function Sound.GetSounds()
return SOUNDS
end
--- Plays a sound and flashes the client icon.
-- @param soundKey The key of the sound (from @{Sound.GetSounds}) to play
function Sound.PlaySound(soundKey)
if soundKey == NO_SOUND_KEY then
-- do nothing
elseif soundKey == "TSM_CASH_REGISTER" then
PlaySoundFile("Interface\\Addons\\TradeSkillMaster\\Media\\register.mp3", "Master")
FlashClientIcon()
else
PlaySound(SOUNDKITIDS[soundKey], "Master")
FlashClientIcon()
end
end