Provide both FreeBoB and FFADO options in the engine dialogue. Fixes #3457.
authorCarl Hetherington <carl@carlh.net>
Sat, 18 Sep 2010 20:01:54 +0000 (20:01 +0000)
committerCarl Hetherington <carl@carlh.net>
Sat, 18 Sep 2010 20:01:54 +0000 (20:01 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7799 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/engine_dialog.cc

index 30940a1276328a30e35017cbf41ef7fb0363ba12..047e1cb44a47e0f6fe5dd0eaa82b7a81d4664e1c 100644 (file)
@@ -138,6 +138,7 @@ EngineControl::EngineControl ()
 #else
        strings.push_back (X_("ALSA"));
        strings.push_back (X_("OSS"));
+       strings.push_back (X_("FreeBoB"));
        strings.push_back (X_("FFADO"));
 #endif
        strings.push_back (X_("NetJACK"));
@@ -410,11 +411,8 @@ EngineControl::build_command_line (vector<string>& cmd)
 {
        string str;
        string driver;
-       bool using_oss = false;
        bool using_alsa = false;
        bool using_coreaudio = false;
-       bool using_netjack = false;
-       bool using_ffado = false;
        bool using_dummy = false;
 
        /* first, path to jackd */
@@ -471,27 +469,16 @@ EngineControl::build_command_line (vector<string>& cmd)
                using_alsa = true;
                cmd.push_back ("alsa");
        } else if (driver == X_("OSS")) {
-               using_oss = true;
                cmd.push_back ("oss");
        } else if (driver == X_("CoreAudio")) {
                using_coreaudio = true;
                cmd.push_back ("coreaudio");
        } else if (driver == X_("NetJACK")) {
-               using_netjack = true;
                cmd.push_back ("netjack");
+       } else if (driver == X_("FreeBoB")) {
+               cmd.push_back ("freebob");
        } else if (driver == X_("FFADO")) {
-               using_ffado = true;
-
-               /* do this until FFADO becomes the standard */
-
-               char* hack = getenv ("ARDOUR_FIREWIRE_DRIVER_NAME");
-
-               if (hack) {
-                       cmd.push_back (hack);
-               } else {
-                       cmd.push_back ("freebob");
-               }
-
+               cmd.push_back ("firewire");
        } else if ( driver == X_("Dummy")) {
                using_dummy = true;
                cmd.push_back ("dummy");
@@ -527,7 +514,7 @@ EngineControl::build_command_line (vector<string>& cmd)
                        cmd.push_back ("-C");
                }
 
-               if (! using_dummy ) {
+               if (!using_dummy) {
                        cmd.push_back ("-n");
                        cmd.push_back (to_string ((uint32_t) floor (periods_spinner.get_value()), std::dec));
                }
@@ -629,10 +616,6 @@ EngineControl::build_command_line (vector<string>& cmd)
                 }
 #endif
 
-       } else if (using_oss) {
-
-       } else if (using_netjack) {
-
        }
 }
 
@@ -704,6 +687,8 @@ EngineControl::enumerate_devices (const string& driver)
 #ifndef __APPLE__
        } else if (driver == "ALSA") {
                devices[driver] = enumerate_alsa_devices ();
+       } else if (driver == "FreeBOB") {
+               devices[driver] = enumerate_freebob_devices ();
        } else if (driver == "FFADO") {
                devices[driver] = enumerate_ffado_devices ();
        } else if (driver == "OSS") {
@@ -888,6 +873,7 @@ EngineControl::enumerate_freebob_devices ()
        vector<string> devs;
        return devs;
 }
+
 vector<string>
 EngineControl::enumerate_oss_devices ()
 {
@@ -920,7 +906,7 @@ EngineControl::driver_changed ()
 
        vector<string>& strings = devices[driver];
 
-       if (strings.empty() && driver != "FFADO" && driver != "Dummy") {
+       if (strings.empty() && driver != "FreeBoB" && driver != "FFADO" && driver != "Dummy") {
                error << string_compose (_("No devices found for driver \"%1\""), driver) << endmsg;
                return;
        }