mirror of
https://github.com/jwetzell/q-sys-plugin-novastar.git
synced 2026-09-07 13:19:03 +00:00
Merge pull request #6 from jwetzell/feat/blackout-freeze-modes
add normal, black, and freeze display modes
This commit is contained in:
+107
-9
@@ -272,7 +272,29 @@ function GetControls(props)
|
|||||||
IndicatorType = "Status",
|
IndicatorType = "Status",
|
||||||
PinStyle = "Output",
|
PinStyle = "Output",
|
||||||
UserPin = true
|
UserPin = true
|
||||||
}
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
Name = "Normal",
|
||||||
|
ControlType = "Button",
|
||||||
|
ButtonType = "Trigger",
|
||||||
|
PinStyle = "Input",
|
||||||
|
UserPin = true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name = "Freeze",
|
||||||
|
ControlType = "Button",
|
||||||
|
ButtonType = "Trigger",
|
||||||
|
PinStyle = "Input",
|
||||||
|
UserPin = true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name = "Black",
|
||||||
|
ControlType = "Button",
|
||||||
|
ButtonType = "Trigger",
|
||||||
|
PinStyle = "Input",
|
||||||
|
UserPin = true
|
||||||
|
},
|
||||||
}
|
}
|
||||||
return controls
|
return controls
|
||||||
end
|
end
|
||||||
@@ -381,6 +403,10 @@ function GetControlLayout(props)
|
|||||||
yStart = presetPosition[2] + 20,
|
yStart = presetPosition[2] + 20,
|
||||||
Padding = 3
|
Padding = 3
|
||||||
}
|
}
|
||||||
|
local ModeButton = {
|
||||||
|
yStart = 2,
|
||||||
|
Padding = 2
|
||||||
|
}
|
||||||
|
|
||||||
SourceButton.Size = {
|
SourceButton.Size = {
|
||||||
(rackSize[2] - 30 - (SourceButton.Padding * 2))/2,
|
(rackSize[2] - 30 - (SourceButton.Padding * 2))/2,
|
||||||
@@ -397,9 +423,15 @@ function GetControlLayout(props)
|
|||||||
(rackSize[2] - 30 - (PresetButton.Padding * 2))/3
|
(rackSize[2] - 30 - (PresetButton.Padding * 2))/3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ModeButton.Size = {
|
||||||
|
(rackSize[2]/3)- (ModeButton.Padding*2),
|
||||||
|
(rackSize[2]/3)- (ModeButton.Padding*2)
|
||||||
|
}
|
||||||
|
|
||||||
SourceButton.xStart = inputPosition[1] + ((250 - (((SourceButton.Size[1] * 5) + (SourceButton.Padding * 4))))/2)
|
SourceButton.xStart = inputPosition[1] + ((250 - (((SourceButton.Size[1] * 5) + (SourceButton.Padding * 4))))/2)
|
||||||
TestButton.xStart = testPosition[1] + ((250 - (((TestButton.Size[1] * 5) + (TestButton.Padding * 4))))/2)
|
TestButton.xStart = testPosition[1] + ((250 - (((TestButton.Size[1] * 5) + (TestButton.Padding * 4))))/2)
|
||||||
PresetButton.xStart = presetPosition[1] + ((160 - (((PresetButton.Size[1] * 5) + (PresetButton.Padding * 4))))/2)
|
PresetButton.xStart = presetPosition[1] + ((160 - (((PresetButton.Size[1] * 5) + (PresetButton.Padding * 4))))/2)
|
||||||
|
ModeButton.xStart = ModeButton.Padding * 6
|
||||||
|
|
||||||
local TestLabels = {
|
local TestLabels = {
|
||||||
"Red","Green","Blue","White","Horiz","Vert","Diag","Gray","Aging"
|
"Red","Green","Blue","White","Horiz","Vert","Diag","Gray","Aging"
|
||||||
@@ -804,6 +836,39 @@ function GetControlLayout(props)
|
|||||||
Size = PresetButton.Size
|
Size = PresetButton.Size
|
||||||
}
|
}
|
||||||
|
|
||||||
|
controls['Normal'] = {
|
||||||
|
Style = "Button",
|
||||||
|
ButtonType = "Trigger",
|
||||||
|
Legend = "Normal" ,
|
||||||
|
UnlinkOffColor = true,
|
||||||
|
OffColor = Colors.White,
|
||||||
|
Color = Colors.Red,
|
||||||
|
Position = {ModeButton.xStart, ModeButton.yStart},
|
||||||
|
Size = ModeButton.Size
|
||||||
|
}
|
||||||
|
|
||||||
|
controls['Freeze'] = {
|
||||||
|
Style = "Button",
|
||||||
|
ButtonType = "Trigger",
|
||||||
|
Legend = "Freeze" ,
|
||||||
|
UnlinkOffColor = true,
|
||||||
|
OffColor = Colors.White,
|
||||||
|
Color = Colors.Red,
|
||||||
|
Position = {ModeButton.xStart, ModeButton.yStart + ((ModeButton.Size[1]+ModeButton.Padding+ModeButton.Padding)*1) },
|
||||||
|
Size = ModeButton.Size
|
||||||
|
}
|
||||||
|
|
||||||
|
controls['Black'] = {
|
||||||
|
Style = "Button",
|
||||||
|
ButtonType = "Trigger",
|
||||||
|
Legend = "Black" ,
|
||||||
|
UnlinkOffColor = true,
|
||||||
|
OffColor = Colors.White,
|
||||||
|
Color = Colors.Red,
|
||||||
|
Position = {ModeButton.xStart, ModeButton.yStart + ((ModeButton.Size[1]+ModeButton.Padding+ModeButton.Padding)*2) },
|
||||||
|
Size = ModeButton.Size
|
||||||
|
}
|
||||||
|
|
||||||
controls['Status'] = {
|
controls['Status'] = {
|
||||||
Style = "Text",
|
Style = "Text",
|
||||||
Color = Colors.LCD,
|
Color = Colors.LCD,
|
||||||
@@ -946,8 +1011,33 @@ if (Controls) then
|
|||||||
{0x00,0xea,0xfe,0x00,0x01,0x03,0xff,0xff,0x01,0x00,0x01,0x01,0x00,0x02,0x01,0x00,0x0A},
|
{0x00,0xea,0xfe,0x00,0x01,0x03,0xff,0xff,0x01,0x00,0x01,0x01,0x00,0x02,0x01,0x00,0x0A},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
DisplayNormal = { 0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x00 },
|
DisplayNormal = {
|
||||||
DisplayNormalAlt = { 0x00,0x38,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x01,0x00,0x03 },
|
VX4S = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x00},
|
||||||
|
VX4S_N = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x00},
|
||||||
|
VX6S = {0x00,0x38,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x01,0x00,0x03},
|
||||||
|
VX1000 = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x02,0x00,0x03,0x00},
|
||||||
|
PROHD = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x00},
|
||||||
|
PROUHDJR = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x02,0x00,0x03,0x00},
|
||||||
|
MCTRL4K = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x00},
|
||||||
|
},
|
||||||
|
DisplayFreeze = {
|
||||||
|
VX4S = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x01},
|
||||||
|
VX4S_N = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x01},
|
||||||
|
VX6S = {0x00,0x35,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x01,0x00,0x03},
|
||||||
|
VX1000 = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x02,0x00,0x04,0x00},
|
||||||
|
PROHD = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x01},
|
||||||
|
PROUHDJR = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x02,0x00,0x04,0x00},
|
||||||
|
MCTRL4K = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x01},
|
||||||
|
},
|
||||||
|
DisplayBlack = {
|
||||||
|
VX4S = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x02},
|
||||||
|
VX4S_N = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x02},
|
||||||
|
VX6S = {0x00,0x37,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x01,0x00,0x03},
|
||||||
|
VX1000 = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x02,0x00,0x05,0x00},
|
||||||
|
PROHD = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x02},
|
||||||
|
PROUHDJR = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x13,0x02,0x00,0x05,0x00},
|
||||||
|
MCTRL4K = {0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x50,0x00,0x20,0x02,0x01,0x00,0x02},
|
||||||
|
},
|
||||||
Inputs = {
|
Inputs = {
|
||||||
VX4S = {
|
VX4S = {
|
||||||
{0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x2D,0x00,0x20,0x02,0x01,0x00,0x10}, --DVI
|
{0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x2D,0x00,0x20,0x02,0x01,0x00,0x10}, --DVI
|
||||||
@@ -1080,6 +1170,7 @@ if (Controls) then
|
|||||||
end
|
end
|
||||||
|
|
||||||
function sendCommand(cmd)
|
function sendCommand(cmd)
|
||||||
|
if cmd ~= nil then
|
||||||
if NovaStar.socket.IsConnected then
|
if NovaStar.socket.IsConnected then
|
||||||
print("Sending packet to connected NovaStar")
|
print("Sending packet to connected NovaStar")
|
||||||
else
|
else
|
||||||
@@ -1089,6 +1180,7 @@ if (Controls) then
|
|||||||
if NovaStar.socket.IsConnected then
|
if NovaStar.socket.IsConnected then
|
||||||
NovaStar.socket:Write(getCmdString(NovaStar.Commands.Preamble) .. getCmdString(cmd) .. getCmdString(computeChecksum(cmd)))
|
NovaStar.socket:Write(getCmdString(NovaStar.Commands.Preamble) .. getCmdString(cmd) .. getCmdString(computeChecksum(cmd)))
|
||||||
end
|
end
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
function sendBrightness(value)
|
function sendBrightness(value)
|
||||||
@@ -1178,11 +1270,6 @@ if (Controls) then
|
|||||||
if (v ~= nil and #v > 1) then
|
if (v ~= nil and #v > 1) then
|
||||||
print("value is not nill and length greater than 1")
|
print("value is not nill and length greater than 1")
|
||||||
Controls['IN'..k].EventHandler = function()
|
Controls['IN'..k].EventHandler = function()
|
||||||
if(Properties['Model'].Value ~= 'VX6S') then
|
|
||||||
sendCommand(NovaStar.Commands.DisplayNormal)
|
|
||||||
else
|
|
||||||
sendCommand(NovaStar.Commands.DisplayNormalAlt)
|
|
||||||
end;
|
|
||||||
sendCommand(v)
|
sendCommand(v)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@@ -1202,8 +1289,19 @@ if (Controls) then
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Controls['Normal'].EventHandler = function()
|
||||||
|
sendCommand(NovaStar.Commands.DisplayNormal[Properties['Model'].Value])
|
||||||
|
end;
|
||||||
|
|
||||||
|
Controls['Freeze'].EventHandler = function()
|
||||||
|
sendCommand(NovaStar.Commands.DisplayFreeze[Properties['Model'].Value])
|
||||||
|
end;
|
||||||
|
|
||||||
|
Controls['Black'].EventHandler = function()
|
||||||
|
sendCommand(NovaStar.Commands.DisplayBlack[Properties['Model'].Value])
|
||||||
|
end;
|
||||||
|
|
||||||
presetTable = NovaStar.Commands.Presets[Properties['Model'].Value]
|
presetTable = NovaStar.Commands.Presets[Properties['Model'].Value]
|
||||||
print(presetTable)
|
|
||||||
if presetTable ~= nil then
|
if presetTable ~= nil then
|
||||||
for k,v in pairs(presetTable) do
|
for k,v in pairs(presetTable) do
|
||||||
print('PRESET'..k)
|
print('PRESET'..k)
|
||||||
|
|||||||
Reference in New Issue
Block a user