- switch to old VCO humanize using WITH_OLD_HUMANIZE (enabled)

- increased version to 0.5.7
- added patch 'Play It Right' to demo bank

git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@241 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2015-02-22 13:31:20 +00:00
parent e86823c5e0
commit aac8d59289
4 changed files with 48 additions and 8 deletions
+45 -3
View File
@@ -24,6 +24,8 @@
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
#define WITH_OLD_HUMANIZE
//==============================================================================
/** A JaySynth that just plays incredible sounds.. */
JaySynth::JaySynth (int num_voices, String pathToWaves)
@@ -150,6 +152,36 @@ synth_float_t JaySynth::getVolume(void)
void JaySynth::humanizeParam (int paramID, bool useRandom, UINT32 random_seed, synth_float_t spread_min, synth_float_t variance)
{
#ifdef WITH_OLD_HUMANIZE
int j;
synth_float_t spread;
noise_gen_t noise;
Noise_Init(&noise, random_seed);
for (j=0; j < max_num_voices; j++)
{
if (useRandom)
do
{
spread = Noise_Gaussian(&noise, variance*sqrt(1.f/12), 0.0);
} while (fabs(spread) < spread_min);
else
spread = variance*((synth_float_t)j/max_num_voices -0.5);
paramInfoSet(&humanize_voice_param[paramID][j],
/*base*/getParamInfo(paramID)->base,
/*kexp*/getParamInfo(paramID)->kexp,
/*scenter*/getParamInfo(paramID)->scenter,
/*pmin*/getParamInfo(paramID)->pmin ,
/*pcenter*/-1E6/*getParamInfo(i)->pcenter*/,
/*pmax*/getParamInfo(paramID)->pmax * (1+spread),
/*pinterval*/0);
}
Noise_Free(&noise);
#else
int j;
synth_float_t spread, spread_dir, value_lo, value_hi;
@@ -185,8 +217,8 @@ void JaySynth::humanizeParam (int paramID, bool useRandom, UINT32 random_seed, s
spread_dir = -spread_dir;
}
Noise_Free(&noise);
Noise_Free(&noise);
#endif
}
void JaySynth::setSampleRate (synth_float_t sampleRate)
@@ -216,6 +248,16 @@ void JaySynth::humanizeModeChanged(void)
void JaySynth::humanizeVarianceChanged_VCO(void)
{
#ifdef WITH_OLD_HUMANIZE
// humanizeParam(SYNTH_PARAM_TUNE, true, 0x1234561, 0, 10*humanize_var_vco);
humanizeParam(SYNTH_PARAM_OSC_0_DETUNE, true, 0x293857, 0, 10*humanize_var_vco);
humanizeParam(SYNTH_PARAM_OSC_1_DETUNE, true, 0x137573, 0, 10*humanize_var_vco);
// Re-Read parameter
// setParameter(SYNTH_PARAM_TUNE, params[SYNTH_PARAM_TUNE]);
setParameter(SYNTH_PARAM_OSC_0_DETUNE, params[SYNTH_PARAM_OSC_0_DETUNE]);
setParameter(SYNTH_PARAM_OSC_1_DETUNE, params[SYNTH_PARAM_OSC_1_DETUNE]);
#else
int i;
synth_float_t f_ref;
noise_gen_t noise;
@@ -233,7 +275,7 @@ void JaySynth::humanizeVarianceChanged_VCO(void)
}
Noise_Free(&noise);
#endif
}
void JaySynth::humanizeVarianceChanged_VCF(void)