fader feedback update

This commit is contained in:
Rik Berkelder 2026-05-11 23:32:50 +02:00
parent 6da2b45b05
commit 7ca71ac9ea
3 changed files with 26 additions and 17 deletions

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<GMA3 DataVersion="2.0.2.0">
<UserPlugin Name="RB Fader Feedback v2_0" Guid="14 73 AC F0 E4 73 10 04 31 CA 06 09 09 E9 2B 8A" Version="2.0.0.0">
<ComponentLua Name="[RBFaderFeedbackv2_0_lua]" Guid="14 73 AC F0 9A 5B 10 04 76 04 7B C7 DB 82 10 8A" FileName="RBFaderFeedbackv2_0.lua" />
</UserPlugin>
</GMA3>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<GMA3 DataVersion="2.0.2.0">
<UserPlugin Name="RB Fader Feedback v2_1" Guid="14 73 AC F0 E4 73 10 04 31 CA 06 09 09 E9 2B 8B" Version="2.1.0.0">
<ComponentLua Name="[RBFaderFeedbackv2_1_lua]" Guid="14 73 AC F0 9A 5B 10 04 76 04 7B C7 DB 82 10 8B" FileName="RBFaderFeedbackv2_1.lua" />
</UserPlugin>
</GMA3>

View file

@ -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)