Advertisement
dandv

/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.co

Mar 26th, 2020
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.53 KB | None | 0 0
  1. # This file is part of PulseAudio.
  2. #
  3. # PulseAudio is free software; you can redistribute it and/or modify
  4. # it under the terms of the GNU Lesser General Public License as
  5. # published by the Free Software Foundation; either version 2.1 of the
  6. # License, or (at your option) any later version.
  7. #
  8. # PulseAudio is distributed in the hope that it will be useful, but
  9. # WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. # General Public License for more details.
  12. #
  13. # You should have received a copy of the GNU Lesser General Public License
  14. # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
  15.  
  16. ; Common part of all paths
  17.  
  18. ; So here's generally how mixer paths are used by PA: PA goes through
  19. ; a mixer path file from top to bottom and checks if a mixer element
  20. ; described therein exists. If so it is added to the list of mixer
  21. ; elements PA will control, keeping the order it read them in. If a
  22. ; mixer element described here has set the required= or
  23. ; required-absent= directives a path might not be accepted as valid
  24. ; and is ignored in its entirety (see below). However usually if a
  25. ; element listed here is missing this one element is ignored but not
  26. ; the entire path.
  27. ;
  28. ; When a device shall be muted/unmuted *all* elements listed in a path
  29. ; file with "switch = mute" will be toggled.
  30. ;
  31. ; When a device shall change its volume, PA will got through the list
  32. ; of all elements with "volume = merge" and set the volume on the
  33. ; first element. If that element does not support dB volumes, this is
  34. ; where the story ends. If it does support dB volumes, PA divides the
  35. ; requested volume by the volume that was set on this element, and
  36. ; then go on to the next element with "volume = merge" and then set
  37. ; that there, and so on. That way the first volume element in the
  38. ; path will be the one that does the 'biggest' part of the overall
  39. ; volume adjustment, with the remaining elements usually being set to
  40. ; some value next to 0dB. This logic makes sure we get the full range
  41. ; over all volume sliders and a very high granularity of volumes
  42. ; already in hardware.
  43. ;
  44. ; All switches and enumerations set to "select" are exposed via the
  45. ; "port" functionality of sinks/sources. Basically every possible
  46. ; switch setting and every possible enumeration setting will be
  47. ; combined and made into a "port". So make sure you don't list too
  48. ; many switches/enums for exposing, because the number of ports might
  49. ; rise exponentially.
  50. ;
  51. ; Only one path can be selected at a time. All paths that are valid
  52. ; for an audio device will be exposed as "port" for the sink/source.
  53.  
  54.  
  55. ; [General]
  56. ; priority = ... # Priority for this path
  57. ; description-key = ... # The path description is looked up from a table in path_verify() in
  58. ; # src/modules/alsa/alsa-mixer.c. By default the path name (i.e. the file name
  59. ; # minus the ".conf" suffix) is used as the lookup key, but if this option is
  60. ; # set, then the given string is used as the key instead. In any case the
  61. ; # "description" option can be used to override the path description.
  62. ; description = ... # Description for this path. Overrides the normal description lookup logic, as
  63. ; # described in the "description-key" documentation above.
  64. ; mute-during-activation = yes | no # If this path supports hardware mute, should the hw mute be used while activating this
  65. ; # path? In some cases this can reduce extra noises during port switching, while in other
  66. ; # cases this can increase such noises. Default: no.
  67. ; eld-device = ... # If this is an HDMI port, here's where to specify the device number for the ELD mixer
  68. ; # control. The default is to not make use of ELD information.
  69. ;
  70. ; [Properties] # Property list for this path. The list is merged into the port property list.
  71. ; <key> = <value> # Each property is defined on its own line.
  72. ; ...
  73. ;
  74. ; [Option ...:...] # For each option of an enumeration or switch element
  75. ; # that shall be exposed as a sink/source port. Needs to
  76. ; # be named after the Element, followed by a colon, followed
  77. ; # by the option name, resp. on/off if the element is a switch.
  78. ; name = ... # Logical name to use in the path identifier
  79. ; priority = ... # Priority if this is made into a device port
  80. ; required = ignore | enumeration | any # In this element, this option must exist or the path will be invalid. ("any" is an alias for "enumeration".)
  81. ; required-any = ignore | enumeration | any # In this element, either this or another option must exist (or an element)
  82. ; required-absent = ignore | enumeration | any # In this element, this option must not exist or the path will be invalid
  83. ;
  84. ; [Element ...] # For each element that we shall control
  85. ; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available,
  86. ; # otherwise don't consider this path valid for the card
  87. ; required-any = ignore | switch | volume | enumeration | any # If set, at least one of the elements or jacks with required-any in this
  88. ; # path must be present, otherwise this path is invalid for the card
  89. ; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not
  90. ; # available, otherwise don't consider this path valid for the card
  91. ;
  92. ; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status,
  93. ; # always set it to off, always to on, or make it selectable as port.
  94. ; # If set to 'select' you need to define an Option section for on
  95. ; # and off
  96. ; volume = ignore | merge | off | zero | <volume step> # What to do with this volume: ignore it, merge it into the device
  97. ; # volume slider, always set it to the lowest value possible, or always
  98. ; # set it to 0 dB (for whatever that means), or always set it to
  99. ; # <volume step> (this only makes sense in path configurations where
  100. ; # the exact hardware and driver are known beforehand).
  101. ; volume-limit = <volume step> # Limit the maximum volume by disabling the volume steps above <volume step>.
  102. ; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable
  103. ; # via device ports. If set to 'select' you need to define an Option section
  104. ; # for each of the items you want to expose
  105. ; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be
  106. ; # set the direction of the PCM device is opened as. Generally this doesn't need to be set
  107. ; # unless you have a broken driver that has playback controls marked for capture or vice
  108. ; # versa
  109. ; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too?
  110. ;
  111. ; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel
  112. ; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels
  113. ; # Override maps should list for each element channel which high-level channels it controls via a
  114. ; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left",
  115. ; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of
  116. ; # channels in a mask
  117. ; [Jack ...] # For each jack that we will use for jack detection
  118. ; # The name 'Jack Foo' must match ALSA's 'Foo Jack' control.
  119. ; required = ignore | any # If not set to ignore, make the path invalid if this jack control is not present.
  120. ; required-absent = ignore | any # If not set to ignore, make the path invalid if this jack control is present.
  121. ; required-any = ignore | any # If not set to ignore, make the path invalid if no jack controls and no elements with
  122. ; # the required-any are present.
  123. ; state.plugged = yes | no | unknown # Normally a plugged jack would mean the port becomes available, and an unplugged means it's
  124. ; state.unplugged = yes | no | unknown # unavailable, but the port status can be overridden by specifying state.plugged and/or state.unplugged.
  125.  
  126.  
  127. [Element PCM]
  128. switch = mute
  129. volume = merge
  130. override-map.1 = all
  131. override-map.2 = all-left,all-right
  132.  
  133. [Element External Amplifier]
  134. switch = select
  135.  
  136. [Option External Amplifier:on]
  137. name = output-amplifier-on
  138. priority = 10
  139.  
  140. [Option External Amplifier:off]
  141. name = output-amplifier-off
  142. priority = 0
  143.  
  144. [Element Bass Boost]
  145. switch = select
  146.  
  147. [Option Bass Boost:on]
  148. name = output-bass-boost-on
  149. priority = 0
  150.  
  151. [Option Bass Boost:off]
  152. name = output-bass-boost-off
  153. priority = 10
  154.  
  155. [Element IEC958]
  156. switch = off
  157.  
  158. [Element IEC958 Optical Raw]
  159. switch = off
  160.  
  161. ;;; 'Analog Output'
  162.  
  163. [Element Analog Output]
  164. enumeration = select
  165.  
  166. [Option Analog Output:Speakers]
  167. name = output-speaker
  168. priority = 10
  169.  
  170. [Option Analog Output:Headphones]
  171. name = output-headphones
  172. priority = 9
  173.  
  174. [Option Analog Output:FP Headphones]
  175. name = output-headphones
  176. priority = 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement