diff options
author | IBNobody <ibnobody@gmail.com> | 2016-04-17 12:55:19 -0500 |
---|---|---|
committer | IBNobody <ibnobody@gmail.com> | 2016-04-17 12:55:19 -0500 |
commit | 3103ea542f0039637a1a266df79a97a7a13fa6b4 (patch) | |
tree | 24a840d4a80678ec24a0f5e5a51e1b217d0568fa /quantum | |
parent | d5b72e7bde5ede25f7d5699b50b7d9eb6f31ba92 (diff) | |
parent | a67d425f4d5278595e7ab785a0f246b83fb1a09f (diff) | |
download | qmk_firmware-3103ea542f0039637a1a266df79a97a7a13fa6b4.tar.gz qmk_firmware-3103ea542f0039637a1a266df79a97a7a13fa6b4.zip |
Merge remote-tracking branch 'remotes/jackhumbert/master' into personal_atomic_planck
Diffstat (limited to 'quantum')
-rw-r--r-- | quantum/audio.c | 5 | ||||
-rw-r--r-- | quantum/audio.h | 6 | ||||
-rw-r--r-- | quantum/keymap_common.c | 16 |
3 files changed, 18 insertions, 9 deletions
diff --git a/quantum/audio.c b/quantum/audio.c index 58b9ab76b..3ccd5ab9b 100644 --- a/quantum/audio.c +++ b/quantum/audio.c | |||
@@ -353,7 +353,6 @@ if (audio_config.enable) { | |||
353 | 353 | ||
354 | if (note) | 354 | if (note) |
355 | stop_all_notes(); | 355 | stop_all_notes(); |
356 | notes = true; | ||
357 | 356 | ||
358 | notes_pointer = np; | 357 | notes_pointer = np; |
359 | notes_count = n_count; | 358 | notes_count = n_count; |
@@ -378,6 +377,8 @@ if (audio_config.enable) { | |||
378 | TIMSK3 |= _BV(OCIE3A); | 377 | TIMSK3 |= _BV(OCIE3A); |
379 | TCCR3A |= _BV(COM3A1); | 378 | TCCR3A |= _BV(COM3A1); |
380 | #endif | 379 | #endif |
380 | |||
381 | notes = true; | ||
381 | } | 382 | } |
382 | 383 | ||
383 | } | 384 | } |
@@ -407,7 +408,6 @@ if (audio_config.enable && voices < 8) { | |||
407 | 408 | ||
408 | if (notes) | 409 | if (notes) |
409 | stop_all_notes(); | 410 | stop_all_notes(); |
410 | note = true; | ||
411 | #ifdef PWM_AUDIO | 411 | #ifdef PWM_AUDIO |
412 | freq = freq / SAMPLE_RATE; | 412 | freq = freq / SAMPLE_RATE; |
413 | #endif | 413 | #endif |
@@ -439,6 +439,7 @@ if (audio_config.enable && voices < 8) { | |||
439 | TCCR3A |= _BV(COM3A1); | 439 | TCCR3A |= _BV(COM3A1); |
440 | #endif | 440 | #endif |
441 | 441 | ||
442 | note = true; | ||
442 | } | 443 | } |
443 | 444 | ||
444 | } | 445 | } |
diff --git a/quantum/audio.h b/quantum/audio.h index 8012aa6bf..3aba8370a 100644 --- a/quantum/audio.h +++ b/quantum/audio.h | |||
@@ -31,6 +31,12 @@ void set_tempo(float tempo); | |||
31 | void increase_tempo(uint8_t tempo_change); | 31 | void increase_tempo(uint8_t tempo_change); |
32 | void decrease_tempo(uint8_t tempo_change); | 32 | void decrease_tempo(uint8_t tempo_change); |
33 | 33 | ||
34 | #define SCALE (int []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \ | ||
35 | 0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \ | ||
36 | 0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \ | ||
37 | 0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \ | ||
38 | 0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), } | ||
39 | |||
34 | // These macros are used to allow play_notes to play an array of indeterminate | 40 | // These macros are used to allow play_notes to play an array of indeterminate |
35 | // length. This works around the limitation of C's sizeof operation on pointers. | 41 | // length. This works around the limitation of C's sizeof operation on pointers. |
36 | // The global float array for the song must be used here. | 42 | // The global float array for the song must be used here. |
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index ce1d007f3..c705b7a73 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c | |||
@@ -34,12 +34,14 @@ extern keymap_config_t keymap_config; | |||
34 | #include <inttypes.h> | 34 | #include <inttypes.h> |
35 | #ifdef AUDIO_ENABLE | 35 | #ifdef AUDIO_ENABLE |
36 | #include "audio.h" | 36 | #include "audio.h" |
37 | 37 | #ifndef TONE_GOODBYE | |
38 | float goodbye[][2] = { | 38 | #define TONE_GOODBYE { \ |
39 | {440.0*pow(2.0,(31)/12.0), 8}, | 39 | {440.0*pow(2.0,(31)/12.0), 8}, \ |
40 | {440.0*pow(2.0,(24)/12.0), 8}, | 40 | {440.0*pow(2.0,(24)/12.0), 8}, \ |
41 | {440.0*pow(2.0,(19)/12.0), 12}, | 41 | {440.0*pow(2.0,(19)/12.0), 12}, \ |
42 | }; | 42 | } |
43 | #endif | ||
44 | float tone_goodbye[][2] = TONE_GOODBYE; | ||
43 | #endif | 45 | #endif |
44 | 46 | ||
45 | static action_t keycode_to_action(uint16_t keycode); | 47 | static action_t keycode_to_action(uint16_t keycode); |
@@ -190,7 +192,7 @@ static action_t keycode_to_action(uint16_t keycode) | |||
190 | case RESET: ; // RESET is 0x5000, which is why this is here | 192 | case RESET: ; // RESET is 0x5000, which is why this is here |
191 | clear_keyboard(); | 193 | clear_keyboard(); |
192 | #ifdef AUDIO_ENABLE | 194 | #ifdef AUDIO_ENABLE |
193 | PLAY_NOTE_ARRAY(goodbye, false, 0); | 195 | PLAY_NOTE_ARRAY(tone_goodbye, false, 0); |
194 | #endif | 196 | #endif |
195 | _delay_ms(250); | 197 | _delay_ms(250); |
196 | #ifdef ATREUS_ASTAR | 198 | #ifdef ATREUS_ASTAR |