This file is indexed.

/usr/share/alsa/sndo-mixer.alisp is in libasound2-data 1.0.27.2-3ubuntu7.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
;
; Toplevel configuration for the ALSA Ordinary Mixer Interface
;
; Copyright (c) 2003 Jaroslav Kysela <perex@perex.cz>
; License: GPL v2 (http://www.gnu.org/licenses/gpl.html)
;

(defun sndo_include (hctl stream)
  (setq info (Acall "ctl_card_info" (Acall "hctl_ctl" hctl)))
  (if (= (Aerror info) 0)
    (progn
      (setq info (Aresult info))
      (setq driver (cdr (assq "driver" (unsetq info))))
      (setq file (concat (path "data") "/alsa/cards/" (snd_card_alias driver) "/sndo" stream "-mixer.alisp"))
      (setq r (include file))
      (when (= r -2) (Asyserr "unable to find file " file))
    )
    (setq r (Aerror info))
  )
  (unsetq info driver file r)
)

(defun sndo_mixer_open_fcn (hctl stream pcm)
  (setq fcn (concat "sndo" stream "_mixer_open"))
  (setq r (if (exfun fcn) (funcall fcn hctl pcm) 0))
  (when (= r 0)
    (setq hctls (if hctls (cons hctls (cons hctl)) hctl))
  )
  (unsetq fcn r)
)

(defun sndo_mixer_open_hctl (name stream pcm)
  (setq hctl (Acall "hctl_open" name nil))
  (setq r (Aerror hctl))
  (when (= r 0)
    (setq hctl (Aresult hctl))
    (setq r (sndo_include hctl stream))
    (if (= r 0)
       (setq r (sndo_mixer_open_fcn hctl stream pcm))
       (Acall "hctl_close" hctl)
    )
  )
  (unsetq hctl r)
)

(defun sndo_mixer_open_virtual (name stream pcm)
  (setq file (concat (path "data") "/alsa/virtual/" name "/sndo" stream "-mixer.alisp"))
  (setq r (include file))
  (when (= r -2) (Asyserr "unable to find file " file))
  (when (= r 0) (setq r (sndo_mixer_open_fcn nil stream pcm)))
  (unsetq file r)
)

(defun sndo_mixer_open1 (name stream)
  (if (compare-strings name 0 2 "hw:" 0 2)
    (sndo_mixer_open_hctl name stream nil)
    (sndo_mixer_open_virtual name stream nil)
  )
)

(defun sndo_mixer_open (pname cname)
  (setq r (sndo_mixer_open1 pname "p"))
  (when (= r 0) (setq r (sndo_mixer_open1 cname "c")))
  (when (!= r 0) (sndo_mixer_close))
  (unsetq sndo_mixer_open
	  sndo_mixer_open_pcm sndo_mixer_open_pcm1
          sndo_mixer_open_virtual sndo_mixer_open_fcn
	  sndo_include r)
)

(defun sndo_mixer_open_pcm1 (pcm stream)
  (setq info (Acall "pcm_info" pcm))
  (setq r (Aerror info))
  (when (= r 0)
    (setq info (Aresult info))
    (setq card (cdr (assq "card" info)))
    (setq r
      (if (< card 0)
	(sndo_mixer_open_virtual (Acall "pcm_name" pcm) stream pcm)
        (sndo_mixer_open_hctl (format "hw:%i" card) stream pcm)
      )
    )
  )
  (unsetq info card r)
)

(defun sndo_mixer_open_pcm (ppcm cpcm)
  (setq r (sndo_mixer_open_pcm1 ppcm "p"))
  (when (= r 0) (setq r (sndo_mixer_open_pcm1 cpcm "c")))
  (when (!= r 0) (sndo_mixer_close))
  (unsetq sndo_mixer_open
	  sndo_mixer_open_pcm sndo_mixer_open_pcm1
          sndo_mixer_open_virtual sndo_mixer_open_fcn
	  sndo_include r)
)

(defun sndo_mixer_close1 (hctl stream)
  (when hctl
    (progn
      (setq fcn (concat "sndo" stream "_mixer_close"))
      (when (exfun fcn) (funcall fcn hctl))
      (unsetq fcn)
      (Acall "hctl_close" hctl)
    )
  )
)

(defun sndo_mixer_close nil
  (sndo_mixer_close1 (nth 1 hctls) "c")
  (sndo_mixer_close1 (nth 0 hctls) "p")
  (snd_card_alias_unset)
  (unsetq hctls)
)

(include (concat (path "data") "/alsa/cards/aliases.alisp"))