]> git.alsa-project.org Git - alsa-lib.git/commit
ucm: implement MacroDefine and Macro subtree evaluation
authorJaroslav Kysela <perex@perex.cz>
Fri, 13 May 2022 14:07:38 +0000 (16:07 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 13 May 2022 15:25:29 +0000 (17:25 +0200)
commitd7d5c724edc3b707df6a1566c3ee6f4681858bd4
treec5bd27cbffe4b17acf7bb0052b5b4722e21e782a
parent3e5a8943781d17361ffe79e03c23e76946fcd67f
ucm: implement MacroDefine and Macro subtree evaluation

The arguments are set as temporary variables as /MACRO_NAME/_/ARGUMENT_NAME/.

Example:

  # define new macro MyMacro with arguments ctl_name and ctl_value
  DefineMacro.MyMacro {
    BootSequence [
      cset "name='${var:MyMacro_ctl_name}' ${var:MyMacro_ctl_value}"
    ]
  }

  # instantiate macro for Speaker control (short version)
  Macro.headphone.MyMacro "ctl_name='Speaker Switch',ctl_value=off"

  # instantiate macro for Mic control (second version)
  Macro.mic.MyMacro {
ctl_name "Mic Switch"
ctl_value "off"
  }

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/main.c
src/ucm/parser.c
src/ucm/ucm_confdoc.h
src/ucm/ucm_local.h
src/ucm/ucm_subs.c
src/ucm/utils.c