annotate 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
rev   line source
cannam@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
cannam@0 2
cannam@0 3 #include "AudioRecordSourceFactory.h"
cannam@0 4
cannam@0 5 #include "AudioJACKSource.h"
cannam@0 6 #include "AudioPortAudioSource.h"
cannam@0 7
cannam@0 8 #include <iostream>
cannam@0 9
cannam@0 10 AudioCallbackRecordSource *
cannam@0 11 AudioRecordSourceFactory::createCallbackRecordSource(AudioCallbackRecordTarget *target)
cannam@0 12 {
cannam@0 13 AudioCallbackRecordSource *source = 0;
cannam@0 14
cannam@0 15 #ifdef HAVE_JACK
cannam@0 16 source = new AudioJACKSource(target);
cannam@0 17 if (source->isOK()) return source;
cannam@0 18 else {
cannam@0 19 std::cerr << "WARNING: AudioRecordSourceFactory::createCallbackRecordSource: Failed to open JACK source" << std::endl;
cannam@0 20 delete source;
cannam@0 21 }
cannam@0 22 #endif
cannam@0 23
cannam@0 24 #ifdef HAVE_PORTAUDIO
cannam@0 25 source = new AudioPortAudioSource(target);
cannam@0 26 if (source->isOK()) return source;
cannam@0 27 else {
cannam@0 28 std::cerr << "WARNING: AudioRecordSourceFactory::createCallbackRecordSource: Failed to open PortAudio source" << std::endl;
cannam@0 29 delete source;
cannam@0 30 }
cannam@0 31 #endif
cannam@0 32
cannam@0 33 std::cerr << "WARNING: AudioRecordSourceFactory::createCallbackRecordSource: No suitable sources available" << std::endl;
cannam@0 34 return 0;
cannam@0 35 }
cannam@0 36
cannam@0 37