From 2237128a847339f04eccd4d87dd1e24ec6a18672 Mon Sep 17 00:00:00 2001 From: jill Date: Sat, 18 Sep 2021 13:53:57 +0300 Subject: [PATCH] add bpm slider --- graph.lua | 2 +- slider.lua | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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')]