Posts by Andreas
BECOME PART OF THE COMMUNITY - Sign up here
-
-
try using "Load Off" e.g.
Load Executor 101 Cue 5
Load Executor 102 Cue 4
Load Off Executor 101 /nc
Go+ Loaded
-
local SG_UserP = CurrentProfile().Name
local SG_View = Root().ShowData.UserProfiles[SG_UserP].Views
this will get the ViewPool of the first userprofile with the same name as the name of the userprofile of the current user.
(userprofile names are not unique)
unless this is actually what you want, consider to rather do:
local SG_View = CurrentProfile().Views
-
-
try
local duration = myPart.Duration/256^3
-
lua tables always count from 1
local luatable = cu:Children()
local part0 = luatable[1]
What is the good method ?
for cues and parts, where commandline numbering don't match lua table indexes the easiest method is in my opinion to use the ObjectList function, which returns a table with all objects matching the given commandline syntax, then take the first entry of that table, [1]
local mypart = ObjectList('Cue 5 Part 0')[1]
-
in your script example the variable cue is not a cue, it is a table that contain cues
-
Are they child of the cue ?
yes
-
this seems to do the job:
assign Toggle function when cue is executed, then assign Temp function half a second later via an empty additional cuepart
e.g. exec 101:
Cue 1 Part 0, Command: Assign Toggle Exec 101
Cue 1 Part 1, CommandDelay:0.5, Command: Assign Temp Exec 101
-
-
I believe the mousecursor would only be helpful if you are operating your layout view via an actual mouse
nevertheless:
Lua "local pos=MouseObj().AbsPos Echo('mousecursor: x=%i, y=%i', pos.x, pos.y) "
-
to my knowledge:
only the mouse object has a get-able coordinates (cursor), not the touch object
in Lua/UI context the touched object is the Layout Viewer Canvas, not the actual macro.
still I don't think it is impossible to get the screen coordinates of the layout element, just a lot of work and calculation based on the properties of the canvas, and the properties of the layout elements.
-
this is not the scenario you described in your first post.
maybe this works for you:
create your 2d layout in x&y axis with the main fixtures only (e.g. 301 - not 301. )
store group xxx
DOWN
->all subfixtures selected and stack in the z axis of the xy pos of the main fixture
store merge with gridmergmode=off into the existing group xxx that has the mainfixtures
-
PostGet User Input CoordinatesHi,
I am wondering if anyone has been able to get the coordinates of the user input on the touchscreens, or even just able to get the position of the object that was selected? I have created a custom dialog in Lua that is triggered from a macro in MA. When the user taps on the macro in a layout, the popup appears at 0,0. I am able to input coordinates to place the dialog anywhere on the screen, but I would prefer to make it dynamic so the coordinates come from wherever the user tapped. Again,… -
Is there an easy way to make selection on the grid and have them stack on the z axis?
create an MAtricks with the properties XWidth=1, YWidth=1
by setting the max-width of the x and the y axis, the selection will be forced into the z-axis
-
Plugin stops because of calling nill values.
in the global context e.g. PropertyCount doesn't exist
notice the "(Object API)" classification in the Lua editor API description
how and why use PropertyName(handle, index) and PropertyCount(handle)
Code: alternative 1return function() local ex = GetExecutor(206) local count = Obj.PropertyCount(ex) for i = 0, count-1 do local Pname = Obj.PropertyName(ex, i) Echo(Pname) end end
Code: alternative 2return function() local ex = GetExecutor(206) local count = ex:PropertyCount() for i = 0, count-1 do local Pname = ex:PropertyName(i) Echo(Pname) end end
alt 1 versus alt 2 explanation:
PostRE: Set Value in Object direcly from lua without the CMDLua has many ways to achieve the same:
below are 4 ways to set the command text of the first macroline of macro 1 of the current datapool :
local Macropool = DataPool().Macros
local myMacro = Macropool[1]
local myMacroline = myMacro[1]
--Alternative 1, calling the Set function from the global Obj table :
Obj.Set(myMacroline, 'Command', 'Fixture Thru')
--Alternative 2, calling the same Set function via the actual object :
myMacroline.Set(myMacroline, 'Command', 'Fixture Thru')
--Alternative 3, calling… -
I can handle the exec and get its name with GetExecutor() and GetExecutor().name
How can i get properties ?
Name is also a property......
-
please actually try my solution
I am quite certain that cue in vs out times are determined by the tracking history of the sequence, not the at any time overall output of the console.
-
unless I misunderstand your end-goal, couldn't you just use the keyword TopUp via commandline
TopUp Keyword - grandMA3 User Manual - Help pages of MA Lighting International GmbH
-
have you made sure that the application is actually using your RTX 3060 and not the integrated Intel UHD graphics of your I7 ?