Developer Interface¶
This part of the documentation covers all the interfaces of Libsoundtouch.
Main Interface¶
Classes¶
Bose Soundtouch Device.
-
class
libsoundtouch.device.
SoundTouchDevice
(host, port=8090, ws_port=8080, dlna_port=8091)[source]¶ Bose SoundTouch Device.
-
add_zone_slave
(slaves)[source]¶ Add slave(s) to and existing zone (multi-room).
Zone must already exist and slaves array can not be empty.
Parameters: slaves – List of slaves. Can not be empty
-
config
¶ Get config object.
-
create_zone
(slaves)[source]¶ Create a zone (multi-room) on a master and play on specified slaves.
Parameters: slaves – List of slaves. Can not be empty
-
device_info_updated_listeners
¶ Return Device Info Updated listeners.
-
dlna_port
¶ Return DLNA port.
-
host
¶ Host of the device.
-
play_media
(source, location, source_acc=None, media_type=<Type.URI: 'uri'>)[source]¶ Start music playback from a chosen source.
Parameters: - source – Source from which to play. Elements of Source enum.
- location – A unique uri or identifier. Represents the requested music from the source.
- source_acc – Source account. Imperative for some sources. For Spotify, this can be found by playing Spotify on the connected SoundTouch speaker, and calling: device.status().content_item.source_account
- media_type – Type of the requested music. Typical values are: “uri”, “track”, “album”, “playlist”. This can be found in device.status().content_item.type
-
play_url
(url)[source]¶ Start music playback from an HTTP URL.
Warning: HTTPS is not supported.
Parameters: url – HTTP URL to play.
-
port
¶ Return API port of the device.
-
presets_updated_listeners
¶ Return Presets Updated listeners.
-
remove_zone_slave
(slaves)[source]¶ Remove slave(s) from and existing zone (multi-room).
Zone must already exist and slaves list can not be empty. Note: If removing last slave, the zone will be deleted and you’ll have to create a new one. You will not be able to add a new slave anymore.
Parameters: slaves – List of slaves to remove
-
select_content_item
(source, source_account=None, location=None, media_type=None)[source]¶ Select specified content.
:param source The source :param source_account The source account :param location The location :param media_type The media type
-
status
(refresh=True)[source]¶ Get status object.
Parameters: refresh – Force refresh, else return old data.
-
status_updated_listeners
¶ Return Status Updated listeners.
-
volume
(refresh=True)[source]¶ Get volume object.
Parameters: refresh – Force refresh, else return old data.
-
volume_updated_listeners
¶ Return Volume Updated listeners.
-
ws_port
¶ Return Web Socket port.
-
zone_status
(refresh=True)[source]¶ Get Zone Status.
Parameters: refresh – Force refresh, else return old data.
-
zone_status_updated_listeners
¶ Return Zone Status Updated listeners.
-
-
class
libsoundtouch.device.
Config
(xml_dom)[source]¶ Soundtouch device configuration.
-
account_uuid
¶ Account UUID.
-
components
¶ Components.
-
country_code
¶ Country code.
-
device_id
¶ Device ID.
-
device_ip
¶ Ip.
-
mac_address
¶ Mac address.
-
module_type
¶ Return module type.
-
name
¶ Device name.
-
networks
¶ Network.
-
region_code
¶ Region code.
-
type
¶ Device type.
-
variant
¶ Variant.
-
variant_mode
¶ Variant mode.
-
-
class
libsoundtouch.device.
Network
(network_dom)[source]¶ Soundtouch network configuration.
-
ip_address
¶ IP Address.
-
mac_address
¶ Mac Address.
-
type
¶ Type.
-
-
class
libsoundtouch.device.
Component
(component_dom)[source]¶ Soundtouch component.
-
category
¶ Category.
-
serial_number
¶ Return serial number.
-
software_version
¶ Software version.
-
-
class
libsoundtouch.device.
Status
(xml_dom)[source]¶ Soundtouch device status.
-
album
¶ Album name.
-
artist
¶ Artist.
-
content_item
¶ Content item.
-
description
¶ Description.
-
duration
¶ Duration.
-
image
¶ Image URL.
-
play_status
¶ Status.
-
position
¶ Position.
-
repeat_setting
¶ Repeat setting.
-
shuffle_setting
¶ Shuffle setting.
-
source
¶ Source.
-
station_location
¶ Station location.
-
station_name
¶ Station name.
-
stream_type
¶ Stream type.
-
track
¶ Track.
-
track_id
¶ Track id.
-
-
class
libsoundtouch.device.
ContentItem
(xml_dom)[source]¶ Content item.
-
is_presetable
¶ Return true if presetable.
-
location
¶ Location.
-
name
¶ Name.
-
source
¶ Source.
-
source_account
¶ Source account.
-
type
¶ Type.
-
-
class
libsoundtouch.device.
Volume
(xml_dom)[source]¶ Volume configuration.
-
actual
¶ Actual volume level.
-
muted
¶ Return True if volume is muted.
-
target
¶ Target volume level.
-
-
class
libsoundtouch.device.
Preset
(preset_dom)[source]¶ Preset.
-
is_presetable
¶ Return True if is presetable.
-
location
¶ Location.
-
name
¶ Name.
-
preset_id
¶ Id.
-
source
¶ Source.
-
source_account
¶ Source account.
-
source_xml
¶ XML source.
-
type
¶ Type.
-