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
-
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.
-