summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2023-11-26 03:59:18 -0800
committerGitHub <noreply@github.com>2023-11-26 22:59:18 +1100
commit3ef06aa732ce8063e11b2f983592529883f7ecbc (patch)
tree7fa143f938e711b6db1c2ed40c36298b8f7604c7 /keyboards
parent4601f339e48b0116ca139dd06ce55ef0b9ed598f (diff)
Improve and Cleanup Shutdown callbacks (#21060)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c35
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c12
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c12
-rw-r--r--keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c12
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c12
-rw-r--r--keyboards/bastardkb/charybdis/charybdis.c17
-rw-r--r--keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c12
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c3
-rw-r--r--keyboards/bastardkb/dilemma/dilemma.c17
-rwxr-xr-xkeyboards/bemeier/bmek/bmek.c7
-rw-r--r--keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c4
-rw-r--r--keyboards/dumbpad/v0x/v0x.c6
-rw-r--r--keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c6
-rw-r--r--keyboards/dumbpad/v0x_right/v0x_right.c6
-rw-r--r--keyboards/dumbpad/v1x/v1x.c6
-rw-r--r--keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c6
-rw-r--r--keyboards/dumbpad/v1x_right/v1x_right.c6
-rw-r--r--keyboards/dumbpad/v3x/v3x.c6
-rw-r--r--keyboards/eco/keymaps/that_canadian/keymap.c38
-rw-r--r--keyboards/hadron/ver2/keymaps/side_numpad/keymap.c33
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/keymap.c48
-rw-r--r--keyboards/handwired/ortho5x13/keymaps/default/keymap.c49
-rw-r--r--keyboards/helix/pico/keymaps/default/keymap.c30
-rw-r--r--keyboards/helix/pico/keymaps/mtei/keymap.c33
-rw-r--r--keyboards/helix/rev2/keymaps/default/keymap.c30
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/keymap.c30
-rw-r--r--keyboards/helix/rev2/keymaps/yshrsmz/keymap.c30
-rw-r--r--keyboards/matrix/abelx/abelx.c7
-rw-r--r--keyboards/matrix/m20add/m20add.c8
-rwxr-xr-xkeyboards/neopad/rev1/rev1.c6
-rw-r--r--keyboards/omkbd/ergodash/rev1/rev1.c32
-rw-r--r--keyboards/planck/keymaps/altgr/common/init.h26
-rw-r--r--keyboards/planck/keymaps/circuit/keymap.c38
-rw-r--r--keyboards/planck/keymaps/dbroqua/keymap.c38
-rw-r--r--keyboards/planck/keymaps/dr_notsokind/keymap.c42
-rw-r--r--keyboards/planck/keymaps/emilyh/keymap.c38
-rw-r--r--keyboards/planck/keymaps/experimental/keymap.c37
-rw-r--r--keyboards/planck/keymaps/gunp/keymap.c23
-rw-r--r--keyboards/planck/keymaps/handwired_binaryplease/keymap.c37
-rw-r--r--keyboards/planck/keymaps/hiea/common/init.h26
-rw-r--r--keyboards/planck/keymaps/hieax/common/init.h25
-rw-r--r--keyboards/planck/keymaps/impossible/keymap.c40
-rw-r--r--keyboards/planck/keymaps/ishtob/keymap.c60
-rw-r--r--keyboards/planck/keymaps/jhenahan/keymap.c38
-rw-r--r--keyboards/planck/keymaps/lae3/keymap.c46
-rw-r--r--keyboards/planck/keymaps/mjt/keymap.c38
-rw-r--r--keyboards/planck/keymaps/mjtnumsym/keymap.c38
-rw-r--r--keyboards/planck/keymaps/originerd/keymap.c38
-rw-r--r--keyboards/planck/keymaps/premek/keymap.c38
-rw-r--r--keyboards/planck/keymaps/roguepullrequest/keymap.c13
-rw-r--r--keyboards/planck/keymaps/sdothum/common/init.h26
-rw-r--r--keyboards/planck/keymaps/sgoodwin/keymap.c38
-rw-r--r--keyboards/planck/keymaps/smt/keymap.c38
-rw-r--r--keyboards/planck/keymaps/that_canadian/keymap.c38
-rw-r--r--keyboards/planck/keymaps/vaire/keymap.c68
-rw-r--r--keyboards/planck/keymaps/zach/zach_common_functions.c30
-rw-r--r--keyboards/preonic/keymaps/0xdec/keymap.c27
-rw-r--r--keyboards/preonic/keymaps/bucktooth/keymap.c44
-rw-r--r--keyboards/preonic/keymaps/jacwib/keymap.c46
-rw-r--r--keyboards/preonic/keymaps/nikchi/keymap.c44
-rw-r--r--keyboards/preonic/keymaps/smt/keymap.c44
-rw-r--r--keyboards/preonic/keymaps/that_canadian/keymap.c44
-rw-r--r--keyboards/preonic/keymaps/zach/zach_common_functions.c28
63 files changed, 145 insertions, 1608 deletions
diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
index 090fd1d296..3a5cef8fad 100644
--- a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c
@@ -66,15 +66,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
66 66
67#ifdef AUDIO_ENABLE 67#ifdef AUDIO_ENABLE
68 68
69float tone_startup[][2] = SONG(STARTUP_SOUND);
70float tone_qwerty[][2] = SONG(QWERTY_SOUND); 69float tone_qwerty[][2] = SONG(QWERTY_SOUND);
71float tone_dvorak[][2] = SONG(DVORAK_SOUND); 70float tone_dvorak[][2] = SONG(DVORAK_SOUND);
72float tone_colemak[][2] = SONG(COLEMAK_SOUND); 71float tone_colemak[][2] = SONG(COLEMAK_SOUND);
73float tone_plover[][2] = SONG(PLOVER_SOUND); 72float tone_plover[][2] = SONG(PLOVER_SOUND);
74float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 73float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
75float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
76 74
77float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
78#endif 75#endif
79 76
80void persistant_default_layer_set(uint16_t default_layer) { 77void persistant_default_layer_set(uint16_t default_layer) {
@@ -166,39 +163,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
166 return true; 163 return true;
167} 164}
168 165
169void matrix_init_user(void) { 166void matrix_scan_user(void) {
170 #ifdef AUDIO_ENABLE
171 startup_user();
172 #endif
173} 167}
174 168
175#ifdef AUDIO_ENABLE
176
177void startup_user(void)
178{
179 _delay_ms(20); // gets rid of tick
180 PLAY_SONG(tone_startup);
181}
182
183void shutdown_user(void)
184{
185 PLAY_SONG(tone_goodbye);
186 _delay_ms(150);
187 stop_all_notes();
188}
189
190void music_on_user(void)
191{
192 music_scale_user();
193}
194
195void music_scale_user(void)
196{
197 PLAY_SONG(music_scale);
198}
199
200#endif
201
202//Tap Dance Definitions 169//Tap Dance Definitions
203tap_dance_action_t tap_dance_actions[] = { 170tap_dance_action_t tap_dance_actions[] = {
204 //Tap once for Esc, twice for Caps Lock 171 //Tap once for Esc, twice for Caps Lock
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c
index 8f02227c01..21e823575e 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c
@@ -210,15 +210,3 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
210// Forward-declare this helper function since it is defined in rgb_matrix.c. 210// Forward-declare this helper function since it is defined in rgb_matrix.c.
211void rgb_matrix_update_pwm_buffers(void); 211void rgb_matrix_update_pwm_buffers(void);
212#endif 212#endif
213
214void shutdown_user(void) {
215#ifdef RGBLIGHT_ENABLE
216 rgblight_enable_noeeprom();
217 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
218 rgblight_setrgb(RGB_RED);
219#endif // RGBLIGHT_ENABLE
220#ifdef RGB_MATRIX_ENABLE
221 rgb_matrix_set_color_all(RGB_RED);
222 rgb_matrix_update_pwm_buffers();
223#endif // RGB_MATRIX_ENABLE
224}
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
index 4a91548090..5299444ad3 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
@@ -255,15 +255,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
255// rgb_matrix.c. 255// rgb_matrix.c.
256void rgb_matrix_update_pwm_buffers(void); 256void rgb_matrix_update_pwm_buffers(void);
257#endif 257#endif
258
259void shutdown_user(void) {
260#ifdef RGBLIGHT_ENABLE
261 rgblight_enable_noeeprom();
262 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
263 rgblight_setrgb(RGB_RED);
264#endif // RGBLIGHT_ENABLE
265#ifdef RGB_MATRIX_ENABLE
266 rgb_matrix_set_color_all(RGB_RED);
267 rgb_matrix_update_pwm_buffers();
268#endif // RGB_MATRIX_ENABLE
269}
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
index fd56cce25d..d78ce8b7ff 100644
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
@@ -134,15 +134,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
134// Forward-declare this helper function since it is defined in rgb_matrix.c. 134// Forward-declare this helper function since it is defined in rgb_matrix.c.
135void rgb_matrix_update_pwm_buffers(void); 135void rgb_matrix_update_pwm_buffers(void);
136#endif 136#endif
137
138void shutdown_user(void) {
139#ifdef RGBLIGHT_ENABLE
140 rgblight_enable_noeeprom();
141 rgblight_mode_noeeprom(1);
142 rgblight_setrgb(RGB_RED);
143#endif // RGBLIGHT_ENABLE
144#ifdef RGB_MATRIX_ENABLE
145 rgb_matrix_set_color_all(RGB_RED);
146 rgb_matrix_update_pwm_buffers();
147#endif // RGB_MATRIX_ENABLE
148}
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
index fb795829fd..a0657b02ec 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
@@ -157,15 +157,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
157// Forward-declare this helper function since it is defined in rgb_matrix.c. 157// Forward-declare this helper function since it is defined in rgb_matrix.c.
158void rgb_matrix_update_pwm_buffers(void); 158void rgb_matrix_update_pwm_buffers(void);
159#endif 159#endif
160
161void shutdown_user(void) {
162#ifdef RGBLIGHT_ENABLE
163 rgblight_enable_noeeprom();
164 rgblight_mode_noeeprom(1);
165 rgblight_setrgb(RGB_RED);
166#endif // RGBLIGHT_ENABLE
167#ifdef RGB_MATRIX_ENABLE
168 rgb_matrix_set_color_all(RGB_RED);
169 rgb_matrix_update_pwm_buffers();
170#endif // RGB_MATRIX_ENABLE
171}
diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c
index c321af7aa9..c9f0e63172 100644
--- a/keyboards/bastardkb/charybdis/charybdis.c
+++ b/keyboards/bastardkb/charybdis/charybdis.c
@@ -382,3 +382,20 @@ void matrix_scan_kb(void) {
382 matrix_scan_user(); 382 matrix_scan_user();
383} 383}
384#endif // KEYBOARD_bastardkb_charybdis_3x5_blackpill || KEYBOARD_bastardkb_charybdis_4x6_blackpill 384#endif // KEYBOARD_bastardkb_charybdis_3x5_blackpill || KEYBOARD_bastardkb_charybdis_4x6_blackpill
385
386bool shutdown_kb(bool jump_to_bootloader) {
387 if (!shutdown_user(jump_to_bootloader)) {
388 return false;
389 }
390#ifdef RGBLIGHT_ENABLE
391 rgblight_enable_noeeprom();
392 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
393 rgblight_setrgb(RGB_RED);
394#endif // RGBLIGHT_ENABLE
395#ifdef RGB_MATRIX_ENABLE
396 void rgb_matrix_update_pwm_buffers(void);
397 rgb_matrix_set_color_all(RGB_RED);
398 rgb_matrix_update_pwm_buffers();
399#endif // RGB_MATRIX_ENABLE
400 return true;
401}
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c
index e8c0441d7b..5f22184928 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c
+++ b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c
@@ -210,15 +210,3 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
210// Forward-declare this helper function since it is defined in rgb_matrix.c. 210// Forward-declare this helper function since it is defined in rgb_matrix.c.
211void rgb_matrix_update_pwm_buffers(void); 211void rgb_matrix_update_pwm_buffers(void);
212#endif 212#endif
213
214void shutdown_user(void) {
215#ifdef RGBLIGHT_ENABLE
216 rgblight_enable_noeeprom();
217 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
218 rgblight_setrgb(RGB_RED);
219#endif // RGBLIGHT_ENABLE
220#ifdef RGB_MATRIX_ENABLE
221 rgb_matrix_set_color_all(RGB_RED);
222 rgb_matrix_update_pwm_buffers();
223#endif // RGB_MATRIX_ENABLE
224}
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c
index 2c262521bc..b55d99b56b 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c
@@ -210,7 +210,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
210void rgb_matrix_update_pwm_buffers(void); 210void rgb_matrix_update_pwm_buffers(void);
211#endif 211#endif
212 212
213void shutdown_user(void) { 213bool shutdown_user(bool jump_to_bootloader) {
214#ifdef RGBLIGHT_ENABLE 214#ifdef RGBLIGHT_ENABLE
215 rgblight_enable_noeeprom(); 215 rgblight_enable_noeeprom();
216 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 216 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
@@ -220,4 +220,5 @@ void shutdown_user(void) {
220 rgb_matrix_set_color_all(RGB_RED); 220 rgb_matrix_set_color_all(RGB_RED);
221 rgb_matrix_update_pwm_buffers(); 221 rgb_matrix_update_pwm_buffers();
222#endif // RGB_MATRIX_ENABLE 222#endif // RGB_MATRIX_ENABLE
223 return true;
223} 224}
diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c
index 5452f9e7f6..7c87fdcadd 100644
--- a/keyboards/bastardkb/dilemma/dilemma.c
+++ b/keyboards/bastardkb/dilemma/dilemma.c
@@ -343,3 +343,20 @@ void keyboard_pre_init_kb(void) {
343 343
344 keyboard_pre_init_user(); 344 keyboard_pre_init_user();
345} 345}
346
347bool shutdown_kb(bool jump_to_bootloader) {
348 if (!shutdown_user(jump_to_bootloader)) {
349 return false;
350 }
351#ifdef RGBLIGHT_ENABLE
352 rgblight_enable_noeeprom();
353 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
354 rgblight_setrgb(RGB_RED);
355#endif // RGBLIGHT_ENABLE
356#ifdef RGB_MATRIX_ENABLE
357 void rgb_matrix_update_pwm_buffers(void);
358 rgb_matrix_set_color_all(RGB_RED);
359 rgb_matrix_update_pwm_buffers();
360#endif // RGB_MATRIX_ENABLE
361 return true;
362}
diff --git a/keyboards/bemeier/bmek/bmek.c b/keyboards/bemeier/bmek/bmek.c
index eaae446d63..dd0372aaee 100755
--- a/keyboards/bemeier/bmek/bmek.c
+++ b/keyboards/bemeier/bmek/bmek.c
@@ -15,9 +15,12 @@
15 */ 15 */
16#include "quantum.h" 16#include "quantum.h"
17 17
18__attribute__((weak)) 18bool shutdown_kb(bool jump_to_bootloader) {
19void shutdown_user(void) { 19 if (!shutdown_user(jump_to_bootloader)) {
20 return false;
21 }
20#ifdef RGBLIGHT_ENABLE 22#ifdef RGBLIGHT_ENABLE
21 rgblight_setrgb(255, 0, 0); 23 rgblight_setrgb(255, 0, 0);
22#endif 24#endif
25 return true;
23} 26}
diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
index dd452dae1a..4acb0ee59b 100644
--- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
+++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
@@ -147,11 +147,12 @@ void keyboard_post_init_user(void) {
147 do_rgb_layers(layer_state, LAYER_BASE, LAYER_BASE_END); 147 do_rgb_layers(layer_state, LAYER_BASE, LAYER_BASE_END);
148} 148}
149 149
150void shutdown_user(void) { 150bool shutdown_user(bool jump_to_bootloader) {
151 clear_rgb_layers(); 151 clear_rgb_layers();
152 rgblight_enable(); 152 rgblight_enable();
153 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 153 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
154 rgblight_sethsv_noeeprom(HSV_RED); 154 rgblight_sethsv_noeeprom(HSV_RED);
155 return false;
155} 156}
156 157
157void spidey_glow(void) { 158void spidey_glow(void) {
@@ -218,4 +219,3 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
218 break; 219 break;
219 } 220 }
220} 221}
221
diff --git a/keyboards/dumbpad/v0x/v0x.c b/keyboards/dumbpad/v0x/v0x.c
index 6c89edaa11..d7e3841d76 100644
--- a/keyboards/dumbpad/v0x/v0x.c
+++ b/keyboards/dumbpad/v0x/v0x.c
@@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) {
22 keyboard_pre_init_user(); 22 keyboard_pre_init_user();
23} 23}
24 24
25void shutdown_user(void) { 25bool shutdown_kb(bool jump_to_bootloader) {
26 if (!shutdown_user(jump_to_bootloader)) {
27 return false;
28 }
26 // Shutdown LEDs 29 // Shutdown LEDs
27 writePinLow(LED_00); 30 writePinLow(LED_00);
28 writePinLow(LED_01); 31 writePinLow(LED_01);
32 return true;
29} 33}
30 34
31layer_state_t layer_state_set_kb(layer_state_t state) { 35layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c
index 6c89edaa11..d7e3841d76 100644
--- a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c
+++ b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c
@@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) {
22 keyboard_pre_init_user(); 22 keyboard_pre_init_user();
23} 23}
24 24
25void shutdown_user(void) { 25bool shutdown_kb(bool jump_to_bootloader) {
26 if (!shutdown_user(jump_to_bootloader)) {
27 return false;
28 }
26 // Shutdown LEDs 29 // Shutdown LEDs
27 writePinLow(LED_00); 30 writePinLow(LED_00);
28 writePinLow(LED_01); 31 writePinLow(LED_01);
32 return true;
29} 33}
30 34
31layer_state_t layer_state_set_kb(layer_state_t state) { 35layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/dumbpad/v0x_right/v0x_right.c b/keyboards/dumbpad/v0x_right/v0x_right.c
index 6c89edaa11..d7e3841d76 100644
--- a/keyboards/dumbpad/v0x_right/v0x_right.c
+++ b/keyboards/dumbpad/v0x_right/v0x_right.c
@@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) {
22 keyboard_pre_init_user(); 22 keyboard_pre_init_user();
23} 23}
24 24
25void shutdown_user(void) { 25bool shutdown_kb(bool jump_to_bootloader) {
26 if (!shutdown_user(jump_to_bootloader)) {
27 return false;
28 }
26 // Shutdown LEDs 29 // Shutdown LEDs
27 writePinLow(LED_00); 30 writePinLow(LED_00);
28 writePinLow(LED_01); 31 writePinLow(LED_01);
32 return true;
29} 33}
30 34
31layer_state_t layer_state_set_kb(layer_state_t state) { 35layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/dumbpad/v1x/v1x.c b/keyboards/dumbpad/v1x/v1x.c
index f1b1d66c7f..1022ad0605 100644
--- a/keyboards/dumbpad/v1x/v1x.c
+++ b/keyboards/dumbpad/v1x/v1x.c
@@ -23,11 +23,15 @@ void keyboard_pre_init_kb(void) {
23 keyboard_pre_init_user(); 23 keyboard_pre_init_user();
24} 24}
25 25
26void shutdown_user(void) { 26bool shutdown_kb(bool jump_to_bootloader) {
27 if (!shutdown_user(jump_to_bootloader)) {
28 return false;
29 }
27 // Shutdown LEDs 30 // Shutdown LEDs
28 writePinLow(LED_00); 31 writePinLow(LED_00);
29 writePinLow(LED_01); 32 writePinLow(LED_01);
30 writePinLow(LED_02); 33 writePinLow(LED_02);
34 return true;
31} 35}
32 36
33layer_state_t layer_state_set_kb(layer_state_t state) { 37layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c b/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c
index f1b1d66c7f..1022ad0605 100644
--- a/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c
+++ b/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c
@@ -23,11 +23,15 @@ void keyboard_pre_init_kb(void) {
23 keyboard_pre_init_user(); 23 keyboard_pre_init_user();
24} 24}
25 25
26void shutdown_user(void) { 26bool shutdown_kb(bool jump_to_bootloader) {
27 if (!shutdown_user(jump_to_bootloader)) {
28 return false;
29 }
27 // Shutdown LEDs 30 // Shutdown LEDs
28 writePinLow(LED_00); 31 writePinLow(LED_00);
29 writePinLow(LED_01); 32 writePinLow(LED_01);
30 writePinLow(LED_02); 33 writePinLow(LED_02);
34 return true;
31} 35}
32 36
33layer_state_t layer_state_set_kb(layer_state_t state) { 37layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/dumbpad/v1x_right/v1x_right.c b/keyboards/dumbpad/v1x_right/v1x_right.c
index f1b1d66c7f..1022ad0605 100644
--- a/keyboards/dumbpad/v1x_right/v1x_right.c
+++ b/keyboards/dumbpad/v1x_right/v1x_right.c
@@ -23,11 +23,15 @@ void keyboard_pre_init_kb(void) {
23 keyboard_pre_init_user(); 23 keyboard_pre_init_user();
24} 24}
25 25
26void shutdown_user(void) { 26bool shutdown_kb(bool jump_to_bootloader) {
27 if (!shutdown_user(jump_to_bootloader)) {
28 return false;
29 }
27 // Shutdown LEDs 30 // Shutdown LEDs
28 writePinLow(LED_00); 31 writePinLow(LED_00);
29 writePinLow(LED_01); 32 writePinLow(LED_01);
30 writePinLow(LED_02); 33 writePinLow(LED_02);
34 return true;
31} 35}
32 36
33layer_state_t layer_state_set_kb(layer_state_t state) { 37layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/dumbpad/v3x/v3x.c b/keyboards/dumbpad/v3x/v3x.c
index d0acca1947..89f13684f2 100644
--- a/keyboards/dumbpad/v3x/v3x.c
+++ b/keyboards/dumbpad/v3x/v3x.c
@@ -54,11 +54,15 @@ void keyboard_pre_init_kb(void) {
54 keyboard_pre_init_user(); 54 keyboard_pre_init_user();
55} 55}
56 56
57void shutdown_user(void) { 57bool shutdown_kb(bool jump_to_bootloader) {
58 if (!shutdown_user(jump_to_bootloader)) {
59 return false;
60 }
58 // Shutdown LEDs 61 // Shutdown LEDs
59 writePinLow(LED_00); 62 writePinLow(LED_00);
60 writePinLow(LED_01); 63 writePinLow(LED_01);
61 writePinLow(LED_02); 64 writePinLow(LED_02);
65 return true;
62} 66}
63 67
64layer_state_t layer_state_set_kb(layer_state_t state) { 68layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/eco/keymaps/that_canadian/keymap.c b/keyboards/eco/keymaps/that_canadian/keymap.c
index 0c8b53385d..edd88b184e 100644
--- a/keyboards/eco/keymaps/that_canadian/keymap.c
+++ b/keyboards/eco/keymaps/that_canadian/keymap.c
@@ -124,14 +124,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
124}; 124};
125 125
126#ifdef AUDIO_ENABLE 126#ifdef AUDIO_ENABLE
127
128float tone_startup[][2] = SONG(STARTUP_SOUND);
129float tone_qwerty[][2] = SONG(QWERTY_SOUND); 127float tone_qwerty[][2] = SONG(QWERTY_SOUND);
130float tone_dvorak[][2] = SONG(DVORAK_SOUND); 128float tone_dvorak[][2] = SONG(DVORAK_SOUND);
131float tone_colemak[][2] = SONG(COLEMAK_SOUND); 129float tone_colemak[][2] = SONG(COLEMAK_SOUND);
132float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
133
134float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
135#endif 130#endif
136 131
137 132
@@ -174,36 +169,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
174 } 169 }
175 return true; 170 return true;
176} 171}
177
178void matrix_init_user(void) {
179 #ifdef AUDIO_ENABLE
180 startup_user();
181 #endif
182}
183
184#ifdef AUDIO_ENABLE
185
186void startup_user(void)
187{
188 _delay_ms(20); // gets rid of tick
189 PLAY_SONG(tone_startup);
190}
191
192void shutdown_user(void)
193{
194 PLAY_SONG(tone_goodbye);
195 _delay_ms(150);
196 stop_all_notes();
197}
198
199void music_on_user(void)
200{
201 music_scale_user();
202}
203
204void music_scale_user(void)
205{
206 PLAY_SONG(music_scale);
207}
208
209#endif
diff --git a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
index f352b1c851..9cc621df2f 100644
--- a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
+++ b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c
@@ -316,36 +316,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
316 } 316 }
317 return true; 317 return true;
318} 318}
319
320void matrix_init_user(void) {
321#ifdef AUDIO_ENABLE
322 startup_user();
323#endif
324}
325
326#ifdef AUDIO_ENABLE
327
328void startup_user(void)
329{
330 _delay_ms(20); // gets rid of tick
331 PLAY_SONG(tone_startup);
332}
333
334void shutdown_user(void)
335{cc
336 PLAY_SONG(tone_goodbye);
337 _delay_ms(150);
338 stop_all_notes();
339}
340
341void music_on_user(void)
342{
343 music_scale_user();
344}
345
346void music_scale_user(void)
347{
348 PLAY_SONG(music_scale);
349}
350
351#endif
diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c
index cbcc5fc6f8..c9de095cf8 100644
--- a/keyboards/handwired/atreus50/keymaps/default/keymap.c
+++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c
@@ -94,20 +94,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
94}; 94};
95 95
96#ifdef AUDIO_ENABLE 96#ifdef AUDIO_ENABLE
97float tone_startup[][2] = { 97// float tone_startup[][2] = {
98 {NOTE_B5, 20}, 98// {NOTE_B5, 20},
99 {NOTE_B6, 8}, 99// {NOTE_B6, 8},
100 {NOTE_DS6, 20}, 100// {NOTE_DS6, 20},
101 {NOTE_B6, 8} 101// {NOTE_B6, 8}
102}; 102// };
103 103
104float tone_qwerty[][2] = SONG(QWERTY_SOUND); 104float tone_qwerty[][2] = SONG(QWERTY_SOUND);
105float tone_dvorak[][2] = SONG(DVORAK_SOUND); 105float tone_dvorak[][2] = SONG(DVORAK_SOUND);
106float tone_colemak[][2] = SONG(COLEMAK_SOUND); 106float tone_colemak[][2] = SONG(COLEMAK_SOUND);
107 107
108float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
109
110float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
111#endif 108#endif
112 109
113void persistent_default_layer_set(uint16_t default_layer) { 110void persistent_default_layer_set(uint16_t default_layer) {
@@ -178,36 +175,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
178 } 175 }
179 return true; 176 return true;
180}; 177};
181
182void matrix_init_user(void) {
183 #ifdef AUDIO_ENABLE
184 startup_user();
185 #endif
186}
187
188#ifdef AUDIO_ENABLE
189
190void startup_user(void)
191{
192 _delay_ms(20); // gets rid of tick
193 PLAY_SONG(tone_startup);
194}
195
196void shutdown_user(void)
197{
198 PLAY_SONG(tone_goodbye);
199 _delay_ms(150);
200 stop_all_notes();
201}
202
203void music_on_user(void)
204{
205 music_scale_user();
206}
207
208void music_scale_user(void)
209{
210 PLAY_SONG(music_scale);
211}
212
213#endif
diff --git a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
index ef975a215d..d725397199 100644
--- a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
+++ b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
@@ -163,20 +163,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
163}; 163};
164 164
165#ifdef AUDIO_ENABLE 165#ifdef AUDIO_ENABLE
166float tone_startup[][2] = { 166// float tone_startup[][2] = {
167 {NOTE_B5, 20}, 167// {NOTE_B5, 20},
168 {NOTE_B6, 8}, 168// {NOTE_B6, 8},
169 {NOTE_DS6, 20}, 169// {NOTE_DS6, 20},
170 {NOTE_B6, 8} 170// {NOTE_B6, 8}
171}; 171// };
172 172
173float tone_qwerty[][2] = SONG(QWERTY_SOUND); 173float tone_qwerty[][2] = SONG(QWERTY_SOUND);
174float tone_dvorak[][2] = SONG(DVORAK_SOUND); 174float tone_dvorak[][2] = SONG(DVORAK_SOUND);
175float tone_colemak[][2] = SONG(COLEMAK_SOUND); 175float tone_colemak[][2] = SONG(COLEMAK_SOUND);
176
177float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
178
179float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
180#endif 176#endif
181 177
182void persistent_default_layer_set(uint16_t default_layer) { 178void persistent_default_layer_set(uint16_t default_layer) {
@@ -247,36 +243,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
247 } 243 }
248 return true; 244 return true;
249}; 245};
250
251void matrix_init_user(void) {
252 #ifdef AUDIO_ENABLE
253 startup_user();
254 #endif
255}
256
257#ifdef AUDIO_ENABLE
258
259void startup_user(void)
260{
261 _delay_ms(20); // gets rid of tick
262 PLAY_SONG(tone_startup);
263}
264
265void shutdown_user(void)
266{
267 PLAY_SONG(tone_goodbye);
268 _delay_ms(150);
269 stop_all_notes();
270}
271
272void music_on_user(void)
273{
274 music_scale_user();
275}
276
277void music_scale_user(void)
278{
279 PLAY_SONG(music_scale);
280}
281
282#endif
diff --git a/keyboards/helix/pico/keymaps/default/keymap.c b/keyboards/helix/pico/keymaps/default/keymap.c
index 101a54bda6..3ee620360d 100644
--- a/keyboards/helix/pico/keymaps/default/keymap.c
+++ b/keyboards/helix/pico/keymaps/default/keymap.c
@@ -173,7 +173,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND);
173float tone_colemak[][2] = SONG(COLEMAK_SOUND); 173float tone_colemak[][2] = SONG(COLEMAK_SOUND);
174float tone_plover[][2] = SONG(PLOVER_SOUND); 174float tone_plover[][2] = SONG(PLOVER_SOUND);
175float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 175float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
176float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
177#endif 176#endif
178 177
179// define variables for reactive RGB 178// define variables for reactive RGB
@@ -329,36 +328,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
329} 328}
330 329
331void matrix_init_user(void) { 330void matrix_init_user(void) {
332 #ifdef AUDIO_ENABLE
333 startup_user();
334 #endif
335 #ifdef RGBLIGHT_ENABLE 331 #ifdef RGBLIGHT_ENABLE
336 RGB_current_mode = rgblight_config.mode; 332 RGB_current_mode = rgblight_config.mode;
337 #endif 333 #endif
338} 334}
339
340
341#ifdef AUDIO_ENABLE
342
343void startup_user(void)
344{
345 _delay_ms(50); // gets rid of tick
346}
347
348void shutdown_user(void)
349{
350 _delay_ms(150);
351 stop_all_notes();
352}
353
354void music_on_user(void)
355{
356 music_scale_user();
357}
358
359void music_scale_user(void)
360{
361 PLAY_SONG(music_scale);
362}
363
364#endif
diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c
index 6a5f7d295a..9bf479df6f 100644
--- a/keyboards/helix/pico/keymaps/mtei/keymap.c
+++ b/keyboards/helix/pico/keymaps/mtei/keymap.c
@@ -237,7 +237,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND);
237float tone_colemak[][2] = SONG(COLEMAK_SOUND); 237float tone_colemak[][2] = SONG(COLEMAK_SOUND);
238float tone_plover[][2] = SONG(PLOVER_SOUND); 238float tone_plover[][2] = SONG(PLOVER_SOUND);
239float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 239float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
240float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
241#endif 240#endif
242 241
243static int current_default_layer; 242static int current_default_layer;
@@ -334,35 +333,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
334 } 333 }
335 return true; 334 return true;
336} 335}
337
338void matrix_init_user(void) {
339 #ifdef AUDIO_ENABLE
340 startup_user();
341 #endif
342}
343
344
345#ifdef AUDIO_ENABLE
346
347void startup_user(void)
348{
349 _delay_ms(50); // gets rid of tick
350}
351
352void shutdown_user(void)
353{
354 _delay_ms(150);
355 stop_all_notes();
356}
357
358void music_on_user(void)
359{
360 music_scale_user();
361}
362
363void music_scale_user(void)
364{
365 PLAY_SONG(music_scale);
366}
367
368#endif
diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c
index b777d35d45..f23ff07b4f 100644
--- a/keyboards/helix/rev2/keymaps/default/keymap.c
+++ b/keyboards/helix/rev2/keymaps/default/keymap.c
@@ -185,7 +185,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND);
185float tone_colemak[][2] = SONG(COLEMAK_SOUND); 185float tone_colemak[][2] = SONG(COLEMAK_SOUND);
186float tone_plover[][2] = SONG(PLOVER_SOUND); 186float tone_plover[][2] = SONG(PLOVER_SOUND);
187float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 187float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
188float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
189#endif 188#endif
190 189
191// define variables for reactive RGB 190// define variables for reactive RGB
@@ -341,36 +340,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
341} 340}
342 341
343void matrix_init_user(void) { 342void matrix_init_user(void) {
344 #ifdef AUDIO_ENABLE
345 startup_user();
346 #endif
347 #ifdef RGBLIGHT_ENABLE 343 #ifdef RGBLIGHT_ENABLE
348 RGB_current_mode = rgblight_get_mode(); 344 RGB_current_mode = rgblight_get_mode();
349 #endif 345 #endif
350} 346}
351
352
353#ifdef AUDIO_ENABLE
354
355void startup_user(void)
356{
357 _delay_ms(20); // gets rid of tick
358}
359
360void shutdown_user(void)
361{
362 _delay_ms(150);
363 stop_all_notes();
364}
365
366void music_on_user(void)
367{
368 music_scale_user();
369}
370
371void music_scale_user(void)
372{
373 PLAY_SONG(music_scale);
374}
375
376#endif
diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c
index dc047d3118..1680147157 100644
--- a/keyboards/helix/rev2/keymaps/froggy/keymap.c
+++ b/keyboards/helix/rev2/keymaps/froggy/keymap.c
@@ -181,7 +181,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND);
181float tone_colemak[][2] = SONG(COLEMAK_SOUND); 181float tone_colemak[][2] = SONG(COLEMAK_SOUND);
182float tone_plover[][2] = SONG(PLOVER_SOUND); 182float tone_plover[][2] = SONG(PLOVER_SOUND);
183float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 183float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
184float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
185#endif 184#endif
186 185
187// define variables for reactive RGB 186// define variables for reactive RGB
@@ -440,41 +439,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
440 439
441//keyboard start-up code. Runs once when the firmware starts up. 440//keyboard start-up code. Runs once when the firmware starts up.
442void matrix_init_user(void) { 441void matrix_init_user(void) {
443 #ifdef AUDIO_ENABLE
444 startup_user();
445 #endif
446 #ifdef RGBLIGHT_ENABLE 442 #ifdef RGBLIGHT_ENABLE
447 RGB_current_mode = rgblight_get_mode(); 443 RGB_current_mode = rgblight_get_mode();
448 #endif 444 #endif
449} 445}
450 446
451 447
452#ifdef AUDIO_ENABLE
453
454void startup_user(void)
455{
456 _delay_ms(20); // gets rid of tick
457}
458
459void shutdown_user(void)
460{
461 _delay_ms(150);
462 stop_all_notes();
463}
464
465void music_on_user(void)
466{
467 music_scale_user();
468}
469
470void music_scale_user(void)
471{
472 PLAY_SONG(music_scale);
473}
474
475#endif
476
477
478//assign the right code to your layers for OLED display 448//assign the right code to your layers for OLED display
479#define L_BASE 0 449#define L_BASE 0
480#define L_OPT 2 450#define L_OPT 2
diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
index 20fa181d77..6c060aadec 100644
--- a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
+++ b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c
@@ -171,7 +171,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND);
171float tone_colemak[][2] = SONG(COLEMAK_SOUND); 171float tone_colemak[][2] = SONG(COLEMAK_SOUND);
172float tone_plover[][2] = SONG(PLOVER_SOUND); 172float tone_plover[][2] = SONG(PLOVER_SOUND);
173float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 173float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
174float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
175#endif 174#endif
176 175
177// define variables for reactive RGB 176// define variables for reactive RGB
@@ -322,40 +321,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
322} 321}
323 322
324void matrix_init_user(void) { 323void matrix_init_user(void) {
325 #ifdef AUDIO_ENABLE
326 startup_user();
327 #endif
328 #ifdef RGBLIGHT_ENABLE 324 #ifdef RGBLIGHT_ENABLE
329 RGB_current_mode = rgblight_get_mode(); 325 RGB_current_mode = rgblight_get_mode();
330 #endif 326 #endif
331} 327}
332 328
333
334#ifdef AUDIO_ENABLE
335
336void startup_user(void)
337{
338 _delay_ms(20); // gets rid of tick
339}
340
341void shutdown_user(void)
342{
343 _delay_ms(150);
344 stop_all_notes();
345}
346
347void music_on_user(void)
348{
349 music_scale_user();
350}
351
352void music_scale_user(void)
353{
354 PLAY_SONG(music_scale);
355}
356
357#endif
358
359#ifdef OLED_ENABLE 329#ifdef OLED_ENABLE
360oled_rotation_t oled_init_user(oled_rotation_t rotation) { 330oled_rotation_t oled_init_user(oled_rotation_t rotation) {
361 if (is_keyboard_master()) { 331 if (is_keyboard_master()) {
diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c
index ea3e57aeaf..a05934238a 100644
--- a/keyboards/matrix/abelx/abelx.c
+++ b/keyboards/matrix/abelx/abelx.c
@@ -92,13 +92,8 @@ bool led_update_kb(led_t led_state) {
92} 92}
93 93
94#define REBOOT_MAGIC 0x41544B42 94#define REBOOT_MAGIC 0x41544B42
95void shutdown_user(void)
96{
97 // set the magic number for resetting to the bootloader
98 *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
99}
100 95
101void bootloader_jump(void) { 96void bootloader_jump(void) {
102 shutdown_user(); 97 *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
103 NVIC_SystemReset(); 98 NVIC_SystemReset();
104} 99}
diff --git a/keyboards/matrix/m20add/m20add.c b/keyboards/matrix/m20add/m20add.c
index cdcafb9779..ac483e8aab 100644
--- a/keyboards/matrix/m20add/m20add.c
+++ b/keyboards/matrix/m20add/m20add.c
@@ -54,13 +54,9 @@ bool led_update_kb(led_t led_state) {
54} 54}
55 55
56#define REBOOT_MAGIC 0x41544B42 56#define REBOOT_MAGIC 0x41544B42
57void shutdown_user(void)
58{
59 // set the magic number for resetting to the bootloader
60 *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
61}
62 57
63void bootloader_jump(void) { 58void bootloader_jump(void) {
64 shutdown_user(); 59 // set the magic number for resetting to the bootloader
60 *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
65 NVIC_SystemReset(); 61 NVIC_SystemReset();
66} 62}
diff --git a/keyboards/neopad/rev1/rev1.c b/keyboards/neopad/rev1/rev1.c
index 86e47c8932..c8216f4e70 100755
--- a/keyboards/neopad/rev1/rev1.c
+++ b/keyboards/neopad/rev1/rev1.c
@@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) {
22 keyboard_pre_init_user(); 22 keyboard_pre_init_user();
23} 23}
24 24
25void shutdown_user(void) { 25bool shutdown_kb(bool jump_to_bootloader) {
26 if (!shutdown_user(jump_to_bootloader)) {
27 return false;
28 }
26 // Shutdown LEDs 29 // Shutdown LEDs
27 writePinLow(LED_00); 30 writePinLow(LED_00);
28 writePinLow(LED_01); 31 writePinLow(LED_01);
32 return true;
29} 33}
30 34
31layer_state_t layer_state_set_kb(layer_state_t state) { 35layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/omkbd/ergodash/rev1/rev1.c b/keyboards/omkbd/ergodash/rev1/rev1.c
deleted file mode 100644
index 35a313f6fd..0000000000
--- a/keyboards/omkbd/ergodash/rev1/rev1.c
+++ /dev/null
@@ -1,32 +0,0 @@
1#include "quantum.h"
2
3#ifdef AUDIO_ENABLE
4 float tone_startup[][2] = SONG(STARTUP_SOUND);
5 float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
6#endif
7
8void matrix_init_kb(void) {
9
10 #ifdef AUDIO_ENABLE
11 _delay_ms(20); // gets rid of tick
12 PLAY_SONG(tone_startup);
13 #endif
14
15 // // green led on
16 // DDRD |= (1<<5);
17 // PORTD &= ~(1<<5);
18
19 // // orange led on
20 // DDRB |= (1<<0);
21 // PORTB &= ~(1<<0);
22
23 matrix_init_user();
24};
25
26void shutdown_user(void) {
27 #ifdef AUDIO_ENABLE
28 PLAY_SONG(tone_goodbye);
29 _delay_ms(150);
30 stop_all_notes();
31 #endif
32}
diff --git a/keyboards/planck/keymaps/altgr/common/init.h b/keyboards/planck/keymaps/altgr/common/init.h
index 6d0b4392fb..e6bb7101e9 100644
--- a/keyboards/planck/keymaps/altgr/common/init.h
+++ b/keyboards/planck/keymaps/altgr/common/init.h
@@ -6,9 +6,6 @@ void matrix_init_user(void)
6#ifdef STENO_ENABLE 6#ifdef STENO_ENABLE
7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI 7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI
8#endif 8#endif
9#ifdef AUDIO_ENABLE
10 startup_user();
11#endif
12} 9}
13 10
14#ifdef AUDIO_ENABLE 11#ifdef AUDIO_ENABLE
@@ -31,27 +28,4 @@ bool led_update_user(led_t led_state)
31 return false; 28 return false;
32} 29}
33#endif 30#endif
34
35void startup_user(void)
36{
37 _delay_ms(20); // gets rid of tick
38 PLAY_SONG(song_startup);
39}
40
41void shutdown_user(void)
42{
43 PLAY_SONG(song_goodbye);
44 _delay_ms(150);
45 stop_all_notes();
46}
47
48void music_on_user(void)
49{
50 music_scale_user();
51}
52
53void music_scale_user(void)
54{
55 PLAY_SONG(music_scale);
56}
57#endif 31#endif
diff --git a/keyboards/planck/keymaps/circuit/keymap.c b/keyboards/planck/keymaps/circuit/keymap.c
index d150905dc8..b7d2b121b9 100644
--- a/keyboards/planck/keymaps/circuit/keymap.c
+++ b/keyboards/planck/keymaps/circuit/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
131 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL , 131 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL ,
132 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 132 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
133 KC_CAPS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_ENT , 133 KC_CAPS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_ENT ,
134 _______, _______, _______, KC_MUTE, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END 134 _______, _______, _______, KC_MUTE, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END
135), 135),
136 136
137/* FUNCTIONS 137/* FUNCTIONS
@@ -155,11 +155,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
155}; 155};
156 156
157#ifdef AUDIO_ENABLE 157#ifdef AUDIO_ENABLE
158float tone_startup[][2] = SONG(STARTUP_SOUND);
159float tone_qwerty[][2] = SONG(QWERTY_SOUND); 158float tone_qwerty[][2] = SONG(QWERTY_SOUND);
160float tone_dvorak[][2] = SONG(DVORAK_SOUND); 159float tone_dvorak[][2] = SONG(DVORAK_SOUND);
161float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
162float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
163#endif 160#endif
164 161
165 162
@@ -210,36 +207,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
210 } 207 }
211 return true; 208 return true;
212} 209}
213
214void matrix_init_user(void) {
215#ifdef AUDIO_ENABLE
216 startup_user();
217#endif
218}
219
220#ifdef AUDIO_ENABLE
221
222void startup_user(void)
223{
224 _delay_ms(20); // gets rid of tick
225 PLAY_SONG(tone_startup);
226}
227
228void shutdown_user(void)
229{
230 PLAY_SONG(tone_goodbye);
231 _delay_ms(150);
232 stop_all_notes();
233}
234
235void music_on_user(void)
236{
237 music_scale_user();
238}
239
240void music_scale_user(void)
241{
242 PLAY_SONG(music_scale);
243}
244
245#endif
diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c
index 95d0b85408..f7d1575dad 100644
--- a/keyboards/planck/keymaps/dbroqua/keymap.c
+++ b/keyboards/planck/keymaps/dbroqua/keymap.c
@@ -120,16 +120,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
120}; 120};
121 121
122#ifdef AUDIO_ENABLE 122#ifdef AUDIO_ENABLE
123
124float tone_startup[][2] = SONG(STARTUP_SOUND);
125float tone_qwerty[][2] = SONG(QWERTY_SOUND); 123float tone_qwerty[][2] = SONG(QWERTY_SOUND);
126float tone_dvorak[][2] = SONG(DVORAK_SOUND); 124float tone_dvorak[][2] = SONG(DVORAK_SOUND);
127float tone_colemak[][2] = SONG(COLEMAK_SOUND); 125float tone_colemak[][2] = SONG(COLEMAK_SOUND);
128float tone_plover[][2] = SONG(PLOVER_SOUND); 126float tone_plover[][2] = SONG(PLOVER_SOUND);
129float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 127float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
130float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
131
132float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
133#endif 128#endif
134 129
135 130
@@ -183,36 +178,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
183 } 178 }
184 return true; 179 return true;
185} 180}
186
187void matrix_init_user(void) {
188 #ifdef AUDIO_ENABLE
189 startup_user();
190 #endif
191}
192
193#ifdef AUDIO_ENABLE
194
195void startup_user(void)
196{
197 _delay_ms(20); // gets rid of tick
198 PLAY_SONG(tone_startup);
199}
200
201void shutdown_user(void)
202{
203 PLAY_SONG(tone_goodbye);
204 _delay_ms(150);
205 stop_all_notes();
206}
207
208void music_on_user(void)
209{
210 music_scale_user();
211}
212
213void music_scale_user(void)
214{
215 PLAY_SONG(music_scale);
216}
217
218#endif
diff --git a/keyboards/planck/keymaps/dr_notsokind/keymap.c b/keyboards/planck/keymaps/dr_notsokind/keymap.c
index ffceef11cc..f4fb3e0074 100644
--- a/keyboards/planck/keymaps/dr_notsokind/keymap.c
+++ b/keyboards/planck/keymaps/dr_notsokind/keymap.c
@@ -127,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
127 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, 127 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
128 KC_DEL , KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, 128 KC_DEL , KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
129 KC_LSFT, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______, KC_NUHS, KC_NUBS, XXXXXXX, KC_PGUP, KC_ENT, 129 KC_LSFT, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______, KC_NUHS, KC_NUBS, XXXXXXX, KC_PGUP, KC_ENT,
130 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END 130 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
131), 131),
132 132
133/* LOWER 133/* LOWER
@@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
145 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL , 145 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL ,
146 KC_DEL , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, 146 KC_DEL , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
147 KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, S(KC_NUHS), S(KC_NUBS), XXXXXXX, KC_PGUP, KC_ENT , 147 KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, S(KC_NUHS), S(KC_NUBS), XXXXXXX, KC_PGUP, KC_ENT ,
148 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END 148 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
149), 149),
150 150
151/* MEDIA AND COMMANDS 151/* MEDIA AND COMMANDS
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
163 XXXXXXX, XXXXXXX, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, KC_AGAIN, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX, 163 XXXXXXX, XXXXXXX, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, KC_AGAIN, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX,
164 XXXXXXX, XXXXXXX, KC_WSCH, XXXXXXX, KC_FIND, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_PLY1, DM_PLY2, 164 XXXXXXX, XXXXXXX, KC_WSCH, XXXXXXX, KC_FIND, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_PLY1, DM_PLY2,
165 KC_LSFT, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ZOOM_OUT, ZOOM_IN, KC_MPRV, DM_RSTP, 165 KC_LSFT, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ZOOM_OUT, ZOOM_IN, KC_MPRV, DM_RSTP,
166 ONESHOT, XXXXXXX, XXXXXXX, _______, KC_VOLD, KC_MUTE, KC_MUTE, KC_VOLU, ZOOM_NML, KC_MSTP, KC_MNXT, KC_MPLY 166 ONESHOT, XXXXXXX, XXXXXXX, _______, KC_VOLD, KC_MUTE, KC_MUTE, KC_VOLU, ZOOM_NML, KC_MSTP, KC_MNXT, KC_MPLY
167), 167),
168 168
169/* ONESHOT 169/* ONESHOT
@@ -205,14 +205,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
205}; 205};
206 206
207#ifdef AUDIO_ENABLE 207#ifdef AUDIO_ENABLE
208float tone_startup[][2] = SONG(STARTUP_SOUND);
209float tone_qwerty[][2] = SONG(QWERTY_SOUND); 208float tone_qwerty[][2] = SONG(QWERTY_SOUND);
210float tone_numpad[][2] = SONG(NUM_LOCK_ON_SOUND); 209float tone_numpad[][2] = SONG(NUM_LOCK_ON_SOUND);
211float tone_oneshot[][2] = SONG(TERMINAL_SOUND); 210float tone_oneshot[][2] = SONG(TERMINAL_SOUND);
212float tone_dyn_macro_rec[][2] = SONG(SONIC_RING); 211float tone_dyn_macro_rec[][2] = SONG(SONIC_RING);
213float tone_dyn_macro_stop[][2] = SONG(COIN_SOUND); 212float tone_dyn_macro_stop[][2] = SONG(COIN_SOUND);
214float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
215float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
216#endif 213#endif
217 214
218void press_key(uint16_t key) { 215void press_key(uint16_t key) {
@@ -303,36 +300,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
303 } 300 }
304 return true; 301 return true;
305} 302}
306
307void matrix_init_user(void) {
308#ifdef AUDIO_ENABLE
309 startup_user();
310#endif
311}
312
313#ifdef AUDIO_ENABLE
314
315void startup_user(void)
316{
317 _delay_ms(20); // gets rid of tick
318 PLAY_SONG(tone_startup);
319}
320
321void shutdown_user(void)
322{
323 PLAY_SONG(tone_goodbye);
324 _delay_ms(150);
325 stop_all_notes();
326}
327
328void music_on_user(void)
329{
330 music_scale_user();
331}
332
333void music_scale_user(void)
334{
335 PLAY_SONG(music_scale);
336}
337
338#endif
diff --git a/keyboards/planck/keymaps/emilyh/keymap.c b/keyboards/planck/keymaps/emilyh/keymap.c
index 17bbc98b7e..b226c1f6e7 100644
--- a/keyboards/planck/keymaps/emilyh/keymap.c
+++ b/keyboards/planck/keymaps/emilyh/keymap.c
@@ -164,16 +164,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
164}; 164};
165 165
166#ifdef AUDIO_ENABLE 166#ifdef AUDIO_ENABLE
167
168float tone_startup[][2] = SONG(STARTUP_SOUND);
169float tone_qwerty[][2] = SONG(QWERTY_SOUND); 167float tone_qwerty[][2] = SONG(QWERTY_SOUND);
170float tone_dvorak[][2] = SONG(DVORAK_SOUND); 168float tone_dvorak[][2] = SONG(DVORAK_SOUND);
171float tone_colemak[][2] = SONG(COLEMAK_SOUND); 169float tone_colemak[][2] = SONG(COLEMAK_SOUND);
172float tone_plover[][2] = SONG(PLOVER_SOUND); 170float tone_plover[][2] = SONG(PLOVER_SOUND);
173float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 171float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
174float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
175
176float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
177#endif 172#endif
178 173
179 174
@@ -273,36 +268,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
273 } 268 }
274 return true; 269 return true;
275} 270}
276
277void matrix_init_user(void) {
278 #ifdef AUDIO_ENABLE
279 startup_user();
280 #endif
281}
282
283#ifdef AUDIO_ENABLE
284
285void startup_user(void)
286{
287 _delay_ms(20); // gets rid of tick
288 PLAY_SONG(tone_startup);
289}
290
291void shutdown_user(void)
292{
293 PLAY_SONG(tone_goodbye);
294 _delay_ms(150);
295 stop_all_notes();
296}
297
298void music_on_user(void)
299{
300 music_scale_user();
301}
302
303void music_scale_user(void)
304{
305 PLAY_SONG(music_scale);
306}
307
308#endif
diff --git a/keyboards/planck/keymaps/experimental/keymap.c b/keyboards/planck/keymaps/experimental/keymap.c
index 6d6752952b..deaf5afb4d 100644
--- a/keyboards/planck/keymaps/experimental/keymap.c
+++ b/keyboards/planck/keymaps/experimental/keymap.c
@@ -176,16 +176,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
176}; 176};
177 177
178#ifdef AUDIO_ENABLE 178#ifdef AUDIO_ENABLE
179
180float tone_startup[][2] = SONG(STARTUP_SOUND);
181float tone_qwerty[][2] = SONG(QWERTY_SOUND); 179float tone_qwerty[][2] = SONG(QWERTY_SOUND);
182float tone_dvorak[][2] = SONG(DVORAK_SOUND); 180float tone_dvorak[][2] = SONG(DVORAK_SOUND);
183float tone_colemak[][2] = SONG(COLEMAK_SOUND); 181float tone_colemak[][2] = SONG(COLEMAK_SOUND);
184float tone_plover[][2] = SONG(PLOVER_SOUND); 182float tone_plover[][2] = SONG(PLOVER_SOUND);
185float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 183float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
186float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
187
188float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
189#endif 184#endif
190 185
191 186
@@ -339,38 +334,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
339 return true; 334 return true;
340}; 335};
341 336
342void matrix_init_user(void) {
343 #ifdef AUDIO_ENABLE
344 startup_user();
345 #endif
346}
347
348#ifdef AUDIO_ENABLE
349void startup_user(void)
350{
351 _delay_ms(20); // gets rid of tick
352 PLAY_SONG(tone_startup);
353}
354
355void shutdown_user(void)
356{
357 PLAY_SONG(tone_goodbye);
358 _delay_ms(150);
359 stop_all_notes();
360}
361
362void music_on_user(void)
363{
364 music_scale_user();
365}
366
367void music_scale_user(void)
368{
369 PLAY_SONG(music_scale);
370}
371
372#endif
373
374void leader_end_user(void) { 337void leader_end_user(void) {
375 if (leader_sequence_one_key(KC_R)) { 338 if (leader_sequence_one_key(KC_R)) {
376 tap_random_base64(); 339 tap_random_base64();
diff --git a/keyboards/planck/keymaps/gunp/keymap.c b/keyboards/planck/keymaps/gunp/keymap.c
index 7c2f6c0bd5..9fa05d593a 100644
--- a/keyboards/planck/keymaps/gunp/keymap.c
+++ b/keyboards/planck/keymaps/gunp/keymap.c
@@ -282,26 +282,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
282 return false; 282 return false;
283 } 283 }
284#endif 284#endif
285
286#ifdef AUDIO_ENABLE
287 float tone_startup[][2] = SONG(STARTUP_SOUND);
288 float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
289
290 float tone_ly_normal[][2] = SONG(QWERTY_SOUND);
291 float tone_ly_spacial[][2] = SONG(DVORAK_SOUND);
292
293 float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
294#endif
295
296void startup_user(void) {
297#ifdef AUDIO_ENABLE
298 PLAY_SONG(tone_startup);
299#endif
300}
301
302void shutdown_user(void) {
303#ifdef AUDIO_ENABLE
304 PLAY_SONG(tone_goodbye);
305 stop_all_notes();
306#endif
307}
diff --git a/keyboards/planck/keymaps/handwired_binaryplease/keymap.c b/keyboards/planck/keymaps/handwired_binaryplease/keymap.c
index 13917e516d..93e6f9b78e 100644
--- a/keyboards/planck/keymaps/handwired_binaryplease/keymap.c
+++ b/keyboards/planck/keymaps/handwired_binaryplease/keymap.c
@@ -163,15 +163,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
163 163
164#ifdef AUDIO_ENABLE 164#ifdef AUDIO_ENABLE
165 165
166float tone_startup[][2] = SONG(STARTUP_SOUND);
167float tone_qwerty[][2] = SONG(QWERTY_SOUND); 166float tone_qwerty[][2] = SONG(QWERTY_SOUND);
168float tone_dvorak[][2] = SONG(DVORAK_SOUND); 167float tone_dvorak[][2] = SONG(DVORAK_SOUND);
169float tone_colemak[][2] = SONG(COLEMAK_SOUND); 168float tone_colemak[][2] = SONG(COLEMAK_SOUND);
170float tone_plover[][2] = SONG(PLOVER_SOUND); 169float tone_plover[][2] = SONG(PLOVER_SOUND);
171float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 170float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
172float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
173
174float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
175#endif 171#endif
176 172
177 173
@@ -271,36 +267,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
271 } 267 }
272 return true; 268 return true;
273} 269}
274
275void matrix_init_user(void) {
276 #ifdef AUDIO_ENABLE
277 startup_user();
278 #endif
279}
280
281#ifdef AUDIO_ENABLE
282
283void startup_user(void)
284{
285 _delay_ms(20); // gets rid of tick
286 PLAY_SONG(tone_startup);
287}
288
289void shutdown_user(void)
290{
291 PLAY_SONG(tone_goodbye);
292 _delay_ms(150);
293 stop_all_notes();
294}
295
296void music_on_user(void)
297{
298 music_scale_user();
299}
300
301void music_scale_user(void)
302{
303 PLAY_SONG(music_scale);
304}
305
306#endif
diff --git a/keyboards/planck/keymaps/hiea/common/init.h b/keyboards/planck/keymaps/hiea/common/init.h
index 6d0b4392fb..e6bb7101e9 100644
--- a/keyboards/planck/keymaps/hiea/common/init.h
+++ b/keyboards/planck/keymaps/hiea/common/init.h
@@ -6,9 +6,6 @@ void matrix_init_user(void)
6#ifdef STENO_ENABLE 6#ifdef STENO_ENABLE
7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI 7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI
8#endif 8#endif
9#ifdef AUDIO_ENABLE
10 startup_user();
11#endif
12} 9}
13 10
14#ifdef AUDIO_ENABLE 11#ifdef AUDIO_ENABLE
@@ -31,27 +28,4 @@ bool led_update_user(led_t led_state)
31 return false; 28 return false;
32} 29}
33#endif 30#endif
34
35void startup_user(void)
36{
37 _delay_ms(20); // gets rid of tick
38 PLAY_SONG(song_startup);
39}
40
41void shutdown_user(void)
42{
43 PLAY_SONG(song_goodbye);
44 _delay_ms(150);
45 stop_all_notes();
46}
47
48void music_on_user(void)
49{
50 music_scale_user();
51}
52
53void music_scale_user(void)
54{
55 PLAY_SONG(music_scale);
56}
57#endif 31#endif
diff --git a/keyboards/planck/keymaps/hieax/common/init.h b/keyboards/planck/keymaps/hieax/common/init.h
index 6d0b4392fb..d009bd69a1 100644
--- a/keyboards/planck/keymaps/hieax/common/init.h
+++ b/keyboards/planck/keymaps/hieax/common/init.h
@@ -6,9 +6,6 @@ void matrix_init_user(void)
6#ifdef STENO_ENABLE 6#ifdef STENO_ENABLE
7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI 7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI
8#endif 8#endif
9#ifdef AUDIO_ENABLE
10 startup_user();
11#endif
12} 9}
13 10
14#ifdef AUDIO_ENABLE 11#ifdef AUDIO_ENABLE
@@ -32,26 +29,4 @@ bool led_update_user(led_t led_state)
32} 29}
33#endif 30#endif
34 31
35void startup_user(void)
36{
37 _delay_ms(20); // gets rid of tick
38 PLAY_SONG(song_startup);
39}
40
41void shutdown_user(void)
42{
43 PLAY_SONG(song_goodbye);
44 _delay_ms(150);
45 stop_all_notes();
46}
47
48void music_on_user(void)
49{
50 music_scale_user();
51}
52
53void music_scale_user(void)
54{
55 PLAY_SONG(music_scale);
56}
57#endif 32#endif
diff --git a/keyboards/planck/keymaps/impossible/keymap.c b/keyboards/planck/keymaps/impossible/keymap.c
index 9145ad79aa..8aa3eb149f 100644
--- a/keyboards/planck/keymaps/impossible/keymap.c
+++ b/keyboards/planck/keymaps/impossible/keymap.c
@@ -140,16 +140,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
140}; 140};
141 141
142#ifdef AUDIO_ENABLE 142#ifdef AUDIO_ENABLE
143
144float tone_startup[][2] = SONG(STARTUP_SOUND);
145float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
146
147float tone_workman[][2] = SONG(QWERTY_SOUND); 143float tone_workman[][2] = SONG(QWERTY_SOUND);
148float tone_qwerty[][2] = SONG(COLEMAK_SOUND); 144float tone_qwerty[][2] = SONG(COLEMAK_SOUND);
149float tone_plover[][2] = SONG(PLOVER_SOUND); 145float tone_plover[][2] = SONG(PLOVER_SOUND);
150
151float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
152
153#endif 146#endif
154 147
155 148
@@ -196,36 +189,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
196 } 189 }
197 return true; 190 return true;
198} 191}
199
200void matrix_init_user(void) {
201 #ifdef AUDIO_ENABLE
202 startup_user();
203 #endif
204}
205
206#ifdef AUDIO_ENABLE
207
208void startup_user(void)
209{
210 _delay_ms(20); // gets rid of tick
211 PLAY_SONG(tone_startup);
212}
213
214void shutdown_user(void)
215{
216 PLAY_SONG(tone_goodbye);
217 _delay_ms(150);
218 stop_all_notes();
219}
220
221void music_on_user(void)
222{
223 music_scale_user();
224}
225
226void music_scale_user(void)
227{
228 PLAY_SONG(music_scale);
229}
230
231#endif
diff --git a/keyboards/planck/keymaps/ishtob/keymap.c b/keyboards/planck/keymaps/ishtob/keymap.c
index 75c581de19..5ec3115830 100644
--- a/keyboards/planck/keymaps/ishtob/keymap.c
+++ b/keyboards/planck/keymaps/ishtob/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, LT_RAI(KC_MINS), 23 KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, LT_RAI(KC_MINS),
24 KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_RALT, TG_NUMLAY, KC_APP, KC_DEL 24 KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_RALT, TG_NUMLAY, KC_APP, KC_DEL
25), 25),
26 26
27/* Colemak 27/* Colemak
28 * ,-----------------------------------------------------------------------------------. 28 * ,-----------------------------------------------------------------------------------.
29 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | 29 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
41 KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, LT_RAI(KC_MINS), 41 KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, LT_RAI(KC_MINS),
42 KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_RALT, TG_NUMLAY, KC_APP, KC_DEL 42 KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_RALT, TG_NUMLAY, KC_APP, KC_DEL
43), 43),
44 44
45/* Dvorak 45/* Dvorak
46 * ,-----------------------------------------------------------------------------------. 46 * ,-----------------------------------------------------------------------------------.
47 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | 47 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
59 KC_LSFT, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________, LT_RAI(KC_MINS), 59 KC_LSFT, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________, LT_RAI(KC_MINS),
60 KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_RALT, TG_NUMLAY, KC_APP, KC_DEL 60 KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_RALT, TG_NUMLAY, KC_APP, KC_DEL
61), 61),
62 62
63/* Lower 63/* Lower
64 * ,-----------------------------------------------------------------------------------. 64 * ,-----------------------------------------------------------------------------------.
65 * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ~ | \ | 65 * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ~ | \ |
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
77 _______, __________________LONG_FUNC_RIGHT__________________,S(KC_NUHS),S(KC_NUBS),KC_LCBR, KC_RCBR, _______, 77 _______, __________________LONG_FUNC_RIGHT__________________,S(KC_NUHS),S(KC_NUBS),KC_LCBR, KC_RCBR, _______,
78 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY 78 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
79), 79),
80 80
81/* Raise 81/* Raise
82 * ,-----------------------------------------------------------------------------------. 82 * ,-----------------------------------------------------------------------------------.
83 * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | * | \ | 83 * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | * | \ |
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
95 _______, KC_LEFT, KC_DOWN, KC_RIGHT,KC_MUTE, KC_VOLD, KC_1, KC_2, KC_3, KC_UP, KC_SLSH, _______, 95 _______, KC_LEFT, KC_DOWN, KC_RIGHT,KC_MUTE, KC_VOLD, KC_1, KC_2, KC_3, KC_UP, KC_SLSH, _______,
96 _______, _______, _______, _______, _______, KC_SPC, KC_0, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NUM 96 _______, _______, _______, _______, _______, KC_SPC, KC_0, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NUM
97), 97),
98 98
99/* Plover layer (http://opensteno.org) 99/* Plover layer (http://opensteno.org)
100 * ,-----------------------------------------------------------------------------------. 100 * ,-----------------------------------------------------------------------------------.
101 * | # | # | # | # | # | # | # | # | # | # | # | # | 101 * | # | # | # | # | # | # | # | # | # | # | # | # |
@@ -107,14 +107,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
107 * | Exit | | | A | O | | E | U | | | | 107 * | Exit | | | A | O | | E | U | | | |
108 * `-----------------------------------------------------------------------------------' 108 * `-----------------------------------------------------------------------------------'
109 */ 109 */
110 110
111[_PLOVER] = LAYOUT_ortho_4x12_wrapper( 111[_PLOVER] = LAYOUT_ortho_4x12_wrapper(
112 KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , 112 KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
113 XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, 113 XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
114 XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 114 XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
115 EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX 115 EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
116), 116),
117 117
118/* FN layer on Esc key 118/* FN layer on Esc key
119 * ,-----------------------------------------------------------------------------------. 119 * ,-----------------------------------------------------------------------------------.
120 * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | + | 120 * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132 _______, __________________LONG_FUNC_RIGHT__________________,S(KC_NUHS),S(KC_NUBS),KC_LCBR, KC_RCBR, _______, 132 _______, __________________LONG_FUNC_RIGHT__________________,S(KC_NUHS),S(KC_NUBS),KC_LCBR, KC_RCBR, _______,
133 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY 133 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
134), 134),
135 135
136/* Num Layer 136/* Num Layer
137 * ,-----------------------------------------------------------------------------------. 137 * ,-----------------------------------------------------------------------------------.
138 * | | Q | Up | 4 | | | 7 | 8 | 9 | - | + | Bksp | 138 * | | Q | Up | 4 | | | 7 | 8 | 9 | - | + | Bksp |
@@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
150 _______, KC_Z, KC_X, KC_C, KC_V, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PSLS, _______, 150 _______, KC_Z, KC_X, KC_C, KC_V, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PSLS, _______,
151 _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, KC_NUM, KC_MPLY 151 _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, KC_NUM, KC_MPLY
152), 152),
153 153
154/* Mouse Layer (semi-col) 154/* Mouse Layer (semi-col)
155 * ,-----------------------------------------------------------------------------------. 155 * ,-----------------------------------------------------------------------------------.
156 * | ACCL0| ACCL1| ACCL2|Email |Email2| Home | Wh_Up| WHL_L| M_Up | WHL_R|PASS| Meta | 156 * | ACCL0| ACCL1| ACCL2|Email |Email2| Home | Wh_Up| WHL_L| M_Up | WHL_R|PASS| Meta |
@@ -162,14 +162,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
162 * | | | | | | BTN1 | | | | Citx | | 162 * | | | | | | BTN1 | | | | Citx | |
163 * `-----------------------------------------------------------------------------------' 163 * `-----------------------------------------------------------------------------------'
164 */ 164 */
165 165
166[_MOUSECURSOR] = LAYOUT_ortho_4x12_wrapper( 166[_MOUSECURSOR] = LAYOUT_ortho_4x12_wrapper(
167 KC_ACL0, KC_ACL1, KC_ACL2, M_EMAIL,M_EMAIL2, KC_HOME, KC_PGUP, KC_WH_L, KC_MS_U, KC_WH_R, P_MPASS, P_META, 167 KC_ACL0, KC_ACL1, KC_ACL2, M_EMAIL,M_EMAIL2, KC_HOME, KC_PGUP, KC_WH_L, KC_MS_U, KC_WH_R, P_MPASS, P_META,
168 _______, XXXXXXX, XXXXXXX, XXXXXXX, O_RTQ6H, KC_END , KC_PGDN, KC_MS_L, KC_MS_D, KC_MS_R, _______, O_DAYRN, 168 _______, XXXXXXX, XXXXXXX, XXXXXXX, O_RTQ6H, KC_END , KC_PGDN, KC_MS_L, KC_MS_D, KC_MS_R, _______, O_DAYRN,
169 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, _______, _______, 169 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, _______, _______,
170 _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, P_CITRIX, O_AUTODC 170 _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, P_CITRIX, O_AUTODC
171), 171),
172 172
173/* Adjust (Lower + Raise) 173/* Adjust (Lower + Raise)
174 * ,-----------------------------------------------------------------------------------. 174 * ,-----------------------------------------------------------------------------------.
175 * | Reset|RGB TG|RGB ST|RGBH -|RGBH +|RGBS -|RGBS +|RGBV -|RGBV +| | | Del | 175 * | Reset|RGB TG|RGB ST|RGBH -|RGBH +|RGBS -|RGBS +|RGBV -|RGBV +| | | Del |
@@ -187,21 +187,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
187 _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, BL_DOWN,BL_UP, BL_STEP, BL_TOGG, 187 _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, BL_DOWN,BL_UP, BL_STEP, BL_TOGG,
188 _______, _______, _______, _______, _______, _______, _______, _______, CK_RST, CK_DOWN, CK_UP, CK_TOGG 188 _______, _______, _______, _______, _______, _______, _______, _______, CK_RST, CK_DOWN, CK_UP, CK_TOGG
189) 189)
190 190
191 191
192}; 192};
193 193
194#ifdef AUDIO_ENABLE 194#ifdef AUDIO_ENABLE
195
196float tone_startup[][2] = SONG(STARTUP_SOUND);
197float tone_qwerty[][2] = SONG(QWERTY_SOUND); 195float tone_qwerty[][2] = SONG(QWERTY_SOUND);
198float tone_dvorak[][2] = SONG(DVORAK_SOUND); 196float tone_dvorak[][2] = SONG(DVORAK_SOUND);
199float tone_colemak[][2] = SONG(COLEMAK_SOUND); 197float tone_colemak[][2] = SONG(COLEMAK_SOUND);
200float tone_plover[][2] = SONG(PLOVER_SOUND); 198float tone_plover[][2] = SONG(PLOVER_SOUND);
201float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 199float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
202float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
203
204float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
205#endif 200#endif
206 201
207 202
@@ -307,38 +302,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
307} 302}
308 303
309void matrix_init_keymap(void) { 304void matrix_init_keymap(void) {
310 #ifdef AUDIO_ENABLE
311 startup_user();
312 #endif
313}
314
315#ifdef AUDIO_ENABLE
316
317void startup_user(void)
318{
319 #ifdef RGB_MATRIX_ENABLE 305 #ifdef RGB_MATRIX_ENABLE
320 rgblight_mode(RGB_MATRIX_CYCLE_ALL); 306 rgblight_mode(RGB_MATRIX_CYCLE_ALL);
321 #endif //RGB_matrix 307 #endif //RGB_matrix
322 wait_ms(20); // gets rid of tick
323 PLAY_SONG(tone_startup);
324} 308}
325
326void shutdown_user(void)
327{
328 PLAY_SONG(tone_goodbye);
329 wait_ms(150);
330 stop_all_notes();
331}
332
333void music_on_user(void)
334{
335 music_scale_user();
336}
337
338void music_scale_user(void)
339{
340 PLAY_SONG(music_scale);
341}
342
343#endif
344
diff --git a/keyboards/planck/keymaps/jhenahan/keymap.c b/keyboards/planck/keymaps/jhenahan/keymap.c
index 21c489922d..c884e864ac 100644
--- a/keyboards/planck/keymaps/jhenahan/keymap.c
+++ b/keyboards/planck/keymaps/jhenahan/keymap.c
@@ -160,15 +160,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
160}; 160};
161 161
162#ifdef AUDIO_ENABLE 162#ifdef AUDIO_ENABLE
163
164float tone_startup[][2] = SONG(STARTUP_SOUND);
165float tone_qwerty[][2] = SONG(QWERTY_SOUND); 163float tone_qwerty[][2] = SONG(QWERTY_SOUND);
166float tone_workman[][2] = SONG(WORKMAN_SOUND); 164float tone_workman[][2] = SONG(WORKMAN_SOUND);
167float tone_plover[][2] = SONG(PLOVER_SOUND); 165float tone_plover[][2] = SONG(PLOVER_SOUND);
168float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 166float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
169float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
170
171float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
172#endif 167#endif
173 168
174 169
@@ -268,36 +263,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
268 } 263 }
269 return true; 264 return true;
270} 265}
271
272void matrix_init_user(void) {
273 #ifdef AUDIO_ENABLE
274 startup_user();
275 #endif
276}
277
278#ifdef AUDIO_ENABLE
279
280void startup_user(void)
281{
282 _delay_ms(20); // gets rid of tick
283 PLAY_SONG(tone_startup);
284}
285
286void shutdown_user(void)
287{
288 PLAY_SONG(tone_goodbye);
289 _delay_ms(150);
290 stop_all_notes();
291}
292
293void music_on_user(void)
294{
295 music_scale_user();
296}
297
298void music_scale_user(void)
299{
300 PLAY_SONG(music_scale);
301}
302
303#endif
diff --git a/keyboards/planck/keymaps/lae3/keymap.c b/keyboards/planck/keymaps/lae3/keymap.c
index 7b6175d543..86c89a30a4 100644
--- a/keyboards/planck/keymaps/lae3/keymap.c
+++ b/keyboards/planck/keymaps/lae3/keymap.c
@@ -168,17 +168,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
168 168
169}; 169};
170 170
171#ifdef AUDIO_ENABLE 171bool process_record_user(uint16_t keycode, keyrecord_t *record) {
172
173float tone_startup[][2] = SONG(STARTUP_SOUND);
174float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
175
176float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
177
178#endif
179
180bool process_record_user(uint16_t keycode, keyrecord_t *record)
181{
182 switch (keycode) { 172 switch (keycode) {
183 case LOWER: 173 case LOWER:
184 if (record->event.pressed) { 174 if (record->event.pressed) {
@@ -217,37 +207,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record)
217 } 207 }
218 return true; 208 return true;
219} 209}
220
221void matrix_init_user(void)
222{
223#ifdef AUDIO_ENABLE
224 startup_user();
225#endif
226}
227
228#ifdef AUDIO_ENABLE
229
230void startup_user(void)
231{
232 _delay_ms(100); // gets rid of tick
233 PLAY_SONG(tone_startup);
234}
235
236void shutdown_user(void)
237{
238 PLAY_SONG(tone_goodbye);
239 _delay_ms(150);
240 stop_all_notes();
241}
242
243void music_on_user(void)
244{
245 music_scale_user();
246}
247
248void music_scale_user(void)
249{
250 PLAY_SONG(music_scale);
251}
252
253#endif
diff --git a/keyboards/planck/keymaps/mjt/keymap.c b/keyboards/planck/keymaps/mjt/keymap.c
index e927627e1f..7ab0fff241 100644
--- a/keyboards/planck/keymaps/mjt/keymap.c
+++ b/keyboards/planck/keymaps/mjt/keymap.c
@@ -133,16 +133,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
133}; 133};
134 134
135#ifdef AUDIO_ENABLE 135#ifdef AUDIO_ENABLE
136
137float tone_startup[][2] = SONG(STARTUP_SOUND);
138float tone_qwerty[][2] = SONG(QWERTY_SOUND); 136float tone_qwerty[][2] = SONG(QWERTY_SOUND);
139float tone_dyn_macro_rec[][2] = SONG(DVORAK_SOUND); 137float tone_dyn_macro_rec[][2] = SONG(DVORAK_SOUND);
140float tone_dyn_macro_play[][2] = SONG(COLEMAK_SOUND); 138float tone_dyn_macro_play[][2] = SONG(COLEMAK_SOUND);
141float tone_plover[][2] = SONG(PLOVER_SOUND); 139float tone_plover[][2] = SONG(PLOVER_SOUND);
142float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 140float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
143float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
144
145float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
146#endif 141#endif
147 142
148void persistant_default_layer_set(uint16_t default_layer) { 143void persistant_default_layer_set(uint16_t default_layer) {
@@ -239,36 +234,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
239 } 234 }
240 return true; 235 return true;
241} 236}
242
243void matrix_init_user(void) {
244 #ifdef AUDIO_ENABLE
245 startup_user();
246 #endif
247}
248
249#ifdef AUDIO_ENABLE
250
251void startup_user(void)
252{
253 _delay_ms(20); // gets rid of tick
254 PLAY_SONG(tone_startup);
255}
256
257void shutdown_user(void)
258{
259 PLAY_SONG(tone_goodbye);
260 _delay_ms(150);
261 stop_all_notes();
262}
263
264void music_on_user(void)
265{
266 music_scale_user();
267}
268
269void music_scale_user(void)
270{
271 PLAY_SONG(music_scale);
272}
273
274#endif
diff --git a/keyboards/planck/keymaps/mjtnumsym/keymap.c b/keyboards/planck/keymaps/mjtnumsym/keymap.c
index 3fa05ad178..4eaafb75d6 100644
--- a/keyboards/planck/keymaps/mjtnumsym/keymap.c
+++ b/keyboards/planck/keymaps/mjtnumsym/keymap.c
@@ -132,16 +132,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132}; 132};
133 133
134#ifdef AUDIO_ENABLE 134#ifdef AUDIO_ENABLE
135
136float tone_startup[][2] = SONG(STARTUP_SOUND);
137float tone_qwerty[][2] = SONG(QWERTY_SOUND); 135float tone_qwerty[][2] = SONG(QWERTY_SOUND);
138float tone_dyn_macro_rec[][2] = SONG(DVORAK_SOUND); 136float tone_dyn_macro_rec[][2] = SONG(DVORAK_SOUND);
139float tone_dyn_macro_play[][2] = SONG(COLEMAK_SOUND); 137float tone_dyn_macro_play[][2] = SONG(COLEMAK_SOUND);
140float tone_plover[][2] = SONG(PLOVER_SOUND); 138float tone_plover[][2] = SONG(PLOVER_SOUND);
141float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 139float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
142float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
143
144float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
145#endif 140#endif
146 141
147void persistant_default_layer_set(uint16_t default_layer) { 142void persistant_default_layer_set(uint16_t default_layer) {
@@ -238,36 +233,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
238 } 233 }
239 return true; 234 return true;
240} 235}
241
242void matrix_init_user(void) {
243 #ifdef AUDIO_ENABLE
244 startup_user();
245 #endif
246}
247
248#ifdef AUDIO_ENABLE
249
250void startup_user(void)
251{
252 _delay_ms(20); // gets rid of tick
253 PLAY_SONG(tone_startup);
254}
255
256void shutdown_user(void)
257{
258 PLAY_SONG(tone_goodbye);
259 _delay_ms(150);
260 stop_all_notes();
261}
262
263void music_on_user(void)
264{
265 music_scale_user();
266}
267
268void music_scale_user(void)
269{
270 PLAY_SONG(music_scale);
271}
272
273#endif
diff --git a/keyboards/planck/keymaps/originerd/keymap.c b/keyboards/planck/keymaps/originerd/keymap.c
index 85e5cd3b16..d7c9ffb6b5 100644
--- a/keyboards/planck/keymaps/originerd/keymap.c
+++ b/keyboards/planck/keymaps/originerd/keymap.c
@@ -101,12 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
101}; 101};
102 102
103#ifdef AUDIO_ENABLE 103#ifdef AUDIO_ENABLE
104
105float tone_startup[][2] = SONG(STARTUP_SOUND);
106float tone_nerd[][2] = SONG(QWERTY_SOUND); 104float tone_nerd[][2] = SONG(QWERTY_SOUND);
107float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
108
109float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
110#endif 105#endif
111 106
112 107
@@ -149,36 +144,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
149 } 144 }
150 return true; 145 return true;
151} 146}
152
153void matrix_init_user(void) {
154 #ifdef AUDIO_ENABLE
155 startup_user();
156 #endif
157}
158
159#ifdef AUDIO_ENABLE
160
161void startup_user(void)
162{
163 _delay_ms(20); // gets rid of tick
164 PLAY_SONG(tone_startup);
165}
166
167void shutdown_user(void)
168{
169 PLAY_SONG(tone_goodbye);
170 _delay_ms(150);
171 stop_all_notes();
172}
173
174void music_on_user(void)
175{
176 music_scale_user();
177}
178
179void music_scale_user(void)
180{
181 PLAY_SONG(music_scale);
182}
183
184#endif
diff --git a/keyboards/planck/keymaps/premek/keymap.c b/keyboards/planck/keymaps/premek/keymap.c
index 76d3cabfbc..839a53a6fc 100644
--- a/keyboards/planck/keymaps/premek/keymap.c
+++ b/keyboards/planck/keymaps/premek/keymap.c
@@ -76,16 +76,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76}; 76};
77 77
78#ifdef AUDIO_ENABLE 78#ifdef AUDIO_ENABLE
79
80float tone_startup[][2] = SONG(STARTUP_SOUND);
81float tone_qwerty[][2] = SONG(QWERTY_SOUND); 79float tone_qwerty[][2] = SONG(QWERTY_SOUND);
82float tone_dvorak[][2] = SONG(DVORAK_SOUND); 80float tone_dvorak[][2] = SONG(DVORAK_SOUND);
83float tone_colemak[][2] = SONG(COLEMAK_SOUND); 81float tone_colemak[][2] = SONG(COLEMAK_SOUND);
84float tone_plover[][2] = SONG(PLOVER_SOUND); 82float tone_plover[][2] = SONG(PLOVER_SOUND);
85float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 83float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
86float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
87
88float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
89#endif 84#endif
90 85
91 86
@@ -185,36 +180,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
185 } 180 }
186 return true; 181 return true;
187} 182}
188
189void matrix_init_user(void) {
190 #ifdef AUDIO_ENABLE
191 startup_user();
192 #endif
193}
194
195#ifdef AUDIO_ENABLE
196
197void startup_user(void)
198{
199 _delay_ms(20); // gets rid of tick
200 PLAY_SONG(tone_startup);
201}
202
203void shutdown_user(void)
204{
205 PLAY_SONG(tone_goodbye);
206 _delay_ms(150);
207 stop_all_notes();
208}
209
210void music_on_user(void)
211{
212 music_scale_user();
213}
214
215void music_scale_user(void)
216{
217 PLAY_SONG(music_scale);
218}
219
220#endif
diff --git a/keyboards/planck/keymaps/roguepullrequest/keymap.c b/keyboards/planck/keymaps/roguepullrequest/keymap.c
index 61221601e6..31cce52a5f 100644
--- a/keyboards/planck/keymaps/roguepullrequest/keymap.c
+++ b/keyboards/planck/keymaps/roguepullrequest/keymap.c
@@ -28,7 +28,7 @@ enum {
28 RSHIFT, 28 RSHIFT,
29 LSHIFT, 29 LSHIFT,
30 TD_S, 30 TD_S,
31 SLASH 31 SLASH
32}; 32};
33 33
34int cur_dance (tap_dance_state_t *state); 34int cur_dance (tap_dance_state_t *state);
@@ -116,10 +116,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
116 TD(LSHIFT), KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, TD(RSHIFT), 116 TD(LSHIFT), KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, TD(RSHIFT),
117 TD(X_AT_FUN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ALT_TAB, KC_SPACE, KC_ENTER, MT(MOD_LCTL | MOD_LSFT, KC_LGUI), KC_PGUP, KC_PGDN, LT(_LOWER, KC_PLUS) 117 TD(X_AT_FUN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ALT_TAB, KC_SPACE, KC_ENTER, MT(MOD_LCTL | MOD_LSFT, KC_LGUI), KC_PGUP, KC_PGDN, LT(_LOWER, KC_PLUS)
118 ), 118 ),
119 119
120 [_UPPER] = LAYOUT_planck_grid( 120 [_UPPER] = LAYOUT_planck_grid(
121 KC_GRAVE, KC_AMPR, KC_PERC, KC_NO, KC_NO, KC_EQL, KC_ASTR, KC_NO, KC_NO, KC_EXLM, KC_HASH, KC_TRNS, 121 KC_GRAVE, KC_AMPR, KC_PERC, KC_NO, KC_NO, KC_EQL, KC_ASTR, KC_NO, KC_NO, KC_EXLM, KC_HASH, KC_TRNS,
122 KC_PLUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSLS, 122 KC_PLUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSLS,
123 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 123 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
124 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS 124 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS
125 ), 125 ),
@@ -156,7 +156,7 @@ int cur_dance (tap_dance_state_t *state) {
156 if (state->interrupted || !state->pressed)return TRIPLE_TAP; 156 if (state->interrupted || !state->pressed)return TRIPLE_TAP;
157 else return TRIPLE_HOLD; 157 else return TRIPLE_HOLD;
158 } 158 }
159 else return 8; // magic number that i dont believe works. 159 else return 8; // magic number that i dont believe works.
160} 160}
161 161
162// instance of tap for the 'X' dance. 162// instance of tap for the 'X' dance.
@@ -251,4 +251,7 @@ tap_dance_action_t tap_dance_actions[] = {
251 251
252}; 252};
253 253
254void shutdown_user(void) { clear_keyboard(); } 254bool shutdown_user(bool jump_to_bootloader) {
255 clear_keyboard();
256 return true;
257}
diff --git a/keyboards/planck/keymaps/sdothum/common/init.h b/keyboards/planck/keymaps/sdothum/common/init.h
index 6d0b4392fb..e6bb7101e9 100644
--- a/keyboards/planck/keymaps/sdothum/common/init.h
+++ b/keyboards/planck/keymaps/sdothum/common/init.h
@@ -6,9 +6,6 @@ void matrix_init_user(void)
6#ifdef STENO_ENABLE 6#ifdef STENO_ENABLE
7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI 7 steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI
8#endif 8#endif
9#ifdef AUDIO_ENABLE
10 startup_user();
11#endif
12} 9}
13 10
14#ifdef AUDIO_ENABLE 11#ifdef AUDIO_ENABLE
@@ -31,27 +28,4 @@ bool led_update_user(led_t led_state)
31 return false; 28 return false;
32} 29}
33#endif 30#endif
34
35void startup_user(void)
36{
37 _delay_ms(20); // gets rid of tick
38 PLAY_SONG(song_startup);
39}
40
41void shutdown_user(void)
42{
43 PLAY_SONG(song_goodbye);
44 _delay_ms(150);
45 stop_all_notes();
46}
47
48void music_on_user(void)
49{
50 music_scale_user();
51}
52
53void music_scale_user(void)
54{
55 PLAY_SONG(music_scale);
56}
57#endif 31#endif
diff --git a/keyboards/planck/keymaps/sgoodwin/keymap.c b/keyboards/planck/keymaps/sgoodwin/keymap.c
index e61cd4de68..fbfe793cb8 100644
--- a/keyboards/planck/keymaps/sgoodwin/keymap.c
+++ b/keyboards/planck/keymaps/sgoodwin/keymap.c
@@ -120,13 +120,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
120}; 120};
121 121
122#ifdef AUDIO_ENABLE 122#ifdef AUDIO_ENABLE
123
124float tone_startup[][2] = SONG(STARTUP_SOUND);
125float tone_qwerty[][2] = SONG(QWERTY_SOUND); 123float tone_qwerty[][2] = SONG(QWERTY_SOUND);
126float tone_colemak[][2] = SONG(COLEMAK_SOUND); 124float tone_colemak[][2] = SONG(COLEMAK_SOUND);
127float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
128
129float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
130#endif 125#endif
131 126
132 127
@@ -189,36 +184,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
189 } 184 }
190 return true; 185 return true;
191} 186}
192
193void matrix_init_user(void) {
194 #ifdef AUDIO_ENABLE
195 startup_user();
196 #endif
197}
198
199#ifdef AUDIO_ENABLE
200
201void startup_user(void)
202{
203 _delay_ms(20); // gets rid of tick
204 PLAY_SONG(tone_startup);
205}
206
207void shutdown_user(void)
208{
209 PLAY_SONG(tone_goodbye);
210 _delay_ms(150);
211 stop_all_notes();
212}
213
214void music_on_user(void)
215{
216 music_scale_user();
217}
218
219void music_scale_user(void)
220{
221 PLAY_SONG(music_scale);
222}
223
224#endif
diff --git a/keyboards/planck/keymaps/smt/keymap.c b/keyboards/planck/keymaps/smt/keymap.c
index 6320e11fcf..7d558e4383 100644
--- a/keyboards/planck/keymaps/smt/keymap.c
+++ b/keyboards/planck/keymaps/smt/keymap.c
@@ -142,14 +142,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
142}; 142};
143 143
144#ifdef AUDIO_ENABLE 144#ifdef AUDIO_ENABLE
145
146float tone_startup[][2] = SONG(STARTUP_SOUND);
147float tone_qwerty[][2] = SONG(QWERTY_SOUND); 145float tone_qwerty[][2] = SONG(QWERTY_SOUND);
148float tone_colemak[][2] = SONG(COLEMAK_SOUND); 146float tone_colemak[][2] = SONG(COLEMAK_SOUND);
149float tone_dvorak[][2] = SONG(DVORAK_SOUND); 147float tone_dvorak[][2] = SONG(DVORAK_SOUND);
150float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
151
152float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
153#endif 148#endif
154 149
155 150
@@ -221,36 +216,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
221 } 216 }
222 return true; 217 return true;
223} 218}
224
225void matrix_init_user(void) {
226 #ifdef AUDIO_ENABLE
227 startup_user();
228 #endif
229}
230
231#ifdef AUDIO_ENABLE
232
233void startup_user(void)
234{
235 _delay_ms(20); // gets rid of tick
236 PLAY_SONG(tone_startup);
237}
238
239void shutdown_user(void)
240{
241 PLAY_SONG(tone_goodbye);
242 _delay_ms(150);
243 stop_all_notes();
244}
245
246void music_on_user(void)
247{
248 music_scale_user();
249}
250
251void music_scale_user(void)
252{
253 PLAY_SONG(music_scale);
254}
255
256#endif
diff --git a/keyboards/planck/keymaps/that_canadian/keymap.c b/keyboards/planck/keymaps/that_canadian/keymap.c
index 9f3a415fa3..d7b8a6b356 100644
--- a/keyboards/planck/keymaps/that_canadian/keymap.c
+++ b/keyboards/planck/keymaps/that_canadian/keymap.c
@@ -123,14 +123,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
123}; 123};
124 124
125#ifdef AUDIO_ENABLE 125#ifdef AUDIO_ENABLE
126
127float tone_startup[][2] = SONG(STARTUP_SOUND);
128float tone_qwerty[][2] = SONG(QWERTY_SOUND); 126float tone_qwerty[][2] = SONG(QWERTY_SOUND);
129float tone_dvorak[][2] = SONG(DVORAK_SOUND); 127float tone_dvorak[][2] = SONG(DVORAK_SOUND);
130float tone_colemak[][2] = SONG(COLEMAK_SOUND); 128float tone_colemak[][2] = SONG(COLEMAK_SOUND);
131float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
132
133float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
134#endif 129#endif
135 130
136 131
@@ -173,36 +168,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
173 } 168 }
174 return true; 169 return true;
175} 170}
176
177void matrix_init_user(void) {
178 #ifdef AUDIO_ENABLE
179 startup_user();
180 #endif
181}
182
183#ifdef AUDIO_ENABLE
184
185void startup_user(void)
186{
187 _delay_ms(20); // gets rid of tick
188 PLAY_SONG(tone_startup);
189}
190
191void shutdown_user(void)
192{
193 PLAY_SONG(tone_goodbye);
194 _delay_ms(150);
195 stop_all_notes();
196}
197
198void music_on_user(void)
199{
200 music_scale_user();
201}
202
203void music_scale_user(void)
204{
205 PLAY_SONG(music_scale);
206}
207
208#endif
diff --git a/keyboards/planck/keymaps/vaire/keymap.c b/keyboards/planck/keymaps/vaire/keymap.c
index f58486cda8..00b49e52d7 100644
--- a/keyboards/planck/keymaps/vaire/keymap.c
+++ b/keyboards/planck/keymaps/vaire/keymap.c
@@ -31,42 +31,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 31
32 32
33 LAYOUT_planck_grid( 33 LAYOUT_planck_grid(
34 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 34 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
35 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 35 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
36 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SFT_T(KC_ENT), 36 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SFT_T(KC_ENT),
37 MO(1), KC_LCTL, KC_LALT, KC_LGUI, MO(2), LT(5,KC_ENT), LT(4,KC_SPC), MO(3), KC_SLSH, KC_LEFT, KC_DOWN, CTL_T(KC_RGHT)), 37 MO(1), KC_LCTL, KC_LALT, KC_LGUI, MO(2), LT(5,KC_ENT), LT(4,KC_SPC), MO(3), KC_SLSH, KC_LEFT, KC_DOWN, CTL_T(KC_RGHT)),
38 38
39 LAYOUT_planck_grid( 39 LAYOUT_planck_grid(
40 KC_ESC, KC_NUM, LCTL(KC_SPC), KC_UP, LSFT(KC_SPC), KC_DLR, KC_EQL, KC_P7, KC_P8, KC_P9, KC_PPLS, LCTL(KC_BSPC), 40 KC_ESC, KC_NUM, LCTL(KC_SPC), KC_UP, LSFT(KC_SPC), KC_DLR, KC_EQL, KC_P7, KC_P8, KC_P9, KC_PPLS, LCTL(KC_BSPC),
41 KC_TAB, FIND, KC_LEFT, KC_DOWN, KC_RGHT, KC_PERC, KC_CIRC, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_BSLS, 41 KC_TAB, FIND, KC_LEFT, KC_DOWN, KC_RGHT, KC_PERC, KC_CIRC, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_BSLS,
42 KC_LSFT, UNDO, CUT, COPY, PASTE, EXCEL_HOME, KC_PSCR, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_LSFT, 42 KC_LSFT, UNDO, CUT, COPY, PASTE, EXCEL_HOME, KC_PSCR, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_LSFT,
43 KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, TO(1), KC_ENT, KC_SPC, KC_PENT, KC_P0, KC_PDOT, KC_PAST, KC_LCTL), 43 KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, TO(1), KC_ENT, KC_SPC, KC_PENT, KC_P0, KC_PDOT, KC_PAST, KC_LCTL),
44 44
45 LAYOUT_planck_grid( 45 LAYOUT_planck_grid(
46 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, 46 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
47 KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LT, KC_GT, KC_LPRN, 47 KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LT, KC_GT, KC_LPRN,
48 KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_MPLY, KC_MNXT, KC_PGUP, SFT_T(KC_VOLU), 48 KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_MPLY, KC_MNXT, KC_PGUP, SFT_T(KC_VOLU),
49 TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_ENT, KC_SPC, MO(3), KC_PSCR, KC_MPRV, KC_PGDN, CTL_T(KC_VOLD)), 49 TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_ENT, KC_SPC, MO(3), KC_PSCR, KC_MPRV, KC_PGDN, CTL_T(KC_VOLD)),
50 50
51 LAYOUT_planck_grid( 51 LAYOUT_planck_grid(
52 KC_TILD, DESK_LEFT, WIN_LEFT, KC_F4, WIN_RIGHT, DESK_RIGHT, DOCS, SNAP_LEFT, SNAP_UP, SNAP_RIGHT, SNAP_DOWN, KC_DEL, 52 KC_TILD, DESK_LEFT, WIN_LEFT, KC_F4, WIN_RIGHT, DESK_RIGHT, DOCS, SNAP_LEFT, SNAP_UP, SNAP_RIGHT, SNAP_DOWN, KC_DEL,
53 KC_CAPS, KC_QUOT, KC_LBRC, KC_LCBR, KC_LPRN, KC_BSLS, KC_SLSH, KC_RPRN, KC_RCBR, KC_RBRC, KC_DQUO, KC_QUOT, 53 KC_CAPS, KC_QUOT, KC_LBRC, KC_LCBR, KC_LPRN, KC_BSLS, KC_SLSH, KC_RPRN, KC_RCBR, KC_RBRC, KC_DQUO, KC_QUOT,
54 KC_PWR, KC_SLEP, KC_WAKE, KC_HOME, BL_BRTG, BL_STEP, KC_TRNS, KC_CALC, KC_LT, KC_GT, KC_COLON, KC_LSFT, 54 KC_PWR, KC_SLEP, KC_WAKE, KC_HOME, BL_BRTG, BL_STEP, KC_TRNS, KC_CALC, KC_LT, KC_GT, KC_COLON, KC_LSFT,
55 TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, AU_TOGG, MU_TOGG, MU_NEXT, LCTL(KC_RGHT)), 55 TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, AU_TOGG, MU_TOGG, MU_NEXT, LCTL(KC_RGHT)),
56 56
57 LAYOUT_planck_grid( 57 LAYOUT_planck_grid(
58 TO(0), KC_LSCR, WIN_LEFT, KC_MS_WH_UP, WIN_RIGHT, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_TRNS, KC_TRNS, 58 TO(0), KC_LSCR, WIN_LEFT, KC_MS_WH_UP, WIN_RIGHT, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_INS, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, 59 KC_TRNS, KC_INS, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS,
60 QK_BOOT, KC_APP, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, TO(0), TO(1), TO(2), TO(3), TO(4), 60 QK_BOOT, KC_APP, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, TO(0), TO(1), TO(2), TO(3), TO(4),
61 TO(0), KC_MENU, KC_TRNS, KC_TRNS, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RCTL), 61 TO(0), KC_MENU, KC_TRNS, KC_TRNS, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RCTL),
62 62
63 LAYOUT_planck_grid( 63 LAYOUT_planck_grid(
64 KC_BSPC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_T, KC_R, KC_E, KC_W, KC_Q, KC_BSPC, 64 KC_BSPC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_T, KC_R, KC_E, KC_W, KC_Q, KC_BSPC,
65 KC_TAB, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_G, KC_F, KC_D, KC_S, KC_A, KC_QUOT, 65 KC_TAB, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_G, KC_F, KC_D, KC_S, KC_A, KC_QUOT,
66 KC_LSFT, KC_ENT, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, SFT_T(KC_ENT), 66 KC_LSFT, KC_ENT, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, SFT_T(KC_ENT),
67 TO(0), KC_LCTL, KC_LALT, KC_LGUI, MO(2), KC_TRNS, KC_TRNS, MO(3), KC_SLSH, KC_LEFT, KC_DOWN, LCTL(KC_RGHT)), 67 TO(0), KC_LCTL, KC_LALT, KC_LGUI, MO(2), KC_TRNS, KC_TRNS, MO(3), KC_SLSH, KC_LEFT, KC_DOWN, LCTL(KC_RGHT)),
68 68
69 69
70 70
71}; 71};
72 72
@@ -76,7 +76,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76void matrix_init_user(void) 76void matrix_init_user(void)
77{ 77{
78 set_voice(default_voice); 78 set_voice(default_voice);
79 startup_user();
80 println("Matrix Init"); 79 println("Matrix Init");
81} 80}
82 81
@@ -123,29 +122,4 @@ bool led_update_user(led_t led_state)
123 old_led_state = led_state; 122 old_led_state = led_state;
124 return false; 123 return false;
125} 124}
126 125#endif /* AUDIO_ENABLE */
127
128void startup_user(void)
129{
130 _delay_ms(30); // gets rid of tick
131 PLAY_SONG(tone_my_startup);
132}
133
134void shutdown_user(void)
135{
136 PLAY_SONG(tone_my_goodbye);
137 _delay_ms(3000);
138 stop_all_notes();
139}
140
141void audio_on_user(void)
142{
143 PLAY_SONG(tone_audio_on);
144}
145
146void music_on_user(void)
147{
148 PLAY_SONG(tone_music_on);
149}
150
151#endif /* AUDIO_ENABLE */ \ No newline at end of file
diff --git a/keyboards/planck/keymaps/zach/zach_common_functions.c b/keyboards/planck/keymaps/zach/zach_common_functions.c
index ae5f44e713..e17e31c7b5 100644
--- a/keyboards/planck/keymaps/zach/zach_common_functions.c
+++ b/keyboards/planck/keymaps/zach/zach_common_functions.c
@@ -52,8 +52,6 @@ enum my_keycodes{
52 52
53#ifdef AUDIO_ENABLE 53#ifdef AUDIO_ENABLE
54#include "audio.h" 54#include "audio.h"
55float tone_startup[][2] = SONG(STARTUP_SOUND);
56float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
57float tone_colemak[][2] = SONG(COLEMAK_SOUND); 55float tone_colemak[][2] = SONG(COLEMAK_SOUND);
58float tone_swcole[][2] = SONG(QWERTY_SOUND); 56float tone_swcole[][2] = SONG(QWERTY_SOUND);
59float tone_capslock_on[][2] = SONG(CAPS_LOCK_ON_SOUND); 57float tone_capslock_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
@@ -414,32 +412,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
414 return true; 412 return true;
415}; 413};
416 414
417void matrix_init_user(void){ // Run once at startup
418 #ifdef AUDIO_ENABLE
419 _delay_ms(50); // gets rid of tick
420 PLAY_SONG(tone_startup);
421 #endif
422}
423
424#ifdef AUDIO_ENABLE
425void play_goodbye_tone(void){
426 PLAY_SONG(tone_goodbye);
427 _delay_ms(150);
428}
429
430void shutdown_user(void){
431 PLAY_SONG(tone_goodbye);
432 _delay_ms(150);
433 stop_all_notes();
434}
435
436void music_on_user(void){ // Run when the music layer is turned on
437 PLAY_SONG(tone_startup);
438}
439
440void music_off_user(void){ // Run when music is turned off
441 PLAY_SONG(tone_goodbye);
442}
443#endif
444
445#endif 415#endif
diff --git a/keyboards/preonic/keymaps/0xdec/keymap.c b/keyboards/preonic/keymaps/0xdec/keymap.c
index fafa5c4460..fad47842a5 100644
--- a/keyboards/preonic/keymaps/0xdec/keymap.c
+++ b/keyboards/preonic/keymaps/0xdec/keymap.c
@@ -81,13 +81,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
81 81
82 82
83#ifdef AUDIO_ENABLE 83#ifdef AUDIO_ENABLE
84
85float tone_startup[][2] = {
86 {NOTE_B5, 20},
87 {NOTE_B6, 8},
88 {NOTE_DS6, 20},
89 {NOTE_B6, 8}
90};
91float tone_colemak[][2] = SONG(COLEMAK_SOUND); 84float tone_colemak[][2] = SONG(COLEMAK_SOUND);
92float tone_game[][2] = { 85float tone_game[][2] = {
93 {NOTE_E6, 10} ,{NOTE_E6, 10} ,{NOTE_REST, 10} ,{NOTE_E6, 10} , 86 {NOTE_E6, 10} ,{NOTE_E6, 10} ,{NOTE_REST, 10} ,{NOTE_E6, 10} ,
@@ -95,26 +88,6 @@ float tone_game[][2] = {
95 {NOTE_G6, 10} ,{NOTE_REST, 30}, 88 {NOTE_G6, 10} ,{NOTE_REST, 30},
96 {NOTE_G5, 10} ,{NOTE_REST, 30} 89 {NOTE_G5, 10} ,{NOTE_REST, 30}
97}; 90};
98float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
99float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
100
101void startup_user(void) {
102 _delay_ms(20); // gets rid of tick
103 PLAY_SONG(tone_startup);
104}
105void shutdown_user(void) {
106 PLAY_SONG(tone_goodbye);
107 _delay_ms(150);
108 stop_all_notes();
109}
110
111void music_on_user(void) {
112 music_scale_user();
113}
114void music_scale_user(void) {
115 PLAY_SONG(music_scale);
116}
117
118#endif 91#endif
119 92
120 93
diff --git a/keyboards/preonic/keymaps/bucktooth/keymap.c b/keyboards/preonic/keymaps/bucktooth/keymap.c
index 593083f201..09602a1673 100644
--- a/keyboards/preonic/keymaps/bucktooth/keymap.c
+++ b/keyboards/preonic/keymaps/bucktooth/keymap.c
@@ -69,47 +69,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69) 69)
70 70
71}; 71};
72
73#ifdef AUDIO_ENABLE
74float tone_startup[][2] = {
75 {NOTE_C5, 8},
76 {NOTE_E6, 4},
77 {NOTE_D6, 16},
78 {NOTE_G6, 8}
79};
80
81float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
82
83float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
84#endif
85
86void matrix_init_user(void) {
87 #ifdef AUDIO_ENABLE
88 startup_user();
89 #endif
90}
91
92#ifdef AUDIO_ENABLE
93
94void startup_user(void)
95{
96 PLAY_SONG(tone_startup);
97}
98
99void shutdown_user(void)
100{
101 PLAY_SONG(tone_goodbye);
102 stop_all_notes();
103}
104
105void music_on_user(void)
106{
107 music_scale_user();
108}
109
110void music_scale_user(void)
111{
112 PLAY_SONG(music_scale);
113}
114
115#endif
diff --git a/keyboards/preonic/keymaps/jacwib/keymap.c b/keyboards/preonic/keymaps/jacwib/keymap.c
index 9de460c2a4..694c44b3c7 100644
--- a/keyboards/preonic/keymaps/jacwib/keymap.c
+++ b/keyboards/preonic/keymaps/jacwib/keymap.c
@@ -174,19 +174,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
174 174
175}; 175};
176 176
177#ifdef AUDIO_ENABLE
178float tone_startup[][2] = {
179 {NOTE_D5, 8},
180 {NOTE_E6, 8},
181 {NOTE_D6, 8},
182 {NOTE_E5, 8}
183};
184
185float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
186
187float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
188#endif
189
190void persistent_default_layer_set(uint16_t default_layer) { 177void persistent_default_layer_set(uint16_t default_layer) {
191 eeconfig_update_default_layer(default_layer); 178 eeconfig_update_default_layer(default_layer);
192 default_layer_set(default_layer); 179 default_layer_set(default_layer);
@@ -249,36 +236,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
249 } 236 }
250 return true; 237 return true;
251}; 238};
252
253void matrix_init_user(void) {
254 #ifdef AUDIO_ENABLE
255 startup_user();
256 #endif
257}
258
259#ifdef AUDIO_ENABLE
260
261void startup_user(void)
262{
263 _delay_ms(20); // gets rid of tick
264 PLAY_SONG(tone_startup);
265}
266
267void shutdown_user(void)
268{
269 PLAY_SONG(tone_goodbye);
270 _delay_ms(150);
271 stop_all_notes();
272}
273
274void music_on_user(void)
275{
276 music_scale_user();
277}
278
279void music_scale_user(void)
280{
281 PLAY_SONG(music_scale);
282}
283
284#endif
diff --git a/keyboards/preonic/keymaps/nikchi/keymap.c b/keyboards/preonic/keymaps/nikchi/keymap.c
index e14f8f0052..50589039b7 100644
--- a/keyboards/preonic/keymaps/nikchi/keymap.c
+++ b/keyboards/preonic/keymaps/nikchi/keymap.c
@@ -111,20 +111,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
111}; 111};
112 112
113#ifdef AUDIO_ENABLE 113#ifdef AUDIO_ENABLE
114float tone_startup[][2] = {
115 {NOTE_B5, 20},
116 {NOTE_B6, 8},
117 {NOTE_DS6, 20},
118 {NOTE_B6, 8}
119};
120
121float tone_qwerty[][2] = SONG(QWERTY_SOUND); 114float tone_qwerty[][2] = SONG(QWERTY_SOUND);
122float tone_dvorak[][2] = SONG(DVORAK_SOUND); 115float tone_dvorak[][2] = SONG(DVORAK_SOUND);
123float tone_colemak[][2] = SONG(COLEMAK_SOUND); 116float tone_colemak[][2] = SONG(COLEMAK_SOUND);
124
125float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
126
127float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
128#endif 117#endif
129 118
130void persistent_default_layer_set(uint16_t default_layer) { 119void persistent_default_layer_set(uint16_t default_layer) {
@@ -177,36 +166,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
177 } 166 }
178 return true; 167 return true;
179}; 168};
180
181void matrix_init_user(void) {
182 #ifdef AUDIO_ENABLE
183 startup_user();
184 #endif
185}
186
187#ifdef AUDIO_ENABLE
188
189void startup_user(void)
190{
191 _delay_ms(20); // gets rid of tick
192 PLAY_SONG(tone_startup);
193}
194
195void shutdown_user(void)
196{
197 PLAY_SONG(tone_goodbye);
198 _delay_ms(150);
199 stop_all_notes();
200}
201
202void music_on_user(void)
203{
204 music_scale_user();
205}
206
207void music_scale_user(void)
208{
209 PLAY_SONG(music_scale);
210}
211
212#endif
diff --git a/keyboards/preonic/keymaps/smt/keymap.c b/keyboards/preonic/keymaps/smt/keymap.c
index 7dd9545261..22f6c39a92 100644
--- a/keyboards/preonic/keymaps/smt/keymap.c
+++ b/keyboards/preonic/keymaps/smt/keymap.c
@@ -158,20 +158,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
158}; 158};
159 159
160#ifdef AUDIO_ENABLE 160#ifdef AUDIO_ENABLE
161float tone_startup[][2] = {
162 {NOTE_B5, 20},
163 {NOTE_B6, 8},
164 {NOTE_DS6, 20},
165 {NOTE_B6, 8}
166};
167
168float tone_qwerty[][2] = SONG(QWERTY_SOUND); 161float tone_qwerty[][2] = SONG(QWERTY_SOUND);
169float tone_colemak[][2] = SONG(COLEMAK_SOUND); 162float tone_colemak[][2] = SONG(COLEMAK_SOUND);
170float tone_dvorak[][2] = SONG(DVORAK_SOUND); 163float tone_dvorak[][2] = SONG(DVORAK_SOUND);
171
172float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
173
174float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
175#endif 164#endif
176 165
177void persistent_default_layer_set(uint16_t default_layer) { 166void persistent_default_layer_set(uint16_t default_layer) {
@@ -242,36 +231,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
242 } 231 }
243 return true; 232 return true;
244}; 233};
245
246void matrix_init_user(void) {
247 #ifdef AUDIO_ENABLE
248 startup_user();
249 #endif
250}
251
252#ifdef AUDIO_ENABLE
253
254void startup_user(void)
255{
256 _delay_ms(20); // gets rid of tick
257 PLAY_SONG(tone_startup);
258}
259
260void shutdown_user(void)
261{
262 PLAY_SONG(tone_goodbye);
263 _delay_ms(150);
264 stop_all_notes();
265}
266
267void music_on_user(void)
268{
269 music_scale_user();
270}
271
272void music_scale_user(void)
273{
274 PLAY_SONG(music_scale);
275}
276
277#endif
diff --git a/keyboards/preonic/keymaps/that_canadian/keymap.c b/keyboards/preonic/keymaps/that_canadian/keymap.c
index 8af796821c..18b2e046e8 100644
--- a/keyboards/preonic/keymaps/that_canadian/keymap.c
+++ b/keyboards/preonic/keymaps/that_canadian/keymap.c
@@ -135,20 +135,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
135}; 135};
136 136
137#ifdef AUDIO_ENABLE 137#ifdef AUDIO_ENABLE
138float tone_startup[][2] = {
139 {NOTE_B5, 20},
140 {NOTE_B6, 8},
141 {NOTE_DS6, 20},
142 {NOTE_B6, 8}
143};
144
145float tone_qwerty[][2] = SONG(QWERTY_SOUND); 138float tone_qwerty[][2] = SONG(QWERTY_SOUND);
146float tone_dvorak[][2] = SONG(DVORAK_SOUND); 139float tone_dvorak[][2] = SONG(DVORAK_SOUND);
147float tone_colemak[][2] = SONG(COLEMAK_SOUND); 140float tone_colemak[][2] = SONG(COLEMAK_SOUND);
148
149float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
150
151float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
152#endif 141#endif
153 142
154void persistant_default_layer_set(uint16_t default_layer) { 143void persistant_default_layer_set(uint16_t default_layer) {
@@ -201,36 +190,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
201 } 190 }
202 return true; 191 return true;
203}; 192};
204
205void matrix_init_user(void) {
206 #ifdef AUDIO_ENABLE
207 startup_user();
208 #endif
209}
210
211#ifdef AUDIO_ENABLE
212
213void startup_user(void)
214{
215 _delay_ms(20); // gets rid of tick
216 PLAY_SONG(tone_startup);
217}
218
219void shutdown_user(void)
220{
221 PLAY_SONG(tone_goodbye);
222 _delay_ms(150);
223 stop_all_notes();
224}
225
226void music_on_user(void)
227{
228 music_scale_user();
229}
230
231void music_scale_user(void)
232{
233 PLAY_SONG(music_scale);
234}
235
236#endif
diff --git a/keyboards/preonic/keymaps/zach/zach_common_functions.c b/keyboards/preonic/keymaps/zach/zach_common_functions.c
index ae5f44e713..ba6c402526 100644
--- a/keyboards/preonic/keymaps/zach/zach_common_functions.c
+++ b/keyboards/preonic/keymaps/zach/zach_common_functions.c
@@ -52,7 +52,6 @@ enum my_keycodes{
52 52
53#ifdef AUDIO_ENABLE 53#ifdef AUDIO_ENABLE
54#include "audio.h" 54#include "audio.h"
55float tone_startup[][2] = SONG(STARTUP_SOUND);
56float tone_goodbye[][2] = SONG(GOODBYE_SOUND); 55float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
57float tone_colemak[][2] = SONG(COLEMAK_SOUND); 56float tone_colemak[][2] = SONG(COLEMAK_SOUND);
58float tone_swcole[][2] = SONG(QWERTY_SOUND); 57float tone_swcole[][2] = SONG(QWERTY_SOUND);
@@ -414,32 +413,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
414 return true; 413 return true;
415}; 414};
416 415
417void matrix_init_user(void){ // Run once at startup
418 #ifdef AUDIO_ENABLE
419 _delay_ms(50); // gets rid of tick
420 PLAY_SONG(tone_startup);
421 #endif
422}
423
424#ifdef AUDIO_ENABLE
425void play_goodbye_tone(void){
426 PLAY_SONG(tone_goodbye);
427 _delay_ms(150);
428}
429
430void shutdown_user(void){
431 PLAY_SONG(tone_goodbye);
432 _delay_ms(150);
433 stop_all_notes();
434}
435
436void music_on_user(void){ // Run when the music layer is turned on
437 PLAY_SONG(tone_startup);
438}
439
440void music_off_user(void){ // Run when music is turned off
441 PLAY_SONG(tone_goodbye);
442}
443#endif
444 416
445#endif 417#endif