diff options
-rw-r--r-- | src/sequencer.c | 118 |
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) | ||
22 | void set_time(int bpm); | 21 | void set_time(int bpm); |
23 | 22 | ||
24 | // | 23 | // |
@@ -285,21 +284,21 @@ typedef struct ChannelNoise { | |||
285 | const ChannelSquare default_ch1 = { | 284 | const 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 | ||
325 | const ChannelSquare default_ch2 = { | 324 | const 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 | ||
365 | const ChannelWave default_ch3 = { | 364 | const 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 | ||
405 | const ChannelNoise default_ch4 = { | 404 | const 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 | } |