User Tools

Site Tools


scripting_examples

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
scripting_examples [2024/09/25 09:33] – [Changes the font colour of a specific text field depending on a numerical value (SetTextColour)] peteraelligscripting_examples [2025/12/05 10:53] (current) – [Which input is active at PREVIEW] peteraellig
Line 190: Line 190:
 loop loop
 </code> </code>
 +
 +===== Script to switch the active input to the next one  =====
 +Switches output to 2 when output is 1, to 3 when it is 2, etc.
 +
 +<code>
 +'get the API data from vMix
 +Dim xml As String = API.XML()
 +Dim x As New System.Xml.XmlDocument()
 +x.LoadXml(xml)
 +
 +'get active input
 +Dim activeNumber As Integer = Integer.Parse(x.SelectSingleNode("/vmix/active").InnerText)
 +
 +' get number of inputs 
 +Dim inputCount As Integer = x.SelectNodes("/vmix/inputs/input").Count
 +
 +'increase by one 
 +Dim nextInput As Integer = activeNumber + 1
 +
 +'this is, if you want to do someting at the beginning of the inputs (1), it starts again at the last one.
 +If nextInput > inputCount Then nextInput = 1  ' wrap
 +
 +' cut to the next input
 +API.Function("cutdirect",nextInput) 
 +</code>
 +
 +
 +===== Script to switch the active input to the previous one  =====
 +Switches output to 3 when output is 4, to 2 when it is 3, etc.
 +
 +<code>
 +'get the API data from vMix
 +Dim xml As String = API.XML()
 +Dim x As New System.Xml.XmlDocument()
 +x.LoadXml(xml)
 +
 +'get active input
 +Dim activeNumber As Integer = Integer.Parse(x.SelectSingleNode("/vmix/active").InnerText)
 +
 +'get number of inputs
 +Dim inputCount As Integer = x.SelectNodes("/vmix/inputs/input").Count
 +
 +'decrease by one
 +Dim prevInput As Integer = activeNumber - 1
 +
 +'wrap , returns to the highest if at 1
 +If prevInput < 1 Then prevInput = inputCount
 +
 +'cut to the previous input
 +API.Function("cutdirect", prevInput)
 +</code>
 +
 +
 ===== Cut input to one of the outputs ===== ===== Cut input to one of the outputs =====
 As of version 26, vMix has up to 16 so-called mix inputs (Aux or M/E) more than just the output (Mix1 or Mix0 in the API) These can then be routed to other outputs. (max. 6 outputs in vMix) So also set Mix! From version 27, more than two EXTERNAL OUTPUTS can be set, depending on the performance of the computer. From a QUADRO RTX 4000, 4 work perfectly. From the GeFroce RTX models of the 3000 series, more will also work. However, if the computer is still making slow or massive recordings, then I would only access these functions with a new A series card. As of version 26, vMix has up to 16 so-called mix inputs (Aux or M/E) more than just the output (Mix1 or Mix0 in the API) These can then be routed to other outputs. (max. 6 outputs in vMix) So also set Mix! From version 27, more than two EXTERNAL OUTPUTS can be set, depending on the performance of the computer. From a QUADRO RTX 4000, 4 work perfectly. From the GeFroce RTX models of the 3000 series, more will also work. However, if the computer is still making slow or massive recordings, then I would only access these functions with a new A series card.
Line 485: Line 538:
 Next Next
 </code>\\ </code>\\
 +
 +===== toggle all Audio outputs=====
 +<code>
 +'Toggles on/off all Audio Busses
 +Dim busValues As String() = {"A", "B", "C", "D", "E", "F", "G"}
 +For Each value As String In busValues
 +    API.Function("BusXAudio", Value:=value)
 +Next</code>\\
 +
 +===== turn all audio outputs off (not Master) =====
 +<code>
 +Dim busValues As String() = {"A", "B", "C", "D", "E", "F", "G"}
 +For Each value As String In busValues
 +    API.Function("BusXAudioOff", Value:=value)
 +Next</code>\\
 +
 +===== turn all audio outputs ON (not Master) =====
 +<code>
 +Dim busValues As String() = {"A", "B", "C", "D", "E", "F", "G"}
 +For Each value As String In busValues
 +    API.Function("BusXAudioOn", Value:=value)
 +Next</code>\\
 +
 +===== turn on, off, toggle, Audio Master =====
 +<code>API.Function("MasterAudioOff")</code>
 +<code>API.Function("MasterAudioOn")</code>
 +oder toggle
 +<code>API.Function("MasterAudio")</code>
 +
  
 ===== gets Audio Titelname from a INPUT (Musictitle) ===== ===== gets Audio Titelname from a INPUT (Musictitle) =====
Line 821: Line 903:
  
 This is a script that shows how to read the color of a shape from a title and then perform an action based on the color. The script must be started and runs in the background as a loop.  This is a script that shows how to read the color of a shape from a title and then perform an action based on the color. The script must be started and runs in the background as a loop. 
-the title used in the example can be downloaded {{ ::textshape.gtzip |here}}. +the title used in the example can be downloaded {{ ::textshape.gtzip |here}}.\\ 
-{{:gsc3.jpg?200|}}\\+{{:gsc3.jpg?600|}}\\
  
 gets the color value of a shape in a gtzip-title:\\ gets the color value of a shape in a gtzip-title:\\
scripting_examples.1727249630.txt.gz · Last modified: by peteraellig

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki