summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r--libs/ardour/audioengine.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index eee21cad1f..a7682bac70 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -537,13 +537,13 @@ AudioEngine::backend_discover (const string& path)
return info;
}
-vector<string>
+vector<const AudioBackendInfo*>
AudioEngine::available_backends() const
{
- vector<string> r;
+ vector<const AudioBackendInfo*> r;
for (BackendMap::const_iterator i = _backends.begin(); i != _backends.end(); ++i) {
- r.push_back (i->first);
+ r.push_back (i->second);
}
return r;
@@ -581,17 +581,21 @@ AudioEngine::set_backend (const std::string& name, const std::string& arg1, cons
drop_backend ();
try {
+ cerr << "Instantiate " << b->second->name << " with " << arg1 << " + " << arg2 << endl;
if (b->second->instantiate (arg1, arg2)) {
+ cerr << "i failed\n";
throw failed_constructor ();
}
+ cerr << "bf\n";
_backend = b->second->backend_factory (*this);
+ cerr << "pf\n";
_impl = b->second->portengine_factory (*this);
+ cerr << "done\n";
-
- } catch (...) {
- error << string_compose (_("Could not create backend for %1"), name) << endmsg;
+ } catch (exception& e) {
+ error << string_compose (_("Could not create backend for %1: %2"), name, e.what()) << endmsg;
return -1;
}