MultiZoneAPI

The HSMultizoneAPI controls destinations and sources that are controlled via multizone systems such as Russound.  If the plug-in does not support the MultiZoneAPI, then an empty object ("Nothing") will be returned by the GetMultiZoneAPI call.

 

 

Function reference:  The procedures listed here are all MultiZoneAPI procedures - that is, you call them as properties and methods of the MultiZoneAPI object returned by the GetMultiZoneAPI call.

 

HSMultiZoneAPI Procedure Name

Parameters

Return Values

Description

Zone Functions (SupportsMultiZone = True)

SupportsMultiZone (Property Get)

 

Boolean

Returns a boolean value to indicate whether or not the API supports routing sources to multiple zones (i.e., there are multiple zones in the system)

GetZoneCount (Property Get)   Integer Returns the number of Zones supported by the system
GetZoneNames   Array of String Returns an array of the names of the Zones in the system to be used in later calls
AllZonesOn   Boolean Turns on all zones in the system. Returns TRUE to indicate success, FALSE indicates failure.
AllZonesOff   Boolean Turns off all zones in the system. Returns TRUE to indicate success, FALSE indicates failure.
SetZonePower ZoneName as String

Power as Boolean

Boolean Turns a zone on or off.  TRUE indicates ON, FALSE indicates off.  Returns TRUE to indicate success, FALSE indicates failure.
SendKey ZoneName as String

Command as String
 

Optional Wait as Boolean = False

Boolean Send a virtual Key press to a specific zone. The following commands are allowed:

 "Minus"
 "Next"
 "Pause"
 "Play"
 "Plus"
 "Power"
 "Prev", "Previous"
 "Source"
 "Stop"
 "Volume Up"
 "Volume Down"

 

Plugins may support additional commands as documented in their help files.  Wait indicates that the function should wait for a response from the controller.  Returns TRUE to indicate success, FALSE indicates failure.

Zone State/Info Functions (SupportsMultiZone = True)
LastKeyPressed ZoneName as String String Returns the name of the last key pressed on a zone.  See "SendKey" for a list of supported key names.
GetZonePower ZoneName as String Boolean Returns the current power state of the specified zone.  TRUE indicates on, FALSE indicates off.
GetZoneSource ZoneName as String Integer Returns the current source number of the specified Zone.
GetZoneSourceName ZoneName as String String Returns the current source name of the specified Zone.
GetZoneVolume ZoneName as String Integer Returns the current zone volume level (0 to 100).

Source Functions (SupportsMultiSource = True)

SupportsMultiSource (Property Get)   Boolean Returns a Boolean value to indicate whether or not the API supports multiple input sources
GetSourceCount (Property Get)   Integer Returns the number of sources supported by the system
GetSourceNames   Array of String Returns an array of the names of the Sources in the system to be used in later calls
Text Display Functions (SupportsTextDisplay = True)
SupportsTextDisplay (Property Get)   Boolean Returns TRUE if the system supports displaying text on zone outputs.
SendTexttoZone ZoneName as String
Text as String
Boolean Displays a text string on the specified zone.  Returns TRUE to indicate success, FALSE indicates failure.
SendTexttoSource SourceName as String
Text as String
Boolean Displays a text string on all zones set to the specified source.  Returns TRUE to indicate success, FALSE indicates failure.
Zone and Source Functions (SupportsMultiZone = True and SupportsMultiSource = True)
SetZonetoSource ZoneName as String
SourceName as String
Boolean Sets a zone output to the specified source input.  Returns TRUE to indicate success, FALSE indicates failure.
Tuner Functions (SupportsTuner = True)
SupportsTuner (Property Get)   Boolean Returns TRUE if the plugin supports an AM/FM tuner
Tune SourceName as String
Control as TunerControlValues
Optional UpDown as Boolean = False
Optional Value as Double = -1
Boolean Performs a Tuner action.  This can be any value from the TunerControlValues Enum below :

 

Public Enum TunerControlValues As Integer

Tune_Direct = 6
Tune_Relative = 7
Seek = 8
Scan = 9
Band = 10

End Enum

 

Certain actions may accept optional parameters:

Tune_Direct accepts a parameter of the frequency to tune to as the "Value" parameter.
Tune_Relative accepts a parameter of TRUE or FALSE for "UpDown" to indicate UP and DOWN, respectively.

Returns TRUE to indicate success, FALSE indicates failure.

TunerMemory SourceName as String
Control as TunerControlValues
Optional Data as integer = -1
Boolean Performs a Tuner memory action.  This can be any value from the TunerControlValues Enum below :
 

Public Enum TunerControlValues As Integer

Bank_Direct = 0
Bank_Rel_Up = 1
Bank_Rel_Down = 2
Mem_Direct = 3
Mem_Rel_Up = 4
Mem_Rel_Down = 5

End Enum

 

Certain actions may accept optional parameters:

Bank_Direct accepts a parameter of bank to select as an integer for the "Data" value
Mem_Direct accepts a parameter of memory to select as an integer for the "Data" value

Returns TRUE to indicate success, FALSE indicates failure.

XM Tuner Functions (SupportsXMTuner = True)
SupportsXMTuner (Property Get)   Boolean Returns TRUE if the plugin supports an XM tuner
XMTune SourceName as String
Direct as Boolean
IsCategory as Boolean
Optional UpDown as Boolean = False
Optional Value as Double = -1
Optional StayInCategory as Boolean = False
Boolean Performs an XM Tuner action. 

The "Direct" parameter should be TRUE for direct tuning, and the channel number passed for "Value"
The "Direct" parameter should be FALSE for relative tuning, and a value should be passed for "UpDown" as described in the "Tune" function above.

If the action is a category action, "IsCategory" should be TRUE, if it is a channel action, "IsCategory" should be FALSE

If the action is a should be performed within the current category, (i.e., channel up within current category), "StayInCategory" should be TRUE

Returns TRUE to indicate success, FALSE indicates failure.

XMTuneByName SourceName as String
IsCategory as Boolean
ChannelName as String
Boolean Performs an XM Tuner action. 

If the action is a category action, "IsCategory" should be TRUE, if it is a channel action, "IsCategory" should be FALSE

The "ChannelName" parameter is the name of the channel or category to tune to

Returns TRUE to indicate success, FALSE indicates failure.

XMNames   Collection Returns a collection of all the XM Channel names in the format:
ChannelNumber:Name
XMCategories   Collection Returns a collection of all the XM Cateogry names in the format:
CategoryNumber:Name