diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-05-01 09:14:25 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-05-01 09:14:25 -0400 |
commit | 66559cd795eb27c389e2dd2d973ec6b280ac2763 (patch) | |
tree | cd7ff769badf27c7842bdfe2e97682e7bc9cb922 /libs/backends/dummy | |
parent | 6544df039bf95899204c05c665bfec4d0d86e85b (diff) |
Add AudioBackend::info() method to retrieve AudioBackendInfo object
Goal is to be able to call AudioBackendInfo::already_configured() from the right place.
Diffstat (limited to 'libs/backends/dummy')
-rw-r--r-- | libs/backends/dummy/dummy_audiobackend.cc | 27 | ||||
-rw-r--r-- | libs/backends/dummy/dummy_audiobackend.h | 2 |
2 files changed, 17 insertions, 12 deletions
diff --git a/libs/backends/dummy/dummy_audiobackend.cc b/libs/backends/dummy/dummy_audiobackend.cc index f0eeb8db12..7a3aa78513 100644 --- a/libs/backends/dummy/dummy_audiobackend.cc +++ b/libs/backends/dummy/dummy_audiobackend.cc @@ -29,8 +29,8 @@ using namespace ARDOUR; static std::string s_instance_name; size_t DummyAudioBackend::_max_buffer_size = 8192; -DummyAudioBackend::DummyAudioBackend (AudioEngine& e) - : AudioBackend (e) +DummyAudioBackend::DummyAudioBackend (AudioEngine& e, AudioBackendInfo& info) + : AudioBackend (e, info) , _running (false) , _freewheeling (false) , _samplerate (48000) @@ -1017,11 +1017,24 @@ DummyAudioBackend::main_process_thread () static boost::shared_ptr<DummyAudioBackend> _instance; +static boost::shared_ptr<AudioBackend> backend_factory (AudioEngine& e); +static int instantiate (const std::string& arg1, const std::string& /* arg2 */); +static int deinstantiate (); +static bool already_configured (); + +static ARDOUR::AudioBackendInfo _descriptor = { + "Dummy", + instantiate, + deinstantiate, + backend_factory, + already_configured, +}; + static boost::shared_ptr<AudioBackend> backend_factory (AudioEngine& e) { if (!_instance) { - _instance.reset (new DummyAudioBackend (e)); + _instance.reset (new DummyAudioBackend (e, _descriptor)); } return _instance; } @@ -1046,14 +1059,6 @@ already_configured () return false; } -static ARDOUR::AudioBackendInfo _descriptor = { - "Dummy", - instantiate, - deinstantiate, - backend_factory, - already_configured, -}; - extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor () { return &_descriptor; diff --git a/libs/backends/dummy/dummy_audiobackend.h b/libs/backends/dummy/dummy_audiobackend.h index 18d14cb867..7f97dd17f9 100644 --- a/libs/backends/dummy/dummy_audiobackend.h +++ b/libs/backends/dummy/dummy_audiobackend.h @@ -142,7 +142,7 @@ class DummyMidiPort : public DummyPort { class DummyAudioBackend : public AudioBackend { public: - DummyAudioBackend (AudioEngine& e); + DummyAudioBackend (AudioEngine& e, AudioBackendInfo& info); ~DummyAudioBackend (); /* AUDIOBACKEND API */ |