Posts by Stevegiovanazzi


    Hi Guys,

    I'm try to set a value from the patch to a variable.

    For example get the information of the fixture 1 about the Property "ROTX"

    SetUserVar SG_ROTX Fixture 1 Property ROTX

    But i can't have success i tried in many way.

    And Do you know why i can't do math thru CMD to those property?

    Like if a want add 1 meter to the "POSZ"

    Set Fixture 1 Property POSZ +1

    this will go to the Z +1, will not add the 1 at the POSZ

    Hi Guys,

    I'm tried to make a syntax that will copy all the part I have in a cue to the next cue,

    My problem it's not always the number of the cue it's just one number, like Cue 1 or Cue 2, i have some can be Cue 2.4 etc.

    There is a way to get the Part from the prev Cue whatever is the number and copy them to ne next?

    Right now im do it with 4 line macro

    Copy Part 1 thru


    Paste Part 1 thru

    I Would like to don't do the go+ and go-
    Thank you all for support.

    When you type HelpLua in the command line, it will export all the gMA3 Lua Functions into a text file in your gma3_library folder.

    You can find it’s location in the System Monitor after you type the command.

    It’s a kind of API documentation and might take while to wrap your head around the syntax conventions.

    The best way to understand it would be to look at the descriptions of the functions that you already know :)

    Great , I always look to that file and also to the manual, so now i looking to read somewhere how to find how your logic of those command.

    Everything is base on the Function ROOT()

    In the file there is this : Root(nothing): light_userdata:handle

    In the manual the "Handle" for lua :

    Many functions require a handle as an argument or return a handle.

    The handle is a custom data type called "light_userdata".

    The handle is a unique identifier that refers to a grandMA3 object, for instance, a specific sequence, cue, preset, or fixture.

    From the doc, i understand at least Root(): ShowData.DataPools.Default.Macros due it's write like that I can't see the single dot in the API.
    but we can think it's a rule from Lua language and it's always like this. ok this.

    So correct me to how exactly read this and be independent

    Set(light_userdata:handle, string:property_name, string:property_value[,Enums.ChangeLevel:override change level]): nothing
    Root(nothing): light_userdata:handle

    Root().ShowData.DataPools.Default.Macros [1] : Set ( "Name", "Hello" )
    --the funtion "Root()" follow by the root that I need, then in the [] the number --from the API where i get this Need --i mean the []? 
    --then :  -- are the light_userdata or the handles of the funtion Root()?

    then Set ( "here the first one it's the string of the property name? in the api the first it's light_userdata" , "the string of the value that i want.")

    The only thing i can't see it's why there are the \\ in the

    MacroObject[ MacroNumber ][ 1 ]:Set( "Command", "Label Sequence 1 \"Hello World\"" )

    It's a base syntax for lua? i cant see the sense of the \" here the string \" or to put another quote inside the lua you need to put the slash before?

    Thankyou for all the information.


    Here below is an example that shows how to use Set, Create and Insert functions as well as using double quotations.

    Ehi Luke , that it's amazing , it's the code i need it.

    But one question, where di you get the information to create this code?? i look almost everywhere since 3 days before ask a help here.

    Anyway thank you so much

    In the MA3 command line you can use single quote inside double quotes, and vise versa.

    • "This 'is' okay"
    • 'This "is also" okay"
    • "This "is" not"
    • 'Nor 'is' this'

    Hi Ryan what a pleasure read you, i already so this your post and ok.

    But if i have to put in a macro line the sintax
    sendOSC 1 "/go,s,1" where the 1 it's a variable i didn't find a solution.

    So the normal sintax from the command line :
    set macro 11.1 Property "COMMAND" "sendOSC 1 '/go,s,1'"
    And this works perfectly

    then in LUA

    Cmd("Set macro " ..SG_Num..".1" "Property 'COMMAND' 'sendOSC 1 '/go,s,1'")
    Already here I have some problems to do it correcly

    And if the last num it's a variable from the lua i did't find a way

    Hi to everyone, i almost saw all the thread here , and in the manual but i can't find an answer.

    It's possible "Set" the propiety of the objects without use the funtion CMD ?

    For example if i want make an pluging that create some macro and put the commands inside the row, can i do without use the funtion CMD?

    The wall im in front it's when i need to write inside a macro a Command that have also the "",

    Also the operation of Store, there is a funtion in LUA to use without use the CMD?

    If i don't remember bad, on that user profile you can't do nothing due are missing some information we can't put in.... you can put in the bin.

    For now if you need to make a copy of a user profile, you must to export it and then import it , like this works perfectly.

    It's possible you did a copy of your user profile? if so there is a little issue

    It's so in the layout the object you assing to , doesn't have the action set. in the edit mode you can select you object, and give an action, for example for the fixture selfix.

    Hi Everyone, i'm trying to make something maybe it's not possible.

    I need to use a value of an interger var to recall different var.

    the situation now :

    -SetUserVar SG_NUM 1
    -SetUserVar SG_ADDVAR "SetUserVar SG_NUM 1$SG_NUM"
    -Label Page $SG_NUM $"SG_Song_1" ; Label Sequence $SG_NUM $"SG_Song_1" ;Label Macro 101 $"SG_Song_1" ; $SG_ADDVAR
    -Label Page $SG_NUM $"SG_Song_2" ; Label Sequence $SG_NUM $"SG_Song_2" ;Label Macro 102 $"SG_Song_2" ; $SG_ADDVAR


    I want make the recall of the VARIABLE SG_Song_x based on the SG_NUM that is incremental for every row.

    It's possible recall i var that is made from an value of another var?

    Something around this i think:
    Label Page $SG_NUM $"SG_Song_"$SG_NUM

    Hi , did you guys find a way to move just one pool scrollV?

    I Mean, if i run that command all the window scrool, i find out I can Declared with window "Category" but if i Want scroll only the preset pool 22 i can't find a way.

    ChangeDestination ShowData.UserProfiles.1.ScreenConfigurations.1.ScreenContents "Default" ; Set 2.WindowPresetPool Property "scrollv" "99,99" ; ChangeDestination Root

    So from here i can scrool the "WindowPresetPool" of the screen 2 at 99, so the first number is the 100.
    2 thing i did't find out how doing:

    -Set this parameter without ChangeDestination
    -How filter more witch WindowPresetPool

    Thank you

    Sometimes i find in the big change of the patch not all the Graphic get reload correct, the object are there but you can't see it.

    As you say restart is a solution, or you can use in the command line this command "ReloadUI" this solve me always this kind of problem.

    For now when i need to interact with the encoders i use "EncoderPage" for you need i then with use :

    At 0 EncoderPage 4

    For now i saw the EncoderPage 4 is always the color BUT for not problem in the future you can use also the syntax color

    At 0 EncoderPage "Color"

    For the single attribute you can check the list typing in the CMD "List Attribute"

    Syntax is :
    Attribute "Name" at "Value"
    attribute ColorRGB_R at 100

    You can leave all the timecodes to AutoStart, and have for each track a different timecode offset.
    Like first at 0m.0s.0f
    then 10m.0s.0f
    then 20m.0s.0f

    Like this you can play any different song and the correct timecode.

    in MA3 in the setting of the timecode you have the "Offset TC Slot" so you can program/playing the timecode from 0 in the timeline.

    In Reaper anyway you can by put another timecode Generator with a different point of start. (Right-Click--> source proprieties --> Start)

    I hope this can be useful for you