[LAD] list all ALSA-devices (including virtual ones)

From: IOhannes m zmoelnig <zmoelnig@email-addr-hidden>
Date: Mon Oct 28 2013 - 18:55:42 EET

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

hi all,

what's the proper way to list all alsa-devices, including those
(plugin, slave,...) defined in asoundrc?

e.g. on my desktop i have

$ cat ~/.asoundrc
pcm.jack {
    type jack
    playback_ports {
        0
        1
    }
    capture_ports {
        0
        1
    }
}
$ cat /proc/asound/cards
 0 [MID ]: HDA-Intel - HDA Intel MID
                      HDA Intel MID at 0xf4ff8000 irq 42
 1 [Bt878 ]: Bt87x - Brooktree Bt878
                      Brooktree Bt878 at 0xf3fff000, irq 17

but aplay will show me:

<snip>
$ LANG=C aplay -L -l
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=MID
    HDA Intel MID, VT1828S Analog
    Default Audio Device
front:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Analog
    Front speakers
surround40:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=MID,DEV=0
    HDA Intel MID, VT1828S Digital
    HDMI Audio Output
**** List of PLAYBACK Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: VT1828S Analog [VT1828S Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 2: VT1828S Alt Analog [VT1828S Alt
Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 3: VT1828S Digital [VT1828S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
</snip>

there is no mention of my 'jack' pcm, *and* there are devices that i
don't know where they come from: namely 'null' and 'pulse' (pulseaudio
is installed but not running, as confirmed by
<snip>
$ pgrep pulse
$
</snip>

so i figure that the extra devices come from system-configuration
files in /usr/share/alsa/alsa.conf(.d/*.conf)

but why does my "jack" PCM not show up?
i know that i can extend my asoundrc to:
<snip>
pcm.jack {
    type jack
    playback_ports {
        0
        1
    }
    capture_ports {
        0
        1
    }
    hint {
      description "use jack as alsa-device"
    }
}
</snip>

but i don't fully understand why i have to manually add the "hint" (of
which i haven't found *any* documentation) in order to make the device
show up with

  char**hints=NULL;
  snd_device_name_hint(-1, "pcm", (void***)&hints);

any clues?

fgasmdr
IOhannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQIcBAEBCAAGBQJSbpcIAAoJELZQGcR/ejb4MdUP/jatXtJ+8OMWVCpWjREoVUqD
j73W6ghI16MNHKhOI2DalmZEQM5P3XocBCR0zoG6mzbzIV5TwkvH/tRwjNbvvkoS
suinC/7XFB0p0MpaMfzsMmU34ZlvynCalyWL1DBuApxxaFbTeIxHKTQ3/fF5ztpG
iM0fyXVKBw7Y0PX4iubl8CeUwmwgvoZ3oV4SqwkgOk8r+cPB/lrkGFl6vrOQxUV0
lQeHdlzPWDSU/QPfuT8OUpN6A4HIjrEMQ2PMQNAOhSBE3N4WJnGxz3La6TeHU3Xu
ybKTn70pslyO+bDluwvqygpaMoBRnSfdXW7+JxLfq/0j1ND2FVIRl0RL2aZADPp6
kcq92L+9py5sF48lEVIEFvbTLXEL7uUH1fxPBkbqw2Rde8CY+aPQqDgQvbnDZMTu
oN7JEjySB9meJw7RBnAdMQokC6meJDdWJ/pxZuBapvx6+T0m3PaiUZbO5scPSFVt
w3j/fA3NipZwZVENJhuiyWO+H1DUbq8lXHYPSSP5YjgyIkzDu36KQigRfSCuZdrb
mq/aDXVmC0+j5EWF9lkDYSDwPFj5GqcsuehX86mAS1LLTyL8/IeyjYTVwbN8FjuJ
Sb8g+PNFWJDIAo9OrgOEvzYkQ+qbCAf5TBVWKCWe5HdCBlChpXd8yDMKb52dtB7L
GCF4kejxZn75aooUxru5
=1pxG
-----END PGP SIGNATURE-----
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Mon Oct 28 20:15:06 2013

This archive was generated by hypermail 2.1.8 : Mon Oct 28 2013 - 20:15:06 EET