I will try to, Ross... ok
Basically, in vMix, there should be a few more options :
- in the command list/dropdowns (anywhere where the command list is populated > shortcuts, triggers)
> SetDynamicInput1
> SetDynamicInput2
> SetDynamicInput3
> SetDynamicInput4
> SetDynamicInput5
> SetDynamicFunction1
> SetDynamicFunction2
> SetDynamicFunction3
> SetDynamicFunction4
> SetDynamicFunction5
> SetDynamicValue1
> SetDynamicValue2
> SetDynamicValue3
> SetDynamicValue4
> SetDynamicValue5
--->> maybe 5 entries for SetDynamicInputs, only 3 for SetDynamicFunction and 2 for SetDynamicValue would be enough... ???
- in the input list/dropdowns (anywhere where the input list is populated > shortcuts, triggers) so that we can select these user defined Dynamic Inputs
> DynamicInput1
> DynamicInput2
> DynamicInput3
> DynamicInput4
> DynamicInput5
- in the Function list/dropdowns (anywhere where the function list is populated > shortcuts, triggers) so that we can select these user defined Dynamic Functions
> DynamicFunction1
> DynamicFunction2
> DynamicFunction3
> DynamicFunction4
> DynamicFunction5
Regarding DynamicValues, I believe we just need a special syntax when we want to use them in fields where we can indicate numerical values for functions (like indexes or durations)
Something like [!DynamicValue1!] for instance.
For example, if I want to create a "dynamic shortcut" to send input1 as an overlay to a multiview, I need to write something like "3,1" in the Value field of the command.
Here we would write "[!DynamicValue1!],1" instead. Potentially it could even be "[!DynamicValue1!],[!DynamicInput1!]" if both the input # and the overlay # were dynamic...
The special syntax must be determined by Martin accordindly to his development framework constraints. So I can't really say... What I call a "special syntax" is like what we use to define times or durations when we use a clock or a countdown for example. There is a "code syntax" to use...
That's it for the vMix GUI. I think...
After that, obviously, the API must also reflect or report the Dynamic entries in the XML tree. Something like (in bold) :
Quote:
<vmix>
<version>21.0.0.56</version>
<edition>Pro</edition>
<inputs>
<input key="46779903-9125-4e12-b9c7-7740fe12b2bd" number="1" type="Blank" title="Blank" state="Paused" position="0" duration="0" loop="False">Blank</input>
<input key="9eb7da99-55b2-4731-ae01-8fffd712b605" number="2" type="Blank" title="Blank" state="Paused" position="0" duration="0" loop="False">Blank</input>
</inputs>
<overlays>
<overlay number="1"/>
<overlay number="2"/>
<overlay number="3"/>
<overlay number="4"/>
<overlay number="5"/>
<overlay number="6"/>
</overlays>
<preview>2</preview>
<active>1</active>
<dynamicinput1>1</dynamicinput1>
<dynamicinput2>12</dynamicinput2>
<dynamicinput3>6</dynamicinput3>
<dynamicinput4></dynamicinput4>
<dynamicinput5></dynamicinput5>
<dynamicfunction1>Fade</dynamicfunction1>
<dynamicfunction2>SetMultiViewOverlay</dynamicfunction2>
<dynamicfunction3></dynamicfunction3>
<dynamicvalue1>1</dynamicvalue1>
<dynamicvalue2>3000</dynamicvalue2>
<fadeToBlack>False</fadeToBlack>
<transitions>
<transition number="1" effect="Fade" duration="500"/>
<transition number="2" effect="Merge" duration="1000"/>
<transition number="3" effect="CubeZoom" duration="500"/>
<transition number="4" effect="Stinger1" duration="1000"/>
</transitions>
<recording>False</recording>
<external>False</external>
<streaming>False</streaming>
<playList>False</playList>
<multiCorder>False</multiCorder>
<fullscreen>False</fullscreen>
<audio>
<master volume="100" muted="False" meterF1="0" meterF2="0" headphonesVolume="100"/>
<busA volume="100" muted="False" meterF1="0" meterF2="0"/>
<busB volume="100" muted="False" meterF1="0" meterF2="0"/>
</audio>
</vmix>
And finally it would obviously be great to have activators for these Dynamic Entries...
Not sure it's graphical enough but at least it's written... I might have omitted something, I guess not... The only point I cannot visualize clearly in my head is this "special code or syntax" to use for DynamicValues, point which might be a little bit more problematic than what's required for DynamicInput1-5 and DynamicFunction1-5. Maybe not. Let's hope not...
Guillaume