Dieser Fehler taucht auf über den Geräte Manager ( Neues Gerät hinzufügen )
Undeclared Identifier 'FormShow'
Dieser Fehler kommt beim Funktions Test:
Undeclared Identifier 'DontRefresh'
Error in unit 'JunoScanMKII' on line 57 : Undeclared Identifier 'DontRefresh'
Hier der Gerätecode:
Code: Alles auswählen
<?xml version="1.0" encoding="ISO-8859-1"?>
<device image="64 x 64\ts255.png">
<information id="PC_DIMMER">
<name>JunoScan MKII</name>
<vendor>Stairville</vendor>
<author>Romano Drews</author>
<description>Geheimtipp LED Scanner unter 200€</description>
</information>
<channels>
<function channel="0" minvalue="0" maxvalue="255" name="Pan" fade="yes" type="pan"/>
<function channel="1" minvalue="0" maxvalue="255" name="Tilt" fade="yes" type="tilt"/>
<function channel="2" minvalue="0" maxvalue="255" name="Farbe" fade="yes" type="color1"/>
<function channel="3" minvalue="0" maxvalue="255" name="Shutter" fade="yes" type="shutter"/>
<function channel="4" minvalue="0" maxvalue="255" name="Dimmer" fade="yes" type="dimmer"/>
<function channel="5" minvalue="0" maxvalue="255" name="Gobo-Rad" fade="yes" type="gobo1"/>
<function channel="6" minvalue="0" maxvalue="255" name="Sonderfunktionen" fade="yes" type="gobo2"/>
<function channel="7" minvalue="0" maxvalue="255" name="Eingebaute Programme" fade="yes" type="special1"/>
</channels>
<amber UseAmberMixing="no" AmberMixingCompensateRG="no" AmberMixingCompensateBlue="no" AmberColorR="255"AmberColorG="191" />
<initvalues ch0="127" ch1="127" ch2="-1" ch3="255" ch4="255" ch5="-1" ch6="-1" ch7="-1" />
<colors>
<color name="Weiß" value="0" valueend="5" r="255" g="255" b="255" />
<color name="Gelb" value="6" valueend="11" r="255" g="255" b="0" />
<color name="Pink" value="12" valueend="17" r="255" g="0" b="128" />
<color name="Grün" value="18" valueend="23" r="0" g="128" b="0" />
<color name="Rot" value="24" valueend="27" r="255" g="0" b="0" />
<color name="Blau" value="30" valueend="35" r="166" g="202" b="240" />
<color name="Orange" value="36" valueend="41" r="255" g="128" b="0" />
<color name="Dunkel-Blau" value="42" valueend="47" r="0" g="0" b="255" />
<color name="Kelly-Grün" value="48" valueend="53" r="0" g="255" b="0" />
<color name="Orange-Rot" value="54" valueend="63" r="128" g="0" b="0" />
<color name="Weiß / Gelb" value="64" valueend="73" r="255" g="255" b="255" />
<color name="Gelb / Pink" value="74" valueend="79" r="255" g="255" b="255" />
<color name="Pink / Grün" value="80" valueend="85" r="255" g="255" b="255" />
<color name="Grün / Rot" value="86" valueend="91" r="255" g="255" b="255" />
<color name="Rot / Blau" value="92" valueend="97" r="255" g="255" b="255" />
<color name="Blau / Orange" value="98" valueend="103" r="255" g="255" b="255" />
<color name="Orange / Dunkel-Blau" value="104" valueend="109" r="255" g="255" b="255" />
<color name="Dunkel-Blau / Kelly-Grün" value="110" valueend="115" r="255" g="255" b="255" />
<color name="Kelly-Grün / Orange-Rot" value="116" valueend="121" r="255" g="255" b="255" />
<color name="Orange-Rot / Weiß" value="122" valueend="127" r="255" g="255" b="255" />
<color name="Rainbow (Positiv) Steigend" value="128" valueend="191" r="255" g="255" b="255" />
<color name="Rainbow (Negativ) Steigend" value="192" valueend="255" r="255" g="255" b="255" />
</colors>
<shutter OpenValue="7" CloseValue="4" ChannelName="shutter"/>
<strobe OffValue="255" MinValue="8" MaxValue="215" ChannelName="shutter"/>
<dimmer OffValue="0" MaxValue="255"/>
<gobo1rot LeftMinValue="148" LeftMaxValue="231" OffValue="0" RightMinValue="64" RightMaxValue="147" ChannelName="gobo1rot"/>
<gobo2rot LeftMinValue="0" LeftMaxValue="0" OffValue="128" RightMinValue="255" RightMaxValue="255" ChannelName="gobo2rot"/>
<prismarot LeftMinValue="128" LeftMaxValue="251" OffValue="252" RightMinValue="4" RightMaxValue="127" ChannelName="prismarot"/>
<prisma SingleValue="0" TripleValue="252"/>
<iris OpenValue="255" CloseValue="0" MinValue="0" MaxValue="255"/>
<gobos>
<gobo name="Offen" value="0" valueend="5" filename="Open.png" />
<gobo name="Gobo 1" value="6" valueend="11" filename="R0000035.png" />
<gobo name="Gobo 2" value="12" valueend="17" filename="Breakupsmall.png" />
<gobo name="Gobo 3" value="18" valueend="23" filename="A-DJ_005.png" />
<gobo name="Gobo 4" value="24" valueend="29" filename="Bio.png" />
<gobo name="Gobo 5" value="30" valueend="35" filename="Rose.png" />
<gobo name="Gobo 6" value="36" valueend="41" filename="Spikes.png" />
<gobo name="Gobo 7" value="42" valueend="47" filename="Cones4.png" />
<gobo name="Gobo 8" value="48" valueend="53" filename="Cones4.png" />
<gobo name="Gobo 9" value="54" valueend="63" filename="Spikes.png" />
<gobo name="Gobo 9 shaked (Steigend)" value="64" valueend="73" filename="Rose.png" />
<gobo name="Gobo 8 shaked (Steigend)" value="74" valueend="79" filename="Bio.png" />
<gobo name="Gobo 7 shaked (Steigend)" value="80" valueend="85" filename="A-DJ_005.png" />
<gobo name="Gobo 6 shaked (Steigend)" value="86" valueend="91" filename="BreakUpRectangles1.png" />
<gobo name="Gobo 5 shaked (Steigend)" value="92" valueend="97" filename="dotcircle2.png" />
<gobo name="Gobo 4 shaked (Steigend)" value="98" valueend="103" filename="Open.png" />
<gobo name="Gobo 3 shaked (Steigend)" value="104" valueend="109" filename="Gobo01.png" />
<gobo name="Gobo 2 shaked (Steigend)" value="110" valueend="115" filename="A-DJ_008.png" />
<gobo name="Gobo 1 shaked (Steigend)" value="116" valueend="121" filename="A-DJ_011.png" />
<gobo name="Offen" value="122" valueend="127" filename="1.png" />
<gobo name="Drehung Positiv (Steigend)" value="128" valueend="191" filename="" />
<gobo name="Drehung Negativ (Steigend)" value="192" valueend="255" filename="" />
</gobos>
<gobos2>
<gobo2 name="Nicht Benutzt" value="0" valueend="7" filename="" />
<gobo2 name="Blackout Pan Tilt" value="8" valueend="15" filename="" />
<gobo2 name="Blackout Farb-Rad" value="16" valueend="23" filename="" />
<gobo2 name="Blackout Gobo-Rad" value="24" valueend="31" filename="" />
<gobo2 name="Kein Blackout Pan Tilt Farb-Rad" value="32" valueend="39" filename="" />
<gobo2 name="Kein Blackout Pan Tilt Gobo-Rad" value="40" valueend="47" filename="" />
<gobo2 name="Kein Blackout Pan Tilt Gobo-Rad Farb-Rad" value="48" valueend="55" filename="" />
<gobo2 name="Nicht Benutzt" value="56" valueend="95" filename="" />
<gobo2 name="Pan Reset" value="96" valueend="103" filename="" />
<gobo2 name="Tilt Reset" value="104" valueend="111" filename="" />
<gobo2 name="Farb-Rad Reset" value="112" valueend="119" filename="" />
<gobo2 name="Gobo-Rad Reset" value="120" valueend="127" filename="" />
<gobo2 name="Nicht Benutzt" value="128" valueend="151" filename="" />
<gobo2 name="All Reset" value="152" valueend="159" filename="" />
<gobo2 name="Nicht Benutzt" value="160" valueend="255" filename="" />
</gobos2>
<form width="470" height="376">
<deviceimage top="10" left="10" width="64" height="64"/>
<devicename top="24" left="80"/>
<deviceadress top="8" left="80"/>
<devicedipswitch top="40" left="80"/>
<position top="8" left="233" height="226" width="226" />
<colorbox top="220" left="10" height="22" width="150" />
<dropdown name="GOBOBOX1" top="270" left="10" width="150" height="23" action="gobo1change">
<item caption="Offen" value="0" valueend="-1" picture="Open.bmp" />
<item caption="Gobo 1" value="6" valueend="-1" picture="R0000035.bmp" />
<item caption="Gobo 2" value="12" valueend="-1" picture="Breakupsmall.bmp" />
<item caption="Gobo 3" value="18" valueend="-1" picture="A-DJ_005.bmp" />
<item caption="Gobo 4" value="24" valueend="-1" picture="Bio.bmp" />
<item caption="Gobo 5" value="30" valueend="-1" picture="Rose.bmp" />
<item caption="Gobo 6" value="36" valueend="-1" picture="Spikes.bmp" />
<item caption="Gobo 7" value="42" valueend="-1" picture="Cones4.bmp" />
<item caption="Gobo 8" value="48" valueend="-1" picture="Cones4.bmp" />
<item caption="Gobo 9" value="54" valueend="-1" picture="Spikes.bmp" />
<item caption="Gobo 9 shaked (Steigend)" value="64" valueend="-1" picture="Rose.bmp" />
<item caption="Gobo 8 shaked (Steigend)" value="74" valueend="-1" picture="Bio.bmp" />
<item caption="Gobo 7 shaked (Steigend)" value="80" valueend="-1" picture="A-DJ_005.bmp" />
<item caption="Gobo 6 shaked (Steigend)" value="86" valueend="-1" picture="BreakUpRectangles1.bmp" />
<item caption="Gobo 5 shaked (Steigend)" value="92" valueend="-1" picture="dotcircle2.bmp" />
<item caption="Gobo 4 shaked (Steigend)" value="98" valueend="-1" picture="Open.bmp" />
<item caption="Gobo 3 shaked (Steigend)" value="104" valueend="-1" picture="Gobo01.bmp" />
<item caption="Gobo 2 shaked (Steigend)" value="110" valueend="-1" picture="A-DJ_008.bmp" />
<item caption="Gobo 1 shaked (Steigend)" value="116" valueend="-1" picture="A-DJ_011.bmp" />
<item caption="Offen" value="122" valueend="-1" picture="1.bmp" />
<item caption="Drehung Positiv (Steigend)" value="128" valueend="-1" picture=".bmp" />
<item caption="Drehung Negativ (Steigend)" value="192" valueend="-1" picture=".bmp" />
</dropdown>
<dropdown name="GOBOBOX2" top="320" left="10" width="150" height="23" action="gobo2change">
<item caption="Nicht Benutzt" value="0" valueend="-1" picture=".bmp" />
<item caption="Blackout Pan Tilt" value="8" valueend="-1" picture=".bmp" />
<item caption="Blackout Farb-Rad" value="16" valueend="-1" picture=".bmp" />
<item caption="Blackout Gobo-Rad" value="24" valueend="-1" picture=".bmp" />
<item caption="Kein Blackout Pan Tilt Farb-Rad" value="32" valueend="-1" picture=".bmp" />
<item caption="Kein Blackout Pan Tilt Gobo-Rad" value="40" valueend="-1" picture=".bmp" />
<item caption="Kein Blackout Pan Tilt Gobo-Rad Farb-Rad" value="48" valueend="-1" picture=".bmp" />
<item caption="Nicht Benutzt" value="56" valueend="-1" picture=".bmp" />
<item caption="Pan Reset" value="96" valueend="-1" picture=".bmp" />
<item caption="Tilt Reset" value="104" valueend="-1" picture=".bmp" />
<item caption="Farb-Rad Reset" value="112" valueend="-1" picture=".bmp" />
<item caption="Gobo-Rad Reset" value="120" valueend="-1" picture=".bmp" />
<item caption="Nicht Benutzt" value="128" valueend="-1" picture=".bmp" />
<item caption="All Reset" value="152" valueend="-1" picture=".bmp" />
<item caption="Nicht Benutzt" value="160" valueend="-1" picture=".bmp" />
</dropdown>
<slider name="SHUTTERslider3" top="96" left="8" width="217" height="17" action="SHUTTERchange" startvalue="0" endvalue="255" default="255"/>
<slider name="DIMMERslider4" top="136" left="8" width="217" height="17" action="DIMMERchange" startvalue="0" endvalue="255" default="255"/>
<slider name="SPECIAL1slider7" top="176" left="8" width="217" height="17" action="SPECIAL1change" startvalue="0" endvalue="255" default="0"/>
<label name="SHUTTERlbl3" top="80" left="8" width="34" height="13" caption="Shutter"/>
<label name="DIMMERlbl4" top="120" left="8" width="35" height="13" caption="Dimmer"/>
<label name="SPECIAL1lbl7" top="160" left="8" width="110" height="13" caption="Eingebaute Programme"/>
<label name="Label23_213" top="200" left="10" width="44" height="13" caption="Farb-Rad"/>
<label name="Label24_475" top="250" left="10" width="49" height="13" caption="Gobo-Rad"/>
<label name="Label25_103" top="300" left="10" width="94" height="13" caption="Blackout und Reset"/>
</form>
<code>
unit JunoScanMKII;
interface
procedure FormRefresh(channel:Integer);
procedure FormClose;
procedure PositionXYChange(Top, Left: Integer);
procedure ColorBoxChange;
procedure SHUTTERchange;
procedure DIMMERchange;
procedure GOBO1change;
procedure GOBO1ROTchange;
procedure PRISMAchange;
procedure FOCUSchange;
procedure SPECIAL1change;
procedure SPECIAL2change;
procedure PositionXYChange(Top, Left: Integer);
procedure ColorBoxChange;
procedure shutterchange;
procedure dimmerchange;
procedure gobo1change;
procedure gobo1rotchange;
procedure PositionXYChange(Top, Left: Integer);
procedure ColorBoxChange;
procedure SHUTTERchange;
procedure DIMMERchange;
procedure gobo1change;
procedure GOBO2change;
procedure SPECIAL1change;
procedure PositionXYChange(Top, Left: Integer);
procedure ColorBoxChange;
procedure SHUTTERchange;
procedure DIMMERchange;
procedure gobo1change;
procedure GOBO2change;
procedure SPECIAL1change;
procedure PositionXYChange(Top, Left: Integer);
procedure SHUTTERchange;
procedure DIMMERchange;
procedure gobo1change;
procedure GOBO2change;
procedure SPECIAL1change;
procedure PositionXYChange(Top, Left: Integer);
procedure ColorBoxChange;
procedure SHUTTERchange;
procedure DIMMERchange;
procedure gobo1change;
procedure GOBO2change;
procedure SPECIAL1change;
implementation
var
DontRefresh:boolean;
procedure FormRefresh(channel:Integer);
var
Value:integer;
r,phi,temp:Double;
begin
if not DontRefresh then
case channel of
0:
begin
PositionXY.Left:=round(Fadenkreuz.Width * get_channel('pan')/255)-(PositionXY.Width div 2);
PositionXY.Top:=round(Fadenkreuz.Height * get_channel('tilt')/255)-(PositionXY.Height div 2);
end;
1:
begin
PositionXY.Left:=round(Fadenkreuz.Width * get_channel('pan')/255)-(PositionXY.Width div 2);
PositionXY.Top:=round(Fadenkreuz.Height * get_channel('tilt')/255)-(PositionXY.Height div 2);
end;
2:
begin
value:=get_channel('color1');
case value of
0..7: colorbox.itemindex:=0;
8..13: colorbox.itemindex:=1;
14..20: colorbox.itemindex:=2;
21..27: colorbox.itemindex:=3;
28..34: colorbox.itemindex:=4;
35..41: colorbox.itemindex:=5;
42..48: colorbox.itemindex:=6;
49..55: colorbox.itemindex:=7;
56..63: colorbox.itemindex:=8;
64..70: colorbox.itemindex:=9;
71..77: colorbox.itemindex:=10;
78..84: colorbox.itemindex:=11;
85..91: colorbox.itemindex:=12;
92..98: colorbox.itemindex:=13;
99..105: colorbox.itemindex:=14;
106..112: colorbox.itemindex:=15;
113..119: colorbox.itemindex:=16;
120..127: colorbox.itemindex:=17;
128..191: colorbox.itemindex:=18;
192..255: colorbox.itemindex:=19;
end;
end;
3:
begin
SHUTTERslider3.position:=get_channel('SHUTTER');
end;
4:
begin
DIMMERslider4.position:=get_channel('DIMMER');
end;
5:
begin
value:=get_channel('gobo1');
case value of
0..7: gobobox1.itemindex:=0;
8..15: gobobox1.itemindex:=1;
16..23: gobobox1.itemindex:=2;
24..31: gobobox1.itemindex:=3;
32..39: gobobox1.itemindex:=4;
40..47: gobobox1.itemindex:=5;
48..55: gobobox1.itemindex:=6;
56..63: gobobox1.itemindex:=7;
64..71: gobobox1.itemindex:=8;
72..79: gobobox1.itemindex:=9;
80..87: gobobox1.itemindex:=10;
88..95: gobobox1.itemindex:=11;
96..103: gobobox1.itemindex:=12;
104..111: gobobox1.itemindex:=13;
112..119: gobobox1.itemindex:=14;
120..127: gobobox1.itemindex:=15;
128..191: gobobox1.itemindex:=16;
192..255: gobobox1.itemindex:=17;
end;
end;
6:
begin
GOBO1ROTslider6.position:=get_channel('GOBO1ROT');
end;
7:
begin
PRISMAslider7.position:=get_channel('PRISMA');
end;
8:
begin
FOCUSslider8.position:=get_channel('FOCUS');
end;
9:
begin
SPECIAL1slider9.position:=get_channel('SPECIAL1');
end;
10:
begin
SPECIAL2slider10.position:=get_channel('SPECIAL2');
end;
end;
DontRefresh:=false;
end;
procedure FormClose;
var
Value:integer;
r,phi,temp:Double;
begin
if not DontRefresh then
case channel of
0:
begin
PositionXY.Left:=round(Fadenkreuz.Width * get_channel('pan')/255)-(PositionXY.Width div 2);
PositionXY.Top:=round(Fadenkreuz.Height * get_channel('tilt')/255)-(PositionXY.Height div 2);
end;
1:
begin
PositionXY.Left:=round(Fadenkreuz.Width * get_channel('pan')/255)-(PositionXY.Width div 2);
PositionXY.Top:=round(Fadenkreuz.Height * get_channel('tilt')/255)-(PositionXY.Height div 2);
end;
2:
begin
value:=get_channel('color1');
case value of
0..5: colorbox.itemindex:=0;
6..11: colorbox.itemindex:=1;
12..17: colorbox.itemindex:=2;
18..23: colorbox.itemindex:=3;
24..27: colorbox.itemindex:=4;
30..35: colorbox.itemindex:=5;
36..41: colorbox.itemindex:=6;
42..47: colorbox.itemindex:=7;
48..53: colorbox.itemindex:=8;
54..63: colorbox.itemindex:=9;
64..73: colorbox.itemindex:=10;
74..79: colorbox.itemindex:=11;
80..85: colorbox.itemindex:=12;
86..91: colorbox.itemindex:=13;
92..97: colorbox.itemindex:=14;
98..103: colorbox.itemindex:=15;
104..109: colorbox.itemindex:=16;
110..115: colorbox.itemindex:=17;
116..121: colorbox.itemindex:=18;
122..127: colorbox.itemindex:=19;
128..191: colorbox.itemindex:=20;
192..255: colorbox.itemindex:=21;
end;
end;
3:
begin
SHUTTERslider3.position:=get_channel('SHUTTER');
end;
4:
begin
DIMMERslider4.position:=get_channel('DIMMER');
end;
5:
begin
value:=get_channel('gobo1');
case value of
0..5: gobobox1.itemindex:=0;
6..11: gobobox1.itemindex:=1;
12..17: gobobox1.itemindex:=2;
18..23: gobobox1.itemindex:=3;
24..29: gobobox1.itemindex:=4;
30..35: gobobox1.itemindex:=5;
36..41: gobobox1.itemindex:=6;
42..47: gobobox1.itemindex:=7;
48..53: gobobox1.itemindex:=8;
54..63: gobobox1.itemindex:=9;
64..73: gobobox1.itemindex:=10;
74..79: gobobox1.itemindex:=11;
80..85: gobobox1.itemindex:=12;
86..91: gobobox1.itemindex:=13;
92..97: gobobox1.itemindex:=14;
98..103: gobobox1.itemindex:=15;
104..109: gobobox1.itemindex:=16;
110..115: gobobox1.itemindex:=17;
116..121: gobobox1.itemindex:=18;
122..127: gobobox1.itemindex:=19;
128..191: gobobox1.itemindex:=20;
192..255: gobobox1.itemindex:=21;
end;
end;
6:
begin
value:=get_channel('gobo2');
case value of
0..7: gobobox2.itemindex:=0;
8..15: gobobox2.itemindex:=1;
16..23: gobobox2.itemindex:=2;
24..31: gobobox2.itemindex:=3;
32..39: gobobox2.itemindex:=4;
40..47: gobobox2.itemindex:=5;
48..55: gobobox2.itemindex:=6;
56..95: gobobox2.itemindex:=7;
96..103: gobobox2.itemindex:=8;
104..111: gobobox2.itemindex:=9;
112..119: gobobox2.itemindex:=10;
120..127: gobobox2.itemindex:=11;
128..151: gobobox2.itemindex:=12;
152..159: gobobox2.itemindex:=13;
160..255: gobobox2.itemindex:=14;
end;
end;
7:
begin
SPECIAL1slider7.position:=get_channel('SPECIAL1');
end;
end;
DontRefresh:=false;
end;
procedure PositionXYChange(Top, Left: Integer);
var
Value:integer;
r,phi,temp:Double;
begin
if not DontRefresh then
case channel of
0:
begin
PositionXY.Left:=round(Fadenkreuz.Width * get_channel('pan')/255)-(PositionXY.Width div 2);
PositionXY.Top:=round(Fadenkreuz.Height * get_channel('tilt')/255)-(PositionXY.Height div 2);
end;
1:
begin
PositionXY.Left:=round(Fadenkreuz.Width * get_channel('pan')/255)-(PositionXY.Width div 2);
PositionXY.Top:=round(Fadenkreuz.Height * get_channel('tilt')/255)-(PositionXY.Height div 2);
end;
2:
begin
value:=get_channel('color1');
case value of
0..5: colorbox.itemindex:=0;
6..11: colorbox.itemindex:=1;
12..17: colorbox.itemindex:=2;
18..23: colorbox.itemindex:=3;
24..27: colorbox.itemindex:=4;
30..35: colorbox.itemindex:=5;
36..41: colorbox.itemindex:=6;
42..47: colorbox.itemindex:=7;
48..53: colorbox.itemindex:=8;
54..63: colorbox.itemindex:=9;
64..73: colorbox.itemindex:=10;
74..79: colorbox.itemindex:=11;
80..85: colorbox.itemindex:=12;
86..91: colorbox.itemindex:=13;
92..97: colorbox.itemindex:=14;
98..103: colorbox.itemindex:=15;
104..109: colorbox.itemindex:=16;
110..115: colorbox.itemindex:=17;
116..121: colorbox.itemindex:=18;
122..127: colorbox.itemindex:=19;
128..191: colorbox.itemindex:=20;
192..255: colorbox.itemindex:=21;
end;
end;
3:
begin
SHUTTERslider3.position:=get_channel('SHUTTER');
end;
4:
begin
DIMMERslider4.position:=get_channel('DIMMER');
end;
5:
begin
value:=get_channel('gobo1');
case value of
0..5: gobobox1.itemindex:=0;
6..11: gobobox1.itemindex:=1;
12..17: gobobox1.itemindex:=2;
18..23: gobobox1.itemindex:=3;
24..29: gobobox1.itemindex:=4;
30..35: gobobox1.itemindex:=5;
36..41: gobobox1.itemindex:=6;
42..47: gobobox1.itemindex:=7;
48..53: gobobox1.itemindex:=8;
54..63: gobobox1.itemindex:=9;
64..73: gobobox1.itemindex:=10;
74..79: gobobox1.itemindex:=11;
80..85: gobobox1.itemindex:=12;
86..91: gobobox1.itemindex:=13;
92..97: gobobox1.itemindex:=14;
98..103: gobobox1.itemindex:=15;
104..109: gobobox1.itemindex:=16;
110..115: gobobox1.itemindex:=17;
116..121: gobobox1.itemindex:=18;
122..127: gobobox1.itemindex:=19;
128..191: gobobox1.itemindex:=20;
192..255: gobobox1.itemindex:=21;
end;
end;
6:
begin
value:=get_channel('gobo2');
case value of
0..7: gobobox2.itemindex:=0;
8..15: gobobox2.itemindex:=1;
16..23: gobobox2.itemindex:=2;
24..31: gobobox2.itemindex:=3;
32..39: gobobox2.itemindex:=4;
40..47: gobobox2.itemindex:=5;
48..55: gobobox2.itemindex:=6;
56..95: gobobox2.itemindex:=7;
96..103: gobobox2.itemindex:=8;
104..111: gobobox2.itemindex:=9;
112..119: gobobox2.itemindex:=10;
120..127: gobobox2.itemindex:=11;
128..151: gobobox2.itemindex:=12;
152..159: gobobox2.itemindex:=13;
160..255: gobobox2.itemindex:=14;
end;
end;
7:
begin
SPECIAL1slider7.position:=get_channel('SPECIAL1');
end;
end;
DontRefresh:=false;
end;
procedure ColorBoxChange;
begin
case colorbox.itemindex of
0: set_channel('color1', -1, 0, 0);
1: set_channel('color1', -1, 8, 0);
2: set_channel('color1', -1, 14, 0);
3: set_channel('color1', -1, 21, 0);
4: set_channel('color1', -1, 28, 0);
5: set_channel('color1', -1, 35, 0);
6: set_channel('color1', -1, 42, 0);
7: set_channel('color1', -1, 49, 0);
8: set_channel('color1', -1, 56, 0);
9: set_channel('color1', -1, 64, 0);
10: set_channel('color1', -1, 71, 0);
11: set_channel('color1', -1, 78, 0);
12: set_channel('color1', -1, 85, 0);
13: set_channel('color1', -1, 92, 0);
14: set_channel('color1', -1, 99, 0);
15: set_channel('color1', -1, 106, 0);
16: set_channel('color1', -1, 113, 0);
17: set_channel('color1', -1, 120, 0);
18: set_channel('color1', -1, 128, 0);
19: set_channel('color1', -1, 192, 0);
end;
end;
procedure SHUTTERchange;
begin
DontRefresh:=true;
set_channel('SHUTTER',-1,SHUTTERslider3.position,0);
end;
procedure DIMMERchange;
begin
DontRefresh:=true;
set_channel('DIMMER',-1,DIMMERslider4.position,0);
end;
procedure GOBO1change;
begin
case gobobox1.itemindex of
0: set_channel('gobo1', -1, 0, 0);
1: set_channel('gobo1', -1, 8, 0);
2: set_channel('gobo1', -1, 16, 0);
3: set_channel('gobo1', -1, 24, 0);
4: set_channel('gobo1', -1, 32, 0);
5: set_channel('gobo1', -1, 40, 0);
6: set_channel('gobo1', -1, 48, 0);
7: set_channel('gobo1', -1, 56, 0);
8: set_channel('gobo1', -1, 64, 0);
9: set_channel('gobo1', -1, 72, 0);
10: set_channel('gobo1', -1, 80, 0);
11: set_channel('gobo1', -1, 88, 0);
12: set_channel('gobo1', -1, 96, 0);
13: set_channel('gobo1', -1, 104, 0);
14: set_channel('gobo1', -1, 112, 0);
15: set_channel('gobo1', -1, 120, 0);
16: set_channel('gobo1', -1, 128, 0);
17: set_channel('gobo1', -1, 192, 0);
end;
end;
procedure GOBO1ROTchange;
begin
DontRefresh:=true;
set_channel('GOBO1ROT',-1,GOBO1ROTslider6.position,0);
end;
procedure PRISMAchange;
begin
DontRefresh:=true;
set_channel('PRISMA',-1,PRISMAslider7.position,0);
end;
procedure FOCUSchange;
begin
DontRefresh:=true;
set_channel('FOCUS',-1,FOCUSslider8.position,0);
end;
procedure SPECIAL1change;
begin
DontRefresh:=true;
set_channel('SPECIAL1',-1,SPECIAL1slider9.position,0);
end;
procedure SPECIAL2change;
begin
DontRefresh:=true;
set_channel('SPECIAL2',-1,SPECIAL2slider10.position,0);
end;
procedure PositionXYChange(Top, Left: Integer);
var
phi,r,x,y:Double;
pan, tilt, panfine, tiltfine:Double;
begin
if usemhcontrol.checked then
begin
// Moving-Head-Steuerung (Polarkoordinaten)
x:=((PositionXY.Left+(PositionXY.Width div 2)-(fadenkreuz.Width/2))/fadenkreuz.Width)*2; //-1..0..1
y:=((PositionXY.Top+(PositionXY.Height div 2)-(fadenkreuz.Width/2))/fadenkreuz.Height)*2; //-1..0..1
r:=sqrt(x*x+y*y);
if (r>0) then
begin
if (y>=0) then
phi:=arccos(x/r)
else
phi:=6.283185307179586476925286766559-arccos(x/r);
end else
phi:=64;
r:=128-((r/2)*255);
phi:=(phi/6.283185307179586476925286766559)*255;
if 64>=phi then
phi:=phi+191
else
phi:=phi-64;
pan:=255-phi;
tilt:=255-r;
end else
begin
// Scannersteuerung (Kartesische Koordinaten)
pan:=((PositionXY.Left+(PositionXY.Width div 2))/fadenkreuz.Width)*255;
tilt:=((PositionXY.Top+(PositionXY.Height div 2))/fadenkreuz.Height)*255;
end;
// Ausgabe
if panmirror.checked then
begin
dontrefresh:=true;
set_channel('pan',trunc(255-pan),trunc(255-pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(255-pan)*255),trunc(frac(255-pan)*255),0);
end else
begin
dontrefresh:=true;
set_channel('pan',trunc(pan),trunc(pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(pan)*255),trunc(frac(pan)*255),0);
end;
if tiltmirror.checked then
begin
dontrefresh:=true;
set_channel('tilt',trunc(255-tilt),trunc(255-tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(255-tilt)*255),trunc(frac(255-tilt)*255),0);
end else
begin
dontrefresh:=true;
set_channel('tilt',trunc(tilt),trunc(tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(tilt)*255),trunc(frac(tilt)*255),0);
end;
end;
procedure ColorBoxChange;
begin
case colorbox.itemindex of
0: set_channel('color1', -1, 0, 0);
1: set_channel('color1', -1, 6, 0);
2: set_channel('color1', -1, 12, 0);
3: set_channel('color1', -1, 18, 0);
4: set_channel('color1', -1, 24, 0);
5: set_channel('color1', -1, 30, 0);
6: set_channel('color1', -1, 36, 0);
7: set_channel('color1', -1, 42, 0);
8: set_channel('color1', -1, 48, 0);
9: set_channel('color1', -1, 54, 0);
10: set_channel('color1', -1, 71, 0);
11: set_channel('color1', -1, 78, 0);
12: set_channel('color1', -1, 85, 0);
13: set_channel('color1', -1, 92, 0);
14: set_channel('color1', -1, 99, 0);
15: set_channel('color1', -1, 106, 0);
16: set_channel('color1', -1, 113, 0);
17: set_channel('color1', -1, 120, 0);
18: set_channel('color1', -1, 128, 0);
19: set_channel('color1', -1, 192, 0);
20: set_channel('color1', -1, 0, 0);
21: set_channel('color1', -1, 0, 0);
end;
end;
procedure shutterchange;
begin
DontRefresh:=true;
set_channel('shutter',-1,shutterslider3.position,0);
end;
procedure dimmerchange;
begin
DontRefresh:=true;
set_channel('dimmer',-1,dimmerslider4.position,0);
end;
procedure gobo1change;
begin
case gobobox1.itemindex of
0: set_channel('gobo1', -1, 0, 0);
1: set_channel('gobo1', -1, 8, 0);
2: set_channel('gobo1', -1, 16, 0);
3: set_channel('gobo1', -1, 24, 0);
4: set_channel('gobo1', -1, 32, 0);
5: set_channel('gobo1', -1, 40, 0);
6: set_channel('gobo1', -1, 48, 0);
7: set_channel('gobo1', -1, 56, 0);
8: set_channel('gobo1', -1, 64, 0);
9: set_channel('gobo1', -1, 72, 0);
10: set_channel('gobo1', -1, 80, 0);
11: set_channel('gobo1', -1, 88, 0);
12: set_channel('gobo1', -1, 96, 0);
13: set_channel('gobo1', -1, 104, 0);
14: set_channel('gobo1', -1, 112, 0);
15: set_channel('gobo1', -1, 120, 0);
16: set_channel('gobo1', -1, 128, 0);
17: set_channel('gobo1', -1, 192, 0);
end;
end;
procedure gobo1rotchange;
begin
DontRefresh:=true;
set_channel('gobo1rot',-1,gobo1rotslider6.position,0);
end;
procedure PositionXYChange(Top, Left: Integer);
var
phi,r,x,y:Double;
pan, tilt, panfine, tiltfine:Double;
begin
if usemhcontrol.checked then
begin
// Moving-Head-Steuerung (Polarkoordinaten)
x:=((PositionXY.Left+(PositionXY.Width div 2)-(fadenkreuz.Width/2))/fadenkreuz.Width)*2; //-1..0..1
y:=((PositionXY.Top+(PositionXY.Height div 2)-(fadenkreuz.Width/2))/fadenkreuz.Height)*2; //-1..0..1
r:=sqrt(x*x+y*y);
if (r>0) then
begin
if (y>=0) then
phi:=arccos(x/r)
else
phi:=6.283185307179586476925286766559-arccos(x/r);
end else
phi:=64;
r:=128-((r/2)*255);
phi:=(phi/6.283185307179586476925286766559)*255;
if 64>=phi then
phi:=phi+191
else
phi:=phi-64;
pan:=255-phi;
tilt:=255-r;
end else
begin
// Scannersteuerung (Kartesische Koordinaten)
pan:=((PositionXY.Left+(PositionXY.Width div 2))/fadenkreuz.Width)*255;
tilt:=((PositionXY.Top+(PositionXY.Height div 2))/fadenkreuz.Height)*255;
end;
// Ausgabe
if panmirror.checked then
begin
dontrefresh:=true;
set_channel('pan',trunc(255-pan),trunc(255-pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(255-pan)*255),trunc(frac(255-pan)*255),0);
end else
begin
dontrefresh:=true;
set_channel('pan',trunc(pan),trunc(pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(pan)*255),trunc(frac(pan)*255),0);
end;
if tiltmirror.checked then
begin
dontrefresh:=true;
set_channel('tilt',trunc(255-tilt),trunc(255-tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(255-tilt)*255),trunc(frac(255-tilt)*255),0);
end else
begin
dontrefresh:=true;
set_channel('tilt',trunc(tilt),trunc(tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(tilt)*255),trunc(frac(tilt)*255),0);
end;
end;
procedure ColorBoxChange;
begin
case colorbox.itemindex of
0: set_channel('color1', -1, 0, 0);
1: set_channel('color1', -1, 6, 0);
2: set_channel('color1', -1, 12, 0);
3: set_channel('color1', -1, 18, 0);
4: set_channel('color1', -1, 24, 0);
5: set_channel('color1', -1, 30, 0);
6: set_channel('color1', -1, 36, 0);
7: set_channel('color1', -1, 42, 0);
8: set_channel('color1', -1, 48, 0);
9: set_channel('color1', -1, 54, 0);
10: set_channel('color1', -1, 64, 0);
11: set_channel('color1', -1, 74, 0);
12: set_channel('color1', -1, 80, 0);
13: set_channel('color1', -1, 86, 0);
14: set_channel('color1', -1, 92, 0);
15: set_channel('color1', -1, 98, 0);
16: set_channel('color1', -1, 104, 0);
17: set_channel('color1', -1, 110, 0);
18: set_channel('color1', -1, 116, 0);
19: set_channel('color1', -1, 122, 0);
20: set_channel('color1', -1, 128, 0);
21: set_channel('color1', -1, 192, 0);
end;
end;
procedure SHUTTERchange;
begin
DontRefresh:=true;
set_channel('SHUTTER',-1,SHUTTERslider3.position,0);
end;
procedure DIMMERchange;
begin
DontRefresh:=true;
set_channel('DIMMER',-1,DIMMERslider4.position,0);
end;
procedure gobo1change;
begin
case gobobox1.itemindex of
0: set_channel('gobo1', -1, 0, 0);
1: set_channel('gobo1', -1, 6, 0);
2: set_channel('gobo1', -1, 12, 0);
3: set_channel('gobo1', -1, 18, 0);
4: set_channel('gobo1', -1, 24, 0);
5: set_channel('gobo1', -1, 30, 0);
6: set_channel('gobo1', -1, 36, 0);
7: set_channel('gobo1', -1, 42, 0);
8: set_channel('gobo1', -1, 48, 0);
9: set_channel('gobo1', -1, 54, 0);
10: set_channel('gobo1', -1, 64, 0);
11: set_channel('gobo1', -1, 74, 0);
12: set_channel('gobo1', -1, 80, 0);
13: set_channel('gobo1', -1, 86, 0);
14: set_channel('gobo1', -1, 92, 0);
15: set_channel('gobo1', -1, 98, 0);
16: set_channel('gobo1', -1, 104, 0);
17: set_channel('gobo1', -1, 110, 0);
18: set_channel('gobo1', -1, 116, 0);
19: set_channel('gobo1', -1, 122, 0);
20: set_channel('gobo1', -1, 128, 0);
21: set_channel('gobo1', -1, 192, 0);
end;
end;
procedure GOBO2change;
begin
case gobobox2.itemindex of
0: set_channel('gobo2', -1, 0, 0);
1: set_channel('gobo2', -1, 8, 0);
2: set_channel('gobo2', -1, 16, 0);
3: set_channel('gobo2', -1, 24, 0);
4: set_channel('gobo2', -1, 32, 0);
5: set_channel('gobo2', -1, 40, 0);
6: set_channel('gobo2', -1, 48, 0);
7: set_channel('gobo2', -1, 56, 0);
8: set_channel('gobo2', -1, 96, 0);
9: set_channel('gobo2', -1, 104, 0);
10: set_channel('gobo2', -1, 112, 0);
11: set_channel('gobo2', -1, 120, 0);
12: set_channel('gobo2', -1, 128, 0);
13: set_channel('gobo2', -1, 152, 0);
14: set_channel('gobo2', -1, 160, 0);
end;
end;
procedure SPECIAL1change;
begin
DontRefresh:=true;
set_channel('SPECIAL1',-1,SPECIAL1slider7.position,0);
end;
procedure PositionXYChange(Top, Left: Integer);
var
phi,r,x,y:Double;
pan, tilt, panfine, tiltfine:Double;
begin
if usemhcontrol.checked then
begin
// Moving-Head-Steuerung (Polarkoordinaten)
x:=((PositionXY.Left+(PositionXY.Width div 2)-(fadenkreuz.Width/2))/fadenkreuz.Width)*2; //-1..0..1
y:=((PositionXY.Top+(PositionXY.Height div 2)-(fadenkreuz.Width/2))/fadenkreuz.Height)*2; //-1..0..1
r:=sqrt(x*x+y*y);
if (r>0) then
begin
if (y>=0) then
phi:=arccos(x/r)
else
phi:=6.283185307179586476925286766559-arccos(x/r);
end else
phi:=64;
r:=128-((r/2)*255);
phi:=(phi/6.283185307179586476925286766559)*255;
if 64>=phi then
phi:=phi+191
else
phi:=phi-64;
pan:=255-phi;
tilt:=255-r;
end else
begin
// Scannersteuerung (Kartesische Koordinaten)
pan:=((PositionXY.Left+(PositionXY.Width div 2))/fadenkreuz.Width)*255;
tilt:=((PositionXY.Top+(PositionXY.Height div 2))/fadenkreuz.Height)*255;
end;
// Ausgabe
if panmirror.checked then
begin
dontrefresh:=true;
set_channel('pan',trunc(255-pan),trunc(255-pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(255-pan)*255),trunc(frac(255-pan)*255),0);
end else
begin
dontrefresh:=true;
set_channel('pan',trunc(pan),trunc(pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(pan)*255),trunc(frac(pan)*255),0);
end;
if tiltmirror.checked then
begin
dontrefresh:=true;
set_channel('tilt',trunc(255-tilt),trunc(255-tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(255-tilt)*255),trunc(frac(255-tilt)*255),0);
end else
begin
dontrefresh:=true;
set_channel('tilt',trunc(tilt),trunc(tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(tilt)*255),trunc(frac(tilt)*255),0);
end;
end;
procedure ColorBoxChange;
begin
case colorbox.itemindex of
0: set_channel('color1', -1, 0, 0);
1: set_channel('color1', -1, 6, 0);
2: set_channel('color1', -1, 12, 0);
3: set_channel('color1', -1, 18, 0);
4: set_channel('color1', -1, 24, 0);
5: set_channel('color1', -1, 30, 0);
6: set_channel('color1', -1, 36, 0);
7: set_channel('color1', -1, 42, 0);
8: set_channel('color1', -1, 48, 0);
9: set_channel('color1', -1, 54, 0);
10: set_channel('color1', -1, 64, 0);
11: set_channel('color1', -1, 74, 0);
12: set_channel('color1', -1, 80, 0);
13: set_channel('color1', -1, 86, 0);
14: set_channel('color1', -1, 92, 0);
15: set_channel('color1', -1, 98, 0);
16: set_channel('color1', -1, 104, 0);
17: set_channel('color1', -1, 110, 0);
18: set_channel('color1', -1, 116, 0);
19: set_channel('color1', -1, 122, 0);
20: set_channel('color1', -1, 128, 0);
21: set_channel('color1', -1, 192, 0);
end;
end;
procedure SHUTTERchange;
begin
DontRefresh:=true;
set_channel('SHUTTER',-1,SHUTTERslider3.position,0);
end;
procedure DIMMERchange;
begin
DontRefresh:=true;
set_channel('DIMMER',-1,DIMMERslider4.position,0);
end;
procedure gobo1change;
begin
case gobobox1.itemindex of
0: set_channel('gobo1', -1, 0, 0);
1: set_channel('gobo1', -1, 6, 0);
2: set_channel('gobo1', -1, 12, 0);
3: set_channel('gobo1', -1, 18, 0);
4: set_channel('gobo1', -1, 24, 0);
5: set_channel('gobo1', -1, 30, 0);
6: set_channel('gobo1', -1, 36, 0);
7: set_channel('gobo1', -1, 42, 0);
8: set_channel('gobo1', -1, 48, 0);
9: set_channel('gobo1', -1, 54, 0);
10: set_channel('gobo1', -1, 64, 0);
11: set_channel('gobo1', -1, 74, 0);
12: set_channel('gobo1', -1, 80, 0);
13: set_channel('gobo1', -1, 86, 0);
14: set_channel('gobo1', -1, 92, 0);
15: set_channel('gobo1', -1, 98, 0);
16: set_channel('gobo1', -1, 104, 0);
17: set_channel('gobo1', -1, 110, 0);
18: set_channel('gobo1', -1, 116, 0);
19: set_channel('gobo1', -1, 122, 0);
20: set_channel('gobo1', -1, 128, 0);
21: set_channel('gobo1', -1, 192, 0);
end;
end;
procedure GOBO2change;
begin
case gobobox2.itemindex of
0: set_channel('gobo2', -1, 0, 0);
1: set_channel('gobo2', -1, 8, 0);
2: set_channel('gobo2', -1, 16, 0);
3: set_channel('gobo2', -1, 24, 0);
4: set_channel('gobo2', -1, 32, 0);
5: set_channel('gobo2', -1, 40, 0);
6: set_channel('gobo2', -1, 48, 0);
7: set_channel('gobo2', -1, 56, 0);
8: set_channel('gobo2', -1, 96, 0);
9: set_channel('gobo2', -1, 104, 0);
10: set_channel('gobo2', -1, 112, 0);
11: set_channel('gobo2', -1, 120, 0);
12: set_channel('gobo2', -1, 128, 0);
13: set_channel('gobo2', -1, 152, 0);
14: set_channel('gobo2', -1, 160, 0);
end;
end;
procedure SPECIAL1change;
begin
DontRefresh:=true;
set_channel('SPECIAL1',-1,SPECIAL1slider7.position,0);
end;
procedure PositionXYChange(Top, Left: Integer);
var
phi,r,x,y:Double;
pan, tilt, panfine, tiltfine:Double;
begin
if usemhcontrol.checked then
begin
// Moving-Head-Steuerung (Polarkoordinaten)
x:=((PositionXY.Left+(PositionXY.Width div 2)-(fadenkreuz.Width/2))/fadenkreuz.Width)*2; //-1..0..1
y:=((PositionXY.Top+(PositionXY.Height div 2)-(fadenkreuz.Width/2))/fadenkreuz.Height)*2; //-1..0..1
r:=sqrt(x*x+y*y);
if (r>0) then
begin
if (y>=0) then
phi:=arccos(x/r)
else
phi:=6.283185307179586476925286766559-arccos(x/r);
end else
phi:=64;
r:=128-((r/2)*255);
phi:=(phi/6.283185307179586476925286766559)*255;
if 64>=phi then
phi:=phi+191
else
phi:=phi-64;
pan:=255-phi;
tilt:=255-r;
end else
begin
// Scannersteuerung (Kartesische Koordinaten)
pan:=((PositionXY.Left+(PositionXY.Width div 2))/fadenkreuz.Width)*255;
tilt:=((PositionXY.Top+(PositionXY.Height div 2))/fadenkreuz.Height)*255;
end;
// Ausgabe
if panmirror.checked then
begin
dontrefresh:=true;
set_channel('pan',trunc(255-pan),trunc(255-pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(255-pan)*255),trunc(frac(255-pan)*255),0);
end else
begin
dontrefresh:=true;
set_channel('pan',trunc(pan),trunc(pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(pan)*255),trunc(frac(pan)*255),0);
end;
if tiltmirror.checked then
begin
dontrefresh:=true;
set_channel('tilt',trunc(255-tilt),trunc(255-tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(255-tilt)*255),trunc(frac(255-tilt)*255),0);
end else
begin
dontrefresh:=true;
set_channel('tilt',trunc(tilt),trunc(tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(tilt)*255),trunc(frac(tilt)*255),0);
end;
end;
procedure SHUTTERchange;
begin
DontRefresh:=true;
set_channel('SHUTTER',-1,SHUTTERslider3.position,0);
end;
procedure DIMMERchange;
begin
DontRefresh:=true;
set_channel('DIMMER',-1,DIMMERslider4.position,0);
end;
procedure gobo1change;
begin
case gobobox1.itemindex of
0: set_channel('gobo1', -1, 0, 0);
1: set_channel('gobo1', -1, 6, 0);
2: set_channel('gobo1', -1, 12, 0);
3: set_channel('gobo1', -1, 18, 0);
4: set_channel('gobo1', -1, 24, 0);
5: set_channel('gobo1', -1, 30, 0);
6: set_channel('gobo1', -1, 36, 0);
7: set_channel('gobo1', -1, 42, 0);
8: set_channel('gobo1', -1, 48, 0);
9: set_channel('gobo1', -1, 54, 0);
10: set_channel('gobo1', -1, 64, 0);
11: set_channel('gobo1', -1, 74, 0);
12: set_channel('gobo1', -1, 80, 0);
13: set_channel('gobo1', -1, 86, 0);
14: set_channel('gobo1', -1, 92, 0);
15: set_channel('gobo1', -1, 98, 0);
16: set_channel('gobo1', -1, 104, 0);
17: set_channel('gobo1', -1, 110, 0);
18: set_channel('gobo1', -1, 116, 0);
19: set_channel('gobo1', -1, 122, 0);
20: set_channel('gobo1', -1, 128, 0);
21: set_channel('gobo1', -1, 192, 0);
end;
end;
procedure GOBO2change;
begin
case gobobox2.itemindex of
0: set_channel('gobo2', -1, 0, 0);
1: set_channel('gobo2', -1, 8, 0);
2: set_channel('gobo2', -1, 16, 0);
3: set_channel('gobo2', -1, 24, 0);
4: set_channel('gobo2', -1, 32, 0);
5: set_channel('gobo2', -1, 40, 0);
6: set_channel('gobo2', -1, 48, 0);
7: set_channel('gobo2', -1, 56, 0);
8: set_channel('gobo2', -1, 96, 0);
9: set_channel('gobo2', -1, 104, 0);
10: set_channel('gobo2', -1, 112, 0);
11: set_channel('gobo2', -1, 120, 0);
12: set_channel('gobo2', -1, 128, 0);
13: set_channel('gobo2', -1, 152, 0);
14: set_channel('gobo2', -1, 160, 0);
end;
end;
procedure SPECIAL1change;
begin
DontRefresh:=true;
set_channel('SPECIAL1',-1,SPECIAL1slider7.position,0);
end;
procedure PositionXYChange(Top, Left: Integer);
var
phi,r,x,y:Double;
pan, tilt, panfine, tiltfine:Double;
begin
if usemhcontrol.checked then
begin
// Moving-Head-Steuerung (Polarkoordinaten)
x:=((PositionXY.Left+(PositionXY.Width div 2)-(fadenkreuz.Width/2))/fadenkreuz.Width)*2; //-1..0..1
y:=((PositionXY.Top+(PositionXY.Height div 2)-(fadenkreuz.Width/2))/fadenkreuz.Height)*2; //-1..0..1
r:=sqrt(x*x+y*y);
if (r>0) then
begin
if (y>=0) then
phi:=arccos(x/r)
else
phi:=6.283185307179586476925286766559-arccos(x/r);
end else
phi:=64;
r:=128-((r/2)*255);
phi:=(phi/6.283185307179586476925286766559)*255;
if 64>=phi then
phi:=phi+191
else
phi:=phi-64;
pan:=255-phi;
tilt:=255-r;
end else
begin
// Scannersteuerung (Kartesische Koordinaten)
pan:=((PositionXY.Left+(PositionXY.Width div 2))/fadenkreuz.Width)*255;
tilt:=((PositionXY.Top+(PositionXY.Height div 2))/fadenkreuz.Height)*255;
end;
// Ausgabe
if panmirror.checked then
begin
dontrefresh:=true;
set_channel('pan',trunc(255-pan),trunc(255-pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(255-pan)*255),trunc(frac(255-pan)*255),0);
end else
begin
dontrefresh:=true;
set_channel('pan',trunc(pan),trunc(pan),0);
dontrefresh:=true;
set_channel('panfine',trunc(frac(pan)*255),trunc(frac(pan)*255),0);
end;
if tiltmirror.checked then
begin
dontrefresh:=true;
set_channel('tilt',trunc(255-tilt),trunc(255-tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(255-tilt)*255),trunc(frac(255-tilt)*255),0);
end else
begin
dontrefresh:=true;
set_channel('tilt',trunc(tilt),trunc(tilt),0);
dontrefresh:=true;
set_channel('tiltfine',trunc(frac(tilt)*255),trunc(frac(tilt)*255),0);
end;
end;
procedure ColorBoxChange;
begin
case colorbox.itemindex of
0: set_channel('color1', -1, 0, 0);
1: set_channel('color1', -1, 6, 0);
2: set_channel('color1', -1, 12, 0);
3: set_channel('color1', -1, 18, 0);
4: set_channel('color1', -1, 24, 0);
5: set_channel('color1', -1, 30, 0);
6: set_channel('color1', -1, 36, 0);
7: set_channel('color1', -1, 42, 0);
8: set_channel('color1', -1, 48, 0);
9: set_channel('color1', -1, 54, 0);
10: set_channel('color1', -1, 64, 0);
11: set_channel('color1', -1, 74, 0);
12: set_channel('color1', -1, 80, 0);
13: set_channel('color1', -1, 86, 0);
14: set_channel('color1', -1, 92, 0);
15: set_channel('color1', -1, 98, 0);
16: set_channel('color1', -1, 104, 0);
17: set_channel('color1', -1, 110, 0);
18: set_channel('color1', -1, 116, 0);
19: set_channel('color1', -1, 122, 0);
20: set_channel('color1', -1, 128, 0);
21: set_channel('color1', -1, 192, 0);
end;
end;
procedure SHUTTERchange;
begin
DontRefresh:=true;
set_channel('SHUTTER',-1,SHUTTERslider3.position,0);
end;
procedure DIMMERchange;
begin
DontRefresh:=true;
set_channel('DIMMER',-1,DIMMERslider4.position,0);
end;
procedure gobo1change;
begin
case gobobox1.itemindex of
0: set_channel('gobo1', -1, 0, 0);
1: set_channel('gobo1', -1, 6, 0);
2: set_channel('gobo1', -1, 12, 0);
3: set_channel('gobo1', -1, 18, 0);
4: set_channel('gobo1', -1, 24, 0);
5: set_channel('gobo1', -1, 30, 0);
6: set_channel('gobo1', -1, 36, 0);
7: set_channel('gobo1', -1, 42, 0);
8: set_channel('gobo1', -1, 48, 0);
9: set_channel('gobo1', -1, 54, 0);
10: set_channel('gobo1', -1, 64, 0);
11: set_channel('gobo1', -1, 74, 0);
12: set_channel('gobo1', -1, 80, 0);
13: set_channel('gobo1', -1, 86, 0);
14: set_channel('gobo1', -1, 92, 0);
15: set_channel('gobo1', -1, 98, 0);
16: set_channel('gobo1', -1, 104, 0);
17: set_channel('gobo1', -1, 110, 0);
18: set_channel('gobo1', -1, 116, 0);
19: set_channel('gobo1', -1, 122, 0);
20: set_channel('gobo1', -1, 128, 0);
21: set_channel('gobo1', -1, 192, 0);
end;
end;
procedure GOBO2change;
begin
case gobobox2.itemindex of
0: set_channel('gobo2', -1, 0, 0);
1: set_channel('gobo2', -1, 8, 0);
2: set_channel('gobo2', -1, 16, 0);
3: set_channel('gobo2', -1, 24, 0);
4: set_channel('gobo2', -1, 32, 0);
5: set_channel('gobo2', -1, 40, 0);
6: set_channel('gobo2', -1, 48, 0);
7: set_channel('gobo2', -1, 56, 0);
8: set_channel('gobo2', -1, 96, 0);
9: set_channel('gobo2', -1, 104, 0);
10: set_channel('gobo2', -1, 112, 0);
11: set_channel('gobo2', -1, 120, 0);
12: set_channel('gobo2', -1, 128, 0);
13: set_channel('gobo2', -1, 152, 0);
14: set_channel('gobo2', -1, 160, 0);
end;
end;
procedure SPECIAL1change;
begin
DontRefresh:=true;
set_channel('SPECIAL1',-1,SPECIAL1slider7.position,0);
end;
end.
</code>
</device>