7 #ifndef __freeverbmonodsp_H__
8 #define __freeverbmonodsp_H__
48 #define FAUSTFLOAT float
102 virtual void init(
int sample_rate) = 0;
226 #include <xmmintrin.h>
228 #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8040)
230 #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8000)
233 #define AVOIDDENORMALS
302 virtual void declare(
const char* key,
const char* value) = 0;
336 #define FAUSTFLOAT float
348 template <
typename REAL>
363 virtual void addButton(
const char* label, REAL* zone) = 0;
365 virtual void addVerticalSlider(
const char* label, REAL* zone, REAL init, REAL min, REAL max, REAL step) = 0;
366 virtual void addHorizontalSlider(
const char* label, REAL* zone, REAL init, REAL min, REAL max, REAL step) = 0;
367 virtual void addNumEntry(
const char* label, REAL* zone, REAL init, REAL min, REAL max, REAL step) = 0;
376 virtual void addSoundfile(
const char* label,
const char* filename, Soundfile** sf_zone) = 0;
380 virtual void declare(REAL* zone,
const char* key,
const char* val) {}
383 struct UI :
public UIReal<FAUSTFLOAT>
415 #ifndef FAUST_PATHBUILDER_H
416 #define FAUST_PATHBUILDER_H
441 std::string res =
"/";
447 std::replace(res.begin(), res.end(),
' ',
'_');
453 std::replace(label.begin(), label.end(),
' ',
'_');
488 #ifndef __ValueConverter__
489 #define __ValueConverter__
561 Range(
double x,
double y) : fLo(std::min<double>(x,y)), fHi(std::max<double>(x,y)) {}
562 double operator()(
double x) {
return (x<fLo) ? fLo : (x>fHi) ? fHi : x; }
572 Interpolator(
double lo,
double hi,
double v1,
double v2) : fRange(lo,hi)
576 fCoef = (v2-v1)/(hi-lo);
577 fOffset = v1 - lo*fCoef;
586 double x = fRange(v);
587 return fOffset + x*fCoef;
613 fSegment1(lo, mi, v1, vm),
614 fSegment2(mi, hi, vm, v2),
616 double operator()(
double x) {
return (x < fMid) ? fSegment1(x) : fSegment2(x); }
655 virtual void setMappingValues(
double amin,
double amid,
double amax,
double min,
double init,
double max) = 0;
678 fUI2F(umin,umax,fmin,fmax), fF2UI(fmin,fmax,umin,umax)
683 virtual double ui2faust(
double x) {
return fUI2F(x); }
684 virtual double faust2ui(
double x) {
return fF2UI(x); }
702 fUI2F(amin, amid, amax, min, init, max), fF2UI(min, init, max, amin, amid, amax)
705 LinearValueConverter2() : fUI2F(0.,0.,0.,0.,0.,0.), fF2UI(0.,0.,0.,0.,0.,0.)
708 virtual double ui2faust(
double x) {
return fUI2F(x); }
709 virtual double faust2ui(
double x) {
return fF2UI(x); }
711 virtual void setMappingValues(
double amin,
double amid,
double amax,
double min,
double init,
double max)
733 LinearValueConverter(umin, umax, std::log(std::max<double>(DBL_MIN, fmin)), std::log(std::max<double>(DBL_MIN, fmax)))
750 LinearValueConverter(umin, umax, std::min<double>(DBL_MAX, std::exp(fmin)), std::min<double>(DBL_MAX, std::exp(fmax)))
772 AccUpConverter(
double amin,
double amid,
double amax,
double fmin,
double fmid,
double fmax) :
773 fA2F(amin,amid,amax,fmin,fmid,fmax),
774 fF2A(fmin,fmid,fmax,amin,amid,amax)
777 virtual double ui2faust(
double x) {
return fA2F(x); }
778 virtual double faust2ui(
double x) {
return fF2A(x); }
780 virtual void setMappingValues(
double amin,
double amid,
double amax,
double fmin,
double fmid,
double fmax)
808 AccDownConverter(
double amin,
double amid,
double amax,
double fmin,
double fmid,
double fmax) :
809 fA2F(amin,amid,amax,fmax,fmid,fmin),
810 fF2A(fmin,fmid,fmax,amax,amid,amin)
813 virtual double ui2faust(
double x) {
return fA2F(x); }
814 virtual double faust2ui(
double x) {
return fF2A(x); }
816 virtual void setMappingValues(
double amin,
double amid,
double amax,
double fmin,
double fmid,
double fmax)
844 fA2F(amin,amid,amax,fmin,fmax,fmin),
845 fF2A(fmin,fmax,amin,amax)
848 virtual double ui2faust(
double x) {
return fA2F(x); }
849 virtual double faust2ui(
double x) {
return fF2A(x); }
851 virtual void setMappingValues(
double amin,
double amid,
double amax,
double fmin,
double fmid,
double fmax)
879 fA2F(amin,amid,amax,fmax,fmin,fmax),
880 fF2A(fmin,fmax,amin,amax)
883 virtual double ui2faust(
double x) {
return fA2F(x); }
884 virtual double faust2ui(
double x) {
return fF2A(x); }
886 virtual void setMappingValues(
double amin,
double amid,
double amax,
double fmin,
double fmid,
double fmax)
916 virtual void setMappingValues(
int curve,
double amin,
double amid,
double amax,
double min,
double init,
double max) {}
958 std::vector<UpdatableValueConverter*> fValueConverters;
965 assert(curve >= 0 && curve <= 3);
966 fValueConverters.push_back(
new AccUpConverter(amin, amid, amax, min, init, max));
967 fValueConverters.push_back(
new AccDownConverter(amin, amid, amax, min, init, max));
974 std::vector<UpdatableValueConverter*>::iterator it;
975 for (it = fValueConverters.begin(); it != fValueConverters.end(); it++) {
979 void update(
double v)
const {
if (fValueConverters[fCurve]->
getActive()) *
fZone = fValueConverters[fCurve]->ui2faust(v); }
981 void setMappingValues(
int curve,
double amin,
double amid,
double amax,
double min,
double init,
double max)
983 fValueConverters[curve]->setMappingValues(amin, amid, amax, min, init, max);
989 fValueConverters[fCurve]->getMappingValues(amin, amid, amax);
994 std::vector<UpdatableValueConverter*>::iterator it;
995 for (it = fValueConverters.begin(); it != fValueConverters.end(); it++) {
996 (*it)->setActive(on_off);
1019 return (fZone !=
nullptr) ? int(fInterpolator(*fZone)) : 127;
1038 std::vector<std::string>
fPaths;
1039 std::vector<std::string>
fLabels;
1040 std::map<std::string, int>
fPathMap;
1043 std::vector<FAUSTFLOAT*>
fZone;
1044 std::vector<FAUSTFLOAT>
fInit;
1045 std::vector<FAUSTFLOAT>
fMin;
1046 std::vector<FAUSTFLOAT>
fMax;
1047 std::vector<FAUSTFLOAT>
fStep;
1049 std::vector<std::map<std::string, std::string> >
fMetaData;
1050 std::vector<ZoneControl*>
fAcc[3];
1051 std::vector<ZoneControl*>
fGyr[3];
1082 fZone.push_back(zone);
1083 fInit.push_back(init);
1084 fMin.push_back(min);
1085 fMax.push_back(max);
1086 fStep.push_back(step);
1103 std::cerr <<
"warning : 'acc' and 'gyr' metadata used for the same " << label <<
" parameter !!\n";
1110 double amin, amid, amax;
1111 iss >> axe >> curve >> amin >> amid >> amax;
1113 if ((0 <= axe) && (axe < 3) &&
1114 (0 <= curve) && (curve < 4) &&
1115 (amin < amax) && (amin <= amid) && (amid <= amax))
1119 std::cerr <<
"incorrect acc metadata : " <<
fCurrentAcc << std::endl;
1128 double amin, amid, amax;
1129 iss >> axe >> curve >> amin >> amid >> amax;
1131 if ((0 <= axe) && (axe < 3) &&
1132 (0 <= curve) && (curve < 4) &&
1133 (amin < amax) && (amin <= amid) && (amid <= amax))
1137 std::cerr <<
"incorrect gyr metadata : " <<
fCurrentGyr << std::endl;
1159 std::cerr <<
"incorrect screencolor metadata : " <<
fCurrentColor << std::endl;
1171 for (
size_t i = 0; i < table[val].size(); i++) {
1172 if (zone == table[val][i]->getZone())
return int(i);
1177 void setConverter(std::vector<ZoneControl*>* table,
int p,
int val,
int curve,
double amin,
double amid,
double amax)
1184 if (id1 != -1) table[0][id1]->setActive(
false);
1185 if (id2 != -1) table[1][id2]->setActive(
false);
1186 if (id3 != -1) table[2][id3]->setActive(
false);
1194 table[val][id4]->setMappingValues(curve, amin, amid, amax,
fMin[p],
fInit[p],
fMax[p]);
1195 table[val][id4]->setActive(
true);
1204 void getConverter(std::vector<ZoneControl*>* table,
int p,
int& val,
int& curve,
double& amin,
double& amid,
double& amax)
1212 curve = table[val][id1]->getCurve();
1213 table[val][id1]->getMappingValues(amin, amid, amax);
1214 }
else if (id2 != -1) {
1216 curve = table[val][id2]->getCurve();
1217 table[val][id2]->getMappingValues(amin, amid, amax);
1218 }
else if (id3 != -1) {
1220 curve = table[val][id3]->getCurve();
1221 table[val][id3]->getMappingValues(amin, amid, amax);
1241 for (
int i = 0; i < 3; i++) {
1242 for (
auto& it :
fAcc[i])
delete it;
1243 for (
auto& it :
fGyr[i])
delete it;
1298 virtual void addSoundfile(
const char* label,
const char* filename, Soundfile** sf_zone) {}
1307 if (strcmp(key,
"scale") == 0) {
1308 if (strcmp(val,
"log") == 0) {
1310 }
else if (strcmp(val,
"exp") == 0) {
1315 }
else if (strcmp(key,
"unit") == 0) {
1317 }
else if (strcmp(key,
"acc") == 0) {
1319 }
else if (strcmp(key,
"gyr") == 0) {
1321 }
else if (strcmp(key,
"screencolor") == 0) {
1323 }
else if (strcmp(key,
"tooltip") == 0) {
1328 virtual void declare(
const char* key,
const char* val)
1349 std::map<const char*, const char*> res;
1350 std::map<std::string, std::string> metadata =
fMetaData[p];
1351 for (
auto it : metadata) {
1352 res[it.first.c_str()] = it.second.c_str();
1420 for (
size_t i = 0; i <
fAcc[acc].size(); i++) {
1421 fAcc[acc][i]->update(value);
1468 void getAccConverter(
int p,
int& acc,
int& curve,
double& amin,
double& amid,
double& amax)
1484 void getGyrConverter(
int p,
int& gyr,
int& curve,
double& amin,
double& amid,
double& amax)
1498 for (
size_t i = 0; i <
fGyr[gyr].size(); i++) {
1499 fGyr[gyr][i]->update(value);
1512 return (acc >= 0 && acc < 3) ? int(
fAcc[acc].size()) : 0;
1524 return (gyr >= 0 && gyr < 3) ? int(
fGyr[gyr].size()) : 0;
1535 return (r<<16) | (g<<8) | b;
1555 #define FAUSTFLOAT float
1558 #include <algorithm>
1564 #define FAUSTCLASS freeverbmonodsp
1568 #define exp10f __exp10f
1569 #define exp10 __exp10
1670 m->
declare(
"delays.lib/name",
"Faust Delay Library");
1671 m->
declare(
"delays.lib/version",
"0.1");
1672 m->
declare(
"filename",
"freeverbmonodsp.dsp");
1673 m->
declare(
"filters.lib/allpass_comb:author",
"Julius O. Smith III");
1674 m->
declare(
"filters.lib/allpass_comb:copyright",
"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
1675 m->
declare(
"filters.lib/allpass_comb:license",
"MIT-style STK-4.3 license");
1676 m->
declare(
"filters.lib/lowpass0_highpass1",
"MIT-style STK-4.3 license");
1677 m->
declare(
"filters.lib/name",
"Faust Filters Library");
1678 m->
declare(
"freeverbdsp.dsp/author",
"Romain Michon");
1679 m->
declare(
"freeverbdsp.dsp/description",
"Freeverb implementation in Faust, from the Faust Library's dm.freeverb_demo in demos.lib");
1680 m->
declare(
"freeverbdsp.dsp/license",
"LGPL");
1681 m->
declare(
"freeverbdsp.dsp/name",
"freeverb");
1682 m->
declare(
"freeverbdsp.dsp/version",
"0.0");
1683 m->
declare(
"maths.lib/author",
"GRAME");
1684 m->
declare(
"maths.lib/copyright",
"GRAME");
1685 m->
declare(
"maths.lib/license",
"LGPL with exception");
1686 m->
declare(
"maths.lib/name",
"Faust Math Library");
1687 m->
declare(
"maths.lib/version",
"2.3");
1688 m->
declare(
"name",
"freeverbmonodsp");
1689 m->
declare(
"platform.lib/name",
"Generic Platform Library");
1690 m->
declare(
"platform.lib/version",
"0.1");
1691 m->
declare(
"reverbs.lib/name",
"Faust Reverb Library");
1692 m->
declare(
"reverbs.lib/version",
"0.0");
1703 switch ((channel)) {
1717 switch ((channel)) {
1734 fSampleRate = sample_rate;
1735 fConst0 = std::min<float>(192000.0f, std::max<float>(1.0f,
float(fSampleRate)));
1736 fConst1 = (12348.0f / fConst0);
1737 fConst2 = (17640.0f / fConst0);
1738 iConst3 = int((0.0253061224f * fConst0));
1739 fConst4 = (0.00104308384f * fConst0);
1740 iConst5 = int((0.0269387756f * fConst0));
1741 iConst6 = int((0.0289569162f * fConst0));
1742 iConst7 = int((0.0307482984f * fConst0));
1743 iConst8 = int((0.0322448984f * fConst0));
1744 iConst9 = int((0.033809524f * fConst0));
1745 iConst10 = int((0.0353061222f * fConst0));
1746 iConst11 = int((0.0366666652f * fConst0));
1747 iConst12 = int((0.0126077095f * fConst0));
1748 iConst13 = int((0.00999999978f * fConst0));
1749 iConst14 = int((0.00773242628f * fConst0));
1750 iConst15 = int((0.00510204071f * fConst0));
1751 iConst16 = std::min<int>(1024, std::max<int>(0, (iConst12 + -1)));
1752 iConst17 = std::min<int>(1024, std::max<int>(0, (iConst13 + -1)));
1753 iConst18 = std::min<int>(1024, std::max<int>(0, (iConst14 + -1)));
1754 iConst19 = std::min<int>(1024, std::max<int>(0, (iConst15 + -1)));
1758 fVslider0 =
FAUSTFLOAT(0.10000000000000001f);
1759 fVslider1 =
FAUSTFLOAT(0.10000000000000001f);
1765 for (
int l0 = 0; (l0 < 2); l0 = (l0 + 1)) {
1769 for (
int l1 = 0; (l1 < 8192); l1 = (l1 + 1)) {
1772 for (
int l2 = 0; (l2 < 2); l2 = (l2 + 1)) {
1775 for (
int l3 = 0; (l3 < 2); l3 = (l3 + 1)) {
1778 for (
int l4 = 0; (l4 < 8192); l4 = (l4 + 1)) {
1781 for (
int l5 = 0; (l5 < 2); l5 = (l5 + 1)) {
1784 for (
int l6 = 0; (l6 < 2); l6 = (l6 + 1)) {
1787 for (
int l7 = 0; (l7 < 8192); l7 = (l7 + 1)) {
1790 for (
int l8 = 0; (l8 < 2); l8 = (l8 + 1)) {
1793 for (
int l9 = 0; (l9 < 2); l9 = (l9 + 1)) {
1796 for (
int l10 = 0; (l10 < 8192); l10 = (l10 + 1)) {
1799 for (
int l11 = 0; (l11 < 2); l11 = (l11 + 1)) {
1802 for (
int l12 = 0; (l12 < 2); l12 = (l12 + 1)) {
1805 for (
int l13 = 0; (l13 < 8192); l13 = (l13 + 1)) {
1808 for (
int l14 = 0; (l14 < 2); l14 = (l14 + 1)) {
1811 for (
int l15 = 0; (l15 < 2); l15 = (l15 + 1)) {
1814 for (
int l16 = 0; (l16 < 8192); l16 = (l16 + 1)) {
1817 for (
int l17 = 0; (l17 < 2); l17 = (l17 + 1)) {
1820 for (
int l18 = 0; (l18 < 2); l18 = (l18 + 1)) {
1823 for (
int l19 = 0; (l19 < 8192); l19 = (l19 + 1)) {
1826 for (
int l20 = 0; (l20 < 2); l20 = (l20 + 1)) {
1829 for (
int l21 = 0; (l21 < 2); l21 = (l21 + 1)) {
1832 for (
int l22 = 0; (l22 < 8192); l22 = (l22 + 1)) {
1835 for (
int l23 = 0; (l23 < 2); l23 = (l23 + 1)) {
1838 for (
int l24 = 0; (l24 < 2048); l24 = (l24 + 1)) {
1841 for (
int l25 = 0; (l25 < 2); l25 = (l25 + 1)) {
1844 for (
int l26 = 0; (l26 < 2048); l26 = (l26 + 1)) {
1847 for (
int l27 = 0; (l27 < 2); l27 = (l27 + 1)) {
1850 for (
int l28 = 0; (l28 < 2048); l28 = (l28 + 1)) {
1853 for (
int l29 = 0; (l29 < 2); l29 = (l29 + 1)) {
1856 for (
int l30 = 0; (l30 < 2048); l30 = (l30 + 1)) {
1859 for (
int l31 = 0; (l31 < 2); l31 = (l31 + 1)) {
1862 for (
int l32 = 0; (l32 < 2); l32 = (l32 + 1)) {
1865 for (
int l33 = 0; (l33 < 8192); l33 = (l33 + 1)) {
1868 for (
int l34 = 0; (l34 < 2); l34 = (l34 + 1)) {
1871 for (
int l35 = 0; (l35 < 2); l35 = (l35 + 1)) {
1874 for (
int l36 = 0; (l36 < 8192); l36 = (l36 + 1)) {
1877 for (
int l37 = 0; (l37 < 2); l37 = (l37 + 1)) {
1880 for (
int l38 = 0; (l38 < 2); l38 = (l38 + 1)) {
1883 for (
int l39 = 0; (l39 < 8192); l39 = (l39 + 1)) {
1886 for (
int l40 = 0; (l40 < 2); l40 = (l40 + 1)) {
1889 for (
int l41 = 0; (l41 < 2); l41 = (l41 + 1)) {
1892 for (
int l42 = 0; (l42 < 8192); l42 = (l42 + 1)) {
1895 for (
int l43 = 0; (l43 < 2); l43 = (l43 + 1)) {
1898 for (
int l44 = 0; (l44 < 2); l44 = (l44 + 1)) {
1901 for (
int l45 = 0; (l45 < 8192); l45 = (l45 + 1)) {
1904 for (
int l46 = 0; (l46 < 2); l46 = (l46 + 1)) {
1907 for (
int l47 = 0; (l47 < 2); l47 = (l47 + 1)) {
1910 for (
int l48 = 0; (l48 < 8192); l48 = (l48 + 1)) {
1913 for (
int l49 = 0; (l49 < 2); l49 = (l49 + 1)) {
1916 for (
int l50 = 0; (l50 < 2); l50 = (l50 + 1)) {
1919 for (
int l51 = 0; (l51 < 8192); l51 = (l51 + 1)) {
1922 for (
int l52 = 0; (l52 < 2); l52 = (l52 + 1)) {
1925 for (
int l53 = 0; (l53 < 2); l53 = (l53 + 1)) {
1928 for (
int l54 = 0; (l54 < 8192); l54 = (l54 + 1)) {
1931 for (
int l55 = 0; (l55 < 2); l55 = (l55 + 1)) {
1934 for (
int l56 = 0; (l56 < 2048); l56 = (l56 + 1)) {
1937 for (
int l57 = 0; (l57 < 2); l57 = (l57 + 1)) {
1940 for (
int l58 = 0; (l58 < 2048); l58 = (l58 + 1)) {
1943 for (
int l59 = 0; (l59 < 2); l59 = (l59 + 1)) {
1946 for (
int l60 = 0; (l60 < 2048); l60 = (l60 + 1)) {
1949 for (
int l61 = 0; (l61 < 2); l61 = (l61 + 1)) {
1952 for (
int l62 = 0; (l62 < 1024); l62 = (l62 + 1)) {
1955 for (
int l63 = 0; (l63 < 2); l63 = (l63 + 1)) {
1960 virtual void init(
int sample_rate) {
1980 ui_interface->
declare(0,
"0",
"");
1982 ui_interface->
declare(&fVslider2,
"0",
"");
1983 ui_interface->
declare(&fVslider2,
"style",
"knob");
1984 ui_interface->
declare(&fVslider2,
"tooltip",
"Somehow control the density of the reverb.");
1985 ui_interface->
addVerticalSlider(
"Damp", &fVslider2, 0.5f, 0.0f, 1.0f, 0.0250000004f);
1986 ui_interface->
declare(&fVslider1,
"1",
"");
1987 ui_interface->
declare(&fVslider1,
"style",
"knob");
1988 ui_interface->
declare(&fVslider1,
"tooltip",
"The room size between 0 and 1 with 1 for the largest room.");
1989 ui_interface->
addVerticalSlider(
"RoomSize", &fVslider1, 0.100000001f, 0.0f, 1.0f, 0.0250000004f);
1990 ui_interface->
declare(&fVslider3,
"2",
"");
1991 ui_interface->
declare(&fVslider3,
"style",
"knob");
1992 ui_interface->
declare(&fVslider3,
"tooltip",
"Spatial spread between 0 and 1 with 1 for maximum spread.");
1993 ui_interface->
addVerticalSlider(
"Stereo Spread", &fVslider3, 0.5f, 0.0f, 1.0f, 0.00999999978f);
1995 ui_interface->
declare(&fVslider0,
"1",
"");
1996 ui_interface->
declare(&fVslider0,
"tooltip",
"The amount of reverb applied to the signal between 0 and 1 with 1 for the maximum amount of reverb.");
1997 ui_interface->
addVerticalSlider(
"Wet", &fVslider0, 0.100000001f, 0.0f, 1.0f, 0.0250000004f);
2004 float fSlow0 = float(fVslider0);
2005 float fSlow1 = (0.200000003f * fSlow0);
2006 float fSlow2 = ((fConst1 * float(fVslider1)) + 0.699999988f);
2007 float fSlow3 = (fConst2 * float(fVslider2));
2008 float fSlow4 = (1.0f - fSlow3);
2009 int iSlow5 = int((fConst4 *
float(fVslider3)));
2010 int iSlow6 = (iConst3 + iSlow5);
2011 int iSlow7 = (iConst5 + iSlow5);
2012 int iSlow8 = (iConst6 + iSlow5);
2013 int iSlow9 = (iConst7 + iSlow5);
2014 int iSlow10 = (iConst8 + iSlow5);
2015 int iSlow11 = (iConst9 + iSlow5);
2016 int iSlow12 = (iConst10 + iSlow5);
2017 int iSlow13 = (iConst11 + iSlow5);
2018 int iSlow14 = (iSlow5 + -1);
2019 int iSlow15 = std::min<int>(1024, std::max<int>(0, (iConst12 + iSlow14)));
2020 int iSlow16 = std::min<int>(1024, std::max<int>(0, (iConst13 + iSlow14)));
2021 int iSlow17 = std::min<int>(1024, std::max<int>(0, (iConst14 + iSlow14)));
2022 int iSlow18 = std::min<int>(1024, std::max<int>(0, (iConst15 + iSlow14)));
2023 float fSlow19 = (2.0f * (1.0f - fSlow0));
2024 for (
int i = 0; (i < count); i = (i + 1)) {
2025 float fTemp0 = float(input0[i]);
2026 float fTemp1 = (fSlow1 * fTemp0);
2027 fRec9[0] = ((fSlow3 * fRec9[1]) + (fSlow4 * fRec8[1]));
2028 fVec0[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec9[0]));
2029 fRec8[0] = fVec0[((IOTA - iSlow6) & 8191)];
2030 fRec11[0] = ((fSlow3 * fRec11[1]) + (fSlow4 * fRec10[1]));
2031 fVec1[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec11[0]));
2032 fRec10[0] = fVec1[((IOTA - iSlow7) & 8191)];
2033 fRec13[0] = ((fSlow3 * fRec13[1]) + (fSlow4 * fRec12[1]));
2034 fVec2[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec13[0]));
2035 fRec12[0] = fVec2[((IOTA - iSlow8) & 8191)];
2036 fRec15[0] = ((fSlow3 * fRec15[1]) + (fSlow4 * fRec14[1]));
2037 fVec3[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec15[0]));
2038 fRec14[0] = fVec3[((IOTA - iSlow9) & 8191)];
2039 fRec17[0] = ((fSlow3 * fRec17[1]) + (fSlow4 * fRec16[1]));
2040 fVec4[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec17[0]));
2041 fRec16[0] = fVec4[((IOTA - iSlow10) & 8191)];
2042 fRec19[0] = ((fSlow3 * fRec19[1]) + (fSlow4 * fRec18[1]));
2043 fVec5[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec19[0]));
2044 fRec18[0] = fVec5[((IOTA - iSlow11) & 8191)];
2045 fRec21[0] = ((fSlow3 * fRec21[1]) + (fSlow4 * fRec20[1]));
2046 fVec6[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec21[0]));
2047 fRec20[0] = fVec6[((IOTA - iSlow12) & 8191)];
2048 fRec23[0] = ((fSlow3 * fRec23[1]) + (fSlow4 * fRec22[1]));
2049 fVec7[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec23[0]));
2050 fRec22[0] = fVec7[((IOTA - iSlow13) & 8191)];
2051 float fTemp2 = ((((((((fRec8[0] + fRec10[0]) + fRec12[0]) + fRec14[0]) + fRec16[0]) + fRec18[0]) + fRec20[0]) + fRec22[0]) + (0.5f * fRec6[1]));
2052 fVec8[(IOTA & 2047)] = fTemp2;
2053 fRec6[0] = fVec8[((IOTA - iSlow15) & 2047)];
2054 float fRec7 = (0.0f - (0.5f * fTemp2));
2055 float fTemp3 = (fRec6[1] + (fRec7 + (0.5f * fRec4[1])));
2056 fVec9[(IOTA & 2047)] = fTemp3;
2057 fRec4[0] = fVec9[((IOTA - iSlow16) & 2047)];
2058 float fRec5 = (0.0f - (0.5f * fTemp3));
2059 float fTemp4 = (fRec4[1] + (fRec5 + (0.5f * fRec2[1])));
2060 fVec10[(IOTA & 2047)] = fTemp4;
2061 fRec2[0] = fVec10[((IOTA - iSlow17) & 2047)];
2062 float fRec3 = (0.0f - (0.5f * fTemp4));
2063 float fTemp5 = (fRec2[1] + (fRec3 + (0.5f * fRec0[1])));
2064 fVec11[(IOTA & 2047)] = fTemp5;
2065 fRec0[0] = fVec11[((IOTA - iSlow18) & 2047)];
2066 float fRec1 = (0.0f - (0.5f * fTemp5));
2067 fRec33[0] = ((fSlow3 * fRec33[1]) + (fSlow4 * fRec32[1]));
2068 fVec12[(IOTA & 8191)] = ((fSlow2 * fRec33[0]) + fTemp1);
2069 fRec32[0] = fVec12[((IOTA - iConst3) & 8191)];
2070 fRec35[0] = ((fSlow3 * fRec35[1]) + (fSlow4 * fRec34[1]));
2071 fVec13[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec35[0]));
2072 fRec34[0] = fVec13[((IOTA - iConst5) & 8191)];
2073 fRec37[0] = ((fSlow3 * fRec37[1]) + (fSlow4 * fRec36[1]));
2074 fVec14[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec37[0]));
2075 fRec36[0] = fVec14[((IOTA - iConst6) & 8191)];
2076 fRec39[0] = ((fSlow3 * fRec39[1]) + (fSlow4 * fRec38[1]));
2077 fVec15[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec39[0]));
2078 fRec38[0] = fVec15[((IOTA - iConst7) & 8191)];
2079 fRec41[0] = ((fSlow3 * fRec41[1]) + (fSlow4 * fRec40[1]));
2080 fVec16[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec41[0]));
2081 fRec40[0] = fVec16[((IOTA - iConst8) & 8191)];
2082 fRec43[0] = ((fSlow3 * fRec43[1]) + (fSlow4 * fRec42[1]));
2083 fVec17[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec43[0]));
2084 fRec42[0] = fVec17[((IOTA - iConst9) & 8191)];
2085 fRec45[0] = ((fSlow3 * fRec45[1]) + (fSlow4 * fRec44[1]));
2086 fVec18[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec45[0]));
2087 fRec44[0] = fVec18[((IOTA - iConst10) & 8191)];
2088 fRec47[0] = ((fSlow3 * fRec47[1]) + (fSlow4 * fRec46[1]));
2089 fVec19[(IOTA & 8191)] = (fTemp1 + (fSlow2 * fRec47[0]));
2090 fRec46[0] = fVec19[((IOTA - iConst11) & 8191)];
2091 float fTemp6 = ((((((((fRec32[0] + fRec34[0]) + fRec36[0]) + fRec38[0]) + fRec40[0]) + fRec42[0]) + fRec44[0]) + fRec46[0]) + (0.5f * fRec30[1]));
2092 fVec20[(IOTA & 2047)] = fTemp6;
2093 fRec30[0] = fVec20[((IOTA - iConst16) & 2047)];
2094 float fRec31 = (0.0f - (0.5f * fTemp6));
2095 float fTemp7 = (fRec30[1] + (fRec31 + (0.5f * fRec28[1])));
2096 fVec21[(IOTA & 2047)] = fTemp7;
2097 fRec28[0] = fVec21[((IOTA - iConst17) & 2047)];
2098 float fRec29 = (0.0f - (0.5f * fTemp7));
2099 float fTemp8 = (fRec28[1] + (fRec29 + (0.5f * fRec26[1])));
2100 fVec22[(IOTA & 2047)] = fTemp8;
2101 fRec26[0] = fVec22[((IOTA - iConst18) & 2047)];
2102 float fRec27 = (0.0f - (0.5f * fTemp8));
2103 float fTemp9 = (fRec26[1] + (fRec27 + (0.5f * fRec24[1])));
2104 fVec23[(IOTA & 1023)] = fTemp9;
2105 fRec24[0] = fVec23[((IOTA - iConst19) & 1023)];
2106 float fRec25 = (0.0f - (0.5f * fTemp9));
2107 output0[i] =
FAUSTFLOAT((fRec0[1] + ((fRec24[1] + (fRec25 + fRec1)) + (fSlow19 * fTemp0))));
2108 fRec9[1] = fRec9[0];
2110 fRec8[1] = fRec8[0];
2111 fRec11[1] = fRec11[0];
2112 fRec10[1] = fRec10[0];
2113 fRec13[1] = fRec13[0];
2114 fRec12[1] = fRec12[0];
2115 fRec15[1] = fRec15[0];
2116 fRec14[1] = fRec14[0];
2117 fRec17[1] = fRec17[0];
2118 fRec16[1] = fRec16[0];
2119 fRec19[1] = fRec19[0];
2120 fRec18[1] = fRec18[0];
2121 fRec21[1] = fRec21[0];
2122 fRec20[1] = fRec20[0];
2123 fRec23[1] = fRec23[0];
2124 fRec22[1] = fRec22[0];
2125 fRec6[1] = fRec6[0];
2126 fRec4[1] = fRec4[0];
2127 fRec2[1] = fRec2[0];
2128 fRec0[1] = fRec0[0];
2129 fRec33[1] = fRec33[0];
2130 fRec32[1] = fRec32[0];
2131 fRec35[1] = fRec35[0];
2132 fRec34[1] = fRec34[0];
2133 fRec37[1] = fRec37[0];
2134 fRec36[1] = fRec36[0];
2135 fRec39[1] = fRec39[0];
2136 fRec38[1] = fRec38[0];
2137 fRec41[1] = fRec41[0];
2138 fRec40[1] = fRec40[0];
2139 fRec43[1] = fRec43[0];
2140 fRec42[1] = fRec42[0];
2141 fRec45[1] = fRec45[0];
2142 fRec44[1] = fRec44[0];
2143 fRec47[1] = fRec47[0];
2144 fRec46[1] = fRec46[0];
2145 fRec30[1] = fRec30[0];
2146 fRec28[1] = fRec28[0];
2147 fRec26[1] = fRec26[0];
2148 fRec24[1] = fRec24[0];
Definition: compressordsp.h:1031
std::string fCurrentAcc
Definition: compressordsp.h:1066
std::vector< FAUSTFLOAT > fMax
Definition: compressordsp.h:1049
void getGyrConverter(int p, int &gyr, int &curve, double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:1484
@ kExp
Definition: compressordsp.h:1038
@ kLin
Definition: compressordsp.h:1038
@ kLog
Definition: compressordsp.h:1038
const char * getMetadata(int p, const char *key)
Definition: freeverbmonodsp.h:1357
void propagateAcc(int acc, double value)
Definition: freeverbmonodsp.h:1418
int getGyrCount(int gyr)
Definition: freeverbmonodsp.h:1522
int getParamsCount()
Definition: freeverbmonodsp.h:1334
virtual void addButton(const char *label, FAUSTFLOAT *zone)
Definition: freeverbmonodsp.h:1259
const char * getParamLabel(int p)
Definition: freeverbmonodsp.h:1346
virtual void closeBox()
Definition: freeverbmonodsp.h:1255
void setParamRatio(int p, double r)
Definition: freeverbmonodsp.h:1371
FAUSTFLOAT getParamInit(int p)
Definition: freeverbmonodsp.h:1364
std::map< std::string, int > fPathMap
Definition: compressordsp.h:1043
int getZoneIndex(std::vector< ZoneControl * > *table, int p, int val)
Definition: freeverbmonodsp.h:1168
double getParamRatio(int p)
Definition: freeverbmonodsp.h:1370
ItemType getParamItemType(int p)
Definition: freeverbmonodsp.h:1406
void getAccConverter(int p, int &acc, int &curve, double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:1468
int getParamIndex(const char *path)
Definition: freeverbmonodsp.h:1335
const char * getParamAddress(int p)
Definition: freeverbmonodsp.h:1345
std::vector< FAUSTFLOAT > fMin
Definition: compressordsp.h:1048
double value2ratio(int p, double r)
Definition: freeverbmonodsp.h:1373
virtual void declare(const char *key, const char *val)
Definition: freeverbmonodsp.h:1328
virtual void addParameter(const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step, ItemType type)
Definition: freeverbmonodsp.h:1070
virtual void addHorizontalSlider(const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
Definition: freeverbmonodsp.h:1274
ItemType
Definition: compressordsp.h:1034
@ kHBargraph
Definition: compressordsp.h:1034
@ kButton
Definition: compressordsp.h:1034
@ kVBargraph
Definition: compressordsp.h:1034
@ kCheckButton
Definition: compressordsp.h:1034
@ kHSlider
Definition: compressordsp.h:1034
@ kNumEntry
Definition: compressordsp.h:1034
@ kVSlider
Definition: compressordsp.h:1034
std::vector< ZoneControl * > fGyr[3]
Definition: compressordsp.h:1054
virtual void declare(FAUSTFLOAT *zone, const char *key, const char *val)
Definition: freeverbmonodsp.h:1302
virtual void addCheckButton(const char *label, FAUSTFLOAT *zone)
Definition: freeverbmonodsp.h:1264
std::vector< std::string > fPaths
Definition: compressordsp.h:1041
std::vector< FAUSTFLOAT > fInit
Definition: compressordsp.h:1047
virtual void addVerticalSlider(const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
Definition: freeverbmonodsp.h:1269
void getConverter(std::vector< ZoneControl * > *table, int p, int &val, int &curve, double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:1204
virtual void addHorizontalBargraph(const char *label, FAUSTFLOAT *zone, FAUSTFLOAT min, FAUSTFLOAT max)
Definition: freeverbmonodsp.h:1286
virtual void addNumEntry(const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
Definition: freeverbmonodsp.h:1279
std::vector< std::map< std::string, std::string > > fMetaData
Definition: compressordsp.h:1052
std::map< const char *, const char * > getMetadata(int p)
Definition: freeverbmonodsp.h:1347
int fCurrentScale
Definition: compressordsp.h:1065
virtual ~APIUI()
Definition: freeverbmonodsp.h:1238
std::vector< std::string > fLabels
Definition: compressordsp.h:1042
int fNumParameters
Definition: compressordsp.h:1040
std::vector< ItemType > fItemType
Definition: compressordsp.h:1051
Type
Definition: compressordsp.h:1236
@ kAcc
Definition: compressordsp.h:1236
@ kNoType
Definition: compressordsp.h:1236
@ kGyr
Definition: compressordsp.h:1236
std::string fCurrentColor
Definition: compressordsp.h:1068
ZoneReader * fGreenReader
Definition: compressordsp.h:1060
std::string fCurrentTooltip
Definition: compressordsp.h:1069
ZoneReader * fRedReader
Definition: compressordsp.h:1059
void setConverter(std::vector< ZoneControl * > *table, int p, int val, int curve, double amin, double amid, double amax)
Definition: freeverbmonodsp.h:1177
int getAccCount(int acc)
Definition: freeverbmonodsp.h:1510
void propagateGyr(int gyr, double value)
Definition: freeverbmonodsp.h:1496
virtual void openVerticalBox(const char *label)
Definition: freeverbmonodsp.h:1254
std::string fCurrentGyr
Definition: compressordsp.h:1067
void setParamValue(int p, FAUSTFLOAT v)
Definition: freeverbmonodsp.h:1368
ZoneReader * fBlueReader
Definition: compressordsp.h:1061
FAUSTFLOAT getParamValue(int p)
Definition: freeverbmonodsp.h:1367
virtual void openHorizontalBox(const char *label)
Definition: freeverbmonodsp.h:1253
std::map< std::string, std::string > fCurrentMetadata
Definition: compressordsp.h:1070
void setGyrConverter(int p, int gyr, int curve, double amin, double amid, double amax)
Definition: freeverbmonodsp.h:1452
std::string fCurrentUnit
Definition: compressordsp.h:1064
std::vector< ValueConverter * > fConversion
Definition: compressordsp.h:1045
APIUI()
Definition: freeverbmonodsp.h:1235
std::vector< ZoneControl * > fAcc[3]
Definition: compressordsp.h:1053
FAUSTFLOAT getParamStep(int p)
Definition: freeverbmonodsp.h:1363
virtual void addVerticalBargraph(const char *label, FAUSTFLOAT *zone, FAUSTFLOAT min, FAUSTFLOAT max)
Definition: freeverbmonodsp.h:1291
std::map< std::string, int > fLabelMap
Definition: compressordsp.h:1044
virtual void openTabBox(const char *label)
Definition: freeverbmonodsp.h:1252
double ratio2value(int p, double r)
Definition: freeverbmonodsp.h:1374
FAUSTFLOAT getParamMin(int p)
Definition: freeverbmonodsp.h:1361
std::vector< FAUSTFLOAT > fStep
Definition: compressordsp.h:1050
bool fHasScreenControl
Definition: compressordsp.h:1058
std::vector< FAUSTFLOAT * > fZone
Definition: compressordsp.h:1046
FAUSTFLOAT * getParamZone(int p)
Definition: freeverbmonodsp.h:1366
int getScreenColor()
Definition: freeverbmonodsp.h:1529
FAUSTFLOAT getParamMax(int p)
Definition: freeverbmonodsp.h:1362
Type getParamType(int p)
Definition: freeverbmonodsp.h:1383
virtual void addSoundfile(const char *label, const char *filename, Soundfile **sf_zone)
Definition: freeverbmonodsp.h:1298
void setAccConverter(int p, int acc, int curve, double amin, double amid, double amax)
Definition: freeverbmonodsp.h:1436
Definition: compressordsp.h:802
AccDownConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:808
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:814
virtual void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:823
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:813
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:816
Definition: compressordsp.h:872
virtual void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:893
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:884
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:886
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:883
AccDownUpConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:878
Definition: compressordsp.h:766
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:780
virtual void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:787
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:778
AccUpConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:772
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:777
Definition: compressordsp.h:837
virtual void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:858
AccUpDownConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:843
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
Definition: freeverbmonodsp.h:851
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:849
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:848
Definition: compressordsp.h:935
ConverterZoneControl(FAUSTFLOAT *zone, ValueConverter *converter)
Definition: freeverbmonodsp.h:940
ValueConverter * fValueConverter
Definition: compressordsp.h:939
virtual void update(double v) const
Definition: freeverbmonodsp.h:943
ValueConverter * getConverter()
Definition: freeverbmonodsp.h:945
virtual ~ConverterZoneControl()
Definition: freeverbmonodsp.h:941
Definition: compressordsp.h:957
void setActive(bool on_off)
Definition: freeverbmonodsp.h:992
void update(double v) const
Definition: freeverbmonodsp.h:979
void setMappingValues(int curve, double amin, double amid, double amax, double min, double init, double max)
Definition: freeverbmonodsp.h:981
void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:987
virtual ~CurveZoneControl()
Definition: freeverbmonodsp.h:972
CurveZoneControl(FAUSTFLOAT *zone, int curve, double amin, double amid, double amax, double min, double init, double max)
Definition: freeverbmonodsp.h:963
int getCurve()
Definition: freeverbmonodsp.h:1000
Definition: compressordsp.h:748
ExpValueConverter(double umin, double umax, double fmin, double fmax)
Definition: freeverbmonodsp.h:749
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:753
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:754
Definition: compressordsp.h:605
double operator()(double x)
Definition: freeverbmonodsp.h:616
Interpolator3pt(double lo, double mi, double hi, double v1, double vm, double v2)
Definition: freeverbmonodsp.h:612
void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:618
Definition: compressordsp.h:553
void getLowHigh(double &amin, double &amax)
Definition: freeverbmonodsp.h:590
Interpolator(double lo, double hi, double v1, double v2)
Definition: freeverbmonodsp.h:572
double operator()(double v)
Definition: compressordsp.h:587
Definition: compressordsp.h:695
virtual void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:717
LinearValueConverter2(double amin, double amid, double amax, double min, double init, double max)
Definition: freeverbmonodsp.h:701
virtual void setMappingValues(double amin, double amid, double amax, double min, double init, double max)
Definition: freeverbmonodsp.h:711
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:709
LinearValueConverter2()
Definition: freeverbmonodsp.h:705
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:708
Definition: compressordsp.h:671
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:684
LinearValueConverter()
Definition: freeverbmonodsp.h:681
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:683
LinearValueConverter(double umin, double umax, double fmin, double fmax)
Definition: freeverbmonodsp.h:677
Definition: compressordsp.h:731
virtual double ui2faust(double x)
Definition: freeverbmonodsp.h:736
LogValueConverter(double umin, double umax, double fmin, double fmax)
Definition: freeverbmonodsp.h:732
virtual double faust2ui(double x)
Definition: freeverbmonodsp.h:737
Definition: compressordsp.h:431
PathBuilder()
Definition: freeverbmonodsp.h:436
std::vector< std::string > fControlsLevel
Definition: compressordsp.h:435
void pushLabel(const std::string &label)
Definition: freeverbmonodsp.h:457
std::string buildLabel(std::string label)
Definition: freeverbmonodsp.h:451
void popLabel()
Definition: freeverbmonodsp.h:458
virtual ~PathBuilder()
Definition: freeverbmonodsp.h:437
std::string buildPath(const std::string &label)
Definition: freeverbmonodsp.h:439
Definition: compressordsp.h:645
bool getActive()
Definition: freeverbmonodsp.h:659
virtual void setMappingValues(double amin, double amid, double amax, double min, double init, double max)=0
virtual ~UpdatableValueConverter()
Definition: freeverbmonodsp.h:652
UpdatableValueConverter()
Definition: freeverbmonodsp.h:650
virtual void getMappingValues(double &amin, double &amid, double &amax)=0
void setActive(bool on_off)
Definition: freeverbmonodsp.h:658
bool fActive
Definition: compressordsp.h:649
Definition: compressordsp.h:632
virtual ~ValueConverter()
Definition: freeverbmonodsp.h:633
virtual double ui2faust(double x)=0
virtual double faust2ui(double x)=0
Definition: compressordsp.h:906
virtual int getCurve()
Definition: freeverbmonodsp.h:924
ZoneControl(FAUSTFLOAT *zone)
Definition: freeverbmonodsp.h:911
virtual void setMappingValues(int curve, double amin, double amid, double amax, double min, double init, double max)
Definition: freeverbmonodsp.h:916
virtual bool getActive()
Definition: freeverbmonodsp.h:922
FAUSTFLOAT * fZone
Definition: compressordsp.h:910
virtual void getMappingValues(double &amin, double &amid, double &amax)
Definition: freeverbmonodsp.h:917
virtual ~ZoneControl()
Definition: freeverbmonodsp.h:912
virtual void update(double v) const
Definition: freeverbmonodsp.h:914
virtual void setActive(bool on_off)
Definition: freeverbmonodsp.h:921
FAUSTFLOAT * getZone()
Definition: freeverbmonodsp.h:919
Definition: compressordsp.h:1007
int getValue()
Definition: freeverbmonodsp.h:1017
ZoneReader(FAUSTFLOAT *zone, double lo, double hi)
Definition: freeverbmonodsp.h:1013
virtual ~ZoneReader()
Definition: freeverbmonodsp.h:1015
Definition: compressordsp.h:168
virtual void init(int sample_rate)
Definition: freeverbmonodsp.h:180
virtual void buildUserInterface(UI *ui_interface)
Definition: freeverbmonodsp.h:178
virtual void instanceConstants(int sample_rate)
Definition: freeverbmonodsp.h:182
virtual void compute(int count, FAUSTFLOAT **inputs, FAUSTFLOAT **outputs)
Definition: freeverbmonodsp.h:188
decorator_dsp(dsp *dsp=nullptr)
Definition: freeverbmonodsp.h:173
virtual void instanceResetUserInterface()
Definition: freeverbmonodsp.h:183
virtual int getNumOutputs()
Definition: freeverbmonodsp.h:177
virtual void compute(double date_usec, int count, FAUSTFLOAT **inputs, FAUSTFLOAT **outputs)
Definition: freeverbmonodsp.h:189
virtual void instanceInit(int sample_rate)
Definition: freeverbmonodsp.h:181
virtual decorator_dsp * clone()
Definition: freeverbmonodsp.h:185
virtual int getSampleRate()
Definition: freeverbmonodsp.h:179
dsp * fDSP
Definition: compressordsp.h:172
virtual void instanceClear()
Definition: freeverbmonodsp.h:184
virtual ~decorator_dsp()
Definition: freeverbmonodsp.h:174
virtual int getNumInputs()
Definition: freeverbmonodsp.h:176
virtual void metadata(Meta *m)
Definition: freeverbmonodsp.h:186
Definition: compressordsp.h:200
virtual std::vector< std::string > getLibraryList()=0
virtual dsp_memory_manager * getMemoryManager()=0
virtual dsp * createDSPInstance()=0
virtual std::vector< std::string > getIncludePathnames()=0
virtual ~dsp_factory()
Definition: freeverbmonodsp.h:202
virtual std::string getName()=0
virtual std::string getSHAKey()=0
virtual void setMemoryManager(dsp_memory_manager *manager)=0
virtual std::string getCompileOptions()=0
virtual std::string getDSPCode()=0
Definition: compressordsp.h:74
virtual int getNumOutputs()=0
virtual void init(int sample_rate)=0
virtual int getNumInputs()=0
virtual void instanceClear()=0
virtual void instanceConstants(int sample_rate)=0
virtual void instanceResetUserInterface()=0
virtual void compute(int count, FAUSTFLOAT **inputs, FAUSTFLOAT **outputs)=0
virtual void compute(double, int count, FAUSTFLOAT **inputs, FAUSTFLOAT **outputs)
Definition: freeverbmonodsp.h:157
virtual void instanceInit(int sample_rate)=0
virtual ~dsp()
Definition: freeverbmonodsp.h:76
dsp()
Definition: freeverbmonodsp.h:75
virtual void buildUserInterface(UI *ui_interface)=0
virtual int getSampleRate()=0
virtual void metadata(Meta *m)=0
Definition: freeverbmonodsp.h:1572
virtual freeverbmonodsp * clone()
Definition: freeverbmonodsp.h:1970
virtual int getSampleRate()
Definition: freeverbmonodsp.h:1974
static void classInit(int sample_rate)
Definition: freeverbmonodsp.h:1730
virtual int getInputRate(int channel)
Definition: freeverbmonodsp.h:1701
virtual int getNumInputs()
Definition: freeverbmonodsp.h:1695
virtual int getOutputRate(int channel)
Definition: freeverbmonodsp.h:1715
virtual void instanceClear()
Definition: freeverbmonodsp.h:1764
virtual void instanceInit(int sample_rate)
Definition: freeverbmonodsp.h:1964
virtual void buildUserInterface(UI *ui_interface)
Definition: freeverbmonodsp.h:1978
virtual int getNumOutputs()
Definition: freeverbmonodsp.h:1698
virtual void init(int sample_rate)
Definition: freeverbmonodsp.h:1960
void metadata(Meta *m)
Definition: freeverbmonodsp.h:1669
virtual void compute(int count, FAUSTFLOAT **inputs, FAUSTFLOAT **outputs)
Definition: freeverbmonodsp.h:2001
virtual void instanceResetUserInterface()
Definition: freeverbmonodsp.h:1757
virtual void instanceConstants(int sample_rate)
Definition: freeverbmonodsp.h:1733
#define FAUSTFLOAT
Definition: freeverbmonodsp.h:48
Definition: compressordsp.h:387
virtual ~UI()
Definition: freeverbmonodsp.h:386
UI()
Definition: freeverbmonodsp.h:385
Definition: compressordsp.h:353
virtual void openVerticalBox(const char *label)=0
virtual void addNumEntry(const char *label, REAL *zone, REAL init, REAL min, REAL max, REAL step)=0
virtual void addSoundfile(const char *label, const char *filename, Soundfile **sf_zone)=0
virtual void addHorizontalBargraph(const char *label, REAL *zone, REAL min, REAL max)=0
virtual void addHorizontalSlider(const char *label, REAL *zone, REAL init, REAL min, REAL max, REAL step)=0
virtual void addCheckButton(const char *label, REAL *zone)=0
virtual void addVerticalBargraph(const char *label, REAL *zone, REAL min, REAL max)=0
UIReal()
Definition: freeverbmonodsp.h:351
virtual void declare(REAL *zone, const char *key, const char *val)
Definition: freeverbmonodsp.h:380
virtual void addButton(const char *label, REAL *zone)=0
virtual void openTabBox(const char *label)=0
virtual void closeBox()=0
virtual ~UIReal()
Definition: freeverbmonodsp.h:352
virtual void openHorizontalBox(const char *label)=0
virtual void addVerticalSlider(const char *label, REAL *zone, REAL init, REAL min, REAL max, REAL step)=0
Definition: compressordsp.h:61
virtual ~dsp_memory_manager()
Definition: freeverbmonodsp.h:60
virtual void * allocate(size_t size)=0
virtual void destroy(void *ptr)=0