|
|
@@ -290,46 +290,51 @@ void encoder_update(bool clockwise) {
|
|
|
}
|
|
|
|
|
|
void dip_switch_update_user(uint8_t index, bool active) {
|
|
|
- switch (index) {
|
|
|
- case 0:
|
|
|
- if (active) {
|
|
|
- #ifdef AUDIO_ENABLE
|
|
|
- PLAY_SONG(plover_song);
|
|
|
- #endif
|
|
|
- layer_on(_ADJUST);
|
|
|
- } else {
|
|
|
- #ifdef AUDIO_ENABLE
|
|
|
- PLAY_SONG(plover_gb_song);
|
|
|
- #endif
|
|
|
- layer_off(_ADJUST);
|
|
|
- }
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- if (active) {
|
|
|
- muse_mode = true;
|
|
|
- } else {
|
|
|
- muse_mode = false;
|
|
|
- #ifdef AUDIO_ENABLE
|
|
|
- stop_all_notes();
|
|
|
- #endif
|
|
|
- }
|
|
|
- }
|
|
|
+ switch (index) {
|
|
|
+ case 0: {
|
|
|
+ static bool play_sound = false;
|
|
|
+ if (active) {
|
|
|
+#ifdef AUDIO_ENABLE
|
|
|
+ if (play_sound) { PLAY_SONG(plover_song); }
|
|
|
+#endif
|
|
|
+ layer_on(_ADJUST);
|
|
|
+ } else {
|
|
|
+#ifdef AUDIO_ENABLE
|
|
|
+ if (play_sound) { PLAY_SONG(plover_gb_song); }
|
|
|
+#endif
|
|
|
+ layer_off(_ADJUST);
|
|
|
+ }
|
|
|
+ play_sound = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 1:
|
|
|
+ if (active) {
|
|
|
+ muse_mode = true;
|
|
|
+ } else {
|
|
|
+ muse_mode = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void matrix_scan_user(void) {
|
|
|
- #ifdef AUDIO_ENABLE
|
|
|
+#ifdef AUDIO_ENABLE
|
|
|
if (muse_mode) {
|
|
|
- if (muse_counter == 0) {
|
|
|
- uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
|
|
|
- if (muse_note != last_muse_note) {
|
|
|
- stop_note(compute_freq_for_midi_note(last_muse_note));
|
|
|
- play_note(compute_freq_for_midi_note(muse_note), 0xF);
|
|
|
- last_muse_note = muse_note;
|
|
|
+ if (muse_counter == 0) {
|
|
|
+ uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
|
|
|
+ if (muse_note != last_muse_note) {
|
|
|
+ stop_note(compute_freq_for_midi_note(last_muse_note));
|
|
|
+ play_note(compute_freq_for_midi_note(muse_note), 0xF);
|
|
|
+ last_muse_note = muse_note;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ muse_counter = (muse_counter + 1) % muse_tempo;
|
|
|
+ } else {
|
|
|
+ if (muse_counter) {
|
|
|
+ stop_all_notes();
|
|
|
+ muse_counter = 0;
|
|
|
}
|
|
|
- }
|
|
|
- muse_counter = (muse_counter + 1) % muse_tempo;
|
|
|
}
|
|
|
- #endif
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
bool music_mask_user(uint16_t keycode) {
|