~ruther/qmk_firmware

e89b806b850ad1b5484176664288b71b0131683e — Jack Humbert 9 years ago 73228f5
converts tabs to spaces
2 files changed, 47 insertions(+), 47 deletions(-)

M quantum/audio/voices.c
M quantum/audio/voices.h
M quantum/audio/voices.c => quantum/audio/voices.c +44 -44
@@ 6,55 6,55 @@ extern float note_timbre;
voice_type voice = default_voice;

void set_voice(voice_type v) {
	voice = v;
    voice = v;
}

float voice_envelope(float frequency) {
	// envelope_index ranges from 0 to 0xFFFF, which is preserved at 880.0 Hz
    // envelope_index ranges from 0 to 0xFFFF, which is preserved at 880.0 Hz
    uint16_t compensated_index = (uint16_t)((float)envelope_index * (880.0 / frequency));

    switch (voice) {
    	case default_voice:
    		// nothing here on purpose
    	break;
    	case butts_fader:
		    switch (compensated_index) {
		        case 0 ... 9:
		            frequency = frequency / 4;
		            note_timbre = TIMBRE_12;
		        break;
		        case 10 ... 19:
		            frequency = frequency / 2;
		            note_timbre = TIMBRE_12;
		        break;
		        case 20 ... 200:
		            note_timbre = .125 - pow(((float)compensated_index - 20) / (200 - 20), 2)*.125;
		        break;
		        default:
		            note_timbre = 0;
		        break;
		    }
	    break;
    	case octave_crunch:
		    switch (compensated_index) {
		        case 0 ... 9:
		        case 20 ... 24:
		        case 30 ... 32:
		            frequency = frequency / 2;
		            note_timbre = TIMBRE_12;
		        break;
		        case 10 ... 19:
		        case 25 ... 29:
		        case 33 ... 35:
		            frequency = frequency * 2;
		            note_timbre = TIMBRE_12;
		        break;
		        default:
		            note_timbre = TIMBRE_12;
		        break;
		    }
	    break;
	}
        case default_voice:
            // nothing here on purpose
        break;
        case butts_fader:
            switch (compensated_index) {
                case 0 ... 9:
                    frequency = frequency / 4;
                    note_timbre = TIMBRE_12;
                break;
                case 10 ... 19:
                    frequency = frequency / 2;
                    note_timbre = TIMBRE_12;
                break;
                case 20 ... 200:
                    note_timbre = .125 - pow(((float)compensated_index - 20) / (200 - 20), 2)*.125;
                break;
                default:
                    note_timbre = 0;
                break;
            }
        break;
        case octave_crunch:
            switch (compensated_index) {
                case 0 ... 9:
                case 20 ... 24:
                case 30 ... 32:
                    frequency = frequency / 2;
                    note_timbre = TIMBRE_12;
                break;
                case 10 ... 19:
                case 25 ... 29:
                case 33 ... 35:
                    frequency = frequency * 2;
                    note_timbre = TIMBRE_12;
                break;
                default:
                    note_timbre = TIMBRE_12;
                break;
            }
        break;
    }

	return frequency;
    return frequency;
}
\ No newline at end of file

M quantum/audio/voices.h => quantum/audio/voices.h +3 -3
@@ 11,9 11,9 @@
float voice_envelope(float frequency);

typedef enum {
	default_voice,
	butts_fader,
	octave_crunch
    default_voice,
    butts_fader,
    octave_crunch
} voice_type;

void set_voice(voice_type v);