sequencer init state

This commit is contained in:
Wolfgang Hottgenroth 2024-03-26 23:21:24 +01:00
parent 1c2414463b
commit 5e1e9dfa92
2 changed files with 5 additions and 1 deletions

View File

@ -11,6 +11,10 @@ void sequencerExec(void *handle) {
t_melody *melody = (t_melody*) handle;
switch (melody->state) {
case e_Init:
psgAmplitude(melody->channel, melody->amplitude);
melody->state = e_PlayTone;
break;
case e_PlayTone:
if (melody->tones[melody->idx].length == e_L_EndMark) {
melody->idx = 0;
@ -51,7 +55,6 @@ uint16_t sequencerPlayMelody(t_melody *melody) {
melody->lengthCnt = 0;
melody->state = e_PlayTone;
psgAmplitude(melody->channel, melody->amplitude);
return schAdd(sequencerExec, (void*) melody, 0, melody->pace);
}

View File

@ -25,6 +25,7 @@ typedef struct {
} t_tone;
typedef enum {
e_Init,
e_PlayTone,
e_HoldTone,
e_StaccatoBreak,