elgarf wrote:@corporatejames, can you share your functions.xml?
This is the current one but once I add all the inputs to vmix I will finish this as needed.
Just had an idea. How hard would it be to add the NDI.api with Monitor object that you could add to the page
as required like add Camera 1 video monitor (selected ndi source via dropdown menu) to the display so the person controlling the Vmix Production from a laptop
can see the NDI outputs sources from the Main Production pc of Vmix. So you would select NDI Monitor from the create menu then choose the NDI Source for the Monitor.
With ability to add as many monitors as possible with available bandwidth and cpu/memory resources on the pc that is running the controller. Monitors could have resize handles to size to the layout needed. Not sure if possible or how hard to add to the current code but would super handy and very cool.
<?xml version="1.0"?>
<ArrayOfVMixFunctionReference xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- Many non-native functions can be mapped to existing vMix functions -->
<vMixFunctionReference>
<Native>true</Native>
<Description>Dummy function</Description>
<Function>None</Function>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Quick Play</Description>
<Function>QuickPlay</Function>
<FormatString>Function=Quickplay</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>ReplayPlayLastEventToOutput</Description>
<Function>ReplayPlayLastEventToOutput</Function>
<FormatString>Function=ReplayPlayLastEventToOutput</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>ReplayMarkInOutLive</Description>
<Function>ReplayMarkInOutLive</Function>
<FormatString>Function=ReplayMarkInOutLive&Value={1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Transition using stinger</Description>
<Function>Stinger</Function>
<FormatString>Function=Stinger{1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Use transition</Description>
<Function>Transition</Function>
<FormatString>Function=Transition{1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Set active input</Description>
<Function>ActiveInput</Function>
<FormatString>Function=ActiveInput&Input={0}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>StartStreaming</Description>
<Function>StartStreaming</Function>
<FormatString>Function=StartStreaming</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>StopStreaming</Description>
<Function>StopStreaming</Function>
<FormatString>Function=StopStreaming</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>StartRecording</Description>
<Function>StartRecording</Function>
<FormatString>Function=StartRecording</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>StopRecording</Description>
<Function>StopRecording</Function>
<FormatString>Function=StopRecording</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Fade in input as overlay</Description>
<Function>OverlayInputIn</Function>
<FormatString>Function=OverlayInput{1}In&Input={0}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Switch overlay off</Description>
<Function>OverlayInputOff</Function>
<FormatString>Function=OverlayInput{1}Off</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Fade out overlay</Description>
<Function>OverlayInputOut</Function>
<FormatString>Function=OverlayInput{1}Out</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Toggle overlay</Description>
<Function>OverlayInputToggle</Function>
<FormatString>Function=OverlayInput{1}&Input={0}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Set countdown format hh:mm:ss</Description>
<Function>SetCountdown</Function>
<FormatString>Function=SetCountdown&Input={0}&Value={2}&SelectedIndex={1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Start countdown</Description>
<Function>StartCountdown</Function>
<FormatString>Function=StartCountdown&Input={0}&SelectedIndex={1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Stop countdown</Description>
<Function>StopCountdown</Function>
<FormatString>Function=StopCountdown&Input={0}&SelectedIndex={1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Pause countdown</Description>
<Function>PauseCountdown</Function>
<FormatString>Function=PauseCountdown&Input={0}&SelectedIndex={1}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>Set title text</Description>
<Function>SetText</Function>
<FormatString>Function=SetText&Input={0}&SelectedIndex={1}&Value={2}</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Native>true</Native>
<Description>Wait some time in milliseconds</Description>
<Function>Timer</Function>
<HasInputProperty>false</HasInputProperty>
<HasIntProperty>true</HasIntProperty>
<HasStringProperty>false</HasStringProperty>
</vMixFunctionReference>
<vMixFunctionReference>
<Native>true</Native>
<Description>Update vMix state</Description>
<Function>UpdateState</Function>
<HasInputProperty>false</HasInputProperty>
<HasIntProperty>false</HasIntProperty>
<HasStringProperty>false</HasStringProperty>
</vMixFunctionReference>
<vMixFunctionReference>
<Native>true</Native>
<Description>Go to command</Description>
<Function>GoTo</Function>
<HasInputProperty>false</HasInputProperty>
<HasIntProperty>true</HasIntProperty>
<HasStringProperty>false</HasStringProperty>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>FadeToBlack</Description>
<Function>FadeToBlack</Function>
<FormatString>Function=FadeToBlack</FormatString>
</vMixFunctionReference>
<vMixFunctionReference>
<Description>CutPlayFade</Description>
<Function>CutPlayFade</Function>
<FormatString>Function=QuickPlay&Input={0}</FormatString>
</vMixFunctionReference>
</ArrayOfVMixFunctionReference>