L'editor de scripts, com el seu nom indica, s'utilitza per editar Funcions de Script.
Bàsicament consisteix en un editor de text on l'usuari pot escriure un script utilitzant un metallenguatge amb una sintaxi descrita a continuació.
L'script es pot modificar manualment si teniu una comprensió completa de la sintaxi del llenguatge, en cas contrari hi ha disponibles uns quants botons d'ajuda a la part dreta de l'editor per accelerar i facilitar la creació/edició de l'script.
Cada línia d'un script serà executada per QLC+ en un ordre seqüencial.
Activa la sortida i executa l'script per provar la seva execució | |
Nom de l'Script | Canvia el nom de l'Script. |
Quan es faci clic en aquest botó, es mostrarà una finestra emergent on podreu triar el fragment d'script que voleu inserir a la posició actual del cursor a l'editor. Funció d'inici: obre el diàleg de selecció de Funció per seleccionar una funció que s'ha d'iniciar. Aquesta operació afegirà automàticament un comentari al final de la línia de codi, amb el nom QLC+ de la funció seleccionada. Funció d'aturada: obre el diàleg de selecció Funció per seleccionar una funció a aturar. Si en el moment d'executar aquesta línia de codi la funció seleccionada no s'està executant, aquesta instrucció no tindrà cap efecte. Aquesta operació afegirà automàticament un comentari al final de la línia de codi, amb el nom QLC+ de la funció seleccionada. Blackout: Obre el diàleg sol·licitant si s'ha d'activar o desactivar l'apagada. Estableix Fixture: Obre el diàleg de selecció de Canals del Fixture, on podreu triar els canals que voleu controlar amb l'script. Si se seleccionen diversos canals, aquesta operació afegirà una línia de codi per a cada canal seleccionat. Per defecte, el valor DMX generat per aquesta operació serà 0 i s'haurà de canviar manualment amb l'editor de text de l'script. Aquesta operació afegirà automàticament un comentari al final de la línia de codi, amb el nom QLC+ dels fixtures i canals seleccionats. Ordre del sistema: Obre un diàleg de fitxer per a triar el programa/script extern a executar. Tingueu en compte que el fitxer seleccionat ha de ser executable per a ser acceptat. Un cop seleccionat un fitxer, un altre diàleg us demanarà que introduïu els arguments del programa/script. Si no es requereix cap, simplement deixeu el camp buit. Wait: Obre un diàleg demanant el temps d'espera abans que l'script pugui executar la següent instrucció Comentari: Obre un diàleg demanant el text del comentari a inserir a la posició del cursor a l'editor. Un comentari té una aparença d'estil de llenguatge C: comença amb «//» i tot fins al final de la línia es considera un comentari Nombre aleatori: Obre un diàleg que demana l'interval de valors on realitzar una aleatorització d'un nombre. El fragment de codi resultant s'inserirà a la posició actual del cursor de l'editor. Això pot ser útil per a aleatoritzar els valors DMX establerts a través de la paraula clau setfixture. Veure més avall. Camí de fitxer: Obre un diàleg de fitxer per a seleccionar un fitxer. El camí absolut i el nom del fitxer s'introduiran a la posició actual de l'editor. Si un camí conté espais, s'escriurà entre cometes |
|
Retalla el text seleccionat a l'editor per a una enganxada posterior | |
Copia el text seleccionat a l'editor per a una enganxada posterior | |
Enganxa un text prèviament tallat o copiat a la posició del cursor a l'editor | |
Desfés l'última operació realitzada a l'editor | |
Comproveu la sintaxi de l'script. Es mostrarà un missatge emergent indicant si l'script és correcte o els números de línia on s'han trobat errors de sintaxi. |
El metallenguatge de l'script QLC+ es basa en una paraula clau:valor de , amb algunes insercions de les regles de sintaxi del llenguatge C.
Cada línia de codi és analitzada pel motor QLC+ i verificada per detectar la presència d'errors de sintaxi.
Aquí hi ha una taula que descriu cada paraula clau acceptada pel motor Script i la seva sintaxi.
Tipus: paraula clau
Descripció: comença una funció QLC+ amb l'identificador indicat
Sintaxi: startfunction:functionID
functionID
és un nombre enter de l'ID assignat per QLC+ a una Funció.
Atès que els ID no estan exposats als usuaris de QLC+, en aquest cas és convenient utilitzar el botó d'ajuda a la part dreta de l'editor, que també afegeix un comentari amb el nom de la funció.
Eventualment un usuari aprendrà l'ID d'una funció i, per tant, l'utilitzarà per afegir manualment més codi a l'script.
Exemple:
startfunction:2 //Escena verda
Tipus: paraula clau
Descripció: atura una funció QLC+ en execució amb l'identificador indicat
Sintaxi: stopfunction:functionID
functionID
és un nombre enter de l'ID assignat per QLC+ a una Funció. Veure startfunction descripció
Exemple:
stopfunction:0 // Escena blava
Tipus: paraula clau
Descripció: activa o desactiva el blackout,
Sintaxi: blackout:on|off
functionID
és un nombre enter de l'ID assignat per QLC+ a una funció. Vegeu startfunction descripció.
Exemples:
blackout:on
blackout:off
Tipus: paraula clau
Descripció: executeu un programa o un script al camí absolut proporcionat amb els arguments (opcionals) proporcionats.
Sintaxi:systemcommand:programPath arg:arg1 arg:arg2 ... arg:argN
programPath
és el camí absolut d'un programa executable o script. Per exemple /usr/bin/vlc
o C:\\Tools\\myTool.exe
Si el camí a un executable conté espais, s'ha d'escriure entre cometes.
.arg1 ... argN
són els arguments que s'han d'utilitzar en executar programPath. Si no es necessiten arguments, llavors les paraules clau arg: no són necessàries.
Si un argument contanca espais, s'ha d'escriure entre cometes.
Exemples:
systemcommand:/usr/bin/vlc arg:-f arg:/home/usuari/vídeo.mp4 // reprodueix el meu vídeo amb el VLC a pantalla completa
systemcommand:"C:\\Fitxers de programa\\Eines\\My Tool.exe" arg:"D:\\My Files\\My file.txt"
Tipus: paraula clau
Descripció: estableix un canal d'un fixture de QLC+ al valor DMX proporcionat.
Sintaxi: setfixture:fixtureID ch:channelIndex val:DMXValue
:br<
fixtureID
és un nombre enter de l'ID assignat per QLC+ a una funció.
Atès que els ID no estan exposats als usuaris de QLC+, en aquest cas és convenient utilitzar el botó d'ajuda a la part dreta de l'editor, que també afegeix un comentari amb el nom del fixture i del canal.
Eventualment un usuari aprendrà l'ID d'un fixture i l'índex d'un canal i, per tant, els utilitzarà per afegir manualment més codi a l'script.
channelIndex
és un nombre enter que representa el número de canal fixture. Els índexs dels canals comencen des de 0.
DMXValue
és el valor real DMX que s'ha d'establir al canal fixture especificat. Va del 0 al 255
Exemple:
setfixture:0 ch:1 val:135 // RGB genèric, vermell. Estableix el canal vermell d'un fixture RGB genèric al valor DMX 135
Tipus: paraula clau
Descripció: espereu el temps proporcionat abans d'executar la següent línia de codi.
Tingueu en compte que el temps d'espera també es pot assignar a l'atzar, seguint la sintaxi random que es descriu a continuació.
Sintaxi: wait:temps
Eltemps
pot ser un nombre enter de mil·lisegons o una cadena que representa el temps d'espera a la manera QLC+: **h**m**s.**
Exemples:
wait:1800 // espera 1 segon i 800 mil·lisegons
wait:03s.20 // Espera 3 segons i 200 mil·lisegons
Tipus: macro d'ajuda
Descripció: els comentaris es poden inserir en qualsevol posició del codi de l'script i no afecten l'execució de l'script. Normalment s'utilitzen per donar un significat a una línia de codi.
Els comentaris dels scripts QLC+ segueixen la regla de l'estil de llenguatge C de la sintaxi "//". Bàsicament tot el que s'escriu després de "//" es considerarà un comentari fins al final de la línia de codi.
Així que presteu una atenció particular a no escriure codi significatiu després d'una "//" i espereu que s'executi, perquè no ho farà.
Els comentaris es poden afegir al final d'una línia de codi de Script o poden prendre una línia sencera, per exemple per descriure un bloc de codi sencer.
Tipus: macro d'ajuda
Descripció: genera un nombre enter aleatori entre els valors mínims i màxims proporcionats
Sintaxi: random(min,max)
min
és el valor mínim que pot assolir l'aleatorització. Pot ser un nombre enter o una cadena de temps
max
és el valor màxim que pot assolir l'aleatorització. Pot ser un nombre enter o una cadena de temps
Exemples:
wait:random(02s.00,05s.00) // Espera un temps aleatori entre 2 i 5 segons
// estableix el canal 3 del fixture amb ID:1 a un valor DMX aleatori entre 20 i 235
setfixture:1 ch:2 val:random(20,235)