Autozoom plugin
Naostage has developed a GrandMA2 plugin to automatically control the zoom of a moving head to that the beam size will be constant on a moving stage marker.
Download
You can download the files needed here.
Installation
-
Download the files
auto-zoom.lua
andauto-zoom.xml
and put them in theplugins
folder of GrandMA2 : - UsuallyC:\Program Files (x86)\grandma2\plugins
orC:\ProgramData\MA Lighting Technologies\grandma\gma2_V_3.9.60\plugins
on Windows. - In your USB keygma2/plugins
. -
Load the plugin in your show file : - Open the plugin pool (Create Basic Window -> System -> Plugin).
- Right click where you want to add the plugin.
- An "Edit Plugin" window will show up. Click on the "Import" button.
- On the "Import Plugins" window, select the
auto-zoom.xml
file and click on the "Import" button.- You can optionally select
Execute On Load
so that the plugin automatically starts when you load the show file. -
Next we want to create a couple of macro to control the execution of the plugin : -
LUA "AZ.Enable()"
This will enable the plugin and make it run. -LUA "AZ.Disable()"
This will disable the plugin and stop it from running. -LUA "AZ.ShowEnabled()"
This will show a message in the console if the plugin is enabled or not. -LUA "AZ.SetMode('Programmer')"
This will set the plugin toProgrammer
mode. -LUA "AZ.SetMode('Executor')"
This will set the plugin toExecutor
mode. -LUA "AZ.ShowMode()"
This will show a message in the console if the plugin is inProgrammer
orExecutor
mode. -LUA "AZ.Refresh()"
This will refresh the plugin. This is useful if you change fixture type properties or fixture info.
Usage
Enable / Disable the plugin
To enable the plugin, run the macro containing LUA "AZ.Enable()"
.
To disable the plugin, run the macro containing LUA "AZ.Disable()"
.
This can also be controlled with user variable AUTO_ZOOM_PLUGIN_ENABLED
(0 = disabled, 1 = enabled).
If Execute On Load
is enabled, the plugin will automatically start when you load the show file.
Prepare fixture
-
Import the fixture type in your show file you want to use, then enable XYZ mode with
Enable XYZ
button. -
Then edit the fixture type with the
Edit
button and edit the Pan channel by selecting it and clicking on theEdit Row
button. Make sure that the valuesFrom
,To
,From Phys
andTo Phys
of thePan
andTilt
attributes are corresponding to the real values given by the fixture manufacturer. You need to change theses values if it is not the case, you would be surprise how much fixture types are wrong. In the case below, the Pan movement of the BMFL Spot is given at 540° by the manufacturer. 540° / 2 = 270°, the valuesFrom -270.00 To 270.00
andFrom Phys -270.00 To Phys 270.00
are therefore correct. -
Do the same for the tilt value.
-
Next jump to the Zoom channel and set
From/To
to 0 -> 100. AndFromPhys/ToPhys
to values given by the the manufacturer (the values can be inverted (100 -> 0)). -
If you use iris to create a smaller beam when zoom if not enough, do the same for the iris.
That is all that is required, all this steps can be repeated if you have multiple fixture type that you need to use for XYZ tracking.
Setup Stage Marker, PSN and fixture
To setup everything for a followspot application, please follow the followspot application tutorial before coming back to this tutorial.
Programmer mode
Programmer mode is the easiest mode to use as it doesn't require any programming. You should only use this mode for testing purpose, it can be a good idea to test your setup before using executor mode.
- Call your macro with
LUA "AZ.SetMode('Programmer')"
to enable this mode. - Call in a plugin
LUA "AZ.EnableFixture(<fixture>, <stage marker>, <beam size>)"
.<fixture>
can be the ID of the fixture or the label<stage marker>
can be the ID of the fixture or the label-
<beam size>
is the value of the beam in metersFor example
LUA "AZ.EnableFixture(1, 1001, 2)"
will enable XYZ tracking forFixture 1
on Stage MarkerFixture 1001
with a beam size of 2 meters.
- You can disable fixture tracking with
LUA "AZ.DisableFixture(<fixture>)"
Executor mode
Once you made sure you that everything works, you can move to executor mode which have additional requirement.
- Call your macro with
LUA "AZ.SetMode('Executor')"
to enable this mode. - You can still enable/disable fixture like in Programmer mode.
You will need to create 2 sequences per fixture, assigned on fader. The label of the sequence are important.
XYZ_ZOOM_<fixture id>
: A sequence with Temp fader with zoom wide stored. If you fixture id is 1, then sequence name isXYZ_ZOOM_1
.XYZ_IRIS_<fixture id>
: A sequence with Temp fader with iris open stored. If you fixture id is 1, then sequence name isXYZ_IRIS_1
.
Then for each pair fixture/marker you need to create a base sequence XYZ_<fixture id>_<stage marker id>
with:
- STAGEX at 0
- STAGEY at 0
- STAGEZ at 0 (or the offset you need)
- MARK to the stage marker
- ZOOM narrow
- IRIS close (or the minimum iris you want to use)
For example for fixture 1 and stage marker 1001, the sequence will be named XYZ_1_1001
.
The plugin will then call the appropriate base sequence when you LUA "AZ.EnableFixture(fixture, marker, beam size)"
and control zoom and iris temp fader to make the beam size matching your desired value.