diff options
| author | Robert Jonsson <spamatica@gmail.com> | 2011-09-15 12:14:55 +0000 | 
|---|---|---|
| committer | Robert Jonsson <spamatica@gmail.com> | 2011-09-15 12:14:55 +0000 | 
| commit | b0546e5e7f7044019892543c6c82029db8d564a7 (patch) | |
| tree | 1b96a6260900f3fbf3513fb48a5a72aa89052dc8 /attic/muse_qt4_evolution/plugins/pandelay | |
| parent | 583c73d1a07154d3d2672d65d8cce6495f490454 (diff) | |
moved attic to a branch of it's own
Diffstat (limited to 'attic/muse_qt4_evolution/plugins/pandelay')
6 files changed, 0 insertions, 605 deletions
| diff --git a/attic/muse_qt4_evolution/plugins/pandelay/CMakeLists.txt b/attic/muse_qt4_evolution/plugins/pandelay/CMakeLists.txt deleted file mode 100644 index 5ebb08a0..00000000 --- a/attic/muse_qt4_evolution/plugins/pandelay/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -#============================================================================= -#  MusE -#  Linux Music Editor -#  $Id:$ -# -#  Copyright (C) 2002-2006 by Werner Schweer and others -# -#  This program is free software; you can redistribute it and/or modify -#  it under the terms of the GNU General Public License version 2. -# -#  This program 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 this program; if not, write to the Free Software -#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -#============================================================================= - -add_library ( pandelay SHARED -      pandelay.cpp ladspapandelay.cpp pandelaymodel.cpp -      ) - -# tell cmake to name the target pandelay.so instead of -# libpandelay.so -# -set_target_properties (pandelay -      PROPERTIES PREFIX "" -      #COMPILE_FLAGS "-O3" -      ) - -install_targets ( /lib/${MusE_INSTALL_NAME}/plugins pandelay) diff --git a/attic/muse_qt4_evolution/plugins/pandelay/ladspapandelay.cpp b/attic/muse_qt4_evolution/plugins/pandelay/ladspapandelay.cpp deleted file mode 100644 index b5680d3e..00000000 --- a/attic/muse_qt4_evolution/plugins/pandelay/ladspapandelay.cpp +++ /dev/null @@ -1,100 +0,0 @@ -//=========================================================================== -// -//    ladspapandelay -// -//    Version 0.0.1 -// -// -// -// -//  Copyright (c) 2006 Nil Geisweiller -// -// -// -// This program 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. -// -// This program 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 this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -// 02111-1307, USA or point your web browser to http://www.gnu.org. -//=========================================================================== - -#include "ladspapandelay.h" - -//--------------------------------------------------------- -//     PanDelay -//--------------------------------------------------------- - -LADSPAPanDelay::LADSPAPanDelay(unsigned long samplerate)  -  : PanDelayModel(samplerate) { -  //TODO init param  -} - -LADSPAPanDelay::~LADSPAPanDelay() { -} - -//--------------------------------------------------------- -//   activate -//--------------------------------------------------------- - -void LADSPAPanDelay::activate() { -  *port[4] = param[0]; -  *port[5] = param[1]; -  *port[6] = param[2]; -  *port[7] = param[3]; -  *port[8] = param[4]; -  *port[9] = param[5]; -} - -void LADSPAPanDelay::updateParameters() { -  if (param[0] != *port[4]) { -    param[0] = *port[4]; -    setBPM(param[0]); -  } -  if (param[1] != *port[5]) { -    param[1] = *port[5]; -    setBeatRatio(param[1]); -  } -  if (param[2] != *port[6]) { -    param[2] = *port[6]; -    setFeedback(param[2]); -  } -  if (param[3] != *port[7]) { -    param[3] = *port[7]; -    setPanLFOFreq(param[3]); -  } -  if (param[4] != *port[8]) { -    param[4] = *port[8]; -    setPanLFODepth(param[4]); -  } -  if (param[5] != *port[9]) { -    param[5] = *port[9]; -    setDryWet(param[5]); -  } -} - -//--------------------------------------------------------- -//   processReplace -//--------------------------------------------------------- - -void LADSPAPanDelay::processReplace(long n) { -  updateParameters(); -  PanDelayModel::processReplace(port[0], port[1], port[2], port[3], n); -} - -//--------------------------------------------------------- -//   processMix -//--------------------------------------------------------- - -void LADSPAPanDelay::processMix(long n) { -  updateParameters(); -  PanDelayModel::processMix(port[0], port[1], port[2], port[3], n); -} diff --git a/attic/muse_qt4_evolution/plugins/pandelay/ladspapandelay.h b/attic/muse_qt4_evolution/plugins/pandelay/ladspapandelay.h deleted file mode 100644 index ab5427a1..00000000 --- a/attic/muse_qt4_evolution/plugins/pandelay/ladspapandelay.h +++ /dev/null @@ -1,55 +0,0 @@ -//=========================================================================== -// -//    ladspapandelay -// -//    Version 0.0.1 -// -// -// -// -//  Copyright (c) 2006 Nil Geisweiller -// -// -// -// This program 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. -// -// This program 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 this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -// 02111-1307, USA or point your web browser to http://www.gnu.org. -//=========================================================================== - -#ifndef __LADSPAPANDELAY_H -#define __LADSPAPANDELAY_H - -#include "pandelaymodel.h" -#include "../../muse/ladspa.h" - -#define NBRPARAM 6 - -class LADSPAPanDelay : public PanDelayModel { - private: - - public: -  LADSPAPanDelay(unsigned long samplerate); -  ~LADSPAPanDelay(); - -  LADSPA_Data* port[NBRPARAM + 4]; -  float param[NBRPARAM]; - -  void updateParameters(); -  void processMix(long numsamples); -  void processReplace(long numsamples); - -  void activate(); -}; - -#endif diff --git a/attic/muse_qt4_evolution/plugins/pandelay/pandelay.cpp b/attic/muse_qt4_evolution/plugins/pandelay/pandelay.cpp deleted file mode 100644 index 18ce1a41..00000000 --- a/attic/muse_qt4_evolution/plugins/pandelay/pandelay.cpp +++ /dev/null @@ -1,170 +0,0 @@ -//========================================================= -//  PanDelay for MusE -//   -//  (C) Copyright 2006 Nil Geisweiller -//========================================================= - -#include "ladspapandelay.h" -#include <stdio.h> - -//--------------------------------------------------------- -//   instantiate pandelay -//    Construct a new plugin instance. -//--------------------------------------------------------- - -LADSPA_Handle instantiate(const LADSPA_Descriptor* /*Descriptor*/, -			  unsigned long samplerate) -{ -  return new LADSPAPanDelay(samplerate); -} - -//--------------------------------------------------------- -//   connect PortTo pandelay -//    Connect a port to a data location. -//--------------------------------------------------------- - -void connect(LADSPA_Handle Instance, unsigned long port, -	     LADSPA_Data* data) -{ -  ((LADSPAPanDelay*)Instance)->port[port] = data; -} - -//--------------------------------------------------------- -//   activate -//--------------------------------------------------------- - -void activate(LADSPA_Handle instance) -{ -  ((LADSPAPanDelay*)instance)->activate(); -} - -//--------------------------------------------------------- -//   deactivate -//--------------------------------------------------------- - -void deactivate(LADSPA_Handle /*Instance*/) -{ -} - -//--------------------------------------------------------- -//   run pandelay -//--------------------------------------------------------- - -void run(LADSPA_Handle Instance, unsigned long n) -{ -  ((LADSPAPanDelay*)Instance)->processReplace(n); -} - -//--------------------------------------------------------- -//   runAdding pandelay -//    *ADD* the output to the output buffer. -//--------------------------------------------------------- - -void runAdding(LADSPA_Handle Instance, unsigned long n) -{ -  ((LADSPAPanDelay*)Instance)->processMix(n); -} - -//--------------------------------------------------------- -//   set pandelay RunAddingGain -//--------------------------------------------------------- - -void setGain(LADSPA_Handle /*Instance*/, LADSPA_Data /*Gain*/) -{ -  printf("TEST setGain\n"); -  //      ((LADSPAPanDelay*)Instance)->m_fRunAddingGain = Gain; -} - -//--------------------------------------------------------- -//   cleanup pandelay -//--------------------------------------------------------- - -void cleanup(LADSPA_Handle Instance) -{ -  delete (LADSPAPanDelay*)Instance; -} - -static const char* portNames[] = { -  "Input (Left)", -  "Input (Right)", -  "Output (Left)", -  "Output (Right)", -  "BMP", -  "Beat Ratio", -  "Feedback", -  "Pan LFO Freq", -  "Pan LFO Depth", -  "Dry/Wet" -}; - -LADSPA_PortDescriptor portDescriptors[] = { -  LADSPA_PORT_INPUT  | LADSPA_PORT_AUDIO, -  LADSPA_PORT_INPUT  | LADSPA_PORT_AUDIO, -  LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO, -  LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO, -  LADSPA_PORT_INPUT  | LADSPA_PORT_CONTROL, -  LADSPA_PORT_INPUT  | LADSPA_PORT_CONTROL, -  LADSPA_PORT_INPUT  | LADSPA_PORT_CONTROL, -  LADSPA_PORT_INPUT  | LADSPA_PORT_CONTROL, -  LADSPA_PORT_INPUT  | LADSPA_PORT_CONTROL, -  LADSPA_PORT_INPUT  | LADSPA_PORT_CONTROL -}; - -LADSPA_PortRangeHint portRangeHints[] = { -  { 0, 0.0, 0.0 }, -  { 0, 0.0, 0.0 }, -  { 0, 0.0, 0.0 }, -  { 0, 0.0, 0.0 }, -  { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_100, MINBPM, MAXBPM }, -  { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_1, MINBEATRATIO, MAXBEATRATIO }, -  { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_HIGH, -1.0, 1.0 }, -  { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_LOGARITHMIC | LADSPA_HINT_DEFAULT_HIGH, MINFREQ, MAXFREQ }, -  { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_HIGH,  0.0, 1.0 }, -  { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_MIDDLE, 0.0, 1.0 } -}; - -LADSPA_Descriptor descriptor = { -  1052, -  "pandelay", -  LADSPA_PROPERTY_HARD_RT_CAPABLE, -  "PanDelay", -  "Nil Geisweiller", -  "GPL", -  NBRPARAM + 4, -  portDescriptors, -  portNames, -  portRangeHints, -  0,                // impl. data -  instantiate, -  connect, -  activate, -  run, -  runAdding, -  setGain, -  deactivate, -  cleanup -}; - -//--------------------------------------------------------- -//   _init -//    called automatically when the plugin library is first -//    loaded. -//--------------------------------------------------------- -void _init() { -} - -//--------------------------------------------------------- -//   _fini -//    called automatically when the library is unloaded. -//--------------------------------------------------------- -void _fini() { -} - -//--------------------------------------------------------- -//   ladspa_descriptor -//    Return a descriptor of the requested plugin type. -//--------------------------------------------------------- -const LADSPA_Descriptor* ladspa_descriptor(unsigned long i) { -  return (i == 0) ? &descriptor : 0; -} - diff --git a/attic/muse_qt4_evolution/plugins/pandelay/pandelaymodel.cpp b/attic/muse_qt4_evolution/plugins/pandelay/pandelaymodel.cpp deleted file mode 100644 index ab01ba9f..00000000 --- a/attic/muse_qt4_evolution/plugins/pandelay/pandelaymodel.cpp +++ /dev/null @@ -1,154 +0,0 @@ -//=========================================================================== -// -//    PanDelay, panoramic rotating delay -// -//    version 0.0.1 -// -//    pandelaymodel.cpp -// -// -//  Copyright (c) 2006 Nil Geisweiller -// -// -// -// This program 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. -// -// This program 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 this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -// 02111-1307, USA or point your web browser to http://www.gnu.org. -//=========================================================================== - -#include "pandelaymodel.h" - -PanDelayModel::PanDelayModel(int samplerate) { -  for(int i = 0; i < MAXBUFFERLENGTH; i++) { -    _leftBuffer[i] = 0.0; -    _rightBuffer[i] = 0.0; -  } -  _bufferPointer = 0; -  _inc = 0.0; -  _l = 1.0; -  _r = 1.0; - -  _samplerate = samplerate; -  setPanDelay(); -} - -PanDelayModel::~PanDelayModel() { -} - -void PanDelayModel::setSamplerate(int sr) { -  _samplerate = sr; -  setPanDelay(); -} - -void PanDelayModel::setBPM(float bpm) { -  _BPM = bpm; -  _delayTime = _beatRatio * 60.0 / _BPM; -  setPanDelay();   -} - -void PanDelayModel::setBeatRatio(float br) { -  _beatRatio = br; -  _delayTime = _beatRatio * 60.0 / _BPM; -  setPanDelay(); -} - -void PanDelayModel::setDelayTime(float dt) { -  if(dt < MINDELAYTIME) _delayTime = MINDELAYTIME; -  else if(dt > MAXDELAYTIME) _delayTime = MAXDELAYTIME; -  else _delayTime = dt; -  setPanDelay(); -} - -void PanDelayModel::setFeedback(float fb) { -  _feedback = fb; -  setPanDelay(); -} - -void PanDelayModel::setPanLFOFreq(float pf) { -  _panLFOFreq = pf; -  setPanDelay(); -} - -void PanDelayModel::setPanLFODepth(float pd) { -  _panLFODepth = pd; -  setPanDelay(); -} - -void PanDelayModel::setDryWet(float dw) { -  _dryWet = dw; -} - -void PanDelayModel::setPanDelay() { -  float numLFOSample = (1.0/_panLFOFreq) * (float)_samplerate; -  _inc = 2.0 / numLFOSample; -  _delaySampleSize = (int)(_delayTime * (float)_samplerate); -  _lBound = 1.0 - _panLFODepth; -  _rBound = 1.0 + _panLFODepth; -} - -void PanDelayModel::processMix(float* leftSamplesIn, float* rightSamplesIn, -			       float* leftSamplesOut, float* rightSamplesOut, -			       unsigned n) { -  float ls, rs, p; -  p = 1.0 - _dryWet; -  for(unsigned i = 0; i < n; i++) { -    //read buffer -    ls = _leftBuffer[_bufferPointer]; -    rs = _rightBuffer[_bufferPointer]; -    //write buffer -    _leftBuffer[_bufferPointer] *= _feedback; -    _leftBuffer[_bufferPointer] += leftSamplesIn[i]; -    _rightBuffer[_bufferPointer] *= _feedback; -    _rightBuffer[_bufferPointer] += rightSamplesIn[i]; -    //write out -    leftSamplesOut[i] += _l * _dryWet * ls + p * leftSamplesIn[i]; -    rightSamplesOut[i] += _r * _dryWet * rs + p * rightSamplesIn[i]; -    //update _bufferPointer -    _bufferPointer++; -    _bufferPointer%=_delaySampleSize; -    //update _l _r -    _r += _inc; -    _l -= _inc; -    //update _inc -    if(_r > _rBound || _r < _lBound) _inc = -_inc; -  } -} - -void PanDelayModel::processReplace(float* leftSamplesIn, float* rightSamplesIn, -				   float* leftSamplesOut, -				   float* rightSamplesOut, unsigned n) { -  float ls, rs, p; -  p = 1.0 - _dryWet; -  for(unsigned i = 0; i < n; i++) { -    //read buffer -    ls = _leftBuffer[_bufferPointer]; -    rs = _rightBuffer[_bufferPointer]; -    //write buffer -    _leftBuffer[_bufferPointer] *= _feedback; -    _leftBuffer[_bufferPointer] += leftSamplesIn[i]; -    _rightBuffer[_bufferPointer] *= _feedback; -    _rightBuffer[_bufferPointer] += rightSamplesIn[i]; -    //write out -    leftSamplesOut[i] = _l * _dryWet * ls + p * leftSamplesIn[i]; -    rightSamplesOut[i] = _r * _dryWet * rs + p * rightSamplesIn[i]; -    //update _bufferPointer -    _bufferPointer++; -    _bufferPointer%=_delaySampleSize; -    //update _l _r -    _r += _inc; -    _l -= _inc; -    //update _inc -    if(_r > _rBound || _r < _lBound) _inc = -_inc; -  } -} diff --git a/attic/muse_qt4_evolution/plugins/pandelay/pandelaymodel.h b/attic/muse_qt4_evolution/plugins/pandelay/pandelaymodel.h deleted file mode 100644 index 65983187..00000000 --- a/attic/muse_qt4_evolution/plugins/pandelay/pandelaymodel.h +++ /dev/null @@ -1,93 +0,0 @@ -//=========================================================================== -// -//    PanDelay, panoramic rotating delay -// -//    version 0.0.1 -// -//    pandelaymodel.h -// -// -//  Copyright (c) 2006 Nil Geisweiller -// -// -// -// This program 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. -// -// This program 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 this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -// 02111-1307, USA or point your web browser to http://www.gnu.org. -//=========================================================================== - -#ifndef __PANDELAYMODEL_H -#define __PANDELAYMODEL_H - -#include <math.h> - -#define MAXBUFFERLENGTH 192000 -#define MINFREQ 0.1 //in Hz -#define MAXFREQ 10.0 //in Hz -#define MINBPM 60.0 -#define MAXBPM 255.0 -#define MINBEATRATIO 0.125 -#define MAXBEATRATIO 2.0 -#define MINDELAYTIME 0.01 //in second -#define MAXDELAYTIME 2.0 //in second - -#define NBRPARAM 5 - -class PanDelayModel { - private: -  int _samplerate; - -  //bool _beatFraction; //if true then the delay is calculated in beat fraction -  float _BPM; -  float _beatRatio; -  float _delayTime; //delay is calculated according to BMP and ratioBMP -  float _feedback; -  float _panLFOFreq; -  float _panLFODepth; -  float _dryWet; //0.0 : dry, 1.0 : wet - -  int _delaySampleSize; -  float _lBound; -  float _rBound; -  float _inc; -  float _l; -  float _r; - -  float _leftBuffer[MAXBUFFERLENGTH]; -  float _rightBuffer[MAXBUFFERLENGTH]; -  int _bufferPointer; - - public: -  PanDelayModel(int samplerate); -  ~PanDelayModel(); -   -  void setSamplerate(int sr); -  void setBeatRatio(float br); -  void setBPM(float bpm); -  void setDelayTime(float dt); -  void setFeedback(float dt); -  void setPanLFOFreq(float pf); -  void setPanLFODepth(float pd); -  void setDryWet(float dw); -  void setPanDelay(); - -  void processMix(float* leftInSamples, float* rightInSamples, -		  float* leftOutSamples, float* rightOutSamples, -		  unsigned n); -  void processReplace(float* leftInSamples, float* rightInSamples, -		      float* leftOutSamples, float* rightOutSamples, -		      unsigned n); -}; - -#endif /* __PANDELAYMODEL_H */ | 
