X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fbackends%2Fjack%2Fjack_api.cc;h=b63b1c1f69f8d0580623b351c395374b71ad2f4c;hb=c8c6bca6587450ff64303dbc994a4cd28d6ce7aa;hp=c8859a1fc97a8cd0d1dd1a005ef8625dcfda49db;hpb=e5888d398350b26ba2cdc634cc9791e90b4fc6b6;p=ardour.git diff --git a/libs/backends/jack/jack_api.cc b/libs/backends/jack/jack_api.cc index c8859a1fc9..b63b1c1f69 100644 --- a/libs/backends/jack/jack_api.cc +++ b/libs/backends/jack/jack_api.cc @@ -25,6 +25,21 @@ using namespace ARDOUR; static boost::shared_ptr backend; static boost::shared_ptr jack_connection; +static boost::shared_ptr backend_factory (AudioEngine& ae); +static int instantiate (const std::string& arg1, const std::string& arg2); +static int deinstantiate (); +static bool already_configured (); +static bool available (); + +static ARDOUR::AudioBackendInfo _descriptor = { + "JACK", + instantiate, + deinstantiate, + backend_factory, + already_configured, + available +}; + static boost::shared_ptr backend_factory (AudioEngine& ae) { @@ -33,7 +48,7 @@ backend_factory (AudioEngine& ae) } if (!backend) { - backend.reset (new JACKAudioBackend (ae, jack_connection)); + backend.reset (new JACKAudioBackend (ae, _descriptor, jack_connection)); } return backend; @@ -51,7 +66,7 @@ instantiate (const std::string& arg1, const std::string& arg2) return 0; } -static int +static int deinstantiate () { backend.reset (); @@ -66,13 +81,11 @@ already_configured () return !JackConnection::in_control (); } -static ARDOUR::AudioBackendInfo _descriptor = { - "JACK", - instantiate, - deinstantiate, - backend_factory, - already_configured, -}; +static bool +available () +{ + return have_libjack() ? false : true; +} extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor() { return &_descriptor; }