File: vcxypad.html

package info (click to toggle)
qlcplus 4.14.1-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 58,364 kB
  • sloc: cpp: 182,424; javascript: 7,665; xml: 2,422; ansic: 2,120; sh: 1,671; python: 634; ruby: 606; makefile: 23
file content (405 lines) | stat: -rw-r--r-- 15,241 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Q Light Controller Plus - Virtual Console XY Pad</TITLE>
<SCRIPT SRC="utility.js" TYPE="text/javascript"></SCRIPT>
<link href="style.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY onLoad="replaceqrc()">

<H1><IMG SRC="qrc:/xypad.png" ALIGN="absmiddle"> Virtual Console XY Pad</H1>

<P>
XY Pad is a Virtual Console widget dedicated to fixtures positioning.<br>
It can handle the typical DMX movement channels (<B>pan</B> and <B>tilt</B>)
of intelligent lighting fixtures, namely scanners and moving heads.<br>
The pad is a resizable area, surrounded by several controls to cover the
needs you might have during a live show.<br>
It is displayed as following:<br>

<IMG SRC="../images/xypad.png" />

<H3>Widget elements</H3>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD><B>(1) Range sliders</B></TD>
  <TD>These sliders limit the working area. (7)</TD>
 </TR>
 <TR>
  <TD><B>(2) XY Pad name</B></TD>
  <TD>The name can be changed in properties, see below.</TD>
 </TR>
 <TR>
  <TD><B>(3) DMX Coordinates</B></TD>
  <TD>This part displays current DMX coordinates in format (Pan course.Pan fine : Tilt course.Tilt fine).</TD>
 </TR>
 <TR>
  <TD><B>(4) Horizontal and vertical angle</B></TD>
  <TD>
    If the fixtures controlled have proper pan and tilt range filled in in their definitions, and the range is same for all fixtures,
    then this text will show the angle calculated from DMX coordinates.<BR />
    0&deg; is in the middle of the range (DMX value 127.127). For example, if pan range for a fixture is 540&deg;,
    the displayed angle will be between -270&deg; and 270&deg;.<BR />
    Note: this may not work properly, when a fixture has limited axis range in configuration, or reversed axis.
  </TD>
 </TR>
 <TR>
  <TD><B>(5) Value sliders</B></TD>
  <TD>These sliders can be used to change value of the X/Y axes.</TD>
 </TR>
 <TR>
  <TD><B>(6) Handle</B></TD>
  <TD>The blue point is the handle. You can move it either with the mouse, with the keyboard or an external controller.</TD>
 </TR>
 <TR>
  <TD><B>(7) Working area</B></TD>
  <TD>This is the area that limits the possible positions. It can be equal or a portion of (8)</TD>
 </TR>
 <TR>
  <TD><B>(8) Main area</B></TD>
  <TD>This is the area representing all the possible X/Y positions.</TD>
 </TR>
 <TR>
  <TD><B>(9) Presets</B></TD>
  <TD>This is the area showing the preset buttons, if available.</TD>
 </TR>
</TABLE>

<H3>Limiting the working area</H3>

<P>
The XY Pad is basically a map of the whole range of degrees that the pan and tilt channels of your fixtures can manage.<br>
Here's a picture representing how the main area normally represents degrees:<br>
<IMG SRC="../images/xypad2.png" />
<BR>
There are cases though where you want to limit the degrees a moving head or a scanner could reach.<br>
For example fixtures with a 540&deg; Pan range, should be limited to work only in a range facing the audience,
or you might want to avoid that moving heads mounted upside down on a truss will point to the ceiling or outside the stage.<br>
With the XY Pad, there are 2 ways to achieve this:
</P>

<B>1. Working window</B>
<P>
With the top and left range sliders <B>(1)</B>, it is possible to limit the area where the XY Pad will work.<br>
When reducing the range of those sliders, a semi transparent green area <B>(7)</B> will be highlighted on top of the main area,
to mark the X/Y limits where your fixtures should operate.<br>
Note that when using a mouse on the user interface, the movement of the handles will be limited to the working window,
even if you drag the cursor outside of it, while when using an external controller all the values will be scaled to the window,
so you will be able to use the full range of a physical fader, thus having more sensitivity when setting a position.
</P>

<B>2. Individual fixture range</B>
<P>
It is possible to set a specific range for each fixture in the properties dialog (see the <B>Configuration</B> paragraph).
With this method, the whole main area <B>(8)</B> is used and every specified range of each fixture is scaled onto it.<br>
This come very handy when you want to use a XY Pad with mixed fixtures, with different ranges of degrees.<br>
</P>
<P>For example you can make a 540&deg; degrees Pan to move exactly like a 360&deg; degrees Pan.</P>

<P>Another example: set fixture X Axis (Pan) minimum to 20% (DMX value 51), maximum to 80% (DMX value 204).
When the handle is at the left edge (value 0), the actual DMX output is 51. Similarly, handle at the right
edge will output 204 (=80%). For values in between, the DMX output is scaled proportionally.</P>

<P>It is possible to have both limits enabled (using the range sliders and limits per fixtures).<P>

<H3>XY Pad usages</H3>
<P>
The XY Pad allows 3 completely different usages, but all targeted to positioning. It's up to you to
decide the best use of them depending on your needs. You also might want to consider the usage
of multiple XY Pads with different purposes.<br>
<UL>
 <LI><B>1- Absolute positioning</B>: this is the basic usage and it requires only to specify which fixtures you
 intend to control (added via Configuration window) and eventually their specific range of operation.<BR>
 As previosuly described all you need to do is to setup your fixtures once and start moving them with your
 favourite controller.<BR>
 It is also possible to define some position presets, so a number of buttons will be displayed in <B>(9)</B> to
 quickly recall an absolute position.<br>
 If a Fixture Group preset is activated, the XY Pad will control the absolute positions only of the
 Fixtures defined in the preset. (see Presets tab for more info)
 </LI>
 <br>
 <LI><B>2- EFX</B>: In the Configuration window (Presets tab), it is possible to add some presets to recall
 existing <IMG SRC="qrc:/efx.png" ALIGN="absmiddle"> <A HREF="concept.html#EFX">EFX</A> functions.
 When activating a EFX preset, the animated preview of the fixtures movements will be displayed like this:<br>
 <IMG SRC="../images/xypad-efx.png" /><br>
 If no working window is set, the EFX will be be displayed exactly like it is previewed in the
 <A HREF="efxeditor.html">EFX Editor</A>. Otherwise, the EFX will be scaled to fit the
 defined working window.<br>
 If a working window is active, it will be shared between usage #1 and usage #2.
 </LI>
 <br>
 <LI><B>3- Relative to a Scene</B>: In the Configuration window (Presets tab), it is also possible to add
 some presets to recall existing <IMG SRC="qrc:/scene.png" ALIGN="absmiddle"> <A HREF="concept.html#Scene">Scene</A> functions<br>
 XY Pad will detect which Pan/Tilt channels are present in the Scene and set them.<br>
 The Pad handle <B>(6)</B> will automatically position itself to the center of the main area <B>(8)</B>.
 Moving the handle, will produce relative values from the center of the Pad, that will be added/subtracted to the
 DMX values of the running Scene.<br>
 Moving up will add a negative offset to Tilt channels and moving down will add a positive offset.<br>
 Moving left will add a negative offset to Pan channels and moving right will add a positive offset.<br>
 When activating a Scene preset, is a working window is active, it will be hidden, as there's no absolute values
 involved in this usage. When switching back to usage #1 or #2, the working window will be restored.<br>
 Please note that when a Scene preset is activated, the whole Scene will be actually started, with colors and
 everything. It is suggested in this case to create Scenes only with Pan/Tilt channels enabled, not to involve
 a XY Pad in other matters.
</UL>
</P>

<H3>Keyboard control</H3>

<P>It is possible to control head position with arrow keys on the keyboard. Each keypress increases/decreases coarse value by 1.
With Shift key pressed, fine channel is changed by 1. With Ctrl, the step is 10 instead of 1.
</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD><B>Arrow keys</B></TD>
  <TD>Coarse</TD>
  <TD>step=1
  </TD>
 </TR>
 <TR>
  <TD><B>Shift + Arrow keys</B></TD>
  <TD>Fine</TD>
  <TD>step=1</TD>
 </TR>
 <TR>
  <TD><B>Ctrl + Arrow keys</B></TD>
  <TD>Coarse</TD>
  <TD>step=10</TD>
 </TR>
 <TR>
  <TD><B>Shift + Ctrl + Arrow keys</B></TD>
  <TD>Fine</TD>
  <TD>step=10</TD>
 </TR>
</TABLE>

<H3>Configuration</H3>

<P>
XY Pads can be configured with the properties <IMG SRC="qrc:/edit.png" ALIGN="absmiddle"> button found in the toolbar or
by double clicking on the XY pad itself.
</P>

<B>1. General tab</B>

<P>Here you can set the basic XY Pad behaviour as well as the external input controls.<BR>
<b>Hint:</b> When assigning a XY pad from Touch OSC, you need to click the
   "Tilt / Vertical axis" auto detect button, otherwise the X and Y axes will be swapped.
</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD><B>XY Pad name</B></TD>
  <TD>
   Set the name of the XY Pad. The name <B>(2)</B> is shown in the upper left hand corner of the
   widget on Virtual Console.
  </TD>
 </TR>
 <TR>
  <TD><B>Y-Axis slider movement</B></TD>
  <TD>
   The behaviour of the vertical slider (the Y-Axis control) can be set to <b>Normal</b> or <b>Inverted</b>.<br>
   In the first case the maximum value will be reached at the bottom of the pad,
   while in the second case it will be reached at the top.
  </TD>
 </TR>
 <TR>
  <TD><B>Pan / Horizontal Axis</B></TD>
  <TD>
   Allow to select an external input to control the horizontal slider displayed at the bottom of the widget.
   When activating a EFX preset, this input will control the X position of the working window, so the X position
   of the EFX.
  </TD>
 </TR>
 <TR>
  <TD><B>Tilt / Vertical Axis</B></TD>
  <TD>
   Allow to select an external input to control the vertical slider displayed at the right side of the widget.
   When activating a EFX preset, this input will control the Y position of the working window, so the Y position
   of the EFX.
  </TD>
 </TR>
 <TR>
  <TD><B>Width</B></TD>
  <TD>
   Allow to select an external input to control the width of the working window.
   This has no effect in usage #1 and #3
  </TD>
 </TR>
 <TR>
  <TD><B>Height</B></TD>
  <TD>
   Allow to select an external input to control the height of the working window.
   This has no effect in usage #1 and #3
  </TD>
 </TR>
</TABLE>

<BR>

<B>2. Fixtures tab</B>

<P>Here you can add/remove the fixtures that the XY Pad will control in usage #1.</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD>
   <B>Fixtures list</B>
  </TD>
  <TD>
   Shows the fixtures that are currently controlled by the XY Pad.
   <UL>
    <LI><B>Fixture</B>: The names of each fixture</LI>
    <LI><B>X-Axis</B>: Shows the value range (and reversal if applicable) of the
    horizontal (Pan) axis for each fixture</LI>
    <LI><B>Y-Axis</B>: Shows the value range (and reversal if applicable) of the
    vertical (Tilt) axis for each fixture</LI>
   </UL>
  </TD>
 </TR>
 <TR>
  <TD>
   <IMG SRC="qrc:/edit_add.png">
  </TD>
  <TD>
   Add <A HREF="concept.html#Fixture">Fixtures</A> to be controlled by the XY Pad,
   using the <A HREF="selectfixture.html">Select Fixture</A> dialog.<br>
   <B>NOTE</B>: Only those fixtures that have <U>Pan and Tilt</U> channels are shown in the
   dialog.
  </TD>
 </TR>
 <TR>
  <TD>
   <IMG SRC="qrc:/edit_remove.png">
  </TD>
  <TD>
   Remove the selected fixtures from the XY Pad's control list.
  </TD>
 </TR>
 <TR>
  <TD>
   <IMG SRC="qrc:/edit.png">
  </TD>
  <TD>
   Edit the selected fixture's behaviour as controlled by the XY Pad.
  </TD>
 </TR>
</TABLE>

<br>
<B><IMG SRC="qrc:/edit.png" ALIGN="absmiddle"> 2.1 Fixture movement configuration</B>

<P>
You can change the extent of movement and reverse fixtures' movement with the
XY Pad Fixture Configuration dialog.
</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD>
   <B>Horizontal X-Axis</B>
  </TD>
  <TD>
   <UL>
    <LI><B>Minimum</B>: Set the minimum pan limit for the fixture</LI>
    <LI><B>Maximum</B>: Set the maximum pan limit for the fixture</LI>
    <LI><B>Reverse</B>: Reverse fixture's movement on the horizontal (pan) axis</LI>
   </UL>
  </TD>
 </TR>
 <TR>
  <TD>
   <B>Vertical Y-Axis</B>
  </TD>
  <TD>
   <UL>
    <LI><B>Minimum</B>: Set the minimum tilt limit for the fixture</LI>
    <LI><B>Maximum</B>: Set the maximum tilt limit for the fixture</LI>
    <LI><B>Reverse</B>: Reverse fixture's movement on the vertical (tilt) axis</LI>
   </UL>
  </TD>
 </TR>
</TABLE>

<BR>

<B>3. Presets tab</B>

<P>Here you can add/remove presets to the XY Pad. Each preset is displayed as a button
in the lower part of the XY Pad widget. EFX nad Scenes presets can be toggled, to start/stop
a function, Fixture Groups presets can be toggled to activate/deactivate a Fxiture group,
while Position presets can be clicked just once</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD><B>Presets list</B></TD>
  <TD>Show the list of the presets currently added to the XY Pad</TD>
 </TR>
 <TR>
  <TD><IMG SRC="qrc:/xypad.png" ALIGN="absmiddle"> Add position</TD>
  <TD>
   When clicking on this button, a new position preset is created and added to the XY Pad.
   By default the preset name are the X/Y coordinates at the moment of the creation
  </TD>
 </TR>
 <TR>
  <TD><IMG SRC="qrc:/efx.png" ALIGN="absmiddle"> Add EFX</TD>
  <TD>
   When clicking on this button, the <A HREF="selectfunction.html">Select Function</A>
   dialog is displayed, allowing you to choose an existing EFX from your workspace.<br>
   When done, a new EFX preset is created and added to the XY Pad.
   By default the preset name is the EFX name
  </TD>
 </TR>
 <TR>
  <TD><IMG SRC="qrc:/scene.png" ALIGN="absmiddle"> Add Scene</TD>
  <TD>
   When clicking on this button, the <A HREF="selectfunction.html">Select Function</A>
   dialog is displayed, allowing you to choose an existing Scene from your workspace.<br>
   When done, a new Scene preset is created and added to the XY Pad.
   By default the preset name is the Scene name.<br>
   Note that if the selected Scene doesn't have any Pan or Tilt channels, an error
   is displayed and no preset is created.
  </TD>
 </TR>
 <TR>
  <TD><IMG SRC="qrc:/group.png" ALIGN="absmiddle"> Add Fixture Group</TD>
  <TD>
  When clicking on this button, the <A HREF="selectfixture.html">Select Fixture</A> dialog
  is displayed, allowing you to create a group of Fixtures as a subgroup of the Fixtures
  the XY Pad is controlling (defined in the Fixtures tab)<br>
  When clicking on a Fixture Group preset in Operate mode, the XY Pad will control only
  the Fixture positions of the activated Fixture Group.<br>
  <b>Note</b>: A Fixture Group preset has no effect on EFX and Scene presets.
  </TD>
 </TR>
 <TR>
  <TD><IMG SRC="qrc:/edit_remove.png" ALIGN="absmiddle"> Remove</TD>
  <TD>
   Removes the currently selected preset
  </TD>
 </TR>
 <TR>
  <TD>Preset name</TD>
  <TD>
   Allows to enter an arbitrary name for the currently selected preset
  </TD>
 </TR>
 <TR>
  <TD>External input</TD>
  <TD>
   Allows to select an external input control for the currently selected preset
  </TD>
 </TR>
 <TR>
  <TD>Key combination</TD>
  <TD>
   Allows to select a keyboard combination for the currently selected preset
  </TD>
 </TR>
</TABLE>

</BODY>
</HTML>