diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 27 |
1 files changed, 15 insertions, 12 deletions
@@ -13,7 +13,7 @@ WITH REGARD TO THIS SOFTWARE. | |||
13 | // | 13 | // |
14 | // UI tweaks. | 14 | // UI tweaks. |
15 | // + Theming support, with a number of pre-configured themes and custom colors. | 15 | // + Theming support, with a number of pre-configured themes and custom colors. |
16 | // - Add more default themes | 16 | // + Add more default themes |
17 | // - Add custom user themes | 17 | // - Add custom user themes |
18 | // - Notification support for feedback when doing some operations | 18 | // - Notification support for feedback when doing some operations |
19 | // (copying/pasting) | 19 | // (copying/pasting) |
@@ -23,7 +23,7 @@ WITH REGARD TO THIS SOFTWARE. | |||
23 | // | 23 | // |
24 | // Quality of life improvements. | 24 | // Quality of life improvements. |
25 | // + Add a settings page to change some configuration parameters. | 25 | // + Add a settings page to change some configuration parameters. |
26 | // - Change the cursor, the line is difficult to see. | 26 | // + Change the cursor, the line is difficult to see. (Option to thick cursor) |
27 | // - When not on play mode, adjusting a note or a parameter triggers the sound. | 27 | // - When not on play mode, adjusting a note or a parameter triggers the sound. |
28 | // This could get annoying, so maybe it should be a configuration option to | 28 | // This could get annoying, so maybe it should be a configuration option to |
29 | // enable it? | 29 | // enable it? |
@@ -33,25 +33,24 @@ WITH REGARD TO THIS SOFTWARE. | |||
33 | // | 33 | // |
34 | // Advanced | 34 | // Advanced |
35 | // + Sync via CV by using the link cable. | 35 | // + Sync via CV by using the link cable. |
36 | // - Audio sync by panning left the sound and using right as a click (or | 36 | // + Audio sync by panning left the sound and using right as a click (or |
37 | // viceversa, needs to check the standard.) | 37 | // viceversa, needs to check the standard.) |
38 | // - Sync via MIDI via arduinoboy or something similar. | 38 | // - Allow "marking" several trigs to be able to copy/paste them and/or adjust |
39 | // - Add an FM channel using Direct Sound. | 39 | // their parameters. |
40 | // - Per trig note probability. | 40 | // - Per trig note probability. |
41 | // - Add an envelope to ch3, would need to work with a timer in order to make | 41 | // - Add an envelope to ch3, would need to work with a timer in order to make |
42 | // it work I think. | 42 | // it work I think. |
43 | // - Allow "marking" several trigs to be able to copy/paste them and/or adjust | 43 | // - Sync via MIDI via arduinoboy or something similar. |
44 | // their parameters. | ||
45 | // | 44 | // |
46 | // Bugfixes | 45 | // Bugfixes |
46 | // + Pattern chaining seems off, it plays the first note of the pattern before | ||
47 | // switching | ||
48 | // + Memory corruption when trying to load a save file. Regression due to | ||
49 | // removal of filesystem.c | ||
47 | // - Sound can get hung up sometimes, but I can't reproduce when this happens. | 50 | // - Sound can get hung up sometimes, but I can't reproduce when this happens. |
48 | // Not sure if this is an emulator thing or happens also in hardware. | 51 | // Not sure if this is an emulator thing or happens also in hardware. |
49 | // - Cursor can stay in position instead of dissapering, again I can't | 52 | // - Cursor can stay in position instead of dissapering, again I can't |
50 | // reproduce this right now, just happened randomly. Needs investigation. | 53 | // reproduce this right now, just happened randomly. Needs investigation. |
51 | // + Pattern chaining seems off, it plays the first note of the pattern before | ||
52 | // switching | ||
53 | // + Memory corruption when trying to load a save file. Regression due to | ||
54 | // removal of filesystem.c | ||
55 | // | 54 | // |
56 | 55 | ||
57 | #include "gba/gba.h" | 56 | #include "gba/gba.h" |
@@ -59,6 +58,7 @@ WITH REGARD TO THIS SOFTWARE. | |||
59 | #include "renderer_m0.c" | 58 | #include "renderer_m0.c" |
60 | #include "globals.c" | 59 | #include "globals.c" |
61 | #include "settings.c" | 60 | #include "settings.c" |
61 | #include "dsound.c" | ||
62 | #include "sequencer.c" | 62 | #include "sequencer.c" |
63 | 63 | ||
64 | #define PROF_ENABLE 0 | 64 | #define PROF_ENABLE 0 |
@@ -166,6 +166,9 @@ update(void) { | |||
166 | set_time(patterns[current_pattern].bpm); | 166 | set_time(patterns[current_pattern].bpm); |
167 | update_bpm = false; | 167 | update_bpm = false; |
168 | } | 168 | } |
169 | if (audio_sync_click) { | ||
170 | play_click(); | ||
171 | } | ||
169 | } | 172 | } |
170 | 173 | ||
171 | int | 174 | int |
@@ -178,7 +181,7 @@ main(void) { | |||
178 | 181 | ||
179 | // Register interrupts. | 182 | // Register interrupts. |
180 | irq_init(); | 183 | irq_init(); |
181 | irs_set(IRQ_VBLANK, irs_stub); | 184 | irs_set(IRQ_VBLANK, sound_vsync); |
182 | 185 | ||
183 | // Initialize sequencer. | 186 | // Initialize sequencer. |
184 | sequencer_init(); | 187 | sequencer_init(); |