VidBlasterX can be (remote) controlled through its API (Application Programming Interface). The API is a powerful feature enabling you to create complex series of commands using macros, or to operate the software from any application anywhere in the world using the TCP Server.



From an API point of view, VidBlasterX is a collection of modules where each module can have one or more pins. A pin can be input and/or output and exchange data in various formats. The following API commands are available to get information about the API, obtain a list of available modules and access each module:


apiabout


apilist


apilist2


apiread


apiwrite


When a command is recognized, 200 Ok will be returned, optionally followed by the requested value or an error message.


Almost all modules have pins that can be accessed through the API, a list of available pins for each module can be selected from the table of contents. Pins that are common to most or all modules are listed below and not repeated for each individual module.


Pin


alias, <alias 1>[, <alias 2>...]

Sets or returns the alias(es) of a module, one for each output channel.


audiochannels

Returns the number of audio channels.


audioinput

Sets audio input.


audiosource [, <source>]

Sets or returns the audio source.


tally

Used to read and set the tally status. When setting the tally state is specified in the value parameter. Available states are off, preview, previewoff, program, programoff, selected & selected off. An optional second value parameter (default is 0) can be added which is a zero-based index to the bus sending the command, enabling multiple buses to drive the same tally. A reference count will be kept and only when zero will a tally go in the off-state. Note that when dealing with single tallies, program state will always take precedence over preview state. When reading the possible return values are an empty string, "preview", "program" & "selected".


videosource [, <source>]

Sets or returns the video source.



Examples


The following example sets Camera 1's tally to program.



apiwrite Camera 1, tally, program




The following example starts all Players.



apiwrite Player 0, play, true



The following example sets Player 1's tally to preview. The command was sent from the second bus.



apiwrite Player 1, tally, preview, 1