Posts by Andreas


    1. textual representation of numeric values can be found in the global Enums table

    Lua "for key, val in pairs(Enums.ChangeLevel) do Echo(val..'='..key) end"

    2. the primary objective of the Lua API function HookObjectChange appears to be to update/refresh static elements of the GUI that might change occasionally:

    Lua "DumpAllHooks()"

    repetitive calls will just redraw that screen element an extra time (occasionally)

    from my point of view:

    local NotifyIfTouched = HookObjecChange -- meaning:

    -- a callback should be considered as a notice to re-evaluate.

    -- it should be your new evaluation of the object's status that should dictate any actions, not merely the event of being notified .


    I am not on facebook..


    HookDelete is not for removing hooks, but for hooking onto an object being deleted

    if you merely want to remove any hooks you have created, execute the commandline ReloadUI.

    If you want to dynamically add and remove hooks inside a script:

    Unhook (notice case) is a function to remove a specific hook.

    You will need to keep track of the hook's internal index

    local hookindex = HookObjectChange(myfunction, myobject, myplugin)


    UnhookMultiple is a function to remove hooks referencing a specific function and/or object

    HookObjectChange(myfunction, myobject, myplugin)

    UnhookMultiple(myfunction, myobject)

    (the function will return number of hooks removed)

    1: load the "Simple Show" from the demoshow-folder

    2: create equivalents to your wall preset, circle preset and sequence 7 from scratch, using the existing Admin user(profile) and existing Patch

    3a: if you experience the same problem, send a description of the bug + your workflow to get there, to your distributor

    3b: if you don't experience the same problem, send the original problematic showfile to your distributor,

    Using transform directly on/in a Preset will unfortunately partly break the reference when the value is transformed from the preset into the programmer.

    I believe this can be seen in your screenshot "Relative circle preset in programmer"

    - the relative layer pan attribute of half of the fixtures is not referencing the circle preset you just called.


    Maybe this will help:

    select your fixtures

    press Edit Edit (=Editsetting) and then your relative circle preset.

    press "Turn into recipe" and "Take selection" and close editsettings dialog

    your circle preset should now show a yellow recipe pot icon instead of a green matricks dotgrid icon.

    remake your cues.

    By moving the transform instruction from the preset to the preset recipe, the transformation is performed from the recipe to the preset instead of from the preset to the programmer.

    Having matricks directly in presets is great for busking, but for programming cues, I recommend using the matricks as part of a recipe inside the preset or a recipe inside the cuepart.

    nothing wrong with it...

    if your absolute wall preset is supposed to be a static absolute preset:

    A) you shouldn't have two steps in the programmer ("1/2" in the step-selector)

    B) you shouldn't have values in the phaserlayers (purple marker in sheet for pan/tilt)

    if your absolute wall preset is supposed to be a phaser aswell, you cannot edit either of your two different phasers (with a predictable result), while both of them is playing back,

    - Deactivate calculator function (Mod's MA Forum Post)

    Just for the record, activate/deactivate attribute functionality is implemented on gma3, just not via the calculator

    As in gma2, you can double-tap the attribute column in the fixturesheet, to activate/deactivate that attribute.

    or via commandline, repeat the attribute e.g. Attribute "Dimmer" ; Attribute "Dimmer"

    For the scenario described in OP of the thread you are referring to, please consider to adjust workflow, as while the gma2 has a deactivate button, the gma3 has an activate button (On) in the calculator (which gma2 doesn't have):

    the following steps is required on gma2, utilizing the gma2 calculator deactivate button:

    1. Adjust color
    2. Open calculator for Green
    3. Tap "Deactivate" for Green
    4. Open calculator for Blue
    5. Tap "Deactivate" for Blue (repeat steps for remaining emitters if more than RGB)
    6. Store

    To achieve the same on gma3, utilizing the gma3 calculator activate button (On) :

    1. Adjust color
    2. Doubletap the FeatureGroup "Color" button to deactivate Red, Green and Blue (and also other emitters)
    3. Open calculator for Red
    4. Tap "On" (activate) for Red
    5. Store

    - Command line multiplication (MA3 Manual "*" page references it, but maybe is just calling it by it's alternate symbol name)

    on gma3 the asterisk sign "*" is reserved as a wildcard.

    the gma2 functionality of scaling/multiplication via the asterisk e.g.

    At 60

    At *0.5

    -> 30

    At *1.5

    -> 45

    At 12*3

    -> 36

    on gma3 this functionality is implemented via the percent sign "%" e.g.

    At 60

    At %50

    -> 30

    At %150

    -> 45

    At 12%300

    -> 36

    setting the OffCue to TrigType Follow should practically do the same for most scenarios.

    from releasenotes v1.5:

    It is now possible to set the trig type for the OffCue. To be able to do so, wrap around in the sequence settings has to be disabled. The following values can be applied:

    • NoTrigger: The OffCue will only be executed when switching the sequence off manually.
    • Go: When the last cue is active, pressing go again will execute the OffCue
    • Time: The OffCue will be triggered after the defined TrigTime.
    • Follow: The OffCue will be started when the previous cue has finished its transition.
    • Sound: Triggers the OffCue via the sound signal when the last cue is active.
    • BPM: Triggers the OffCue via the BPM signal when the last cue is active.

    and the story doesn't end here. when i double click on the wall preset and single click on the circle preset directly afterwards, the values get stored into my cue as expected.

    but when i double click on the wall preset and double click on the cirlce preset directly afterwards, the values get stored into my cue, but not the pan/tilt value from the absolute wall preset. the relative values from the circle preset seem to equalize it...

    that is so strange!

    This is a feature, not a bug:

    First press (Preset A):

    grandma: Calling a preset without any fixtures selected has no meaning, I guess the user wants me to select the fixtures that can do Preset A

    -> Selfix Preset A

    -> fixtures gets selected

    Second press (Preset A):

    grandma: Fixtures are selected so it make sense to apply values from Preset

    -> At Preset A

    -> values from preset A is merged into programmer

    third press (Preset B):

    grandma: Fixtures are selected so it make sense to apply values from Preset

    -> At Preset B

    -> values from preset B is merged into programmer (Both A and B is in programmer)

    fourth press (Preset B):

    grandma: Fixtures are selected so it make sense to apply values from Preset

    -> At Preset B

    grandma: hey, I already did that, why do you ask me a second time? I guest you want something different, like only B, and nothing else

    -> values from preset B is overwriting into programmer ( knocking out A )

    maybe an approach could be that your windows watchdog instead of starting your regular onPC shortcut, rather starts with a dedicated plugin that determines what to do next, e.g. join an existing session or load the actual showfile:

    "C:\Program Files\MALightingTechnology\gma3_xx\bin\app_system.exe" HOSTTYPE=onPC NOLOAD RUNPLUGIN="mystartup.xml"-1

    Show File Handling - grandMA3 User Manual - Help pages of MA Lighting International GmbH

    you can use the Root() API function to access any part of the data-tree, e.g. Root().MAnetSocket

    your macro 1 has the name "clean cue ", while you try to call it via the name "clean cue"

    -notice the trailing space in actual the name.

    clean cue[whitespace].xml

    Macro "Clean Cue"

    works for me to embed macro in mule. are you sure that you quoted the name, had proper spelling, and din't include any action like Go+, Call or On etc.

    if output at 0 sequence 1 works, if output at 0 sequence 7(or whatever) does not work, if output at 0 if sequnece 1 does not

    If I assume correctly what you want neither of these will works

    maybe rather work on one sequence at a time ( the selected ) and use i.e

    IfOutput At 0

    If IfOutput Cue thru

    - select the fixtures that has output of 0%

    - but only the ones that has output from any cue (of the selected sequence) need to put the conditions in the namefields of the macroline not in the commandfields.

    2. do not use dollar sign when referencing user or global commandline variables inside square or curly brackets. the dollar sign is just to be used when recalling in regular commandline

    the internal logic in mule is like this:

    varname -> does the uservar varname exist then use that , else does the globalvar varname exist then use that, else does lua-expression varname exist then use that

    your line 8 and 9 should look something like this

    8: macrolinename : [counter < amount] macrolinecommand : {goto loopstart}

    9: macrolinename : macrolinecommand : ClearAll

    there should be no need for condition in line 9 as your condition in line 8 jumps bac, thus you will never get to line 9 unless that condition in line 8 is false