From 7ca71ac9eaea7c674a92002056b0ad8d1aab1dc0 Mon Sep 17 00:00:00 2001 From: RikSolo Date: Mon, 11 May 2026 23:32:50 +0200 Subject: [PATCH] fader feedback update --- Fader Feedback 2/RB Fader Feedback v2_0.xml | 6 ---- Fader Feedback 2/RB Fader Feedback v2_1.xml | 6 ++++ ...edbackv2_0.lua => RBFaderFeedbackv2_1.lua} | 31 ++++++++++++------- 3 files changed, 26 insertions(+), 17 deletions(-) delete mode 100644 Fader Feedback 2/RB Fader Feedback v2_0.xml create mode 100644 Fader Feedback 2/RB Fader Feedback v2_1.xml rename Fader Feedback 2/{RBFaderFeedbackv2_0.lua => RBFaderFeedbackv2_1.lua} (76%) diff --git a/Fader Feedback 2/RB Fader Feedback v2_0.xml b/Fader Feedback 2/RB Fader Feedback v2_0.xml deleted file mode 100644 index 594963e..0000000 --- a/Fader Feedback 2/RB Fader Feedback v2_0.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/Fader Feedback 2/RB Fader Feedback v2_1.xml b/Fader Feedback 2/RB Fader Feedback v2_1.xml new file mode 100644 index 0000000..71c0e0d --- /dev/null +++ b/Fader Feedback 2/RB Fader Feedback v2_1.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Fader Feedback 2/RBFaderFeedbackv2_0.lua b/Fader Feedback 2/RBFaderFeedbackv2_1.lua similarity index 76% rename from Fader Feedback 2/RBFaderFeedbackv2_0.lua rename to Fader Feedback 2/RBFaderFeedbackv2_1.lua index beb830c..2802da1 100644 --- a/Fader Feedback 2/RBFaderFeedbackv2_0.lua +++ b/Fader Feedback 2/RBFaderFeedbackv2_1.lua @@ -1,13 +1,12 @@ -- Edit the variables below to suit your situation --- Which faders and buttons should be checked for feedback. -local faders = {201, 202, 203, 204, 205, 206, 207, 208, 209} -local keys = {201, 202, 203, 204, 205, 206, 207, 208, 101, 102, 103, 104, 105, 106, 107, 108, 109, 301, 302, 303, 304, 305, 306, 307, 308, 401, 402, 403, 404, 405,406, 407, 408} +local faders = {201, 202, 203, 204, 205, 206, 207, 208, 209, 401, 402, 403, 404, 405, 406, 407, 408} +local keys = {201, 202, 203, 204, 205, 206, 207, 208, 101, 102, 103, 104, 105, 106, 107, 108, 109, 301, 302, 303, 304, 305, 306, 307, 308, 401, 402, 403, 404, 405,406, 407, 408, 191, 192, 193, 194, 195, 196, 197, 198, 291, 292, 293, 294, 295, 296, 297, 298} -- how many seconds should be between updates. -- set this higher if you have performance issues -- you can go lower for smoother feedback at your own risk -local updateInterval = 0.2 +local updateInterval = 0.1 -- the name of the OSC object that feedback should be sent out from local feedbackOSCName = "Feedback" @@ -15,14 +14,14 @@ local feedbackOSCName = "Feedback" -- The name of the OSC object that receives OSC data. -- This object will automatically be enabled/disabled based on desk lock state -- so locking the desk will also prevent people from messing around with your faders -local inputOSCName = "ShowCockpit" +local inputOSCName = "SC" --- set this to false if you don't want desk lock to disable OSC input +-- set this to true if you don't want desk lock to disable OSC input -- this makes the "inputOSCName" variable irrelevant -local disableInputWhenLocked = true +local disableInputWhenLocked = false --- run a full update every x amount of loops - you probably won't need to touch this -local fullUpdateLoops = 10 +-- run a full update every x amount of loops +local fullUpdateLoops = 20 -- No need to edit anything under this line @@ -53,7 +52,7 @@ local function main() local iters = 0 while not breakRBloops do iters = iters + 1 - if (DeskLocked() ~= currentLockedState and disableInputWhenLocked == true) then + if (DeskLocked() ~= currentLockedState and disableInputWhenLocked == false) then currentLockedState = DeskLocked() local receiveOSCValue = currentLockedState and 0 or 1 @@ -70,7 +69,16 @@ local function main() local faderValue = exec:GetFader({}) endValue = faderValue else -- exec is key - endValue = 1 + local obj = exec.object + endValue = 1 + + -- check if we're an active sequence + -- if it is, and it's active, send value 2 + if obj.type == "Sequence" then + if obj:HasActivePlayback() then + endValue = 2 + end + end end else -- exec is nil endValue = nil @@ -87,6 +95,7 @@ local function main() if iters == fullUpdateLoops then iters = 0 + end coroutine.yield(updateInterval)