diff options
| -rw-r--r-- | drumgizmo/audiooutputenginedl.cc | 22 | ||||
| -rw-r--r-- | drumgizmo/drumgizmoc.cc | 2 | ||||
| -rw-r--r-- | drumgizmo/output/alsa/alsa.cc | 29 | ||||
| -rw-r--r-- | drumgizmo/output/dummy/dummy.cc | 30 | ||||
| -rw-r--r-- | drumgizmo/output/jackaudio/jackaudio.cc | 17 | ||||
| -rw-r--r-- | drumgizmo/output/wavfile/wavfile.cc | 38 | 
6 files changed, 46 insertions, 92 deletions
| diff --git a/drumgizmo/audiooutputenginedl.cc b/drumgizmo/audiooutputenginedl.cc index fcedd9d..2648e8f 100644 --- a/drumgizmo/audiooutputenginedl.cc +++ b/drumgizmo/audiooutputenginedl.cc @@ -114,7 +114,8 @@ AudioOutputEngineDL::AudioOutputEngineDL(std::string name)    o_samplerate = (output_samplerate_func_t) dlsym(lib, "samplerate");    dlsym_error = dlerror();    if(dlsym_error) { -    o_samplerate = NULL; +    printf("Cannot load symbol samplerate: %s\n", dlsym_error); +    return;    }    ptr = o_create(); @@ -190,22 +191,5 @@ size_t AudioOutputEngineDL::getBufferSize()  size_t AudioOutputEngineDL::samplerate()  {    if(o_samplerate) return o_samplerate(ptr); -  return UNKNOWN_SAMPLERATE; +  return 44100;  } - -#ifdef TEST_AUDIOOUTPUTENGINEDL -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; - -// TODO: Put some testcode here (see test.h for usable macros). - -TEST_END; - -#endif/*TEST_AUDIOOUTPUTENGINEDL*/ diff --git a/drumgizmo/drumgizmoc.cc b/drumgizmo/drumgizmoc.cc index d5fa817..61f8eaa 100644 --- a/drumgizmo/drumgizmoc.cc +++ b/drumgizmo/drumgizmoc.cc @@ -187,7 +187,7 @@ int main(int argc, char *argv[])      return 1;    } -  AudioOutputEngine *oe = new AudioOutputEngineDL(outputengine); +  AudioOutputEngineDL *oe = new AudioOutputEngineDL(outputengine);    if(oe == NULL) {      printf("Invalid output engine: %s\n", outputengine.c_str()); diff --git a/drumgizmo/output/alsa/alsa.cc b/drumgizmo/output/alsa/alsa.cc index 7b3a395..dc2ac73 100644 --- a/drumgizmo/output/alsa/alsa.cc +++ b/drumgizmo/output/alsa/alsa.cc @@ -49,6 +49,7 @@ public:    void pre(size_t size);    void run(int channel, sample_t* data, size_t size);    void post(size_t size); +  size_t samplerate();  private:    snd_pcm_t *handle; @@ -157,6 +158,11 @@ void Alsa::post(size_t size)    snd_pcm_writei(handle, data, size);  } +size_t Alsa::samplerate() +{ +  return srate; +} +  extern "C" {    void *create()    { @@ -210,21 +216,10 @@ extern "C" {      Alsa *alsa = (Alsa*)h;      alsa->post(s);    } -} - -#ifdef TEST_AUDIOOUTPUTENGINEALSA -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; -// TODO: Put some testcode here (see test.h for usable macros). - -TEST_END; - -#endif/*TEST_AUDIOOUTPUTENGINEALSA*/ +  size_t samplerate(void *h) +  { +    Alsa *alsa = (Alsa*)h; +    return alsa->samplerate(); +  } +} diff --git a/drumgizmo/output/dummy/dummy.cc b/drumgizmo/output/dummy/dummy.cc index cd210dc..e60f2b7 100644 --- a/drumgizmo/output/dummy/dummy.cc +++ b/drumgizmo/output/dummy/dummy.cc @@ -43,6 +43,8 @@ public:    void pre(size_t size);    void run(int channel, sample_t* data, size_t size);    void post(size_t size); + +  size_t samplerate();  };  Dummy::Dummy() @@ -83,6 +85,11 @@ void Dummy::post(size_t size)  {  } +size_t Dummy::samplerate() +{ +  return 44100; +} +  extern "C" {    void *create()    { @@ -136,21 +143,10 @@ extern "C" {      Dummy *dummy = (Dummy*)h;      dummy->post(size);    } -} - -#ifdef TEST_AUDIOOUTPUTENGINEDUMMY -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; -// TODO: Put some testcode here (see test.h for usable macros). - -TEST_END; - -#endif/*TEST_AUDIOOUTPUTENGINEDUMMY*/ +  size_t samplerate(void *h) +  { +    Dummy *dummy = (Dummy*)h; +    return dummy->samplerate(); +  } +} diff --git a/drumgizmo/output/jackaudio/jackaudio.cc b/drumgizmo/output/jackaudio/jackaudio.cc index b7fa4f9..5c04146 100644 --- a/drumgizmo/output/jackaudio/jackaudio.cc +++ b/drumgizmo/output/jackaudio/jackaudio.cc @@ -218,20 +218,3 @@ extern "C" {      return jack->samplerate();    }  } - -#ifdef TEST_AUDIOINPUTENGINEJACKAUDIO -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; - -// TODO: Put some testcode here (see test.h for usable macros). - -TEST_END; - -#endif/*TEST_AUDIOINPUTENGINEJACKAUDIO*/ diff --git a/drumgizmo/output/wavfile/wavfile.cc b/drumgizmo/output/wavfile/wavfile.cc index cb95715..fa4128e 100644 --- a/drumgizmo/output/wavfile/wavfile.cc +++ b/drumgizmo/output/wavfile/wavfile.cc @@ -44,6 +44,7 @@ public:    void pre(size_t size);    void run(int channel, sample_t* data, size_t size);    void post(size_t size); +  size_t samplerate();  private:    SF_INFO sf_info; @@ -58,6 +59,10 @@ WavFile::WavFile()  {    fh = NULL;    filename = "output"; + +  sf_info.channels = 1;//channels; +  sf_info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT; +  sf_info.samplerate = 44100;  }  WavFile::~WavFile() @@ -74,10 +79,6 @@ WavFile::~WavFile()  bool WavFile::init(int channels, char *cnames[])  {    this->channels = channels; -   -  sf_info.channels = 1;//channels; -  sf_info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT; -  sf_info.samplerate = 44100;    fh = (SNDFILE **)malloc(sizeof(SNDFILE *)*channels); @@ -102,6 +103,7 @@ bool WavFile::init(int channels, char *cnames[])  void WavFile::setParm(std::string parm, std::string value)  {    if(parm == "file") filename = value; +  if(parm == "srate") sf_info.samplerate = atoi(value.c_str());  }  bool WavFile::start() @@ -126,6 +128,11 @@ void WavFile::post(size_t size)  {  } +size_t WavFile::samplerate() +{ +  return sf_info.samplerate; +} +  extern "C" {    void *create()    { @@ -179,21 +186,10 @@ extern "C" {      WavFile *sndfile = (WavFile*)h;      sndfile->post(s);    } -} - -#ifdef TEST_AUDIOOUTPUTENGINESNDFILE -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; - -// TODO: Put some testcode here (see test.h for usable macros). -TEST_END; - -#endif/*TEST_AUDIOOUTPUTENGINESNDFILE*/ +  size_t samplerate(void *h) +  { +    WavFile *wavfile = (WavFile*)h; +    return wavfile->samplerate(); +  } +} | 
