From 2c458f0c756ebe577083a7cc972a07e870cb0ba9 Mon Sep 17 00:00:00 2001 From: Aki Date: Thu, 15 Jun 2017 17:21:02 +0200 Subject: Music renamed to MusicPlayer changed behaviour to use static table for sources need to change dependencies now --- not/MusicPlayer.lua | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 not/MusicPlayer.lua (limited to 'not/MusicPlayer.lua') 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 -- cgit v1.1 From ae8ce1a11ca02297ff9fe05b3146c620a2485975 Mon Sep 17 00:00:00 2001 From: Aki Date: Tue, 27 Jun 2017 09:05:16 +0200 Subject: Scenes now use MusicPlayer --- not/MusicPlayer.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'not/MusicPlayer.lua') diff --git a/not/MusicPlayer.lua b/not/MusicPlayer.lua index 1e65e3b..84f5384 100644 --- a/not/MusicPlayer.lua +++ b/not/MusicPlayer.lua @@ -1,4 +1,4 @@ -require "not.object" +require "not.Object" --- `MusicPlayer` -- Simple music player object that plays and loops selected track. @@ -22,7 +22,7 @@ function MusicPlayer:setTrack (trackName) if MusicPlayer.TRACKS[trackName] then self.source = MusicPlayer.TRACKS[trackName] else - local source = love.audio.newSource("assets/music" .. trackName) + local source = love.audio.newSource("assets/music/" .. trackName) source:setLooping(true) source:setVolume(.7) self.source = source -- cgit v1.1 From 0b3de32ee8b9d79d7b818a6742ab577ff47525e6 Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 10 Jul 2017 21:16:35 +0200 Subject: MusicPlayer now don't share sources --- not/MusicPlayer.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'not/MusicPlayer.lua') diff --git a/not/MusicPlayer.lua b/not/MusicPlayer.lua index 84f5384..d2a89c3 100644 --- a/not/MusicPlayer.lua +++ b/not/MusicPlayer.lua @@ -4,14 +4,13 @@ require "not.Object" -- 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.tracks = {} self:setTrack(trackName) end function MusicPlayer:delete () + self.tracks = nil self.source:stop() end @@ -19,14 +18,14 @@ function MusicPlayer:setTrack (trackName) if self.source then self.source:stop() end - if MusicPlayer.TRACKS[trackName] then - self.source = MusicPlayer.TRACKS[trackName] + if self.tracks[trackName] then + self.source = self.tracks[trackName] else local source = love.audio.newSource("assets/music/" .. trackName) source:setLooping(true) source:setVolume(.7) self.source = source - MusicPlayer.TRACKS[trackName] = source + self.tracks[trackName] = source end self.source:play() end -- cgit v1.1 From 47d4e1c229adfffb70b3c984d00049bcebcfc183 Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 12 Jul 2017 09:04:23 +0200 Subject: All music playing moved to single instance of MusicPlayer --- not/MusicPlayer.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'not/MusicPlayer.lua') diff --git a/not/MusicPlayer.lua b/not/MusicPlayer.lua index d2a89c3..e838d96 100644 --- a/not/MusicPlayer.lua +++ b/not/MusicPlayer.lua @@ -6,12 +6,15 @@ MusicPlayer = Object:extends() function MusicPlayer:new (trackName) self.tracks = {} - self:setTrack(trackName) + if trackName then + self:setTrack(trackName) + self:play() + end end function MusicPlayer:delete () self.tracks = nil - self.source:stop() + self:stop() end function MusicPlayer:setTrack (trackName) @@ -27,7 +30,14 @@ function MusicPlayer:setTrack (trackName) self.source = source self.tracks[trackName] = source end +end + +function MusicPlayer:play () self.source:play() end +function MusicPlayer:stop () + self.source:stop() +end + return MusicPlayer -- cgit v1.1 From b2c2ef1ae1300a2a2610525bf19db227d6d5e54b Mon Sep 17 00:00:00 2001 From: Aki Date: Sun, 16 Jul 2017 20:20:50 +0200 Subject: Music doesn't stop on transition from any-menu to main-menu --- not/MusicPlayer.lua | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'not/MusicPlayer.lua') diff --git a/not/MusicPlayer.lua b/not/MusicPlayer.lua index e838d96..4634ed9 100644 --- a/not/MusicPlayer.lua +++ b/not/MusicPlayer.lua @@ -32,6 +32,14 @@ function MusicPlayer:setTrack (trackName) end end +function MusicPlayer:getCurrentTrack () + for key,track in pairs(self.tracks) do + if self.tracks[key] == self.source then + return key + end + end +end + function MusicPlayer:play () self.source:play() end -- cgit v1.1