aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-04-04 17:27:58 +0200
committerBad Diode <bd@badd10de.dev>2023-04-04 17:27:58 +0200
commitb252d394036673d2ed33a8516304e8b4f7a732d2 (patch)
tree5bd71ad74eaa108c4e04b1a8a08a4491537c2ae2
parent0fbbc780d544ce1e6a026ab208cc70764be43b6e (diff)
downloadstepper-b252d394036673d2ed33a8516304e8b4f7a732d2.tar.gz
stepper-b252d394036673d2ed33a8516304e8b4f7a732d2.zip
Fix a small bug and prepare a better default melody
-rw-r--r--src/sequencer.c118
1 files changed, 60 insertions, 58 deletions
diff --git a/src/sequencer.c b/src/sequencer.c
index d69c450..4b83f5f 100644
--- a/src/sequencer.c
+++ b/src/sequencer.c
@@ -18,7 +18,6 @@ sram_write(u8 *src, u16 pos, u16 n_bytes) {
18// TODO 18// TODO
19// - Preview sound keys? 19// - Preview sound keys?
20// - Copy paste trigs/notes/params 20// - Copy paste trigs/notes/params
21// - Finish noise channel (parameter editing)
22void set_time(int bpm); 21void set_time(int bpm);
23 22
24// 23//
@@ -285,21 +284,21 @@ typedef struct ChannelNoise {
285const ChannelSquare default_ch1 = { 284const ChannelSquare default_ch1 = {
286 .notes = { 285 .notes = {
287 {true, NOTE_C_4}, 286 {true, NOTE_C_4},
288 {true, NOTE_D_4}, 287 {true, NOTE_D_SHARP_4},
289 {true, NOTE_E_4},
290 {true, NOTE_F_4},
291 {true, NOTE_G_4}, 288 {true, NOTE_G_4},
292 {true, NOTE_A_4}, 289 {true, NOTE_A_SHARP_4},
293 {true, NOTE_B_4},
294 {true, NOTE_C_5},
295 {true, NOTE_C_4},
296 {true, NOTE_C_4},
297 {true, NOTE_C_4},
298 {true, NOTE_C_4},
299 {true, NOTE_C_4},
300 {true, NOTE_C_4}, 290 {true, NOTE_C_4},
291 {true, NOTE_D_SHARP_4},
292 {true, NOTE_G_4},
293 {true, NOTE_A_SHARP_4},
301 {true, NOTE_C_4}, 294 {true, NOTE_C_4},
295 {true, NOTE_D_SHARP_4},
296 {true, NOTE_G_4},
297 {true, NOTE_A_SHARP_4},
302 {true, NOTE_C_4}, 298 {true, NOTE_C_4},
299 {true, NOTE_D_SHARP_4},
300 {true, NOTE_G_4},
301 {true, NOTE_A_SHARP_4},
303 }, 302 },
304 .params = { 303 .params = {
305 {8, 4, 0, 2, 0, 0, 0}, 304 {8, 4, 0, 2, 0, 0, 0},
@@ -324,22 +323,22 @@ const ChannelSquare default_ch1 = {
324 323
325const ChannelSquare default_ch2 = { 324const ChannelSquare default_ch2 = {
326 .notes = { 325 .notes = {
327 {true, NOTE_C_4}, 326 {true, NOTE_C_3},
328 {true, NOTE_D_4}, 327 {true, NOTE_C_3},
329 {true, NOTE_E_4}, 328 {true, NOTE_C_3},
330 {true, NOTE_F_4}, 329 {true, NOTE_C_3},
331 {true, NOTE_G_4}, 330 {true, NOTE_C_3},
332 {true, NOTE_A_4}, 331 {true, NOTE_C_3},
333 {true, NOTE_B_4}, 332 {true, NOTE_C_3},
334 {true, NOTE_C_5}, 333 {true, NOTE_C_3},
335 {true, NOTE_C_4}, 334 {true, NOTE_C_3},
336 {true, NOTE_C_4}, 335 {true, NOTE_C_3},
337 {true, NOTE_C_4}, 336 {true, NOTE_C_3},
338 {true, NOTE_C_4}, 337 {true, NOTE_C_3},
339 {true, NOTE_C_4}, 338 {true, NOTE_C_3},
340 {true, NOTE_C_4}, 339 {true, NOTE_C_3},
341 {true, NOTE_C_4}, 340 {true, NOTE_C_3},
342 {true, NOTE_C_4}, 341 {true, NOTE_C_3},
343 }, 342 },
344 .params = { 343 .params = {
345 {8, 4, 0, 2, 0, 0, 0}, 344 {8, 4, 0, 2, 0, 0, 0},
@@ -364,22 +363,22 @@ const ChannelSquare default_ch2 = {
364 363
365const ChannelWave default_ch3 = { 364const ChannelWave default_ch3 = {
366 .notes = { 365 .notes = {
367 {true, NOTE_C_4},
368 {true, NOTE_D_4},
369 {true, NOTE_E_4},
370 {true, NOTE_F_4},
371 {true, NOTE_G_4},
372 {true, NOTE_A_4},
373 {true, NOTE_B_4},
374 {true, NOTE_C_5}, 366 {true, NOTE_C_5},
375 {true, NOTE_C_4}, 367 {true, NOTE_C_5},
376 {true, NOTE_C_4}, 368 {true, NOTE_C_5},
377 {true, NOTE_C_4}, 369 {true, NOTE_A_SHARP_5},
378 {true, NOTE_C_4}, 370 {true, NOTE_A_SHARP_5},
379 {true, NOTE_C_4}, 371 {true, NOTE_C_5},
380 {true, NOTE_C_4}, 372 {true, NOTE_C_5},
381 {true, NOTE_C_4}, 373 {true, NOTE_G_5},
382 {true, NOTE_C_4}, 374 {true, NOTE_C_5},
375 {true, NOTE_C_5},
376 {true, NOTE_C_5},
377 {true, NOTE_A_SHARP_5},
378 {true, NOTE_A_SHARP_5},
379 {true, NOTE_C_5},
380 {true, NOTE_C_5},
381 {true, NOTE_G_5},
383 }, 382 },
384 .params = { 383 .params = {
385 {3, 0, {0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000},{0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000}}, 384 {3, 0, {0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000},{0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000}},
@@ -404,22 +403,23 @@ const ChannelWave default_ch3 = {
404 403
405const ChannelNoise default_ch4 = { 404const ChannelNoise default_ch4 = {
406 .notes = { 405 .notes = {
407 {true, NOTE_C_4}, 406 {true, NOTE_D_SHARP_4},
408 {false, NOTE_D_4}, 407 {false, NOTE_E_6},
409 {false, NOTE_E_4}, 408 {false, NOTE_E_6},
410 {false, NOTE_F_4}, 409 {false, NOTE_E_6},
410 {true, NOTE_D_SHARP_4},
411 {false, NOTE_E_6},
412 {false, NOTE_E_6},
413 {false, NOTE_E_6},
414 {true, NOTE_D_SHARP_4},
415 {false, NOTE_E_6},
416 {false, NOTE_E_6},
417 {false, NOTE_E_6},
418 {true, NOTE_D_SHARP_4},
419 {false, NOTE_E_6},
420 {false, NOTE_E_6},
421 {false, NOTE_E_6},
411 {false, NOTE_G_4}, 422 {false, NOTE_G_4},
412 {false, NOTE_A_4},
413 {false, NOTE_B_4},
414 {false, NOTE_C_5},
415 {false, NOTE_C_4},
416 {false, NOTE_C_4},
417 {false, NOTE_C_4},
418 {false, NOTE_C_4},
419 {false, NOTE_C_4},
420 {false, NOTE_C_4},
421 {false, NOTE_C_4},
422 {false, NOTE_C_4},
423 }, 423 },
424 .params = { 424 .params = {
425 {0xF, 0x2, 0, 0}, 425 {0xF, 0x2, 0, 0},
@@ -2115,6 +2115,7 @@ handle_pattern_selection(void) {
2115 draw_pattern_cursor(pattern_selection_loc, COL_BG); 2115 draw_pattern_cursor(pattern_selection_loc, COL_BG);
2116 pattern_selection_loc = pattern_selection_loc - 1; 2116 pattern_selection_loc = pattern_selection_loc - 1;
2117 draw_pattern_cursor(pattern_selection_loc, COL_CURSOR); 2117 draw_pattern_cursor(pattern_selection_loc, COL_CURSOR);
2118 draw_channels();
2118 draw_triggers(); 2119 draw_triggers();
2119 draw_bpm(); 2120 draw_bpm();
2120 } 2121 }
@@ -2123,6 +2124,7 @@ handle_pattern_selection(void) {
2123 draw_pattern_cursor(pattern_selection_loc, COL_BG); 2124 draw_pattern_cursor(pattern_selection_loc, COL_BG);
2124 pattern_selection_loc = pattern_selection_loc + 1; 2125 pattern_selection_loc = pattern_selection_loc + 1;
2125 draw_pattern_cursor(pattern_selection_loc, COL_CURSOR); 2126 draw_pattern_cursor(pattern_selection_loc, COL_CURSOR);
2127 draw_channels();
2126 draw_triggers(); 2128 draw_triggers();
2127 draw_bpm(); 2129 draw_bpm();
2128 } 2130 }