adds more voices, fixes macro redefines

example_keyboards
Jack Humbert 9 years ago
parent fa40e91b56
commit 7b3f212500

@ -72,15 +72,19 @@ float voice_envelope(float frequency) {
polyphony_rate = 0; polyphony_rate = 0;
switch (compensated_index) { switch (compensated_index) {
default: default:
#define SPEED 10 #define OCS_SPEED 10
#define AMP .75 #define OCS_AMP .25
// sine wave is slow // sine wave is slow
// note_timbre = (sin((float)compensated_index/10000*SPEED) * AMP / 2) + .5; // note_timbre = (sin((float)compensated_index/10000*OCS_SPEED) * OCS_AMP / 2) + .5;
// triangle wave is a bit faster // triangle wave is a bit faster
note_timbre = (float)abs((compensated_index*SPEED % 3000) - 1500) * ( AMP / 1500 ) + (1 - AMP) / 2; note_timbre = (float)abs((compensated_index*OCS_SPEED % 3000) - 1500) * ( OCS_AMP / 1500 ) + (1 - OCS_AMP) / 2;
break; break;
} }
break; break;
case duty_octave_down:
polyphony_rate = 0;
note_timbre = (envelope_index % 2) * .125 + .375 * 2;
break;
} }
return frequency; return frequency;

@ -15,6 +15,7 @@ typedef enum {
butts_fader, butts_fader,
octave_crunch, octave_crunch,
duty_osc, duty_osc,
duty_octave_down,
number_of_voices // important that this is last number_of_voices // important that this is last
} voice_type; } voice_type;

Loading…
Cancel
Save