summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-08-03 11:57:56 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-08-03 11:57:56 -0400
commit1c4d00e8b70785ce58f868645dad93afa1855193 (patch)
treec6d4687d54945139ac25f0f89e8f987fc7cb54d3 /libs/ardour/audioengine.cc
parentdf59a000b79f891f17ec8a05b390982dac67e5ff (diff)
audioengine branch can now load and run at least one test session.
currently hard-coded to deal only with the situation where JACK is already running
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;
}