diff audioio/AudioRecordSourceFactory.cpp @ 0:a6020bf991cd

* Initial import of what may or may not become a simple live visual-response host for causal Vamp plugins
author cannam
date Thu, 19 Oct 2006 16:53:48 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/audioio/AudioRecordSourceFactory.cpp	Thu Oct 19 16:53:48 2006 +0000
@@ -0,0 +1,37 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
+
+#include "AudioRecordSourceFactory.h"
+
+#include "AudioJACKSource.h"
+#include "AudioPortAudioSource.h"
+
+#include <iostream>
+
+AudioCallbackRecordSource *
+AudioRecordSourceFactory::createCallbackRecordSource(AudioCallbackRecordTarget *target)
+{
+    AudioCallbackRecordSource *source = 0;
+
+#ifdef HAVE_JACK
+    source = new AudioJACKSource(target);
+    if (source->isOK()) return source;
+    else {
+	std::cerr << "WARNING: AudioRecordSourceFactory::createCallbackRecordSource: Failed to open JACK source" << std::endl;
+	delete source;
+    }
+#endif
+
+#ifdef HAVE_PORTAUDIO
+    source = new AudioPortAudioSource(target);
+    if (source->isOK()) return source;
+    else {
+	std::cerr << "WARNING: AudioRecordSourceFactory::createCallbackRecordSource: Failed to open PortAudio source" << std::endl;
+	delete source;
+    }
+#endif
+
+    std::cerr << "WARNING: AudioRecordSourceFactory::createCallbackRecordSource: No suitable sources available" << std::endl;
+    return 0;
+}
+
+