added disclaimer

Signed-off-by: Ebbe Baß <ebbe.bass>
This commit is contained in:
Ebbe Baß
2024-08-10 12:04:54 +02:00
parent 37522640b3
commit 7489d74779
2 changed files with 115 additions and 0 deletions
+109
View File
@@ -0,0 +1,109 @@
-- This plugin was written by Ebbe Baß (umpi)
-- I will not take any responsibility if something breaks at any time. I conside this plugin as unstable.
-- To this date (10.08.2024) I've never had problems with it, but still I am going to consider it as unstable.
local executor_table = {101,102,103,104,105,106,107,108,201,202,203,204,205,206,207,208,301,302,303,304,305,306,307,308,401,402,403,404,405,406,407,408,291,292,293,294,295,296,297,298,191,192,193,194,195,196,197,198}
local osc_config = 1
local osc_template = 'SendOSC %i "/%s%i,i,%i"'
local osc_str_template = 'SendOSC %i "/%s%i,s,%s"'
local enabled = false
local Printf, Echo, GetExecutor, Cmd, ipairs, mfloor = Printf, Echo, GetExecutor, Cmd, ipairs, math.floor
local debug = false
local fallback_col_R = 0
local fallback_col_G = 0
local fallback_col_B = 0
local function debug_print(msg)
if debug then
Printf(msg)
end
end
local function send_osc(etype, exec_no, value)
debug_print(osc_template:format(osc_config, etype, exec_no, value))
Cmd(osc_template:format(osc_config, etype, exec_no, value))
end
local function poll(exec_no)
local exec = GetExecutor(exec_no)
local execAssObjNoClass = exec and exec:GetAssignedObj()
if not execAssObjNoClass then
debug_print('Empty playback found on:'..tostring(exec_no))
send_osc('Key', exec_no, 0)
if exec_no >= 291 and exec_no <= 298 or exec_no >= 191 and exec_no <= 198 then
Cmd(osc_str_template:format(osc_config, "xKey", exec_no, ""))
send_osc("ExecCol_R", exec_no, 31)
send_osc("ExecCol_G", exec_no, 31)
send_osc("ExecCol_B", exec_no, 36)
end
else
local execAssObj = exec and exec:GetAssignedObj():GetClass()
if execAssObj == 'Sequence' then
debug_print('Sequence found on:'..tostring(exec_no))
send_osc('Key', exec_no, 1)
fallback_col_R = 166
fallback_col_G = 125
fallback_col_B = 0
elseif execAssObj == 'Group' then
debug_print('Group found on:'..tostring(exec_no))
send_osc('Key', exec_no, 2)
fallback_col_R = 0
fallback_col_G = 64
fallback_col_B = 128
elseif execAssObj == 'Preset' then
debug_print('Preset found on:'..tostring(exec_no))
send_osc('Key', exec_no, 3)
fallback_col_R = 0
fallback_col_G = 128
fallback_col_B = 128
elseif execAssObj == 'Master' then
debug_print('Master found on:'..tostring(exec_no))
send_osc('Key', exec_no, 4)
fallback_col_R = 0
fallback_col_G = 128
fallback_col_B = 128
else
debug_print('weird, this is not a sequence, group, preset or master.')
end
local assObjApp = execAssObjNoClass:Get("Appearance")
if assObjApp ~= nil then
local assObjApp = tostring(assObjApp)
local assObjApp = assObjApp:gsub("Appearance ", "")
local assObjApp = tonumber(assObjApp)
local appearanceR = tonumber(ShowData().Appearances[assObjApp].BackR)
local appearanceG = tonumber(ShowData().Appearances[assObjApp].BackG)
local appearanceB = tonumber(ShowData().Appearances[assObjApp].BackB)
send_osc("ExecCol_R", exec_no, appearanceR)
send_osc("ExecCol_G", exec_no, appearanceG)
send_osc("ExecCol_B", exec_no, appearanceB)
else
send_osc("ExecCol_R", exec_no, fallback_col_R)
send_osc("ExecCol_G", exec_no, fallback_col_G)
send_osc("ExecCol_B", exec_no, fallback_col_B)
end
if exec_no >= 291 and exec_no <= 298 or exec_no >= 191 and exec_no <= 198 then
local exec_label = execAssObjNoClass:Get("Name")
Cmd(osc_str_template:format(osc_config, "xKey", exec_no, exec_label))
end
end
end
local function mainloop()
while enabled do
for _, exec_no in ipairs(executor_table) do poll(exec_no) end
coroutine.yield(0.05)
end
end
local function maintoggle()
if enabled then
enabled = false
else
enabled = true
mainloop()
end
end
return maintoggle
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<GMA3 DataVersion="2.0.2.0">
<UserPlugin Name="MA3 OSC FEEDBACK" Guid="E3 1C 05 FC 18 8A 10 00 0D 45 18 A2 5E 43 E6 27" Version="1.0.0.0">
<ComponentLua Name="MA3 OSC FEEDBACK" Guid="37 F3 0C 07 C5 0C 10 02 B2 2C 1E 4D F2 1C 2D A1" FileName="MA3 OSC FEEDBACK.lua" />
</UserPlugin>
</GMA3>