Clay Paky MiniScan HPE

Selbsterstellte Gerätedefinitionen von PC_DIMMER Nutzern
Antworten
Marxon

Clay Paky MiniScan HPE

Beitrag von Marxon » 31.05.2011, 00:17

Servus PC-Dimmer User,

hier ist ein DDF inkl. Gobos für den Clay Paky MiniScan HPE.
Leider meldet PC Dimmer immer einen Fehler in Zeile 272.
Da ich aber nicht weis, von wo aus PCD anfängt zu zählen, (von der ersten Zeile aus jedenfalls nicht),
bekomm ich es nicht hin dies zu fixen... Dies ist bestimmt auch der Grund warum die Form Refresh Funktion nicht funktioniert.
Die Steuerung über die Oberfläche funzt jedenfalls.
Vieleicht würde jemand nochmal einen Blick in das DDF werfen?

Mfg
Marxon
MiniScan HPE.zip
(34.66 KiB) 72-mal heruntergeladen

Benutzeravatar
admin
PC_DIMMER-Entwickler
Beiträge: 1810
Registriert: 12.11.2007, 09:30
Wohnort: Knw.-Remsfeld
Kontaktdaten:

Re: Clay Paky MiniScan HPE

Beitrag von admin » 31.05.2011, 06:50

Guten Morgen,


in der Funktion FormRefresh hast du zweimal ein "begin" zu viel, bzw. es fehlt das dazu passende "end". Dies dürfte bereits der Fehler sein. Der PC_DIMMER-Codeparser fängt übrigens immer ab dem Befehl "unit" an zu zählen. Alles was davor kommt ist nur der Header der DDF-Datei.

Ein Vorschlag für die FormRefresh-Funktion: wenn man die automatische Code-Erzeugung verwendet, wird der Funktionswert "channel" ausgewertet. Das ist recht vorteilhaft, da bei automatischer Änderung (z.B. durch einen Effekt) sonst die gesamte Oberfläche nicht mehr nutzbar ist, da auch bei Kanaländerung von "PAN" die Controls von Kanal "DIMMER" aktualisiert werden. Also empfehle ich ein "Case"-Statement zur Auswertung der Variable "channel", damit wirklich nur die Controls aktualisiert werden, die sich verändert haben.


viele Grüße,
Christian

Marxon

Re: Clay Paky MiniScan HPE

Beitrag von Marxon » 02.06.2011, 04:10

Hallo Christian,

vielen Dank für deine Antwort.
Nur leider funktionierts immer noch nicht.
Laut der Fehlermeldung "...on line 272 : 'end' expected but 'procedure' found"
Müsste der Fehler ja der Proceduraufruf in Zeile 366 sein.
Also setzte ich einen zusätzlichen end; Befehl davor.
Nun erhielt ich die Meldung: "...on line 273 : 'end' expected but 'procedure' found"
Ein weiterer zuätzlicher end; Befehl
verschob den Fehler erneut um eine Zeile.
Das komplette Löschen der Procedur führt auch zu nichts...
Irgendwo is da der Wurm drinn. :gruebel2:

Gruß
Marxon

Marxon

Re: Clay Paky MiniScan HPE

Beitrag von Marxon » 04.06.2011, 00:52

Servus nocheinmal,

so langsam bekomm ich das mit der FormRefresh Procedur hin :)
Habe sie auch, wie du beschrieben hast einzeln "eingecased"
Einzig das Refreshen zusammengehörender Steuerelemente mittels des selben Kanals
(Kanal 5 soll z.B. Shutterdropdown und Shutterslider gleichzeitig ändern) funzt noch nicht.
In den nächsten Tagen werd ich dann hoffentlich ein fehlerfreies DDF hochladen.

mfg
Marxon

Marxon

Re: Clay Paky MiniScan HPE

Beitrag von Marxon » 04.06.2011, 16:06

Und nocheinmal Servus!

Ich geb langsam auf... Seit 5 Std versuch ich´s erfolglos.
Bin ich wirklich so blöd? :evil: Bitte helft mir...
Hier die komplette FormRefresh Procedur:
Das Shutterdropdown aktualisiert sich aber der Shutterslider nicht.

procedure FormRefresh(channel:Integer);
var
Value:integer;
r,phi,temp:Double;
begin
if not DontRefresh then
case channel of
0:
begin
value:=get_channel('color1');
if not DontRefresh then
case value of
0..15: colorbox.itemindex:=0;
16..32: colorbox.itemindex:=1;
33..0: colorbox.itemindex:=2;
48..54: colorbox.itemindex:=3;
55..255: colorbox.itemindex:=4;
82..97: colorbox.itemindex:=5;
98..114: colorbox.itemindex:=6;
115..127: colorbox.itemindex:=7;
end;
end;
3:
begin
value:=get_channel('shutter');
case value of
0..1: shutterbox.itemindex:=0;
2..139:
begin
shutterbox.itemindex:=1;
if not DontRefresh then
shutterslider.position:=value;
end;
140..255:
begin
shutterbox.itemindex:=2;
if not DontRefresh then
shutterslider.position:=value-116;
end;
end;
end;

2:
begin
value:=get_channel('gobo1');
case value of
0..0: GOBOBOX.itemindex:=0;
37..73: GOBOBOX.itemindex:=1;
74..110: GOBOBOX.itemindex:=2;
111..147: GOBOBOX.itemindex:=3;
148..184: GOBOBOX.itemindex:=4;
185..221: GOBOBOX.itemindex:=5;
end;
end;
4:
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;
5:
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;
6:
begin
value:=get_channel('gobo2');
case value of
0..34: gobobox2.itemindex:=0;
35..71: gobobox2.itemindex:=1;
72..108: gobobox2.itemindex:=2;
109..144: gobobox2.itemindex:=3;
145..181: gobobox2.itemindex:=4;
182..217: gobobox2.itemindex:=5;
218..254: gobobox2.itemindex:=6;
217..255: gobobox2.itemindex:=7;
end;
end;
end;
DontRefresh:=false;
end;


Ich bin für jeder Hilfe Danklbar!!!
Mfg Marxon

Ingo
< PC_DIMMER >
Beiträge: 533
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Clay Paky MiniScan HPE

Beitrag von Ingo » 05.06.2011, 08:37

Hi Marxon!

Was passiert denn, wenn du das

Code: Alles auswählen

if not DontRefresh then
vor das setzt? Und reicht der Wertebereich des Faders aus, um die Werte anzunehmen?

Viele Grüße,
Ingo

Marxon

Re: Clay Paky MiniScan HPE

Beitrag von Marxon » 05.06.2011, 11:48

Hallöle Ingo,

Super dass du versuchst, zu helfen :thumb:
Ich hab schon etliche DontRefresh ausprobiert aber ich versuch es
jetzt mal mit deiner Variante:
------------------
3: begin
value:=get_channel('shutter');
if not DontRefresh then
case value of
0..1: shutterbox.itemindex:=0;
2..139: begin
shutterbox.itemindex:=1;
shutterslider.position:=value;
end;
140..255: begin
shutterbox.itemindex:=2;
if not DontRefresh then
shutterslider.position:=value-116;
end;
end;
end;
------------------------------------
Das erste if not DontRefresh then steht nun vor dem case of.
Zusätzlich habe ich zum Testen das if not DontRefresh then innerhalb des ersten case Falls weggelassen.
Funktioniert leider auch alles nicht.
Der Slider Bereich ist 0-128, er soll ja in der ShutterChange procedur zum aktuellen Kanalwert dazu addiert werden.
0-255 oder 128-255 brachten aber auch nix.
Mittlerweile habe ich auchb mal diese if/then Variante probiert.
Das Ergebniss war genau das selbe -> Dropdowns refreshen, Slider rührt sich nicht. :wall: :wall: :wall:
-------------------------------------------
3: begin
if not dontrefresh then
begin
value:=get_channel('shutter');
if value>=140 then
begin shutterbox.itemindex:=2, shutterslider.position=value-128;
end else if value>=1 then
begin shutterbox.itemindex:=1;
shutterslider.position:=value;
end else if value=0 then
begin shutterbox.itemindex:=0;
end;
end;
end;
------------------------------------------

Viele Grüße
Marxon

EDIT:
Ich bekomme Zweifel, ob wirklich ich das Problem bin.
Nun funktioniert das ColorDropdown nicht mehr richtig, es springt immer wieder zurück sobald ein Farbe > Index 5
ausgewählt wird. Dabei habe ich nichts daran verändert! Und das colorrot Dropdown aktualisiert sich gar nicht mehr.
Selbst in meinem Backup DDFs in denen das alles funzte!?!
Muss man das verstehen :?: So langsam verlier ich die Lust... Dass sich das so lange hinzieht, hätt ich nicht gedacht. Also mit DMX Control erstellte ich ein DDF für den Robe ColorSpot 700 (28 Kanäle) deutlich stressfreier.
Ich gebe die Hoffnung noch nicht auf aber warte lieber erstmal auf Antworten ehe ich hier in meine Tastaur beiße.

mfg
Marxon

Ingo
< PC_DIMMER >
Beiträge: 533
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Clay Paky MiniScan HPE

Beitrag von Ingo » 05.06.2011, 17:24

Hi Marxon,
kannst du vielleicht nochmal eine aktuelle Version deines DDFs hochladen? Mit komplettem Code kann man besser helfen.

Viele Grüße,
Ingo :wink:

Peter
Dimmerkönig
Beiträge: 125
Registriert: 21.01.2011, 01:16

Re: Clay Paky MiniScan HPE

Beitrag von Peter » 06.06.2011, 16:40

Vieleicht könnte ich auch Helfen, wenn ich am Samstag in der Disco bin könnte ich einen Besuch im Keller machen da liegen 18 HPE Scanner, davon könnte ich dann ein DDF erstellen.

Aber das ist noch sicher ob ich da bin, oder hast Du alle Werte? Wie...

Wann Color Rotation
Farben
Gobo Rotation
Gobo Muster
usw. usw.

Gruß
Peter

Marxon

Re: Clay Paky MiniScan HPE

Beitrag von Marxon » 08.06.2011, 20:03

Servus Ingo, Peter und alle anderen!

Danke vielmals, dass ihr mir helfen wollt.
Ich habe mal 3 Versionen meines DDF und die DMX Übersicht hochgeladen.
Vieleicht findet ihr ja den/die Fehler, ich drück euch die Daumen :thumb: .


Mfg
Marxon
Dateianhänge
MiniScan Files.zip
diverse Versionen des DDFs und DMX Übersicht
(137.92 KiB) 70-mal heruntergeladen

Marxon

Re: Clay Paky MiniScan HPE

Beitrag von Marxon » 09.06.2011, 00:36

Schönen guten Abend wiedermals!

Es gibt gute Nachrichten: das DDF funzt nun endlich!
Nach stundenlangem, erfolglosem herumprobieren, entschloss ich mich das DDF nocheinmal komplett neu zuerstellen.
Dies hätte ich vieleicht schon früher tun sollen aber mein Ehrgeiz (und/oder falscher Stolz) war mir scheinbar im Weg.
Was mich jetzt aber immer noch sehr wundert ist, dass ich an den Procedures eigentlich nichts geändert habe... :gruebel2:
Zuerst erstellte ich mit dem DDF Editor das Grundgerüst, also Kanäle, Farben und Gobos
und lies mir die GUI automatisch erstellen.
Anschließend fügte ich mittels Texteditor die fehlenden Slider bzw. Dropdownboxen ein und löschte die überflüssigen Labels.
Danach passte ich die Procedures an, indem ich sie mir einfach aus meinen alten DDFs herauskopierte.
Zuletzt noch einmal in den DDF Editor geladen um die Elemente zu positionieren, gespeichert, fertig.
Nun funktioniert der ganze Sch**ß endlich :D :D :D
Keine Fehlermeldungen, korrektes Verhalten der Kanäle und tadellose Refreshen der Oberfläche.
Waum und wieso das vorher einfach nicht funzen wollte ist mir ein Rätsel.

Hier nun endlich das fertige DDF.
Viel Spaß damit!
Werd mich gleich über das DDF für den Robe Color Spot 700 machen.

MFG
Marxon
Dateianhänge
MiniScan HPE.zip
(34.45 KiB) 68-mal heruntergeladen

Antworten