Hi
A new release :
- I hope better for the creation of the dynamic presets view (10x10) on screen 1[
- I hope a better behavior of the 'Cancel' button
- selector 4.xml
Hi
A new release :
Ok
What are you meaning when you wrote "trying to create and store the view" ?
Hi
Select the executor after the popup
Hello,
According to the manual "pause page 1.201" normally pause the phaser within the seq assigned to the executor.
I can only pause the phaser if the sequence has a speedmaster. But it pause the speedmaster and whole objects linked to the speedmaster.
Is this the normal behavior ?
Thanks a lot.
Hello
Tested today in real situation : it seems to work.selector.xml
A little video to explain how it works : https://photos.app.goo.gl/tCXEiXUiL83WLeJ27
Hello
I can't figure how to set the level of a fader with commandline.
Thanks
sorry solved.
FaderMaster keyword
Hello,
I wish to thank all of you for yours knowledges and yours shares.
Special mention for Andreas
You will recognize pieces of code you have shared.(userinteract,how to compare groups,how to collect and many things).
This plugin is intended to do same things as plugins preset to qlist and preset to executors in ma-share gma2 lua plugins.
I hope that the names of functions are enough clear to understand how the plugin works.
You must have an active selection of fixtures which will be compare to existing groups to grab the name of group.
The qlist is labelled with the name of the selection and the preset type, executors are labelled with name of the selection and presets.
By default fade time and offcue is set to 3 seconds (lines 156,160,180,184)
For sure I am not a programmer so this plugin could be more elegant and less longer.
Feel free to re-write it and share again.
Hello,
Maybe you could try this plugin
------------------------------------------------------------------------
-- shortcuts
------------------------------------------------------------------------
local input = TextInput
------------------------------------------------------------------------
-- local variables
------------------------------------------------------------------------
local totalfixture,indexfixture,handlefixture,a,b,answer
------------------------------------------------------------------------
-- Functions,tables
------------------------------------------------------------------------
local fixturetable,selector,reset,invert,descTable,run,Cleanup
local myfixtures={}
------------------------------------------------------------------------
------------------------------------------------------------------------
function fixturetable()
indexfixture = SelectionFirst()
-- Cancel the plugin if no fixture is selected
assert(indexfixture,"No fixture selected! Please select a fixture first.")
repeat
handlefixture=GetSubfixture(indexfixture)
table.insert(myfixtures,handlefixture.FID)
indexfixture = SelectionNext(indexfixture)
until not indexfixture;
selector()
end
------------------------------------------------------------------------
------------------------------------------------------------------------
function selector()
descTable = {
title = " INVERTOR ",
caller = GetFocusDisplay(),
items = {"PAN DMX INVERT","PAN ENC INVERT","TILT DMX INVERT","TILT ENC INVERT","RESET"},
selectedValue = "RESET",
}
a,b = PopupInput(descTable)
if a==4 then reset() else invert() end
end
------------------------------------------------------------------------
------------------------------------------------------------------------
function reset()
for index,value in pairs(myfixtures) do
local fi=('fi '..value)
Cmd('set '..fi..' '..'PANDMXINVERT 0' )
Cmd('set '..fi..' '..'TILTDMXINVERT 0' )
Cmd('set '..fi..' '..'PANENCINVERT 0' )
Cmd('set '..fi..' '..'TILTENCINVERT 0' )
end
Cleanup()
end
------------------------------------------------------------------------
------------------------------------------------------------------------
function invert()
for index,value in pairs(myfixtures) do
local fi=('fi '..value)
Cmd('next')
indexfixture=SelectionFirst()
handlefixture = GetSubfixture(indexfixture)
if a==0
then handlefixture = (handlefixture.PANDMXINVERT)
if handlefixture then Cmd('set '..fi..' PANDMXINVERT 0') else Cmd('set '..fi..' PANDMXINVERT 1') end
elseif a==1
then handlefixture = (handlefixture.PANENCINVERT)
if handlefixture then Cmd('set '..fi..' PANENCINVERT 0') else Cmd('set '..fi..' PANENCINVERT 1') end
elseif a==2
then handlefixture = (handlefixture.TILTDMXINVERT)
if handlefixture then Cmd('set '..fi..' TILTDMXINVERT 0') else Cmd('set '..fi..' TILTDMXINVERT 1') end
elseif a==3
then handlefixture = (handlefixture.TILTENCINVERT)
if handlefixture then Cmd('set '..fi..' TILTENCINVERT 0') else Cmd('set '..fi..' TILTENCINVERT 1') end
end
end
Cmd('toggle selection matricks')
Cleanup()
end
------------------------------------------------------------------------
------------------------------------------------------------------------
function run()
Printf('INVERTOR started');
fixturetable();
end
------------------------------------------------------------------------
------------------------------------------------------------------------
function Cleanup()
Printf('INVERTOR finished');
myfixtures={}
end
------------------------------------------------------------------------
return run, Cleanup;
Display More
Ahh frustrating !!
I've already used "ObjectList" in another plugin.
But like always thanks a lot Andreas
Hello,
Is it possible to handle a collection (e.g. presets) ?
I tried a little code but as usual without success.
I do not know where is hidden "collection" in Gma3. I have looked in temp folder but ?
local function main()
Collection():Dump() --Dump() is called on a function
end
return main
Thanks a lot.
You're welcome,
but as always clues come from Andreas
hi,
I think if you iterate thru childrens of the presetpool, you have good result.
local presets
local states={}
local selectors={}
function presets()
-- create inputs:
for k, value in ipairs(DataPool().PresetPools:Children()) do
states[#states + 1] = {name = value.Name, state = false, group = 1}
selectors[#selectors+1] = {values={[value.name]=1},state=false,type=1}
end
-- open messagebox:
resultTable =
MessageBox(
{
title = "Select presets",
--message = "This is a message",
title_align_h = Enums.AlignmentH.Center,
title_align_v = Enums.AlignmentV.Top,
commands = {{value = 1, name = "Ok"}, {value = 0, name = "Cancel"}},
states = states,
selectors = selectors,
backColor = "Global.Default",
-- timeout = 10000, --milliseconds
-- timeoutResultCancel = false,
icon = "wizard",
titleTextColor = "Global.Text",
messageTextColor = "Global.Text"
})
for k, v in pairs(resultTable.selectors) do
if v then
presetname = string.format('"%s"', k)
Printf(presetname)
--table.insert(mypresets, presetname)
end
end
end
return presets
Display More
Thanks a lot
Hi,
Several sequences are assigned to executor on page 2.
So I suppose that there are children in page 2, but
error:11:attempt to index a nil value.
It works well with the sequences pool.
I need help to understand.
Thanks