summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2022-05-19 10:18:38 +0200
committerJaroslav Kysela <perex@perex.cz>2022-05-19 10:18:38 +0200
commit2389f04541ad7767c5499b672f7d86d133ba117e (patch)
tree5fd1fead14e0f17893f2dd22a9227b7411f20787
parent4b66e5fbce3836d7203d2c922edf24ad7737faee (diff)
downloadalsa-lib-2389f04541ad7767c5499b672f7d86d133ba117e.tar.gz
ucm: doc - describe variants, minor corrections
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--src/ucm/ucm_confdoc.h39
1 files changed, 37 insertions, 2 deletions
diff --git a/src/ucm/ucm_confdoc.h b/src/ucm/ucm_confdoc.h
index 31ec0c59..dbaf93af 100644
--- a/src/ucm/ucm_confdoc.h
+++ b/src/ucm/ucm_confdoc.h
@@ -389,7 +389,7 @@ ${find-device:<str>} | Find a device - see _Find device substitution_ section
Substituted string | Value
---------------------|---------------------
-${evali:<str>} | Evaluate expression like *($var+2)/3* [**Syntax 5**]; target node will be integer; substituted only in the LibraryConfig subtree
+${evali:<str>} | Evaluate expression like *($var+2)/3* [**Syntax 6**]; target node will be integer; substituted only in the LibraryConfig subtree
#### Find card substitution
@@ -456,7 +456,7 @@ Variables can be substituted using the `${var:rval1}` reference for example.
### Macros
-Macros were added for *Syntax* version *5*. The *DefineMacro* defines new
+Macros were added for *Syntax* version *6*. The *DefineMacro* defines new
macro like:
~~~{.html}
@@ -566,6 +566,41 @@ If.fmic {
}
~~~
+### Variants
+
+To avoid duplication of the many configuration files for the cases with
+minimal configuration changes, there is the variant extension. Variants were
+added for *Syntax* version *6*.
+
+The bellow example will create two verbs - "HiFi" and "HiFi 7.1" with
+the different playback channels (2 and 8) for the "Speaker" device.
+
+Example (main configuration file):
+
+~~~{.html}
+SectionUseCase."HiFi" {
+ File "HiFi.conf"
+ Variant."HiFi" {
+ Comment "HiFi"
+ }
+ Variant."HiFi 7+1" {
+ Comment "HiFi 7.1"
+ }
+}
+~~~
+
+Example (verb configuration file - HiFi.conf):
+
+~~~{.html}
+SectionDevice."Speaker" {
+ Value {
+ PlaybackChannels 2
+ }
+ Variant."HiFi 7+1".Value {
+ PlaybackChannels 8
+ }
+}
+~~~
*/