Difference between revisions of "Escript"
From Tomelec
m (Created page with "{| class="wikitable" |+ Befehle, die wirklich funktionieren |- ! scope="col" | Funktion ! scope="col" | Beschreibung ! scope="col" | Bemerkung |- ! scope="row" | int proSelectOut...") |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | ''ecue'' hat für den ''Programmer'' der ''Lightin Application Suite (LAS)'' eine eigene Skriptsprache, das ''e:script'' eingeführt. Damit lassen sich unter anderem Abläufe im ''Programmer'' automatisieren. Der Syntax ist an C angelehnt, als Datentypen stehen ''String'' und ''Integer'' zur Verfügung. Die Dokumentation ist leider etwas verwirrend, weshalb ich hier diverse Informationen dazu zusammenstelle. | ||
| + | |||
| + | ''e:script'' ist nur in der kostenpflichtigen ''Elements-'' und ''Enterprise-''Version des ''Programmers'' verfügbar, welche durch einen Dongle freigeschalten werden. | ||
| + | |||
| + | |||
| + | == Befehle == | ||
| + | Ein kleiner Auszug aus dem Befehlssatz. Alles bereits praxisnah getestet :) | ||
| + | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ Befehle, die wirklich funktionieren | |+ Befehle, die wirklich funktionieren | ||
| Line 6: | Line 14: | ||
! scope="col" | Bemerkung | ! scope="col" | Bemerkung | ||
|- | |- | ||
| − | ! scope="row" | | + | ! scope="row" | proSelectOut(); |
|Wählt alle Kanäle im ''Programmer View'' ab. | |Wählt alle Kanäle im ''Programmer View'' ab. | ||
|- | |- | ||
| − | ! scope="row" | proSelectSingle(int FixtureTypeID, int | + | ! scope="row" | proSelectSingle(int FixtureTypeID, int FixtureID); |
| − | |Wählt | + | |Wählt ein einzelnes Fixture (Gerät) im ''Programmer View'' an. ''FixtureTypeID'' kann mit '''GetFixtureTypeId(str Name)''' abgefragt werden. |
| + | |- | ||
| + | ! scope="row" | SetPosition(int Position); | ||
| + | |Mit ''Position'' ist hier der Stellwert eines Kanals gemeint, nicht Koordinaten. Achtung: 16-bit Wert! 100% = 65535 | ||
| + | |- | ||
| + | ! scope="row" | proLoadValue(int Channel); | ||
| + | |Setzt den Kanal ''Channel'' der angewählten Fixtures auf den mit '''SetPosition()''' gesetzten Wert (Position). | ||
|- | |- | ||
|} | |} | ||
| + | |||
| + | |||
| + | == Beispiele == | ||
| + | * Alle Fixtures eines Types ("Dskch" = Desk Channel) auswählen und auf 100% setzen | ||
| + | <nowiki> | ||
| + | int fix_id, n_fix, i; | ||
| + | |||
| + | fix_id = GetFixtureTypeId("Dskch"); | ||
| + | n_fix = GetFixtureTypeCount(fix_id); | ||
| + | |||
| + | proSelectOut(); //deselect all | ||
| + | |||
| + | for (i = 0; i <= n_fix; i++) { | ||
| + | proSelectSingle(fix_id,i); //selects a fixture | ||
| + | ClearFx(); //maybe important? | ||
| + | SetPosition(65535); //value of a channel | ||
| + | proLoadValue(0); //the channel of a fixture | ||
| + | } | ||
| + | </nowiki> | ||
Latest revision as of 09:55, 22 September 2011
ecue hat für den Programmer der Lightin Application Suite (LAS) eine eigene Skriptsprache, das e:script eingeführt. Damit lassen sich unter anderem Abläufe im Programmer automatisieren. Der Syntax ist an C angelehnt, als Datentypen stehen String und Integer zur Verfügung. Die Dokumentation ist leider etwas verwirrend, weshalb ich hier diverse Informationen dazu zusammenstelle.
e:script ist nur in der kostenpflichtigen Elements- und Enterprise-Version des Programmers verfügbar, welche durch einen Dongle freigeschalten werden.
Befehle
Ein kleiner Auszug aus dem Befehlssatz. Alles bereits praxisnah getestet :)
| Funktion | Beschreibung | Bemerkung |
|---|---|---|
| proSelectOut(); | Wählt alle Kanäle im Programmer View ab. | |
| proSelectSingle(int FixtureTypeID, int FixtureID); | Wählt ein einzelnes Fixture (Gerät) im Programmer View an. FixtureTypeID kann mit GetFixtureTypeId(str Name) abgefragt werden. | |
| SetPosition(int Position); | Mit Position ist hier der Stellwert eines Kanals gemeint, nicht Koordinaten. Achtung: 16-bit Wert! 100% = 65535 | |
| proLoadValue(int Channel); | Setzt den Kanal Channel der angewählten Fixtures auf den mit SetPosition() gesetzten Wert (Position). |
Beispiele
- Alle Fixtures eines Types ("Dskch" = Desk Channel) auswählen und auf 100% setzen
int fix_id, n_fix, i;
fix_id = GetFixtureTypeId("Dskch");
n_fix = GetFixtureTypeCount(fix_id);
proSelectOut(); //deselect all
for (i = 0; i <= n_fix; i++) {
proSelectSingle(fix_id,i); //selects a fixture
ClearFx(); //maybe important?
SetPosition(65535); //value of a channel
proLoadValue(0); //the channel of a fixture
}