summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/plugins/doublechorus
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2011-04-15 18:52:45 +0000
committerRobert Jonsson <spamatica@gmail.com>2011-04-15 18:52:45 +0000
commit47a10173ea203de2036dd00791fe5c24fb673135 (patch)
tree6cb2e59a1e099adb30ec4f394097e33974c54ac4 /attic/muse2-oom/muse2/plugins/doublechorus
parent8edb9ca0e8e056faa0b488c947e7447a8148f880 (diff)
removing unnecessary duplication
Diffstat (limited to 'attic/muse2-oom/muse2/plugins/doublechorus')
-rw-r--r--attic/muse2-oom/muse2/plugins/doublechorus/CMakeLists.txt54
-rw-r--r--attic/muse2-oom/muse2/plugins/doublechorus/doublechorus.cpp173
-rw-r--r--attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.cpp214
-rw-r--r--attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.h72
-rw-r--r--attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.cpp157
-rw-r--r--attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.h96
6 files changed, 0 insertions, 766 deletions
diff --git a/attic/muse2-oom/muse2/plugins/doublechorus/CMakeLists.txt b/attic/muse2-oom/muse2/plugins/doublechorus/CMakeLists.txt
deleted file mode 100644
index 04ea864f..00000000
--- a/attic/muse2-oom/muse2/plugins/doublechorus/CMakeLists.txt
+++ /dev/null
@@ -1,54 +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.
-#=============================================================================
-
-##
-## List of source files to compile
-##
-file (GLOB doublechorus_source_files
- doublechorus.cpp
- doublechorusmodel.cpp
- simplechorusmodel.cpp
- )
-
-##
-## Define target
-##
-add_library ( doublechorus SHARED
- ${doublechorus_source_files}
- )
-
-
-##
-## Compilation flags and target name
-##
-# tell cmake to name the target doublechorus.so instead of
-# libdoublechorus.so
-#
-set_target_properties (doublechorus
- PROPERTIES PREFIX ""
- #COMPILE_FLAGS "-O3"
- )
-
-##
-## Install location
-##
-install( TARGETS doublechorus
- DESTINATION ${MusE_PLUGINS_DIR}
- )
diff --git a/attic/muse2-oom/muse2/plugins/doublechorus/doublechorus.cpp b/attic/muse2-oom/muse2/plugins/doublechorus/doublechorus.cpp
deleted file mode 100644
index 27d84336..00000000
--- a/attic/muse2-oom/muse2/plugins/doublechorus/doublechorus.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-//=========================================================
-// DoubleChorus for MusE
-//
-// (C) Copyright 2006 Nil Geisweiller
-//=========================================================
-
-#include "doublechorusmodel.h"
-#include <stdio.h>
-
-//---------------------------------------------------------
-// instantiate doublechorus
-// Construct a new plugin instance.
-//---------------------------------------------------------
-
-LADSPA_Handle instantiate(const LADSPA_Descriptor* /*Descriptor*/,
- unsigned long samplerate)
-{
- return new DoubleChorusModel(samplerate);
-}
-
-//---------------------------------------------------------
-// connect PortTo doublechorus
-// Connect a port to a data location.
-//---------------------------------------------------------
-
-void connect(LADSPA_Handle Instance, unsigned long port,
- LADSPA_Data* data)
-{
- ((DoubleChorusModel *)Instance)->port[port] = data;
-}
-
-//---------------------------------------------------------
-// activate
-//---------------------------------------------------------
-
-void activate(LADSPA_Handle instance)
-{
- ((DoubleChorusModel *)instance)->activate();
-}
-
-//---------------------------------------------------------
-// deactivate
-//---------------------------------------------------------
-
-void deactivate(LADSPA_Handle /*Instance*/)
-{
-}
-
-//---------------------------------------------------------
-// run doublechorus
-//---------------------------------------------------------
-
-void run(LADSPA_Handle Instance, unsigned long n)
-{
- ((DoubleChorusModel *)Instance)->processReplace(n);
-}
-
-//---------------------------------------------------------
-// runAdding doublechorus
-// *ADD* the output to the output buffer.
-//---------------------------------------------------------
-
-void runAdding(LADSPA_Handle Instance, unsigned long n)
-{
- ((DoubleChorusModel *)Instance)->processMix(n);
-}
-
-//---------------------------------------------------------
-// set doublechorus RunAddingGain
-//---------------------------------------------------------
-
-void setGain(LADSPA_Handle /*Instance*/, LADSPA_Data /*Gain*/)
-{
- printf("TEST setGain\n");
- // ((DoubleChorusModel *)Instance)->m_fRunAddingGain = Gain;
-}
-
-//---------------------------------------------------------
-// cleanup doublechorus
-//---------------------------------------------------------
-
-void cleanup(LADSPA_Handle Instance)
-{
- delete (DoubleChorusModel *)Instance;
-}
-
-static const char* portNames[] = {
- "Input (Left)",
- "Input (Right)",
- "Output (Left)",
- "Output (Right)",
- "Pan 1",
- "LFOFreq 1",
- "Depth 1",
- "Pan 2",
- "LFOFreq 2",
- "Depth 2",
- "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_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_HIGH, 0.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_LOW, 0.0, 1.0 },
- { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_LOW, 0.0, 1.0 },
- { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_LOGARITHMIC | LADSPA_HINT_DEFAULT_MIDDLE, MINFREQ, MAXFREQ },
- { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_LOW, 0.0, 1.0 },
- { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_DEFAULT_MIDDLE, 0.0, 1.0 },
-};
-
-LADSPA_Descriptor descriptor = {
- 1051,
- "doublechorus1",
- LADSPA_PROPERTY_HARD_RT_CAPABLE,
- "DoubleChorus",
- "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/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.cpp b/attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.cpp
deleted file mode 100644
index 01def026..00000000
--- a/attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-//===========================================================================
-//
-// doublechorusmodel
-//
-// 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 "doublechorusmodel.h"
-
-//---------------------------------------------------------
-// DoubleChorusModel
-//---------------------------------------------------------
-
-DoubleChorusModel::DoubleChorusModel(unsigned long samplerate) {
- _simpleChorus1 = new SimpleChorusModel((float)samplerate);
- _simpleChorus2 = new SimpleChorusModel((float)samplerate);
-
- param[0] = getPan1();
- param[1] = getLFOFreq1();
- param[2] = getDepth1();
- param[3] = getPan2();
- param[4] = getLFOFreq2();
- param[5] = getDepth2();
- param[6] = getDryWet();
-}
-
-DoubleChorusModel::~DoubleChorusModel() {
- delete(_simpleChorus1);
- delete(_simpleChorus2);
-}
-
-//---------------------------------------------------------
-// activate
-//---------------------------------------------------------
-
-void DoubleChorusModel::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];
- *port[10] = param[6];
-}
-
-//---------------------------------------------------------
-// processReplace
-//---------------------------------------------------------
-
-void DoubleChorusModel::processReplace(long n) {
- float tmpLeftOutput1;
- float tmpRightOutput1;
- float tmpLeftOutput2;
- float tmpRightOutput2;
- //update parameters
- if (param[0] != *port[4]) {
- param[0] = *port[4];
- setPan1(param[0]);
- }
- if (param[1] != *port[5]) {
- param[1] = *port[5];
- setLFOFreq1(param[1]);
- }
- if (param[2] != *port[6]) {
- param[2] = *port[6];
- setDepth1(param[2]);
- }
- if (param[3] != *port[7]) {
- param[3] = *port[7];
- setPan2(param[3]);
- }
- if (param[4] != *port[8]) {
- param[4] = *port[8];
- setLFOFreq2(param[4]);
- }
- if (param[5] != *port[9]) {
- param[5] = *port[9];
- setDepth2(param[5]);
- }
- if (param[6] != *port[10]) {
- param[6] = *port[10];
- setDryWet(param[6]);
- }
- //process the effect
- for (int i = 0; i < n; ++i) {
- _simpleChorus1->process_chorus(port[0][i], port[1][i],
- &tmpLeftOutput1, &tmpRightOutput1);
- _simpleChorus2->process_chorus(port[0][i], port[1][i],
- &tmpLeftOutput2, &tmpRightOutput2);
- port[2][i] = _dryWet * (tmpLeftOutput1 + tmpLeftOutput2)
- + (1.0 - _dryWet) * port[0][i];
- port[3][i] = _dryWet * (tmpRightOutput1 + tmpRightOutput2)
- + (1.0 - _dryWet) * port[1][i];
- }
-}
-
-void DoubleChorusModel::processMix(long n) {
- float tmpLeftOutput1;
- float tmpRightOutput1;
- float tmpLeftOutput2;
- float tmpRightOutput2;
- //update parameters
- if (param[0] != *port[4]) {
- param[0] = *port[4];
- setPan1(param[0]);
- }
- if (param[1] != *port[5]) {
- param[1] = *port[5];
- setLFOFreq1(param[1]);
- }
- if (param[2] != *port[6]) {
- param[2] = *port[6];
- setDepth1(param[2]);
- }
- if (param[3] != *port[7]) {
- param[3] = *port[7];
- setPan2(param[3]);
- }
- if (param[4] != *port[8]) {
- param[4] = *port[8];
- setLFOFreq2(param[4]);
- }
- if (param[5] != *port[9]) {
- param[5] = *port[9];
- setDepth2(param[5]);
- }
- if (param[6] != *port[10]) {
- param[6] = *port[10];
- setDryWet(param[6]);
- }
- //process the effect
- for (int i = 0; i < n; ++i) {
- _simpleChorus1->process_chorus(port[0][i], port[1][i],
- &tmpLeftOutput1, &tmpRightOutput1);
- _simpleChorus2->process_chorus(port[0][i], port[1][i],
- &tmpLeftOutput2, &tmpRightOutput2);
- port[2][i] += _dryWet * (tmpLeftOutput1 + tmpLeftOutput2)
- + (1.0 - _dryWet) * port[0][i];
- port[3][i] += _dryWet * (tmpRightOutput1 + tmpRightOutput2)
- + (1.0 - _dryWet) * port[1][i];
- }
-}
-
-//------------------------------------------------------------------
-// set parameters
-//------------------------------------------------------------------
-void DoubleChorusModel::setPan1(float value) {
- _simpleChorus1->setPan(value);
-}
-void DoubleChorusModel::setLFOFreq1(float value) {
- _simpleChorus1->setLFOFreq(value);
-}
-void DoubleChorusModel::setDepth1(float value) {
- _simpleChorus1->setDepth(value);
-}
-void DoubleChorusModel::setPan2(float value) {
- _simpleChorus2->setPan(value);
-}
-void DoubleChorusModel::setLFOFreq2(float value) {
- _simpleChorus2->setLFOFreq(value);
-}
-void DoubleChorusModel::setDepth2(float value) {
- _simpleChorus2->setDepth(value);
-}
-void DoubleChorusModel::setDryWet(float value) {
- _dryWet = value;
-}
-
-//----------------------------------------------------------------
-// get parameters
-//----------------------------------------------------------------
-float DoubleChorusModel::getPan1() {
- return _simpleChorus1->getPan();
-}
-float DoubleChorusModel::getLFOFreq1() {
- return _simpleChorus1->getLFOFreq();
-}
-float DoubleChorusModel::getDepth1() {
- return _simpleChorus1->getDepth();
-}
-float DoubleChorusModel::getPan2() {
- return _simpleChorus2->getPan();
-}
-float DoubleChorusModel::getLFOFreq2() {
- return _simpleChorus2->getLFOFreq();
-}
-float DoubleChorusModel::getDepth2() {
- return _simpleChorus2->getDepth();
-}
-float DoubleChorusModel::getDryWet() {
- return _dryWet;
-}
diff --git a/attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.h b/attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.h
deleted file mode 100644
index 40ce9f3f..00000000
--- a/attic/muse2-oom/muse2/plugins/doublechorus/doublechorusmodel.h
+++ /dev/null
@@ -1,72 +0,0 @@
-//===========================================================================
-//
-// doublechorusmodel
-//
-// 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 __DOUBLECHORUSMODEL_H
-#define __DOUBLECHORUSMODEL_H
-
-#include "simplechorusmodel.h"
-#include "../../muse/ladspa.h"
-
-#define NBRPARAM 7
-
-class SimpleChorusModel;
-
-class DoubleChorusModel {
- SimpleChorusModel* _simpleChorus1;
- SimpleChorusModel* _simpleChorus2;
-
- float _dryWet; //0.0 : dry, 1.0 : wet
-
- public:
- LADSPA_Data* port[NBRPARAM + 4];
- float param[NBRPARAM];
-
- DoubleChorusModel(unsigned long samplerate);
- ~DoubleChorusModel();
- void processMix(long numsamples);
- void processReplace(long numsamples);
- void setPan1(float value);
- void setLFOFreq1(float value);
- void setDepth1(float value);
- void setPan2(float value);
- void setLFOFreq2(float value);
- void setDepth2(float value);
- void setDryWet(float value);
- float getPan1();
- float getLFOFreq1();
- float getDepth1();
- float getPan2();
- float getLFOFreq2();
- float getDepth2();
- float getDryWet();
-
- void activate();
-};
-
-#endif
diff --git a/attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.cpp b/attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.cpp
deleted file mode 100644
index 72015465..00000000
--- a/attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-//===========================================================================
-//
-// simplechorus
-//
-// 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 "simplechorusmodel.h"
-#include <math.h>
-#include <stdio.h>
-
-#define ABS(x) (x>=0?x:-x)
-
-// Linearly interpolate [ = a * (1 - f) + b * f]
-inline float lin_interp(float f, float a, float b) {
- return a + f * (b - a);
-}
-
-// Cubic interpolation function
-inline float cube_interp(const float fr,
- const float inm1,
- const float in,
- const float inp1,
- const float inp2) {
- return in + 0.5f * fr * (inp1 - inm1 +
- fr * (4.0f * inp1 + 2.0f * inm1 - 5.0f * in - inp2 +
- fr * (3.0f * (in - inp1) - inm1 + inp2)));
-}
-
-float SimpleChorusModel::sinus[MAXSINUSRESOLUTION];
-int SimpleChorusModel::useCount = 0;
-
-SimpleChorusModel::SimpleChorusModel(float samplerate) {
- _sampleRate = samplerate;
- //sinus
- if (useCount++ == 0)
- for(int i = 0; i < MAXSINUSRESOLUTION; i++)
- sinus[i] = (float)(sin(((double)i * 2.0 * M_PI) /
- (double)MAXSINUSRESOLUTION));
- _index = 0.0;
- //init buffer
- for(int i = 0; i < MAXBUFFERLENGTH; i++) {
- _leftBuffer[i] = 0.0;
- _rightBuffer[i] = 0.0;
- }
- _position = 0;
- //initial parameters
- _pan = 0.5;
- _LFOFreq = 1.0;
- _depth = 0.5;
- setChorus();
-}
-
-SimpleChorusModel::~SimpleChorusModel() {
-}
-
-void SimpleChorusModel::process_chorus(float leftInput, float rightInput,
- float* leftOutput, float* rightOutput) {
- float ocsDiff;
-
- _ocsDistance = _depthAmp * sinus[(int)_index];
-
- ocsDiff = _ocsDistance - floorf(_ocsDistance);
-
- _past_position_left = MAXBUFFERLENGTH //to be sure that _past_position_left>0
- + _position - _leftMidDistance + (int)_ocsDistance;
- _past_position_right = MAXBUFFERLENGTH
- + _position - _rightMidDistance + (int)_ocsDistance;
-
- *leftOutput = _leftAmp *
- lin_interp(ocsDiff, _leftBuffer[_past_position_left%MAXBUFFERLENGTH],
- _leftBuffer[(_past_position_left+1)%MAXBUFFERLENGTH]);
- *rightOutput = _rightAmp *
- lin_interp(ocsDiff, _rightBuffer[_past_position_right%MAXBUFFERLENGTH],
- _rightBuffer[(_past_position_right+1)%MAXBUFFERLENGTH]);
-
- _leftBuffer[_position] = leftInput;
- _rightBuffer[_position] = rightInput;
-
- _position++;
- _position %= MAXBUFFERLENGTH;
-
- _index += _inct;
- _index = (_index<MAXSINUSRESOLUTION?_index:_index-MAXSINUSRESOLUTION);
-}
-
-void SimpleChorusModel::setPan(float p) {
- _pan = p;
- setChorus();
-}
-void SimpleChorusModel::setLFOFreq(float l) {
- _LFOFreq = l;
- setChorus();
-}
-void SimpleChorusModel::setDepth(float d) {
- _depth = d;
- setChorus();
-}
-void SimpleChorusModel::setSampleRate(float s) {
- _sampleRate = s;
- setChorus();
-}
-
-float SimpleChorusModel::getPan() {
- return _pan;
-}
-float SimpleChorusModel::getLFOFreq() {
- return _LFOFreq;
-}
-float SimpleChorusModel::getDepth() {
- return _depth;
-}
-
-void SimpleChorusModel::setChorus() {
- //inct
- _inct = (float)MAXSINUSRESOLUTION/_sampleRate * _LFOFreq;
- //left & right amp
- _leftAmp = lin_interp(1.0 - _pan, 1.0 - PANAMP, 1.0 + PANAMP);
- _rightAmp = lin_interp(_pan, 1.0 - PANAMP, 1.0 + PANAMP);
- //left & right midDistance
- float leftmdm; //left mid distance in meter
- float rightmdm; //right mid distance in meter
- leftmdm = MIDSOURCEDISTANCE - EARSDISTANCE * (0.5 - _pan);
- rightmdm = MIDSOURCEDISTANCE + EARSDISTANCE * (0.5 - _pan);
-
- _leftMidDistance = (int)(_sampleRate * leftmdm / SOUNDSPEED);
- _rightMidDistance = (int)(_sampleRate * rightmdm / SOUNDSPEED);
-
- //depthAmp
- _depthAmp =
- _sampleRate * (MAXDEPTH * _depth) /SOUNDSPEED;
- //filter coef
- _filterCoef1 = 1 - COEFFILTER;
- _filterCoef2 = COEFFILTER;
-}
diff --git a/attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.h b/attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.h
deleted file mode 100644
index 797e7030..00000000
--- a/attic/muse2-oom/muse2/plugins/doublechorus/simplechorusmodel.h
+++ /dev/null
@@ -1,96 +0,0 @@
-//===========================================================================
-//
-// simplechorus
-//
-// 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 __SIMPLECHORUSMODEL_H
-#define __SIMPLECHORUSMODEL_H
-
-#define MAXBUFFERLENGTH 192000
-#define MAXSINUSRESOLUTION 192000
-#define MINFREQ 0.05 //in Hz
-#define MAXFREQ 5.0 //in Hz
-#define EARSDISTANCE 0.12 //in meter
-#define MIDSOURCEDISTANCE 2.0 //in meter
-#define MAXDEPTH 1.0 //in meter, radius
-#define SOUNDSPEED 330.0 //in meter per second
-#define MINDELAYSEC 0.01 //in second
-#define MAXDELAYSEC 1.0 //in second
-#define COEFFILTER 0.97576 //0.26795
-#define PANAMP 0.75
-//with cutoff = samplerate/256
-//following (2-cos(x)) - sqrt((2-cos(x))^2 - 1) with x = 2*pi*cutoff/samplerate
-//#define M_PI 3.14159265358979
-
-class SimpleChorusModel {
- private :
- //parameters
- float _pan;
- float _LFOFreq;
- float _depth;
- //parameter state
- float _sampleRate;
- float _depthAmp;
- float _leftAmp;
- float _rightAmp;
- float _filterCoef1;
- float _filterCoef2;
- int _leftMidDistance; //distance of the left micro in samples
- int _rightMidDistance; //distance of the right micro in samples
- //state
- float _inct;
- float _index; //time at the scale of sampleRate
- float _leftBuffer[MAXBUFFERLENGTH];
- float _rightBuffer[MAXBUFFERLENGTH];
- float _ocsDistance; //in sample, distance of the micro with initial position
- int _past_position_left;
- int _past_position_right;
- int _position;
- public :
- static int useCount;
- static float sinus[MAXSINUSRESOLUTION];
-
-
- void process_chorus(float leftInput, float rightInput,
- float* leftOutput, float* rightOutput);
-
- void setPan(float);
- void setLFOFreq(float);
- void setDepth(float);
- void setSampleRate(float);
- float getPan();
- float getLFOFreq();
- float getDepth();
-
- void setChorus();
-
- SimpleChorusModel(float samplerate);
- ~SimpleChorusModel();
-
-};
-
-#endif