swesterfeld commented on this pull request.


> +    }
+
+  for (std::map<std::string, DeviceDetails>::iterator di = devices.begin(); di 
!= devices.end(); di++)
+    {
+      const std::string &device_name = di->first;
+      DeviceDetails &details = di->second;
+
+      /* the default device is usually the hardware device, so things should 
work as expected
+       * we could show try to show non-default devices as well, but this could 
be confusing
+       */
+      if (details.default_device)
+        {
+          Driver::Entry entry;
+          entry.devid = device_name;
+          entry.priority = Driver::JACK;
+          entries.push_back (entry);

There are never two Driver::Entry structures here. There is a loop, so you 
might expect it, but basically the code picks the only device which it 
considers to be the "default" device from the devices map. It used generate a 
list of devices, but I think thats more harmful than it helps, but I left the 
devices query and generate list code there, in case we want to do it 
differently.

Jack is not very descriptive. Typically we only get the client name "system" 
and the port names "playback_1", "playback_2",... and we know that it is a 
hardware device. So ok, I'm trying to give all that information to the user in 
my new version, but still, we for instance do *not* get a soundcard name or 
anything useful. There is a Jack Metadata API which could be used to attach 
descriptions to clients, but at least on my system, this returns nothing. So 
really what we have is "system", "is hardware device", "2*in 2*out", nothing 
really useful for the user.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/128#discussion_r326864728
_______________________________________________
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast

Reply via email to