diff options
Diffstat (limited to 'drumgizmo/enginefactory.cc')
| -rw-r--r-- | drumgizmo/enginefactory.cc | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/drumgizmo/enginefactory.cc b/drumgizmo/enginefactory.cc index b6569e0..4e9bc62 100644 --- a/drumgizmo/enginefactory.cc +++ b/drumgizmo/enginefactory.cc @@ -26,13 +26,30 @@   */  #include "enginefactory.h"  #include "jackclient.h" + +#define HAVE_INPUT_MIDIFILE 1 +#define HAVE_OUTPUT_WAVFILE 1 +#define HAVE_OUTPUT_ALSA 1 + +#ifdef HAVE_INPUT_MIDIFILE  #include "input/midifile.h" +#endif + +#ifdef HAVE_OUTPUT_WAVFILE  #include "output/wavfile.h" +#endif + +#ifdef HAVE_OUTPUT_ALSA +#include "output/alsa.h" +#endif  InputEnginePtr createInputEngine(std::string const & name) { +#ifdef HAVE_INPUT_MIDIFILE  	if (name == "midifile") {  		return std::make_unique<MidifileInputEngine>();  	} +#endif +	  	// todo: add more engines  	printf("Unsupported input engine: %s\n", name.c_str()); @@ -40,9 +57,17 @@ InputEnginePtr createInputEngine(std::string const & name) {  }  OutputEnginePtr createOutputEngine(std::string const & name) { +#ifdef HAVE_OUTPUT_WAVFILE  	if (name == "wavfile") {  		return std::make_unique<WavfileOutputEngine>();  	} +#endif +#ifdef HAVE_OUTPUT_ALSA +	if (name == "alsa") { +		return std::make_unique<AlsaOutputEngine>(); +	} +#endif +  	// todo: add more engines  	printf("Unsupported output engine: %s\n", name.c_str());  | 
