diff options
| author | Robert Jonsson <spamatica@gmail.com> | 2011-03-07 19:01:11 +0000 | 
|---|---|---|
| committer | Robert Jonsson <spamatica@gmail.com> | 2011-03-07 19:01:11 +0000 | 
| commit | e40fc849149dd97c248866a4a1d026dda5e57b62 (patch) | |
| tree | b12b358f3b3a0608001d30403358f8443118ec5f /muse_qt4_evolution/plugins/freeverb | |
| parent | 1bd4f2e8d9745cabb667b043171cad22c8577768 (diff) | |
clean3
Diffstat (limited to 'muse_qt4_evolution/plugins/freeverb')
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/CMakeLists.txt | 33 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/allpass.h | 47 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/comb.h | 63 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/denormals.h | 38 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/freeverb.cpp | 166 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/readme.txt | 147 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/revmodel.cpp | 232 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/revmodel.h | 79 | ||||
| -rw-r--r-- | muse_qt4_evolution/plugins/freeverb/tuning.h | 60 | 
9 files changed, 0 insertions, 865 deletions
| diff --git a/muse_qt4_evolution/plugins/freeverb/CMakeLists.txt b/muse_qt4_evolution/plugins/freeverb/CMakeLists.txt deleted file mode 100644 index 0a86454f..00000000 --- a/muse_qt4_evolution/plugins/freeverb/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 ( freeverb SHARED -      freeverb.cpp revmodel.cpp -      ) - -# tell cmake to name the target freeverb.so instead of -# libfreeverb.so -# -set_target_properties (freeverb -      PROPERTIES PREFIX "" -      COMPILE_FLAGS "-O2" -      ) - -install_targets ( /lib/${MusE_INSTALL_NAME}/plugins freeverb) diff --git a/muse_qt4_evolution/plugins/freeverb/allpass.h b/muse_qt4_evolution/plugins/freeverb/allpass.h deleted file mode 100644 index 2f27691e..00000000 --- a/muse_qt4_evolution/plugins/freeverb/allpass.h +++ /dev/null @@ -1,47 +0,0 @@ -// Allpass filter declaration -// -// Written by Jezar at Dreampoint, June 2000 -// http://www.dreampoint.co.uk -// This code is public domain - -#ifndef _allpass_ -#define _allpass_ -#include "denormals.h" - -//--------------------------------------------------------- -//   allpass -//--------------------------------------------------------- - -class allpass -      { -	float	feedback; -	float	*buffer; -	int bufsize; -	int bufidx; - -   public: -      allpass() { bufidx = 0; } -	void	setbuffer(float *buf, int size) { -      	buffer = buf; -	      bufsize = size; -            } -      float process(float input) { -	      float bufout = buffer[bufidx]; -      	undenormalise(bufout); -	      float output = -input + bufout; -      	buffer[bufidx] = input + (bufout*feedback); -            if (++bufidx >= bufsize) -                  bufidx = 0; -//            bufidx = ++bufidx % bufsize; -      	return output; -            } -	void	mute() { -      	for (int i=0; i<bufsize; i++) -	      	buffer[i]=0; -            } -	void	setfeedback(float val)  { feedback = val; } -	float	getfeedback()           { return feedback; } -      }; - - -#endif//_allpass diff --git a/muse_qt4_evolution/plugins/freeverb/comb.h b/muse_qt4_evolution/plugins/freeverb/comb.h deleted file mode 100644 index 22f5591b..00000000 --- a/muse_qt4_evolution/plugins/freeverb/comb.h +++ /dev/null @@ -1,63 +0,0 @@ -// Comb filter class declaration -// -// Written by Jezar at Dreampoint, June 2000 -// http://www.dreampoint.co.uk -// This code is public domain - -#ifndef _comb_ -#define _comb_ - -#include "denormals.h" - - -//--------------------------------------------------------- -//   comb -//--------------------------------------------------------- - -class comb -      { -	float	feedback; -	float	filterstore; -	float	damp1; -	float	damp2; -	float	*buffer; -	int bufsize; -	int bufidx; - -public: -      comb() { -	      filterstore = 0; -	      bufidx = 0; -            } -	void	setbuffer(float *buf, int size) { -	      buffer = buf; -	      bufsize = size; -            } -      float process(float input) { -      	float output = buffer[bufidx]; -	      undenormalise(output); -      	filterstore = (output*damp2) + (filterstore*damp1); -	      undenormalise(filterstore); -      	buffer[bufidx] = input + (filterstore*feedback); -            if (++bufidx >= bufsize) -                  bufidx = 0; -//            bufidx = ++bufidx % bufsize; -      	return output; -            } -	void	mute() { -      	for (int i=0; i<bufsize; i++) -	      	buffer[i]=0; -            } -	void	setdamp(float val) { -	      damp1 = val; -	      damp2 = 1-val; -            } -	float	getdamp()              { return damp1; } -	void	setfeedback(float val) { feedback = val; } -	float	getfeedback()          { return feedback; } -      }; - - -#endif //_comb_ - -//ends diff --git a/muse_qt4_evolution/plugins/freeverb/denormals.h b/muse_qt4_evolution/plugins/freeverb/denormals.h deleted file mode 100644 index 37d3ed27..00000000 --- a/muse_qt4_evolution/plugins/freeverb/denormals.h +++ /dev/null @@ -1,38 +0,0 @@ -// Macro for killing denormalled numbers -// -// Written by Jezar at Dreampoint, June 2000 -// http://www.dreampoint.co.uk -// Based on IS_DENORMAL macro by Jon Watte -// This code is public domain - -#ifndef _denormals_ -#define _denormals_ - -// this does not work with at least gcc3.3 and -O2: -// #define undenormalise(sample) if(((*(unsigned int*)&sample)&0x7f800000)==0) sample=0.0f -// -// from Laurent de Soras Paper: Denormal numbers in floating point -//    signal processing applications -// (ws) - -#if 0 -#define undenormalise(sample)       \ -      {                             \ -      float anti_denormal = 1e-18;  \ -      sample += anti_denormal;      \ -      sample -= anti_denormal;      \ -      } -#endif - -// from beast-0.7.2  (Tim Janik/Stefan Westerfeld): - -#define undenormalise(sample)       \ -      do {                             \ -            volatile float __forced_float = 1e-29 + sample;  \ -            sample = __forced_float - 1e-29;      \ -      } while (0) - -#endif//_denormals_ - -//ends - diff --git a/muse_qt4_evolution/plugins/freeverb/freeverb.cpp b/muse_qt4_evolution/plugins/freeverb/freeverb.cpp deleted file mode 100644 index 0385e887..00000000 --- a/muse_qt4_evolution/plugins/freeverb/freeverb.cpp +++ /dev/null @@ -1,166 +0,0 @@ -//========================================================= -//  MusE -//  Linux Music Editor -//    $Id: freeverb.cpp,v 1.1.1.1 2003/10/27 18:57:03 wschweer Exp $ -//  (C) Copyright 2000 Werner Schweer (ws@seh.de) -//========================================================= - -#include "revmodel.h" - -//--------------------------------------------------------- -//   instantiateFreeverb -//    Construct a new plugin instance. -//--------------------------------------------------------- - -LADSPA_Handle instantiate(const LADSPA_Descriptor* /*Descriptor*/, -   unsigned long /* samplerate*/) -      { -      return new Revmodel; -      } - -//--------------------------------------------------------- -//   connectPortToFreeverb -//    Connect a port to a data location. -//--------------------------------------------------------- - -void connect(LADSPA_Handle Instance, unsigned long port, -   LADSPA_Data* data) -      { -      ((Revmodel *)Instance)->port[port] = data; -      } - -//--------------------------------------------------------- -//   activate -//--------------------------------------------------------- - -void activate(LADSPA_Handle instance) -      { -      ((Revmodel *)instance)->activate(); -      } - -//--------------------------------------------------------- -//   deactivate -//--------------------------------------------------------- - -void deactivate(LADSPA_Handle /*Instance*/) -      { -      } - -//--------------------------------------------------------- -//   runFreeverb -//--------------------------------------------------------- - -void run(LADSPA_Handle Instance, unsigned long n) -      { -      ((Revmodel*)Instance)->processreplace(n); -      } - -//--------------------------------------------------------- -//   runAddingFreeverb -//    *ADD* the output to the output buffer. -//--------------------------------------------------------- - -void runAdding(LADSPA_Handle Instance, unsigned long n) -      { -      ((Revmodel*)Instance)->processmix(n); -      } - -//--------------------------------------------------------- -//   setFreeverbRunAddingGain -//--------------------------------------------------------- - -void setGain(LADSPA_Handle /*Instance*/, LADSPA_Data /*Gain*/) -      { -//      ((Freeverb *)Instance)->m_fRunAddingGain = Gain; -      } - -//--------------------------------------------------------- -//   cleanupFreeverb -//--------------------------------------------------------- - -void cleanup(LADSPA_Handle Instance) -      { -      delete (Revmodel *)Instance; -      } - -static const char* portNames[] = { -      "Input (Left)", -      "Input (Right)", -      "Output (Left)", -      "Output (Right)", -      "Room Size", -      "Damping", -      "Wet Level", -      }; - -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_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,  0.0, 1.0 }, -      { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_LOGARITHMIC, 0.0, 1.0 }, -      { LADSPA_HINT_BOUNDED_ABOVE | LADSPA_HINT_BOUNDED_BELOW | LADSPA_HINT_LOGARITHMIC, 0.0, 1.0 }, -      }; - -LADSPA_Descriptor descriptor = { -      1050, -      "freeverb1", -      LADSPA_PROPERTY_HARD_RT_CAPABLE, -      "Freeverb", -      "Werner Schweer", -      "None", -      7, -      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/muse_qt4_evolution/plugins/freeverb/readme.txt b/muse_qt4_evolution/plugins/freeverb/readme.txt deleted file mode 100644 index 2c1349a3..00000000 --- a/muse_qt4_evolution/plugins/freeverb/readme.txt +++ /dev/null @@ -1,147 +0,0 @@ -readme from original freeverb-source: -============================================== - - -Freeverb - Free, studio-quality reverb SOURCE CODE in the public domain ------------------------------------------------------------------------ - -Written by Jezar at Dreampoint - http://www.dreampoint.co.uk - - -Introduction ------------- - -Hello. - -I'll try to keep this "readme" reasonably small. -There are few things in the world that I hate more than long "readme" files. -Except "coding conventions" - but more on that later... - -In this zip file you will find two folders of C++ source code: - -"Components" - Contains files that should clean-compile -      ON ANY TYPE OF COMPUTER OR SYSTEM WHATSOEVER. It should not be necessary -      to make ANY changes to these files to get them to compile, except to make -      up for inadequacies of certain compilers. These files create three classes -      - a comb filter, an allpass filter, and a reverb model made up of a number -      of instances of the filters, with some features to control the filters at -      a macro level. You will need to link these classes into another program that -      interfaces with them. The files in the components drawer are completely -      independant, and can be built without dependancies on anything else. -      Because of the simple interface, it should be possible to interface -      these files to any system - VST, DirectX, anything - without changing -      them AT ALL. - -"FreeverbVST" - Contains a Steinberg VST implementation of this version of -      Freeverb, using the components in (surprise) the components folder. -      It was built on a PC but may compile properly for the Macintosh with -      no problems. I don't know - I don't have a Macintosh. If you've -      figured out how to compile the examples in the Steinberg VST -      Development Kit, then you should easilly figure out how to bring the -      files into a project and get it working in a few minutes. It should -      be very simple. - -Note that this version of Freeverb doesn't contain predelay, or any EQ. -I thought that might make it difficult to understand the "reverb" part of -the code. Once you figure out how Freeverb works, you should find it trivial -to add such features with little CPU overhead. - -Also, the code in this version of Freeverb has been optimised. This has changed -the sound *slightly*, but not significantly compared to how much processing -power it saves. - -Finally, note that there is also a built copy of this version of Freeverb called -"Freeverb3.dll" - this is a VST plugin for the PC. If you want a version for -the Mac or anything else, then you'll need to build it yourself from the code. - - -Technical Explanation ---------------------- - -Freeverb is a simple implementation of the standard Schroeder/Moorer reverb -model. I guess the only reason why it sounds better than other reverbs, -is simply because I spent a long while doing listening tests in order to create -the values found in "tuning.h". It uses 8 comb filters on both the left and right -channels), and you might possibly be able to get away with less if CPU power -is a serious constraint for you. It then feeds the result of the reverb through -4 allpass filters on both the left and right channels. These "smooth" the sound. -Adding more than four allpasses doesn't seem to add anything significant -to the sound, and if you use less, the sound gets a bit "grainy". -The filters on the right channel are slightly detuned compared to the left channel -in order to create a stereo effect. - -Hopefully, you should find the code in the components drawer a model of -brevity and clarity. Notice that I don't use any "coding conventions". -Personally, I think that coding conventions suck. They are meant to make -the code "clearer", but they inevitably do the complete opposite, making -the code completely unfathomable. Anyone whose done Windows programming -with its - frankly stupid - "Hungarian notation" will know exactly what -I mean. Coding conventions typically promote issues that are irrelevant -up to the status of appearing supremely important. It may have helped back -people in the days when compilers where somewhat feeble in their type-safety, -but not in the new millenium with advanced C++ compilers. - -Imagine if we rewrote the English language to conform to coding conventions. -After all, The arguments should be just as valid for the English language as -they are for a computer language. For example, we could put a lower-case "n" -in front of every noun, a lower-case "p" in front of a persons name, -a lower-case "v" in front of every verb, and a lower-case "a" in front -of every adjective. Can you imagine what the English language would look like? -All in the name of "clarity". It's just as stupid to do this for computer -code as it would be to do it for the English language. I hope that the -code for Freeverb in the components drawer demonstrates this, and helps start -a movement back towards sanity in coding practices. - - -Background ----------- - -Why is the Freeverb code now public domain? Simple. I only intended to create -Freeverb to provide me and my friends with studio-quality reverb for free. -I never intended to make any money out of it. However, I simply do not have the -time to develop it any further. I'm working on a "concept album" at the moment, -and I'll never finish it if I spend any more time programming. - -In any case, I make more far money as a contract programmer - making Mobile -Internet products - than I ever could writing plugins, so it simply doesn't -make financial sense for me to spend any more time on it. - -Rather than give Freeverb to any particular individual or organisation -to profit from it, I've decided to give it away to the internet community -at large, so that quality, FREE (or at the very least, low-cost) reverbs can -be developed for all platforms. - -Feel free to use the source code for Freeverb in any of your own products, -whether they are also available for free, or even if they are commercial - -I really don't mind. You may do with the code whatever you wish. If you use -it in a product (whether commercial or not), it would be very nice of you, -if you were to send me a copy of your product - although I appreciate that -this isn't always possible in all circumstances. - -HOWEVER, please don't bug me with questions about how to use this code. -I gave away Freeverb because I don't have time to maintain it. That means -I *certainly* don't have time to answer questions about the source code, so -please don't email questions to me. I *will* ignore them. If you can't figure -the code for Freeverb out - then find somebody who can. I hope that either -way, you enjoy experimenting with it. - - -Disclaimer ----------- - -This software and source code is given away for free, without any warranties -of any kind. It has been given away to the internet community as a free gift, -so please treat it in the same spirit. - - -I hope this code is useful and interesting to you all! -I hope you have lots of fun experimenting with it and make good products! - -Very best regards, -Jezar. -Technology Consultant -Dreampoint Design and Engineering -http://www.dreampoint.co.uk - - -//ends diff --git a/muse_qt4_evolution/plugins/freeverb/revmodel.cpp b/muse_qt4_evolution/plugins/freeverb/revmodel.cpp deleted file mode 100644 index c72ee22b..00000000 --- a/muse_qt4_evolution/plugins/freeverb/revmodel.cpp +++ /dev/null @@ -1,232 +0,0 @@ -// Reverb model implementation -// -// Written by Jezar at Dreampoint, June 2000 -// http://www.dreampoint.co.uk -// This code is public domain - -#include <stdio.h> -#include "revmodel.h" - -//--------------------------------------------------------- -//   Revmodel -//--------------------------------------------------------- - -Revmodel::Revmodel() -      { -	// Tie the components to their buffers -	combL[0].setbuffer(bufcombL1,combtuningL1); -	combR[0].setbuffer(bufcombR1,combtuningR1); -	combL[1].setbuffer(bufcombL2,combtuningL2); -	combR[1].setbuffer(bufcombR2,combtuningR2); -	combL[2].setbuffer(bufcombL3,combtuningL3); -	combR[2].setbuffer(bufcombR3,combtuningR3); -	combL[3].setbuffer(bufcombL4,combtuningL4); -	combR[3].setbuffer(bufcombR4,combtuningR4); -	combL[4].setbuffer(bufcombL5,combtuningL5); -	combR[4].setbuffer(bufcombR5,combtuningR5); -	combL[5].setbuffer(bufcombL6,combtuningL6); -	combR[5].setbuffer(bufcombR6,combtuningR6); -	combL[6].setbuffer(bufcombL7,combtuningL7); -	combR[6].setbuffer(bufcombR7,combtuningR7); -	combL[7].setbuffer(bufcombL8,combtuningL8); -	combR[7].setbuffer(bufcombR8,combtuningR8); -	allpassL[0].setbuffer(bufallpassL1,allpasstuningL1); -	allpassR[0].setbuffer(bufallpassR1,allpasstuningR1); -	allpassL[1].setbuffer(bufallpassL2,allpasstuningL2); -	allpassR[1].setbuffer(bufallpassR2,allpasstuningR2); -	allpassL[2].setbuffer(bufallpassL3,allpasstuningL3); -	allpassR[2].setbuffer(bufallpassR3,allpasstuningR3); -	allpassL[3].setbuffer(bufallpassL4,allpasstuningL4); -	allpassR[3].setbuffer(bufallpassR4,allpasstuningR4); - -	// Set default values -	allpassL[0].setfeedback(0.5f); -	allpassR[0].setfeedback(0.5f); -	allpassL[1].setfeedback(0.5f); -	allpassR[1].setfeedback(0.5f); -	allpassL[2].setfeedback(0.5f); -	allpassR[2].setfeedback(0.5f); -	allpassL[3].setfeedback(0.5f); -	allpassR[3].setfeedback(0.5f); - -      param[0] = initialroom; -      param[1] = initialdamp; -      param[2] = initialwet; - -	setroomsize(initialroom); -	setdamp(initialdamp); -	setwidth(initialwidth); -	setmode(initialmode); - -	// Buffer will be full of rubbish - so we MUST mute them - -	for (int i = 0; i < numcombs; i++) { -		combL[i].mute(); -		combR[i].mute(); -            } -	for (int i=0;i<numallpasses;i++) { -		allpassL[i].mute(); -		allpassR[i].mute(); -            } -      } - -//--------------------------------------------------------- -//   activate -//--------------------------------------------------------- - -void Revmodel::activate() -      { -      *port[4] = param[0]; -      *port[5] = param[1]; -      *port[6] = param[2]; -      } - -//--------------------------------------------------------- -//   processreplace -//--------------------------------------------------------- - -void Revmodel::processreplace(long n) -      { -      if (param[0] != *port[4]) { -            param[0] = *port[4]; -            setroomsize(param[0]); -            } -      if (param[1] != *port[5]) { -            param[1] = *port[5]; -            setdamp(param[1]); -            } - -      float wet  = (1.0f - *port[6]) * scalewet; -      float dry  = *port[6] * scaledry; -	float wet1 = wet * (width/2 + 0.5f); -	float wet2 = wet * ((1-width)/2); - -	for (int i = 0; i < n; ++i) { -		float outL  = 0; -		float outR  = 0; -		float input = (port[0][i] + port[1][i]) * gain; - -		// Accumulate comb filters in parallel -		for (int k = 0; k < numcombs; k++) { -			outL += combL[k].process(input); -			outR += combR[k].process(input); -		      } - -		// Feed through allpasses in series -		for (int k=0; k < numallpasses; k++) { -			outL = allpassL[k].process(outL); -			outR = allpassR[k].process(outR); -		      } - -		// Calculate output REPLACING anything already there -		port[2][i] = outL*wet1 + outR*wet2 + port[0][i]*dry; -		port[3][i] = outR*wet1 + outL*wet2 + port[1][i]*dry; -	      } -      } - -void Revmodel::processmix(long n) -      { -      if (param[0] != *port[4]) { -            param[0] = *port[4]; -            setroomsize(param[0]); -            } -      if (param[1] != *port[5]) { -            param[1] = *port[5]; -            setdamp(param[1]); -            } - -      float wet  = (1.0f - *port[6]) * scalewet; -      float dry  = *port[6] * scaledry; -	float wet1 = wet * (width/2 + 0.5f); -	float wet2 = wet * ((1-width)/2); - -	for (int i = 0; i < n; ++i) { -		float outL  = 0; -		float outR  = 0; -		float input = (port[0][i] + port[1][i]) * gain; - -		// Accumulate comb filters in parallel -		for (int k = 0; k < numcombs; k++) { -			outL += combL[k].process(input); -			outR += combR[k].process(input); -		      } - -		// Feed through allpasses in series -		for (int k=0; k < numallpasses; k++) { -			outL = allpassL[k].process(outL); -			outR = allpassR[k].process(outR); -		      } - -		// Calculate output REPLACING anything already there -		port[2][i] += outL*wet1 + outR*wet2 + port[0][i]*dry; -		port[3][i] += outR*wet1 + outL*wet2 + port[1][i]*dry; -	      } -      } - -//--------------------------------------------------------- -//   update -//    Recalculate internal values after parameter change -//--------------------------------------------------------- - -void Revmodel::update() -      { -	if (mode >= freezemode) { -		roomsize1 = 1; -		damp1     = 0; -		gain      = muted; -            } -	else { -            roomsize1 = roomsize; -		damp1     = damp; -		gain      = fixedgain; -            } - -	for (int i = 0; i < numcombs; i++) { -		combL[i].setfeedback(roomsize1); -		combR[i].setfeedback(roomsize1); -            } - -	for (int i = 0; i < numcombs; i++) { -		combL[i].setdamp(damp1); -		combR[i].setdamp(damp1); -            } -      } - -// The following get/set functions are not inlined, because -// speed is never an issue when calling them, and also -// because as you develop the reverb model, you may -// wish to take dynamic action when they are called. - -void Revmodel::setroomsize(float value) -      { -	roomsize = (value*scaleroom) + offsetroom; -	update(); -      } - -float Revmodel::getroomsize() -      { -	return (roomsize-offsetroom)/scaleroom; -      } - -void Revmodel::setdamp(float value) -      { -	damp = value*scaledamp; -	update(); -      } - -void Revmodel::setwidth(float value) -      { -	width = value; -	update(); -      } - -void Revmodel::setmode(float value) -      { -	mode = value; -	update(); -      } - -float Revmodel::getmode() -      { -	return (mode >= freezemode) ? 1 : 0; -      } diff --git a/muse_qt4_evolution/plugins/freeverb/revmodel.h b/muse_qt4_evolution/plugins/freeverb/revmodel.h deleted file mode 100644 index bfa1f0b3..00000000 --- a/muse_qt4_evolution/plugins/freeverb/revmodel.h +++ /dev/null @@ -1,79 +0,0 @@ -// Reverb model declaration -// -// Written by Jezar at Dreampoint, June 2000 -// http://www.dreampoint.co.uk -// This code is public domain - -#ifndef _revmodel_ -#define _revmodel_ - -#include "comb.h" -#include "allpass.h" -#include "tuning.h" -#include "../../muse/ladspa.h" - -//--------------------------------------------------------- -//   Revmodel -//--------------------------------------------------------- - -class Revmodel { -      float	gain; -      float	roomsize,roomsize1; -      float	damp,damp1; -      float	width; -      float	mode; - -      // Comb filters -      comb combL[numcombs]; -      comb combR[numcombs]; - -      // Allpass filters -      allpass allpassL[numallpasses]; -      allpass allpassR[numallpasses]; - -      // Buffers for the combs -      float	bufcombL1[combtuningL1]; -      float	bufcombR1[combtuningR1]; -      float	bufcombL2[combtuningL2]; -      float	bufcombR2[combtuningR2]; -      float	bufcombL3[combtuningL3]; -      float	bufcombR3[combtuningR3]; -      float	bufcombL4[combtuningL4]; -      float	bufcombR4[combtuningR4]; -      float	bufcombL5[combtuningL5]; -      float	bufcombR5[combtuningR5]; -      float	bufcombL6[combtuningL6]; -      float	bufcombR6[combtuningR6]; -      float	bufcombL7[combtuningL7]; -      float	bufcombR7[combtuningR7]; -      float	bufcombL8[combtuningL8]; -      float	bufcombR8[combtuningR8]; - -      // Buffers for the allpasses -      float	bufallpassL1[allpasstuningL1]; -      float	bufallpassR1[allpasstuningR1]; -      float	bufallpassL2[allpasstuningL2]; -      float	bufallpassR2[allpasstuningR2]; -      float	bufallpassL3[allpasstuningL3]; -      float	bufallpassR3[allpasstuningR3]; -      float	bufallpassL4[allpasstuningL4]; -      float	bufallpassR4[allpasstuningR4]; -      void update(); - -   public: -      LADSPA_Data* port[7]; -      float param[3]; - -      Revmodel(); -	void	processmix(long numsamples); -	void	processreplace(long numsamples); -	void	setroomsize(float value); -	float	getroomsize(); -	void	setdamp(float value); -	void	setwidth(float value); -	void	setmode(float value); -	float	getmode(); -      void activate(); -      }; - -#endif diff --git a/muse_qt4_evolution/plugins/freeverb/tuning.h b/muse_qt4_evolution/plugins/freeverb/tuning.h deleted file mode 100644 index ced89252..00000000 --- a/muse_qt4_evolution/plugins/freeverb/tuning.h +++ /dev/null @@ -1,60 +0,0 @@ -// Reverb model tuning values
 -//
 -// Written by Jezar at Dreampoint, June 2000
 -// http://www.dreampoint.co.uk
 -// This code is public domain
 -
 -#ifndef _tuning_
 -#define _tuning_
 -
 -const int	numcombs		= 8;
 -const int	numallpasses	= 4;
 -const float	muted			= 0;
 -const float	fixedgain		= 0.015f;
 -const float scalewet		= 3;
 -const float scaledry		= 2;
 -const float scaledamp		= 0.4f;
 -const float scaleroom		= 0.28f;
 -const float offsetroom		= 0.7f;
 -const float initialroom		= 0.5f;
 -const float initialdamp		= 0.5f;
 -const float initialwet		= 1/scalewet;
 -const float initialdry		= 0;
 -const float initialwidth	= 1;
 -const float initialmode		= 0;
 -const float freezemode		= 0.5f;
 -const int	stereospread	= 23;
 -
 -// These values assume 44.1KHz sample rate
 -// they will probably be OK for 48KHz sample rate
 -// but would need scaling for 96KHz (or other) sample rates.
 -// The values were obtained by listening tests.
 -const int combtuningL1		= 1116;
 -const int combtuningR1		= 1116+stereospread;
 -const int combtuningL2		= 1188;
 -const int combtuningR2		= 1188+stereospread;
 -const int combtuningL3		= 1277;
 -const int combtuningR3		= 1277+stereospread;
 -const int combtuningL4		= 1356;
 -const int combtuningR4		= 1356+stereospread;
 -const int combtuningL5		= 1422;
 -const int combtuningR5		= 1422+stereospread;
 -const int combtuningL6		= 1491;
 -const int combtuningR6		= 1491+stereospread;
 -const int combtuningL7		= 1557;
 -const int combtuningR7		= 1557+stereospread;
 -const int combtuningL8		= 1617;
 -const int combtuningR8		= 1617+stereospread;
 -const int allpasstuningL1	= 556;
 -const int allpasstuningR1	= 556+stereospread;
 -const int allpasstuningL2	= 441;
 -const int allpasstuningR2	= 441+stereospread;
 -const int allpasstuningL3	= 341;
 -const int allpasstuningR3	= 341+stereospread;
 -const int allpasstuningL4	= 225;
 -const int allpasstuningR4	= 225+stereospread;
 -
 -#endif//_tuning_
 -
 -//ends
 -
 | 
