Posts by Haypro

BECOME PART OF THE COMMUNITY - Sign up here

    Hi guys,


    as the title says it, I'm wondering if manual actions in the phaser editor can be done using command line commands.

    most macro's and lua's I currently created, were done by checking the commandline window output when doing manual actions, but the phaser editor is a bit more mysterious :)


    For example, I was thinking to create a script that creates standard circle, pan and tilt movements.. it's done easy by hand in the phaser editor, but scripts can be more timesaving.

    In this case, regarding movements, I was searching if commands (or lua code lines) exists to:

    • set either 2 relative points (using for example one "size" value as input for that script), or set 2 absolute points based on 2 position presets
    • clicking the mirror button to make the left part move mirrored, comparing to the right part of all selected fixtures
    • be sure the circle movement is round by setting the correct "size" and "aspect" values by commands

    Hi Guys,


    This thread helped me a lot LUA: UI

    currently I'm created some screens using that code, but there is one thing I'm currently looking for.


    on creating custom buttons like this:

    Code
    tblOptions[x] = optionsGrid:Append("Button")
    tblOptions[x].Text = "Text displayed on the button"


    actions are linked to that button using:

    Code
    tblOptions[x].PluginComponent = myHandle
    tblOptions[x].Clicked = "SelectionAttributeClick";

    finally, I catch that click action using:

    Code
    signalTable.SelectionAttributeClick = function(caller)
        local button_text = caller.Text;
    end


    In this example, caller.Text will return the value of that button, which is "Text displayed on the button"


    mostly, it worked well for me, but I'm wondering if we can check which properties are also available to set for (in this example) a custom button? With properties, I mean like those in my example code: Text, PluginComponent, Clicked , ..


    The goal I want to reach is to check if I can store extra information within that button object, which can be collected when I press that button.. like for example some ID's, or other info.


    this code is not working, but I try to do something like:

    Code
    tblOptions[x].Metadata = 'Group1'

    so when I click that button, I can retreive that Metadata information like

    Code
    signalTable.SelectionAttributeClick = function(caller)
        local group_name = caller.Metadata;
    end

    Hi guys,


    when doing


    export preset 4.1 "exported_preset"


    a file will be created in


    MALightingTechnology/gma3_library/datapools/presets , called exported_preset.xml


    this is the folder on my macbook, but on the console, this path is different.


    for LUA programming, I want to read that exported file as an input file for my script, how can I be sure to have the correct path? Does gma3 have a path variable for this?

    Hi guys,


    I'm currently creating some plugins, who will be shared later.

    Just for maintenance and support, I'm wondering how lua can be encrypted, and still be executed when pasting that encrypted text in the plugins pool

    Just wondering how to set values in the Cmd value of a cue.

    Created this sequence using:

    Store Sequence 99 Cue 1

    Select Sequence 99

    Label Cue 1 "on"


    but then I'm stuck in finding how to set some command value in Cmd using commandline (LUA)



    for a macro step, I used this:

    Cmd('Store Macro ' .. macroNo .. '.1 "" Command \'SetUserVar "testing" "value" \'');

    but this is not working on cues.

    I was able to update CmdDelay using Set Cue 1 CmdDelay 5 for example, but wondering which keyword is needed to update the Cmd value in a cue

    Hi Guys,


    I have a question about labeling objects in layout view


    for any kind of objects, like for sequences, presets, .. names are as unique as the ID's, which has a lot of advantages.

    When creating sequences from presets, to assign in layout views, these sequences must have a unique name.. but for example, I use some keywords more then once, like "open" for an open gobo, open dimmer, open color, ..


    Moving on.. , you can hide the object name, and set a custom text, but this will always appear above the object, I see "text vertical" is grayed out.. just wondering when this is not grayed out?, and if it's possible to have an option where that custom text can be set within the object, instead of above it.. so I'm not depending on the object name for labeling within the object


    indeed, I experience the same situation, as described above


    also.. I did this in blindedit on MA2, to avoid my programmer to be cleared (when something is in it) when pressing a macro which updates my general preset like described above. Will this blindedit function be available again in ma3 ?

    Hi all,


    On MA2 I created a lot of sequences having presets linked, which were updated during show using macro's.


    When doing the same on MA3, the running sequence pauses at the point when I update a linked preset.

    This is both when the preset is recorded in a cue, or when the preset is linked as a recipe.

    The sequence runs again when I turn it off and on (toggle), or when selecting the preset and hit the Go+ hardbutton.


    Is this a known behaviour?

    Hi all,


    I'm wondering if the programmer gets some data by selecting fixtures, and some of their presets, is it possible to read that programmer data using LUA?

    Could not find any info in how to read programmer information using LUA.

    Trying to loop over all (patched) fixtures.

    I found the info I needed in ShowData/LivePatch/IDTypes/Fixture

    using commandline, I could navigate to that location like

    Code
    cd ShowData
    cd LivePatch
    cd IDTypes
    cd Fixture

    when doing List , I have the list I need.


    I tried to loop this list using LUA like:

    Code
    local allFixtures = ShowData().LivePatch.IDTypes.Fixture:Children();
    for allFixture in ipairs(allFixtures) do
        Printf(allFixtures[allFixture].no)
    end

    But no results or no error.


    By thinking Fixture is a reserved word, I also tried local allFixtures = ShowData().LivePatch.IDTypes["Fixture"]:Children(); , but no luck


    anyone any idea how to loop over this list correctly? thank you

    How is the presets created in the first place?

    Presets are created by selecting the fixture, selecting an attribute, put it on a value, and store as preset. It's about one preset holding one value.

    So if I create presets holding a gobo, then that one preset holds only that specific gobo, no other values.


    What could possibly be feasible would be to simultaneously create presets and linked corresponding appearances

    (both based on same channelsets/wheeldata )

    That is indeed the idea, I create the appearance together with the preset (It's all done in LUA, I have that information as described above), because then I have those values from wheeldata and channelsets like you mention.

    I'm wondering how to create an image in the images pool, holding the "image" of that specific gobo, so how to link those (gobo) images in an image pool.. using the info I described in my first post.

    When creating presets, for example gobo presets, mostly the gobo "image" is visible in the stored preset.

    I try to get that image as an appearance on some sequences having that gobo, but not sure how to get that done.


    Using LUA I got to a point where I have the wheel values.

    For example, for fixture alpha Spot QWO 800 standard mode, for a specific gobo on the first gobowheel, I could get information as:

    • name: [00590106_png]
    • folder: "Clay Paky"
    • FileName "00590106.png"
    • wheel: GoboWheel1
    • wheelslotindex: 9

    I wonder how I can create an apperance having that gobo image, linked to that preset, so in my next steps I can get that appearance name linked to sequences.

    Probably I first need an image created.. but after some tryouts in getting that image created, I'll just leave the question here :) maybe someone knows how this works?

    Thank you for that idea, it is some solution, but here I need to click the "Run All" macro 3 times to execute everything, when it's set to "Go"


    in my MA2 scripts, I could use conditional expressions like described here: https://help2.malighting.com/P…o_create_condition/en/3.9

    but it's not working when I tested it.


    Also found this info: https://help2.malighting.com/P…dMA3/keyword_endif/en/1.6

    but as how I checked this out, it's not possible to check for variable values? Or maybe I'm doing something wrong in the syntax.. like:


    this will output:


    I guess it it trying to fix this by copying lines from those macro's into one new macro, and execute that in one shot. I try not to edit wait times to 0.2 or 0.5 , because more macro's will be added, and it needs to be executed as fast as possible

    For a test, I have created some macros named "Macro1", "Macro2", "Macro3" who are executed when clicking, but I also have one seperate macro "ExecuteAll" who needs to execute those 3 macro's





    next to this macro, another macro is created to execute both 3 macro's



    When checking command line history, it looks like not all lines are executed of each macro


    This triggered me in 2 questions:

    - thinking of working with uservar parameters in a last line of each macro to trigger the next macro when that uservar parameter has a specific value, is that possible?.. so like in macro "Macro1" will the last line be a command to trigger macro "Macro2", but it will only trigger "Macro2" if a specific value is set in some uservars variable.. so macro "Macro1" is still executable as one macro, when that uservar has no value.

    - or is their another way of succesfully executing multiple macro's in serial, without setting any waiting times, and with confidence that all lines in those macro's are executed