Fehler bei der erstellung eines neuen Gerätes

Alles was nicht direkt mit dem normalen Verhalten des PC_DIMMERs zu tun hat
dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 06.09.2013, 12:27

Ich bekomme leider immer wieder Fehler wenn ich einen neuen Scanner anlegen möchte.

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>

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 07.09.2013, 11:18

Hallo dj-rommy
lade doch deine .ddf mal hoch, dann werfe ich mal einen blick drauf, so kann ich besser deine Arbeit bewerten. (Ich muss so was sehen, klappt besser als theoretisch durch zu kauen)
Gruß Uncas

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 07.09.2013, 13:22

Datei ist im Anhang. Ich hoffe das du meinen Fehler finden kannst. Ich Arbeite zum ersten mal mit PC Dimmer und Möchte das ein oder andere Gerät noch hinzufügen, da meine Wunschgeräte nicht alle in der Liste sind.

Wenn fehler meinerseits gefunden werden bitte ich um Einfache erklährung wie ich es beim nächsten mal besser machen kann
Dateianhänge
Stairville_JunoScan_MKII.pcddevc
(48.81 KiB) 290-mal heruntergeladen

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 07.09.2013, 14:49

Hallo DJ-rommy
Hab mal drüber geschaut, Einträge die zu viel waren gelöscht, die noch keine Zuweisung haben gegenzeichnet, schau mal in die FormRefresh(channel:Integer). Jetzt Funktioniert deine .ddf, aber da ist noch Potential drin. Zur Hilfe nehme dir einen zweiten Bildschirm, öffne PCD ein zweites Mal und nehme eine andere .ddf als Beispiel Datenbank. Ist so einfacher! Tip. Gobosymbole , u. Gerätebilder kommen in den Ordner Devicepictures, achte auf die Formate!
Gruß Uncas
Dateianhänge
Stairville_JunoScan_MKII.rar
(3.8 KiB) 75-mal heruntergeladen

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 07.09.2013, 16:08

danke erst mal für die hilfe :)
was meinst du damit das da noch potential drinnen ist? fehlen noch funktionen ?
habe eigentlich alle funktionen aus der bedienanleitung von thomann der reihe nach hinzugefügt ...
wüsste nicht was ich noch zusätzlich machen sollte...?
außer die gobos fassend zu gestalten.
Alles andere hatte ich eigenmtlich eingegeben.
mfg, rommy :)

Edit:
wenn ich deine datei vom Junoscan öffne erhalte ich folgende fehlermeldung:

Error in unit 'JunoScanMKII' on line 28 : 'end' expected but 'procedure' found

das bedeutet leider funktioniert es immer noch nicht :(
und ich weis leider nicht was ich unter dem fehler verstehen soll oder wo das problem liegt.
ich habe meine datei komplett gelöscht und danach deine datei hinzugefügt und geöffnet.
dann erschien das fehlerfenster mit dem genannten fehler.

Edit2:
Der genannte fehler taucht aber auch nur im modus geräte editor auf, wenn ich den junoscan zum bearbeiten öffne.

unter der geräte verwaltung wo ich geräte hinzufüge funktioniert jetzt schon mal alles.
das bedeutet das scanner bedien menu funktioniert scheinbar bis jetzt tadellos.
ich konnte es aber noch nicht am gerät selbst austesten, da meine usb dmx box und die scanner erst im laufe der kommenden woche mit der post eintrudeln.
das bedeutet, alles was ich gerade mit dem programm mache führe ich gerade nur softwareseitig aus und erst ab nächste woche im lifetest.

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 07.09.2013, 16:30

Entschuldige, habe dir die falsche Datei eingestellt, und die bearbeitete beim mir schon gelöscht. Muss da morgen noch mal dran. Schau mal diese Test Datenbank benutze ich als Muster
Dateianhänge
000_Test1_RGB.rar
(3.91 KiB) 71-mal heruntergeladen

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 07.09.2013, 16:32

hallo, okay danke.
währ nett wenn du sie mir dann morgen nochmal schickst.
bei deiner test datenbank bekomme ich leider auch folgenden fehler:

Datei C:\Programme\PHOENIXstudios\PC_DIMMER\Devicepictures\64 x 64\Eurolite_TMH-7.png kann nicht geöffnet werden. Das System kann die angegebene Datei nicht finden

die testdatenbank wird bei mir gar nicht erst auf gemacht :(
was meinst du damit das da noch potential drinnen ist? fehlen noch funktionen ?
habe eigentlich alle funktionen aus der bedienanleitung von thomann der reihe nach hinzugefügt ...
wüsste nicht was ich noch zusätzlich machen sollte...?
außer die gobos fassend zu gestalten.
Alles andere hatte ich eigenmtlich eingegeben.
mfg, rommy.

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 08.09.2013, 09:42

Hallo,
gestern ging aber auch alles daneben, sorry die Test .ddf braucht auch die passenden Bilder, sind mit der .ddf in der .rar Datei, alles entpacken und in dem Ordner von PCD einfügen. Meine vorgehensweis ist Step bei Step, Kanalnummer, Kanaltyp, Komponenten (Butten, Slider) neue Funktionen für Butten u. Slider, Rückmeldung in FormRefresh. In deiner .ddf musst du dich noch mit deinem Farbrad, Gobobox 1 u. 2 bescheftigen und für die Resetfunktion schau mal in die Test1.
Gruß Uncas
Dateianhänge
000_Test2_ GOBO.rar
(104.58 KiB) 63-mal heruntergeladen
000_Test1_RGB.rar
(40.96 KiB) 70-mal heruntergeladen
Stairville_JunoScan_MKII.pcddevc
(20.28 KiB) 253-mal heruntergeladen

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 08.09.2013, 12:46

vielen dank erstmal :)

wenn ich jetzt den Junoscan öffne zum edetieren und den funktionstest durchfühle erhalte ich hier den fehler:
Undeclared Identifier 'DontRefresh'
Error in unit 'JunoScanMKII' on line 23 : Undeclared Identifier 'DontRefresh'

Alles andere hat keine Automatische Fehlermeldung geöffnet.

Die TestDatein probiere ich gleich aus .
MfG, Rommy

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 08.09.2013, 13:32

Hallo,
ich weiß nicht was er hat aber beim Abspeichern der FormRefresh(channel:Integer) Datei geht beim neu Start scheinbar einiges verloren. Hier noch mal die .ddf. und so sollte mal erst deine FormRefresh aussehen.

Code: Alles auswählen

  var
    Value:integer;
  begin
    case channel of
      0..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; 
  end;
Gruß Uncas
Dateianhänge
Stairville_JunoScan_MKII.pcddevc
(19.98 KiB) 252-mal heruntergeladen

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 15.09.2013, 18:39

vielen dank für die hilfe :)
klappt alles super :)

allerdings gibts kleine probleme bei der direkten gerätesteuerung über die kleinen minimenus wo man gobos usw per drop down auswälen kann.

erstmal werden nicht alle aufgezählt .
goboshake gobos sind nicht alle aufgelistet obwohl im programmiermodus alles da ist.
und bei den farben eben so

die ein oder andere farbe bzw auch bei den gobos lassen sich über das dropdownmenu nicht anwählen ...
das dropdown springt einfach weiter zum nächten menupunkt .

mfg, rommy :)

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 17.09.2013, 09:14

Hallo,
Schreibe deine Farben und Gobos mal nicht mit Umlaute also lieber ue statt ü. dann sollte es funktionieren.
Gruß Uncas
:wink:

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 17.09.2013, 12:26

Hallo, Danke für die Rasche Antwort :)
Habe deinen Tipp ausprobiert, und alle sonderzeichen wie lehrzeichen / () oder - auch raus gemacht .
Das problem bleibt aber leider das gleiche .
:(
mfg, rommy.

Uncas
Lichtmeister
Beiträge: 102
Registriert: 01.07.2013, 18:12

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von Uncas » 17.09.2013, 17:26

Hallo,
auf ein Neues Farben kannst du nicht doppelt nehmen also für weiß/gelb eine Mischfarbe aussuchen und nicht nochmal weiß.
Gobos musst du für eine weiteres Mal einen 2.Namen generieren also Bild1=Gobo1; Bild1=Shake1 ich hoffe jetzt klappt es.
Gruß Uncas

dj-rommy
Kabelschlepper
Beiträge: 16
Registriert: 06.09.2013, 12:23

Re: Fehler bei der erstellung eines neuen Gerätes

Beitrag von dj-rommy » 18.09.2013, 01:27

hm ... der scanner hat ja halbfarben vorprogrammiert ... das das rad zwischen den farben stehen bleiben kann ...
oder meinst du ich darf die farbe im programm nicht zwei mal vergeben?
ich habe für die mischfarben optisch zum bedienen weiß hinterlegt.

( orange geht aber auch nicht und die farbe ist definitif nur einmal von mir hinterlegt)

bei gobos hab ich noch gar keine bilder hinterlegt, habe die drin gelassen die in deiner datei waren und bei den weiteren die ich hinzugefügt habe, immer das letzte bild wieder verwendet ...
lg, rommy.

Antworten