-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsound.lua
71 lines (57 loc) · 2.2 KB
/
sound.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
--[[ The mighty Sound object!
Sounds are loaded into Sound.assets.[sfx|music]. They are triggered by
either the Sound.playSFX or Sound.playMusic functions. Simple!
]]--
require("vendor/TEsound") -- TEsound global object
Sound = {}
Sound.assets = {}
-- SFX are loaded into the table as SoundData (in-memory PCM) cuz they small.
Sound.assets.sfx = {
ptooi_big = love.sound.newSoundData("assets/sfx/ptooi_big.wav"),
ptooi_small = love.sound.newSoundData("assets/sfx/ptooi_small.wav"),
badadoodahdeedah = love.sound.newSoundData("assets/sfx/badadoodahdeedah.wav"),
smash = love.sound.newSoundData("assets/sfx/smash.wav"),
bading = love.sound.newSoundData("assets/sfx/bading.wav"),
boom = love.sound.newSoundData("assets/sfx/boom.wav"),
bounce = love.sound.newSoundData("assets/sfx/bounce.wav"),
ohheylook = love.sound.newSoundData("assets/sfx/ohheylook.wav"),
awyiss = love.sound.newSoundData("assets/sfx/awwyiss.wav")
}
-- Music am just filename since are big.
Sound.assets.music = {
M100tp5e0 = "assets/music/M100tp5e0.mp3",
M100tp5e1 = "assets/music/M100tp5e1.mp3",
M100tp5e2 = "assets/music/M100tp5e2.mp3",
M100tp5e3 = "assets/music/M100tp5e3.mp3",
M100tp5e4 = "assets/music/M100tp5e4.mp3",
Undesirable = "assets/music/Undesirable.mp3"
}
TEsound.volume("sfx", 1)
TEsound.volume("music", 0.8)
Sound.playSFX = function(name)
TEsound.play(Sound.assets.sfx[name], "sfx")
end
-- second parameter causes music not to loop, and can even be a callback
-- to run when the sound finishes
Sound.playMusic = function(name, noloop_cb)
TEsound.stop("music")
if (noloop_cb) then
if(type(noloop_cb) == "function") then
TEsound.play(Sound.assets.music[name], "music", nil, nil, noloop_cb)
else
TEsound.play(Sound.assets.music[name], "music")
end
else
TEsound.playLooping(Sound.assets.music[name], "music")
end
end
Sound.stopMusic = function ()
TEsound.stop("music")
end
Sound.pauseMusic = function ()
TEsound.pause("music")
end
Sound.resumeMusic = function ()
TEsound.resume("music")
end
Sound.update = TEsound.cleanup