beautypg.com

Ascii m, Essage, Ypes – ClearOne StreamNet Integration User Manual

Page 18: Imperatives, Interrogatives declaratives menus, Ascii message types

background image

12

Technical Sales: 1.800.705.2103

ASCII message Types

There are three types of ASCII messages - Imperative, Interrogative and Declarative.

I

mPeratIveS

Some messages are commands which initiate an action or directly cause a change of state. For example,
commands that change volume level, select an audio source, or send an IR code.
Example: #@CD PLAyER:~UDP192.168.5.3_5000#PLAy
The message will be routed to the StreamNet Service named CD PLAYER. This service may transmit an IR
code for PLAY to the actual CD player being controlled.

NOTE

f

: This command could be received by any StreamNet device in the system and it would

be routed to the correct device.

Generally, imperative StreamNet commands do not receive responses.

I

NterrogatIveS

Some messages are used to request information. If an interrogative message is sent, a response is
expected.

NOTE

f

: An Imperative may cause a change of state which then generates a report of the

change. This is different from the question/answer of the Interrogatives.

d

eClaratIveS

Some messages only report information. They may be unsolicited status reports (periodic or caused by a
change of state) or they may be a response to an interrogative message. The most common StreamNet
declarative is the #REPORT message.

m

eNuS

StreamNet has a special set of messages which make use of all three types, interrogative, declarative, and
imperative. These messages are the menu messages: #mENU_LIST, #mENU_RESP, and #mENU_SEL
These three messages combine to provide a general means to present menus and allow menu selections
without knowing the content of the menu in advance.
The controller sends a #mENU_LIST message to a StreamNet service to request the menu. The StreamNet
service responds with a series of #mENU_RESP messages (one for each item in the menu). After a selection
has been made, the controller sends a #mENU_SEL message indicating the user’s selection. In addition to
user readable menus selection mechanism, the #mENU_LIST can be used to provide information to third
party control programs.
Menus are organized in a branching tree structure. At the top level of the menu will be a list of items. Selecting
one of these items may lead to a second tier menu; selecting a second tier item may lead to a third tier menu,
etc. This may continue for an arbitrary number of menu tiers. At any level of the menu, there may be some of
the items which do NOT lead to a lower tier. These are called “terminal” items and generally selecting (use
#mENU_SEL) a terminal item will initiate some action in the system.
The syntax of the three menu messages are:
#mENU_LIST StartingItemNumber, EndingItemNumber, {{menuPath}}
Where:
StartingItemNumber is the item number of the first item to be returned in the menu response
EndingItemNumber is the last item to be returned
{{menuPath}} is the navigation path for the current menu tier