diff options
| -rw-r--r-- | keyboard/planck/beeps.c | 62 | ||||
| -rw-r--r-- | keyboard/planck/keymap_midi.c | 38 | ||||
| -rw-r--r-- | protocol/lufa/lufa.c | 2 | 
3 files changed, 45 insertions, 57 deletions
diff --git a/keyboard/planck/beeps.c b/keyboard/planck/beeps.c index a1e697be40..8d1f81f210 100644 --- a/keyboard/planck/beeps.c +++ b/keyboard/planck/beeps.c @@ -183,22 +183,6 @@ ISR(TIMER3_COMPA_vect) {  //     // PORTC |= (1<<6);  } -void loop() { -} -// ISR(TIMER1_COMPA_vect) -// { -//     // if (i<(sizeof(wave)/sizeof(int))) //don't exceed ends of vector... sizeof(wave) -//     if (i<pow(2, 10)) //don't exceed ends of vector... sizeof(wave) -//     { -//         OCR3A = (int)((float)wave[i]*ICR3/RANGE); //go to next array element -//         // int x = 1; -//         // int y = 5; -//         // OCR3A = (int) (round(sin(i*440*pow(2, x/12.0))*.5+.5 + sin(i*440*pow(2, y/12.0))*.5+.5) / 2 * ICR3);  -//         i++; //increment -//     } -//     else i=0; //reset -// } -  void play_note(double freq, int vol) {      if (freq > 0) { @@ -236,27 +220,27 @@ void play_note(double freq, int vol) {      // TCCR3B = 0;  } -void note(int x, float length) { -    DDRC |= (1<<6); -	int t = (int)(440*pow(2,-x/12.0)); // starting note -    for (int y = 0; y < length*1000/t; y++) { // note length -        PORTC |= (1<<6); -        delay_us(t); -        PORTC &= ~(1<<6); -        delay_us(t); -    } -	PORTC &= ~(1<<6); -} +// void note(int x, float length) { +//     DDRC |= (1<<6); +// 	int t = (int)(440*pow(2,-x/12.0)); // starting note +//     for (int y = 0; y < length*1000/t; y++) { // note length +//         PORTC |= (1<<6); +//         delay_us(t); +//         PORTC &= ~(1<<6); +//         delay_us(t); +//     } +// 	PORTC &= ~(1<<6); +// } -void true_note(float x, float y, float length) { -	for (uint32_t i = 0; i < length * 50; i++) { -		uint32_t v = (uint32_t) (round(sin(PI*2*i*640000*pow(2, x/12.0))*.5+1 + sin(PI*2*i*640000*pow(2, y/12.0))*.5+1) / 2 * pow(2, 8));  -		for (int u = 0; u < 8; u++) { -			if (v & (1 << u) && !(PORTC&(1<<6))) -		        PORTC |= (1<<6); -		    else if (PORTC&(1<<6)) -	        	PORTC &= ~(1<<6); -		} -	} -	PORTC &= ~(1<<6); -}
\ No newline at end of file +// void true_note(float x, float y, float length) { +// 	for (uint32_t i = 0; i < length * 50; i++) { +// 		uint32_t v = (uint32_t) (round(sin(PI*2*i*640000*pow(2, x/12.0))*.5+1 + sin(PI*2*i*640000*pow(2, y/12.0))*.5+1) / 2 * pow(2, 8));  +// 		for (int u = 0; u < 8; u++) { +// 			if (v & (1 << u) && !(PORTC&(1<<6))) +// 		        PORTC |= (1<<6); +// 		    else if (PORTC&(1<<6)) +// 	        	PORTC &= ~(1<<6); +// 		} +// 	} +// 	PORTC &= ~(1<<6); +// }
\ No newline at end of file diff --git a/keyboard/planck/keymap_midi.c b/keyboard/planck/keymap_midi.c index 60ad6d53a8..748ca4d563 100644 --- a/keyboard/planck/keymap_midi.c +++ b/keyboard/planck/keymap_midi.c @@ -35,7 +35,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)      if (record->event.key.col == (MATRIX_COLS - 1) && record->event.key.row == (MATRIX_ROWS - 1)) {          if (record->event.pressed) {              starting_note++; -            play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); +            // play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)), 0xC);              midi_send_cc(&midi_device, 0, 0x7B, 0);              midi_send_cc(&midi_device, 1, 0x7B, 0);              midi_send_cc(&midi_device, 2, 0x7B, 0); @@ -43,7 +43,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)              midi_send_cc(&midi_device, 4, 0x7B, 0);              return;          } else { -            stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1))); +            // stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)));              // stop_all_notes();              return;          } @@ -51,7 +51,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)      if (record->event.key.col == (MATRIX_COLS - 2) && record->event.key.row == (MATRIX_ROWS - 1)) {          if (record->event.pressed) {              starting_note--; -            play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); +            // play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)), 0xC);              midi_send_cc(&midi_device, 0, 0x7B, 0);              midi_send_cc(&midi_device, 1, 0x7B, 0);              midi_send_cc(&midi_device, 2, 0x7B, 0); @@ -59,7 +59,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)              midi_send_cc(&midi_device, 4, 0x7B, 0);              return;          } else { -            stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1))); +            // stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)));              // stop_all_notes();              return;          } @@ -73,12 +73,12 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)          midi_send_cc(&midi_device, 3, 0x7B, 0);          midi_send_cc(&midi_device, 4, 0x7B, 0);          // stop_all_notes(); -        for (int i = 0; i <= 7; i++) { -            play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); -            _delay_us(80000); -            stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1))); -            _delay_us(8000); -        } +        // for (int i = 0; i <= 7; i++) { +        //     play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); +        //     _delay_us(80000); +        //     stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1))); +        //     _delay_us(8000); +        // }          return;      }      if (record->event.key.col == (MATRIX_COLS - 4) && record->event.key.row == (MATRIX_ROWS - 1) && record->event.pressed) { @@ -89,20 +89,22 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)          midi_send_cc(&midi_device, 3, 0x7B, 0);          midi_send_cc(&midi_device, 4, 0x7B, 0);          // stop_all_notes(); -        for (int i = 0; i <= 7; i++) { -            play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); -            _delay_us(80000); -            stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1))); -            _delay_us(8000); -        } +        // for (int i = 0; i <= 7; i++) { +        //     play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); +        //     _delay_us(80000); +        //     stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1))); +        //     _delay_us(8000); +        // }          return;      }      if (record->event.pressed) {      	// midi_send_noteon(&midi_device, record->event.key.row, starting_note + SCALE[record->event.key.col], 127); -        play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); +        midi_send_noteon(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); +        // play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF);      } else {          // midi_send_noteoff(&midi_device, record->event.key.row, starting_note + SCALE[record->event.key.col], 127); -        stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); +        midi_send_noteoff(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); +        // stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)));      }  }
\ No newline at end of file diff --git a/protocol/lufa/lufa.c b/protocol/lufa/lufa.c index c6e6e95054..b31f3031ee 100644 --- a/protocol/lufa/lufa.c +++ b/protocol/lufa/lufa.c @@ -51,7 +51,9 @@  #include "descriptor.h"  #include "lufa.h" +#ifdef MIDI_ENABLE  #include <beeps.h> +#endif  // #include <LUFA/Version.h>  // #include <LUFA/Drivers/USB/USB.h>  | 
