summaryrefslogtreecommitdiff
path: root/PluginControlInterfacePulse/data/libPluginControlInterface.conf
blob: d2547c83e1c3e41413777eaf9f2a8883547b7963 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
############################################################################
# SPDX license identifier: MPL-2.0
#
# Copyright (C) 2012-2014, Wind River Systems
# Copyright (C) 2014, GENIVI Alliance
#
# This file is part of Pulse Audio Interface Routing Plugin.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License (MPL), v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# For further information see http://www.genivi.org/.
#
# List of changes:
#
# 08.09.2014, Adrian Scarlat, First version of the code;
#                             Porting code from AM ver1.x to AM ver3.0;
#                             Added Copyright and License information;
#
# 19.09.2014, Adrian Scarlat, Added information regarding configuration options;
#
############################################################################

# SourceClass has the following format: SourceClassName|SourceClassType
[SourceClass]
Entertainment|Main
Navigation|Interrupt
Telephony|Interrupt
TTS|Main
Analogic|Interrupt
Digital|Main
############################################################################
# SinkClass has the following format: SinkClassName|SinkClassType
[SinkClass]
AlsaPrimary|Main
############################################################################
# Sinks and sources are clustered into independent parts which are capable of
# exchanging audio with each other (AudioDomains).
# Examples for possible AudioDomains:
#  - PulseAudio, Alsa, Jack, DSP, FPGA, MOST, In-chip switching matrix;
# Between these AudioDomains, Audio can be interchanged via Gateways;
# The format for a Gateway is: Sink from DomainX -> Source from DomainY;
# Gateways always have a direction and can only transport one stream at a time.
# Several gateways connecting the same domains together can exist in parallel
# so that more than one source can be connected to more than one sink from the
# same domains at the same time.
#[Gateway]
#Pulse2Dirana Primary:Alsa Primary>Primary Channel
#Pulse2Dirana Secondary:Alsa Secondary>Secondary Channel
############################################################################
# Routes ar defined from a SourceClass to a Sink. A route is a ">" separated list
# of Sources and Sinks. Routes have the following format:
#   SOURCE_CATEGORY:[SOURCE_NAME>SINK_NAME]
# Where:
#   - SOURCE_CATEGORY = "Source" or "SourceClass";
# If SOURCE_CATEGORY=SourceClass, the first SOURCE_NAME must be the name of a source class
# Otherwise SOURCE_NAME and SINK_NAME should be the name of a source and a sink.
# A Gateway might be used to replace a Sink-Source pair:
#   Route1: SourceClass1 > Sink1 > Source2 > Sink2
# Is equivalent to
#   Route2: SourceClass1 > Gateway1 > Sink 2
# If and only if Gateway1 = Sink1 > Source2
[Route]
Entertainment>AlsaPrimary
Analogic>AlsaSecondary
Navigation>AlsaSecondary
Telephony>AlsaSecondary
TTS>AlsaSecondary
############################################################################
# Mixing rule should be something like:
# - if a new source is in the class XXX
# - if there is a connection like [SourceClass->Sink]
# - apply an action in: Domain/
# Mixing line format: [SourceClass]>[ACTION]|[ACTION]...
# Where ACTION = SourceClass-Sink:ACTION_TYPE,ACTION_TARGET:ActionTarget
# Where ACTION_TYPE = Mute, Unmute, Pause, Resume, DecreaseVolume, IncreaseVolume, Disconnect
# ActionTarget = Domain/Sink or Domain/Source
[Mixing]
Entertainment:Entertainment>AlsaPrimary:Disconnect:PulseAudio:Source
Analogic:Analogic>AlsaSecondary:Disconnect:PulseAudio:Source|Entertainment>AlsaPrimary:Disconnect:PulseAudio:Source|Navigation>AlsaSecondary:Disconnect:PulseAudio:Source|TTS>AlsaSecondary:Disconnect:PulseAudio:Source
Navigation:Entertainment>AlsaPrimary:DecreaseVolume:PulseAudio:Sink|TTS>AlsaSecondary:Mute:PulseAudio:Source|Analogic>AlsaSecondary:Disconnect:PulseAudio:Source
TTS:Entertainment>AlsaPrimary:DecreaseVolume:PulseAudio:Sink
Telephony:Entertainment>AlsaPrimary:Disconnect:PulseAudio:Source|Analogic>AlsaSecondary:Disconnect:PulseAudio:Source|Navigation>AlsaSecondary:Mute:PulseAudio:Source|TTS>AlsaSecondary:Disconnect:PulseAudio:Source
# !END