summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/jack_utils.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/jack_utils.cc b/libs/ardour/jack_utils.cc
index ea1aea2623..0a7f4d73bf 100644
--- a/libs/ardour/jack_utils.cc
+++ b/libs/ardour/jack_utils.cc
@@ -313,6 +313,18 @@ ARDOUR::get_jack_alsa_device_names (device_map_t& devices)
if (snd_ctl_open (&handle, devname.c_str(), 0) >= 0 && snd_ctl_card_info (handle, info) >= 0) {
+ if (snd_ctl_card_info (handle, info) < 0) {
+ continue;
+ }
+
+ std::cerr << "Ctl card name is " << snd_ctl_card_info_get_name (info) << std::endl;
+ std::cerr << "Ctl ID is " << snd_ctl_card_info_get_id (info) << std::endl;
+
+ /* change devname to use ID, not number */
+
+ devname = "hw:";
+ devname += snd_ctl_card_info_get_id (info);
+
while (snd_ctl_pcm_next_device (handle, &device) >= 0 && device >= 0) {
snd_pcm_info_set_device (pcminfo, device);