diff options
author | Aki <nthirtyone@gmail.com> | 2017-06-15 17:21:02 +0200 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2017-06-15 17:21:02 +0200 |
commit | 2c458f0c756ebe577083a7cc972a07e870cb0ba9 (patch) | |
tree | 7f9bf44504deaf3a3f9e9abb5116da6d6ad9f9bc | |
parent | a00ac10a0c3654dccf7c8c92da6d8666f2f7ac48 (diff) | |
download | roflnauts-2c458f0c756ebe577083a7cc972a07e870cb0ba9.zip roflnauts-2c458f0c756ebe577083a7cc972a07e870cb0ba9.tar.gz roflnauts-2c458f0c756ebe577083a7cc972a07e870cb0ba9.tar.bz2 |
Music renamed to MusicPlayer
changed behaviour to use static table for sources
need to change dependencies now
-rw-r--r-- | not/Music.lua | 25 | ||||
-rw-r--r-- | not/MusicPlayer.lua | 34 |
2 files changed, 34 insertions, 25 deletions
diff --git a/not/Music.lua b/not/Music.lua deleted file mode 100644 index ee930f4..0000000 --- a/not/Music.lua +++ /dev/null @@ -1,25 +0,0 @@ ---- `Music` --- Simple music player object that plays and loops selected track in single Scene. -Music = { - source = --[[love.audio.newSource]]nil -} - -Music.__index = Music - -function Music:new (trackName) - local o = setmetatable({}, self) - o:init(trackName) - return o -end - --- TODO: trackName should be passed without file extension. -function Music:init (trackName) - self.source = love.audio.newSource("assets/music/" .. trackName) - self.source:setLooping(true) - self.source:setVolume(.7) - self.source:play() -end - -function Music:delete () - self.source:stop() -end
\ No newline at end of file diff --git a/not/MusicPlayer.lua b/not/MusicPlayer.lua new file mode 100644 index 0000000..1e65e3b --- /dev/null +++ b/not/MusicPlayer.lua @@ -0,0 +1,34 @@ +require "not.object" + +--- `MusicPlayer` +-- Simple music player object that plays and loops selected track. +MusicPlayer = Object:extends() + +MusicPlayer.TRACKS = {} + +-- TODO: trackName should be passed without file extension. +function MusicPlayer:new (trackName) + self:setTrack(trackName) +end + +function MusicPlayer:delete () + self.source:stop() +end + +function MusicPlayer:setTrack (trackName) + if self.source then + self.source:stop() + end + if MusicPlayer.TRACKS[trackName] then + self.source = MusicPlayer.TRACKS[trackName] + else + local source = love.audio.newSource("assets/music" .. trackName) + source:setLooping(true) + source:setVolume(.7) + self.source = source + MusicPlayer.TRACKS[trackName] = source + end + self.source:play() +end + +return MusicPlayer |