TTP Syntax

The Services Code defines a instruction and function for a DSP block to perform. The Attribute Code defines the portion of the DSP block to be controlled such as a fader level. Each element of the command instruction is delimited by a single space. The commands are case sensitive and upper and lower case characters are used.

TTP string for Attribute Code:

To adjust an attribute of a DSP Processing Object is structured in the following order:

Instance_Tag Command Attribute [Index] [Value]

Instance Tag Command Attribute Index Index Value Line Feed
MatMix_1 set crosspointLevel 4 6 -4 <LF>

 

For Example: A get command will never use a [Value].

Mixer1 get crosspoint 1 1

+OK "value":false

 

For Example: A set command will always require a [Value]
Mixer1 set crosspoint 1 1 true +OK

TTP string for Service Codes:

The TTP string is structured in the following order:

Instance_Tag Service [Index] [Value]

Instance Tag Service Code Value
DEVICE recallPreset 1001

 

Instance Tag

The Instance Tag is case sensitive and is the unique name of a software object used in a Tesira project. The Instance Tag can be found when disconnected from the System in the Processing object Properties>DSP Properties. This defaults to the object code when compiled but can be customized by the user. The Tesira compiler will also check for duplicate Instance Tags. Instance tags can be defined within speech marks. If instance tags have no spaces they do not require speech marks. Instance tags can be numerical and contain spaces. Any Customized Instance tags that contain spaces must be defined within speech marks. The following Instance Tag characters are illegal   / &

 

 

Duplicate instance tags are not allowed. If duplicates are created a dialog will appear allowing editing of the tags.

 

 

A SESSION command can be used to get a listing of available Instance Tags. Any devices that have an incomplete audio path will not be listed.

Example

SESSION get aliases

+OK "list":["123" "AudioMeter1" "AudioMeter2" "AudioMeter3" "DEVICE" "Input1" "Mixer1" "Mute1" "Level1" "Output1"]

 

Example - When using a instance tag called Level1

Level1 get level 1

+OK "value":0.000000

 

Instance tags can contain spaces but must be enclosed in speech marks:

Example - When using a instance tag called my level 2

my level 2 get level 1

-ERR address not found: {"deviceId":0 "classCode":0 "instanceNum":0}

 

"my level 2" get level 1

+OK "value":-10.000000

 

Instance tags can be numerical:

Example - When using a instance tag called 123

123 get level 1

+OK "value":-10.000000

 

Commands

The Command field specifies what is to be done with the DSP processing block Attribute. Tesira Text Protocol supports different Attribute commands as listed below. These are case sensitive and the availability of the command would depend on the DSP object Attribute Code. The following table shows the Commands which only apply to Attribute Codes.  An Attribute Code may not support all of them, but it will support at least one.  

 

Command
Reason Code
get An attribute is to be read. The value will be returned in the response
set An attribute is to be set to a specific value. String: Instance_Tag Service [Index][Value] Example: Level1 set mute 1 true
increment An attribute is to be increased by the specified amount. Negative values will be decreased by the specified amount. String: Instance_Tag Service [Index][Index] Example: Level1 increment level 1 3
decrement An attribute is to be decreased by the specified amount. Negative values will be increased by the specified amount. String: Instance_Tag Service [Index][Index]
toggle An attribute is to be toggled. String: Instance_Tag Service Attribute [Index] Example: Level1 toggle mute 1
subscribe An attribute is to be subscribed to.
unsubscribe An attribute is to be unsubscribed from.

 

More details on subscriptions can be found in the Subscriptions section.

Attribute

The attribute Code defines the portion of the DSP Processing block to be controlled such as a fader level, crosspoint mute, etc. A full listing of the DSP block Attribute Codes are specified in the interface tables.

Service

The Services Code defines a instruction and function for a Hardware item to perform or a system wide command such as recalling a Preset. Currently the Device Instance Tag, TI Control Status, VoIP Control Status and Dialer Control Block support Service Code functions. Any Service Code commands do not use Attribute Commands such as get, set, etc. Instead they use their own commands such as recallPreset or dial

Index

Attribute Codes use Index fields to refer to inputs, outputs, or cross attribute of a DSP Block. Due to the different types of DSP blocks, some attributes will not require and Index so no value should be used. Some DSP blocks require a single index such as a level control. Some DSP blocks require 2 indexes such as a matrix mixer. The first index would be the Input or Row and the second index would be the Output or Column. A full listing of the DSP block Attributes and Indexes are specified in the interface definition tables.

For a Crossover Index band is indexed by number from high to low, so in a four-way crossover high=1, mid high=2, low mid =3 and low=4. filter is indexed by number. 1 is the high cutoff frequency for each band while 2 is the low.

The Index values can be encased in double quotes. the following formats are both supported:

Example
Mixer1 set crosspoint 1 1 true +OK Mixer1 set crosspoint "1""1" true +OK

When a subscription command is configured a unique custom name can be used in the second Index  of the command line. This is used as the identifier for the subscribed item.

Some Service Codes use index fields to define the hardware channel that is being controlled. For example a Dialer Block TI Control Status and, VoIP Control Status will require the line and Call appearance  indexes to be specified.

Value

Value determines what a DSP block is being set to, incremented by, or decremented by. The interface definition tables define which type of value the string will need in order to execute the TTP string.

A TTP value will depend on the attribute being controlled. It can be:

Required action Value example Description
Turn On true Refers to the 'on' state of a processing object component with two states such as a crosspoint, mute or similar.
Turn Off false Refers to the 'off' state of a processing object component with two states such as a crosspoint, mute or similar.
Adjust level (set, increment, decrement)  1.0 -1.0 -15 etc. A numerical decimal value used to represent the new state. Refer to the interface definition tables for the value range supported by the different component objects. For a 'set' command this will move the value to the specified level. For an increment it will adjust the value from the current value by the specified amount.
State BUTTERWORTH A text string can be used to represent a value such as a filter type
preset 1001 An Integer that is the required state.

Special Addresses

DEVICE - the local unit that you are currently connected to. See the Device Attribute table for a full listing of commands.

Instance Tag

Command

Attribute Code

Index

Line_Feed

DEVICE

get

ipStatus

interface

LF

 

SESSION - The current RS-232, Telnet or SSH text session. See the Session Attribute table for a full listing of commands

Instance Tag

Command

Attribute Code

Value

Line_Feed

SESSION

set

Verbose

false

LF