mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 08:14:58 +01:00
Provide both FreeBoB and FFADO options in the engine dialogue. Fixes #3457.
git-svn-id: svn://localhost/ardour2/branches/3.0@7799 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d2c23d8204
commit
157895dc3b
1 changed files with 9 additions and 23 deletions
|
|
@ -138,6 +138,7 @@ EngineControl::EngineControl ()
|
||||||
#else
|
#else
|
||||||
strings.push_back (X_("ALSA"));
|
strings.push_back (X_("ALSA"));
|
||||||
strings.push_back (X_("OSS"));
|
strings.push_back (X_("OSS"));
|
||||||
|
strings.push_back (X_("FreeBoB"));
|
||||||
strings.push_back (X_("FFADO"));
|
strings.push_back (X_("FFADO"));
|
||||||
#endif
|
#endif
|
||||||
strings.push_back (X_("NetJACK"));
|
strings.push_back (X_("NetJACK"));
|
||||||
|
|
@ -410,11 +411,8 @@ EngineControl::build_command_line (vector<string>& cmd)
|
||||||
{
|
{
|
||||||
string str;
|
string str;
|
||||||
string driver;
|
string driver;
|
||||||
bool using_oss = false;
|
|
||||||
bool using_alsa = false;
|
bool using_alsa = false;
|
||||||
bool using_coreaudio = false;
|
bool using_coreaudio = false;
|
||||||
bool using_netjack = false;
|
|
||||||
bool using_ffado = false;
|
|
||||||
bool using_dummy = false;
|
bool using_dummy = false;
|
||||||
|
|
||||||
/* first, path to jackd */
|
/* first, path to jackd */
|
||||||
|
|
@ -471,27 +469,16 @@ EngineControl::build_command_line (vector<string>& cmd)
|
||||||
using_alsa = true;
|
using_alsa = true;
|
||||||
cmd.push_back ("alsa");
|
cmd.push_back ("alsa");
|
||||||
} else if (driver == X_("OSS")) {
|
} else if (driver == X_("OSS")) {
|
||||||
using_oss = true;
|
|
||||||
cmd.push_back ("oss");
|
cmd.push_back ("oss");
|
||||||
} else if (driver == X_("CoreAudio")) {
|
} else if (driver == X_("CoreAudio")) {
|
||||||
using_coreaudio = true;
|
using_coreaudio = true;
|
||||||
cmd.push_back ("coreaudio");
|
cmd.push_back ("coreaudio");
|
||||||
} else if (driver == X_("NetJACK")) {
|
} else if (driver == X_("NetJACK")) {
|
||||||
using_netjack = true;
|
|
||||||
cmd.push_back ("netjack");
|
cmd.push_back ("netjack");
|
||||||
|
} else if (driver == X_("FreeBoB")) {
|
||||||
|
cmd.push_back ("freebob");
|
||||||
} else if (driver == X_("FFADO")) {
|
} else if (driver == X_("FFADO")) {
|
||||||
using_ffado = true;
|
cmd.push_back ("firewire");
|
||||||
|
|
||||||
/* 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");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if ( driver == X_("Dummy")) {
|
} else if ( driver == X_("Dummy")) {
|
||||||
using_dummy = true;
|
using_dummy = true;
|
||||||
cmd.push_back ("dummy");
|
cmd.push_back ("dummy");
|
||||||
|
|
@ -527,7 +514,7 @@ EngineControl::build_command_line (vector<string>& cmd)
|
||||||
cmd.push_back ("-C");
|
cmd.push_back ("-C");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! using_dummy ) {
|
if (!using_dummy) {
|
||||||
cmd.push_back ("-n");
|
cmd.push_back ("-n");
|
||||||
cmd.push_back (to_string ((uint32_t) floor (periods_spinner.get_value()), std::dec));
|
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
|
#endif
|
||||||
|
|
||||||
} else if (using_oss) {
|
|
||||||
|
|
||||||
} else if (using_netjack) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -704,6 +687,8 @@ EngineControl::enumerate_devices (const string& driver)
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
} else if (driver == "ALSA") {
|
} else if (driver == "ALSA") {
|
||||||
devices[driver] = enumerate_alsa_devices ();
|
devices[driver] = enumerate_alsa_devices ();
|
||||||
|
} else if (driver == "FreeBOB") {
|
||||||
|
devices[driver] = enumerate_freebob_devices ();
|
||||||
} else if (driver == "FFADO") {
|
} else if (driver == "FFADO") {
|
||||||
devices[driver] = enumerate_ffado_devices ();
|
devices[driver] = enumerate_ffado_devices ();
|
||||||
} else if (driver == "OSS") {
|
} else if (driver == "OSS") {
|
||||||
|
|
@ -888,6 +873,7 @@ EngineControl::enumerate_freebob_devices ()
|
||||||
vector<string> devs;
|
vector<string> devs;
|
||||||
return devs;
|
return devs;
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<string>
|
vector<string>
|
||||||
EngineControl::enumerate_oss_devices ()
|
EngineControl::enumerate_oss_devices ()
|
||||||
{
|
{
|
||||||
|
|
@ -920,7 +906,7 @@ EngineControl::driver_changed ()
|
||||||
|
|
||||||
vector<string>& strings = devices[driver];
|
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;
|
error << string_compose (_("No devices found for driver \"%1\""), driver) << endmsg;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue