commit ladspa-cmt for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ladspa-cmt for openSUSE:Factory checked in at 2022-01-31 22:57:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ladspa-cmt (Old) and /work/SRC/openSUSE:Factory/.ladspa-cmt.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ladspa-cmt" Mon Jan 31 22:57:30 2022 rev:5 rq:950251 version:1.18 Changes: -------- --- /work/SRC/openSUSE:Factory/ladspa-cmt/ladspa-cmt.changes 2021-06-09 21:51:59.034440713 +0200 +++ /work/SRC/openSUSE:Factory/.ladspa-cmt.new.1898/ladspa-cmt.changes 2022-01-31 22:58:22.889153525 +0100 @@ -1,0 +2,11 @@ +Fri Jan 28 20:36:06 UTC 2022 - Dirk M��ller <dmueller@suse.com> + +- update to 1.18: + * Remove stale email address + * Remove some unused variables + * Fix clang compile issue with static function + * Change Freeverb to handle sample rates better + * Fix URL in documentation + * Fix so delay can handle a delay of zero + +------------------------------------------------------------------- Old: ---- cmt_1.17.tgz New: ---- cmt_1.18.tgz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ladspa-cmt.spec ++++++ --- /var/tmp/diff_new_pack.BS175f/_old 2022-01-31 22:58:23.301150751 +0100 +++ /var/tmp/diff_new_pack.BS175f/_new 2022-01-31 22:58:23.305150724 +0100 @@ -1,7 +1,7 @@ # # spec file for package ladspa-cmt # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: ladspa-cmt -Version: 1.17 +Version: 1.18 Release: 0 Summary: LADSPA CMT plugins License: GPL-2.0-or-later ++++++ cmt_1.17.tgz -> cmt_1.18.tgz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/README new/cmt_1.18/README --- old/cmt_1.17/README 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/README 2021-09-03 17:26:13.000000000 +0200 @@ -4,4 +4,5 @@ This toolkit is a set of musical sound processing and synthesis tools presented as a LADSPA plugin library. See the doc/ directory for documentation and installation instructions. See http://www.ladspa.org -for LADSPA information. See http://www.ladspa.org/cmt for CMT updates. +for LADSPA information. See http://www.ladspa.org/cmt/ for CMT +updates. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/doc/changes.html new/cmt_1.18/doc/changes.html --- old/cmt_1.17/doc/changes.html 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/doc/changes.html 2021-09-03 17:26:13.000000000 +0200 @@ -186,6 +186,22 @@ </UL> +<H2>Version 1.18 - 3 Sep 2021</H2> +<UL> + + <LI>Remove stale email address</LI> + + <LI>Remove some unused variables.</LI> + + <LI>Fix clang compile issue with static function.</LI> + + <LI>Change Freeverb to handle sample rates better.</LI> + + <LI>Fix URL in documentation.</LI> + + <LI>Fix so delay can handle a delay of zero.</LI> + +</UL> <HR/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/doc/overview.html new/cmt_1.18/doc/overview.html --- old/cmt_1.17/doc/overview.html 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/doc/overview.html 2021-09-03 17:26:13.000000000 +0200 @@ -11,7 +11,7 @@ <HR/> -<H1>Computer Music Toolkit (CMT) v1.17 Overview</H1> +<H1>Computer Music Toolkit (CMT) v1.18 Overview</H1> <P>The Computer Music Toolkit (CMT) is a collection of <A HREF="http://www.ladspa.org">LADSPA</A> plugins for use with software diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/am.cpp new/cmt_1.18/src/am.cpp --- old/cmt_1.17/src/am.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/am.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* am.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/ambisonic.cpp new/cmt_1.18/src/ambisonic.cpp --- old/cmt_1.17/src/ambisonic.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/ambisonic.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* ambisonic.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as @@ -22,12 +21,10 @@ /*****************************************************************************/ /* This module provides simple plugins handling B-Format and - FMH-Format audio. Ambisonics is a mathematical technique designed - to capture the sound field around point. See - http://www.muse.demon.co.uk/3daudio.html. "Ambisonics" is a - registered trademark of Nimbus Communications International - although. An exteremly `vanilla' approach is taken to encoding - distance, using inverse square, but no filtering or delay. */ + FMH-Format audio (also known as FuMa). Ambisonics is a mathematical + technique designed to capture the sound field around a point. An + exteremly `vanilla' approach is taken to encoding distance, using + inverse square, but no filtering or delay. */ /*****************************************************************************/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/amp.cpp new/cmt_1.18/src/amp.cpp --- old/cmt_1.17/src/amp.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/amp.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* amp.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/analogue.cpp new/cmt_1.18/src/analogue.cpp --- old/cmt_1.17/src/analogue.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/analogue.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,8 +4,7 @@ Copyright (c) 2000 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/canyondelay.cpp new/cmt_1.18/src/canyondelay.cpp --- old/cmt_1.17/src/canyondelay.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/canyondelay.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,8 +4,7 @@ Copyright (c) 1999, 2000 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/cmt.cpp new/cmt_1.18/src/cmt.cpp --- old/cmt_1.17/src/cmt.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/cmt.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* cmt.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/cmt.h new/cmt_1.18/src/cmt.h --- old/cmt_1.17/src/cmt.h 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/cmt.h 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* cmt.h Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/delay.cpp new/cmt_1.18/src/delay.cpp --- old/cmt_1.17/src/delay.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/delay.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* delay.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as @@ -43,23 +42,23 @@ /*****************************************************************************/ -#define LIMIT_BETWEEN(x, a, b) \ +#define LIMIT_BETWEEN(x, a, b) \ (((x) < a) ? a : (((x) > b) ? b : (x))) /*****************************************************************************/ #define DL_DELAY_LENGTH 0 -#define DL_DRY_WET 1 -#define DL_INPUT 2 -#define DL_OUTPUT 3 +#define DL_DRY_WET 1 +#define DL_INPUT 2 +#define DL_OUTPUT 3 /* Present only on feedback delays: */ -#define DL_FEEDBACK 4 +#define DL_FEEDBACK 4 static void activateDelayLine(LADSPA_Handle Instance); static void runSimpleDelayLine(LADSPA_Handle Instance, - unsigned long SampleCount); + unsigned long SampleCount); static void runFeedbackDelayLine(LADSPA_Handle Instance, - unsigned long SampleCount); + unsigned long SampleCount); /** This class is used to implement delay line plugins. Different maximum delay times are supported as are both echo and feedback @@ -94,7 +93,7 @@ m_fMaximumDelay(fMaximumDelay) { /* Buffer size is a power of two bigger than max delay time. */ unsigned long lMinimumBufferSize - = (unsigned long)((LADSPA_Data)lSampleRate * m_fMaximumDelay); + = (unsigned long)((LADSPA_Data)lSampleRate * m_fMaximumDelay) + 1; m_lBufferSize = 1; while (m_lBufferSize < lMinimumBufferSize) m_lBufferSize <<= 1; @@ -162,11 +161,11 @@ lSampleIndex < SampleCount; lSampleIndex++) { LADSPA_Data fInputSample = *(pfInput++); + pfBuffer[((lSampleIndex + lBufferWriteOffset) + & lBufferSizeMinusOne)] = fInputSample; *(pfOutput++) = (fDry * fInputSample + fWet * pfBuffer[((lSampleIndex + lBufferReadOffset) & lBufferSizeMinusOne)]); - pfBuffer[((lSampleIndex + lBufferWriteOffset) - & lBufferSizeMinusOne)] = fInputSample; } poDelayLine->m_lWritePointer @@ -189,6 +188,12 @@ 0, poDelayLine->m_fMaximumDelay) * poDelayLine->m_fSampleRate); + if (lDelay == 0) { + /* The logic below uses read-then-write, to handle + feedback. Because of this, a value of zero won't do what the + user expects. */ + lDelay = 1; + } LADSPA_Data * pfInput = poDelayLine->m_ppfPorts[DL_INPUT]; @@ -237,10 +242,10 @@ template <long lMaximumDelayMilliseconds> static LADSPA_Handle CMT_Delay_Instantiate(const LADSPA_Descriptor * Descriptor, - unsigned long SampleRate) { + unsigned long SampleRate) { return new DelayLine(SampleRate, - LADSPA_Data(lMaximumDelayMilliseconds - * 0.001)); + LADSPA_Data(lMaximumDelayMilliseconds + * 0.001)); } /*****************************************************************************/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/descriptor.cpp new/cmt_1.18/src/descriptor.cpp --- old/cmt_1.17/src/descriptor.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/descriptor.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* descriptor.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/disintegrator.cpp new/cmt_1.18/src/disintegrator.cpp --- old/cmt_1.17/src/disintegrator.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/disintegrator.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -3,8 +3,7 @@ (c) 2002 Nathaniel Virgo Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as @@ -42,6 +41,9 @@ n_ports = 4 }; + template<OutputFunction write_output> + static void run(LADSPA_Handle instance, + unsigned long sample_count); static void set_run_adding_gain(LADSPA_Handle instance, LADSPA_Data new_gain); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/dynamic.cpp new/cmt_1.18/src/dynamic.cpp --- old/cmt_1.17/src/dynamic.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/dynamic.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* dynamic.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/filter.cpp new/cmt_1.18/src/filter.cpp --- old/cmt_1.17/src/filter.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/filter.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* filter.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/freeverb/Components/revmodel.cpp new/cmt_1.18/src/freeverb/Components/revmodel.cpp --- old/cmt_1.17/src/freeverb/Components/revmodel.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/freeverb/Components/revmodel.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,36 +4,127 @@ // http://www.dreampoint.co.uk // This code is public domain +#include <stdio.h> #include "revmodel.h" -revmodel::revmodel() +int revmodel::calcbufferlength(int tuning, float ratio) { - // 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); + int result; + + result = (int)(tuning*ratio + 0.5f); + if (result == 0) + result = 1; + + return result; +} +revmodel::revmodel(float samplerate) +{ + // Jezar's original comment on the comb/allpass tuning values + // is: "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." He also used fixed-size comb/allpass + // buffers regardless of sample rate. + // + // As higher sample rates are more common these days, the + // buffers are now sized dynamically (with a single memory + // allocation) and are scaled with the following ratio, which + // is 1 for both 44.1kHz and 48kHz (for consistency with + // previous versions). + float ratio = samplerate / 44100.0f; + if (ratio > 1) + ratio = (float)(int)(ratio + 0.5f); + + // Potentially modify the buffers' lengths to handle the + // sample rate. + int comblengthL1 = calcbufferlength(combtuningL1,ratio); + int comblengthR1 = calcbufferlength(combtuningR1,ratio); + int comblengthL2 = calcbufferlength(combtuningL2,ratio); + int comblengthR2 = calcbufferlength(combtuningR2,ratio); + int comblengthL3 = calcbufferlength(combtuningL3,ratio); + int comblengthR3 = calcbufferlength(combtuningR3,ratio); + int comblengthL4 = calcbufferlength(combtuningL4,ratio); + int comblengthR4 = calcbufferlength(combtuningR4,ratio); + int comblengthL5 = calcbufferlength(combtuningL5,ratio); + int comblengthR5 = calcbufferlength(combtuningR5,ratio); + int comblengthL6 = calcbufferlength(combtuningL6,ratio); + int comblengthR6 = calcbufferlength(combtuningR6,ratio); + int comblengthL7 = calcbufferlength(combtuningL7,ratio); + int comblengthR7 = calcbufferlength(combtuningR7,ratio); + int comblengthL8 = calcbufferlength(combtuningL8,ratio); + int comblengthR8 = calcbufferlength(combtuningR8,ratio); + int allpasslengthL1 = calcbufferlength(allpasstuningL1,ratio); + int allpasslengthR1 = calcbufferlength(allpasstuningR1,ratio); + int allpasslengthL2 = calcbufferlength(allpasstuningL2,ratio); + int allpasslengthR2 = calcbufferlength(allpasstuningR2,ratio); + int allpasslengthL3 = calcbufferlength(allpasstuningL3,ratio); + int allpasslengthR3 = calcbufferlength(allpasstuningR3,ratio); + int allpasslengthL4 = calcbufferlength(allpasstuningL4,ratio); + int allpasslengthR4 = calcbufferlength(allpasstuningR4,ratio); + // Create buffer space + buffers = new float[comblengthL1+comblengthR1 + +comblengthL2+comblengthR2 + +comblengthL3+comblengthR3 + +comblengthL4+comblengthR4 + +comblengthL5+comblengthR5 + +comblengthL6+comblengthR6 + +comblengthL7+comblengthR7 + +comblengthL8+comblengthR8 + +allpasslengthL1+allpasslengthR1 + +allpasslengthL2+allpasslengthR2 + +allpasslengthL3+allpasslengthR3 + +allpasslengthL4+allpasslengthR4]; + // Tie the components to their buffers + float * bufferat = buffers; + combL[0].setbuffer(bufferat,comblengthL1); + bufferat += comblengthL1; + combR[0].setbuffer(bufferat,comblengthR1); + bufferat += comblengthR1; + combL[1].setbuffer(bufferat,comblengthL2); + bufferat += comblengthL2; + combR[1].setbuffer(bufferat,comblengthR2); + bufferat += comblengthR2; + combL[2].setbuffer(bufferat,comblengthL3); + bufferat += comblengthL3; + combR[2].setbuffer(bufferat,comblengthR3); + bufferat += comblengthR3; + combL[3].setbuffer(bufferat,comblengthL4); + bufferat += comblengthL4; + combR[3].setbuffer(bufferat,comblengthR4); + bufferat += comblengthR4; + combL[4].setbuffer(bufferat,comblengthL5); + bufferat += comblengthL5; + combR[4].setbuffer(bufferat,comblengthR5); + bufferat += comblengthR5; + combL[5].setbuffer(bufferat,comblengthL6); + bufferat += comblengthL6; + combR[5].setbuffer(bufferat,comblengthR6); + bufferat += comblengthR6; + combL[6].setbuffer(bufferat,comblengthL7); + bufferat += comblengthL7; + combR[6].setbuffer(bufferat,comblengthR7); + bufferat += comblengthR7; + combL[7].setbuffer(bufferat,comblengthL8); + bufferat += comblengthL8; + combR[7].setbuffer(bufferat,comblengthR8); + bufferat += comblengthR8; + allpassL[0].setbuffer(bufferat,allpasslengthL1); + bufferat += allpasslengthL1; + allpassR[0].setbuffer(bufferat,allpasslengthR1); + bufferat += allpasslengthR1; + allpassL[1].setbuffer(bufferat,allpasslengthL2); + bufferat += allpasslengthL2; + allpassR[1].setbuffer(bufferat,allpasslengthR2); + bufferat += allpasslengthR2; + allpassL[2].setbuffer(bufferat,allpasslengthL3); + bufferat += allpasslengthL3; + allpassR[2].setbuffer(bufferat,allpasslengthR3); + bufferat += allpasslengthR3; + allpassL[3].setbuffer(bufferat,allpasslengthL4); + bufferat += allpasslengthL4; + allpassR[3].setbuffer(bufferat,allpasslengthR4); + // Set default values allpassL[0].setfeedback(0.5f); allpassR[0].setfeedback(0.5f); @@ -54,6 +145,11 @@ mute(); } +revmodel::~revmodel() +{ + delete [] buffers; +} + void revmodel::mute() { int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/freeverb/Components/revmodel.h new/cmt_1.18/src/freeverb/Components/revmodel.h --- old/cmt_1.17/src/freeverb/Components/revmodel.h 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/freeverb/Components/revmodel.h 2021-09-03 17:26:13.000000000 +0200 @@ -14,7 +14,8 @@ class revmodel { public: - revmodel(); + revmodel(float samplerate); + ~revmodel(); void mute(); void processmix(float *inputL, float *inputR, float *outputL, float *outputR, long numsamples, int skip); void processreplace(float *inputL, float *inputR, float *outputL, float *outputR, long numsamples, int skip); @@ -31,6 +32,7 @@ void setmode(float value); float getmode(); private: + int calcbufferlength(int tuning, float ratio); void update(); private: float gain; @@ -41,10 +43,6 @@ float width; float mode; - // The following are all declared inline - // to remove the need for dynamic allocation - // with its subsequent error-checking messiness - // Comb filters comb combL[numcombs]; comb combR[numcombs]; @@ -53,33 +51,9 @@ 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 combs and allpasses + float *buffers; - // 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]; }; #endif//_revmodel_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/freeverb/freeverb.cpp new/cmt_1.18/src/freeverb/freeverb.cpp --- old/cmt_1.17/src/freeverb/freeverb.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/freeverb/freeverb.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -2,9 +2,8 @@ Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) 2000-2002 Richard W.E. Furse. Freeverb is also Copyright (C) 2000 - Jezar. Richard may be contacted at richard@muse.demon.co.uk. [V1 - Ported to LADSPA 15/7/2000 Richard W.E. Furse, V3 ported to CMT - 4/11/2000.] + Jezar. [V1 Ported to LADSPA 15/7/2000 Richard W.E. Furse, V3 ported + to CMT 4/11/2000.] This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as @@ -57,9 +56,8 @@ public: Freeverb3(const LADSPA_Descriptor *, unsigned long lSampleRate) - : CMT_PluginInstance(FV_NumPorts) { - /* Richard's note 17/5/2000. Hmm - not sure I like the fact that - lSampleRate isn't actually used in this function! */ + : CMT_PluginInstance(FV_NumPorts), + revmodel((float)lSampleRate) { } friend void activateFreeverb3(LADSPA_Handle Instance); friend void runFreeverb3(LADSPA_Handle Instance, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/grain.cpp new/cmt_1.18/src/grain.cpp --- old/cmt_1.17/src/grain.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/grain.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* grain.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/hardgate.cpp new/cmt_1.18/src/hardgate.cpp --- old/cmt_1.17/src/hardgate.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/hardgate.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -3,8 +3,7 @@ (c) 2002 Nathaniel Virgo Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/init.cpp new/cmt_1.18/src/init.cpp --- old/cmt_1.17/src/init.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/init.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* init.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/ladspa_types.h new/cmt_1.18/src/ladspa_types.h --- old/cmt_1.17/src/ladspa_types.h 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/ladspa_types.h 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* ladspa_types.h Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/lofi.cpp new/cmt_1.18/src/lofi.cpp --- old/cmt_1.17/src/lofi.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/lofi.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,8 +4,7 @@ Copyright (c) 2001 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as @@ -277,8 +276,6 @@ BandwidthLimit *bandwidth_l; BandwidthLimit *bandwidth_r; - int last_trigger; - public: LoFi(const LADSPA_Descriptor *, unsigned long s_rate) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/logistic.cpp new/cmt_1.18/src/logistic.cpp --- old/cmt_1.17/src/logistic.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/logistic.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -6,8 +6,7 @@ Part of the Computer Music Toolkit - a library of LADSPA plugins. The Computer Music Toolkit is Copyright (C) 2000-2002 - Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/mixer.cpp new/cmt_1.18/src/mixer.cpp --- old/cmt_1.17/src/mixer.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/mixer.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* mixer.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/noise.cpp new/cmt_1.18/src/noise.cpp --- old/cmt_1.17/src/noise.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/noise.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* noise.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/null.cpp new/cmt_1.18/src/null.cpp --- old/cmt_1.17/src/null.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/null.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* null.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/organ.cpp new/cmt_1.18/src/organ.cpp --- old/cmt_1.17/src/organ.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/organ.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,8 +4,7 @@ Copyright (c) 1999, 2000 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/peak.cpp new/cmt_1.18/src/peak.cpp --- old/cmt_1.17/src/peak.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/peak.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* peak.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/phasemod.cpp new/cmt_1.18/src/phasemod.cpp --- old/cmt_1.17/src/phasemod.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/phasemod.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,8 +4,7 @@ Copyright (c) 2001 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/pink.cpp new/cmt_1.18/src/pink.cpp --- old/cmt_1.17/src/pink.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/pink.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -5,8 +5,7 @@ (c) 2002 Nathaniel Virgo Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/pink_full.cpp new/cmt_1.18/src/pink_full.cpp --- old/cmt_1.17/src/pink_full.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/pink_full.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -6,8 +6,7 @@ Part of the Computer Music Toolkit - a library of LADSPA plugins. The Computer Music Toolkit is Copyright (C) 2000-2002 - Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as @@ -53,14 +52,12 @@ Voss-McCartney algorithm described at www.firstpr.com.au/dsp/pink-noise/ */ class Plugin : public CMT_PluginInstance { private: - LADSPA_Data sample_rate; PinkNoise noise_source; public: Plugin(const LADSPA_Descriptor *, - unsigned long s_rate) : - CMT_PluginInstance(n_ports), - sample_rate(s_rate) { + unsigned long) : + CMT_PluginInstance(n_ports) { } ~Plugin() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/pink_sh.cpp new/cmt_1.18/src/pink_sh.cpp --- old/cmt_1.17/src/pink_sh.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/pink_sh.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -6,8 +6,7 @@ Part of the Computer Music Toolkit - a library of LADSPA plugins. The Computer Music Toolkit is Copyright (C) 2000-2002 - Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/pinknoise.h new/cmt_1.18/src/pinknoise.h --- old/cmt_1.17/src/pinknoise.h 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/pinknoise.h 2021-09-03 17:26:13.000000000 +0200 @@ -6,8 +6,7 @@ (c) 2002 Nathaniel Virgo Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/run_adding.h new/cmt_1.18/src/run_adding.h --- old/cmt_1.17/src/run_adding.h 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/run_adding.h 2021-09-03 17:26:13.000000000 +0200 @@ -6,8 +6,7 @@ to get run_adding for free. Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/sine.cpp new/cmt_1.18/src/sine.cpp --- old/cmt_1.17/src/sine.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/sine.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* sine.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/sledgehammer.cpp new/cmt_1.18/src/sledgehammer.cpp --- old/cmt_1.17/src/sledgehammer.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/sledgehammer.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -6,8 +6,7 @@ (c) 2002 Nathaniel Virgo Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/syndrum.cpp new/cmt_1.18/src/syndrum.cpp --- old/cmt_1.17/src/syndrum.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/syndrum.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -4,8 +4,7 @@ Copyright (c) 1999, 2000 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/utils.h new/cmt_1.18/src/utils.h --- old/cmt_1.17/src/utils.h 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/utils.h 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* utils.h Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/vcf303.cpp new/cmt_1.18/src/vcf303.cpp --- old/cmt_1.17/src/vcf303.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/vcf303.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -5,8 +5,7 @@ Copyright (c) 1999, 2000 David A. Bartold Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmt_1.17/src/wshape_sine.cpp new/cmt_1.18/src/wshape_sine.cpp --- old/cmt_1.17/src/wshape_sine.cpp 2019-01-03 16:08:22.000000000 +0100 +++ new/cmt_1.18/src/wshape_sine.cpp 2021-09-03 17:26:13.000000000 +0200 @@ -1,8 +1,7 @@ /* wshape_sine.cpp Computer Music Toolkit - a library of LADSPA plugins. Copyright (C) - 2000-2002 Richard W.E. Furse. The author may be contacted at - richard@muse.demon.co.uk. + 2000-2002 Richard W.E. Furse. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as
participants (1)
-
Source-Sync