#define LAYER_LOWER 4
#define LAYER_FUNCTION 5
#define LAYER_MOUSE 6
-#define LAYER_MUSIC 7
-#define LAYER_ADJUST 8
+#define LAYER_ADJUST 7
#define MACRO_QWERTY 0
#define MACRO_COLEMAK 1
#define M_BDFLT M(MACRO_BREATH_DEFAULT)
-#define MUS_TOG M(MACRO_MUSIC_TOGGLE)
-#define AUD_TOG M(MACRO_AUDIO_TOGGLE)
+//#define MU_TOG M(MACRO_MUSIC_TOGGLE)
+//#define AU_TOG M(MACRO_AUDIO_TOGGLE)
#define VC_UP M(MACRO_INC_VOICE)
#define VC_DOWN M(MACRO_DEC_VOICE)
#endif
- [LAYER_MUSIC] = { // MUSIC
- { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
- { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
- { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
- { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
- { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
- },
-
[LAYER_ADJUST] = { // ADJUST
- { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, _______, MUS_TOG, AUD_TOG, ________________ },
+ { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, _______, MU_TOG, AU_TOG, ________________ },
{ _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______ },
- { _______, _______, _______, _______, M_BACKL, RESET, _______, M_MOUSE, _______, _______, _______, ________________, VC_UP, _______ },
- { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, VC_DOWN, _______ },
+ { _______, _______, _______, _______, M_BACKL, RESET, _______, M_MOUSE, _______, _______, _______, ________________, MUV_IN, _______ },
+ { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, MUV_DE, _______ },
},
float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
float tone_music_on[][2] = SONG(DOE_A_DEER);
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+
float tone_caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
float tone_caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND);
float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND);
float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND);
float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
#endif /* AUDIO_ENABLE */
}
break;
+/*
case MACRO_AUDIO_TOGGLE:
if (record->event.pressed)
{
}
}
break;
-
case MACRO_INC_VOICE:
if (record->event.pressed)
{
#endif
}
break;
+*/
#endif /* AUDIO_ENABLE */
#ifdef AUDIO_ENABLE
-
-void process_action_user(keyrecord_t *record)
+/*
+bool process_action_user(keyrecord_t *record)
{
uint8_t starting_note = 0x0C;
}
}
}
-
+*/
void matrix_init_user(void)
{
stop_all_notes();
}
+void play_audio_on_tone(void)
+{
+ PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
+}
+
+void play_music_on_tone(void)
+{
+ PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
+}
+
+void play_music_scale(void)
+{
+ PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
+}
+
#endif /* AUDIO_ENABLE */
\ No newline at end of file
#include "quantum.h"
+#include "timer.h"
__attribute__ ((weak))
void matrix_init_kb(void) {}
__attribute__ ((weak))
void leader_end(void) {}
+uint8_t starting_note = 0x0C;
+int offset = 7;
+
#ifdef AUDIO_ENABLE
- uint8_t starting_note = 0x0C;
- int offset = 7;
bool music_activated = false;
- float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
#endif
#ifdef MIDI_ENABLE
#ifdef MIDI_ENABLE
if (keycode == MI_ON && record->event.pressed) {
midi_activated = true;
- PLAY_NOTE_ARRAY(music_scale, false, 0);
+ play_music_scale();
return false;
}
#ifdef AUDIO_ENABLE
if (keycode == AU_ON && record->event.pressed) {
audio_on();
- audio_on_callback();
return false;
}
return false;
}
+ if (keycode == AU_TOG && record->event.pressed) {
+ if (is_audio_on())
+ {
+ audio_off();
+ }
+ else
+ {
+ audio_on();
+ }
+ return false;
+ }
+
if (keycode == MU_ON && record->event.pressed) {
- music_activated = true;
- PLAY_NOTE_ARRAY(music_scale, false, 0);
+ music_on();
return false;
}
if (keycode == MU_OFF && record->event.pressed) {
- music_activated = false;
- stop_all_notes();
+ music_off();
return false;
}
+ if (keycode == MU_TOG && record->event.pressed) {
+ if (music_activated)
+ {
+ music_off();
+ }
+ else
+ {
+ music_on();
+ }
+ return false;
+ }
+
if (keycode == MUV_IN && record->event.pressed) {
voice_iterate();
- PLAY_NOTE_ARRAY(music_scale, false, 0);
+ play_music_scale();
return false;
}
if (keycode == MUV_DE && record->event.pressed) {
voice_deiterate();
- PLAY_NOTE_ARRAY(music_scale, false, 0);
+ play_music_scale();
return false;
}
- if (music_activated) {
+ if (music_activated) {
if (keycode == KC_LCTL && record->event.pressed) { // Start recording
stop_all_notes();
}
} else {
stop_note(freq);
- }
+ }
if (keycode < 0xFF) // ignores all normal keycodes, but lets RAISE, LOWER, etc through
return false;
#endif
matrix_scan_kb();
-}
\ No newline at end of file
+}
+
+bool is_music_on(void) {
+ return (music_activated != 0);
+}
+
+void music_toggle(void) {
+ if (!music_activated) {
+ music_on();
+ } else {
+ music_off();
+ }
+}
+
+void music_on(void) {
+ music_activated = 1;
+ music_on_user();
+}
+
+void music_off(void) {
+ music_activated = 0;
+ stop_all_notes();
+}
+
+__attribute__ ((weak))
+void music_on_user() {}
\ No newline at end of file