aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/main.c b/src/main.c
index f0fc7c3..0d4056a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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
171int 174int
@@ -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();