From 1dfd14615a187c0bc942565347a89b633a92edff Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 19 Aug 2014 23:28:35 +0200 Subject: [PATCH] docs: Include mixers in concepts --- docs/api/concepts.rst | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/docs/api/concepts.rst b/docs/api/concepts.rst index 68718935..d127561b 100644 --- a/docs/api/concepts.rst +++ b/docs/api/concepts.rst @@ -6,14 +6,15 @@ Architecture and concepts The overall architecture of Mopidy is organized around multiple frontends and backends. The frontends use the core API. The core actor makes multiple backends -work as one. The backends connect to various music sources. Both the core actor -and the backends use the audio actor to play audio and control audio volume. +work as one. The backends connect to various music sources. The core actor use +the mixer actor to control volume, while the backends use the audio actor to +play audio. .. digraph:: overall_architecture "Multiple frontends" -> Core Core -> "Multiple backends" - Core -> Audio + Core -> Mixer "Multiple backends" -> Audio @@ -93,7 +94,15 @@ Audio ===== The audio actor is a thin wrapper around the parts of the GStreamer library we -use. In addition to playback, it's responsible for volume control through both -GStreamer's own volume mixers, and mixers we've created ourselves. If you -implement an advanced backend, you may need to implement your own playback -provider using the :ref:`audio-api`. +use. If you implement an advanced backend, you may need to implement your own +playback provider using the :ref:`audio-api`. + + +Mixer +===== + +The mixer actor is responsible for volume control and muting. The default +mixer use the audio actor to control volume in software. The alternative +implementations are typically independent of the audio actor, but instead use +some third party Python library or a serial interface to control other forms +of volume controls.