view 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 source
/* -*- 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;
}