diff options
| author | Christian Glöckner <cgloeckner@freenet.de> | 2016-01-25 13:26:14 +0100 | 
|---|---|---|
| committer | André Nusser <andre.nusser@googlemail.com> | 2016-02-09 09:03:16 +0100 | 
| commit | 65a1f98c1bbb1837222e2eca4a457e66cf867b6e (patch) | |
| tree | 891f2f4e50afef883588e2ab9c31db850dc93cbd | |
| parent | c970d83d7394e73f4bdff9c69a186ec91ac5f9de (diff) | |
Removed outdated files
25 files changed, 0 insertions, 2839 deletions
| diff --git a/drumgizmo/audioinputenginedl.cc b/drumgizmo/audioinputenginedl.cc deleted file mode 100644 index cba59fa..0000000 --- a/drumgizmo/audioinputenginedl.cc +++ /dev/null @@ -1,251 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginedl.cc - * - *  Wed Jul 13 14:39:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "audioinputenginedl.h" - -#include <stdio.h> - -#include <dlfcn.h> - -#include <config.h> -#include <string.h> -#include <stdlib.h> - -#include "jackclient.h" - -AudioInputEngineDL::AudioInputEngineDL(std::string name) -{ -  is_jack_plugin = strstr(name.c_str(), "jack"); - -  std::string plugin = INPUT_PLUGIN_DIR"/" + name + ".so"; -  lib = dlopen(plugin.c_str(), RTLD_LAZY); -  if(!lib) { -    printf("Cannot load device: %s\n", dlerror()); -    return; -  } - -  i_create = (input_create_func_t) dlsym(lib, "create"); -  const char* dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol create: %s\n", dlsym_error); -    return; -  } - -  i_destroy = (input_destroy_func_t) dlsym(lib, "destroy"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  i_init = (input_init_func_t) dlsym(lib, "init"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol init: %s\n", dlsym_error); -    return; -  } - -  i_setparm = (input_setparm_func_t) dlsym(lib, "setparm"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol setparm: %s\n", dlsym_error); -    return; -  } - -  i_start = (input_start_func_t) dlsym(lib, "start"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol start: %s\n", dlsym_error); -    return; -  } - -  i_stop = (input_stop_func_t) dlsym(lib, "stop"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol stop: %s\n", dlsym_error); -    return; -  } - -  i_pre = (input_pre_func_t) dlsym(lib, "pre"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol pre: %s\n", dlsym_error); -    return; -  } - -  i_run = (input_run_func_t) dlsym(lib, "run"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol run: %s\n", dlsym_error); -    return; -  } - -  i_post = (input_post_func_t) dlsym(lib, "post"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol post: %s\n", dlsym_error); -    return; -  } - -  ptr = i_create(); - -  if(is_jack_plugin) { -    char ptrbuf[32]; -    jackclient = init_jack_client(); -    sprintf(ptrbuf, "%p", jackclient); -    setParm("jack_client", ptrbuf); -  } -} - -AudioInputEngineDL::~AudioInputEngineDL() -{ -  i_destroy(ptr); -  if(is_jack_plugin) close_jack_client(); -  dlclose(lib); -  lib = nullptr; -} - -bool AudioInputEngineDL::init(Instruments &instruments) -{ -  char **n = (char**)malloc(sizeof(char*)*instruments.size()); -  for(size_t i = 0; i < instruments.size(); i++) { -    n[i] = strdup(instruments[i]->name().c_str()); -  } - -  bool ret = i_init(ptr, instruments.size(), n); - -  for(size_t i = 0; i < instruments.size(); i++) { -    free(n[i]); -  } -  free(n); - -  return ret; -} - -void AudioInputEngineDL::setParm(std::string parm, std::string value) -{ -  i_setparm(ptr, parm.c_str(), value.c_str()); -} - -bool AudioInputEngineDL::start() -{ -  if(is_jack_plugin) jackclient->activate(); -  return i_start(ptr); -} - -void AudioInputEngineDL::stop() -{ -  return i_stop(ptr); -} - -void AudioInputEngineDL::pre() -{ -  return i_pre(ptr); -} - -event_t *AudioInputEngineDL::run(size_t pos, size_t len, size_t *nevents) -{ -  return i_run(ptr, pos, len, nevents); -} - -void AudioInputEngineDL::post() -{ -  return i_post(ptr); -} - -//#include "audioinputenginedummy.h" -//#include "audioinputenginejackmidi.h" -//#include "audioinputenginemidifile.h" - -/* - -typedef Device* (*create_func_t)(void); -typedef void (*destroy_func_t)(Device*); - -struct device_t { -  Device* dev; -  destroy_func_t destroyer; -  void* lib; -}; - -int load_shared_device(device_t &dev, std::string devlib, -                             std::string devfile, ConfMap devconfmap) { -  // load library -  dev.lib = dlopen(devlib.c_str(), RTLD_LAZY); -  if(!dev.lib ) { -    printf("Cannot load device: %s\n", dlerror()); -    return -1; -  } - -  create_func_t create_device = (create_func_t) dlsym(dev.lib, "create"); -  const char* dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol create: %s\n", dlsym_error); -    return -1; -  } - -  dev.destroyer = (destroy_func_t) dlsym(dev.lib, "destroy"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return -1; -  } - -  dev.dev = create_device(); - -  // initialize device  -  DevData devdata = dev.dev->init(devfile, devconfmap); -  if(devdata.retval != DevData::VALUE_SUCCESS) { -    printf("Error while initializing device: %s\n",  devdata.msg.c_str()); -    return -1; -  } - -  return 0; -} - -void unload_shared_device(device_t &dev) { -   -  dev.destroyer(dev.dev); -  dlclose(dev.lib); -} -*/ - -#ifdef TEST_AUDIOINPUTENGINEDL -//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_AUDIOINPUTENGINEDL*/ diff --git a/drumgizmo/audioinputenginedl.h b/drumgizmo/audioinputenginedl.h deleted file mode 100644 index 94bd89d..0000000 --- a/drumgizmo/audioinputenginedl.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginedl.h - * - *  Wed Jul 13 14:39:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_AUDIOINPUTENGINEDL_H__ -#define __DRUMGIZMO_AUDIOINPUTENGINEDL_H__ - -#include "audioinputengine.h" -#include "jackclient.h" - -typedef void* (*input_create_func_t)(void); -typedef void (*input_destroy_func_t)(void*); -typedef bool (*input_init_func_t)(void*,int,char**); -typedef void (*input_setparm_func_t)(void*,const char*,const char*); -typedef bool (*input_start_func_t)(void*); -typedef void (*input_stop_func_t)(void*); -typedef void (*input_pre_func_t)(void*); -typedef event_t* (*input_run_func_t)(void*,size_t,size_t,size_t*); -typedef void (*input_post_func_t)(void*); -   -class AudioInputEngineDL : public AudioInputEngine { -public: -  AudioInputEngineDL(std::string name); -  ~AudioInputEngineDL(); - -  bool init(Instruments &instruments); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  void pre(); -  event_t *run(size_t pos, size_t len, size_t *nevents); -  void post(); - -private: -  void *ptr{nullptr}; -  input_create_func_t i_create{nullptr}; -  input_destroy_func_t i_destroy{nullptr}; -  input_init_func_t i_init{nullptr}; -  input_setparm_func_t i_setparm{nullptr}; -  input_start_func_t i_start{nullptr}; -  input_stop_func_t i_stop{nullptr}; -  input_pre_func_t i_pre{nullptr}; -  input_run_func_t i_run{nullptr}; -  input_post_func_t i_post{nullptr}; - -  bool is_jack_plugin; -  JackClient *jackclient{nullptr}; - -	void *lib{nullptr}; -}; - -#endif/*__DRUMGIZMO_AUDIOINPUTENGINEDL_H__*/ diff --git a/drumgizmo/audiooutputenginedl.cc b/drumgizmo/audiooutputenginedl.cc deleted file mode 100644 index 042db4a..0000000 --- a/drumgizmo/audiooutputenginedl.cc +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audiooutputenginedl.cc - * - *  Wed Jul 13 14:40:01 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "audiooutputenginedl.h" - -#include <dlfcn.h> -#include <stdio.h> -#include <config.h> -#include <string.h> - -AudioOutputEngineDL::AudioOutputEngineDL(std::string name) -{ -  is_jack_plugin = strstr(name.c_str(), "jack"); - -  std::string plugin = OUTPUT_PLUGIN_DIR"/" + name + ".so"; -  lib = dlopen(plugin.c_str(), RTLD_LAZY); -  if(!lib) { -    printf("Cannot load device: %s\n", dlerror()); -    return; -  } - -  o_create = (output_create_func_t) dlsym(lib, "create"); -  const char* dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol create: %s\n", dlsym_error); -    return; -  } - -  o_destroy = (output_destroy_func_t) dlsym(lib, "destroy"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_init = (output_init_func_t) dlsym(lib, "init"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_setparm = (output_setparm_func_t) dlsym(lib, "setparm"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_start = (output_start_func_t) dlsym(lib, "start"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_stop = (output_stop_func_t) dlsym(lib, "stop"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_pre = (output_pre_func_t) dlsym(lib, "pre"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_run = (output_run_func_t) dlsym(lib, "run"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_post = (output_post_func_t) dlsym(lib, "post"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol destroy: %s\n", dlsym_error); -    return; -  } - -  o_bufsize = (output_bufsize_func_t) dlsym(lib, "bufsize"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    o_bufsize = NULL; -  } - -  o_samplerate = (output_samplerate_func_t) dlsym(lib, "samplerate"); -  dlsym_error = dlerror(); -  if(dlsym_error) { -    printf("Cannot load symbol samplerate: %s\n", dlsym_error); -    return; -  } - -  ptr = o_create(); - -  if(is_jack_plugin) { -    char ptrbuf[32]; -    jackclient = init_jack_client(); -    sprintf(ptrbuf, "%p", jackclient); -    setParm("jack_client", ptrbuf); -  } -} - -AudioOutputEngineDL::~AudioOutputEngineDL() -{ -  o_destroy(ptr); -  if(is_jack_plugin) close_jack_client(); -  dlclose(lib); -  lib = nullptr; -} - -bool AudioOutputEngineDL::init(Channels channels) -{ -  char **n = (char**)malloc(sizeof(char*)*channels.size()); -  for(size_t i = 0; i < channels.size(); i++) { -    n[i] = strdup(channels[i].name.c_str()); -  } - -  bool ret = o_init(ptr, channels.size(), n); - -  for(size_t i = 0; i < channels.size(); i++) { -    free(n[i]); -  } -  free(n); - -  return ret; -} - -void AudioOutputEngineDL::setParm(std::string parm, std::string value) -{ -  o_setparm(ptr, parm.c_str(), value.c_str()); -} - -bool AudioOutputEngineDL::start() -{ -  if(is_jack_plugin) jackclient->activate(); -  return o_start(ptr); -} - -void AudioOutputEngineDL::stop() -{ -  return o_stop(ptr); -} - -void AudioOutputEngineDL::pre(size_t size) -{ -  return o_pre(ptr, size); -} -  -void AudioOutputEngineDL::run(int ch, sample_t *samples, size_t nsamples) -{ -  o_run(ptr, ch, samples, nsamples); -} - -void AudioOutputEngineDL::post(size_t size) -{ -  return o_post(ptr, size); -} - -size_t AudioOutputEngineDL::getBufferSize() -{ -  if(o_bufsize) return o_bufsize(ptr); -  return 1024; -} - -size_t AudioOutputEngineDL::samplerate() -{ -  if(o_samplerate) return o_samplerate(ptr); -  return 44100; -} diff --git a/drumgizmo/audiooutputenginedl.h b/drumgizmo/audiooutputenginedl.h deleted file mode 100644 index 4b31015..0000000 --- a/drumgizmo/audiooutputenginedl.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audiooutputenginedl.h - * - *  Wed Jul 13 14:40:01 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_AUDIOOUTPUTENGINEDL_H__ -#define __DRUMGIZMO_AUDIOOUTPUTENGINEDL_H__ - -#include <string> -#include <stdlib.h> -#include <audiotypes.h> - -#include "channel.h" - -#include "audiooutputengine.h" -#include "jackclient.h" - -typedef void* (*output_create_func_t)(void); -typedef void (*output_destroy_func_t)(void*); -typedef bool (*output_start_func_t)(void*); -typedef void (*output_stop_func_t)(void*); -typedef bool (*output_init_func_t)(void*,int,char**); -typedef void (*output_setparm_func_t)(void*,const char*,const char*); -typedef void (*output_pre_func_t)(void*, size_t); -typedef void (*output_run_func_t)(void*,int,sample_t*,size_t); -typedef void (*output_post_func_t)(void*, size_t); -typedef size_t (*output_bufsize_func_t)(void*); -typedef size_t (*output_samplerate_func_t)(void*); - -class AudioOutputEngineDL : public AudioOutputEngine { -public: -  AudioOutputEngineDL(std::string name); -  ~AudioOutputEngineDL(); - -  bool init(Channels channels); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  void pre(size_t nsamples); -  void run(int ch, sample_t *samples, size_t nsamples); -  void post(size_t nsamples); - -  size_t getBufferSize(); -  size_t samplerate(); - -private: -  void *ptr{nullptr}; -  output_create_func_t o_create{nullptr}; -  output_destroy_func_t o_destroy{nullptr}; -  output_init_func_t o_init{nullptr}; -  output_setparm_func_t o_setparm{nullptr}; -  output_start_func_t o_start{nullptr}; -  output_stop_func_t o_stop{nullptr}; -  output_pre_func_t o_pre{nullptr}; -  output_run_func_t o_run{nullptr}; -  output_post_func_t o_post{nullptr}; -  output_bufsize_func_t o_bufsize{nullptr}; -  output_samplerate_func_t o_samplerate{nullptr}; - -  bool is_jack_plugin; -  JackClient *jackclient{nullptr}; - -	void* lib{nullptr}; -}; - -#endif/*__DRUMGIZMO_AUDIOOUTPUTENGINEDL_H__*/ diff --git a/drumgizmo/input/Makefile.am b/drumgizmo/input/Makefile.am deleted file mode 100644 index ee82f63..0000000 --- a/drumgizmo/input/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -DISTDIRS = midifile jackmidi dummy test -SUBDIRS = @INPUT_PLUGINS@ diff --git a/drumgizmo/input/dummy/Makefile.am b/drumgizmo/input/dummy/Makefile.am deleted file mode 100644 index dfe0a57..0000000 --- a/drumgizmo/input/dummy/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ - -dummysources = \ -	dummy.cc - -if HAVE_INPUT_DUMMY - -dummyltlibs = dummy.la -dummybuildsources = $(dummysources) - -else - -dummyltlibs = -dummybuildsources = - -endif - -EXTRA_DIST = $(dummysources) - -lib_LTLIBRARIES = $(dummyltlibs) - -libdir = $(INPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/include -dummy_la_LDFLAGS = -module -avoid-version -shared -dummy_la_LIBADD = -dummy_la_SOURCES = $(dummybuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/dummy.la diff --git a/drumgizmo/input/dummy/dummy.cc b/drumgizmo/input/dummy/dummy.cc deleted file mode 100644 index 4a570db..0000000 --- a/drumgizmo/input/dummy/dummy.cc +++ /dev/null @@ -1,185 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            dummy.cc - * - *  Sat Apr 30 21:11:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include <stdlib.h> - -#include <string> -#include <event.h> - -class Dummy { -public: -  Dummy() {} -  ~Dummy() {} - -  bool init(int instruments, char *inames[]); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); -   -  void pre(); -  event_t *run(size_t pos, size_t len, size_t *nevents); -  void post(); -}; - -bool Dummy::init(int instruments, char *inames[]) -{ -  return true; -} - -void Dummy::setParm(std::string parm, std::string value) -{ -} - -bool Dummy::start() -{ -  return true; -} - -void Dummy::stop() -{ -} - -void Dummy::pre() -{ -} - -event_t *Dummy::run(size_t pos, size_t len, size_t *nevents) -{ -  *nevents = 0; -  return NULL; -  /* -  if(rand() % 10 != 0) return; - -  Instrument *i = NULL; -  int d = rand() % drumkit->instruments.size(); -  Instruments::iterator it = drumkit->instruments.begin(); -  while(d--) { -    i = &(it->second); -    it++; -  } - -  if(i == NULL) return; - -  Sample *s = i->sample((double)rand()/(double)RAND_MAX); -     -  if(s == NULL) { -    printf("Missing Sample.\n"); -    //    continue; -  } - -  Channels::iterator j = drumkit->channels.begin(); -  while(j != drumkit->channels.end()) { -    Channel &ch = *j; -    AudioFile *af = s->getAudioFile(&ch); -    if(af == NULL) { -      printf("Missing AudioFile.\n"); -    } else { -      printf("Adding event.\n"); -      Event *evt = new EventSample(ch.num, 1.0, af); -      eventqueue->post(evt, pos); -    } -    j++; -  } -  */ -} - -void Dummy::post() -{ -} - -extern "C" { -  void *create() -  { -    return new Dummy(); -  } -   -  void destroy(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    delete dummy; -  } - -  bool init(void *h, int i, char *inames[]) -  { -    Dummy *dummy = (Dummy*)h; -    return dummy->init(i, inames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->setParm(parm, value); -  } - -  bool start(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    return dummy->start(); -  } - -  void stop(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->stop(); -  } - -  void pre(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->pre(); -  } - -  event_t *run(void *h, size_t pos, size_t len, size_t *nev) -  { -    Dummy *dummy = (Dummy*)h; -    return dummy->run(pos, len, nev); -  } - -  void post(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->post(); -  } -} - -#ifdef TEST_AUDIOINPUTENGINEDUMMY -//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_AUDIOINPUTENGINEDUMMY*/ diff --git a/drumgizmo/input/jackmidi/Makefile.am b/drumgizmo/input/jackmidi/Makefile.am deleted file mode 100644 index d392f19..0000000 --- a/drumgizmo/input/jackmidi/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ - -jackmidisources = \ -	jackmidi.cc \ -	$(top_srcdir)/src/midimapper.cc \ -	$(top_srcdir)/src/midimapparser.cc \ -	$(top_srcdir)/src/saxparser.cc \ -	$(top_srcdir)/hugin/hugin.c - -if HAVE_INPUT_JACKMIDI - -jackmidiltlibs = jackmidi.la -jackmidibuildsources = $(jackmidisources) - -else - -jackmidiltlibs = -jackmidibuildsources = - -endif - -EXTRA_DIST = $(jackmidisources) - -lib_LTLIBRARIES = $(jackmidiltlibs) - -libdir = $(INPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_srcdir)/hugin -jackmidi_la_LDFLAGS = -module -avoid-version -shared -jackmidi_la_LIBADD = $(EXPAT_LIBS) -jackmidi_la_CXXFLAGS = $(EXPAT_CFLAGS) -jackmidi_la_SOURCES = $(jackmidibuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/jackmidi.la diff --git a/drumgizmo/input/jackmidi/audioinputenginejackmidi.cc b/drumgizmo/input/jackmidi/audioinputenginejackmidi.cc deleted file mode 100644 index 5e1fb85..0000000 --- a/drumgizmo/input/jackmidi/audioinputenginejackmidi.cc +++ /dev/null @@ -1,153 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginejackmidi.cc - * - *  Sun Feb 27 11:33:31 CET 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "audioinputenginejackmidi.h" - -#define NOTE_ON 0x90 - -AudioInputEngineJackMidi::AudioInputEngineJackMidi() -{ -  jackclient = init_jack_client(); - -  jackclient->addJackProcess(this); - -  pos = 0; -} - -AudioInputEngineJackMidi::~AudioInputEngineJackMidi() -{ -  jackclient->removeJackProcess(this); -  close_jack_client(); -} - -void AudioInputEngineJackMidi::jack_process(jack_nframes_t nframes) -{ -  void *midibuffer = jack_port_get_buffer(midi_port, nframes); - -  jack_nframes_t midievents = jack_midi_get_event_count(midibuffer); - -  for(jack_nframes_t i = 0; i < midievents; i++) { -    jack_midi_event_t event; -    jack_midi_event_get(&event, midibuffer, i); -     -    if(event.size != 3) continue; -    if((event.buffer[0] & NOTE_ON) != NOTE_ON) continue; -     -    int key = event.buffer[1]; -    int velocity = event.buffer[2]; -     -    printf("Event key:%d vel:%d\n", key, velocity); -    /* -    if(kit->midimap.find(key) == kit->midimap.end()) { -      printf("Missing note %d in midimap.\n", key); -      continue; -    } - -    std::string instr = kit->midimap[key]; - -    if(kit->instruments.find(instr) == kit->instruments.end()) { -      printf("Missing instrument %s.\n", instr.c_str()); -      continue; -    } -    */ - -    Instrument *i = NULL; -    int d = key % kit->instruments.size(); -    Instruments::iterator it = kit->instruments.begin(); -    while(d--) { -      i = &(it->second); -      it++; -    } - -    if(i == NULL) { -      continue; -    } - -    //    Sample *s = i.sample((float)velocity/127.0); -    Sample *s = i->sample(0.5); -     -    if(s == NULL) { -      printf("Missing Sample.\n"); -      continue; -    } - -    Channels::iterator j = kit->channels.begin(); -    while(j != kit->channels.end()) { -      Channel &ch = *j; -      AudioFile *af = s->getAudioFile(&ch); -      if(af == NULL) { -        printf("Missing AudioFile.\n"); -      } else { -        printf("Adding event.\n"); -        Event *evt = new EventSample(ch.num, 1.0, af); -        eventqueue->post(evt, pos + event.time + nframes); -      } -      j++; -    } -  } -   -  jack_midi_clear_buffer(midibuffer); -     -  pos += nframes; -} - -bool AudioInputEngineJackMidi::init(EventQueue *e, DrumKit *dk) -{ -  eventqueue = e; -  kit = dk; - -	midi_port = jack_port_register(jackclient->jack_client, -                                 "drumgizmo_midiin", -                                 JACK_DEFAULT_MIDI_TYPE, -                                 JackPortIsInput,// | JackPortIsTerminal, -                                 0); - -  return true; -} - - -bool AudioInputEngineJackMidi::activate() -{ -  jackclient->activate(); -  return true; -} - -#ifdef TEST_AUDIOINPUTENGINEJACKMIDI -//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_AUDIOINPUTENGINEJACKMIDI*/ diff --git a/drumgizmo/input/jackmidi/audioinputenginejackmidi.h b/drumgizmo/input/jackmidi/audioinputenginejackmidi.h deleted file mode 100644 index e4c6e69..0000000 --- a/drumgizmo/input/jackmidi/audioinputenginejackmidi.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginejackmidi.h - * - *  Sun Feb 27 11:33:31 CET 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_AUDIOINPUTENGINEJACKMIDI_H__ -#define __DRUMGIZMO_AUDIOINPUTENGINEJACKMIDI_H__ - -#include <jack/jack.h> -#include <jack/midiport.h> - -#include "audioinputengine.h" -#include "event.h" - -#include "jackclient.h" - -class AudioInputEngineJackMidi : public AudioInputEngine, public JackProcess { -public: -  AudioInputEngineJackMidi(); -  ~AudioInputEngineJackMidi(); - -  bool init(EventQueue *e, DrumKit *drumkit); -  bool activate(); -  void run(size_t pos, size_t len) {} - -  void thread_main(); - -  void jack_process(jack_nframes_t nframes); - -private: -  DrumKit *kit; -  size_t pos; -  EventQueue *eventqueue; - -  JackClient *jackclient; -  jack_port_t *midi_port; -}; - -#endif/*__DRUMGIZMO_AUDIOINPUTENGINEJACKMIDI_H__*/ - diff --git a/drumgizmo/input/jackmidi/jackmidi.cc b/drumgizmo/input/jackmidi/jackmidi.cc deleted file mode 100644 index e632484..0000000 --- a/drumgizmo/input/jackmidi/jackmidi.cc +++ /dev/null @@ -1,252 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            jackmidi.cc - * - *  Sat Apr 30 21:11:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -/* -#include <stdlib.h> - -#include <event.h> -#include <string> - -#include <stdio.h> -#include <midimapper.h> -#include <midimapparser.h> - -#define NOTE_ON 0x90 - -#include "../../jackclient.h" - -#include <jack/midiport.h> - -class JackMidi : public JackProcess { -public: -  JackMidi(); -  virtual ~JackMidi(); - -  bool init(int instruments, char *inames[]); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  void pre(); -  event_t *run(size_t pos, size_t len, size_t *nevents); -  void post(); - -  void jack_process(jack_nframes_t nframes); - -private: -  void loadMap(std::string map) {} - -  JackClient *jackclient{nullptr}; -  jack_port_t *midi_port{nullptr}; - -  size_t pos; - -  event_t *list; -  size_t listsize; - -  std::string midimapfile; -  MidiMapper mmap; -}; - -JackMidi::JackMidi() -{ -  pos = 0; - -  list = (event_t *)malloc(sizeof(event_t) * 1000); -  listsize = 0; -} - -JackMidi::~JackMidi() -{ -} - -bool JackMidi::init(int instruments, char *inames[]) -{ -	midi_port = jack_port_register(jackclient->jack_client, -                                 "drumgizmo_midiin", -                                 JACK_DEFAULT_MIDI_TYPE, -                                 JackPortIsInput,// | JackPortIsTerminal, -                                 0); - -  MidiMapParser p(midimapfile); -  if(p.parse()) return false; -  mmap.midimap = p.midimap; - -  for(int i = 0; i < instruments; i++) { -    mmap.instrmap[inames[i]] = i; -  } - -  return true; -} - -void JackMidi::setParm(std::string parm, std::string value) -{ -  if(parm == "midimap") midimapfile = value; -  if(parm == "jack_client") { -    sscanf(value.c_str(), "%p", &jackclient); -    if(jackclient) jackclient->addJackProcess(this); -  } -} - -bool JackMidi::start() -{ -  // jackclient->activate(); -  return true; -} - -void JackMidi::stop() -{ -} - -void JackMidi::pre() -{ -} - -event_t *JackMidi::run(size_t pos, size_t len, size_t *nevents) -{ -  *nevents = listsize; -  event_t *l = list; -  list = (event_t *)malloc(sizeof(event_t) * 1000); -  listsize = 0; -  return l; -} - -void JackMidi::jack_process(jack_nframes_t nframes) -{ -  // printf("i"); fflush(stdout); - -  void *midibuffer = jack_port_get_buffer(midi_port, nframes); - -  jack_nframes_t midievents = jack_midi_get_event_count(midibuffer); - -  for(jack_nframes_t i = 0; i < midievents; i++) { -    jack_midi_event_t event; -    jack_midi_event_get(&event, midibuffer, i); -     -    if(event.size != 3) continue; -    if((event.buffer[0] & NOTE_ON) != NOTE_ON) continue; -     -    int key = event.buffer[1]; -    int velocity = event.buffer[2]; -     -    printf("Event key:%d vel:%d\n", key, velocity); - -    int k = mmap.lookup(key); -    if(k != -1) { - -      if(velocity) { -        list[listsize].type = TYPE_ONSET; -        list[listsize].instrument = k; -        list[listsize].velocity = velocity / 127.0; -        list[listsize].offset = event.time; -        listsize++; -      } -    } -  } -   -  jack_midi_clear_buffer(midibuffer); -     -  pos += nframes; -} - -void JackMidi::post() -{ -} - -extern "C" { -  void *create() -  { -    return new JackMidi(); -  } -   -  void destroy(void *h) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    delete jackmidi; -  } - -  bool init(void *h, int i, char *inames[]) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    return jackmidi->init(i, inames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    jackmidi->setParm(parm, value); -  } - -  bool start(void *h) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    return jackmidi->start(); -  } - -  void stop(void *h) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    jackmidi->stop(); -  } - -  void pre(void *h) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    jackmidi->pre(); -  } - -  event_t *run(void *h, size_t pos, size_t len, size_t *nev) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    return jackmidi->run(pos, len, nev); -  } - -  void post(void *h) -  { -    JackMidi *jackmidi = (JackMidi*)h; -    jackmidi->post(); -  } -} -*/ - -#ifdef TEST_AUDIOINPUTENGINEJACKMIDI -//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_AUDIOINPUTENGINEJACKMIDI*/ diff --git a/drumgizmo/input/midifile/Makefile.am b/drumgizmo/input/midifile/Makefile.am deleted file mode 100644 index 9ade475..0000000 --- a/drumgizmo/input/midifile/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ - -midifilesources = \ -	midifile.cc \ -	$(top_srcdir)/src/midimapper.cc \ -	$(top_srcdir)/src/midimapparser.cc \ -	$(top_srcdir)/src/saxparser.cc \ -	$(top_srcdir)/hugin/hugin.c - - -if HAVE_INPUT_MIDIFILE - -midifileltlibs = midifile.la -midifilebuildsources = $(midifilesources) - -else - -midifileltlibs = -midifilebuildsources = - -endif - -EXTRA_DIST = $(midifilesources) - -lib_LTLIBRARIES = $(midifileltlibs) - -libdir = $(INPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(SMF_CFLAGS) \ -	$(EXPAT_CFLAGS) -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX -midifile_la_LDFLAGS = -module -avoid-version -shared -midifile_la_LIBADD = $(EXPAT_LIBS) $(SMF_LIBS)  -midifile_la_CXXFLAGS =$(EXPAT_CFLAGS) -midifile_la_SOURCES = $(midifilebuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/midifile.la diff --git a/drumgizmo/input/midifile/audioinputenginemidifile.cc b/drumgizmo/input/midifile/audioinputenginemidifile.cc deleted file mode 100644 index 878ca1b..0000000 --- a/drumgizmo/input/midifile/audioinputenginemidifile.cc +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginemidifile.cc - * - *  Sun Feb 27 11:43:32 CET 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "audioinputenginemidifile.h" - -#ifdef TEST_AUDIOINPUTENGINEMIDIFILE -//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_AUDIOINPUTENGINEMIDIFILE*/ diff --git a/drumgizmo/input/midifile/audioinputenginemidifile.h b/drumgizmo/input/midifile/audioinputenginemidifile.h deleted file mode 100644 index 6bb9ff6..0000000 --- a/drumgizmo/input/midifile/audioinputenginemidifile.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginemidifile.h - * - *  Sun Feb 27 11:43:32 CET 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_AUDIOINPUTENGINEMIDIFILE_H__ -#define __DRUMGIZMO_AUDIOINPUTENGINEMIDIFILE_H__ - -#include "audioinputengine.h" - -class AudioInputEngineMidiFile : public AudioInputEngine { -public: -  AudioInputEngineMidiFile() {} -  ~AudioInputEngineMidiFile() {} - -  bool init(EventQueue *eventqueue, DrumKit *drumkit) { return true; } -  void run(size_t pos, size_t len) {} -}; - -#endif/*__DRUMGIZMO_AUDIOINPUTENGINEMIDIFILE_H__*/ diff --git a/drumgizmo/input/midifile/midifile.cc b/drumgizmo/input/midifile/midifile.cc deleted file mode 100644 index d73d382..0000000 --- a/drumgizmo/input/midifile/midifile.cc +++ /dev/null @@ -1,271 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            dummy.cc - * - *  Sat Apr 30 21:11:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include <stdlib.h> - -#include <string> -#include <event.h> - -#include <smf.h> - -#include <midimapper.h> -#include <midimapparser.h> - -#define NOTE_ON 0x90 - -class MidiFile { -public: -  MidiFile(); -  ~MidiFile() {} - -  bool init(int instruments, char *inames[]); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); -   -  void pre(); -  event_t *run(size_t pos, size_t len, size_t *nevents); -  void post(); - -private: -  smf_t *smf; -  smf_event_t *cur_event; - -  MidiMapper mmap; - -  // Parameters -  std::string filename; -  float speed; -  int track; -  std::string midimapfile; -  bool loop; -  double offset; -}; - -MidiFile::MidiFile() -{ - cur_event = NULL; - smf = NULL; -  - speed = 1.0; - track = -1; // -1 is OMNI/all tracks - loop = false; - offset = 0; -} -  -bool MidiFile::init(int instruments, char *inames[]) -{ -  if(filename == "") { -    fprintf(stderr, "Missing midifile argument 'file'\n"); -    return false; -  } - -  if(midimapfile == "") { -    fprintf(stderr, "Missing midimapfile argument 'midimap'.\n"); -    return false; -  } - -  smf = smf_load(filename.c_str()); - -  if(!smf) { -    fprintf(stderr, "Could not open midifile '%s'.\n", filename.c_str()); -    return false; -  } - -  MidiMapParser p(midimapfile); -  if(p.parse()) { -    fprintf(stderr, "Could not parse midimapfile '%s'.\n", midimapfile.c_str()); -    return false; -  } -  mmap.midimap = p.midimap; - -  for(int i = 0; i < instruments; i++) { -    mmap.instrmap[inames[i]] = i; -  } - -  return true; -} - -void MidiFile::setParm(std::string parm, std::string value) -{ -  if(parm == "file") filename = value; -  if(parm == "speed") speed = atof(value.c_str()); -  if(parm == "track") track = atoi(value.c_str()); -  if(parm == "midimap") midimapfile = value; -  if(parm == "loop") loop = true; -} - -bool MidiFile::start() -{ -  return true; -} - -void MidiFile::stop() -{ -} - -void MidiFile::pre() -{ -} - -event_t *MidiFile::run(size_t pos, size_t len, size_t *nevents) -{ -  event_t *evs = NULL; -  size_t nevs = 0; - -  double cur_max_time = (double)(pos + len) / (44100.0 / speed); -  cur_max_time -= offset; -  //  double cur_min_time = (double)(pos) / (44100.0 / speed); - -  if(!cur_event) cur_event = smf_get_next_event(smf); - -  while(cur_event && cur_event->time_seconds < cur_max_time) { -    if(!smf_event_is_metadata(cur_event)) { -      if( (cur_event->midi_buffer_length == 3) && -          ((cur_event->midi_buffer[0] & NOTE_ON) == NOTE_ON) && -          (track == -1 || cur_event->track_number == track) && -          cur_event->midi_buffer[2] > 0) { -         -        if(evs == NULL) evs = (event_t *)malloc(sizeof(event_t) * 1000); - -        int key = cur_event->midi_buffer[1]; -        int velocity = cur_event->midi_buffer[2]; - -        evs[nevs].type = TYPE_ONSET; -        size_t evpos = cur_event->time_seconds * (44100.0 / speed); -        evs[nevs].offset = evpos - pos; - -        int i = mmap.lookup(key); -        if(i != -1) { -          evs[nevs].instrument = i; -          evs[nevs].velocity = velocity / 127.0; -         -          nevs++; -          if(nevs > 999) { -            fprintf(stderr, "PANIC!\n"); -            break; -          } -        } -      } -    } -     -    cur_event = smf_get_next_event(smf); -  } - -  if(!cur_event) { -    if(loop) { -       smf_rewind(smf); -       offset += cur_max_time; -    } else { -      if(evs == NULL) evs = (event_t *)malloc(sizeof(event_t) * 1000); -      evs[nevs].type = TYPE_STOP; -      evs[nevs].offset = len - 1; -      nevs++; -    } -  } - -  *nevents = nevs; - -  return evs; -} - -void MidiFile::post() -{ -} - -extern "C" { -  void *create() -  { -    return new MidiFile(); -  } -   -  void destroy(void *h) -  { -    MidiFile *midifile = (MidiFile*)h; -    delete midifile; -  } - -  bool init(void *h, int i, char *inames[]) -  { -    MidiFile *midifile = (MidiFile*)h; -    return midifile->init(i, inames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    MidiFile *midifile = (MidiFile*)h; -    midifile->setParm(parm, value); -  } - -  bool start(void *h) -  { -    MidiFile *midifile = (MidiFile*)h; -    return midifile->start(); -  } - -  void stop(void *h) -  { -    MidiFile *midifile = (MidiFile*)h; -    midifile->stop(); -  } - -  void pre(void *h) -  { -    MidiFile *midifile = (MidiFile*)h; -    midifile->pre(); -  } - -  event_t *run(void *h, size_t pos, size_t len, size_t *nev) -  { -    MidiFile *midifile = (MidiFile*)h; -    return midifile->run(pos, len, nev); -  } - -  void post(void *h) -  { -    MidiFile *midifile = (MidiFile*)h; -    midifile->post(); -  } -} - -#ifdef TEST_AUDIOINPUTENGINEMIDIFILE -//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_AUDIOINPUTENGINEMIDIFILE*/ diff --git a/drumgizmo/input/test/Makefile.am b/drumgizmo/input/test/Makefile.am deleted file mode 100644 index 35466ab..0000000 --- a/drumgizmo/input/test/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ - -testsources = \ -	test.cc - -if HAVE_INPUT_TEST - -testltlibs = test.la -testbuildsources = $(testsources) - -else - -testltlibs = -testbuildsources = - -endif - -EXTRA_DIST = $(testsources) - -lib_LTLIBRARIES = $(testltlibs) - -libdir = $(INPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/include -test_la_LDFLAGS = -module -avoid-version -shared -test_la_LIBADD =  -test_la_SOURCES = $(testbuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/test.la diff --git a/drumgizmo/input/test/test.cc b/drumgizmo/input/test/test.cc deleted file mode 100644 index b7b4a7d..0000000 --- a/drumgizmo/input/test/test.cc +++ /dev/null @@ -1,173 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audioinputenginedummy.cc - * - *  Sat Apr 30 21:11:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include <stdlib.h> - -#include <event.h> -#include <string> - -class Test { -public: -  Test() { p = 0.1; instr = -1; len = -1; } -  ~Test() {} - -  bool init(int instruments, char *inames[]); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); -   -  void pre(); -  event_t *run(size_t pos, size_t len, size_t *nevents); -  void post(); - -private: -  float p; -  int instr; -  int len; -}; - -bool Test::init(int instruments, char *inames[]) -{ -  return true; -} - -void Test::setParm(std::string parm, std::string value) -{ -  if(parm == "p") p = atof(value.c_str()); -  if(parm == "instr") instr = atoi(value.c_str()); -  if(parm == "len") len = atoi(value.c_str()); -} - -bool Test::start() -{ -  return true; -} - -void Test::stop() -{ -} - -void Test::pre() -{ -} - -event_t *Test::run(size_t pos, size_t nsamples, size_t *nevents) -{ -  if((float)rand() / (float)RAND_MAX > p) { -    *nevents = 0; -    return NULL; -  } - -  *nevents = 1; -  event_t *evs = (event_t *)malloc(sizeof(event_t)); -  evs[0].type = TYPE_ONSET; -  if(len != -1 && (int)pos > len * 44100) evs[0].type = TYPE_STOP; - -  if(instr != -1) evs[0].instrument = instr; -  else evs[0].instrument = rand() % 32; - -  evs[0].velocity = (float)rand()/(float)RAND_MAX; -  evs[0].offset = nsamples?rand()%nsamples:0; -  return evs; -} - -void Test::post() -{ -} - -extern "C" { -  void *create() -  { -    return new Test(); -  } -   -  void destroy(void *h) -  { -    Test *test = (Test*)h; -    delete test; -  } - -  bool init(void *h, int i, char *inames[]) -  { -    Test *test = (Test*)h; -    return test->init(i, inames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    Test *test = (Test*)h; -    test->setParm(parm, value); -  } - -  bool start(void *h) -  { -    Test *test = (Test*)h; -    return test->start(); -  } - -  void stop(void *h) -  { -    Test *test = (Test*)h; -    test->stop(); -  } - -  void pre(void *h) -  { -    Test *test = (Test*)h; -    test->pre(); -  } - -  event_t *run(void *h, size_t pos, size_t len, size_t *nev) -  { -    Test *test = (Test*)h; -    return test->run(pos, len, nev); -  } - -  void post(void *h) -  { -    Test *test = (Test*)h; -    test->post(); -  } -} - -#ifdef TEST_AUDIOINPUTENGINETEST -//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_AUDIOINPUTENGINETEST*/ diff --git a/drumgizmo/output/alsa/Makefile.am b/drumgizmo/output/alsa/Makefile.am deleted file mode 100644 index 9f20844..0000000 --- a/drumgizmo/output/alsa/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ - -alsasources = \ -	alsa.cc - -if HAVE_OUTPUT_ALSA - -alsaltlibs = alsa.la -alsabuildsources = $(alsasources) - -else - -alsaltlibs = -alsabuildsources = - -endif - -EXTRA_DIST = $(alsasources) - -lib_LTLIBRARIES = $(alsaltlibs) - -libdir = $(OUTPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(ALSA_CFLAGS) -alsa_la_LDFLAGS = $(ALSA_LIBS) -module -avoid-version -shared -alsa_la_LIBADD = -alsa_la_SOURCES = $(alsabuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/alsa.la diff --git a/drumgizmo/output/alsa/alsa.cc b/drumgizmo/output/alsa/alsa.cc deleted file mode 100644 index 71e0c3d..0000000 --- a/drumgizmo/output/alsa/alsa.cc +++ /dev/null @@ -1,225 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audiooutputenginedummy.cc - * - *  Sat Apr 30 21:12:02 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include <stdlib.h> - -#include <audiotypes.h> -#include <string> - -// Use the newer ALSA API -#define ALSA_PCM_NEW_HW_PARAMS_API - -#include <asoundlib.h> - -#define T(x, msg) if(x < 0) { printf("%s failed: %s\n", msg, snd_strerror(x)); fflush(stdout); return false; } - -#define BUFSZ 40960 - -class Alsa { -public: -  Alsa(); -  ~Alsa(); -  bool init(int channels, char *cnames[]); -  void setParm(std::string parm, std::string value); -  bool start(); -  void stop(); -  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{nullptr}; -	snd_pcm_hw_params_t *params{nullptr}; -	sample_t *data{nullptr}; -	size_t channels{0}; - -  // Parameters -  std::string device; -	unsigned int srate{0}; -	snd_pcm_uframes_t frames{0}; -}; - -Alsa::Alsa() -{ -  handle = NULL; -  data = NULL; - -  device = "default"; -  srate = 44100; -  frames = 32; -} - -Alsa::~Alsa() -{ -  if(handle) snd_pcm_close(handle); -  if(data) free(data); -} - -bool Alsa::init(int channels, char *cnames[]) -{ -  int rc; - -  rc = snd_pcm_open(&handle, device.c_str(), SND_PCM_STREAM_PLAYBACK, 0); -  T(rc, "snd_pcm_open"); - -  this->channels = channels; -  if(!handle) { -    printf("No handle!\n"); -    return false; -  } - -  // Allocate a hardware parameters object. -  snd_pcm_hw_params_alloca(¶ms); -  //  if(rc < 0) return false; - -  // Fill it in with default values. -  rc = snd_pcm_hw_params_any(handle, params); -  T(rc, "snd_pcm_hw_params_any"); - -  rc = snd_pcm_hw_params_set_access(handle, params, -                                    SND_PCM_ACCESS_RW_INTERLEAVED); -  T(rc, "snd_pcm_hw_params_set_access"); - -  rc = snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_FLOAT); -  T(rc, "snd_pcm_hw_params_set_format"); - -  rc = snd_pcm_hw_params_set_channels(handle, params, channels); -  T(rc, "snd_pcm_hw_params_set_channels"); - -  rc = snd_pcm_hw_params_set_rate_near(handle, params, &srate, 0); -  T(rc, "snd_pcm_hw_params_set_rate_near"); - -  rc = snd_pcm_hw_params_set_period_size_near(handle, params, &frames, 0); -  T(rc, "snd_pcm_hw_params_set_period_size_near"); -   -  rc = snd_pcm_hw_params(handle, params); -  T(rc, "snd_pcm_hw_params"); - -  data = (sample_t*)malloc(sizeof(sample_t) * BUFSZ * channels); - -  return true; -} - -void Alsa::setParm(std::string parm, std::string value) -{ -  if(parm == "dev") device = value; -  if(parm == "frames") frames = atoi(value.c_str()); -  if(parm == "srate") srate = atoi(value.c_str()); -} - -bool Alsa::start() -{ -  return true; -} - -void Alsa::stop() -{ -} - -void Alsa::pre(size_t size) -{ -} - -void Alsa::run(int channel, sample_t* cdata, size_t csize) -{ -  // Write channel data in interleaved buffer. -  for(size_t i = 0; i < csize; i++) { -    data[i * channels + channel] = cdata[i]; -  } -} - -void Alsa::post(size_t size) -{ -  // Write the interleaved buffer to the soundcard -  snd_pcm_writei(handle, data, size); -} - -size_t Alsa::samplerate() -{ -  return srate; -} - -extern "C" { -  void *create() -  { -    return new Alsa(); -  } -   -  void destroy(void *h) -  { -    Alsa *alsa = (Alsa*)h; -    delete alsa; -  } - -  bool init(void *h, int cs, char *cnames[]) -  { -    Alsa *alsa = (Alsa*)h; -    return alsa->init(cs, cnames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    Alsa *alsa = (Alsa*)h; -    alsa->setParm(parm, value); -  } - -  bool start(void *h) -  { -    Alsa *alsa = (Alsa*)h; -    return alsa->start(); -  } - -  void stop(void *h) -  { -    Alsa *alsa = (Alsa*)h; -    alsa->stop(); -  } - -  void pre(void *h, size_t s) -  { -    Alsa *alsa = (Alsa*)h; -    alsa->pre(s); -  } - -  void run(void *h, int ch, sample_t *data, size_t size) -  { -    Alsa *alsa = (Alsa*)h; -    alsa->run(ch, data, size); -  } - -  void post(void *h, size_t s) -  { -    Alsa *alsa = (Alsa*)h; -    alsa->post(s); -  } - -  size_t samplerate(void *h) -  { -    Alsa *alsa = (Alsa*)h; -    return alsa->samplerate(); -  } -} diff --git a/drumgizmo/output/dummy/Makefile.am b/drumgizmo/output/dummy/Makefile.am deleted file mode 100644 index bff3daf..0000000 --- a/drumgizmo/output/dummy/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ - -dummysources = \ -	dummy.cc - -if HAVE_OUTPUT_DUMMY - -dummyltlibs = dummy.la -dummybuildsources = $(dummysources) - -else - -dummyltlibs = -dummybuildsources = - -endif - -EXTRA_DIST = $(dummysources) - -lib_LTLIBRARIES = $(dummyltlibs) - -libdir = $(OUTPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include -dummy_la_LDFLAGS = -module -avoid-version -shared -dummy_la_LIBADD = -dummy_la_SOURCES = $(dummybuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/dummy.la diff --git a/drumgizmo/output/dummy/dummy.cc b/drumgizmo/output/dummy/dummy.cc deleted file mode 100644 index e60f2b7..0000000 --- a/drumgizmo/output/dummy/dummy.cc +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            audiooutputenginedummy.cc - * - *  Sat Apr 30 21:12:02 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include <stdlib.h> - -#include <audiotypes.h> -#include <string> - -class Dummy { -public: -  Dummy(); -  ~Dummy(); -  bool init(int channels, char *cnames[]); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  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() -{ -} - -Dummy::~Dummy() -{ -} - -bool Dummy::init(int channels, char *cnames[]) -{ -  return true; -} - -void Dummy::setParm(std::string parm, std::string value) -{ -} - -bool Dummy::start() -{ -  return true; -} - -void Dummy::stop() -{ -} - -void Dummy::pre(size_t size) -{ -} - -void Dummy::run(int channel, sample_t* data, size_t size) -{ -} - -void Dummy::post(size_t size) -{ -} - -size_t Dummy::samplerate() -{ -  return 44100; -} - -extern "C" { -  void *create() -  { -    return new Dummy(); -  } -   -  void destroy(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    delete dummy; -  } - -  bool init(void *h, int cs, char *cnames[]) -  { -    Dummy *dummy = (Dummy*)h; -    return dummy->init(cs, cnames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->setParm(parm, value); -  } - -  bool start(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    return dummy->start(); -  } - -  void stop(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->stop(); -  } - -  void pre(void *h, size_t size) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->pre(size); -  } - -  void run(void *h, int ch, sample_t *data, size_t size) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->run(ch, data, size); -  } - -  void post(void *h, size_t size) -  { -    Dummy *dummy = (Dummy*)h; -    dummy->post(size); -  } - -  size_t samplerate(void *h) -  { -    Dummy *dummy = (Dummy*)h; -    return dummy->samplerate(); -  } -} diff --git a/drumgizmo/output/jackaudio/Makefile.am b/drumgizmo/output/jackaudio/Makefile.am deleted file mode 100644 index 46cdb23..0000000 --- a/drumgizmo/output/jackaudio/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ - -jackaudiosources = \ -	jackaudio.cc \ -	$(top_srcdir)/src/semaphore.cc \ -	$(top_srcdir)/hugin/hugin.c - -if HAVE_OUTPUT_JACKAUDIO - -jackaudioltlibs = jackaudio.la -jackaudiobuildsources = $(jackaudiosources) - -else - -jackaudioltlibs = -jackaudiobuildsources = - -endif - -EXTRA_DIST = $(jackaudiosources) - -lib_LTLIBRARIES = $(jackaudioltlibs) - -libdir = $(OUTPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/include $(JACK_CFLAGS) -I$(top_srcdir)/hugin -I$(top_srcdir)/src -jackaudio_la_LDFLAGS = $(JACK_LIBS) -module -avoid-version -shared -jackaudio_la_LIBADD = -jackaudio_la_SOURCES = $(jackaudiobuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/jackaudio.la diff --git a/drumgizmo/output/jackaudio/jackaudio.cc b/drumgizmo/output/jackaudio/jackaudio.cc deleted file mode 100644 index 3e489a9..0000000 --- a/drumgizmo/output/jackaudio/jackaudio.cc +++ /dev/null @@ -1,222 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            jackaudio.cc - * - *  Sat Apr 30 21:11:54 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -/* -#include <stdlib.h> - -#include <string> -#include <audiotypes.h> -#include <semaphore.h> -#include <stdlib.h> - -#define NOTE_ON 0x90 - -#include "../../jackclient.h" -#include <stdio.h> - -class JackAudio : public JackProcess { -public: -  JackAudio(); -  ~JackAudio(); -  bool init(int channels, char *cnames[]); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  void pre(size_t size); -  void run(int channel, sample_t* data, size_t size); -  void post(size_t size); - -  void jack_process(jack_nframes_t nframes); - -  size_t bufsize(); -  size_t samplerate(); - -private: -	JackClient *jackclient{nullptr}; -	jack_port_t *output_port[64] = {}; -	size_t nchannels{0}; -	sample_t **channels{nullptr}; -  Semaphore sem; -}; - -JackAudio::JackAudio() : sem("jackaudio") -{ -} - -JackAudio::~JackAudio() -{ -} - -bool JackAudio::init(int nchannels, char *cnames[]) -{ -  this->nchannels = nchannels; -  channels = (sample_t**)malloc(nchannels * sizeof(sample_t*)); - -  for(int i = 0; i < nchannels; i++) { -    char buf[32]; -    sprintf(buf, "%d", i + 1); -    std::string name; -    name += buf; -    name += "-"; -    name += cnames[i]; -    output_port[i] = jack_port_register(jackclient->jack_client, -                                        name.c_str(), -                                        JACK_DEFAULT_AUDIO_TYPE, -                                        JackPortIsOutput, 0); -    channels[i] = (sample_t*)malloc(bufsize() * sizeof(sample_t)); -  } -  return true; -} - -void JackAudio::setParm(std::string parm, std::string value) -{ -  if(parm == "jack_client") { -    sscanf(value.c_str(), "%p", &jackclient); -    if(jackclient) jackclient->addJackProcess(this); -  } -} - -bool JackAudio::start() -{ -  //jackclient->activate(); -  return true; -} - -void JackAudio::stop() -{ -} - -void JackAudio::pre(size_t size) -{ -} - -void JackAudio::run(int channel, sample_t* data, size_t size) -{ -  // Copy engine data to ringbuffer. -  for(size_t i = 0; i < size; i++) { -    channels[channel][i] = data[i]; -  } -} - -void JackAudio::post(size_t size) -{ -  sem.wait(); -} - -void JackAudio::jack_process(jack_nframes_t nframes) -{ -  //printf("o"); fflush(stdout); -  for(size_t c = 0; c < nchannels; c++) { -    jack_default_audio_sample_t *out = -      (jack_default_audio_sample_t *) jack_port_get_buffer(output_port[c], -                                                           nframes); -    for(size_t i = 0; i < nframes; i++) { -      out[i] = channels[c][i]; -    } -  } -  sem.post(); -} - -size_t JackAudio::bufsize() -{ -  return jack_get_buffer_size(jackclient->jack_client); -} - -size_t JackAudio::samplerate() -{ -  return jack_get_sample_rate(jackclient->jack_client); -} - -extern "C" { -  void *create() -  { -    return new JackAudio(); -  } -   -  void destroy(void *h) -  { -    JackAudio *jack = (JackAudio*)h; -    delete jack; -  } - -  bool init(void *h, int cs, char *cnames[]) -  { -    JackAudio *jack = (JackAudio*)h; -    return jack->init(cs, cnames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    JackAudio *jack = (JackAudio*)h; -    jack->setParm(parm, value); -  } - -  bool start(void *h) -  { -    JackAudio *jack = (JackAudio*)h; -    return jack->start(); -  } - -  void stop(void *h) -  { -    JackAudio *jack = (JackAudio*)h; -    jack->stop(); -  } - -  void pre(void *h, size_t s) -  { -    JackAudio *jack = (JackAudio*)h; -    jack->pre(s); -  } - -  void run(void *h, int ch, sample_t *data, size_t size) -  { -    JackAudio *jack = (JackAudio*)h; -    jack->run(ch, data, size); -  } - -  void post(void *h, size_t s) -  { -    JackAudio *jack = (JackAudio*)h; -    jack->post(s); -  } - -  size_t bufsize(void *h) -  { -    JackAudio *jack = (JackAudio*)h; -    return jack->bufsize(); -  } - -  size_t samplerate(void *h) -  { -    JackAudio *jack = (JackAudio*)h; -    return jack->samplerate(); -  } -} -*/ diff --git a/drumgizmo/output/wavfile/Makefile.am b/drumgizmo/output/wavfile/Makefile.am deleted file mode 100644 index ad26294..0000000 --- a/drumgizmo/output/wavfile/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ - -wavfilesources = \ -	wavfile.cc - -if HAVE_OUTPUT_WAVFILE - -wavfileltlibs = wavfile.la -wavfilebuildsources = $(wavfilesources) - -else - -wavfileltlibs = -wavfilebuildsources = - -endif - -EXTRA_DIST = $(wavfilesources) - -lib_LTLIBRARIES = $(wavfileltlibs) - -libdir = $(OUTPUT_PLUGIN_DIR) - -AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(SNDFILE_CFLAGS) -wavfile_la_LDFLAGS = $(SNDFILE_LIBS) -module -avoid-version -shared -wavfile_la_LIBADD = -wavfile_la_SOURCES = $(wavfilebuildsources) - -install-exec-hook: -	rm -f $(DESTDIR)$(libdir)/wavfile.la diff --git a/drumgizmo/output/wavfile/wavfile.cc b/drumgizmo/output/wavfile/wavfile.cc deleted file mode 100644 index 8401f80..0000000 --- a/drumgizmo/output/wavfile/wavfile.cc +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            wavfile.cc - * - *  Sat Apr 30 21:12:02 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 2 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include <stdlib.h> - -#include <audiotypes.h> -#include <string> -#include <memory.h> - -#include <sndfile.h> - -#define T(x, msg) if(x < 0) { printf("%s failed: %s\n", msg, snd_strerror(x)); fflush(stdout); return false; } - -class WavFile { -public: -  WavFile(); -  ~WavFile(); -  bool init(int channels, char *cnames[]); -  void setParm(std::string parm, std::string value); -  bool start(); -  void stop(); -  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; -	SNDFILE **fh{nullptr}; -	size_t channels{0}; - -  // Parameters -  std::string filename; -}; - -WavFile::WavFile() -{ -  fh = NULL; -  filename = "output"; - -  memset(&sf_info, 0, sizeof(sf_info)); -  sf_info.channels = 1;//channels; -  sf_info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT; -  sf_info.samplerate = 44100; -} - -WavFile::~WavFile() -{ -  if(fh == NULL) return; - -  for(size_t i = 0; i < channels; i++) { -    if(fh[i]) sf_close(fh[i]); -  } - -  if(fh) free(fh); -} - -bool WavFile::init(int channels, char *cnames[]) -{ -  this->channels = channels; - -  fh = (SNDFILE **)malloc(sizeof(SNDFILE *)*channels); - -  for(size_t i = 0; i < this->channels; i++) fh[i] = NULL; - -  for(size_t i = 0; i < this->channels; i++) { -    char fname[512]; - -    sprintf(fname, "%s%s-%d.wav", filename.c_str(), cnames[i], (int)i); -    //    printf("[%s]\n", fname); - -    fh[i] = sf_open(fname, SFM_WRITE, &sf_info); -    if(!fh[i]) { -      printf("Write error...\n"); -      return false; -    } -  } - -  return true; -} - -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() -{ -  return true; -} - -void WavFile::stop() -{ -} - -void WavFile::pre(size_t size) -{ -} - -void WavFile::run(int channel, sample_t* cdata, size_t csize) -{ -  if(channel < (int)channels) sf_writef_float(fh[channel], cdata, csize);  -} - -void WavFile::post(size_t size) -{ -} - -size_t WavFile::samplerate() -{ -  return sf_info.samplerate; -} - -extern "C" { -  void *create() -  { -    return new WavFile(); -  } -   -  void destroy(void *h) -  { -    WavFile *sndfile = (WavFile*)h; -    delete sndfile; -  } - -  bool init(void *h, int cs, char *cnames[]) -  { -    WavFile *sndfile = (WavFile*)h; -    return sndfile->init(cs, cnames); -  } - -  void setparm(void *h, const char *parm, const char *value) -  { -    WavFile *sndfile = (WavFile*)h; -    sndfile->setParm(parm, value); -  } - -  bool start(void *h) -  { -    WavFile *sndfile = (WavFile*)h; -    return sndfile->start(); -  } - -  void stop(void *h) -  { -    WavFile *sndfile = (WavFile*)h; -    sndfile->stop(); -  } - -  void pre(void *h, size_t s) -  { -    WavFile *sndfile = (WavFile*)h; -    sndfile->pre(s); -  } - -  void run(void *h, int ch, sample_t *data, size_t size) -  { -    WavFile *sndfile = (WavFile*)h; -    sndfile->run(ch, data, size); -  } - -  void post(void *h, size_t s) -  { -    WavFile *sndfile = (WavFile*)h; -    sndfile->post(s); -  } - -  size_t samplerate(void *h) -  { -    WavFile *wavfile = (WavFile*)h; -    return wavfile->samplerate(); -  } -} | 
