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.luaandauto-zoom.xmland put them in thepluginsfolder of GrandMA2 :- Usually
C:\Program Files (x86)\grandma2\pluginsorC:\ProgramData\MA Lighting Technologies\grandma\gma2_V_3.9.60\pluginson Windows. - In your USB key
gma2/plugins.
- Usually
-
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.xmlfile and click on the "Import" button.
- You can optionally select
Execute On Loadso 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 toProgrammermode.LUA "AZ.SetMode('Executor')"This will set the plugin toExecutormode.LUA "AZ.ShowMode()"This will show a message in the console if the plugin is inProgrammerorExecutormode.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 XYZbutton. -
Then edit the fixture type with the
Editbutton and edit the Pan channel by selecting it and clicking on theEdit Rowbutton. Make sure that the valuesFrom,To,From PhysandTo Physof thePanandTiltattributes 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.00andFrom Phys -270.00 To Phys 270.00are therefore correct. -
Do the same for the tilt value.
-
Next jump to the Zoom channel and set
From/Toto 0 -> 100. AndFromPhys/ToPhysto 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 meters
For example
LUA "AZ.EnableFixture(1, 1001, 2)"will enable XYZ tracking forFixture 1on Stage MarkerFixture 1001with 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.











