AMX Corporation warrants its products to be free of defects in material and workmanship under normal use for three (3) years from the date of purchase from
AMX Corporation, with the following exceptions:
•Electroluminescent and LCD Control Panels are warranted for three (3) years, except for the display and touch overlay components that are warranted for a
period of one (1) year.
•Disk drive mechanisms, pan/tilt heads, power supplies, MX Series products, and KC Series products are warranted for a period of one (1) year.
•Unless otherwise specified, OEM and custom products are warranted for a period of one (1) year.
•Software is warranted for a period of ninety (90) days.
•Batteries and incandescent lamps are not covered under the warranty.
This warranty extends only to products purchased directly from AMX Corporation or an Authorized AMX Dealer.
AMX Corporation is not liable for any damages caused by its products or for the failure of its products to perform. This includes any lost profits, lost savings, inci-
dental damages, or consequential damages. AMX Corporation is not liable for any claim made by a third party or by an AMX Dealer for a third party.
This limitation of liability applies whether damages are sought, or a claim is made, under this warranty or as a tort claim (including negligence and strict product
liability), a contract claim, or any other claim. This limitation of liability cannot be waived or amended by any person. This limitation of liability will be effective
even if AMX Corporation or an authorized representative of AMX Corporation has been advised of the possibility of any such damages. This limitation of liability,
however, will not apply to claims for personal injury.
Some states do not allow a limitation of how long an implied warranty last. Some states do not allow the limitation or exclusion of incidental or consequential dam-
ages for consumer products. In such states, the limitation or exclusion of the Limited Warranty may not apply. This Limited Warranty gives the owner specific legal
rights. The owner may also have other rights that vary from state to state. The owner is advised to consult applicable state laws for full determination of rights.
EXCEPT AS EXPRESSLY SET FORTH IN THIS WARRANTY, AMX CORPORATION MAKES NO OTHER WARRANTIES, EXPRESSED OR
IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. AMX CORPO-
RATION EXPRESSLY DISCLAIMS ALL WARRANTIES NOT STATED IN THIS LIMITED WARRANTY. ANY IMPLIED WARRANTIES THAT
MAY BE IMPOSED BY LAW ARE LIMITED TO THE TERMS OF THIS LIMITED WARRANTY.
Table of Contents
Interfacing with Standard NetLinx API (SNAPI) .................................................... 1
The Standard NetLinx API (SNAPI) maps function and feedback calls in Duet modules to ICSP channels, levels and commands. SNAPI allows NetLinx
programmers to utilize Duet modules in their NetLinx programs and access the function and feedback of those modules through programming similar to
programming they would use on an AMX device, such as a volume box. While each Duet module may support advanced functions via channels, levels and
commands (see specific module documentation for the channels, levels and commands supported by that module), the SNAPI mappings apply to the Standard API
supported by each module.
Overview
Devices
In Duet, all modules use a Duet virtual device. Duet virtual devices are in the range 41000:1:0 to 42000:1:0. Duet virtual devices are specifically designed for use
with Duet modules. Regular virtual devices will not work properly with Duet modules.
Ports
In Duet, each device may support one or more ports. Multiple ports are used to provide access to different components within the module. For instance, a switcher
may support output volume for each switcher output. In Duet, this is represented by a volume component for each output and in SNAPI, each of these components
is mapped to a Duet virtual device ports. Port 1 will control the volume for output 1, port 2 will control the volume for output 2, etc… Another common use of port
is to control different "zones" of and Audio Receiver, HVAC, Security Systems, etc… It is possible that a single port may offer only a small bit of functionality,
such as volume control.
Port 1 is always the "main" device and supports all functions of the device. For components that have multiple instances, such as volume, port 1 will control the
default component, which is usually component 1.
The documentation for each module will describe what ports are available and what functions they control. See the specific module documentation for a complete
list of ports supported by the module.
Standard NetLinx API (SNAPI) R 1.7.0
1
Interfacing with Standard NetLinx API (SNAPI)
Channels
In SNAPI, there are four kinds of channels: Input Function Channels, Momentary Function Channels, Discrete Function Channels and Feedback Channels.
Input function channels are used for response type functions, such as when a device wants to inform your program of an interesting event, similar to a button push
on a touch panel. For instance, channel 1 is the input function channel for processButtonStateEvent (). When the module has information about the push or release
of a button, the module will send a PUSH or RELEASE.
Momentary function channels are used for momentary type functions and do not provide discrete feedback. For instance, channel 9 is the momentary function
channel for cyclePower(). When pulsed, the channel cycles the state of power on the device and only provides momentary feedback, i.e. the channel is on only
while this function is activated.
Discrete function channels are used for discrete type functions and usually provide discrete feedback. For instance, channel 255 is the discrete function channel for
setPower(); When turned on, this channel sets the state of the power on the device to on. When turned off, this channel sets the state of the power on the device to
off. This channel provides discrete feedback as well; this channel is on if and only if the state of the power on the device is on. In most cases, the channel is listed
as a Discrete function channel next to the function the channel controls and as a Feedback channel next to the feedback function that controls this channel.
Feedback channels provide discrete feedback only. For instance, channel 251 is the feedback channel of Communication Active. This channel is on if and only if
the module is able to communicate to the device.
Levels
Levels in SNAPI are used for both function and feedback. In some cases, a level is only used for feedback, such as temperature, while some levels are used for
function and feedback, such a volume. In most cases, level ranges are from 0-255. All exceptions to this rule are noted, and are only used when the level range is
not bounded by a minimum and a maximum, such as temperature.
2
Standard NetLinx API (SNAPI) R 1.7.0
Interfacing with Standard NetLinx API (SNAPI)
Commands
Commands in SNAPI are used for discrete and momentary functions when the function requires textual information, multiple parameters, or the functions are not
commonly used. For instance, Temperature scale is set via a command because this is usually done only once in a control system program. Other functions, such as
adding and removing lighting and keypad addresses, requires more information than a channel or level alone can convey. All commands start with a command
header, followed by a "-" to separate the command from the data, and data arguments are usually separated by ","s.
Commands used to query for the status of a property start with a "?". Query commands cause the module to respond with a response command.
SNAPI.axi
SNAPI.axi is an include file that defines constants for each channel and level defined by SNAPI. These constants can be used in your programs in place of channel
and level numbers. The constant names are listed in this document alongside every SNAPI function assigned to a channel or level.
SNAPI.axi is located in C:\Program Files\Common Files\AMXShare\AXIs. The file is organized by device type and lists all the standard channels and levels that
may be supported by the module. This list does not contain all the channel or levels supported by a module and may include channels and levels not supported by a
device. See the specific module documentation for a complete list of channels and levels supported by the module.
To include SNAPI.axi in your program, simply add an #INCLUDE statement for it:
#INCLUDE 'SNAPI.axi'
The file does not need to be copied to your project directory. The NetLinx compiler will be able to find this file automatically and include it in your program.
Standard NetLinx API (SNAPI) R 1.7.0
3
Interfacing with Standard NetLinx API (SNAPI)
Programming
Channels
Input function channels are used for response type functions. For instance, channel 1 notifies your program of a button push in the KeypadComponent. When your
program receives a PUSH, the button is pushed. When your program receives a RELEASE, the button is released. You should use BUTTON_EVENT's to capture
the changes of an Input function channel:
BUTTON_EVENT[dvDevice, KEYPAD_BTN]
{
PUSH: // Button was pushed
{
}
RELEASE: // Button was released
{
}
}
Momentary function channels are used to activate functions when the channels change from an OFF state to an ON state. For instance, channel 9 or the constant
POWER cycles the state of the power on the device when it turns on. No change occurs when the channels change from an ON state to an OFF state. You should
activate Momentary function channels using the PULSE, TO or MIN_TO keywords:
PULSE[dvDevice,POWER]// Cycle the state of power
TO[dvDevice,POWER]// Cycle the state of power
MIN_TO[dvDevice,POWER]// Cycle the state of power
Discrete function channels are used to activate functions when the channel changes from an OFF state to an ON state and from an ON to an OFF state. For
instance, channel 255 or the constant POWER_ON sets the state of the power on the device when it turns on and off. You should activate discrete function channels
using the ON and OFF keywords, or any syntax that changes the state of the channel such as a feedback assignment:
ON[dvDevice,POWER_ON] // Turn the power on
OFF[dvDevice,POWER_ON] // Turn the power off
[dvDevice,POWER_ON] = ![dvDevice,POWER_ON] // Cycle the state of power
Feedback channels do not active function and should only be used for feedback. These channels can be used in CHANNEL_EVENTs or feedback assignment
statements to read the status of the channel:
bCommunicationActive = [dvDevce,DEVICE_COMMUNICATING]
CHANNEL_EVENT[dvDevice,DEVICE_COMMUNICATING]
{
ON:
ON[bCommunicationActive]
OFF:
OFF[bCommunicationActive]
}
4
Standard NetLinx API (SNAPI) R 1.7.0
Interfacing with Standard NetLinx API (SNAPI)
Ramping Channels
Some channels in SNAPI provide ramping functionality and some provide adjust "stepping" functionality. Since ramping on a device is only provided if the device
supports ramping, a channel that causes ramping on one device may not cause ramping on another device. The following syntax can be used universally for all
The PUSH: TO part of the button event causes ramping to start and continue until the button is released. If the device does not support ramping, the device adjusts
the desired parameter either up or down one step and stops. The HOLD: ON part of the button event causes the step adjustment to repeat, at a rate specified by the
HOLD repeat time, until the button is released. The HOLD: ON part of the button event has no effect if the device supports ramping.
In a future version of Duet, it is expected that all modules will support ramping natively and that this NetLinx code will not always be required. However, if the
module you are using does not support ramping, this code can be used to achieve ramping functionality.
Levels
Levels in SNAPI are used for both function and feedback. For feedback levels, the level value can be captured in a LEVEL_EVENT, with CREATE_LEVEL or
sent directly to a touch panel display bargraph using DEFINE_CONNECT_LEVEL:
LEVEL_EVENT[dvDevice,1]
{
// LEVEL.VALUE holds the new level value
}
CREATE_LEVEL dvDevice,1,nMyVariable // nMyVariable will hold the
// latest value of the level
DEFINE_CONNECT_LEVEL(dvDevice,1,dvTp,1)
Levels used for functions can be set by calling SEND_LEVEL or by connecting to a touch panel active bargraph using DEFINE_CONNECT_LEVEL:
The CREATE_LEVEL/SEND_LEVEL mechanism is recommended for use with SNAPI. While LEVEL_EVENT will work fine, you may experience problems
when a touch panel falls offline and then reconnects, which happens often with wireless panels. LEVEL_EVENT's will only fire when a change of the level value
occurs. When the panel comes online, the only way to reliably update the level is with a SEND_LEVEL.
Standard NetLinx API (SNAPI) R 1.7.0
5
Interfacing with Standard NetLinx API (SNAPI)
Commands
Commands in SNAPI are sent like commands to other devices, using the SEND_COMMAND keyword:
SEND_COMAND dvDevice,'?VERSION'
Commands used to query for the status of a property start with a "?". Query commands cause the module to respond with a response command. Note that this
response is a command, not a string and can be captured in a DATA_EVENT in the COMMAND sub-section:
DATA_EVENT[dvDevice]
{
COMMAND:
{
// DATA.TEXT holds the response to a query command
}
}
General
The NetLinx program should assume that NetLinx levels are initially 0 and that channels are 'off'. The SNAPI router will notify the NetLinx client upon a change
of state.
All Duet Virtual Devices should be created on port 1, e.g. 41000:1:0 in the following statements:
While it is possible to create a Duet Virtual Device on a port other than 1 and pass it to the Duet module, the behavior of the module is undefined.
Channel and Level Ranges
SNAPI uses only channels in range 1-299. Some channels are used for multiple functions but these channels belong to components that do not overlap within a
single device. For instance, HVAC and Display both use channel 214 for setFanState and setFreezeOn respectively. Some channels are used for the same function
in multiple components, for instance Video Conference and Display both define channel 191 for cyclePIPPosition. In both cases, this is by design.
Some devices may use custom channels for advanced functions. Channels 67-76 and 300-399 are reserved for modules to use for whatever functions they like. See
specific module documentation for details on the channels used in that module.
SNAPI uses Levels in the range 1-48. Some levels are used for the same function in multiple components, for instance HVAC, Pool/Spa and Weather all define
level 34 for Outdoor Temperature. This is by design.
Some device may use custom levels for advanced functions. Levels 50-80 and above are reserved for modules to use for whatever functions they like. See specific
module documentation for details on the levels used in that module.
6
Standard NetLinx API (SNAPI) R 1.7.0
Interfacing with Standard NetLinx API (SNAPI)
Commands and Escape Characters
SNAPI command uses comma as a parameter separator. If a parameter's value contains a comma, the parameter is escaping using double quotes at the start and end
of the parameter. If a parameter's value contains a double quote character it is escaped with a pair of double quote characters.
The following examples are properly escaped parameter values:
6
Hello
Brown Eyed Girl
"Morrison, Van"
"Van ""The Man"" Morrison"
The following examples are improperly escaped parameter values:
Morrison, Van
Van "The Man" Morrison
SNAPI.axi includes a few helpful routines to build commands:
DuetPackCmdHeader(Hdr)
DuetPackCmdParam(Cmd, Param)
DuetPackCmdParamArray(Cmd, Params[])
DuetPackCmdHeader is a command using a given command header where Hdr is the command header. DuetPackCmdParam adds a parameter to the command,
escaping the parameter and adding parameter separators as needed; Cmd is the command to which the parameter is added and Param is the parameter to be added.
DuetPackCmdParamArray is similar to DuetPackCmdParam but it takes an array of parameters and adds them to the command. All of these functions return the
updated command.
SNAPI.axi includes a few helpful routines to parse commands as well:
DuetParseCmdHeader(Cmd)
DuetParseCmdParam(Cmd)
DuetParseCmdHeader removes and returns the command header from a command. DuetParseCmdParam removes and returns the next parameter from the
command, un-escaping the parameter as needed. Both of these functions return a string containing the command header or the parameter.
Standard NetLinx API (SNAPI) R 1.7.0
7
Interfacing with Standard NetLinx API (SNAPI)
An example program using these routines is shown below:
// Build a command to be stored in cTestCmd
cTestCmd = DuetPackCmdHeader('COMMAND')
cTestCmd = DuetPackCmdParam(cTestCmd,'Morrison,Van')
cTestCmd = DuetPackCmdParam(cTestCmd,'Wild Nights')
cTestCmd = DuetPackCmdParam(cTestCmd,'"The Man"')
cTestCmd = DuetPackCmdParam(cTestCmd,'Tupelo Honey')
// Resulting command is:
// 'COMMAND-"Morrison, Van",Wild Nights,""The Man"",Tupelo Honey'
// Remove the parameters for this command
cCmdheader = DuetParseCmdHeader(cTestCmd)
SWITCH (cCmdheader)
{
setVolume(level)IVolumeComponent1VOL_LVLSet volume, range is 0-255
setVolumeMuteOn(state)IVolumeComponent199VOL_MUTE_ONDiscrete Function Channel: Volume mute is
setVolumePreset(preset)IVolumeComponentVOLPRESET-<preset>Recall volume preset where <preset> is 1
setVolumeRamp(UP)IVolumeComponent24VOL_UPRamping Channel: Volume is ramped up
setVolumeRamp(DOWN)IVolumeComponent25VOL_DNRamping Channel: Volume is ramped
nel>
<preset>
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
ume mute when channel is activated
era preset when channel is activated
VOLPRESET-<preset>
Save Volume Preset where <preset> is 1 to
x and x is the maximum supported preset
(see specific module documentation)
on while channel is active
to x and x is the maximum supported preset (see specific module documentation)
while channel is active
down while channel is active
10
Standard NetLinx API (SNAPI) R 1.8.0
Amplifier Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
processVolumeEvent(int)IVolumeComponentListener1VOL_LVLVolume changed, range is 0-255
processVolumeMuteEvent(boolean)IVolumeComponentListener199VOL_MUTE_FBFeedback Channel: Volume is muted if
processVolumePresetEvent(int)IVolumeComponentListenerVOLPRESET-<preset>Volume preset changed, where <preset> is
processVolumeRampEvent(UP)IVolumeComponentListener24VOL_UP_FBFeedback Channel: Volume is ramping up
processVolumeRampEvent(DOWN)IVolumeComponentListener25VOL_DN_FBFeedback Channel: Volume is ramping
channel is on
1-x and x is the maximum supported preset
(see specific module documentation)
Load properties from the file with the supplied filename. Used to load meta-data
properties for modules including Generic IR
modules.
for ERROR, WARNING, DEBUG, INFO
Set the device date/time.
or 0. When passback is on, all response
from the device will be passed back to the
NetLinx program as a string from the virtual
device
Set the value of property <key> to <value>
chronized with device while channel is on
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
Close the search associated with search
key = <key>
Delete phonebook record with index/id of
<id>
Query for the phonebook capacity.
Responds with PHONEBOOKCAPACITY<count> where count is 1 to x and x is the
maximum supported phonebook index (see
specific module documentation)
20
Standard NetLinx API (SNAPI) R 1.8.0
Audio Conferencer Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
queryDB(si)IPhonebookComponentPHONEBOOKNEXT-
queryDB(si)IPhonebookComponentPHONEBOOKPREV-
queryDB(si)IPhonebookComponentPHONEBOOKRE-
searchDB(sr)IPhonebookComponentPHONEBOOK-
<key>[,<count>,<position>]
<key>[,<count>]
FRESH<key>[,<count>]
SEARCH<key>,ID=<id>
Request next <count> records starting with
record <position> for the phonebook
search associated with search key <key>.
If <count> is not present, it is assumed to
be 1. If <position> is not present, it is
assumed th be the next record in the
search result set based on the last
PHONEBOOKNEXT or PHONEBOOKPREV command. Responses with
PHONEBOOKNEXT-<key>,<count>,<position> where <key> is the search key,
<count> is the number of records to expect
and <position> is the position of the first
record to be returned between 1 through
the total number of records.
Request previous <count> records for the
phonebook search associated with search
key <key>. If <count> is not present, it is
assumed to be 1. Responses with
PHONEBOOKPREV<key>,<count>,<position> where <key> is
the search key, <count> is the number of
records to expect and <position> is the
position of the first record to be returned
between 1 through the total number of
records.
Refresh <count> records starting with the
last starting position used with a PHONEBOOKNEXT or PHONEBOOKPREV command for the phonebook search associated
with search key <key>. If <count> is not
present, it is assumed to be 1. Responses
with PHONEBOOKNEXT<key>,<count>,<position> where <key> is
the search key, <count> is the number of
records to expect and <position> is the
position of the first record to be returned
between 1 through the total number of
records.
Search the phonebook database for
records with ID equal to <id>. If <id> is "*",
all records are returned. <key> is a search
key used in other search operations, such
as closeSearchDB(). It can be any string
you like, such as a panel device number or
internal key that makes sense for your program. All future DB operation associated
with this search will reference this key
value.
processPowerEvent(ON)IPowerComponentListener255POWER_FBFeedback Channel: Power state changed,
cycleVolumeMute()IVolumeComponent26VOL_MUTEMomentary Function Channel: Cycle vol-
IPhonebookComponentListenerPHONEBOOK-
DATE<id>,<name>,<number>
ESEARCH-<key>
LETE-<id>,<success>
<key>
BOOKRECORD<key>,<id>,<#>,<name
>,<number>
SEARCHRESULT<key>,<count>
<key>
DATE-<id>,<success>
nel>
Update phonebook record with index/id of
<id>, where <name> is the new name and
<number> is the new number
The search associated with search key
<key> have been closed. No more operations can be performed against this search.
Phonebook record with index/id of <id>
was deleted if <success> is 1, otherwise
delete failed.
End of search set was reached for search
with search key <key>
Phonebook record for search with search
key <key>. <id> is the record ID, <#> is the
record position from 1 to the total number
of records, <name> is the name/label and
<number> is the phone number.
Phonebook search results are available for
search with search key <key>. <count> is
the total count of records. Use PHONEBOOKNEXT and PHONEBOOKPREV to
get more records.
Beginning of search set was reached for
search with search key <key>
Phonebook record with index/id of <id>
was updated if <success> is 1, otherwise
update failed.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
ume mute when channel is activated
22
Standard NetLinx API (SNAPI) R 1.8.0
Audio Conferencer Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
cycleVolumePreset()IVolumeComponent138VOL_PRESETMomentary Function Channel: Cycle cam-
getVolumePreset()IVolumeComponent?VOLPRESETQuery for volume preset, responds with
Query for Audio Mixer Crosspoint,
responds with XPOINT<value>,<input>,<output> where <value>
is 0 to 255, <input> is 1 to the maximum
supported input and <output> is the maximum supported output (see specific module documentation)
with MIXERPRESET-<preset> where <preset> is 1 to x and x is the maximum supported preset (see specific module
documentation)
Query for Audio Mixer Crosspoint Mute,
responds with XPOINTMUTE<state>,<input>,<output> where <state> is
0 (un-muted) or 1 (muted), <input> is 1 to
the maximum supported input and <output> is the maximum supported output (see
specific module documentation)
Save Audio Mixer Preset where <preset> is
1 to x and x is the maximum supported preset (see specific module documentation)
Set Audio Mixer Crosspoint for <input> to
one or more <output>s where <value> is 0
to 255. <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific
module documentation)
cycleGainMute()IGainComponent144GAIN_MUTEMomentary Function Channel: Cycle gain
setGain(level)IGainComponent5GAIN_LVLSet gain, range is 0-255
setGainMuteOn(state)IGainComponent143GAIN_MUTE_ONDiscrete Function Channel: Gain mute is
setGainRamp(UP)IGainComponent140GAIN_UPRamping Channel: Gain is ramped up while
setGainRamp(DOWN)IGainComponent141GAIN_DNRamping Channel: Gain is ramped down
processGainEvent(int)IGainComponentListener5GAIN_LVLGain changed, range is 0-255
processGainMuteEvent(boolean)IGainComponentListener143GAIN_MUTE_FBFeedback Channel: Gain is muted if chan-
processGainRampEvent(UP)IGainComponentListener140GAIN_UP_FBFeedback Channel: Gain is ramping up
processGainRampEvent(DOWN)IGainComponentListener141GAIN_DN_FBFeedback Channel: Gain is ramping down
getDebugState()IModuleComponent?DEBUGQuery the debug level, responds with
IAudioMixerComponentXPOINTMUTE-
IAudioMixerComponentListenerXPOINT-
IAudioMixerComponentListenerXPOINTMUTE-
<state>,<input>,<output>
set>
<value>,<input>,<output>
<state>,<input>,<output>
set>
Set Audio Mixer Crosspoint Mute for
<input> and <output> where <state> is 0
(un-muted) or 1 (muted). <input> is 1 to
the maximum supported input and <output> is 1 to the maximum supported output
(see specific module documentation)
Recall Audio Mixer Preset where <preset>
is 1 to x and x is the maximum supported
preset (see specific module documentation)
Audio Mixer Crosspoint changed for
<input> to one or more <output>s where
<value> is 0 to 255. <input> is 1 to the
maximum supported input and <output> is
1 to the maximum supported output (see
specific module documentation)
Audio Mixer Crosspoint Mute changed for
<input> and <output> where <state> is 0
(un-muted) or 1 (muted). <input> is 1 to
the maximum supported input and <output> is 1 to the maximum supported output
(see specific module documentation)
Mixer preset changed, where <preset> is 1
to x and x is the maximum supported preset (see specific module documentation)
mute when channel is activated
on while channel is active
channel is active
while channel is active
nel is on
while channel is on
while channel is on
DEBUG-<state> where <state> is 1-4 for
ERROR, WARNING, DEBUG, INFO
26
Standard NetLinx API (SNAPI) R 1.8.0
Audio Mixer Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
getFWVersion()IModuleComponent?FWVERSIONQuery for the device firmware version,
getProperty(key)IModuleComponent?PROPERTY-<key>Query for the value of property <key>,
getVersion()IModuleComponent?VERSIONQuery for the module version, responds
Load properties from the file with the supplied filename. Used to load meta-data
properties for modules including Generic IR
modules.
for ERROR, WARNING, DEBUG, INFO
Set the device date/time.
or 0. When passback is on, all response
from the device will be passed back to the
NetLinx program as a string from the virtual
device
Set the value of property <key> to <value>
chronized with device while channel is on
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
Query for the input connected to an output,
respond with SWITCHL<sl>I<input>O<output> where <sl> is
ALL, VIDEO, or AUDIO and <input> is 0 if
there is no connection.. If <sl> is not supplied, ALL will be assumed.
Standard NetLinx API (SNAPI) R 1.8.0
27
Audio Mixer Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
getOutput(sl,input)ISwitcherComponent?OUTPUT-
getSwitcherPreset()ISwitcherComponent?SWITCHPRESETQuery for switcher preset, responds with
setVolume(level)IVolumeComponent1VOL_LVLSet volume, range is 0-255
setVolumeMuteOn(state)IVolumeComponent199VOL_MUTE_ONDiscrete Function Channel: Volume mute is
[<sl>,]<input>
SAVE-<preset>
<preset>
put,Ö>
put,outputÖ>
put,outputÖ>
put,Ö>
<preset>
L<sl>I<input>O<output>
<preset>
Query for the outputs connected to an
input, respond with SWITCHL<sl>I<input>O<output>,<output>Ö where
<sl> is ALL, VIDEO, or AUDIO and <output> is 0 if there is no connection. If <sl> is
not supplied, ALL will be assumed.
SWITCHPRESET-<preset>
Save switcher preset where <preset> is 1-x
and x is the maximum supported preset
(see specific module documentation)
Recall switcher preset where <preset> is 1x and x is the maximum supported preset
(see specific module documentation)
Switch <input> to one or more <output>s
for switcher level Audio. Use <input> 0 for
disconnect.
Switch <input> to one or more <output>s
for switcher level All. Use <input> 0 for disconnect.
Switch <input> to one or more <output>s
where <sl> is ALL, VIDEO, or AUDIO.
Use <input> 0 for disconnect.
Switch <input> to one or more <output>s
for switcher level Video. Use <input> 0 for
disconnect.
Switcher preset changed, where <preset>
is 1-x and x is the maximum supported preset (see specific module documentation)
Switch connections changed, where <sl>
is ALL, VIDEO, or AUDIO and <input> is 0
if there is no connection.
ume mute when channel is activated
era preset when channel is activated
VOLPRESET-<preset>
Save Volume Preset where <preset> is 1 to
x and x is the maximum supported preset
(see specific module documentation)
on while channel is active
28
Standard NetLinx API (SNAPI) R 1.8.0
Audio Mixer Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
setVolumePreset(preset)IVolumeComponentVOLPRESET-<preset>Recall volume preset where <preset> is 1
setVolumeRamp(UP)IVolumeComponent24VOL_UPRamping Channel: Volume is ramped up
setVolumeRamp(DOWN)IVolumeComponent25VOL_DNRamping Channel: Volume is ramped
processVolumeEvent(int)IVolumeComponentListener1VOL_LVLVolume changed, range is 0-255
processVolumeMuteEvent(boolean)IVolumeComponentListener199VOL_MUTE_FBFeedback Channel: Volume is muted if
processVolumePresetEvent(int)IVolumeComponentListenerVOLPRESET-<preset>Volume preset changed, where <preset> is
processVolumeRampEvent(UP)IVolumeComponentListener24VOL_UP_FBFeedback Channel: Volume is ramping up
processVolumeRampEvent(DOWN)IVolumeComponentListener25VOL_DN_FBFeedback Channel: Volume is ramping
to x and x is the maximum supported preset (see specific module documentation)
while channel is active
down while channel is active
channel is on
1-x and x is the maximum supported preset
(see specific module documentation)
getAudioProcessorInput(output)IAudioProcessorComponent?INPUT-<output>Query for the input connected to an output,
IAudioProcessorComponentAUDIOPROCADD-
IAudioProcessorComponent?AUDIOPROCADDR-
IAudioProcessorComponent?AUDIOPROCIDX-
<index>,<address>
<index>
<address>
<input>,<output>
Add a Audio Processor object at a given
index, where <index> is 1 through x and
<address> is the object address and x is
the maximum supported index (see specific
module documentation)
incremented when channel is activated
decremented when channel is activated
Processor preset when channel is activated
Processor state when channel is activated
Query for the address of the Audio Processor object at index <index>, responds with
AUDIOPROCADDR-<index>,<address>
Query for the index of the Audio Processor
object with address <address>, responds
with AUDIOPROCADDR<index>,<address>
Query for Audio Processor crosspoint,
responds with XPOINT<value>,<input>,<output> where <value>
is 0 to 255, <input> is 1 to the maximum
supported input and <output> is 1 to the
maximum supported output (see specific
module documentation)
respond with SWITCHL<sl>I<input>O<output> where <sl> is
AUDIO and <input> is 0 if there is no connection.
Standard NetLinx API (SNAPI) R 1.8.0
31
Audio Processor Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
getAudioProcessorOutput(input)IAudioProcessorComponent?OUTPUT-<input>Query for the outputs connected to an
setAudioProcessorStateOn(state)IAudioProcessorComponent199AUDIOPROC_STATE_ONDiscrete Function Channel: Audio Proces-
IAudioProcessorComponent?XPOINTMUTE-
IAudioProcessorComponentAUDIOPROCRE-
IAudioProcessorComponentXPOINT-
IAudioProcessorComponentXPOINTMUTE-
SET
<input>,<output>
MOVEADDR<address>
MOVEIDX-<index>
SAVE-<preset>
<value>,<input>,<output>[,<output>,<output>Ö]
<state>,<input>,<output>
<preset>
input, respond with SWITCHL<sl>I<input>O<output>,<output>Ö where
<sl> is AUDIO and <input> is 0 if there is
no connection.
Query for Audio Processor Preset,
responds with AUDIOPROCPRESET<preset> where <preset> is 1 to x and x is
the maximum supported preset (see specific module documentation)
Query for Audio Processor Crosspoint
Mute, responds with XPOINTMUTE<state>,<input>,<output> where <state> is
0 (un-muted) or 1 (muted), <input> is 1 to
the maximum supported input and <output> is 1 to the maximum supported output
(see specific module documentation)
Remove the Audio Processor object with
address <address>, where <address> is
the object address
Remove the Audio Processor object at
index <index>, where <index> is 1 through
x and x is the maximum supported index
(see specific module documentation)
Save Audio Processor Preset where <preset> is 1 to x and x is the maximum supported preset (see specific module
documentation)
Set Audio Processor crosspoint for <input>
to one or more <output>s where <value> is
0 to 255. <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific
module documentation)
Set Audio Processor Crosspoint Mute for
<input> and <output> where <state> is 0
(un-muted) or 1 (muted). <input> is 1 to
the maximum supported input and <output> is 1 to the maximum supported output
(see specific module documentation)
Recall Audio Processor Preset where <preset> is 1 to x and x is the maximum supported preset (see specific module
documentation)
passThru(buffer)IModuleComponentPASSTHRU-<buffer>Send a message directly to the device
reinitialize()IModuleComponentREINITReinitialize communication with the device
setDebugState(state)IModuleComponentDEBUG-<state>Set the debug state where <state> is 1-4
IAudioProcessorComponentAI<input>O<output,out-
IAudioProcessorComponentListenerXPOINT-
IAudioProcessorComponentListenerXPOINTMUTE-
IAudioProcessorComponentListener199AUDIOPROC_STATE_FBFeedback Channel: Audio Processor state
put,Ö>
<value>,<input>,<output>
<state>,<input>,<output>
<preset>
L<sl>I<input>O<output>
<file>
Switch <input> to one or more <output>s
for switcher level Audio. Use <input> 0 for
disconnect.
Audio Processor crosspoint changed for
<input> to one or more <output>s where
<value> is 0 to 255. <input> is 1 to the
maximum supported input and <output> is
1 to the maximum supported output (see
specific module documentation)
Audio Processor Crosspoint Mute changed
for <input> and <output> where <state> is
0 (un-muted) or 1 (muted). <input> is 1 to
the maximum supported input and <output> is 1 to the maximum supported output
(see specific module documentation)
255
Audio Processor preset changed, where
<preset> is 1 to x and x is the maximum
supported preset (see specific module documentation)
is on if channel is on
Audio Processor switch connections
changed, where <sl> is AUDIO and <input>
is 0 if there is no connection.
DEBUG-<state> where <state> is 1-4 for
ERROR, WARNING, DEBUG, INFO
responds with FWVERSION-<version>
respond with PROPERTY-<key>,<value>
with VERSION-<version>
Load properties from the file with the supplied filename. Used to load meta-data
properties for modules including Generic IR
modules.
processPowerEvent(ON)IPowerComponentListener255POWER_FBFeedback Channel: Power state changed,
<hh:mm:ss>
<key>,<value>
nel>
Set the device date/time.
or 0. When passback is on, all response
from the device will be passed back to the
NetLinx program as a string from the virtual
device
Set the value of property <key> to <value>
chronized with device while channel is on
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
processPowerEvent(ON)IPowerComponentListener255POWER_FBFeedback Channel: Power state changed,
<file>
<hh:mm:ss>
<key>,<value>
nel>
Load properties from the file with the supplied filename. Used to load meta-data
properties for modules including Generic IR
modules.
for ERROR, WARNING, DEBUG, INFO
Set the device date/time.
or 0. When passback is on, all response
from the device will be passed back to the
NetLinx program as a string from the virtual
device
Set the value of property <key> to <value>
chronized with device while channel is on
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
38
Standard NetLinx API (SNAPI) R 1.8.0
Audio Tape Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
cycleSearchSpeed()ITapeTransportComponent119SEARCH_SPEEDMomentary Function Channel: Cycle
ejectTape()ITapeTransportComponent120EJECTMomentary Function Channel: Tape is
resetTapeCounter()ITapeTransportComponent121RESET_COUNTERMomentary Function Channel: Counter is
processPowerEvent(ON)IPowerComponentListener255POWER_FBFeedback Channel: Power state changed,
cycleBand()ITunerStationComponent40TUNER_BANDMomentary Function Channel: Cycle tuner
cycleDisplayInfo()ITunerStationComponent234TUNER_OSDMomentary Function Channel: Cycle on-
cycleStationPresetGroup()ITunerStationComponent224TUNER_PRESET_GROUPMomentary Function Channel: Cycle sta-
decrementStation()ITunerStationComponent23CHAN_DNMomentary Function Channel: Station is
getBand()ITunerStationComponent?BANDQuery for band, responds with BAND-<tb>
getStation()ITunerStationComponent?XCHQuery for station, responds with XCH-<sta-
getStationPreset()ITunerStationComponent?TUNERPRESETQuery for tuner preset, responds with
nel>
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
band when channel is activated
screen or front-panel display info when
channel is activated
tion preset group/bank when channel is
activated
decremented when channel is activated
where <tb> is
AM,FM,FM_MONO,SATELLITE_RADIO,L
ONG_WAVE,MEDIUM_WAVE,SHORT_W
AVE ,TV
tion> where <station> is a station string
such as "501", "103.7" or "5.1"
processPowerEvent(ON)IPowerComponentListener255POWER_FBFeedback Channel: Power state changed,
nel>
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
processDiscTransportEvent(PLAY)IDiscTransportComponentListener241PLAY_FBFeedback Channel: Transport state change
processDiscTransportEvent(STOP)IDiscTransportComponentListener242STOP_FBFeedback Channel: Transport state change
processDiscTransportEvent(PAUSE)IDiscTransportComponentListener243PAUSE_FBFeedback Channel: Transport state change
processDiscTransportEvent(SCAN_FWD)IDiscTransportComponentListener246SFWD_FBFeedback Channel: Transport state change
processDiscTransportEvent(SCAN_REV)IDiscTransportComponentListener247SREV_FBFeedback Channel: Transport state change
processDiscTransportEvent(RECORD)IDiscTransportComponentListener248RECORD_FBFeedback Channel: Transport state change
processDiscTransportEvent(SLOW_FWD)IDiscTransportComponentListener249SLOW_FWD_FBFeedback Channel: Transport state change
processDiscTransportEvent(SLOW_REV)IDiscTransportComponentListener250SLOW_REV_FBFeedback Channel: Transport state change
<counter>
TIFY-<state>
to scan forward when the channel is activated
to scan reverse when the channel is activated
to record when the channel is activated
to step frame forward when the channel is
activated
to step frame reverse when the channel is
activated
to slow forward when the channel is activated
to slow reverse when the channel is activated
Set the play position where <counter> is a
String in the format [-]hh:mm:ss.ff, mm
should be 0 >= mm < 60, ss should be 0 >=
ss < 60, ff should be valid for the disc type
Turn track counter notification on or off,
where <state> is 1 or 0
IMediaDeviceComponent178MEDIA_RANDOM_DISC_ONMomentary Function Channel: Random-
IMediaDeviceComponent179MEDIA_RANDOM_ALL_ON Momentary Function Channel: Random-all
IMediaDeviceComponent180MEDIA_RANDOM_OFF_ON Momentar y Function Channel: Random-off
IMediaDeviceComponent181MEDIA_REPEAT_DISC_ON Momentary Function Channel: Repeat-disc
IMediaDeviceComponent182MEDIA_REPEAT_TRACK_ONMomentary Function Channel: Repeat-
<counter>
<num>,<duration>,<discNumber>
<key>,<value>
<key>
TIFY-<state>
<url>
Track counter changed, where <counter>
is a String in the format [-]hh:mm:ss.ff
Track info changed, where <num> is track
number, <duration> is a track duration
String in the format [-]hh:mm:ss.ff and <discNumber> is the dusc number the track
belongs to.
Track properties query response, responds
with multiple TRACKPROP-<key>,<value>
commands, one for each key
dom when channel is activated
repeat when channel is activated
with DECODESOURCE-<url> where <url>
is the URL of the source.
responds with multiple DECODEPROP<key>,<value>, one for each property,
where <key> is the property key and
<value> is the property value.
Query for one Media Device Properties,
responds with DECODEPROP<key>,<value> where <key> is the property
key and <value> is the property value.
Turn media counter notification on or off,
where <state> is 1 or 0
disc is on while channel is active
is on while channel is active
is on while channel is active
is on while channel is active
track is on while channel is active
on while channel is active
is on while channel is active
Set Media Device Source where <url> is
the URL of the source.
moveMenuCursor(UP)IMenuComponent45MENU_UPMomentary Function Channel: Move menu
moveMenuCursor(DOWN)IMenuComponent46MENU_DNMomentary Function Channel: Move menu
moveMenuCursor(LEFT)IMenuComponent47MENU_LTMomentary Function Channel: Move menu
moveMenuCursor(RIGHT)IMenuComponent48MENU_RTMomentary Function Channel: Move menu
moveMenuCursor(UP_LEFT)IMenuComponent51MENU_UP_LTMomentary Function Channel: Move menu
moveMenuCursor(UP_RIGHT)IMenuComponent52MENU_UP_RTMomentary Function Channel: Move menu
moveMenuCursor(DOWN_LEFT)IMenuComponent53MENU_DN_LTMomentary Function Channel: Move menu
moveMenuCursor(DOWN_RIGHT)IMenuComponent54MENU_DN_RTMomentary Function Channel: Move menu
pressMenuButton(DIGIT_0)IMenuComponent10DIGIT_0Momentary Function Channel: Press menu
IMediaDeviceComponentListenerMEDIACOUNTER-
IMediaDeviceComponentListenerDECODEPROP-
IMediaDeviceComponentListener178MEDIA_RANDOM_DISC_FBFeedback Channel: Random state change
IMediaDeviceComponentListener179MEDIA_RANDOM_ALL_FB Feedback Channel: Random state change
IMediaDeviceComponentListener180MEDIA_RANDOM_OFF_FB Feedback Channel: Random state change
IMediaDeviceComponentListener181MEDIA_REPEAT_DISC_FB Feedback Channel: Repeat state change
IMediaDeviceComponentListener182MEDIA_REPEAT_TRACK_FBFeedback Channel: Repeat state change
IMediaDeviceComponentListener183MEDIA_REPEAT_ALL_FBFeedback Channel: Repeat state change
IMediaDeviceComponentListener184MEDIA_REPEAT_OFF_FBFeedback Channel: Repeat state change
IMediaDeviceComponentListenerDECODESOURCE-
<counter>
<key>,<value>
<recordID>,<name>,<url>
Media counter changed, where <counter>
is a String in the format [-]hh:mm:ss.ff
Media property value where <key> is the
property key and <value> is the property
value. One command is returned for each
key.
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
Media Device Source changed where
<recordID> is the record ID of the source
(may be blank), <name> is the name of the
source and <url> is the URL of the source.
cursor UP
cursor DOWN
cursor LEFT
cursor RIGHT
cursor UP_LEFT
cursor UP_RIGHT
cursor DOWN_LEFT
cursor DOWN_RIGHT
button DIGIT_0
58
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Decoder Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(DIGIT_1)IMenuComponent11DIGIT_1Momentary Function Channel: Press menu
pressMenuButton(DIGIT_2)IMenuComponent12DIGIT_2Momentary Function Channel: Press menu
pressMenuButton(DIGIT_3)IMenuComponent13DIGIT_3Momentary Function Channel: Press menu
pressMenuButton(DIGIT_4)IMenuComponent14DIGIT_4Momentary Function Channel: Press menu
pressMenuButton(DIGIT_5)IMenuComponent15DIGIT_5Momentary Function Channel: Press menu
pressMenuButton(DIGIT_6)IMenuComponent16DIGIT_6Momentary Function Channel: Press menu
pressMenuButton(DIGIT_7)IMenuComponent17DIGIT_7Momentary Function Channel: Press menu
pressMenuButton(DIGIT_8)IMenuComponent18DIGIT_8Momentary Function Channel: Press menu
pressMenuButton(DIGIT_9)IMenuComponent19DIGIT_9Momentary Function Channel: Press menu
pressMenuButton(PLUS_10)IMenuComponent20MENU_PLUS_10Momentary Function Channel: Press menu
pressMenuButton(ENTER)IMenuComponent21MENU_ENTERMomentary Function Channel: Press menu
pressMenuButton(CANCEL)IMenuComponent43MENU_CANCELMomentary Function Channel: Press menu
pressMenuButton(MENU)IMenuComponent44MENU_FUNCMomentary Function Channel: Press menu
pressMenuButton(EXIT)IMenuComponent50MENU_EXITMomentary Function Channel: Press menu
pressMenuButton(VIDEO)IMenuComponent57MENU_VIDEOMomentary Function Channel: Press menu
pressMenuButton(THUMBS_DOWN)IMenuComponent58MENU_THUMBS_DNMomentary Function Channel: Press menu
pressMenuButton(THUMBS_UP)IMenuComponent59MENU_THUMBS_UPMomentary Function Channel: Press menu
pressMenuButton(ACCEPT)IMenuComponent60MENU_ACCEPTMomentary Function Channel: Press menu
pressMenuButton(REJECT)IMenuComponent61MENU_REJECTMomentary Function Channel: Press menu
pressMenuButton(LIVE_TV)IMenuComponent62MENU_LIVE_TVMomentary Function Channel: Press menu
button DIGIT_1
button DIGIT_2
button DIGIT_3
button DIGIT_4
button DIGIT_5
button DIGIT_6
button DIGIT_7
button DIGIT_8
button DIGIT_9
button PLUS_10
button ENTER
button CANCEL
button MENU
button EXIT
button VIDEO
button THUMBS_DOWN
button THUMBS_UP
button ACCEPT to answer an incoming call
button REJECT to reject an incoming call
button LIVE_TV
Standard NetLinx API (SNAPI) R 1.8.0
59
Digital Media Decoder Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(SLEEP)IMenuComponent63MENU_SLEEPMomentary Function Channel: Press menu
pressMenuButton(PPV)IMenuComponent64MENU_PPVMomentary Function Channel: Press menu
pressMenuButton(FUNCTION)IMenuComponent65MENU_FUNCTIONMomentary Function Channel: Press menu
pressMenuButton(SETUP)IMenuComponent66MENU_SETUPMomentary Function Channel: Press menu
pressMenuButton(XM)IMenuComponent77MENU_XMMomentary Function Channel: Press menu
pressMenuButton(FM)IMenuComponent78MENU_FMMomentary Function Channel: Press menu
pressMenuButton(AM)IMenuComponent79MENU_AMMomentary Function Channel: Press menu
pressMenuButton(CLEAR)IMenuComponent80MENU_CLEARMomentary Function Channel: Press menu
pressMenuButton(BACK)IMenuComponent81MENU_BACKMomentary Function Channel: Press menu
pressMenuButton(FORWARD)IMenuComponent82MENU_FORWARDMomentary Function Channel: Press menu
pressMenuButton(ADVANCE)IMenuComponent83MENU_ADVANCEMomentary Function Channel: Press menu
pressMenuButton(DIMMER)IMenuComponent84MENU_DIMMERMomentary Function Channel: Press menu
pressMenuButton(HOLD)IMenuComponent85MENU_HOLDMomentary Function Channel: Press menu
pressMenuButton(LIST)IMenuComponent86MENU_LISTMomentary Function Channel: Press menu
pressMenuButton(LEFT_PAREN)IMenuComponent87MENU_LT_PARENMomentary Function Channel: Press menu
pressMenuButton(RIGHT_PAREN)IMenuComponent88MENU_RT_PARENMomentary Function Channel: Press menu
pressMenuButton(UNDER_SCORE)IMenuComponent89MENU_UNDERSCOREMomentary Function Channel: Press menu
pressMenuButton(DASH)IMenuComponent90MENU_DASHMomentary Function Channel: Press menu
pressMenuButton(ASTERISK)IMenuComponent91MENU_ASTERISKMomentary Function Channel: Press menu
pressMenuButton(DOT)IMenuComponent92MENU_DOTMomentary Function Channel: Press menu
button SLEEP
button PPV
button FUNCTION
button SETUP
button XM
button FM
button AM
button CLEAR
button BACK
button FORWARD
button ADVANCE
button DIMMER
button HOLD
button LIST
button LEFT_PAREN
button RIGHT_PAREN
button UNDER_SCORE
button DASH
button ASTERISK
button DOT
60
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Decoder Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(POUND)IMenuComponent93MENU_POUNDMomentary Function Channel: Press menu
pressMenuButton(COMMA)IMenuComponent94MENU_COMMAMomentary Function Channel: Press menu
pressMenuButton(DIAL)IMenuComponent95MENU_DIALMomentary Function Channel: Press menu
pressMenuButton(CONFERENCE)IMenuComponent96MENU_CONFERENCEMomentary Function Channel: Press menu
pressMenuButton(PLUS_100)IMenuComponent97MENU_PLUS_100Momentary Function Channel: Press menu
pressMenuButton(PLUS_1000)IMenuComponent98MENU_PLUS_1000Momentary Function Channel: Press menu
pressMenuButton(DISPLAY)IMenuComponent99MENU_DISPLAYMomentary Function Channel: Press menu
pressMenuButton(SUBTITLE)IMenuComponent100MENU_SUBTITLEMomentary Function Channel: Press menu
pressMenuButton(INFO)IMenuComponent101MENU_INFOMomentary Function Channel: Press menu
pressMenuButton(FAVORITES)IMenuComponent102MENU_FAVORITESMomentary Function Channel: Press menu
pressMenuButton(CONTINUE)IMenuComponent103MENU_CONTINUEMomentary Function Channel: Press menu
pressMenuButton(RETURN)IMenuComponent104MENU_RETURNMomentary Function Channel: Press menu
pressMenuButton(GUIDE)IMenuComponent105MENU_GUIDEMomentary Function Channel: Press menu
pressMenuButton(PAGE_UP)IMenuComponent106MENU_PAGE_UPMomentary Function Channel: Press menu
pressMenuButton(PAGE_DOWN)IMenuComponent107MENU_PAGE_DNMomentary Function Channel: Press menu
pressMenuButton(DECK_A_B)IMenuComponent108MENU_DECK_A_BMomentary Function Channel: Press menu
pressMenuButton(TV_VCR)IMenuComponent109MENU_TV_VCRMomentary Function Channel: Press menu
pressMenuButton(RECORD_SPEED)IMenuComponent110MENU_RECORD_SPEEDMomentary Function Channel: Press menu
pressMenuButton(PROGRAM)IMenuComponent111MENU_PROGRAMMomentary Function Channel: Press menu
pressMenuButton(AB_REPEAT)IMenuComponent112MENU_AB_REPEATMomentary Function Channel: Press menu
button POUND
button COMMA
button DIAL
button CONFERENCE
button PLUS_100
button PLUS_1000
button DISPLAY
button SUBTITLE
button INFO
button FAVORITES
button CONTINUE
button RETURN
button GUIDE
button PAGE_UP
button PAGE_DOWN
button DECK_A_B
button TV_VCR
button RECORD_SPEED
button PROGRAM
button AB_REPEAT
Standard NetLinx API (SNAPI) R 1.8.0
61
Digital Media Decoder Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(HELP)IMenuComponent113MENU_HELPMomentary Function Channel: Press menu
pressMenuButton(TITLE)IMenuComponent114MENU_TITLEMomentary Function Channel: Press menu
pressMenuButton(TOP_MENU)IMenuComponent115MENU_TOP_MENUMomentary Function Channel: Press menu
pressMenuButton(ZOOM)IMenuComponent116MENU_ZOOMMomentary Function Channel: Press menu
pressMenuButton(ANGLE)IMenuComponent117MENU_ANGLEMomentary Function Channel: Press menu
pressMenuButton(AUDIO)IMenuComponent118MENU_AUDIOMomentary Function Channel: Press menu
pressMenuButton(PREVIEW_INPUT)IMenuComponent129MENU_PREVIEW_INPUTMomentary Function Channel: Press menu
pressMenuButton(SEND_INPUT)IMenuComponent130MENU_SEND_INPUTMomentary Function Channel: Press menu
pressMenuButton(SEND_GRAPHICS)IMenuComponent131MENU_SEND_GRAPHICSMomentary Function Channel: Press menu
pressMenuButton(FLASH)IMenuComponent203MENU_FLASHMomentary Function Channel: Press menu
pressMenuButton(RESET)IMenuComponent215MENU_RESETMomentary Function Channel: Press menu
pressMenuButton(INSTANT_REPLAY)IMenuComponent218MENU_INSTANT_REPLAYMomentary Function Channel: Press menu
pressMenuButton(A)IMenuComponentALPHA-APress menu button A
pressMenuButton(B)IMenuComponentALPHA-BPress menu button B
pressMenuButton(C)IMenuComponentALPHA-CPress menu button C
pressMenuButton(D)IMenuComponentALPHA-DPress menu button D
pressMenuButton(E)IMenuComponentALPHA-EPress menu button E
pressMenuButton(F)IMenuComponentALPHA-FPress menu button F
pressMenuButton(G)IMenuComponentALPHA-GPress menu button G
pressMenuButton(H)IMenuComponentALPHA-HPress menu button H
pressMenuButton(I)IMenuComponentALPHA-IPress menu button I
pressMenuButton(J)IMenuComponentALPHA-JPress menu button J
pressMenuButton(K)IMenuComponentALPHA-KPress menu button K
pressMenuButton(L)IMenuComponentALPHA-LPress menu button L
pressMenuButton(M)IMenuComponentALPHA-MPress menu button M
pressMenuButton(N)IMenuComponentALPHA-NPress menu button N
button HELP
button TITLE
button TOP_MENU
button ZOOM
button ANGLE
button AUDIO
button PREVIEW_INPUT
button SEND_INPUT
button SEND_GRAPHICS
button FLASH
button RESET
button INSTANT_REPLAY
62
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Decoder Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(O)IMenuComponentALPHA-OPress menu button O
pressMenuButton(P)IMenuComponentALPHA-PPress menu button P
pressMenuButton(Q)IMenuComponentALPHA-QPress menu button Q
pressMenuButton(R)IMenuComponentALPHA-RPress menu button R
pressMenuButton(S)IMenuComponentALPHA-SPress menu button S
pressMenuButton(T)IMenuComponentALPHA-TPress menu button T
pressMenuButton(U)IMenuComponentALPHA-UPress menu button U
pressMenuButton(V)IMenuComponentALPHA-VPress menu button V
pressMenuButton(W)IMenuComponentALPHA-WPress menu button W
pressMenuButton(X)IMenuComponentALPHA-XPress menu button X
pressMenuButton(Y)IMenuComponentALPHA-YPress menu button Y
pressMenuButton(Z)IMenuComponentALPHA-ZPress menu button Z
selectMenuItem()IMenuComponent49MENU_SELECTMomentary Function Channel: Select cur-
getDebugState()IModuleComponent?DEBUGQuery the debug level, responds with
getFWVersion()IModuleComponent?FWVERSIONQuery for the device firmware version,
getProperty(key)IModuleComponent?PROPERTY-<key>Query for the value of property <key>,
getVersion()IModuleComponent?VERSIONQuery for the module version, responds
setVolume(level)IVolumeComponent1VOL_LVLSet volume, range is 0-255
setVolumeMuteOn(state)IVolumeComponent199VOL_MUTE_ONDiscrete Function Channel: Volume mute is
setVolumePreset(preset)IVolumeComponentVOLPRESET-<preset>Recall volume preset where <preset> is 1
<key>,<value>
nel>
<preset>
Set the value of property <key> to <value>
chronized with device while channel is on
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
ume mute when channel is activated
era preset when channel is activated
VOLPRESET-<preset>
Save Volume Preset where <preset> is 1 to
x and x is the maximum supported preset
(see specific module documentation)
on while channel is active
to x and x is the maximum supported preset (see specific module documentation)
64
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Decoder Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
setVolumeRamp(UP)IVolumeComponent24VOL_UPRamping Channel: Volume is ramped up
setVolumeRamp(DOWN)IVolumeComponent25VOL_DNRamping Channel: Volume is ramped
processVolumeEvent(int)IVolumeComponentListener1VOL_LVLVolume changed, range is 0-255
processVolumeMuteEvent(boolean)IVolumeComponentListener199VOL_MUTE_FBFeedback Channel: Volume is muted if
processVolumePresetEvent(int)IVolumeComponentListenerVOLPRESET-<preset>Volume preset changed, where <preset> is
processVolumeRampEvent(UP)IVolumeComponentListener24VOL_UP_FBFeedback Channel: Volume is ramping up
processVolumeRampEvent(DOWN)IVolumeComponentListener25VOL_DN_FBFeedback Channel: Volume is ramping
while channel is active
down while channel is active
channel is on
1-x and x is the maximum supported preset
(see specific module documentation)
to step frame forward when the channel is
activated
to step frame reverse when the channel is
activated
to slow forward when the channel is activated
to slow reverse when the channel is activated
Set the play position where <counter> is a
String in the format [-]hh:mm:ss.ff, mm
should be 0 >= mm < 60, ss should be 0 >=
ss < 60, ff should be valid for the disc type
Turn track counter notification on or off,
where <state> is 1 or 0
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
Track counter changed, where <counter>
is a String in the format [-]hh:mm:ss.ff
passThru(buffer)IModuleComponentPASSTHRU-<buffer>Send a message directly to the device
reinitialize()IModuleComponentREINITReinitialize communication with the device
setDebugState(state)IModuleComponentDEBUG-<state>Set the debug state where <state> is 1-4
<num>,<duration>,<discNumber>
<key>,<value>
<file>
Track info changed, where <num> is track
number, <duration> is a track duration
String in the format [-]hh:mm:ss.ff and <discNumber> is the dusc number the track
belongs to.
Track properties query response, responds
with multiple TRACKPROP-<key>,<value>
commands, one for each key
mute when channel is activated
on while channel is active
channel is active
while channel is active
nel is on
while channel is on
while channel is on
DEBUG-<state> where <state> is 1-4 for
ERROR, WARNING, DEBUG, INFO
responds with FWVERSION-<version>
respond with PROPERTY-<key>,<value>
with VERSION-<version>
Load properties from the file with the supplied filename. Used to load meta-data
properties for modules including Generic IR
modules.
or 0. When passback is on, all response
from the device will be passed back to the
NetLinx program as a string from the virtual
device
Set the value of property <key> to <value>
chronized with device while channel is on
for ERROR, WARNING, DEBUG, INFO
established with device while channel is on
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
Add an Output Stream Sink where <url> is
the URL of the sink to be added.
with multiple ENCODESINK-<url>, one for
each output stream sink, where <url> is the
URL of the sink/destination.
Query for Output Stream Source, responds
with ENCODESOURCE-<url> where <ur>
is the URL for the source.
ties, responds with multiple
ENCODEPROP-<key>,<value>, one for
each property, where <key> is the property
key and <value> is the property value.
Query for one Output Stream Media Properties, responds with ENCODEPROP<key>,<value> where <key> is the property
key and <value> is the property value.
Remove an Output Stream Sink where
<url> is the URL of the sink to be removed.
Set an Output Stream Property where
<key> is the property key and <value> is
the property value.
Set Output Stream Source where <url> is
the URL for the source.
processPowerEvent(ON)IPowerComponentListener255POWER_FBFeedback Channel: Power state changed,
IOutputStreamComponentListenerENCODEPROP-
IOutputStreamComponentListenerENCODESINKRE-
<key>,<value>
<url>
MOVE-<url>
<url>
nel>
Output Stream Property value where <key>
is the property key and <value> is the property value. One command is returned for
each key.
Output Stream Sink added where <url> is
the URL of the added sink.
Output Stream Sink removed where <url>
is the URL of the removed sink.
Output Stream Source changed where
<url> is the URL for the source.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
processDiscTransportEvent(PLAY)IDiscTransportComponentListener241PLAY_FBFeedback Channel: Transport state change
processDiscTransportEvent(STOP)IDiscTransportComponentListener242STOP_FBFeedback Channel: Transport state change
processDiscTransportEvent(PAUSE)IDiscTransportComponentListener243PAUSE_FBFeedback Channel: Transport state change
processDiscTransportEvent(SCAN_FWD)IDiscTransportComponentListener246SFWD_FBFeedback Channel: Transport state change
processDiscTransportEvent(SCAN_REV)IDiscTransportComponentListener247SREV_FBFeedback Channel: Transport state change
processDiscTransportEvent(RECORD)IDiscTransportComponentListener248RECORD_FBFeedback Channel: Transport state change
to next track/chapter when the channel is
activated
to previous track/chapter when the channel
is activated
to scan forward when the channel is activated
to scan reverse when the channel is activated
to record when the channel is activated
to step frame forward when the channel is
activated
to step frame reverse when the channel is
activated
to slow forward when the channel is activated
to slow reverse when the channel is activated
Set the play position where <counter> is a
String in the format [-]hh:mm:ss.ff, mm
should be 0 >= mm < 60, ss should be 0 >=
ss < 60, ff should be valid for the disc type
Turn track counter notification on or off,
where <state> is 1 or 0
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
(see chart below)
74
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
processDiscTransportEvent(SLOW_FWD)IDiscTransportComponentListener249SLOW_FWD_FBFeedback Channel: Transport state change
processDiscTransportEvent(SLOW_REV)IDiscTransportComponentListener250SLOW_REV_FBFeedback Channel: Transport state change
Track counter changed, where <counter>
is a String in the format [-]hh:mm:ss.ff
Track info changed, where <num> is track
number, <duration> is a track duration
String in the format [-]hh:mm:ss.ff and <discNumber> is the dusc number the track
belongs to.
Track properties query response, responds
with multiple TRACKPROP-<key>,<value>
commands, one for each key
mute when channel is activated
on while channel is active
channel is active
while channel is active
nel is on
while channel is on
while channel is on
Close the search associated with search
key = <key>
Delete media record with record id of <id>
Standard NetLinx API (SNAPI) R 1.8.0
75
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
queryDB(mdbss)IMediaDBComponentMEDIADBNEXT-<key>Request next record (count =1) starting
with the next record <position> for the
media search associated with search key
<key>. If <position> is not present, it is
assumed th be the next record in the
search result set based on the last MEDIADBNEXT or MEDIADBPREV command.
Responses with MEDIADBNEXT<key>,<count>,<position> where <key> is
the search key, <count> is the number of
records to expect and <position> is the
position of the first record to be returned
between 1 through the total number of
records.
Request next record (count =1) starting
with record <position> for the media search
associated with search key <key>. If
<position> is not present, it is assumed th
be the next record in the search result set
based on the last MEDIADBNEXT or
MEDIADBPREV command. Responses
with MEDIADBNEXT<key>,<count>,<position> where <key> is
the search
media search associated with search key
<key>. Responses with MEDIADBPREV<key>,1,<position> where <key> is the
search key and <position> is the position of
the first record to be returned between 1
through the total number of records.
Request previous <count> records for the
media search associated with search key
<key>. Responses with MEDIADBPREV<key>,<count>,<position> where <key> is
the search key, <count> is the number of
records to expect and <position> is the
position of the first record to be returned
between 1 through the total number of
records.
Refresh record starting with the last starting
position used with a MEDIADBNEXT or
MEDIADBPREV command for the media
search associated with search key <key>.
Responses with MEDIADBNEXT<key>,<count>,<position> where <key> is
the search key, <count> is the number of
records to expect and <position> is the
position of the first record to be returned
between 1 through the total number of
records.
Refresh record starting with the last starting
position used with a MEDIADBNEXT or
MEDIADBPREV command for the media
search associated with search key <key>.
Responses with MEDIADBNEXT<key>,<count>,<position> where <key> is
the search key, <count> is the number of
records to expect and <position> is the
position of the first record to be returned
between 1 through the total number of
records.
Query for all Media Database Properties for
a given record where <id> is the record ID,
responds with multiple MEDIADBPROP<id>,<key>,<value>, one for each property,
where <id> is the record id of the record
from which to retrieve the properties, <key>
is the property key and <value> is the property value.
Query for one Media Database Property
where <id> is the record ID and <key> is
the property key to query, responds with
MEDIADBPROP-<id>,<key>,<value>
where <id> is the record id of the record
from which to retrieve the properties, <key>
is the property key and <value> is the property value.
Search the media database for records
with <search type> equal to <search
string>. If <search string> is "*", all records
are returned. <key> is a search key used
in other search operations, such as closeSearchDB(). It can be any string you like,
such as a panel device number or internal
key that makes sense for your program. All
future DB operation associated with this
search will reference this key value.
<search type> can be ALL, ID, ARTIST,
GENRE, TITLE, KEYWORDS, PLAYLIST,
BOOKMARK. RETURN= is optional and
limits the type of items returned in the result
set where <result type> can be ALL, PICTURE, APPLICATION, TRACK, CHAPTER, PLAYLIST, BOOKMARK, DISC,
AUDIO, VIDEO, GENRE, ARTIST, STATION.
Set a Media Databse Property where <id>
is the record id of the record for which to
set the properties, <key> is the property
key and <value> is the property value.
cycleMediaDeviceRandom()IMediaDeviceComponent124MEDIA_RANDOMMomentary Function Channel: Cycle ran-
cycleMediaDeviceRepeat()IMediaDeviceComponent125MEDIA_REPEATMomentary Function Channel: Cycle
getMediaDeviceSource()IMediaDeviceComponent?DECODESOURCEQuery for Media Device Source, responds
IMediaDBComponentListenerMEDIADBPROP-
<id>,<name>,<record
type>[,<url>]
ESEARCH-<key>
<id>,<success>
<id>,<key>,<value>
<key>,<id>,<#>,<name
>,<record type>,<url>
SEARCHRESULT<key>,<count>
<key>
<id>,<success>
Update media record with record id of <id>,
where <name> is the new name and
<record type> is the new record type, i.e.
PICTURE, APPLICATION, TRACK, CHAPTER, PLAYLIST, BOOKMARK, DISC,
AUDIO, VIDEO, GENRE, ARTIST, STATION and <url> is the existing media URL
to associate with the new/updated record
The search associated with search key
<key> have been closed. No more operations can be performed against this search.
Media record with record id of <id> was
deleted if <success> is 1, otherwise delete
failed.
with search key <key>
Media Database property value where <id>
is the record ID, <key> is the property key
and <value> is the property value. One
command is returned for each key.
Media record for search with search key
<key>. <id> is the record ID, <#> is the
record position from 1 to the total number
of records, <name> is the item name,
<record type> is the record type, which
could be PICTURE, APPLICATION,
TRACK, CHAPTER, PLAYLIST, BOOKMARK, DISC, AUDIO, VIDEO, GENRE,
ARTIST, STATION and <url> is the URL of
the media.
Media search results are available for
search with search key <key>. <count> is
the total count of records. Use MEDIADBNEXT and MEDIADBPREV to get more
records.
Beginning of search set was reached for
search with search key <key>
Media record with record id of <id> was
updated if <success> is 1, otherwise
update failed.
dom when channel is activated
repeat when channel is activated
with DECODESOURCE-<url> where <url>
is the URL of the source.
78
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
queryMediaDeviceProperties()IMediaDeviceComponent?DECODEPROPSQuery for all Media Device Properties,
moveMenuCursor(UP)IMenuComponent45MENU_UPMomentary Function Channel: Move menu
moveMenuCursor(DOWN)IMenuComponent46MENU_DNMomentary Function Channel: Move menu
moveMenuCursor(LEFT)IMenuComponent47MENU_LTMomentary Function Channel: Move menu
moveMenuCursor(RIGHT)IMenuComponent48MENU_RTMomentary Function Channel: Move menu
moveMenuCursor(UP_LEFT)IMenuComponent51MENU_UP_LTMomentary Function Channel: Move menu
moveMenuCursor(UP_RIGHT)IMenuComponent52MENU_UP_RTMomentary Function Channel: Move menu
moveMenuCursor(DOWN_LEFT)IMenuComponent53MENU_DN_LTMomentary Function Channel: Move menu
moveMenuCursor(DOWN_RIGHT)IMenuComponent54MENU_DN_RTMomentary Function Channel: Move menu
pressMenuButton(DIGIT_0)IMenuComponent10DIGIT_0Momentary Function Channel: Press menu
pressMenuButton(DIGIT_1)IMenuComponent11DIGIT_1Momentary Function Channel: Press menu
pressMenuButton(DIGIT_2)IMenuComponent12DIGIT_2Momentary Function Channel: Press menu
pressMenuButton(DIGIT_3)IMenuComponent13DIGIT_3Momentary Function Channel: Press menu
pressMenuButton(DIGIT_4)IMenuComponent14DIGIT_4Momentary Function Channel: Press menu
pressMenuButton(DIGIT_5)IMenuComponent15DIGIT_5Momentary Function Channel: Press menu
pressMenuButton(DIGIT_6)IMenuComponent16DIGIT_6Momentary Function Channel: Press menu
pressMenuButton(DIGIT_7)IMenuComponent17DIGIT_7Momentary Function Channel: Press menu
pressMenuButton(DIGIT_8)IMenuComponent18DIGIT_8Momentary Function Channel: Press menu
IMediaDeviceComponentListener183MEDIA_REPEAT_ALL_FBFeedback Channel: Repeat state change
IMediaDeviceComponentListener184MEDIA_REPEAT_OFF_FBFeedback Channel: Repeat state change
IMediaDeviceComponentListenerDECODESOURCE-
<recordID>,<name>,<url>
(see chart below)
(see chart below)
Media Device Source changed where
<recordID> is the record ID of the source
(may be blank), <name> is the name of the
source and <url> is the URL of the source.
cursor UP
cursor DOWN
cursor LEFT
cursor RIGHT
cursor UP_LEFT
cursor UP_RIGHT
cursor DOWN_LEFT
cursor DOWN_RIGHT
button DIGIT_0
button DIGIT_1
button DIGIT_2
button DIGIT_3
button DIGIT_4
button DIGIT_5
button DIGIT_6
button DIGIT_7
button DIGIT_8
80
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(DIGIT_9)IMenuComponent19DIGIT_9Momentary Function Channel: Press menu
pressMenuButton(PLUS_10)IMenuComponent20MENU_PLUS_10Momentary Function Channel: Press menu
pressMenuButton(ENTER)IMenuComponent21MENU_ENTERMomentary Function Channel: Press menu
pressMenuButton(CANCEL)IMenuComponent43MENU_CANCELMomentary Function Channel: Press menu
pressMenuButton(MENU)IMenuComponent44MENU_FUNCMomentary Function Channel: Press menu
pressMenuButton(EXIT)IMenuComponent50MENU_EXITMomentary Function Channel: Press menu
pressMenuButton(VIDEO)IMenuComponent57MENU_VIDEOMomentary Function Channel: Press menu
pressMenuButton(THUMBS_DOWN)IMenuComponent58MENU_THUMBS_DNMomentary Function Channel: Press menu
pressMenuButton(THUMBS_UP)IMenuComponent59MENU_THUMBS_UPMomentary Function Channel: Press menu
pressMenuButton(ACCEPT)IMenuComponent60MENU_ACCEPTMomentary Function Channel: Press menu
pressMenuButton(REJECT)IMenuComponent61MENU_REJECTMomentary Function Channel: Press menu
pressMenuButton(LIVE_TV)IMenuComponent62MENU_LIVE_TVMomentary Function Channel: Press menu
pressMenuButton(SLEEP)IMenuComponent63MENU_SLEEPMomentary Function Channel: Press menu
pressMenuButton(PPV)IMenuComponent64MENU_PPVMomentary Function Channel: Press menu
pressMenuButton(FUNCTION)IMenuComponent65MENU_FUNCTIONMomentary Function Channel: Press menu
pressMenuButton(SETUP)IMenuComponent66MENU_SETUPMomentary Function Channel: Press menu
pressMenuButton(XM)IMenuComponent77MENU_XMMomentary Function Channel: Press menu
pressMenuButton(FM)IMenuComponent78MENU_FMMomentary Function Channel: Press menu
pressMenuButton(AM)IMenuComponent79MENU_AMMomentary Function Channel: Press menu
pressMenuButton(CLEAR)IMenuComponent80MENU_CLEARMomentary Function Channel: Press menu
button DIGIT_9
button PLUS_10
button ENTER
button CANCEL
button MENU
button EXIT
button VIDEO
button THUMBS_DOWN
button THUMBS_UP
button ACCEPT to answer an incoming call
button REJECT to reject an incoming call
button LIVE_TV
button SLEEP
button PPV
button FUNCTION
button SETUP
button XM
button FM
button AM
button CLEAR
Standard NetLinx API (SNAPI) R 1.8.0
81
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(BACK)IMenuComponent81MENU_BACKMomentary Function Channel: Press menu
pressMenuButton(FORWARD)IMenuComponent82MENU_FORWARDMomentary Function Channel: Press menu
pressMenuButton(ADVANCE)IMenuComponent83MENU_ADVANCEMomentary Function Channel: Press menu
pressMenuButton(DIMMER)IMenuComponent84MENU_DIMMERMomentary Function Channel: Press menu
pressMenuButton(HOLD)IMenuComponent85MENU_HOLDMomentary Function Channel: Press menu
pressMenuButton(LIST)IMenuComponent86MENU_LISTMomentary Function Channel: Press menu
pressMenuButton(LEFT_PAREN)IMenuComponent87MENU_LT_PARENMomentary Function Channel: Press menu
pressMenuButton(RIGHT_PAREN)IMenuComponent88MENU_RT_PARENMomentary Function Channel: Press menu
pressMenuButton(UNDER_SCORE)IMenuComponent89MENU_UNDERSCOREMomentary Function Channel: Press menu
pressMenuButton(DASH)IMenuComponent90MENU_DASHMomentary Function Channel: Press menu
pressMenuButton(ASTERISK)IMenuComponent91MENU_ASTERISKMomentary Function Channel: Press menu
pressMenuButton(DOT)IMenuComponent92MENU_DOTMomentary Function Channel: Press menu
pressMenuButton(POUND)IMenuComponent93MENU_POUNDMomentary Function Channel: Press menu
pressMenuButton(COMMA)IMenuComponent94MENU_COMMAMomentary Function Channel: Press menu
pressMenuButton(DIAL)IMenuComponent95MENU_DIALMomentary Function Channel: Press menu
pressMenuButton(CONFERENCE)IMenuComponent96MENU_CONFERENCEMomentary Function Channel: Press menu
pressMenuButton(PLUS_100)IMenuComponent97MENU_PLUS_100Momentary Function Channel: Press menu
pressMenuButton(PLUS_1000)IMenuComponent98MENU_PLUS_1000Momentary Function Channel: Press menu
pressMenuButton(DISPLAY)IMenuComponent99MENU_DISPLAYMomentary Function Channel: Press menu
pressMenuButton(SUBTITLE)IMenuComponent100MENU_SUBTITLEMomentary Function Channel: Press menu
button BACK
button FORWARD
button ADVANCE
button DIMMER
button HOLD
button LIST
button LEFT_PAREN
button RIGHT_PAREN
button UNDER_SCORE
button DASH
button ASTERISK
button DOT
button POUND
button COMMA
button DIAL
button CONFERENCE
button PLUS_100
button PLUS_1000
button DISPLAY
button SUBTITLE
82
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(INFO)IMenuComponent101MENU_INFOMomentary Function Channel: Press menu
pressMenuButton(FAVORITES)IMenuComponent102MENU_FAVORITESMomentary Function Channel: Press menu
pressMenuButton(CONTINUE)IMenuComponent103MENU_CONTINUEMomentary Function Channel: Press menu
pressMenuButton(RETURN)IMenuComponent104MENU_RETURNMomentary Function Channel: Press menu
pressMenuButton(GUIDE)IMenuComponent105MENU_GUIDEMomentary Function Channel: Press menu
pressMenuButton(PAGE_UP)IMenuComponent106MENU_PAGE_UPMomentary Function Channel: Press menu
pressMenuButton(PAGE_DOWN)IMenuComponent107MENU_PAGE_DNMomentary Function Channel: Press menu
pressMenuButton(DECK_A_B)IMenuComponent108MENU_DECK_A_BMomentary Function Channel: Press menu
pressMenuButton(TV_VCR)IMenuComponent109MENU_TV_VCRMomentary Function Channel: Press menu
pressMenuButton(RECORD_SPEED)IMenuComponent110MENU_RECORD_SPEEDMomentary Function Channel: Press menu
pressMenuButton(PROGRAM)IMenuComponent111MENU_PROGRAMMomentary Function Channel: Press menu
pressMenuButton(AB_REPEAT)IMenuComponent112MENU_AB_REPEATMomentary Function Channel: Press menu
pressMenuButton(HELP)IMenuComponent113MENU_HELPMomentary Function Channel: Press menu
pressMenuButton(TITLE)IMenuComponent114MENU_TITLEMomentary Function Channel: Press menu
pressMenuButton(TOP_MENU)IMenuComponent115MENU_TOP_MENUMomentary Function Channel: Press menu
pressMenuButton(ZOOM)IMenuComponent116MENU_ZOOMMomentary Function Channel: Press menu
pressMenuButton(ANGLE)IMenuComponent117MENU_ANGLEMomentary Function Channel: Press menu
pressMenuButton(AUDIO)IMenuComponent118MENU_AUDIOMomentary Function Channel: Press menu
pressMenuButton(PREVIEW_INPUT)IMenuComponent129MENU_PREVIEW_INPUTMomentary Function Channel: Press menu
pressMenuButton(SEND_INPUT)IMenuComponent130MENU_SEND_INPUTMomentary Function Channel: Press menu
button INFO
button FAVORITES
button CONTINUE
button RETURN
button GUIDE
button PAGE_UP
button PAGE_DOWN
button DECK_A_B
button TV_VCR
button RECORD_SPEED
button PROGRAM
button AB_REPEAT
button HELP
button TITLE
button TOP_MENU
button ZOOM
button ANGLE
button AUDIO
button PREVIEW_INPUT
button SEND_INPUT
Standard NetLinx API (SNAPI) R 1.8.0
83
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
pressMenuButton(SEND_GRAPHICS)IMenuComponent131MENU_SEND_GRAPHICSMomentary Function Channel: Press menu
pressMenuButton(FLASH)IMenuComponent203MENU_FLASHMomentary Function Channel: Press menu
pressMenuButton(RESET)IMenuComponent215MENU_RESETMomentary Function Channel: Press menu
pressMenuButton(INSTANT_REPLAY)IMenuComponent218MENU_INSTANT_REPLAYMomentary Function Channel: Press menu
pressMenuButton(A)IMenuComponentALPHA-APress menu button A
pressMenuButton(B)IMenuComponentALPHA-BPress menu button B
pressMenuButton(C)IMenuComponentALPHA-CPress menu button C
pressMenuButton(D)IMenuComponentALPHA-DPress menu button D
pressMenuButton(E)IMenuComponentALPHA-EPress menu button E
pressMenuButton(F)IMenuComponentALPHA-FPress menu button F
pressMenuButton(G)IMenuComponentALPHA-GPress menu button G
pressMenuButton(H)IMenuComponentALPHA-HPress menu button H
pressMenuButton(I)IMenuComponentALPHA-IPress menu button I
pressMenuButton(J)IMenuComponentALPHA-JPress menu button J
pressMenuButton(K)IMenuComponentALPHA-KPress menu button K
pressMenuButton(L)IMenuComponentALPHA-LPress menu button L
pressMenuButton(M)IMenuComponentALPHA-MPress menu button M
pressMenuButton(N)IMenuComponentALPHA-NPress menu button N
pressMenuButton(O)IMenuComponentALPHA-OPress menu button O
pressMenuButton(P)IMenuComponentALPHA-PPress menu button P
pressMenuButton(Q)IMenuComponentALPHA-QPress menu button Q
pressMenuButton(R)IMenuComponentALPHA-RPress menu button R
pressMenuButton(S)IMenuComponentALPHA-SPress menu button S
pressMenuButton(T)IMenuComponentALPHA-TPress menu button T
pressMenuButton(U)IMenuComponentALPHA-UPress menu button U
pressMenuButton(V)IMenuComponentALPHA-VPress menu button V
pressMenuButton(W)IMenuComponentALPHA-WPress menu button W
pressMenuButton(X)IMenuComponentALPHA-XPress menu button X
pressMenuButton(Y)IMenuComponentALPHA-YPress menu button Y
pressMenuButton(Z)IMenuComponentALPHA-ZPress menu button Z
button SEND_GRAPHICS
button FLASH
button RESET
button INSTANT_REPLAY
84
Standard NetLinx API (SNAPI) R 1.8.0
Digital Media Server Functions (Cont.)
NameComponentChannel Level CommandConstantNotes
selectMenuItem()IMenuComponent49MENU_SELECTMomentary Function Channel: Select cur-
getDebugState()IModuleComponent?DEBUGQuery the debug level, responds with
getFWVersion()IModuleComponent?FWVERSIONQuery for the device firmware version,
getProperty(key)IModuleComponent?PROPERTY-<key>Query for the value of property <key>,
getVersion()IModuleComponent?VERSIONQuery for the module version, responds
cyclePower()IPowerComponent9POWERMomentary Function Channel: Cycle power
setPower(ON)IPowerComponent27PWR_ONMomentary Function Channel: Power is
setPower(OFF)IPowerComponent28PWR_OFFMomentary Function Channel: Power is
setPower(ps)IPowerComponent255POWER_ONDiscrete Function Channel: Power is on
IOutputStreamComponentListenerENCODEPROP-
IOutputStreamComponentListenerENCODESINKRE-
<url>
<key>
MOVE-<url>
<key>,<value>
<url>
<key>,<value>
<url>
MOVE-<url>
<url>
with multiple ENCODESINK-<url>, one for
each output stream sink, where <url> is the
URL of the sink/destination.
Query for Output Stream Source, responds
with ENCODESOURCE-<url> where <ur>
is the URL for the source.
ties, responds with multiple
ENCODEPROP-<key>,<value>, one for
each property, where <key> is the property
key and <value> is the property value.
Query for one Output Stream Media Properties, responds with ENCODEPROP<key>,<value> where <key> is the property
key and <value> is the property value.
Remove an Output Stream Sink where
<url> is the URL of the sink to be removed.
Set an Output Stream Property where
<key> is the property key and <value> is
the property value.
Set Output Stream Source where <url> is
the URL for the source.
Output Stream Property value where <key>
is the property key and <value> is the property value. One command is returned for
each key.
Output Stream Sink added where <url> is
the URL of the added sink.
Output Stream Sink removed where <url>
is the URL of the removed sink.
Output Stream Source changed where
<url> is the URL for the source.
setVolume(level)IVolumeComponent1VOL_LVLSet volume, range is 0-255
setVolumeMuteOn(state)IVolumeComponent199VOL_MUTE_ONDiscrete Function Channel: Volume mute is
setVolumePreset(preset)IVolumeComponentVOLPRESET-<preset>Recall volume preset where <preset> is 1
setVolumeRamp(UP)IVolumeComponent24VOL_UPRamping Channel: Volume is ramped up
setVolumeRamp(DOWN)IVolumeComponent25VOL_DNRamping Channel: Volume is ramped
processVolumeEvent(int)IVolumeComponentListener1VOL_LVLVolume changed, range is 0-255
processVolumeMuteEvent(boolean)IVolumeComponentListener199VOL_MUTE_FBFeedback Channel: Volume is muted if
processVolumePresetEvent(int)IVolumeComponentListenerVOLPRESET-<preset>Volume preset changed, where <preset> is
processVolumeRampEvent(UP)IVolumeComponentListener24VOL_UP_FBFeedback Channel: Volume is ramping up
processVolumeRampEvent(DOWN)IVolumeComponentListener25VOL_DN_FBFeedback Channel: Volume is ramping
nel>
<preset>
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
ume mute when channel is activated
era preset when channel is activated
VOLPRESET-<preset>
Save Volume Preset where <preset> is 1 to
x and x is the maximum supported preset
(see specific module documentation)
on while channel is active
to x and x is the maximum supported preset (see specific module documentation)
while channel is active
down while channel is active
channel is on
1-x and x is the maximum supported preset
(see specific module documentation)
form the device is sent to the NetLinx program as a string. Use a DATA_EVENT
event with a STRING handler to caputre
the data from the device.
when channel is activated
turned on when channel is activated
turned off when channel is activated
while channel is active
Associate a Power Sensor with the device
where <dps> is the DPS in string form, i.e.
17:1:0, and <channel> is the channel on
the IO device to which the power sensor is
connected.
power is on while channel is on
band when channel is activated
screen or front-panel display info when
channel is activated
tion preset group/bank when channel is
activated
decremented when channel is activated
where <tb> is
AM,FM,FM_MONO,SATELLITE_RADIO,L
ONG_WAVE,MEDIUM_WAVE,SHORT_W
AVE,TV
tion> where <station> is a station string
such as "501", "103.7" or "5.1"