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/22 13:12] – [Changes shape color of a specific shape, e.g. a circle or a rectangle) (Setcolor)] 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 729: Line 811:
 argb values and names can be found here\\ argb values and names can be found here\\
 [[https://www.w3schools.com/colors/colors_names.asp]]\\ [[https://www.w3schools.com/colors/colors_names.asp]]\\
 +
 +<fc #cd5c5c>ATTENTION: if you send the command via HTTP API, replace the # character with %23.\\
 +Example: #FF0000 becomes %23FF0000\\</fc>
 +
 +You can use HEX rgba values for one color\\
 +SAMPLE: rgba(red, green, blue, alpha)\\
 +
 +#FF0000 for red 100% visible\\
 +#FF00007F for red 50% transparent, 00 = transparent, FF = 100% visible\\
 +
 +
 ATTENTION: vmix uses colour for this command, not color\\ ATTENTION: vmix uses colour for this command, not color\\
 \\ \\
Line 734: Line 827:
  
 ===== Changes the font colour of a specific text field depending on a numerical value (SetTextColour)===== ===== Changes the font colour of a specific text field depending on a numerical value (SetTextColour)=====
 +
 +<fc #cd5c5c>ATTENTION: if you send the command via HTTP API, replace the # character with %23.\\
 +Example: #FF0000 becomes %23FF0000\\</fc>
 +
 +You can use HEX rgba values for one color\\
 +SAMPLE: rgba(red, green, blue, alpha)\\
 +
 +#FF0000 for red 100% visible\\
 +#FF00007F for red 50% transparent, 00 = transparent, FF = 100% visible\\
  
 If a text field displays a certain value, the text colour is changed with this script. This can be the text colour of the text field that displays the value or a different one.\\ If a text field displays a certain value, the text colour is changed with this script. This can be the text colour of the text field that displays the value or a different one.\\
Line 756: Line 858:
  
     ' depending on a value, it changes the color of the text     ' depending on a value, it changes the color of the text
 +    ' you can use any logical funktion like:
 +    ' If numericvalue < 10 Then
 +    ' If numericvalue > 10 Then
 +    ' If numericvalue < 100 Or numericvalue > 200 Then (all from 100 to 199)
 +    ' If numericvalue Mod 2 = 0 Then  (only even number)
 +    ' If numericvalue Mod 10 = 0 Then (only 10,20,30....)
 +    ' etc....
 +    
     If numericvalue = 10 Then     If numericvalue = 10 Then
         API.Function("SetTextColour", Input:="Title 0- The Classic Blue.gtzip", Value:="#FF0000", SelectedName:="Description.Text")         API.Function("SetTextColour", Input:="Title 0- The Classic Blue.gtzip", Value:="#FF0000", SelectedName:="Description.Text")
Line 793: 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.1727003576.txt.gz · Last modified: by peteraellig

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki