Re: [tim-janik/beast] Jack driver new api (#128)



@swesterfeld commented on this pull request.


In bse/driver-jack.cc:

> +    }
+
+  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", "2in 2out", nothing really useful for the user.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]