* not currently required, is still possible.
*/
bool (*already_configured)();
+
+ /** Return true if the underlying mechanism/API can be
+ * used on the given system.
+ *
+ * If this function returns false, the backend is not
+ * listed in the engine dialog.
+ */
+ bool (*available)();
};
class LIBARDOUR_API AudioBackend : public PortEngine {
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 = {
"ALSA",
deinstantiate,
backend_factory,
already_configured,
+ available
};
static boost::shared_ptr<AudioBackend>
return false;
}
+static bool
+available ()
+{
+ return true;
+}
+
extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor ()
{
return &_descriptor;
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 = {
"Dummy",
deinstantiate,
backend_factory,
already_configured,
+ available
};
static boost::shared_ptr<AudioBackend>
return false;
}
+static bool
+available ()
+{
+ return true;
+}
+
extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor ()
{
return &_descriptor;
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",
deinstantiate,
backend_factory,
already_configured,
+ available
};
static boost::shared_ptr<AudioBackend>
return !JackConnection::in_control ();
}
+static bool
+available ()
+{
+ return have_libjack() ? false : true;
+}
+
extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor() { return &_descriptor; }
return false;
}
+bool
+WavesAudioBackend::__available ()
+{
+ // COMMENTED DBG LOGS */ std::cout << "WavesAudioBackend::__available ():" << std::endl;
+ return true;
+}
+
void*
WavesAudioBackend::private_handle () const
WavesAudioBackend::__deinstantiate,
WavesAudioBackend::__waves_backend_factory,
WavesAudioBackend::__already_configured,
+ WavesAudioBackend::__available,
};
static int __instantiate (const std::string& arg1, const std::string& arg2);
static int __deinstantiate ();
static bool __already_configured ();
+ static bool __available ();
static void* __start_process_thread (void*);
static uint64_t __get_time_nanos ();