From 300ca4c16a45ef129a65a5520eab068f1f74c29b Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Wed, 31 May 2023 18:21:30 +0200 Subject: Add link cable sync in --- src/settings.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/settings.c') 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) { draw_line(x + 3, y + 5, x + 3, y + 5, COL_ACC_0); } +void serial_irq(void); +void stop_sound(void); +void toggle_playing(void); + void set_audio_settings(void) { + stop_sound(); + if (settings.sync == SYNC_IN_LINK) { + irs_set(IRQ_SERIAL, serial_irq); + irs_set(IRQ_TIMER_2, NULL); + SIO_MODE = SIO_MODE_GP + | SIO_SC_OUT(0) + | SIO_SD_OUT(0) + | SIO_SI_OUT(0) + | SIO_SO_OUT(0) + | SIO_IRQ_ENABLE; + } else { + irs_set(IRQ_SERIAL, NULL); + } switch (settings.sync) { case SYNC_OUT_LINK_AUDIO_4: case SYNC_OUT_LINK_AUDIO_8: @@ -121,4 +138,7 @@ handle_settings_input(void) { if (key_tap(KEY_A)) { next_scene = SCENE_SEQUENCER; } + if (key_tap(KEY_START)) { + toggle_playing(); + } } -- cgit v1.2.1