From ef3a90f4ba8d65e8c210898c48acd3a07eafaf4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Gl=C3=B6ckner?= Date: Fri, 22 Jan 2016 11:59:00 +0100 Subject: added JackaudioOutputEngine --- drumgizmo/enginefactory.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'drumgizmo/enginefactory.cc') diff --git a/drumgizmo/enginefactory.cc b/drumgizmo/enginefactory.cc index c9f2ef3..8c40a28 100644 --- a/drumgizmo/enginefactory.cc +++ b/drumgizmo/enginefactory.cc @@ -49,7 +49,11 @@ #include "output/alsa.h" #endif -InputEnginePtr createInputEngine(std::string const & name) { +#ifdef HAVE_OUTPUT_JACKAUDIO +#include "output/jackaudio.h" +#endif + +InputEnginePtr createInputEngine(JackClientPtr& jack, std::string const & name) { #ifdef HAVE_INPUT_DUMMY if (name == "dummy") { return std::make_unique(); @@ -67,7 +71,7 @@ InputEnginePtr createInputEngine(std::string const & name) { return nullptr; } -OutputEnginePtr createOutputEngine(std::string const & name) { +OutputEnginePtr createOutputEngine(JackClientPtr& jack, std::string const & name) { #ifdef HAVE_OUTPUT_DUMMY if (name == "dummy") { return std::make_unique(); @@ -83,6 +87,14 @@ OutputEnginePtr createOutputEngine(std::string const & name) { return std::make_unique(); } #endif +#ifdef HAVE_OUTPUT_JACKAUDIO + if (name == "jackaudio") { + if (jack.get() == nullptr) { + jack = std::make_unique(); + } + return std::make_unique(*jack); + } +#endif // todo: add more engines -- cgit v1.2.3