diff --git a/graph.lua b/graph.lua index 30ae18f..4f1b771 100644 --- a/graph.lua +++ b/graph.lua @@ -37,7 +37,7 @@ function self.update(dt) local mx, my = love.mouse.getPosition() if not (love.mouse.isDown(1) and mx > x and mx < x + w and my > y and my < y + h) then - timer = (timer + dt) % 2 + timer = (timer + dt * (slider.kvalue('bpm')/120)) % 2 else timer = mix(timer, (mx - x) / w, dt * 14) end diff --git a/slider.lua b/slider.lua index 74c8318..d2bcb2a 100644 --- a/slider.lua +++ b/slider.lua @@ -29,6 +29,9 @@ local function insertSlider(tab, f) f.oldvalue = (self.kget(f.name) or {oldvalue = f.value}).oldvalue f.spintimer = (self.kget(f.name) or {spintimer = 0}).spintimer f.spin = (self.kget(f.name) or {spin = 0}).spin + if f.snap then + f.value = math.floor(f.value / f.snap) * f.snap + end return table.insert(tab, f) end function self.createSliders() @@ -47,6 +50,19 @@ function self.createSliders() displayname = 'Mix' }) end + if mode == 1 or mode == 2 then -- bpm slider + insertSlider(s, { + x = outerpadding, + y = love.graphics.getHeight() - outerpadding - fontHeight * 3 - padding, + width = dropdownWidth, + min = 80, + max = 220, + default = 120, + name = 'bpm', + displayname = 'BPM', + snap = 1, + }) + end local ease1 = ease.eases[dropdown.kselected('ease1')] local ease2 = ease.eases[dropdown.kselected('ease2')]