License, Copyright, and Trademark
The content contained in this repository is the intellectual property of Snap One, LLC, (formerly known as Wirepath Home Systems, LLC), and use without a valid license from Snap One is strictly prohibited. The user of this repository shall keep all content contained herein confidential and shall protect this content in whole or in part from disclosure to any and all third parties except as specifically authorized in writing by Snap One.
License and Intellectual Property Disclaimer
The content in this repository is provided in connection with Snap One products. No license, express or implied, by estoppal or otherwise, to any intellectual property rights is granted by this document or in this repository. Except as provided in Snap Oneʼs terms and conditions for the license of such products, Snap One and its affiliates assume no liability whatsoever and disclaim any express or implied warranty, relating to the sale and/or use of Snap One products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Snap One products are not intended for use in medical, lifesaving, or life sustaining applications.
Information regarding third-party products is provided solely for educational purposes. Snap One is not responsible for the performance or support of third-party products and does not make any representations or warranties whatsoever regarding the quality, reliability, functionality or compatibility of these products. The reader is advised that third parties can have intellectual property rights that can be relevant to this repository and the technologies discussed herein, and is advised to seek the advice of competent legal counsel regarding the intellectual property rights of third parties, without obligation of Snap One.
Snap One retains the right make changes to this repository or related product specifications and descriptions in this repository, at any time, without notice. Snap One makes no warranty for the use of this repository and assumes no responsibility for any errors that can appear in the repository nor does it make a commitment to update the content contained herein.
Copyright
Copyright 2024 Snap One, LLC. All rights reserved.
The above copyright notice applies to all content in this repository unless otherwise stated explicitly herein that a third-party’s copyright applies.
No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.
Trademarks
Snap One and Snap One Logo, Control4 and the Control4 logo, and DriverWorks are trademarks or registered trademarks of Snap One, LLC. Other product and company names mentioned in this repository may be the trademarks or registered trademarks of their respective owners.
Derivative Works
To the extent that you create any “Derivative Work” (meaning any work that is based upon one or more preexisting versions of the work provided to you in this repository, such as an enhancement or modification, revision, translation, abridgement, condensation, expansion, collection, compilation or any other form in which such preexisting works may be recast, modified, transformed or adapted, explicitly including without limitation, any updates or changes to Snap One, LLC’s software code or intellectual property) such Derivative Work shall be owned by Snap One, LLC and all right, title and interest in and to each such Derivative Work shall automatically vest in Snap One, LLC. To the extent any Derivative Work does not automatically vest in Snap One, LLC by operation of law, you hereby assign such Derivative Work to Snap One, LLC with full title guarantee. Snap One, LLC shall have no obligation to grant you any right in any such Derivative Work.
Contact Us
Snap One, LLC 11734 S. Election Road Salt Lake City, UT 84020 USA
Introduction
This documentation includes content that details the functions that make up the TV Control Proxy which is supported in the DriverWorks Software Development Kit.
Proxies (Commands)
A proxy driver is an interface to the Control4 system for a set of devices that share common functionality. For instance, most TVs have common controls such as ON, OFF and MUTE. The TV Control Proxy allows for a common user interface to control all TVs. The Control4 system (Director) sends information to and receives information from the proxy drivers. The proxy drivers send information to and receives information from the protocol drivers. Remember, your DriverWorks driver interacts with the proxy driver which then interacts with the system. As a driver developer you will be relying on this proxy to provide status (notification) to the Control4 system for the device you are controlling. You will also receive commands from the system that you will act on to control the device. These commands and notifications are at the heart of what you will be implementing in your driver. Essentially your driver is becoming the go-between from the Control4 system and your device with the proxy driver giving structure to the commands and notifications which you will be implementing. Your driver can facilitate communications with multiple types of proxies for a single device. As an example, a Security System driver will utilize both the Security proxy and the Contacts proxy. These additional proxies are configured in the <connections> section of the .c4z.
Protocol (Notifications)
Two similar devices may have the same functionality but utilize a very different command set. A protocol driver provides the device-specific information needed to communicate with the Control4 system. In the case of DriverWorks, the DriverWorks driver is the protocol driver. When combined with the device-specific.c4Z file it provides the custom code necessary to implement the 2-way device driver. In the case of DriverWorks, the DriverWorks driver is the protocol driver. When combined with the device-specific.c4Z file it provides the custom code necessary to implement the 2-way device driver.
What’s New
What’s New in 3.4.2
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.4.2.
What’s New in 3.4.1
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.4.1.
What’s New in 3.4.0
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.4.0.
What’s New in 3.3.2
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.3.2.
What’s New in 3.3.1
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.3.1.
What’s New in 3.3.0
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.3.0.
What’s New in 3.2.3
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.2.3.
What’s New in 3.2.2
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.2.2.
What’s New in 3.2.1
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.2.1.
What’s New in 3.2.0
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.2.0.
What was New in 3.1.2
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.1.2.
What was New in 3.1.0
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.1.0.
What was New in O.S.3
There were no modifications to the TV Control Proxy in conjunction with O.S. Release 3.0.0.
TV Proxy Commands
BACK
Pulse Back button
Name
BACK ()
Parameters
None
Returns
None
CANCEL
Pulse Cancel button
Name
CANCEL ()
Parameters
None
Returns
None
CLOSED_CAPTION
This command toggles closed caption services on the TV.
Name
CLOSED_CAPTION ()
Parameters
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
DASH
Pulses the ‘-’ button.
Name
DASH ()
Parameter
None
Returns
None
DISCONNECT_OUTPUT
Disconnect (turn off) selected output on device.
Name
DISCONNECT_OUTPUT ()
Parameter | Type | Description |
---|---|---|
Output Binding ID | int | Optional. Output Binding ID - should be in the BindingID range in the usage note below. |
PATH DEV LIST | str | Value of the device directly upstream in the AV path. |
Returns
None
EMIT CODE
Emit IR/Serial code.
Name
EMIT_CODE ()
Parameter | Type | Description |
---|---|---|
IRCodeID | INT | ID of the IR Code |
Returns
None
EMIT MACRO
Emit IR/Serial code macro.
Name
EMIT_MACRO ()
Parameter | Type | Description |
---|---|---|
MacroCodeName | INT | Macro Code Name |
Returns
None
GET_DEFAULT_INPUT
Command sent to the protocol during the proxy initialization. Returns the input designated as the default from the protocol device.
Name
GET_DEFAULT_INPUT ()
Parameters
None
Returns
None
HYPHEN
Pulse ‘-’ button
Name
HYPHEN ()
Parameters
None
Returns
None
INFO
Pulse Info button
Name
INFO ()
Parameters
None
Returns
None
LOUDNESS_OFF
Turn loudness off.
Name
LOUDNESS_OFF ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
LOUDNESS_ON
Turn loudness on.
Name
LOUDNESS_ON ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
LOUDNESS_TOGGLE
Toggle loudness on/off.
Name
LOUDNESS_TOGGLE ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
MUTE_OFF
Turn muting off.
Name
MUTE_OFF ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
MUTE_ON
Turn muting on.
Name
MUTE_ON ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
MUTE_TOGGLE
Toggle muting on/off.
Name
MUTE_TOGGLE ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
NUMBER_0
Pulse ‘0’ button
Name
Number_0 ()
Parameters
None
Returns
None
NUMBER_1
Pulse ‘1’ button
Name
Number_1 ()
Parameters
None
Returns
None
NUMBER_2
Pulse ‘2’ button
Name
Number_2 ()
Parameters
None
Returns
None
NUMBER_3
Pulse ‘3’ button
Name
Number_3 ()
Parameters
None
Returns
None
NUMBER_4
Pulse ‘4’ button
Name
Number_4 ()
Parameters
None
Returns
None
NUMBER_5
Pulse ‘5’ button
Name
Number_5 ()
Parameters
None
Returns
None
NUMBER_6
Pulse ‘6’ button
Name
Number_6 ()
Parameters
None
Returns
None
NUMBER_7
Pulse ‘7’ button
Name
Number_7 ()
Parameters
None
Returns
None
NUMBER_8
Pulse ‘8’ button
Name
Number_8 ()
Parameters
None
Returns
None
NUMBER_9
Pulse ‘9’ button
Name
Number_9 ()
Parameters
None
Returns
None
OFF
Turn device Off.
Name
OFF ()
Parameters
None
Returns
None
Usage Note
The ON and OFF proxy commands have the ability to send proxy notifications to display a device power state in Composer and Navigator Devices only. Any desired commands or notifications based off the device ON/OFF state must be handled by your DriverWorks driver.
ON
Turn device On.
Name
ON ()
Parameters
None
Returns
None
Usage Note
The ON and OFF proxy commands have the ability to send proxy notifications to display a device power state in Composer and Navigator Devices only. Any desired commands or notifications based off the device ON/OFF state must be handled by your DriverWorks driver.
PAGE_DOWN
Pulse menu Page down.
Name
PAGE_DOWN ()
Parameters
None
Returns
None
PAGE_UP
Pulse menu Page up.
Name
PAGE_UP ()
Parameters
None
Returns
None
PIP
Pulse menu PIP button..
Name
PIP ()
Parameter | Type | Description |
---|---|---|
MacroCodeName | STR | MacroCodeName |
Returns
None
POUND
Pulse # button.
Name
POUND ()
Parameters
None
Returns
None
PRESET_DOWN
Toggle (cycle down) tuning preset.
Name
PRESET_DOWN ()
Parameters
None
Returns
None
PRESET_UP
Toggle (cycle UP) tuning preset.
Name
PRESET_UP ()
Parameters
None
Returns
None
PULSE_ASPECT_RATIO
Toggle (cycle though) aspect ratio.
Name
PULSE_ASPECT_RATIO ()
Parameters
None
Returns
None
PULSE_BALANCE_DOWN
Pulse balance down (Left)
Name
PULSE_BALNCE_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_BALANCE_UP
Pulse balance up (Right)
Name
PULSE_BALNCE_RIGHT ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_BASS_DOWN
Pulse bass down (Left)
Name
PULSE_BASS_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_BASS_UP
Pulse bass up (Right)
Name
PULSE_BASS_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_CHANNEL_DOWN
Pulse channel value down.
Name
PULSE_CHANNEL_DOWN ()
Parameters
None
Returns
None
PULSE_CHANNEL_UP
Pulse channel value up.
Name
PULSE_CHANNEL_UP ()
Parameters
None
Returns
None
PULSE_INPUT
Toggle (cycle through) input selection on device.
Name
PULSE_INPUT
Parameters
None
Returns
None
PULSE_TREBLE_DOWN
Pulse treble down.
Name
PULSE_TREBLE_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_TREBLE_UP
Pulse treble up.
Name
PULSE_TREBLE_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_VOL_DOWN
Pulse volume level down.
Name
PULSE_VOL_DOWN
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PULSE_VOL_UP
Pulse volume level up.
Name
PULSE_VOL_UP
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
PVR
Pulse PVR button.
Name
PVR ()
Parameters
None
Returns
None
RECALL
Pulse Recall button.
Name
RECALL ()
Parameters
None
Returns
None
SEARCH_DOWN
Pulse tuning search down
Name
SEARCH_DOWN ()
Parameters
None
Returns
None
SEARCH_UP
Pulse tuning search UP
Name
SEARCH_UP ()
Parameters
None
Returns
None
SET_BALANCE
Set balance to a specified position.
Name
SET_BALANCE ()
Parameter | Type | Description |
---|---|---|
Level | INT | Level value |
OutputBindingID | INT | Output Binding ID |
Returns
None
SET_BALANCE_UP
Set balance to a specified position.
Name
SET_BALANCE_UP ()
Parameter | Description |
---|---|
int | Level |
int | Output Binding ID |
Returns
None
SET_BASS_LEVEL
Set bass to a specified level.
Name
SET_BASS_LEVEL
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
SET_CHANNEL
Tune device to the specified channel.
Name
SET_CHANNEL ()
Parameter | Type | Description |
---|---|---|
CHANNEL | STR | Channel value in string format. |
BANDTYPE | STR | Band Type |
Returns
None
Example
The example to the right detail the table of information that is received from the proxy when a channel is selected:
FM:
ReceivedFromProxy: SET_CHANNEL
BindingID 5002
CHANNEL 96.3
INPUT 3028
OUTPUT 0
AM:
ReceivedFromProxy: SET_CHANNEL
INPUT 3027
BindingID 5002
CHANNEL 1100
INPUT 3027
OUTPUT 0
In the FM example, channel 96.3 has been selected in the tuner protocol. The 96.3 value is passed into the data table as a string. It is important to note that if the bandwidth type (AM, FM) is not provided (and the proxy in question is not TV) a manner in which to identify the bandwidth type will need to be developed. An example of this code follows:
if tParams['BANDTYPE'] == nil then
if (string.find(tParams['CHANNEL'],"%p") ~= nil) then
tParams['BANDTYPE'] = 'FM'
local ChannelLen = string.len(tParams['CHANNEL'] )
local ChannelFix = string.sub(tParams['CHANNEL'],1,ChannelLen-2) ..
string.sub(tParams['CHANNEL'],ChannelLen-1,ChannelLen-1)
tParams ['CHANNEL'] = ChannelFix
else
tParams['BANDTYPE'] = 'AM'
end end
end
SET_DEFAULT_INPUT
Specify the default input selection of device.
Name
SET_DEAFULT_INPUT ()
Parameter | Type | Description |
---|---|---|
InputBindingID | INT | Input Binding ID - should be in the BindingID range. |
OutputBindingID | INT | IOptional. Output Binding ID - should be in the BindingID range. |
Returns
None
Usage Note
- Control Bindings = 1 -> 999
- Video Inputs = 1000 -> 1099
- Video Outputs = 2000 -> 2999
- Audio Inputs = 3000 -> 3099
- Audio Outputs = 4000 -> 4999
- Proxy Bindings = 5000 -> 5999
- Network Bindings = 6000 -> 6999
- Room Bindings = 7000 -> 7999
- Power Manager = 8000 -> 8999
SET_INPUT
Specify the input selection of device.
Name
SET_INPUT ()
Parameter | Type | Description |
---|---|---|
Input Binding ID | int | Binding ID in the BindingID range below. |
PREV DEV LIST | str | Value of the device directly upstream in the AV path. |
Output Binding ID | int | Optional. Output Binding ID - should be in the BindingID range in the usage note below. |
Returns
None
Usage Note
- Control Bindings = 1 -> 999
- Video Inputs = 1000 -> 1099
- Video Outputs = 2000 -> 2999
- Audio Inputs = 3000 -> 3099
- Audio Outputs = 4000 -> 4999
- Proxy Bindings = 5000 -> 5999
- Network Bindings = 6000 -> 6999
- Room Bindings = 7000 -> 7999
- Power Manager = 8000 -> 8999
SET_LOUDNESS
Turn loudness on.
Name
SET_LOUDNESS ()
Parameter | Type | Description |
---|---|---|
Level | INT | Level |
OutputBindingID | INT | Output Binding ID |
Returns
None
SET_PRESET
Select specified tuning preset.
Name e
SET_PRESET ()
Parameter | Type | Description |
---|---|---|
PresetNum | INT | Preset Number |
Returns
None
SET_TREBLE_LEVEL
Set treble to a specified level.
Name
SET_TREBLE_LEVEL ()
Parameter | Type | Description |
---|---|---|
Level | INT | Level |
OutputBindingID | INT | Output Binding ID |
Returns
None
SET_UP_DOWN_SWAP
Swap page UP/DOWN buttons (used by AVGen). TRUE
to enable swap, FALSE
to disable.
Name
SET_UP_DOWN_SWAP ()
Parameter | Type | Description |
---|---|---|
SWAPFLAG | BOOL | True/False |
Returns
None
SET_VOLUME_LEVEL
Set volume to a specified level.
Name
SET_VOLUME_LEVEL ()
Parameter | Description |
---|---|
int | Level |
int | Output Binding ID |
Returns
None
SET_VOL_UP
Begin ramping volume up.
Name
SET_VOL_UP ()
Parameter | Type | Description |
---|---|---|
Output indingID | INT | Output Binding ID |
Returns
None
STAR
Pulse *
button.
Name
STAR ()
Parameters
None
Returns
None
START_BALANCE_DOWN
Start ramping balance down (left).
Name
START_BALANCE_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_BALANCE_UP
Start ramping balance UP (right).
Name
START_BALANCE_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_BASS_DOWN
Start ramping bass down.
Name
START_BASS_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_ BASS_ UP
Start ramping bass up.
Name
START_BASS_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_CH_DOWN
Start ramping channel down.
Name
START_CH_DOWN ()
Parameters
None
Returns
None
START_CH_UP
Start ramping channel up.
Name
START_CH_UP ()
Parameters
None
Returns
None
START_DOWN
Initiate down-arrow navigation.
Name
START_DOWN ()
Parameters
None
Returns
None
START_LEFT
Initiate left-arrow navigation.
Name
START_LEFT ()
Parameters
None
Returns
None
START_PAGE_DOWN
Start menu Page down.
Name
START_PAGE_DOWN ()
Parameters
None
Returns
None
START_PAGE_UP
Start menu Page up.
Name
START_PAGE_UP ()
Parameters
None
Returns
None
START_PAGE_RIGHT
Initiate right-arrow navigation.
Name
START_RIGHT ()
Parameters
None
Returns
None
START_SEARCH_DOWN
Begin tuning search down.
Name
START_SEARCH_DOWN ()
Parameters
None
Returns
None
START_SEARCH_UP
Begin tuning search UP.
Name
START_SEARCH_UP ()
Parameters
None
Returns
None
START_TREBLE_UP
Start ramping treble up.
Name
START_TREBLE_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_TREBLE_DOWN
Start ramping treble down.
Name
START_TREBLE_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_UP
Initiate up-arrow navigation.
Name
START_UP ()
Parameters
None
Returns
None
START_VOL_DOWN
Start ramping volume down.
Name
START_VOL_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
START_VOL_UP
Start ramping volume up.
Name
START_VOL_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_BALANCE_DOWN
Start ramping balance.
Name
STOP_BALANCE_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_BALANCE_UP
Stop ramping bass
Name
STOP_BALANCE_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_BASS_DOWN
Stop ramping bass down.
Name
STOP_BASS_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_BASS_UP
Stop ramping bass up.
Name
STOP_BASS_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_CH_DOWN
Stop ramping channel down.
Name
STOP_CH_DOWN ()
Parameters
None
Returns
None
STOP_CH_UP
Stop ramping channel up.
Name
STOP_CH_UP ()
Parameters
None
Returns
None
STOP_DOWN
Stop down-arrow navigation.
Name
STOP_DOWN ()
Parameters
None
Returns
None
START_LEFT
Stop left-arrow navigation.
Name
STOP_LEFT ()
Parameters
None
Returns
None
STOP_PAGE_DOWN
Stop menu page down.
Name
STOP_PAGE_DOWN ()
Parameters
None
Returns
None
STOP_PAGE_DOWN
Stop menu page up.
Name
STOP_PAGE_UP ()
Parameters
None
Returns
None
STOP_PAGE_RIGHT
Stop right-arrow navigation.
Name
STOP_RIGHT ()
Parameters
None
Returns
None
STOP_SEARCH_DOWN
Stop tuning search down.
Name
STOP_SEARCH_DOWN ()
Parameters
None
Returns
None
STOP_SEARCH_UP
Stop tuning search UP.
Name
STOP_SEARCH_UP ()
Parameters
None
Returns
None
STOP_TREBLE_DOWN
Stop ramping treble down.
Name
STOP_TREBLE_DOWN ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_TREBLE_UP
Stop ramping treble up.
Name
STOP_TREBLE_UP ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID |
Returns
None
STOP_UP
Initiate up-arrow navigation.
Name
STOP_UP ()
Parameters
None
Returns
None
TUNE_DOWN
Toggle (cycle down) frequency or channel.
Name
TUNE_DOWN ()
Parameters
None
Returns
None
TUNE_UP
Toggle (cycle down) frequency or channel.
Name
TUNE_UP ()
Parameters
None
Returns
None
TV_VIDEO
Toggle TV/video input.
Name
TV_VIDEO ()
Parameters
None
Returns
None
TV Protocol Notifications
AUDIO_PARAMETER_CHANGED
Audio parameter has changed
Name
AUDIO_PARAMETER_CHANGED ()
Parameter | Type | Description |
---|---|---|
OutputBindingID | INT | Output Binding ID value |
Returns
None
BALANCE_LEVEL_CHANGED
Selected balance level has changed.
Name
BALANCE_LEVEL_CHANGED ()
Parameter | Description |
---|---|
int | Level |
int | Output Binding ID |
Returns
None
BASS_LEVEL_CHANGED
Selected bass level has changed
Name
BASS_LEVEL_CHANGED ()
Parameter | Description |
---|---|
int | Level |
int | Output Binding ID |
Returns
None
CHANNEL_CHANGED
Selected channel has changed
Name
CHANNEL_CHANGED ()
Parameter | Type | Description |
---|---|---|
ChannelNumber | INT | Channel Number |
Returns
None
Usage Note
If the BANDTYPE is not supplied, as in older drivers, the INPUT binding # will be used to determine which band the tuner is on. All DriverWorks drivers need to use the BANDTYPE parameter if they want the band to propagate up to Navigator to display the channel properly. If the DriverWorks driver does not know the current channel and the “has_feedback” capability is not set to “True”, none of this matters and everything will keep working as it previously has. A CHANNEL_CHANGED must be issued immediately after the INPUT_CHANGED in order for the UI to update. See the example to the right.
C4:SendToproxy(5002,'INPUT_CHANGED',
{INPUT=3009,BANDTYPE='FMBand',MINCHANNEL=8750,
MAXCHANNEL=10790,CHANNELSPACING=20})
C4:SendToProxy(5002,'CHANNEL_CHANGED',{CHANNEL=10290})
Note that in the example, 5002 is the ProxyBindingID for the Tuner. INPUT 3009 is the ID for the FM Antenna on the 5002 Tuner. Navigator determines AM/FM/XM with the following rule:
- ID 3000 and 3001 are AM
- ID 3002 and 3003 are FM
INPUT_CHANGED
Selected Input has changed.
Name
INPUT_CHANGED ()
Parameter | Type | Description |
---|---|---|
INPUT | INT | Changed Input |
Returns
None
LOUDNESS_CHANGED
Loudness state (On/Off) has changed.
Name
LOUDNESS_CHANGED ()
Parameter | Type | Description |
---|---|---|
LOUDNESS | BOOL | True/False |
Returns
None
MUTE_CHANGED
MUTE state (On/Off) has changed.
Name
MUTE_CHANGED ()
Parameter | Description | Description |
---|---|---|
output | INT | Output Binding ID |
MUTE | BOOL | True/False |
Returns
None
OFF
Device has turned off.
Name
OFF ()
Parameter
None
Returns
None
ON
Device has turned on.
Name
ON ()
Parameter
None
Returns
None
TREBLE_LEVEL_CHANGED
Selected treble level has changed.
Name
TREBLE_LEVEL_CHANGED ()
Parameter | Type | Description |
---|---|---|
Level | INT | Level |
OutputBindingID | INT | Output Binding ID |
Returns
None
VOLUME_LEVEL_CHANGED
Selected volume level has changed.
Name
VOLUME_LEVEL_CHANGED ()
Parameter | Type | Description |
---|---|---|
Level | INT | Level |
Output Binding ID | OINT | OutputBindingID |
Returns
None
Audio Output Bindings and Proxy Events
Note: Audio Output binding ID values defined in drivers written in conjunction with this Proxy must start with a binding value of 4000. The acceptable range for Audio Outputs is 4000 - 4999. However, if the first output binding ID value is not 4000, issues with Proxy Events firing correctly can be encountered.
For a list of valid Binding ID values please see the Connections section of the DriverWorks Fundamentals Guide.
TV Capabilities
has_audio
Television is capable of producing audio.
Signature
<has_audio></has_audio>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_audio>true</has_audio>
</capabilities>
has_discrete_balance_control
Capable of directly specifying a balance setting.
Signature
<has_discrete_balance_control></has_discrete_balance_control>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_balance_control>true</has_discrete_balance_control>
</capabilities>
has_discrete_bass\ control
Capable of directly specifying a bass setting.
Signature
<has_discrete_bass_control></has_discrete_bass_control>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_bass_control>true</has_discrete_bass_control>
</capabilities>
has_discrete_channel_select
Capability of direcretly selecting specified channel.
Signature
<has_discrete_channel_select></has_discrete_ channel_select>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_channel_select>true</has_discrete_channel_select>
</capabilities>
has_discrete_input_select
Capability of directly selecting specified input.
Signature
<has_discrete_input_select></has_discrete_input_select>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_input_select>true</has_discrete_input_select>
</capabilities>
has_discrete_loudness_control
Capable of directly specifying a loudness setting.
Signature
<has_discrete_loudness_control></has_discrete_loudness_control>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_loudness_control>true</has_discrete_loudness_control>
</capabilities>
has_discrete_mute_control
Capable of directly specifying mute ON or OFF setting.
Signature
<has_discrete_ mute_control></has_discrete_ mute_control>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_mute_control>true</has_discrete_mute_control>
</capabilities>
has_discrete_treble_control
Capable of directly specifying a treble setting.
Signature
<has_discrete_treble_control></has_discrete_treble_control>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_treble_control>true</has_discrete_treble_control>
</capabilities>
has_discrete_volume_control
Capable of directly specifying a volume setting.
Signature
<has_discrete_volume_control></has_discrete_volume_control>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<has_discrete_volume_control>true</has_discrete_volume_control>
</capabilities>
requires_channel_after_input
When set to True, the TV proxy will first switch the input and then select the channel. It is recommended that this capability be set to True.
Signature
<requires_channel_after_input></requires_channel_after_input>
Parameter | Description |
---|---|
bool | True/False |
Example
<capabilities>
<requires_channel_after_input>true</requires_channel_after_input>
</capabilities>