Outdoor Stage Par 12x3W Tri
Stairville
freche_frau
8 Kanäle
unit NewDeviceUnit;
interface
procedure ProgramRGBMode;
procedure ProgramGradual7Colors;
procedure ProgramGradualRGB;
procedure ProgramSwitch7Colors;
procedure ProgramSwitchRGB;
procedure ProgramRandom1;
procedure ProgramRandom2;
procedure ProgramGradualRed;
procedure ProgramGradualGreen;
procedure ProgramGradualBlue;
procedure FaderChange;
procedure StrobeChange;
procedure DimmerOff;
procedure DimmerChange;
procedure DimmerMax;
procedure ColorPickerChange(R, G, B: Byte);
procedure SwitchColorPicker;
procedure ColorBoxChange;
procedure FormShow;
procedure FormClose;
procedure FormRefresh(channel:Integer);
implementation
var DontRefresh:boolean;
// ----------- PROGRAMS ----------- //
procedure ProgramRGBMode;
begin
set_channel('KANAL_6',-1, 0,0);
end;
procedure ProgramGradual7Colors;
begin
set_channel('KANAL_6',-1, 25,0);
end;
procedure ProgramGradualRGB;
begin
set_channel('KANAL_6',-1, 50,0);
end;
procedure ProgramSwitch7Colors;
begin
set_channel('KANAL_6',-1, 75,0);
end;
procedure ProgramSwitchRGB;
begin
set_channel('KANAL_6',-1,100,0);
end;
procedure ProgramRandom1;
begin
set_channel('KANAL_6',-1,125,0);
end;
procedure ProgramRandom2;
begin
set_channel('KANAL_6',-1,150,0);
end;
procedure ProgramGradualRed;
begin
set_channel('KANAL_6',-1,175,0);
end;
procedure ProgramGradualGreen;
begin
set_channel('KANAL_6',-1,200,0);
end;
procedure ProgramGradualBlue;
begin
set_channel('KANAL_6',-1,225,0);
end;
// ----------- FADER ----------- //
procedure FaderChange;
begin
case Dropdown_fader.itemindex of
0: set_channel('KANAL_8',-1, 0,0);
1: set_channel('KANAL_8',-1,255,0);
end;
end;
// ----------- STROBE ----------- //
procedure StrobeChange;
begin
DontRefresh:=true;
set_channel('KANAL_5',-1,Slider_strobe.position,0);
end;
// ----------- DIMMER ----------- //
procedure DimmerChange;
begin
DontRefresh:=true;
set_channel('KANAL_1',-1,Slider_dimmer.position,0);
end;
procedure DimmerOff;
begin
set_channel('KANAL_1',-1, 0,0);
end;
procedure DimmerMax;
begin
set_channel('KANAL_1',-1,255,0);
end;
// ----------- COLOR PICKER ----------- //
procedure ColorPickerChange(R, G, B: Byte);
begin
// zuerst wechsel zurück in den RGB-Modus:
set_channel('KANAL_6',-1,0,0);
Label_mode.caption:='RGB-Modus';
set_channel('r',-1,r,0);
set_channel('g',-1,g,0);
set_channel('b',-1,b,0);
set_channel('c',-1,255-r,0); // TODO: evtl. unnötig und kann gelöscht werden
set_channel('m',-1,255-g,0); // TODO: evtl. unnötig und kann gelöscht werden
set_channel('y',-1,255-b,0); // TODO: evtl. unnötig und kann gelöscht werden
end;
procedure SwitchColorPicker;
begin
if colorpicker.visible then
begin
colorpicker.visible:=false;
colorpicker2.visible:=true;
end else
begin
colorpicker.visible:=true;
colorpicker2.visible:=false;
end;
end;
// TODO: evtl. unnötig und kann gelöscht werden
procedure ColorBoxChange;
begin
// Werten Sie hier die eingestellte Farbe der Farbbox aus. z.B. wie folgt:
case colorbox.itemindex of
0: set_channel('COLOR1', -1, 0, 0);
end;
end;
// ----------- DEVICE CONTROL FORM ----------- //
procedure FormShow;
begin
end;
procedure FormClose;
begin
end;
procedure FormRefresh(channel:Integer);
var
Value:integer;
r,phi,temp:Double;
begin
if not DontRefresh then
begin
case channel of
// IMPORTANT: channel 0 = KANAL_1, channel 1 = KANAL_2, ... channel 7 = KANAL_8
0:
begin
Slider_dimmer.position:=get_channel('KANAL_1');
end;
1:
begin
// RGB-Änderungen werden derzeit nicht im DDF angezeigt
end;
2:
begin
// RGB-Änderungen werden derzeit nicht im DDF angezeigt
end;
3:
begin
// RGB-Änderungen werden derzeit nicht im DDF angezeigt
end;
4:
begin
Slider_strobe.position:=get_channel('KANAL_5');
end;
5:
begin
selected_program:=get_channel('KANAL_6');
case selected_program of
0:
begin
Label_mode.caption:='RGB-Modus';
end;
1..24:
begin
// Option "konstante Farbe" nicht implementiert, da die Funktion bereits durch den ColorSwitcher bereitgestellt wird.
Label_mode.caption:='konstante Farbe';
end;
25..49:
begin
Label_mode.caption:='weicher Übergang: 7 Farben';
end;
50..74:
begin
Label_mode.caption:='weicher Übergang: R -> G -> B';
end;
75..99:
begin
Label_mode.caption:='harter Wechsel: 7 Farben';
end;
100..124:
begin
Label_mode.caption:='harter Wechsel: R -> G -> B';
end;
125..149:
begin
Label_mode.caption:='Zufallsprogramm 1';
end;
150..174:
begin
Label_mode.caption:='Zufallsprogramm 2';
end;
175..199:
begin
Label_mode.caption:='hell/dunkel: rot';
end;
200..224:
begin
Label_mode.caption:='hell/dunkel: grün';
end;
225..255:
begin
Label_mode.caption:='hell/dunkel: blau';
end;
end;
end;
6:
begin
// nothing to do
end;
7:
begin
fader_value:=get_channel('KANAL_8');
case fader_value of
0..250: Dropdown_fader.itemindex:=0;
251..255: Dropdown_fader.itemindex:=1;
end;
end;
end;
end;
DontRefresh:=false;
end;
// ----------- END OF SCRIPT ----------- //
end.