|
- #include "gen_exported.h"
-
- namespace gen_exported {
-
-
- /*******************************************************************************************************************
- Copyright (c) 2012 Cycling '74
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
- and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies
- or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *******************************************************************************************************************/
-
-
- // global noise generator
- Noise noise;
- static const int GENLIB_LOOPCOUNT_BAIL = 100000;
-
-
- // The State struct contains all the state and procedures for the gendsp kernel
- typedef struct State {
- CommonState __commonstate;
- Delay m_delay_21;
- Delay m_delay_13;
- Delay m_delay_14;
- Delay m_delay_12;
- Delay m_delay_11;
- Delay m_delay_23;
- Delay m_delay_15;
- Delay m_delay_17;
- Delay m_delay_16;
- Delay m_delay_19;
- Delay m_delay_18;
- Delay m_delay_20;
- Delay m_delay_22;
- Delta m_delta_39;
- Delta m_delta_36;
- Delta m_delta_42;
- Delta m_delta_33;
- Phasor m_phasor_32;
- Sah m_sah_37;
- Sah m_sah_35;
- Sah m_sah_38;
- Sah m_sah_41;
- Sah m_sah_40;
- Sah m_sah_34;
- Sah m_sah_44;
- Sah m_sah_43;
- double m_history_5;
- double m_history_6;
- double m_history_7;
- double m_history_10;
- double m_history_4;
- double m_y_2;
- double m_history_3;
- double samplerate;
- double m_history_1;
- double m_history_9;
- double m_history_8;
- double m_tone_31;
- double samples_to_seconds;
- double m_decay_25;
- double m_shimmer_24;
- double m_mix_27;
- double m_damping_26;
- double m_roomsize_29;
- double m_bandwidth_30;
- double m_ratio_28;
- int vectorsize;
- int __exception;
- // re-initialize all member variables;
- inline void reset(double __sr, int __vs) {
- __exception = 0;
- vectorsize = __vs;
- samplerate = __sr;
- m_history_1 = 0;
- m_y_2 = 0;
- m_history_3 = 0;
- m_history_4 = 0;
- m_history_5 = 0;
- m_history_6 = 0;
- m_history_7 = 0;
- m_history_8 = 0;
- m_history_9 = 0;
- m_history_10 = 0;
- m_delay_11.reset("m_delay_11", 5000);
- m_delay_12.reset("m_delay_12", 7000);
- m_delay_13.reset("m_delay_13", 6000);
- m_delay_14.reset("m_delay_14", 48000);
- m_delay_15.reset("m_delay_15", 15000);
- m_delay_16.reset("m_delay_16", 16000);
- m_delay_17.reset("m_delay_17", 96000);
- m_delay_18.reset("m_delay_18", 10000);
- m_delay_19.reset("m_delay_19", 12000);
- m_delay_20.reset("m_delay_20", 48000);
- m_delay_21.reset("m_delay_21", 48000);
- m_delay_22.reset("m_delay_22", 48000);
- m_delay_23.reset("m_delay_23", 48000);
- m_shimmer_24 = 50;
- m_decay_25 = 50;
- m_damping_26 = 50;
- m_mix_27 = 50;
- m_ratio_28 = 2;
- m_roomsize_29 = 150;
- m_bandwidth_30 = 75;
- m_tone_31 = 1500;
- samples_to_seconds = (1 / samplerate);
- m_phasor_32.reset(0);
- m_delta_33.reset(0);
- m_sah_34.reset(0);
- m_sah_35.reset(0);
- m_delta_36.reset(0);
- m_sah_37.reset(0);
- m_sah_38.reset(0);
- m_delta_39.reset(0);
- m_sah_40.reset(0);
- m_sah_41.reset(0);
- m_delta_42.reset(0);
- m_sah_43.reset(0);
- m_sah_44.reset(0);
- genlib_reset_complete(this);
-
- };
- // the signal processing routine;
- inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) {
- vectorsize = __n;
- const t_sample * __in1 = __ins[0];
- t_sample * __out1 = __outs[0];
- t_sample * __out2 = __outs[1];
- if (__exception) {
- return __exception;
-
- } else if (( (__in1 == 0) || (__out1 == 0) || (__out2 == 0) )) {
- __exception = GENLIB_ERR_NULL_BUFFER;
- return __exception;
-
- };
- double mul_10 = (m_damping_26 * 0.01);
- double mul_11 = (m_mix_27 * 0.01);
- double mul_9 = (m_bandwidth_30 * 0.01);
- double rsub_8 = (1 - mul_9);
- double expr_228 = safediv(((m_tone_31 * 2) * 3.1415926535898), 48000);
- double sin_16 = sin(expr_228);
- double clamp_17 = ((sin_16 <= 1e-05) ? 1e-05 : ((sin_16 >= 0.99999) ? 0.99999 : sin_16));
- double mul_12 = (m_shimmer_24 * 0.01);
- double expr_238 = safediv((m_roomsize_29 * 48000), 340);
- double mul_215 = (expr_238 * 0.63245);
- double mul_216 = (expr_238 * 0.7071);
- double mul_218 = (expr_238 * 1);
- double mul_217 = (expr_238 * 0.81649);
- double expr_227 = safepow(1.0418, m_decay_25);
- double expr_237 = safepow(0.001, safediv(1, (expr_227 * 48000)));
- double expr_229 = (-safepow(expr_237, mul_215));
- double expr_230 = (-safepow(expr_237, mul_216));
- double expr_236 = (-safepow(expr_237, mul_218));
- double expr_231 = (-safepow(expr_237, mul_217));
- double mul_212 = (expr_238 * 0.000527);
- int int_211 = int(mul_212);
- double mul_168 = (int_211 * 419.5);
- double mul_189 = (int_211 * 400.600006);
- double rsub_67 = (1 - m_ratio_28);
- double mul_66 = (rsub_67 * 10);
- samples_to_seconds = (1 / samplerate);
- double add_155 = (expr_238 + 5);
- double expr_232 = safepow(expr_237, add_155);
- double mul_175 = (int_211 * 566.700012);
- double mul_196 = (int_211 * 568.299988);
- double mul_161 = (expr_238 * 0.41);
- double add_158 = (mul_161 + 5);
- double expr_235 = safepow(expr_237, add_158);
- double mul_160 = (expr_238 * 0.3);
- double add_157 = (mul_160 + 5);
- double expr_234 = safepow(expr_237, add_157);
- double mul_159 = (expr_238 * 0.155);
- double add_156 = (mul_159 + 5);
- double expr_233 = safepow(expr_237, add_156);
- double mul_210 = (expr_238 * 0.110732);
- double mul_182 = (int_211 * 144.800003);
- double mul_203 = (int_211 * 162.100006);
- double mul_6 = (m_decay_25 * 2);
- double clamp_1 = ((mul_6 <= 0) ? 0 : ((mul_6 >= 100) ? 100 : mul_6));
- double mul_5 = (clamp_1 * 0.01);
- double atodb_4 = atodb(mul_5);
- double sub_3 = (atodb_4 - 9);
- double dbtoa_2 = dbtoa(sub_3);
- // the main sample loop;
- while ((__n--)) {
- const double in1 = (*(__in1++));
- double noise_20 = noise();
- double abs_37 = fabs(noise_20);
- double mul_45 = (abs_37 * 0.25);
- double noise_19 = noise();
- double abs_36 = fabs(noise_19);
- double mul_42 = (abs_36 * 0.25);
- double noise_21 = noise();
- double abs_38 = fabs(noise_21);
- double mul_48 = (abs_38 * 0.25);
- double noise_18 = noise();
- double abs_35 = fabs(noise_18);
- double mul_39 = (abs_35 * 0.25);
- double tap_129 = m_delay_23.read_linear(mul_215);
- double tap_135 = m_delay_22.read_linear(mul_216);
- double tap_223 = m_delay_21.read_linear(mul_218);
- double tap_141 = m_delay_20.read_linear(mul_217);
- double mul_125 = (tap_129 * expr_229);
- double mix_249 = (mul_125 + (mul_10 * (m_history_10 - mul_125)));
- double mix_127 = mix_249;
- double mul_131 = (tap_135 * expr_230);
- double mix_250 = (mul_131 + (mul_10 * (m_history_9 - mul_131)));
- double mix_133 = mix_250;
- double mul_214 = (tap_223 * expr_236);
- double mix_251 = (mul_214 + (mul_10 * (m_history_8 - mul_214)));
- double mix_221 = mix_251;
- double mul_137 = (tap_141 * expr_231);
- double mix_252 = (mul_137 + (mul_10 * (m_history_7 - mul_137)));
- double mix_139 = mix_252;
- double tap_167 = m_delay_19.read_linear(mul_168);
- double mul_165 = (tap_167 * 0.625);
- double tap_188 = m_delay_18.read_linear(mul_189);
- double mul_186 = (tap_188 * 0.625);
- double phasor_85 = m_phasor_32(mul_66, samples_to_seconds);
- double add_79 = ((m_history_6 + phasor_85) + 0.25);
- double mod_78 = safemod(add_79, 1);
- double delta_47 = m_delta_33(mod_78);
- double sah_26 = m_sah_34(mul_45, delta_47, 0);
- int sah_46 = m_sah_35(4800, delta_47, 0);
- double mul_33 = (sah_46 * mod_78);
- double sub_77 = (mod_78 - 0.5);
- double mul_76 = (sub_77 * 3.1415926535898);
- double cos_75 = cos(mul_76);
- double mul_52 = (cos_75 * cos_75);
- double add_65 = ((m_history_5 + phasor_85) + 0.5);
- double mod_64 = safemod(add_65, 1);
- double delta_44 = m_delta_36(mod_64);
- double sah_24 = m_sah_37(mul_42, delta_44, 0);
- int sah_43 = m_sah_38(4800, delta_44, 0);
- double mul_32 = (sah_43 * mod_64);
- double sub_63 = (mod_64 - 0.5);
- double mul_62 = (sub_63 * 3.1415926535898);
- double cos_61 = cos(mul_62);
- double mul_51 = (cos_61 * cos_61);
- double add_84 = ((m_history_4 + phasor_85) + 0);
- double mod_83 = safemod(add_84, 1);
- double delta_29 = m_delta_39(mod_83);
- double sah_28 = m_sah_40(mul_48, delta_29, 0);
- int sah_49 = m_sah_41(4800, delta_29, 0);
- double mul_34 = (sah_49 * mod_83);
- double sub_82 = (mod_83 - 0.5);
- double mul_81 = (sub_82 * 3.1415926535898);
- double cos_80 = cos(mul_81);
- double mul_53 = (cos_80 * cos_80);
- double add_59 = ((m_history_3 + phasor_85) + 0.75);
- double mod_58 = safemod(add_59, 1);
- double delta_41 = m_delta_42(mod_58);
- double sah_22 = m_sah_43(mul_39, delta_41, 0);
- int sah_40 = m_sah_44(4800, delta_41, 0);
- double mul_31 = (sah_40 * mod_58);
- double tap_71 = m_delay_17.read_linear(mul_34);
- double tap_72 = m_delay_17.read_linear(mul_33);
- double tap_73 = m_delay_17.read_linear(mul_32);
- double tap_74 = m_delay_17.read_linear(mul_31);
- double mul_60 = (tap_73 * mul_51);
- double mul_68 = (tap_72 * mul_52);
- double mul_69 = (tap_71 * mul_53);
- double sub_57 = (mod_58 - 0.5);
- double mul_56 = (sub_57 * 3.1415926535898);
- double cos_55 = cos(mul_56);
- double mul_50 = (cos_55 * cos_55);
- double mul_54 = (tap_74 * mul_50);
- double add_254 = (((mul_69 + mul_68) + mul_60) + mul_54);
- double mix_253 = (m_y_2 + (clamp_17 * (add_254 - m_y_2)));
- double mix_14 = mix_253;
- double mix_255 = (in1 + (mul_12 * (mix_14 - in1)));
- double mix_86 = mix_255;
- double mul_89 = (mix_86 * 0.707);
- double mix_256 = (mul_89 + (rsub_8 * (m_history_1 - mul_89)));
- double mix_225 = mix_256;
- double add_119 = (mix_221 + mix_139);
- double add_117 = (mix_133 + mix_127);
- double add_112 = (add_119 + add_117);
- double mul_95 = (add_112 * 0.5);
- double sub_116 = (add_119 - add_117);
- double mul_98 = (sub_116 * 0.5);
- double tap_174 = m_delay_16.read_linear(mul_175);
- double tap_195 = m_delay_15.read_linear(mul_196);
- double sub_118 = (mix_221 - mix_139);
- double sub_115 = (mix_133 - mix_127);
- double sub_114 = (sub_118 - sub_115);
- double mul_97 = (sub_114 * 0.5);
- double add_113 = (sub_118 + sub_115);
- double rsub_111 = (0 - add_113);
- double mul_96 = (rsub_111 * 0.5);
- double tap_143 = m_delay_14.read_linear(add_158);
- double tap_144 = m_delay_14.read_linear(add_157);
- double tap_145 = m_delay_14.read_linear(add_156);
- double tap_146 = m_delay_14.read_linear(add_155);
- double mul_147 = (tap_146 * expr_232);
- double add_120 = (mul_95 + mul_147);
- double mul_153 = (tap_143 * expr_235);
- double add_123 = (mul_98 + mul_153);
- double mul_151 = (tap_144 * expr_234);
- double add_122 = (mul_97 + mul_151);
- double mul_149 = (tap_145 * expr_233);
- double add_121 = (mul_96 + mul_149);
- double mul_172 = (tap_174 * 0.625);
- double mul_193 = (tap_195 * 0.625);
- double tap_209 = m_delay_13.read_cubic(mul_210);
- double mul_207 = (tap_209 * 0.75);
- double sub_206 = (mix_225 - mul_207);
- double mul_205 = (sub_206 * 0.75);
- double add_204 = (mul_205 + tap_209);
- double tap_181 = m_delay_12.read_linear(mul_182);
- double tap_202 = m_delay_11.read_linear(mul_203);
- double mul_179 = (tap_181 * 0.75);
- double mul_200 = (tap_202 * 0.75);
- double mul_106 = (mul_153 * mul_5);
- double mul_104 = (mul_149 * mul_5);
- double add_92 = (mul_106 + mul_104);
- double mul_105 = (mul_151 * mul_5);
- double mul_103 = (mul_147 * mul_5);
- double add_91 = (mul_105 + mul_103);
- double sub_101 = (add_92 - add_91);
- double mul_110 = (mul_98 * dbtoa_2);
- double mul_108 = (mul_96 * dbtoa_2);
- double add_94 = (mul_110 + mul_108);
- double mul_109 = (mul_97 * dbtoa_2);
- double mul_107 = (mul_95 * dbtoa_2);
- double add_93 = (mul_109 + mul_107);
- double sub_102 = (add_94 - add_93);
- double add_88 = (sub_102 + sub_101);
- double add_90 = (add_88 + mix_86);
- double sub_178 = (add_90 - mul_179);
- double mul_177 = (sub_178 * 0.75);
- double add_176 = (mul_177 + tap_181);
- double sub_171 = (add_176 - mul_172);
- double mul_170 = (sub_171 * 0.625);
- double add_169 = (mul_170 + tap_174);
- double sub_164 = (add_169 - mul_165);
- double mul_163 = (sub_164 * 0.625);
- double add_162 = (mul_163 + tap_167);
- double mul_87 = (add_162 * mul_11);
- double out2 = (in1 + mul_87);
- double add_100 = (add_88 + mix_86);
- double sub_199 = (add_100 - mul_200);
- double mul_198 = (sub_199 * 0.75);
- double add_197 = (mul_198 + tap_202);
- double sub_192 = (add_197 - mul_193);
- double mul_191 = (sub_192 * 0.625);
- double add_190 = (mul_191 + tap_195);
- double sub_185 = (add_190 - mul_186);
- double mul_184 = (sub_185 * 0.625);
- double add_183 = (mul_184 + tap_188);
- double mul_99 = (add_183 * mul_11);
- double out1 = (in1 + mul_99);
- double history_126_next_239 = mix_127;
- double history_132_next_240 = mix_133;
- double history_220_next_241 = mix_221;
- double history_138_next_242 = mix_139;
- double history_27_next_243 = sah_26;
- double history_25_next_244 = sah_24;
- double history_30_next_245 = sah_28;
- double history_23_next_246 = sah_22;
- double y0_next_247 = mix_14;
- double history_224_next_248 = mix_225;
- m_delay_23.write(add_120);
- m_delay_22.write(add_121);
- m_delay_21.write(add_123);
- m_delay_20.write(add_122);
- m_delay_19.write(sub_164);
- m_delay_18.write(sub_185);
- m_delay_17.write(in1);
- m_delay_16.write(sub_171);
- m_delay_15.write(sub_192);
- m_delay_14.write(add_204);
- m_delay_13.write(sub_206);
- m_delay_12.write(sub_178);
- m_delay_11.write(sub_199);
- m_history_10 = history_126_next_239;
- m_history_9 = history_132_next_240;
- m_history_8 = history_220_next_241;
- m_history_7 = history_138_next_242;
- m_history_6 = history_27_next_243;
- m_history_5 = history_25_next_244;
- m_history_4 = history_30_next_245;
- m_history_3 = history_23_next_246;
- m_y_2 = y0_next_247;
- m_history_1 = history_224_next_248;
- m_delay_11.step();
- m_delay_12.step();
- m_delay_13.step();
- m_delay_14.step();
- m_delay_15.step();
- m_delay_16.step();
- m_delay_17.step();
- m_delay_18.step();
- m_delay_19.step();
- m_delay_20.step();
- m_delay_21.step();
- m_delay_22.step();
- m_delay_23.step();
- // assign results to output buffer;
- (*(__out1++)) = out1;
- (*(__out2++)) = out2;
-
- };
- return __exception;
-
- };
- inline void set_shimmer(double _value) {
- m_shimmer_24 = (_value < 0 ? 0 : (_value > 100 ? 100 : _value));
- };
- inline void set_decay(double _value) {
- m_decay_25 = (_value < 1 ? 1 : (_value > 100 ? 100 : _value));
- };
- inline void set_damping(double _value) {
- m_damping_26 = (_value < 0 ? 0 : (_value > 100 ? 100 : _value));
- };
- inline void set_mix(double _value) {
- m_mix_27 = (_value < 0 ? 0 : (_value > 100 ? 100 : _value));
- };
- inline void set_ratio(double _value) {
- m_ratio_28 = (_value < 0.5 ? 0.5 : (_value > 2 ? 2 : _value));
- };
- inline void set_roomsize(double _value) {
- m_roomsize_29 = (_value < 1 ? 1 : (_value > 300 ? 300 : _value));
- };
- inline void set_bandwidth(double _value) {
- m_bandwidth_30 = (_value < 0 ? 0 : (_value > 100 ? 100 : _value));
- };
- inline void set_tone(double _value) {
- m_tone_31 = (_value < 500 ? 500 : (_value > 6000 ? 6000 : _value));
- };
-
- } State;
-
-
- ///
- /// Configuration for the genlib API
- ///
-
- /// Number of signal inputs and outputs
-
- int gen_kernel_numins = 1;
- int gen_kernel_numouts = 2;
-
- int num_inputs() { return gen_kernel_numins; }
- int num_outputs() { return gen_kernel_numouts; }
- int num_params() { return 8; }
-
- /// Assistive lables for the signal inputs and outputs
-
- const char * gen_kernel_innames[] = { "in1" };
- const char * gen_kernel_outnames[] = { "out1", "out2" };
-
- /// Invoke the signal process of a State object
-
- int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) {
- State * self = (State *)cself;
- return self->perform(ins, outs, n);
- }
-
- /// Reset all parameters and stateful operators of a State object
-
- void reset(CommonState *cself) {
- State * self = (State *)cself;
- self->reset(cself->sr, cself->vs);
- }
-
- /// Set a parameter of a State object
-
- void setparameter(CommonState *cself, long index, double value, void *ref) {
- State * self = (State *)cself;
- switch (index) {
- case 0: self->set_shimmer(value); break;
- case 1: self->set_decay(value); break;
- case 2: self->set_damping(value); break;
- case 3: self->set_mix(value); break;
- case 4: self->set_ratio(value); break;
- case 5: self->set_roomsize(value); break;
- case 6: self->set_bandwidth(value); break;
- case 7: self->set_tone(value); break;
-
- default: break;
- }
- }
-
- /// Get the value of a parameter of a State object
-
- void getparameter(CommonState *cself, long index, double *value) {
- State *self = (State *)cself;
- switch (index) {
- case 0: *value = self->m_shimmer_24; break;
- case 1: *value = self->m_decay_25; break;
- case 2: *value = self->m_damping_26; break;
- case 3: *value = self->m_mix_27; break;
- case 4: *value = self->m_ratio_28; break;
- case 5: *value = self->m_roomsize_29; break;
- case 6: *value = self->m_bandwidth_30; break;
- case 7: *value = self->m_tone_31; break;
-
- default: break;
- }
- }
-
- /// Allocate and configure a new State object and it's internal CommonState:
-
- void * create(double sr, long vs) {
- State *self = new State;
- self->reset(sr, vs);
- ParamInfo *pi;
- self->__commonstate.inputnames = gen_kernel_innames;
- self->__commonstate.outputnames = gen_kernel_outnames;
- self->__commonstate.numins = gen_kernel_numins;
- self->__commonstate.numouts = gen_kernel_numouts;
- self->__commonstate.sr = sr;
- self->__commonstate.vs = vs;
- self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(8 * sizeof(ParamInfo));
- self->__commonstate.numparams = 8;
- // initialize parameter 0 ("m_shimmer_24")
- pi = self->__commonstate.params + 0;
- pi->name = "shimmer";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_shimmer_24;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 0;
- pi->outputmax = 100;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 1 ("m_decay_25")
- pi = self->__commonstate.params + 1;
- pi->name = "decay";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_decay_25;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 1;
- pi->outputmax = 100;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 2 ("m_damping_26")
- pi = self->__commonstate.params + 2;
- pi->name = "damping";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_damping_26;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 0;
- pi->outputmax = 100;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 3 ("m_mix_27")
- pi = self->__commonstate.params + 3;
- pi->name = "mix";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_mix_27;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 0;
- pi->outputmax = 100;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 4 ("m_ratio_28")
- pi = self->__commonstate.params + 4;
- pi->name = "ratio";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_ratio_28;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 0.5;
- pi->outputmax = 2;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 5 ("m_roomsize_29")
- pi = self->__commonstate.params + 5;
- pi->name = "roomsize";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_roomsize_29;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 1;
- pi->outputmax = 300;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 6 ("m_bandwidth_30")
- pi = self->__commonstate.params + 6;
- pi->name = "bandwidth";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_bandwidth_30;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 0;
- pi->outputmax = 100;
- pi->exp = 0;
- pi->units = ""; // no units defined
- // initialize parameter 7 ("m_tone_31")
- pi = self->__commonstate.params + 7;
- pi->name = "tone";
- pi->paramtype = GENLIB_PARAMTYPE_FLOAT;
- pi->defaultvalue = self->m_tone_31;
- pi->defaultref = 0;
- pi->hasinputminmax = false;
- pi->inputmin = 0;
- pi->inputmax = 1;
- pi->hasminmax = true;
- pi->outputmin = 500;
- pi->outputmax = 6000;
- pi->exp = 0;
- pi->units = ""; // no units defined
-
- return self;
- }
-
- /// Release all resources and memory used by a State object:
-
- void destroy(CommonState *cself) {
- State * self = (State *)cself;
- genlib_sysmem_freeptr(cself->params);
-
- delete self;
- }
-
-
- } // gen_exported::
|