aboutsummaryrefslogtreecommitdiffstats
path: root/src/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings.c')
-rw-r--r--src/settings.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/settings.c b/src/settings.c
index b814e1a..2c698d1 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -13,8 +13,25 @@ draw_settings_cursor(void) {
13 draw_line(x + 3, y + 5, x + 3, y + 5, COL_ACC_0); 13 draw_line(x + 3, y + 5, x + 3, y + 5, COL_ACC_0);
14} 14}
15 15
16void serial_irq(void);
17void stop_sound(void);
18void toggle_playing(void);
19
16void 20void
17set_audio_settings(void) { 21set_audio_settings(void) {
22 stop_sound();
23 if (settings.sync == SYNC_IN_LINK) {
24 irs_set(IRQ_SERIAL, serial_irq);
25 irs_set(IRQ_TIMER_2, NULL);
26 SIO_MODE = SIO_MODE_GP
27 | SIO_SC_OUT(0)
28 | SIO_SD_OUT(0)
29 | SIO_SI_OUT(0)
30 | SIO_SO_OUT(0)
31 | SIO_IRQ_ENABLE;
32 } else {
33 irs_set(IRQ_SERIAL, NULL);
34 }
18 switch (settings.sync) { 35 switch (settings.sync) {
19 case SYNC_OUT_LINK_AUDIO_4: 36 case SYNC_OUT_LINK_AUDIO_4:
20 case SYNC_OUT_LINK_AUDIO_8: 37 case SYNC_OUT_LINK_AUDIO_8:
@@ -121,4 +138,7 @@ handle_settings_input(void) {
121 if (key_tap(KEY_A)) { 138 if (key_tap(KEY_A)) {
122 next_scene = SCENE_SEQUENCER; 139 next_scene = SCENE_SEQUENCER;
123 } 140 }
141 if (key_tap(KEY_START)) {
142 toggle_playing();
143 }
124} 144}