44 appendix. proglet scripting, 1 introduction, 1 buddying/subgroup properties – LSC Lighting CLARITY LX Series v.1 User Manual
Page 260: 2 other properties, 3 channel ids

Appendix
Clarity
Operator Manual
Page 250
44 Appendix. Proglet Scripting
44.1 INTRODUCTION
Clarity’s scripting feature (Proglets) is a very powerful and very advanced feature of Clarity and
is thus intended as a power-user feature. The scripts allow the creation of very easy to use
Proglet functions with dedicated simple Graphical User Interfaces, but writing proglets is not an
easy task.
Clarity’s scripting feature uses Qt Script which is based on the ECMAScript standard defined in
basis of the well-known JavaScript language. Many tutorials exist online such as
Clarity’s scripting feature are detailed at the end of this appendix.
When you have installed and run Clarity 2.2, all the built-in scripts will be unpacked into the
Clarity/programmerscripts directory and they serve as good examples upon which to base your
scripts.
44.2 API (APPLICATION PROGRAMMING INTERFACE) PROPERTIES
These properties operate like values in a script, they can be read from and in some cases written
to. For example:
blocking = 2
for (int i=0; i<numSelected; ++i)
…
44.2.1 Buddying/Subgroup properties
One of the design goals was to allow Proglets to operate independently of the programmer and
not change the programmer’s state in any way. To this end there are separate buddying and
subgroup functions that affect how the Proglet applies values as well as functions that directly
control the programmer’s sort window buddying and grouping. If the local properties are explicitly
assigned then they are used, otherwise the sort control’s values are used instead. These are the
relevant properties (first one refers to the sort controls, second to the API’s local value):
buddying / blocking (read/write)
subgroups / repeat (read/write)
groupBy / repeatSize (read/write)
44.2.2 Other properties
numSelected
Returns the number of currently selected fixtures, respective prev/next, buddying and
subgroups.
atStart
Returns TRUE if stepping and on the first fixture.
atEnd
Returns TRUE if stepping and on the last fixture.
44.2.3 Channel IDs
Some functions require one or more Channel Ids. These are typically the name you see above a
fixture’s channel in the main programmer window. For example: