]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge remote-tracking branch 'remotes/jackhumbert/master' into personal_atomic_planck
authorIBNobody <ibnobody@gmail.com>
Sun, 17 Apr 2016 17:55:19 +0000 (12:55 -0500)
committerIBNobody <ibnobody@gmail.com>
Sun, 17 Apr 2016 17:55:19 +0000 (12:55 -0500)
1  2 
quantum/audio.c
quantum/audio.h
quantum/keymap_common.c

diff --cc quantum/audio.c
index 58b9ab76bf25d58e6a4a706c8e4efc6ec310b2ef,6bd6532a3abcec328a5bd0dda520642d6ec957b6..3ccd5ab9bc9e4a840db134d66ccd77c54b8af313
@@@ -353,10 -350,9 +353,9 @@@ if (audio_config.enable) 
  
      if (note)
          stop_all_notes();
-     notes = true;
  
      notes_pointer = np;
 -    notes_length = n_length;
 +    notes_count = n_count;
      notes_repeat = n_repeat;
      notes_rest = n_rest;
  
@@@ -439,34 -436,7 +439,35 @@@ if (audio_config.enable && voices < 8) 
          TCCR3A |= _BV(COM3A1);
      #endif
  
+     note = true;
  }
  
 -}
 +}
 +
 +void set_timbre(float timbre)
 +{
 +      note_timbre = timbre;
 +}
 +
 +void set_tempo(float tempo)
 +{
 +      note_tempo = tempo;
 +}
 +
 +void decrease_tempo(uint8_t tempo_change)
 +{
 +      note_tempo += (float) tempo_change;
 +}
 +
 +void increase_tempo(uint8_t tempo_change)
 +{
 +      if (note_tempo - (float) tempo_change < 10)
 +              {
 +                      note_tempo = 10;
 +              }
 +      else
 +              {
 +              note_tempo -= (float) tempo_change;
 +              }
 +}
 +
diff --cc quantum/audio.h
index 8012aa6bf19694f76bea225ade645257da0fe0e2,e1bc23ffed35fc25fe3b70e8615783aa37848b88..3aba8370ac7f85792b755ca58a45109437d54dbd
@@@ -24,13 -24,15 +24,19 @@@ void play_note(double freq, int vol)
  void stop_note(double freq);
  void stop_all_notes(void);
  void init_notes(void);
 -void play_notes(float (*np)[][2], uint8_t n_length, bool n_repeat, float n_rest);
 +void play_notes(float (*np)[][2], uint8_t n_count, bool n_repeat, float n_rest);
  
 +void set_timbre(float timbre);
 +void set_tempo(float tempo);
 +void increase_tempo(uint8_t tempo_change);
 +void decrease_tempo(uint8_t tempo_change);
  
+ #define SCALE (int []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
+                                               0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
+                                               0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
+                                               0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
+                                               0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
  // These macros are used to allow play_notes to play an array of indeterminate
  // length. This works around the limitation of C's sizeof operation on pointers.
  // The global float array for the song must be used here.
Simple merge