mopidy.mixer — Audio mixer API

class mopidy.mixer.Mixer(config) None[source]

Audio mixer API.

If the mixer has problems during initialization it should raise mopidy.exceptions.MixerError with a descriptive error message. This will make Mopidy print the error message and exit so that the user can fix the issue.

Parameters:

config (dict) – the entire Mopidy configuration

get_mute() bool | None[source]

Get mute state of the mixer.

MAY be implemented by subclass.

Returns True if muted, False if unmuted, and None if unknown.

Return type:

bool | None

get_volume() Percentage | None[source]

Get volume level of the mixer on a linear scale from 0 to 100.

Example values:

Return type:

Optional[NewType(Percentage, int)]

0:

Minimum volume, usually silent.

100:

Maximum volume.

None:

Volume is unknown.

MAY be implemented by subclass.

name: ClassVar[str] = ''

Name of the mixer.

Used when configuring what mixer to use. Should match the ext_name of the extension providing the mixer.

ping() bool[source]

Called to check if the actor is still alive.

Return type:

bool

set_mute(mute) bool[source]

Mute or unmute the mixer.

MAY be implemented by subclass.

Returns True if successful, False otherwise.

Parameters:

mute (bool) – True to mute, False to unmute

Return type:

bool

set_volume(volume) bool[source]

Set volume level of the mixer.

MAY be implemented by subclass.

Returns True if successful, False otherwise.

Parameters:

volume (NewType(Percentage, int)) – Volume in the range [0..100]

Return type:

bool

trigger_mute_changed(mute) None[source]

Send mute_changed event to all mixer listeners.

This method should be called by subclasses when the mute state is changed, either because of a call to set_mute() or because of any external entity changing the mute state.

Return type:

None

trigger_volume_changed(volume) None[source]

Send volume_changed event to all mixer listeners.

This method should be called by subclasses when the volume is changed, either because of a call to set_volume() or because of any external entity changing the volume.

Return type:

None

class mopidy.mixer.MixerListener[source]

Marker interface for recipients of events sent by the mixer actor.

Any Pykka actor that mixes in this class will receive calls to the methods defined here when the corresponding events happen in the mixer actor. This interface is used both for looking up what actors to notify of the events, and for providing default implementations for those listeners that are not interested in all events.

mute_changed(mute) None[source]

Called after the mute state has changed.

MAY be implemented by actor.

Parameters:

mute (bool) – True if muted, False if not muted

Return type:

None

static send(event, **kwargs) None[source]

Helper to allow calling of mixer listener events.

Return type:

None

volume_changed(volume) None[source]

Called after the volume has changed.

MAY be implemented by actor.

Parameters:

volume (NewType(Percentage, int)) – the new volume

Return type:

None

Mixer implementations

See the extension registry.