# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.2.0
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.
from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
from . import _cec
else:
import _cec
try:
import builtins as __builtin__
except ImportError:
import __builtin__
def _swig_repr(self):
try:
strthis = "proxy of " + self.this.__repr__()
except __builtin__.Exception:
strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
def _swig_setattr_nondynamic_instance_variable(set):
def set_instance_attr(self, name, value):
if name == "this":
set(self, name, value)
elif name == "thisown":
self.this.own(value)
elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
set(self, name, value)
else:
raise AttributeError("You cannot add instance attributes to %s" % self)
return set_instance_attr
def _swig_setattr_nondynamic_class_variable(set):
def set_class_attr(cls, name, value):
if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
set(cls, name, value)
else:
raise AttributeError("You cannot add class attributes to %s" % cls)
return set_class_attr
def _swig_add_metaclass(metaclass):
"""Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
def wrapper(cls):
return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
return wrapper
class _SwigNonDynamicMeta(type):
"""Meta class to enforce nondynamic attributes (no new attributes) for a class"""
__setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
[docs]
class SwigPyIterator(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
def __init__(self, *args, **kwargs):
raise AttributeError("No constructor defined - class is abstract")
__repr__ = _swig_repr
__swig_destroy__ = _cec.delete_SwigPyIterator
[docs]
def value(self):
return _cec.SwigPyIterator_value(self)
[docs]
def incr(self, n=1):
return _cec.SwigPyIterator_incr(self, n)
[docs]
def decr(self, n=1):
return _cec.SwigPyIterator_decr(self, n)
[docs]
def distance(self, x):
return _cec.SwigPyIterator_distance(self, x)
[docs]
def equal(self, x):
return _cec.SwigPyIterator_equal(self, x)
[docs]
def copy(self):
return _cec.SwigPyIterator_copy(self)
[docs]
def next(self):
return _cec.SwigPyIterator_next(self)
def __next__(self):
return _cec.SwigPyIterator___next__(self)
[docs]
def previous(self):
return _cec.SwigPyIterator_previous(self)
[docs]
def advance(self, n):
return _cec.SwigPyIterator_advance(self, n)
def __eq__(self, x):
return _cec.SwigPyIterator___eq__(self, x)
def __ne__(self, x):
return _cec.SwigPyIterator___ne__(self, x)
def __iadd__(self, n):
return _cec.SwigPyIterator___iadd__(self, n)
def __isub__(self, n):
return _cec.SwigPyIterator___isub__(self, n)
def __add__(self, n):
return _cec.SwigPyIterator___add__(self, n)
def __sub__(self, *args):
return _cec.SwigPyIterator___sub__(self, *args)
def __iter__(self):
return self
# Register SwigPyIterator in _cec:
_cec.SwigPyIterator_swigregister(SwigPyIterator)
[docs]
class AdapterVector(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
[docs]
def iterator(self):
return _cec.AdapterVector_iterator(self)
def __iter__(self):
return self.iterator()
def __nonzero__(self):
return _cec.AdapterVector___nonzero__(self)
def __bool__(self):
return _cec.AdapterVector___bool__(self)
def __len__(self):
return _cec.AdapterVector___len__(self)
def __getslice__(self, i, j):
return _cec.AdapterVector___getslice__(self, i, j)
def __setslice__(self, *args):
return _cec.AdapterVector___setslice__(self, *args)
def __delslice__(self, i, j):
return _cec.AdapterVector___delslice__(self, i, j)
def __delitem__(self, *args):
return _cec.AdapterVector___delitem__(self, *args)
def __getitem__(self, *args):
return _cec.AdapterVector___getitem__(self, *args)
def __setitem__(self, *args):
return _cec.AdapterVector___setitem__(self, *args)
[docs]
def pop(self):
return _cec.AdapterVector_pop(self)
[docs]
def append(self, x):
return _cec.AdapterVector_append(self, x)
[docs]
def empty(self):
return _cec.AdapterVector_empty(self)
[docs]
def size(self):
return _cec.AdapterVector_size(self)
[docs]
def swap(self, v):
return _cec.AdapterVector_swap(self, v)
[docs]
def begin(self):
return _cec.AdapterVector_begin(self)
[docs]
def end(self):
return _cec.AdapterVector_end(self)
[docs]
def rbegin(self):
return _cec.AdapterVector_rbegin(self)
[docs]
def rend(self):
return _cec.AdapterVector_rend(self)
[docs]
def clear(self):
return _cec.AdapterVector_clear(self)
[docs]
def get_allocator(self):
return _cec.AdapterVector_get_allocator(self)
[docs]
def pop_back(self):
return _cec.AdapterVector_pop_back(self)
[docs]
def erase(self, *args):
return _cec.AdapterVector_erase(self, *args)
def __init__(self, *args):
_cec.AdapterVector_swiginit(self, _cec.new_AdapterVector(*args))
[docs]
def push_back(self, x):
return _cec.AdapterVector_push_back(self, x)
[docs]
def front(self):
return _cec.AdapterVector_front(self)
[docs]
def back(self):
return _cec.AdapterVector_back(self)
[docs]
def assign(self, n, x):
return _cec.AdapterVector_assign(self, n, x)
[docs]
def resize(self, *args):
return _cec.AdapterVector_resize(self, *args)
[docs]
def insert(self, *args):
return _cec.AdapterVector_insert(self, *args)
[docs]
def reserve(self, n):
return _cec.AdapterVector_reserve(self, n)
[docs]
def capacity(self):
return _cec.AdapterVector_capacity(self)
__swig_destroy__ = _cec.delete_AdapterVector
# Register AdapterVector in _cec:
_cec.AdapterVector_swigregister(AdapterVector)
CEC_DEFAULT_PHYSICAL_ADDRESS = _cec.CEC_DEFAULT_PHYSICAL_ADDRESS
r"""default physical address 1.0.0.0, HDMI port 1"""
CEC_DEFAULT_HDMI_PORT = _cec.CEC_DEFAULT_HDMI_PORT
r"""default HDMI port to which the adapter is connected, port 1"""
CEC_DEFAULT_BASE_DEVICE = _cec.CEC_DEFAULT_BASE_DEVICE
r"""default logical address of the device to which the adapter is connected, TV"""
CEC_BUTTON_TIMEOUT = _cec.CEC_BUTTON_TIMEOUT
r"""timeout in milliseconds to send a key release event after receiving a key press"""
CEC_BUTTON_RELEASE_BACKSTOP_MS = _cec.CEC_BUTTON_RELEASE_BACKSTOP_MS
r"""
safety timeout in milliseconds after which a held button is force-released
once the device has proven it sends its own release messages. it only guards
against a lost release, so it is kept generous to leave room for long-presses.
"""
CEC_DOUBLE_TAP_TIMEOUT_MS = _cec.CEC_DOUBLE_TAP_TIMEOUT_MS
r"""don't send the same key twice within this timeout in milliseconds"""
CEC_BUTTON_REPEAT_DELAY_MS = _cec.CEC_BUTTON_REPEAT_DELAY_MS
r"""delay in milliseconds before a held button starts auto-repeating"""
CEC_POWER_STATE_REFRESH_TIME = _cec.CEC_POWER_STATE_REFRESH_TIME
r"""don't query the power state for the same device within this timeout in milliseconds"""
CEC_AUDIO_STATUS_REFRESH_TIME = _cec.CEC_AUDIO_STATUS_REFRESH_TIME
r"""don't query the audio state for the same device within this timeout in milliseconds"""
CEC_FW_VERSION_UNKNOWN = _cec.CEC_FW_VERSION_UNKNOWN
r"""unknown firmware version value"""
CEC_FW_BUILD_UNKNOWN = _cec.CEC_FW_BUILD_UNKNOWN
r"""unknown build date value"""
CEC_CONNECT_TRIES = _cec.CEC_CONNECT_TRIES
r"""maximum number of retries when opening a connection"""
CEC_PHYSICAL_ADDRESS_TV = _cec.CEC_PHYSICAL_ADDRESS_TV
r"""physical address of the TV"""
CEC_MIN_PHYSICAL_ADDRESS = _cec.CEC_MIN_PHYSICAL_ADDRESS
r"""minimum physical address for the adapter"""
CEC_MAX_PHYSICAL_ADDRESS = _cec.CEC_MAX_PHYSICAL_ADDRESS
r"""maximum physical address for the adapter"""
CEC_INVALID_PHYSICAL_ADDRESS = _cec.CEC_INVALID_PHYSICAL_ADDRESS
r"""invalid physical address value"""
CEC_MIN_VENDORID = _cec.CEC_MIN_VENDORID
r"""minimum vendor ID value"""
CEC_MAX_VENDORID = _cec.CEC_MAX_VENDORID
r"""maximum vendor ID value"""
CEC_INVALID_VENDORID = _cec.CEC_INVALID_VENDORID
r"""invalid vendor ID value"""
CEC_MIN_HDMI_PORTNUMBER = _cec.CEC_MIN_HDMI_PORTNUMBER
r"""minimum HDMI port number value"""
CEC_MAX_HDMI_PORTNUMBER = _cec.CEC_MAX_HDMI_PORTNUMBER
r"""maximum HDMI port number value"""
CEC_HDMI_PORTNUMBER_NONE = _cec.CEC_HDMI_PORTNUMBER_NONE
r"""invalid HDMI port number value"""
CEC_DEFAULT_SETTING_ACTIVATE_SOURCE = _cec.CEC_DEFAULT_SETTING_ACTIVATE_SOURCE
r'''default value for settings "activate source"'''
CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN = _cec.CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN
r'''default value for settings "power off on shutdown"'''
CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY = _cec.CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY
r'''default value for settings "power off on standby"'''
CEC_DEFAULT_DEVICE_LANGUAGE = _cec.CEC_DEFAULT_DEVICE_LANGUAGE
r'''default value for settings "device menu language"'''
CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS = _cec.CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS
r'''default value for settings "autodetect physical address"'''
CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM = _cec.CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM
r'''default value for settings "get settings from ROM"'''
CEC_DEFAULT_SETTING_CEC_VERSION = _cec.CEC_DEFAULT_SETTING_CEC_VERSION
r'''default value for settings "libCEC CEC version"'''
CEC_DEFAULT_TRANSMIT_RETRY_WAIT = _cec.CEC_DEFAULT_TRANSMIT_RETRY_WAIT
r"""wait this amount of milliseconds before retrying to send a failed message"""
CEC_DEFAULT_TRANSMIT_TIMEOUT = _cec.CEC_DEFAULT_TRANSMIT_TIMEOUT
r"""transmission fails when not acked within this amount of milliseconds after sending the initial packet"""
CEC_DEFAULT_TRANSMIT_WAIT = _cec.CEC_DEFAULT_TRANSMIT_WAIT
r"""wait this amount of milliseconds for an ack"""
CEC_DEFAULT_TRANSMIT_RETRIES = _cec.CEC_DEFAULT_TRANSMIT_RETRIES
r"""default number of retries"""
CEC_DEFAULT_CONNECT_TIMEOUT = _cec.CEC_DEFAULT_CONNECT_TIMEOUT
r"""default connection timeout in milliseconds"""
CEC_DEFAULT_CONNECT_RETRY_WAIT = _cec.CEC_DEFAULT_CONNECT_RETRY_WAIT
r"""wait this amount of milliseconds before retrying when failing to connect"""
CEC_SERIAL_DEFAULT_BAUDRATE = _cec.CEC_SERIAL_DEFAULT_BAUDRATE
r"""default serial baudrate"""
CEC_CLEAR_INPUT_DEFAULT_WAIT = _cec.CEC_CLEAR_INPUT_DEFAULT_WAIT
r"""maximum time to wait when clearing input"""
CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS = _cec.CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS
r"""wait this amount of milliseconds before retrying when libCEC failed to make itself the active source"""
CEC_FORWARD_STANDBY_MIN_INTERVAL = _cec.CEC_FORWARD_STANDBY_MIN_INTERVAL
r"""don't forward any power off command to the client application for this amount of milliseconds after sending a power off command"""
CEC_DEFAULT_COMBO_TIMEOUT_MS = _cec.CEC_DEFAULT_COMBO_TIMEOUT_MS
r"""default timeout in milliseconds for combo keys"""
CEC_RPI_VIRTUAL_PATH = _cec.CEC_RPI_VIRTUAL_PATH
r"""the virtual device path to use for the Raspberry Pi's CEC wire"""
CEC_RPI_VIRTUAL_COM = _cec.CEC_RPI_VIRTUAL_COM
r"""the name of the virtual COM port to use for the Raspberry Pi's CEC wire"""
CEC_TDA995x_PATH = _cec.CEC_TDA995x_PATH
r"""the path to use for the TDA995x's CEC wire"""
CEC_TDA995x_VIRTUAL_COM = _cec.CEC_TDA995x_VIRTUAL_COM
r"""the name of the virtual COM port to use for the TDA995x's CEC wire"""
CEC_EXYNOS_PATH = _cec.CEC_EXYNOS_PATH
r"""the path to use for the Exynos HDMI CEC device"""
CEC_EXYNOS_VIRTUAL_COM = _cec.CEC_EXYNOS_VIRTUAL_COM
r"""the name of the virtual COM port to use for the EXYNOS' CEC wire"""
CEC_MAX_DATA_PACKET_SIZE = _cec.CEC_MAX_DATA_PACKET_SIZE
r"""Maximum size of a data packet"""
CEC_MAX_FRAME_SIZE = _cec.CEC_MAX_FRAME_SIZE
r"""
Maximum size of a CEC frame on the wire: 1 header byte + 1 opcode + up to 14 operands.
cec_datapacket can hold more (it is reused for adapter messages), so anything that is
actually transmitted must be bound to this via cec_command::Serialize().
"""
CEC_LINUX_PATH = _cec.CEC_LINUX_PATH
r"""the path to use for the Linux CEC device"""
CEC_LINUX_PATH_FORMAT = _cec.CEC_LINUX_PATH_FORMAT
r"""
printf format, node prefix and scan range used to locate Linux CEC device
nodes. A board may expose several nodes at once (e.g. /dev/cec0 for HDMI0 and
/dev/cec1 for HDMI1), and the kernel may recreate a node at a different minor
after the adapter is unregistered, so all candidates are probed.
"""
CEC_LINUX_PATH_PREFIX = _cec.CEC_LINUX_PATH_PREFIX
CEC_LINUX_MAX_DEVICES = _cec.CEC_LINUX_MAX_DEVICES
CEC_LINUX_VIRTUAL_COM = _cec.CEC_LINUX_VIRTUAL_COM
r"""the name of the virtual COM port to use for the Linux' CEC wire"""
CEC_AOCEC_PATH = _cec.CEC_AOCEC_PATH
r"""the path to use for the AOCEC HDMI CEC device"""
CEC_AOCEC_VIRTUAL_COM = _cec.CEC_AOCEC_VIRTUAL_COM
r"""the name of the virtual COM port to use for the AOCEC' CEC wire"""
CEC_IMX_PATH = _cec.CEC_IMX_PATH
r"""the path to use for the i.MX CEC wire"""
CEC_IMX_VIRTUAL_COM = _cec.CEC_IMX_VIRTUAL_COM
r"""the name of the virtual COM port to use for the i.MX CEC wire"""
CEC_MIN_LIB_VERSION = _cec.CEC_MIN_LIB_VERSION
r"""Mimimum client version"""
MSGSTART = _cec.MSGSTART
MSGEND = _cec.MSGEND
MSGESC = _cec.MSGESC
ESCOFFSET = _cec.ESCOFFSET
DOUBLE_TAP_TIMEOUT_UNIT_SIZE = _cec.DOUBLE_TAP_TIMEOUT_UNIT_SIZE
CEC_FEATURE_CONFIGURABLE_COMBO_KEY = _cec.CEC_FEATURE_CONFIGURABLE_COMBO_KEY
CEC_ABORT_REASON_UNRECOGNIZED_OPCODE = _cec.CEC_ABORT_REASON_UNRECOGNIZED_OPCODE
r""" CEC_ABORT_REASON_UNRECOGNIZED_OPCODE"""
CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND = _cec.CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND
r""" CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND"""
CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE = _cec.CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE
r""" CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE"""
CEC_ABORT_REASON_INVALID_OPERAND = _cec.CEC_ABORT_REASON_INVALID_OPERAND
r""" CEC_ABORT_REASON_INVALID_OPERAND"""
CEC_ABORT_REASON_REFUSED = _cec.CEC_ABORT_REASON_REFUSED
r""" CEC_ABORT_REASON_REFUSED"""
CEC_ANALOGUE_BROADCAST_TYPE_CABLE = _cec.CEC_ANALOGUE_BROADCAST_TYPE_CABLE
CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE = _cec.CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE
CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL = _cec.CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL
CEC_AUDIO_RATE_RATE_CONTROL_OFF = _cec.CEC_AUDIO_RATE_RATE_CONTROL_OFF
CEC_AUDIO_RATE_STANDARD_RATE_100 = _cec.CEC_AUDIO_RATE_STANDARD_RATE_100
CEC_AUDIO_RATE_FAST_RATE_MAX_101 = _cec.CEC_AUDIO_RATE_FAST_RATE_MAX_101
CEC_AUDIO_RATE_SLOW_RATE_MIN_99 = _cec.CEC_AUDIO_RATE_SLOW_RATE_MIN_99
CEC_AUDIO_RATE_STANDARD_RATE_100_0 = _cec.CEC_AUDIO_RATE_STANDARD_RATE_100_0
CEC_AUDIO_RATE_FAST_RATE_MAX_100_1 = _cec.CEC_AUDIO_RATE_FAST_RATE_MAX_100_1
CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9 = _cec.CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9
CEC_AUDIO_MUTE_STATUS_MASK = _cec.CEC_AUDIO_MUTE_STATUS_MASK
CEC_AUDIO_VOLUME_STATUS_MASK = _cec.CEC_AUDIO_VOLUME_STATUS_MASK
CEC_AUDIO_VOLUME_MIN = _cec.CEC_AUDIO_VOLUME_MIN
CEC_AUDIO_VOLUME_MAX = _cec.CEC_AUDIO_VOLUME_MAX
CEC_AUDIO_VOLUME_STATUS_UNKNOWN = _cec.CEC_AUDIO_VOLUME_STATUS_UNKNOWN
CEC_FALSE = _cec.CEC_FALSE
CEC_TRUE = _cec.CEC_TRUE
CEC_VERSION_UNKNOWN = _cec.CEC_VERSION_UNKNOWN
CEC_VERSION_1_2 = _cec.CEC_VERSION_1_2
CEC_VERSION_1_2A = _cec.CEC_VERSION_1_2A
CEC_VERSION_1_3 = _cec.CEC_VERSION_1_3
CEC_VERSION_1_3A = _cec.CEC_VERSION_1_3A
CEC_VERSION_1_4 = _cec.CEC_VERSION_1_4
CEC_VERSION_2_0 = _cec.CEC_VERSION_2_0
CEC_CHANNEL_NUMBER_FORMAT_MASK = _cec.CEC_CHANNEL_NUMBER_FORMAT_MASK
CEC_1_PART_CHANNEL_NUMBER = _cec.CEC_1_PART_CHANNEL_NUMBER
CEC_2_PART_CHANNEL_NUMBER = _cec.CEC_2_PART_CHANNEL_NUMBER
CEC_MAJOR_CHANNEL_NUMBER_MASK = _cec.CEC_MAJOR_CHANNEL_NUMBER_MASK
CEC_MINOR_CHANNEL_NUMBER_MASK = _cec.CEC_MINOR_CHANNEL_NUMBER_MASK
CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND = _cec.CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND
CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND = _cec.CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND
CEC_DECK_CONTROL_MODE_STOP = _cec.CEC_DECK_CONTROL_MODE_STOP
CEC_DECK_CONTROL_MODE_EJECT = _cec.CEC_DECK_CONTROL_MODE_EJECT
CEC_DECK_INFO_PLAY = _cec.CEC_DECK_INFO_PLAY
CEC_DECK_INFO_RECORD = _cec.CEC_DECK_INFO_RECORD
CEC_DECK_INFO_PLAY_REVERSE = _cec.CEC_DECK_INFO_PLAY_REVERSE
CEC_DECK_INFO_STILL = _cec.CEC_DECK_INFO_STILL
CEC_DECK_INFO_SLOW = _cec.CEC_DECK_INFO_SLOW
CEC_DECK_INFO_SLOW_REVERSE = _cec.CEC_DECK_INFO_SLOW_REVERSE
CEC_DECK_INFO_FAST_FORWARD = _cec.CEC_DECK_INFO_FAST_FORWARD
CEC_DECK_INFO_FAST_REVERSE = _cec.CEC_DECK_INFO_FAST_REVERSE
CEC_DECK_INFO_NO_MEDIA = _cec.CEC_DECK_INFO_NO_MEDIA
CEC_DECK_INFO_STOP = _cec.CEC_DECK_INFO_STOP
CEC_DECK_INFO_SKIP_FORWARD_WIND = _cec.CEC_DECK_INFO_SKIP_FORWARD_WIND
CEC_DECK_INFO_SKIP_REVERSE_REWIND = _cec.CEC_DECK_INFO_SKIP_REVERSE_REWIND
CEC_DECK_INFO_INDEX_SEARCH_FORWARD = _cec.CEC_DECK_INFO_INDEX_SEARCH_FORWARD
CEC_DECK_INFO_INDEX_SEARCH_REVERSE = _cec.CEC_DECK_INFO_INDEX_SEARCH_REVERSE
CEC_DECK_INFO_OTHER_STATUS = _cec.CEC_DECK_INFO_OTHER_STATUS
CEC_DECK_INFO_OTHER_STATUS_LG = _cec.CEC_DECK_INFO_OTHER_STATUS_LG
CEC_DEVICE_TYPE_TV = _cec.CEC_DEVICE_TYPE_TV
CEC_DEVICE_TYPE_RECORDING_DEVICE = _cec.CEC_DEVICE_TYPE_RECORDING_DEVICE
CEC_DEVICE_TYPE_RESERVED = _cec.CEC_DEVICE_TYPE_RESERVED
CEC_DEVICE_TYPE_TUNER = _cec.CEC_DEVICE_TYPE_TUNER
CEC_DEVICE_TYPE_PLAYBACK_DEVICE = _cec.CEC_DEVICE_TYPE_PLAYBACK_DEVICE
CEC_DEVICE_TYPE_AUDIO_SYSTEM = _cec.CEC_DEVICE_TYPE_AUDIO_SYSTEM
CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME = _cec.CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME
CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED = _cec.CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED
CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE = _cec.CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE
CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE = _cec.CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE
CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG = _cec.CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG
CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS = _cec.CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS
CEC_MENU_REQUEST_TYPE_ACTIVATE = _cec.CEC_MENU_REQUEST_TYPE_ACTIVATE
CEC_MENU_REQUEST_TYPE_DEACTIVATE = _cec.CEC_MENU_REQUEST_TYPE_DEACTIVATE
CEC_MENU_REQUEST_TYPE_QUERY = _cec.CEC_MENU_REQUEST_TYPE_QUERY
CEC_MENU_STATE_ACTIVATED = _cec.CEC_MENU_STATE_ACTIVATED
CEC_MENU_STATE_DEACTIVATED = _cec.CEC_MENU_STATE_DEACTIVATED
CEC_PLAY_MODE_PLAY_FORWARD = _cec.CEC_PLAY_MODE_PLAY_FORWARD
CEC_PLAY_MODE_PLAY_REVERSE = _cec.CEC_PLAY_MODE_PLAY_REVERSE
CEC_PLAY_MODE_PLAY_STILL = _cec.CEC_PLAY_MODE_PLAY_STILL
CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED = _cec.CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED
CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED
CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED = _cec.CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED
CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED = _cec.CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED
CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED
CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED = _cec.CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED
CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED = _cec.CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED
CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED
CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED = _cec.CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED
CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED = _cec.CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED
CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED = _cec.CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED
CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED = _cec.CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED
CEC_POWER_STATUS_ON = _cec.CEC_POWER_STATUS_ON
CEC_POWER_STATUS_STANDBY = _cec.CEC_POWER_STATUS_STANDBY
CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON = _cec.CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY = _cec.CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY
CEC_POWER_STATUS_UNKNOWN = _cec.CEC_POWER_STATUS_UNKNOWN
CEC_RECORD_SOURCE_TYPE_OWN_SOURCE = _cec.CEC_RECORD_SOURCE_TYPE_OWN_SOURCE
CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE = _cec.CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE
CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE = _cec.CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE
CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS = _cec.CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS
CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS = _cec.CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS
CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE = _cec.CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE
CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE = _cec.CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE
CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE = _cec.CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE
CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT = _cec.CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT
CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE
CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE
CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE
CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER
CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS
CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED
CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS
CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE
CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED
CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA
CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING
CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING
CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED
CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL
CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM
CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE
CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON
CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY = _cec.CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY
CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED = _cec.CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED
CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON = _cec.CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON
CEC_RECORDING_SEQUENCE_SUNDAY = _cec.CEC_RECORDING_SEQUENCE_SUNDAY
CEC_RECORDING_SEQUENCE_MONDAY = _cec.CEC_RECORDING_SEQUENCE_MONDAY
CEC_RECORDING_SEQUENCE_TUESDAY = _cec.CEC_RECORDING_SEQUENCE_TUESDAY
CEC_RECORDING_SEQUENCE_WEDNESDAY = _cec.CEC_RECORDING_SEQUENCE_WEDNESDAY
CEC_RECORDING_SEQUENCE_THURSDAY = _cec.CEC_RECORDING_SEQUENCE_THURSDAY
CEC_RECORDING_SEQUENCE_FRIDAY = _cec.CEC_RECORDING_SEQUENCE_FRIDAY
CEC_RECORDING_SEQUENCE_SATURDAY = _cec.CEC_RECORDING_SEQUENCE_SATURDAY
CEC_RECORDING_SEQUENCE_ONCE_ONLY = _cec.CEC_RECORDING_SEQUENCE_ONCE_ONLY
CEC_STATUS_REQUEST_ON = _cec.CEC_STATUS_REQUEST_ON
CEC_STATUS_REQUEST_OFF = _cec.CEC_STATUS_REQUEST_OFF
CEC_STATUS_REQUEST_ONCE = _cec.CEC_STATUS_REQUEST_ONCE
CEC_SYSTEM_AUDIO_STATUS_OFF = _cec.CEC_SYSTEM_AUDIO_STATUS_OFF
CEC_SYSTEM_AUDIO_STATUS_ON = _cec.CEC_SYSTEM_AUDIO_STATUS_ON
CEC_SYSTEM_AUDIO_STATUS_UNKNOWN = _cec.CEC_SYSTEM_AUDIO_STATUS_UNKNOWN
CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING
CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING
CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE
CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED = _cec.CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED
CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP = _cec.CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP
CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP = _cec.CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP
CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED = _cec.CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED
CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED = _cec.CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED
CEC_MEDIA_INFO_MEDIA_NOT_PRESENT = _cec.CEC_MEDIA_INFO_MEDIA_NOT_PRESENT
CEC_MEDIA_INFO_FUTURE_USE = _cec.CEC_MEDIA_INFO_FUTURE_USE
CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED = _cec.CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED
CEC_PROGRAMMED_INDICATOR_PROGRAMMED = _cec.CEC_PROGRAMMED_INDICATOR_PROGRAMMED
CEC_PROGRAMMED_INFO_FUTURE_USE = _cec.CEC_PROGRAMMED_INFO_FUTURE_USE
CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = _cec.CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING
CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = _cec.CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING
CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE = _cec.CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE
CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE = _cec.CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE
CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE
CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE
CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE
CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR
CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER
CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS
CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED
CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS
CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION
CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON
CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE
CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START
CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END
CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED = _cec.CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED
CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING = _cec.CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING
CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING = _cec.CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING
CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER = _cec.CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER
CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER = _cec.CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER
CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER = _cec.CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER
CEC_BROADCAST_SYSTEM_PAL_B_G = _cec.CEC_BROADCAST_SYSTEM_PAL_B_G
CEC_BROADCAST_SYSTEM_SECAM_L1 = _cec.CEC_BROADCAST_SYSTEM_SECAM_L1
CEC_BROADCAST_SYSTEM_PAL_M = _cec.CEC_BROADCAST_SYSTEM_PAL_M
CEC_BROADCAST_SYSTEM_NTSC_M = _cec.CEC_BROADCAST_SYSTEM_NTSC_M
CEC_BROADCAST_SYSTEM_PAL_I = _cec.CEC_BROADCAST_SYSTEM_PAL_I
CEC_BROADCAST_SYSTEM_SECAM_DK = _cec.CEC_BROADCAST_SYSTEM_SECAM_DK
CEC_BROADCAST_SYSTEM_SECAM_B_G = _cec.CEC_BROADCAST_SYSTEM_SECAM_B_G
CEC_BROADCAST_SYSTEM_SECAM_L2 = _cec.CEC_BROADCAST_SYSTEM_SECAM_L2
CEC_BROADCAST_SYSTEM_PAL_DK = _cec.CEC_BROADCAST_SYSTEM_PAL_DK
CEC_BROADCAST_SYSTEM_OTHER_SYSTEM = _cec.CEC_BROADCAST_SYSTEM_OTHER_SYSTEM
CEC_USER_CONTROL_CODE_SELECT = _cec.CEC_USER_CONTROL_CODE_SELECT
CEC_USER_CONTROL_CODE_UP = _cec.CEC_USER_CONTROL_CODE_UP
CEC_USER_CONTROL_CODE_DOWN = _cec.CEC_USER_CONTROL_CODE_DOWN
CEC_USER_CONTROL_CODE_LEFT = _cec.CEC_USER_CONTROL_CODE_LEFT
CEC_USER_CONTROL_CODE_RIGHT = _cec.CEC_USER_CONTROL_CODE_RIGHT
CEC_USER_CONTROL_CODE_RIGHT_UP = _cec.CEC_USER_CONTROL_CODE_RIGHT_UP
CEC_USER_CONTROL_CODE_RIGHT_DOWN = _cec.CEC_USER_CONTROL_CODE_RIGHT_DOWN
CEC_USER_CONTROL_CODE_LEFT_UP = _cec.CEC_USER_CONTROL_CODE_LEFT_UP
CEC_USER_CONTROL_CODE_LEFT_DOWN = _cec.CEC_USER_CONTROL_CODE_LEFT_DOWN
CEC_USER_CONTROL_CODE_ROOT_MENU = _cec.CEC_USER_CONTROL_CODE_ROOT_MENU
CEC_USER_CONTROL_CODE_SETUP_MENU = _cec.CEC_USER_CONTROL_CODE_SETUP_MENU
CEC_USER_CONTROL_CODE_CONTENTS_MENU = _cec.CEC_USER_CONTROL_CODE_CONTENTS_MENU
CEC_USER_CONTROL_CODE_FAVORITE_MENU = _cec.CEC_USER_CONTROL_CODE_FAVORITE_MENU
CEC_USER_CONTROL_CODE_EXIT = _cec.CEC_USER_CONTROL_CODE_EXIT
CEC_USER_CONTROL_CODE_TOP_MENU = _cec.CEC_USER_CONTROL_CODE_TOP_MENU
CEC_USER_CONTROL_CODE_DVD_MENU = _cec.CEC_USER_CONTROL_CODE_DVD_MENU
CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE = _cec.CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE
CEC_USER_CONTROL_CODE_NUMBER11 = _cec.CEC_USER_CONTROL_CODE_NUMBER11
CEC_USER_CONTROL_CODE_NUMBER12 = _cec.CEC_USER_CONTROL_CODE_NUMBER12
CEC_USER_CONTROL_CODE_NUMBER0 = _cec.CEC_USER_CONTROL_CODE_NUMBER0
CEC_USER_CONTROL_CODE_NUMBER1 = _cec.CEC_USER_CONTROL_CODE_NUMBER1
CEC_USER_CONTROL_CODE_NUMBER2 = _cec.CEC_USER_CONTROL_CODE_NUMBER2
CEC_USER_CONTROL_CODE_NUMBER3 = _cec.CEC_USER_CONTROL_CODE_NUMBER3
CEC_USER_CONTROL_CODE_NUMBER4 = _cec.CEC_USER_CONTROL_CODE_NUMBER4
CEC_USER_CONTROL_CODE_NUMBER5 = _cec.CEC_USER_CONTROL_CODE_NUMBER5
CEC_USER_CONTROL_CODE_NUMBER6 = _cec.CEC_USER_CONTROL_CODE_NUMBER6
CEC_USER_CONTROL_CODE_NUMBER7 = _cec.CEC_USER_CONTROL_CODE_NUMBER7
CEC_USER_CONTROL_CODE_NUMBER8 = _cec.CEC_USER_CONTROL_CODE_NUMBER8
CEC_USER_CONTROL_CODE_NUMBER9 = _cec.CEC_USER_CONTROL_CODE_NUMBER9
CEC_USER_CONTROL_CODE_DOT = _cec.CEC_USER_CONTROL_CODE_DOT
CEC_USER_CONTROL_CODE_ENTER = _cec.CEC_USER_CONTROL_CODE_ENTER
CEC_USER_CONTROL_CODE_CLEAR = _cec.CEC_USER_CONTROL_CODE_CLEAR
CEC_USER_CONTROL_CODE_NEXT_FAVORITE = _cec.CEC_USER_CONTROL_CODE_NEXT_FAVORITE
CEC_USER_CONTROL_CODE_CHANNEL_UP = _cec.CEC_USER_CONTROL_CODE_CHANNEL_UP
CEC_USER_CONTROL_CODE_CHANNEL_DOWN = _cec.CEC_USER_CONTROL_CODE_CHANNEL_DOWN
CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL = _cec.CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL
CEC_USER_CONTROL_CODE_SOUND_SELECT = _cec.CEC_USER_CONTROL_CODE_SOUND_SELECT
CEC_USER_CONTROL_CODE_INPUT_SELECT = _cec.CEC_USER_CONTROL_CODE_INPUT_SELECT
CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION = _cec.CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION
CEC_USER_CONTROL_CODE_HELP = _cec.CEC_USER_CONTROL_CODE_HELP
CEC_USER_CONTROL_CODE_PAGE_UP = _cec.CEC_USER_CONTROL_CODE_PAGE_UP
CEC_USER_CONTROL_CODE_PAGE_DOWN = _cec.CEC_USER_CONTROL_CODE_PAGE_DOWN
CEC_USER_CONTROL_CODE_POWER = _cec.CEC_USER_CONTROL_CODE_POWER
CEC_USER_CONTROL_CODE_VOLUME_UP = _cec.CEC_USER_CONTROL_CODE_VOLUME_UP
CEC_USER_CONTROL_CODE_VOLUME_DOWN = _cec.CEC_USER_CONTROL_CODE_VOLUME_DOWN
CEC_USER_CONTROL_CODE_MUTE = _cec.CEC_USER_CONTROL_CODE_MUTE
CEC_USER_CONTROL_CODE_PLAY = _cec.CEC_USER_CONTROL_CODE_PLAY
CEC_USER_CONTROL_CODE_STOP = _cec.CEC_USER_CONTROL_CODE_STOP
CEC_USER_CONTROL_CODE_PAUSE = _cec.CEC_USER_CONTROL_CODE_PAUSE
CEC_USER_CONTROL_CODE_RECORD = _cec.CEC_USER_CONTROL_CODE_RECORD
CEC_USER_CONTROL_CODE_REWIND = _cec.CEC_USER_CONTROL_CODE_REWIND
CEC_USER_CONTROL_CODE_FAST_FORWARD = _cec.CEC_USER_CONTROL_CODE_FAST_FORWARD
CEC_USER_CONTROL_CODE_EJECT = _cec.CEC_USER_CONTROL_CODE_EJECT
CEC_USER_CONTROL_CODE_FORWARD = _cec.CEC_USER_CONTROL_CODE_FORWARD
CEC_USER_CONTROL_CODE_BACKWARD = _cec.CEC_USER_CONTROL_CODE_BACKWARD
CEC_USER_CONTROL_CODE_STOP_RECORD = _cec.CEC_USER_CONTROL_CODE_STOP_RECORD
CEC_USER_CONTROL_CODE_PAUSE_RECORD = _cec.CEC_USER_CONTROL_CODE_PAUSE_RECORD
CEC_USER_CONTROL_CODE_ANGLE = _cec.CEC_USER_CONTROL_CODE_ANGLE
CEC_USER_CONTROL_CODE_SUB_PICTURE = _cec.CEC_USER_CONTROL_CODE_SUB_PICTURE
CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND = _cec.CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND
CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE = _cec.CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE
CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING = _cec.CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING
CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION = _cec.CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION
CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE = _cec.CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE
CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION = _cec.CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION
CEC_USER_CONTROL_CODE_PLAY_FUNCTION = _cec.CEC_USER_CONTROL_CODE_PLAY_FUNCTION
CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION = _cec.CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION
CEC_USER_CONTROL_CODE_RECORD_FUNCTION = _cec.CEC_USER_CONTROL_CODE_RECORD_FUNCTION
CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION = _cec.CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION
CEC_USER_CONTROL_CODE_STOP_FUNCTION = _cec.CEC_USER_CONTROL_CODE_STOP_FUNCTION
CEC_USER_CONTROL_CODE_MUTE_FUNCTION = _cec.CEC_USER_CONTROL_CODE_MUTE_FUNCTION
CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION = _cec.CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION
CEC_USER_CONTROL_CODE_TUNE_FUNCTION = _cec.CEC_USER_CONTROL_CODE_TUNE_FUNCTION
CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION = _cec.CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION
CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION = _cec.CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION
CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION = _cec.CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION
CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION = _cec.CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION
CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION = _cec.CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION
CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION = _cec.CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION
CEC_USER_CONTROL_CODE_F1_BLUE = _cec.CEC_USER_CONTROL_CODE_F1_BLUE
CEC_USER_CONTROL_CODE_F2_RED = _cec.CEC_USER_CONTROL_CODE_F2_RED
CEC_USER_CONTROL_CODE_F3_GREEN = _cec.CEC_USER_CONTROL_CODE_F3_GREEN
CEC_USER_CONTROL_CODE_F4_YELLOW = _cec.CEC_USER_CONTROL_CODE_F4_YELLOW
CEC_USER_CONTROL_CODE_F5 = _cec.CEC_USER_CONTROL_CODE_F5
CEC_USER_CONTROL_CODE_DATA = _cec.CEC_USER_CONTROL_CODE_DATA
CEC_USER_CONTROL_CODE_AN_RETURN = _cec.CEC_USER_CONTROL_CODE_AN_RETURN
CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST = _cec.CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST
CEC_USER_CONTROL_CODE_MAX = _cec.CEC_USER_CONTROL_CODE_MAX
CEC_USER_CONTROL_CODE_UNKNOWN = _cec.CEC_USER_CONTROL_CODE_UNKNOWN
CECDEVICE_UNKNOWN = _cec.CECDEVICE_UNKNOWN
CECDEVICE_TV = _cec.CECDEVICE_TV
CECDEVICE_RECORDINGDEVICE1 = _cec.CECDEVICE_RECORDINGDEVICE1
CECDEVICE_RECORDINGDEVICE2 = _cec.CECDEVICE_RECORDINGDEVICE2
CECDEVICE_TUNER1 = _cec.CECDEVICE_TUNER1
CECDEVICE_PLAYBACKDEVICE1 = _cec.CECDEVICE_PLAYBACKDEVICE1
CECDEVICE_AUDIOSYSTEM = _cec.CECDEVICE_AUDIOSYSTEM
CECDEVICE_TUNER2 = _cec.CECDEVICE_TUNER2
CECDEVICE_TUNER3 = _cec.CECDEVICE_TUNER3
CECDEVICE_PLAYBACKDEVICE2 = _cec.CECDEVICE_PLAYBACKDEVICE2
CECDEVICE_RECORDINGDEVICE3 = _cec.CECDEVICE_RECORDINGDEVICE3
CECDEVICE_TUNER4 = _cec.CECDEVICE_TUNER4
CECDEVICE_PLAYBACKDEVICE3 = _cec.CECDEVICE_PLAYBACKDEVICE3
CECDEVICE_RESERVED1 = _cec.CECDEVICE_RESERVED1
CECDEVICE_RESERVED2 = _cec.CECDEVICE_RESERVED2
CECDEVICE_FREEUSE = _cec.CECDEVICE_FREEUSE
CECDEVICE_UNREGISTERED = _cec.CECDEVICE_UNREGISTERED
CECDEVICE_BROADCAST = _cec.CECDEVICE_BROADCAST
CEC_OPCODE_ACTIVE_SOURCE = _cec.CEC_OPCODE_ACTIVE_SOURCE
CEC_OPCODE_IMAGE_VIEW_ON = _cec.CEC_OPCODE_IMAGE_VIEW_ON
CEC_OPCODE_TEXT_VIEW_ON = _cec.CEC_OPCODE_TEXT_VIEW_ON
CEC_OPCODE_INACTIVE_SOURCE = _cec.CEC_OPCODE_INACTIVE_SOURCE
CEC_OPCODE_REQUEST_ACTIVE_SOURCE = _cec.CEC_OPCODE_REQUEST_ACTIVE_SOURCE
CEC_OPCODE_ROUTING_CHANGE = _cec.CEC_OPCODE_ROUTING_CHANGE
CEC_OPCODE_ROUTING_INFORMATION = _cec.CEC_OPCODE_ROUTING_INFORMATION
CEC_OPCODE_SET_STREAM_PATH = _cec.CEC_OPCODE_SET_STREAM_PATH
CEC_OPCODE_STANDBY = _cec.CEC_OPCODE_STANDBY
CEC_OPCODE_RECORD_OFF = _cec.CEC_OPCODE_RECORD_OFF
CEC_OPCODE_RECORD_ON = _cec.CEC_OPCODE_RECORD_ON
CEC_OPCODE_RECORD_STATUS = _cec.CEC_OPCODE_RECORD_STATUS
CEC_OPCODE_RECORD_TV_SCREEN = _cec.CEC_OPCODE_RECORD_TV_SCREEN
CEC_OPCODE_CLEAR_ANALOGUE_TIMER = _cec.CEC_OPCODE_CLEAR_ANALOGUE_TIMER
CEC_OPCODE_CLEAR_DIGITAL_TIMER = _cec.CEC_OPCODE_CLEAR_DIGITAL_TIMER
CEC_OPCODE_CLEAR_EXTERNAL_TIMER = _cec.CEC_OPCODE_CLEAR_EXTERNAL_TIMER
CEC_OPCODE_SET_ANALOGUE_TIMER = _cec.CEC_OPCODE_SET_ANALOGUE_TIMER
CEC_OPCODE_SET_DIGITAL_TIMER = _cec.CEC_OPCODE_SET_DIGITAL_TIMER
CEC_OPCODE_SET_EXTERNAL_TIMER = _cec.CEC_OPCODE_SET_EXTERNAL_TIMER
CEC_OPCODE_SET_TIMER_PROGRAM_TITLE = _cec.CEC_OPCODE_SET_TIMER_PROGRAM_TITLE
CEC_OPCODE_TIMER_CLEARED_STATUS = _cec.CEC_OPCODE_TIMER_CLEARED_STATUS
CEC_OPCODE_TIMER_STATUS = _cec.CEC_OPCODE_TIMER_STATUS
CEC_OPCODE_CEC_VERSION = _cec.CEC_OPCODE_CEC_VERSION
CEC_OPCODE_GET_CEC_VERSION = _cec.CEC_OPCODE_GET_CEC_VERSION
CEC_OPCODE_GIVE_PHYSICAL_ADDRESS = _cec.CEC_OPCODE_GIVE_PHYSICAL_ADDRESS
CEC_OPCODE_GET_MENU_LANGUAGE = _cec.CEC_OPCODE_GET_MENU_LANGUAGE
CEC_OPCODE_REPORT_PHYSICAL_ADDRESS = _cec.CEC_OPCODE_REPORT_PHYSICAL_ADDRESS
CEC_OPCODE_SET_MENU_LANGUAGE = _cec.CEC_OPCODE_SET_MENU_LANGUAGE
CEC_OPCODE_DECK_CONTROL = _cec.CEC_OPCODE_DECK_CONTROL
CEC_OPCODE_DECK_STATUS = _cec.CEC_OPCODE_DECK_STATUS
CEC_OPCODE_GIVE_DECK_STATUS = _cec.CEC_OPCODE_GIVE_DECK_STATUS
CEC_OPCODE_PLAY = _cec.CEC_OPCODE_PLAY
CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS = _cec.CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS
CEC_OPCODE_SELECT_ANALOGUE_SERVICE = _cec.CEC_OPCODE_SELECT_ANALOGUE_SERVICE
CEC_OPCODE_SELECT_DIGITAL_SERVICE = _cec.CEC_OPCODE_SELECT_DIGITAL_SERVICE
CEC_OPCODE_TUNER_DEVICE_STATUS = _cec.CEC_OPCODE_TUNER_DEVICE_STATUS
CEC_OPCODE_TUNER_STEP_DECREMENT = _cec.CEC_OPCODE_TUNER_STEP_DECREMENT
CEC_OPCODE_TUNER_STEP_INCREMENT = _cec.CEC_OPCODE_TUNER_STEP_INCREMENT
CEC_OPCODE_DEVICE_VENDOR_ID = _cec.CEC_OPCODE_DEVICE_VENDOR_ID
CEC_OPCODE_GIVE_DEVICE_VENDOR_ID = _cec.CEC_OPCODE_GIVE_DEVICE_VENDOR_ID
CEC_OPCODE_VENDOR_COMMAND = _cec.CEC_OPCODE_VENDOR_COMMAND
CEC_OPCODE_VENDOR_COMMAND_WITH_ID = _cec.CEC_OPCODE_VENDOR_COMMAND_WITH_ID
CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN = _cec.CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN
CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP = _cec.CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP
CEC_OPCODE_SET_OSD_STRING = _cec.CEC_OPCODE_SET_OSD_STRING
CEC_OPCODE_GIVE_OSD_NAME = _cec.CEC_OPCODE_GIVE_OSD_NAME
CEC_OPCODE_SET_OSD_NAME = _cec.CEC_OPCODE_SET_OSD_NAME
CEC_OPCODE_MENU_REQUEST = _cec.CEC_OPCODE_MENU_REQUEST
CEC_OPCODE_MENU_STATUS = _cec.CEC_OPCODE_MENU_STATUS
CEC_OPCODE_USER_CONTROL_PRESSED = _cec.CEC_OPCODE_USER_CONTROL_PRESSED
CEC_OPCODE_USER_CONTROL_RELEASE = _cec.CEC_OPCODE_USER_CONTROL_RELEASE
CEC_OPCODE_GIVE_DEVICE_POWER_STATUS = _cec.CEC_OPCODE_GIVE_DEVICE_POWER_STATUS
CEC_OPCODE_REPORT_POWER_STATUS = _cec.CEC_OPCODE_REPORT_POWER_STATUS
CEC_OPCODE_FEATURE_ABORT = _cec.CEC_OPCODE_FEATURE_ABORT
CEC_OPCODE_ABORT = _cec.CEC_OPCODE_ABORT
CEC_OPCODE_GIVE_AUDIO_STATUS = _cec.CEC_OPCODE_GIVE_AUDIO_STATUS
CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS = _cec.CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS
CEC_OPCODE_REPORT_AUDIO_STATUS = _cec.CEC_OPCODE_REPORT_AUDIO_STATUS
CEC_OPCODE_SET_SYSTEM_AUDIO_MODE = _cec.CEC_OPCODE_SET_SYSTEM_AUDIO_MODE
CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST = _cec.CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST
CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS = _cec.CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS
CEC_OPCODE_SET_AUDIO_RATE = _cec.CEC_OPCODE_SET_AUDIO_RATE
CEC_OPCODE_REPORT_SHORT_AUDIO_DESCRIPTORS = _cec.CEC_OPCODE_REPORT_SHORT_AUDIO_DESCRIPTORS
CEC_OPCODE_REQUEST_SHORT_AUDIO_DESCRIPTORS = _cec.CEC_OPCODE_REQUEST_SHORT_AUDIO_DESCRIPTORS
CEC_OPCODE_START_ARC = _cec.CEC_OPCODE_START_ARC
CEC_OPCODE_REPORT_ARC_STARTED = _cec.CEC_OPCODE_REPORT_ARC_STARTED
CEC_OPCODE_REPORT_ARC_ENDED = _cec.CEC_OPCODE_REPORT_ARC_ENDED
CEC_OPCODE_REQUEST_ARC_START = _cec.CEC_OPCODE_REQUEST_ARC_START
CEC_OPCODE_REQUEST_ARC_END = _cec.CEC_OPCODE_REQUEST_ARC_END
CEC_OPCODE_END_ARC = _cec.CEC_OPCODE_END_ARC
CEC_OPCODE_CDC = _cec.CEC_OPCODE_CDC
CEC_OPCODE_NONE = _cec.CEC_OPCODE_NONE
CEC_LOG_ERROR = _cec.CEC_LOG_ERROR
CEC_LOG_WARNING = _cec.CEC_LOG_WARNING
CEC_LOG_NOTICE = _cec.CEC_LOG_NOTICE
CEC_LOG_TRAFFIC = _cec.CEC_LOG_TRAFFIC
CEC_LOG_DEBUG = _cec.CEC_LOG_DEBUG
CEC_LOG_ALL = _cec.CEC_LOG_ALL
CEC_DEVICE_STATUS_UNKNOWN = _cec.CEC_DEVICE_STATUS_UNKNOWN
CEC_DEVICE_STATUS_PRESENT = _cec.CEC_DEVICE_STATUS_PRESENT
CEC_DEVICE_STATUS_NOT_PRESENT = _cec.CEC_DEVICE_STATUS_NOT_PRESENT
CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC = _cec.CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC
CEC_VENDOR_TOSHIBA = _cec.CEC_VENDOR_TOSHIBA
CEC_VENDOR_SAMSUNG = _cec.CEC_VENDOR_SAMSUNG
CEC_VENDOR_DENON = _cec.CEC_VENDOR_DENON
CEC_VENDOR_MARANTZ = _cec.CEC_VENDOR_MARANTZ
CEC_VENDOR_LOEWE = _cec.CEC_VENDOR_LOEWE
CEC_VENDOR_ONKYO = _cec.CEC_VENDOR_ONKYO
CEC_VENDOR_MEDION = _cec.CEC_VENDOR_MEDION
CEC_VENDOR_TOSHIBA2 = _cec.CEC_VENDOR_TOSHIBA2
CEC_VENDOR_APPLE = _cec.CEC_VENDOR_APPLE
CEC_VENDOR_PULSE_EIGHT = _cec.CEC_VENDOR_PULSE_EIGHT
CEC_VENDOR_HARMAN_KARDON2 = _cec.CEC_VENDOR_HARMAN_KARDON2
CEC_VENDOR_GOOGLE = _cec.CEC_VENDOR_GOOGLE
CEC_VENDOR_AKAI = _cec.CEC_VENDOR_AKAI
CEC_VENDOR_AOC = _cec.CEC_VENDOR_AOC
CEC_VENDOR_PANASONIC = _cec.CEC_VENDOR_PANASONIC
CEC_VENDOR_PHILIPS = _cec.CEC_VENDOR_PHILIPS
CEC_VENDOR_DAEWOO = _cec.CEC_VENDOR_DAEWOO
CEC_VENDOR_YAMAHA = _cec.CEC_VENDOR_YAMAHA
CEC_VENDOR_GRUNDIG = _cec.CEC_VENDOR_GRUNDIG
CEC_VENDOR_PIONEER = _cec.CEC_VENDOR_PIONEER
CEC_VENDOR_LG = _cec.CEC_VENDOR_LG
CEC_VENDOR_SHARP = _cec.CEC_VENDOR_SHARP
CEC_VENDOR_SONY = _cec.CEC_VENDOR_SONY
CEC_VENDOR_TEUFEL = _cec.CEC_VENDOR_TEUFEL
CEC_VENDOR_BROADCOM = _cec.CEC_VENDOR_BROADCOM
CEC_VENDOR_SHARP2 = _cec.CEC_VENDOR_SHARP2
CEC_VENDOR_VIZIO = _cec.CEC_VENDOR_VIZIO
CEC_VENDOR_BENQ = _cec.CEC_VENDOR_BENQ
CEC_VENDOR_HARMAN_KARDON = _cec.CEC_VENDOR_HARMAN_KARDON
CEC_VENDOR_UNKNOWN = _cec.CEC_VENDOR_UNKNOWN
ADAPTERTYPE_UNKNOWN = _cec.ADAPTERTYPE_UNKNOWN
ADAPTERTYPE_P8_EXTERNAL = _cec.ADAPTERTYPE_P8_EXTERNAL
ADAPTERTYPE_P8_DAUGHTERBOARD = _cec.ADAPTERTYPE_P8_DAUGHTERBOARD
ADAPTERTYPE_RPI = _cec.ADAPTERTYPE_RPI
ADAPTERTYPE_TDA995x = _cec.ADAPTERTYPE_TDA995x
ADAPTERTYPE_EXYNOS = _cec.ADAPTERTYPE_EXYNOS
ADAPTERTYPE_LINUX = _cec.ADAPTERTYPE_LINUX
ADAPTERTYPE_AOCEC = _cec.ADAPTERTYPE_AOCEC
ADAPTERTYPE_IMX = _cec.ADAPTERTYPE_IMX
ADAPTERTYPE_TEGRA = _cec.ADAPTERTYPE_TEGRA
LIBCEC_VERSION_CURRENT = _cec.LIBCEC_VERSION_CURRENT
[docs]
class AdapterDescriptor(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
def __init__(self, *args):
_cec.AdapterDescriptor_swiginit(self, _cec.new_AdapterDescriptor(*args))
strComPath = property(_cec.AdapterDescriptor_strComPath_get, _cec.AdapterDescriptor_strComPath_set, doc=r""" the adapter's stable location: USB-tree path (Linux) / device instance id (Windows); does not change with enumeration order""")
strComName = property(_cec.AdapterDescriptor_strComName_get, _cec.AdapterDescriptor_strComName_set, doc=r""" the com port used to open the adapter, e.g. /dev/ttyACM0 or COM3; may change with enumeration order""")
iVendorId = property(_cec.AdapterDescriptor_iVendorId_get, _cec.AdapterDescriptor_iVendorId_set)
iProductId = property(_cec.AdapterDescriptor_iProductId_get, _cec.AdapterDescriptor_iProductId_set)
iFirmwareVersion = property(_cec.AdapterDescriptor_iFirmwareVersion_get, _cec.AdapterDescriptor_iFirmwareVersion_set)
iPhysicalAddress = property(_cec.AdapterDescriptor_iPhysicalAddress_get, _cec.AdapterDescriptor_iPhysicalAddress_set)
iFirmwareBuildDate = property(_cec.AdapterDescriptor_iFirmwareBuildDate_get, _cec.AdapterDescriptor_iFirmwareBuildDate_set)
adapterType = property(_cec.AdapterDescriptor_adapterType_get, _cec.AdapterDescriptor_adapterType_set)
strDeviceName = property(_cec.AdapterDescriptor_strDeviceName_get, _cec.AdapterDescriptor_strDeviceName_set, doc=r''' a human-readable display name for the adapter, e.g. "HDMI 1"''')
__swig_destroy__ = _cec.delete_AdapterDescriptor
# Register AdapterDescriptor in _cec:
_cec.AdapterDescriptor_swigregister(AdapterDescriptor)
[docs]
class cec_datapacket(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
data = property(_cec.cec_datapacket_data_get, _cec.cec_datapacket_data_set, doc=r""" the actual data""")
size = property(_cec.cec_datapacket_size_get, _cec.cec_datapacket_size_set, doc=r""" the size of the data""")
def __eq__(self, packet):
return _cec.cec_datapacket___eq__(self, packet)
[docs]
def IsEmpty(self):
r"""
:rtype: boolean
:return: True when this packet is empty, false otherwise.
"""
return _cec.cec_datapacket_IsEmpty(self)
[docs]
def IsFull(self):
r"""
:rtype: boolean
:return: True when this packet is false, false otherwise.
"""
return _cec.cec_datapacket_IsFull(self)
[docs]
def At(self, pos):
r"""
Get the byte at the requested position.
:type pos: uint8_t
:param pos: The position.
:rtype: uint8_t
:return: The byte, or 0 when out of bounds.
"""
return _cec.cec_datapacket_At(self, pos)
[docs]
def Shift(self, iShiftBy):
r"""
Shift the contents of this packet.
:type iShiftBy: uint8_t
:param iShiftBy: The number of positions to shift.
"""
return _cec.cec_datapacket_Shift(self, iShiftBy)
[docs]
def PushBack(self, add):
r"""
Push a byte to the end of this packet.
:type add: uint8_t
:param add: The byte to add.
"""
return _cec.cec_datapacket_PushBack(self, add)
[docs]
def Clear(self):
r"""Clear this packet."""
return _cec.cec_datapacket_Clear(self)
def __getitem__(self, pos):
return _cec.cec_datapacket___getitem__(self, pos)
def __init__(self):
_cec.cec_datapacket_swiginit(self, _cec.new_cec_datapacket())
__swig_destroy__ = _cec.delete_cec_datapacket
# Register cec_datapacket in _cec:
_cec.cec_datapacket_swigregister(cec_datapacket)
[docs]
class cec_command(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
initiator = property(_cec.cec_command_initiator_get, _cec.cec_command_initiator_set, doc=r""" the logical address of the initiator of this message""")
destination = property(_cec.cec_command_destination_get, _cec.cec_command_destination_set, doc=r""" the logical address of the destination of this message""")
ack = property(_cec.cec_command_ack_get, _cec.cec_command_ack_set, doc=r""" 1 when the ACK bit is set, 0 otherwise""")
eom = property(_cec.cec_command_eom_get, _cec.cec_command_eom_set, doc=r""" 1 when the EOM bit is set, 0 otherwise""")
opcode = property(_cec.cec_command_opcode_get, _cec.cec_command_opcode_set, doc=r""" the opcode of this message""")
parameters = property(_cec.cec_command_parameters_get, _cec.cec_command_parameters_set, doc=r""" the parameters attached to this message""")
opcode_set = property(_cec.cec_command_opcode_set_get, _cec.cec_command_opcode_set_set, doc=r""" 1 when an opcode is set, 0 otherwise (POLL message)""")
transmit_timeout = property(_cec.cec_command_transmit_timeout_get, _cec.cec_command_transmit_timeout_set, doc=r""" the timeout to use in ms""")
def __init__(self):
_cec.cec_command_swiginit(self, _cec.new_cec_command())
[docs]
def Size(self):
return _cec.cec_command_Size(self)
[docs]
def Serialize(self, buffer, iBufSize, bWithHeader=True):
r"""
Serialize this command as an on-wire CEC frame: [header][opcode][operands...].
The frame is capped to a single CEC frame (CEC_MAX_FRAME_SIZE bytes) and to the
destination buffer; a command that does not fit is rejected rather than truncated
or overrunning the buffer. This is the single place where the transmit length is
bounded, so adapter backends do not need their own size checks.
:type buffer: uint8_t
:param buffer: The destination buffer.
:type iBufSize: uint8_t
:param iBufSize: The size of the destination buffer, in bytes.
:type bWithHeader: boolean, optional
:param bWithHeader: When true (default), byte 0 is the initiator/destination header. When
false, serialization starts at the opcode, for backends that carry the
addressing in a separate field (e.g. the kernel cec_msg or the TDA995x
frame header).
:rtype: int
:return: The number of bytes written (>= 0), or -1 when the command exceeds a CEC frame or
would not fit the destination buffer.
"""
return _cec.cec_command_Serialize(self, buffer, iBufSize, bWithHeader)
[docs]
def PushBack(self, data):
r"""
Push a byte to the back of this command.
:type data: uint8_t
:param data: The byte to push.
"""
return _cec.cec_command_PushBack(self, data)
[docs]
def Clear(self):
r"""Clear this command, resetting everything to the default values."""
return _cec.cec_command_Clear(self)
[docs]
@staticmethod
def GetResponseOpcode(opcode):
return _cec.cec_command_GetResponseOpcode(opcode)
[docs]
def PushArray(self, len, data):
return _cec.cec_command_PushArray(self, len, data)
__swig_destroy__ = _cec.delete_cec_command
# Register cec_command in _cec:
_cec.cec_command_swigregister(cec_command)
[docs]
class cec_device_type_list(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
types = property(_cec.cec_device_type_list_types_get, _cec.cec_device_type_list_types_set, doc=r""" the list of device types""")
[docs]
def Clear(self):
r"""Clear this list."""
return _cec.cec_device_type_list_Clear(self)
[docs]
def Add(self, type):
r"""
Add a type to this list.
:type type: int
:param type: The type to add.
"""
return _cec.cec_device_type_list_Add(self, type)
[docs]
def IsSet(self, type):
r"""
Check whether a type is set in this list.
:type type: int
:param type: The type to check.
:rtype: boolean
:return: True when set, false otherwise.
"""
return _cec.cec_device_type_list_IsSet(self, type)
[docs]
def IsEmpty(self):
r"""
:rtype: boolean
:return: True when this list is empty, false otherwise.
"""
return _cec.cec_device_type_list_IsEmpty(self)
def __eq__(self, other):
return _cec.cec_device_type_list___eq__(self, other)
def __ne__(self, other):
return _cec.cec_device_type_list___ne__(self, other)
def __getitem__(self, pos):
return _cec.cec_device_type_list___getitem__(self, pos)
def __init__(self):
_cec.cec_device_type_list_swiginit(self, _cec.new_cec_device_type_list())
__swig_destroy__ = _cec.delete_cec_device_type_list
# Register cec_device_type_list in _cec:
_cec.cec_device_type_list_swigregister(cec_device_type_list)
[docs]
class cec_logical_addresses(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
primary = property(_cec.cec_logical_addresses_primary_get, _cec.cec_logical_addresses_primary_set, doc=r""" the primary logical address to use""")
addresses = property(_cec.cec_logical_addresses_addresses_get, _cec.cec_logical_addresses_addresses_set, doc=r""" the list of addresses""")
[docs]
def Clear(self):
r"""Clear this list."""
return _cec.cec_logical_addresses_Clear(self)
[docs]
def IsEmpty(self):
r"""
:rtype: boolean
:return: True when empty, false otherwise.
"""
return _cec.cec_logical_addresses_IsEmpty(self)
[docs]
def AckMask(self):
r"""
Calculate the ack-mask for this list, the mask to use when determining whether to send an ack message or not.
:rtype: int
:return: The ack-mask.
"""
return _cec.cec_logical_addresses_AckMask(self)
[docs]
def Set(self, address):
r"""
Mark a logical address as 'set'
:type address: int
:param address: The logical address to add to this list.
"""
return _cec.cec_logical_addresses_Set(self, address)
[docs]
def Unset(self, address):
r"""
Mark a logical address as 'unset'
:type address: int
:param address: The logical address to remove from this list.
"""
return _cec.cec_logical_addresses_Unset(self, address)
[docs]
def IsSet(self, address):
r"""
Check whether an address is set in this list.
:type address: int
:param address: The address to check.
:rtype: boolean
:return: True when set, false otherwise.
"""
return _cec.cec_logical_addresses_IsSet(self, address)
def __eq__(self, other):
return _cec.cec_logical_addresses___eq__(self, other)
def __ne__(self, other):
return _cec.cec_logical_addresses___ne__(self, other)
def __getitem__(self, pos):
return _cec.cec_logical_addresses___getitem__(self, pos)
def __init__(self):
_cec.cec_logical_addresses_swiginit(self, _cec.new_cec_logical_addresses())
__swig_destroy__ = _cec.delete_cec_logical_addresses
# Register cec_logical_addresses in _cec:
_cec.cec_logical_addresses_swigregister(cec_logical_addresses)
CEC_ALERT_SERVICE_DEVICE = _cec.CEC_ALERT_SERVICE_DEVICE
CEC_ALERT_CONNECTION_LOST = _cec.CEC_ALERT_CONNECTION_LOST
CEC_ALERT_PERMISSION_ERROR = _cec.CEC_ALERT_PERMISSION_ERROR
CEC_ALERT_PORT_BUSY = _cec.CEC_ALERT_PORT_BUSY
CEC_ALERT_PHYSICAL_ADDRESS_ERROR = _cec.CEC_ALERT_PHYSICAL_ADDRESS_ERROR
CEC_ALERT_TV_POLL_FAILED = _cec.CEC_ALERT_TV_POLL_FAILED
CEC_PARAMETER_TYPE_STRING = _cec.CEC_PARAMETER_TYPE_STRING
CEC_PARAMETER_TYPE_UNKOWN = _cec.CEC_PARAMETER_TYPE_UNKOWN
[docs]
class libcec_parameter(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
paramType = property(_cec.libcec_parameter_paramType_get, _cec.libcec_parameter_paramType_set, doc=r""" the type of this parameter""")
paramData = property(_cec.libcec_parameter_paramData_get, _cec.libcec_parameter_paramData_set, doc=r""" the value of this parameter""")
def __init__(self):
_cec.libcec_parameter_swiginit(self, _cec.new_libcec_parameter())
__swig_destroy__ = _cec.delete_libcec_parameter
# Register libcec_parameter in _cec:
_cec.libcec_parameter_swigregister(libcec_parameter)
[docs]
class cec_adapter_stats(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
tx_ack = property(_cec.cec_adapter_stats_tx_ack_get, _cec.cec_adapter_stats_tx_ack_set)
tx_nack = property(_cec.cec_adapter_stats_tx_nack_get, _cec.cec_adapter_stats_tx_nack_set)
tx_error = property(_cec.cec_adapter_stats_tx_error_get, _cec.cec_adapter_stats_tx_error_set)
rx_total = property(_cec.cec_adapter_stats_rx_total_get, _cec.cec_adapter_stats_rx_total_set)
rx_error = property(_cec.cec_adapter_stats_rx_error_get, _cec.cec_adapter_stats_rx_error_set)
def __init__(self):
_cec.cec_adapter_stats_swiginit(self, _cec.new_cec_adapter_stats())
__swig_destroy__ = _cec.delete_cec_adapter_stats
# Register cec_adapter_stats in _cec:
_cec.cec_adapter_stats_swigregister(cec_adapter_stats)
LIBCEC_OSD_NAME_SIZE = _cec.LIBCEC_OSD_NAME_SIZE
[docs]
class libcec_configuration(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
__repr__ = _swig_repr
clientVersion = property(_cec.libcec_configuration_clientVersion_get, _cec.libcec_configuration_clientVersion_set, doc=r""" the version of the client that is connecting""")
strDeviceName = property(_cec.libcec_configuration_strDeviceName_get, _cec.libcec_configuration_strDeviceName_set, doc=r""" the device name to use on the CEC bus, name + 0 terminator""")
deviceTypes = property(_cec.libcec_configuration_deviceTypes_get, _cec.libcec_configuration_deviceTypes_set, doc=r""" the device type(s) to use on the CEC bus for libCEC""")
bAutodetectAddress = property(_cec.libcec_configuration_bAutodetectAddress_get, _cec.libcec_configuration_bAutodetectAddress_set, doc=r""" (read only) set to 1 by libCEC when the physical address was autodetected""")
iPhysicalAddress = property(_cec.libcec_configuration_iPhysicalAddress_get, _cec.libcec_configuration_iPhysicalAddress_set, doc=r""" the physical address of the CEC adapter""")
baseDevice = property(_cec.libcec_configuration_baseDevice_get, _cec.libcec_configuration_baseDevice_set, doc=r""" the logical address of the device to which the adapter is connected. only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection""")
iHDMIPort = property(_cec.libcec_configuration_iHDMIPort_get, _cec.libcec_configuration_iHDMIPort_set, doc=r""" the HDMI port to which the adapter is connected. only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection""")
tvVendor = property(_cec.libcec_configuration_tvVendor_get, _cec.libcec_configuration_tvVendor_set, doc=r""" override the vendor ID of the TV. leave this untouched to autodetect""")
wakeDevices = property(_cec.libcec_configuration_wakeDevices_get, _cec.libcec_configuration_wakeDevices_set, doc=r""" list of devices to wake when initialising libCEC or when calling PowerOnDevices() without any parameter.""")
powerOffDevices = property(_cec.libcec_configuration_powerOffDevices_get, _cec.libcec_configuration_powerOffDevices_set, doc=r""" list of devices to power off when calling StandbyDevices() without any parameter.""")
serverVersion = property(_cec.libcec_configuration_serverVersion_get, _cec.libcec_configuration_serverVersion_set, doc=r""" the version number of the server. read-only""")
bGetSettingsFromROM = property(_cec.libcec_configuration_bGetSettingsFromROM_get, _cec.libcec_configuration_bGetSettingsFromROM_set, doc=r""" true to get the settings from the ROM (if set, and a v2 ROM is present), false to use these settings.""")
bActivateSource = property(_cec.libcec_configuration_bActivateSource_get, _cec.libcec_configuration_bActivateSource_set, doc=r""" make libCEC the active source on the bus when starting the player application""")
bPowerOffOnStandby = property(_cec.libcec_configuration_bPowerOffOnStandby_get, _cec.libcec_configuration_bPowerOffOnStandby_set, doc=r""" put this PC in standby mode when the TV is switched off. only used when bShutdownOnStandby = 0""")
logicalAddresses = property(_cec.libcec_configuration_logicalAddresses_get, _cec.libcec_configuration_logicalAddresses_set, doc=r""" (read-only) the current logical addresses. added in 1.5.3""")
iFirmwareVersion = property(_cec.libcec_configuration_iFirmwareVersion_get, _cec.libcec_configuration_iFirmwareVersion_set, doc=r""" (read-only) the firmware version of the adapter. added in 1.6.0""")
strDeviceLanguage = property(_cec.libcec_configuration_strDeviceLanguage_get, _cec.libcec_configuration_strDeviceLanguage_set, doc=r""" the menu language used by the client. 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/ added in 1.6.2""")
iFirmwareBuildDate = property(_cec.libcec_configuration_iFirmwareBuildDate_get, _cec.libcec_configuration_iFirmwareBuildDate_set, doc=r""" (read-only) the build date of the firmware, in seconds since epoch. if not available, this value will be set to 0. added in 1.6.2""")
bMonitorOnly = property(_cec.libcec_configuration_bMonitorOnly_get, _cec.libcec_configuration_bMonitorOnly_set, doc=r""" won't allocate a CCECClient when starting the connection when set (same as monitor mode). added in 1.6.3""")
cecVersion = property(_cec.libcec_configuration_cecVersion_get, _cec.libcec_configuration_cecVersion_set, doc=r""" CEC spec version to use by libCEC. defaults to v1.4. added in 1.8.0""")
adapterType = property(_cec.libcec_configuration_adapterType_get, _cec.libcec_configuration_adapterType_set, doc=r""" type of the CEC adapter that we're connected to. added in 1.8.2""")
comboKey = property(_cec.libcec_configuration_comboKey_get, _cec.libcec_configuration_comboKey_set, doc=r""" key code that initiates combo keys. defaults to CEC_USER_CONTROL_CODE_STOP. CEC_USER_CONTROL_CODE_UNKNOWN to disable. added in 2.0.5""")
iComboKeyTimeoutMs = property(_cec.libcec_configuration_iComboKeyTimeoutMs_get, _cec.libcec_configuration_iComboKeyTimeoutMs_set, doc=r""" timeout until the combo key is sent as normal keypress""")
iButtonRepeatRateMs = property(_cec.libcec_configuration_iButtonRepeatRateMs_get, _cec.libcec_configuration_iButtonRepeatRateMs_set, doc=r""" rate at which buttons autorepeat. 0 means rely on CEC device""")
iButtonReleaseDelayMs = property(_cec.libcec_configuration_iButtonReleaseDelayMs_get, _cec.libcec_configuration_iButtonReleaseDelayMs_set, doc=r""" duration after last update until a button is considered released""")
iDoubleTapTimeoutMs = property(_cec.libcec_configuration_iDoubleTapTimeoutMs_get, _cec.libcec_configuration_iDoubleTapTimeoutMs_set, doc=r""" prevent double taps within this timeout. defaults to 200ms. added in 4.0.0""")
bAutoWakeAVR = property(_cec.libcec_configuration_bAutoWakeAVR_get, _cec.libcec_configuration_bAutoWakeAVR_set, doc=r""" set to 1 to automatically waking an AVR when the source is activated. added in 4.0.0""")
bAutoPowerOn = property(_cec.libcec_configuration_bAutoPowerOn_get, _cec.libcec_configuration_bAutoPowerOn_set, doc=r""" set to 1 and save eeprom config to wake the tv when usb is powered. added in 5.0.0 / fw v9""")
bAutonomousMode = property(_cec.libcec_configuration_bAutonomousMode_get, _cec.libcec_configuration_bAutonomousMode_set, doc=r""" set to 1 (default) to let the adapter stay active on the CEC bus when the host isn't running (ack polls and wake the host on a CEC request), or 0 to keep it silent when unattended so the TV/CEC bus can't wake the host. save eeprom config to persist. added in 8.0.0""")
iButtonRepeatDelayMs = property(_cec.libcec_configuration_iButtonRepeatDelayMs_get, _cec.libcec_configuration_iButtonRepeatDelayMs_set, doc=r""" delay before a held button starts auto-repeating, when iButtonRepeatRateMs is set. defaults to 200ms. added in 8.0.0""")
iDeviceVendorId = property(_cec.libcec_configuration_iDeviceVendorId_get, _cec.libcec_configuration_iDeviceVendorId_set, doc=r""" the vendor ID to announce for this device. CEC_VENDOR_UNKNOWN (default) to keep libCEC's default identity. added in 8.0.0""")
def __init__(self):
_cec.libcec_configuration_swiginit(self, _cec.new_libcec_configuration())
def __eq__(self, other):
return _cec.libcec_configuration___eq__(self, other)
def __ne__(self, other):
return _cec.libcec_configuration___ne__(self, other)
[docs]
def Clear(self):
r"""Reset this configution struct to the default values."""
return _cec.libcec_configuration_Clear(self)
__swig_destroy__ = _cec.delete_libcec_configuration
[docs]
def SetLogCallback(self, pyfunc):
return _cec.libcec_configuration_SetLogCallback(self, pyfunc)
[docs]
def SetKeyPressCallback(self, pyfunc):
return _cec.libcec_configuration_SetKeyPressCallback(self, pyfunc)
[docs]
def SetCommandCallback(self, pyfunc):
return _cec.libcec_configuration_SetCommandCallback(self, pyfunc)
[docs]
def SetSourceActivatedCallback(self, pyfunc):
return _cec.libcec_configuration_SetSourceActivatedCallback(self, pyfunc)
[docs]
def SetAlertCallback(self, pyfunc):
return _cec.libcec_configuration_SetAlertCallback(self, pyfunc)
[docs]
def SetConfigurationChangedCallback(self, pyfunc):
return _cec.libcec_configuration_SetConfigurationChangedCallback(self, pyfunc)
[docs]
def SetCommandHandlerCallback(self, pyfunc):
return _cec.libcec_configuration_SetCommandHandlerCallback(self, pyfunc)
[docs]
def ClearCallbacks(self):
return _cec.libcec_configuration_ClearCallbacks(self)
# Register libcec_configuration in _cec:
_cec.libcec_configuration_swigregister(libcec_configuration)
[docs]
class ICECAdapter(object):
r"""
To create a new libCEC instance, call CECInitialise() and pass the
configuration as argument. Then call Open() to open a connection to the
adapter. Close() closes the connection and CECDestroy() cleans up the
libCEC instance.
libCEC can send commands to other devices on the CEC bus via the methods
on this interface, and all commands that libCEC received are sent back
to the application via callback methods. The callback methods can be
found in cectypes.h, ICECCallbacks.
"""
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
def __init__(self, *args, **kwargs):
raise AttributeError("No constructor defined - class is abstract")
__repr__ = _swig_repr
[docs]
def Open(self, strPort, iTimeoutMs=10000):
r"""
Open a connection to the CEC adapter.
:type strPort: string
:param strPort: The path to the port.
:type iTimeoutMs: int, optional
:param iTimeoutMs: Connection timeout in ms.
:rtype: boolean
:return: True when connected, false otherwise.
"""
return _cec.ICECAdapter_Open(self, strPort, iTimeoutMs)
[docs]
def Close(self):
r"""Close the connection to the CEC adapter."""
return _cec.ICECAdapter_Close(self)
[docs]
def PingAdapter(self):
r"""
Sends a ping command to the adapter, to check if it's responding.
:rtype: boolean
:return: True when the ping was successful, false otherwise.
"""
return _cec.ICECAdapter_PingAdapter(self)
[docs]
def StartBootloader(self):
r"""
Start the bootloader of the CEC adapter. Closes the connection when successful.
:rtype: boolean
:return: True when the command was sent successfully, false otherwise.
"""
return _cec.ICECAdapter_StartBootloader(self)
[docs]
def Transmit(self, data):
r"""
Transmit a raw CEC command over the CEC line.
:type data: :py:class:`cec_command`
:param data: The command to send.
:rtype: boolean
:return: True when the data was sent and acked, false otherwise.
"""
return _cec.ICECAdapter_Transmit(self, data)
[docs]
def SetLogicalAddress(self, *args):
r"""
Change the logical address on the CEC bus of the CEC adapter. libCEC automatically assigns a logical address, and this method is only available for debugging purposes.
:type iLogicalAddress: int, optional
:param iLogicalAddress: The CEC adapter's new logical address.
:rtype: boolean
:return: True when the logical address was set successfully, false otherwise.
"""
return _cec.ICECAdapter_SetLogicalAddress(self, *args)
[docs]
def SetPhysicalAddress(self, iPhysicalAddress=0x1000):
r"""
Change the physical address (HDMI port) of the CEC adapter. libCEC will try to autodetect the physical address when connecting. If it did, it's set in libcec_configuration.
:type iPhysicalAddress: int, optional
:param iPhysicalAddress: The CEC adapter's new physical address.
True when the physical address was set successfully, false otherwise.
"""
return _cec.ICECAdapter_SetPhysicalAddress(self, iPhysicalAddress)
[docs]
def PowerOnDevices(self, *args):
r"""
Power on the given CEC capable devices. If CECDEVICE_BROADCAST is used, then wakeDevice in libcec_configuration will be used.
:type address: int, optional
:param address: The logical address to power on.
:rtype: boolean
:return: True when the command was sent successfully, false otherwise.
"""
return _cec.ICECAdapter_PowerOnDevices(self, *args)
[docs]
def StandbyDevices(self, *args):
r"""
Put the given CEC capable devices in standby mode. If CECDEVICE_BROADCAST is used, then standbyDevices in libcec_configuration will be used.
address The logical address of the device to put in standby.
:rtype: boolean
:return: True when the command was sent successfully, false otherwise.
"""
return _cec.ICECAdapter_StandbyDevices(self, *args)
[docs]
def SetActiveSource(self, *args):
r"""
Change the active source to a device type handled by libCEC. Use CEC_DEVICE_TYPE_RESERVED to make the default type used by libCEC active.
:type type: int, optional
:param type: The new active source. Leave empty to use the primary type
:rtype: boolean
:return: True when the command was sent successfully, false otherwise.
"""
return _cec.ICECAdapter_SetActiveSource(self, *args)
[docs]
def SetDeckControlMode(self, mode, bSendUpdate=True):
r"""
Change the deck control mode, if this adapter is registered as playback or recording device.
:type mode: int
:param mode: The new control mode.
:type bSendUpdate: boolean, optional
:param bSendUpdate: True to send the new status over the CEC line.
:rtype: boolean
:return: True if set, false otherwise.
"""
return _cec.ICECAdapter_SetDeckControlMode(self, mode, bSendUpdate)
[docs]
def SetDeckInfo(self, info, bSendUpdate=True):
r"""
Change the deck info, if this adapter is a playback or recording device.
:type info: int
:param info: The new deck info.
:type bSendUpdate: boolean, optional
:param bSendUpdate: True to send the new status over the CEC line.
:rtype: boolean
:return: True if set, false otherwise.
"""
return _cec.ICECAdapter_SetDeckInfo(self, info, bSendUpdate)
[docs]
def SetInactiveView(self):
r"""
Broadcast a message that notifies connected CEC capable devices that this device is no longer the active source.
:rtype: boolean
:return: True when the command was sent successfully, false otherwise.
"""
return _cec.ICECAdapter_SetInactiveView(self)
[docs]
def SetOSDString(self, iLogicalAddress, duration, strMessage):
r"""
Display a message on the device with the given logical address. Not supported by most TVs.
:type iLogicalAddress: int
:param iLogicalAddress: The logical address of the device to display the message on.
:type duration: int
:param duration: The duration of the message
:type strMessage: string
:param strMessage: The message to display.
:rtype: boolean
:return: True when the command was sent, false otherwise.
"""
return _cec.ICECAdapter_SetOSDString(self, iLogicalAddress, duration, strMessage)
[docs]
def SwitchMonitoring(self, bEnable):
r"""
Enable or disable monitoring mode, for debugging purposes. If monitoring mode is enabled, libCEC won't respond to any command, but only log incoming data.
:type bEnable: boolean
:param bEnable: True to enable, false to disable.
:rtype: boolean
:return: True when switched successfully, false otherwise.
"""
return _cec.ICECAdapter_SwitchMonitoring(self, bEnable)
[docs]
def GetDeviceCecVersion(self, iLogicalAddress):
r"""
Get the CEC version of the device with the given logical address
:type iLogicalAddress: int
:param iLogicalAddress: The logical address of the device to get the CEC version for.
:rtype: int
:return: The version or CEC_VERSION_UNKNOWN when the version couldn't be fetched.
"""
return _cec.ICECAdapter_GetDeviceCecVersion(self, iLogicalAddress)
[docs]
def GetDeviceVendorId(self, iLogicalAddress):
r"""
Get the vendor ID of the device with the given logical address.
:type iLogicalAddress: int
:param iLogicalAddress: The logical address of the device to get the vendor ID for.
:rtype: int
:return: The vendor ID or 0 if it wasn't found.
"""
return _cec.ICECAdapter_GetDeviceVendorId(self, iLogicalAddress)
[docs]
def GetDevicePowerStatus(self, iLogicalAddress):
r"""
Get the power status of the device with the given logical address.
:type iLogicalAddress: int
:param iLogicalAddress: The logical address of the device to get the power status for.
:rtype: int
:return: The power status or CEC_POWER_STATUS_UNKNOWN if it wasn't found.
"""
return _cec.ICECAdapter_GetDevicePowerStatus(self, iLogicalAddress)
[docs]
def PollDevice(self, iLogicalAddress):
r"""
Sends a POLL message to a device, to check if it's present and responding.
:type iLogicalAddress: int
:param iLogicalAddress: The device to send the message to.
:rtype: boolean
:return: True if the POLL was acked, false otherwise.
"""
return _cec.ICECAdapter_PollDevice(self, iLogicalAddress)
[docs]
def GetActiveDevices(self):
r"""
:rtype: :py:class:`cec_logical_addresses`
:return: The logical addresses of the devices that are active on the bus, including those handled by libCEC.
"""
return _cec.ICECAdapter_GetActiveDevices(self)
[docs]
def IsActiveDevice(self, iLogicalAddress):
r"""
Check whether a device is active on the bus.
:type iLogicalAddress: int
:param iLogicalAddress: The address to check.
:rtype: boolean
:return: True when active, false otherwise.
"""
return _cec.ICECAdapter_IsActiveDevice(self, iLogicalAddress)
[docs]
def IsActiveDeviceType(self, type):
r"""
Check whether a device of the given type is active on the bus.
:type type: int
:param type: The type to check.
:rtype: boolean
:return: True when active, false otherwise.
"""
return _cec.ICECAdapter_IsActiveDeviceType(self, type)
[docs]
def VolumeUp(self, bSendRelease=True):
r"""
Sends a volume up keypress to an audiosystem if it's present.
:type bSendRelease: boolean, optional
:param bSendRelease: Send a key release after the keypress.
:rtype: uint8_t
:return: The new audio status.
"""
return _cec.ICECAdapter_VolumeUp(self, bSendRelease)
[docs]
def VolumeDown(self, bSendRelease=True):
r"""
Sends a volume down keypress to an audiosystem if it's present.
:type bSendRelease: boolean, optional
:param bSendRelease: Send a key release after the keypress.
:rtype: uint8_t
:return: The new audio status.
"""
return _cec.ICECAdapter_VolumeDown(self, bSendRelease)
[docs]
def MuteAudio(self):
r"""
Toggles the mute status of an audiosystem, if it's present
:rtype: uint8_t
:return: The new audio status.
"""
return _cec.ICECAdapter_MuteAudio(self)
[docs]
def SendKeypress(self, iDestination, key, bWait=False):
r"""
Send a keypress to a device on the CEC bus.
:type iDestination: int
:param iDestination: The logical address of the device to send the message to.
:type key: int
:param key: The key to send.
:type bWait: boolean, optional
:param bWait: True to wait for a response, false otherwise.
:rtype: boolean
:return: True when the keypress was acked, false otherwise.
"""
return _cec.ICECAdapter_SendKeypress(self, iDestination, key, bWait)
[docs]
def SendKeyRelease(self, iDestination, bWait=False):
r"""
Send a key release to a device on the CEC bus.
:type iDestination: int
:param iDestination: The logical address of the device to send the message to.
:type bWait: boolean, optional
:param bWait: True to wait for a response, false otherwise.
:rtype: boolean
:return: True when the key release was acked, false otherwise.
"""
return _cec.ICECAdapter_SendKeyRelease(self, iDestination, bWait)
[docs]
def GetDeviceOSDName(self, iAddress):
r"""
Get the OSD name of a device on the CEC bus.
:param iLogicalAddress: The device to get the OSD name for.
:rtype: string
:return: The requested OSD name, or an empty string if unknown
"""
return _cec.ICECAdapter_GetDeviceOSDName(self, iAddress)
[docs]
def GetActiveSource(self):
r"""
Get the logical address of the device that is currently the active source on the CEC bus.
:rtype: int
:return: The active source or CECDEVICE_UNKNOWN when unknown.
"""
return _cec.ICECAdapter_GetActiveSource(self)
[docs]
def IsActiveSource(self, iLogicalAddress):
r"""
Check whether a device is currently the active source on the CEC bus.
:type iLogicalAddress: int
:param iLogicalAddress: The logical address of the device to check.
:rtype: boolean
:return: True when it is the active source, false otherwise.
"""
return _cec.ICECAdapter_IsActiveSource(self, iLogicalAddress)
[docs]
def SetStreamPath(self, *args):
r"""
*Overload 1:*
Sets the stream path to the device on the given logical address.
:type iLogicalAddress: int
:param iLogicalAddress: The address to activate.
:rtype: boolean
:return: True when the command was sent, false otherwise.
|
*Overload 2:*
Sets the stream path to the device on the given physical address.
:type iPhysicalAddress: int
:param iPhysicalAddress: The address to activate.
:rtype: boolean
:return: True when the command was sent, false otherwise.
"""
return _cec.ICECAdapter_SetStreamPath(self, *args)
[docs]
def GetLogicalAddresses(self):
r"""
:rtype: :py:class:`cec_logical_addresses`
:return: The list of logical addresses that libCEC is controlling
"""
return _cec.ICECAdapter_GetLogicalAddresses(self)
[docs]
def GetCurrentConfiguration(self, configuration):
r"""
Get libCEC's current configuration.
:type configuration: :py:class:`libcec_configuration`
:param configuration: The configuration.
:rtype: boolean
:return: True when the configuration was updated, false otherwise.
"""
return _cec.ICECAdapter_GetCurrentConfiguration(self, configuration)
[docs]
def SetConfiguration(self, configuration):
r"""
Change libCEC's configuration. Store it updated settings in the eeprom of the device (if supported)
:type configuration: :py:class:`libcec_configuration`
:param configuration: The new configuration.
:rtype: boolean
:return: True when the configuration was changed successfully, false otherwise.
"""
return _cec.ICECAdapter_SetConfiguration(self, configuration)
[docs]
def CanSaveConfiguration(self):
r"""
:rtype: boolean
:return: True if this CEC adapter can save the user configuration, false otherwise.
"""
return _cec.ICECAdapter_CanSaveConfiguration(self)
[docs]
def RescanActiveDevices(self):
r"""Tell libCEC to poll for active devices on the bus."""
return _cec.ICECAdapter_RescanActiveDevices(self)
[docs]
def IsLibCECActiveSource(self):
r"""
:rtype: boolean
:return: true when libCEC is the active source on the bus, false otherwise.
"""
return _cec.ICECAdapter_IsLibCECActiveSource(self)
[docs]
def DisableCallbacks(self):
r"""
Disable all callbacks
:rtype: boolean
:return: True if disabled, false otherwise.
"""
return _cec.ICECAdapter_DisableCallbacks(self)
[docs]
def SetHDMIPort(self, iBaseDevice, iPort):
r"""
Changes the active HDMI port.
:type iBaseDevice: int
:param iBaseDevice: The device to which this libCEC is connected.
:type iPort: uint8_t
:param iPort: The new port number.
:rtype: boolean
:return: True when changed, false otherwise.
"""
return _cec.ICECAdapter_SetHDMIPort(self, iBaseDevice, iPort)
[docs]
def GetDevicePhysicalAddress(self, iLogicalAddress):
r"""
Get the physical address of the device with the given logical address.
:type iLogicalAddress: int
:param iLogicalAddress: The logical address of the device to get the physical address for.
:rtype: int
:return: The physical address or 0 if it wasn't found.
"""
return _cec.ICECAdapter_GetDevicePhysicalAddress(self, iLogicalAddress)
[docs]
def GetLibInfo(self):
r"""
:rtype: string
:return: A string with information about how libCEC was compiled.
"""
return _cec.ICECAdapter_GetLibInfo(self)
[docs]
def InitVideoStandalone(self):
r"""
Calling this method will initialise the host on which libCEC is running.
Calling this method will initialise the host on which libCEC is running. On the RPi, it calls
bcm_host_init(), which may only be called once per process, and is called by any process using
the video api on that system. So only call this method if libCEC is used in an application that
does not already initialise the video api.
Should be called as first call to libCEC, directly after CECInitialise() and before using Open()
"""
return _cec.ICECAdapter_InitVideoStandalone(self)
[docs]
def GetAdapterVendorId(self):
r"""
:rtype: int
:return: The (virtual) USB vendor id
"""
return _cec.ICECAdapter_GetAdapterVendorId(self)
[docs]
def GetAdapterProductId(self):
r"""
:rtype: int
:return: The (virtual) USB product id
"""
return _cec.ICECAdapter_GetAdapterProductId(self)
[docs]
def CecVersionToString(self, version):
return _cec.ICECAdapter_CecVersionToString(self, version)
[docs]
def PowerStatusToString(self, status):
return _cec.ICECAdapter_PowerStatusToString(self, status)
[docs]
def LogicalAddressToString(self, address):
return _cec.ICECAdapter_LogicalAddressToString(self, address)
[docs]
def DeckControlModeToString(self, mode):
return _cec.ICECAdapter_DeckControlModeToString(self, mode)
[docs]
def DeckInfoToString(self, status):
return _cec.ICECAdapter_DeckInfoToString(self, status)
[docs]
def OpcodeToString(self, opcode):
return _cec.ICECAdapter_OpcodeToString(self, opcode)
[docs]
def ToString(self, mode):
return _cec.ICECAdapter_ToString(self, mode)
[docs]
def AudioStatusToString(self, status):
return _cec.ICECAdapter_AudioStatusToString(self, status)
[docs]
def DeviceTypeToString(self, type):
return _cec.ICECAdapter_DeviceTypeToString(self, type)
[docs]
def UserControlCodeToString(self, key):
return _cec.ICECAdapter_UserControlCodeToString(self, key)
[docs]
def AdapterTypeToString(self, type):
return _cec.ICECAdapter_AdapterTypeToString(self, type)
[docs]
def VersionToString(self, version):
return _cec.ICECAdapter_VersionToString(self, version)
[docs]
def PrintVersion(self, version, buf, bufSize):
return _cec.ICECAdapter_PrintVersion(self, version, buf, bufSize)
[docs]
def VendorIdToString(self, vendor):
return _cec.ICECAdapter_VendorIdToString(self, vendor)
[docs]
def AudioToggleMute(self):
r"""
Toggle the mute status of the AVR (if present)
:rtype: uint8_t
:return: The new audio status.
"""
return _cec.ICECAdapter_AudioToggleMute(self)
[docs]
def AudioMute(self):
r"""
Mute the AVR (if present)
:rtype: uint8_t
:return: The new audio status.
"""
return _cec.ICECAdapter_AudioMute(self)
[docs]
def AudioUnmute(self):
r"""
Mute the AVR (if connected)
:rtype: uint8_t
:return: The new audio status.
"""
return _cec.ICECAdapter_AudioUnmute(self)
[docs]
def AudioStatus(self):
r"""
Get the current audio status (if an AVR is connected)
:rtype: uint8_t
:return: The current audio status, or cec_audio_status if unknown.
"""
return _cec.ICECAdapter_AudioStatus(self)
[docs]
def CommandFromString(self, strCommand):
r"""
Create a new cec_command from a string
:type strCommand: string
:param strCommand: The string with the command data
:rtype: :py:class:`cec_command`
:return: The command
"""
return _cec.ICECAdapter_CommandFromString(self, strCommand)
[docs]
def AudioEnable(self, enable):
r"""
Enable or disable system audio mode
:type enable: boolean
:param enable: True to enable, false to disable
:rtype: boolean
:return: True if the command was sent, false otherwise
"""
return _cec.ICECAdapter_AudioEnable(self, enable)
[docs]
def SystemAudioModeStatus(self):
r"""
Get the current system audio mode status (if an AVR is connected)
:rtype: uint8_t
:return: The current system audio mode status, or -1 if unknown
"""
return _cec.ICECAdapter_SystemAudioModeStatus(self)
[docs]
def GetStats(self, stats):
return _cec.ICECAdapter_GetStats(self, stats)
__swig_destroy__ = _cec.delete_ICECAdapter
[docs]
@staticmethod
def Create(configuration):
return _cec.ICECAdapter_Create(configuration)
[docs]
def DetectAdapters(self, *args):
return _cec.ICECAdapter_DetectAdapters(self, *args)
# Register ICECAdapter in _cec:
_cec.ICECAdapter_swigregister(ICECAdapter)
[docs]
def CECStartBootloader():
r"""
Try to connect to the adapter and send the "start bootloader" command, without initialising libCEC and going through all checks
:rtype: boolean
:return: True when the command was send, false otherwise.
"""
return _cec.CECStartBootloader()