diff options
author | Robin Gareus <robin@gareus.org> | 2014-09-08 01:25:56 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-09-08 01:25:56 +0200 |
commit | b1da9af8de8cc648d88fbc944c68f1d9f6d1b8c9 (patch) | |
tree | f6204bc0e71b68f1053816131c139c33b9123082 /libs/backends/dummy | |
parent | dc318e6e74d17e03e92c28618d03703a4034a843 (diff) |
ALSA|Dummy: ignore port unregistration when engine is stopped
When changing Engine parameters, ardour first stops
the engine and only later when re-etablishing ports
unregisters/re-registers them.
ALSA: silently ignore port unregs and silently accept registrations
Dummy: print a PBD::info message,
Diffstat (limited to 'libs/backends/dummy')
-rw-r--r-- | libs/backends/dummy/dummy_audiobackend.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/backends/dummy/dummy_audiobackend.cc b/libs/backends/dummy/dummy_audiobackend.cc index e8a21df292..10df74d676 100644 --- a/libs/backends/dummy/dummy_audiobackend.cc +++ b/libs/backends/dummy/dummy_audiobackend.cc @@ -595,6 +595,9 @@ DummyAudioBackend::register_port ( { if (name.size () == 0) { return 0; } if (flags & IsPhysical) { return 0; } + if (!_running) { + PBD::info << _("DummyBackend::register_port: Engine is not running.") << endmsg; + } return add_port (_instance_name + ":" + name, type, flags); } @@ -631,8 +634,10 @@ DummyAudioBackend::add_port ( void DummyAudioBackend::unregister_port (PortEngine::PortHandle port_handle) { - if (!valid_port (port_handle)) { - PBD::error << _("DummyBackend::unregister_port: Invalid Port.") << endmsg; + if (!_running) { + PBD::info << _("DummyBackend::unregister_port: Engine is not running.") << endmsg; + assert (!valid_port (port_handle)); + return; } DummyPort* port = static_cast<DummyPort*>(port_handle); std::vector<DummyPort*>::iterator i = std::find (_ports.begin (), _ports.end (), static_cast<DummyPort*>(port_handle)); |