X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=scherzo.c;h=88cae44fe4cdb85bde4669a41e713f463767915c;hb=05c28164f342656bd02bb4c6607b938bb8d3f2b1;hp=c285891f0a43d00167f4beb5d164189c227ccfa5;hpb=16d07286a5344861bd26ad97e97612d3806d1da7;p=scherzo diff --git a/scherzo.c b/scherzo.c index c285891..88cae44 100644 --- a/scherzo.c +++ b/scherzo.c @@ -194,7 +194,7 @@ scherzo_add_note_midi (scherzo_t *scherzo, unsigned char midi_note) _midi_to_score_pitch_and_octave (midi_note, &pitch, &octave); - note = score_staff_add_note (staff, pitch, octave, SCORE_DURATION_WHOLE); + note = score_add_note (staff, pitch, octave, SCORE_DURATION_WHOLE); scherzo->num_notes_pressed++; scherzo->notes_pressed = talloc_realloc (scherzo->ctx, @@ -214,20 +214,17 @@ scherzo_add_note_midi (scherzo_t *scherzo, unsigned char midi_note) static void scherzo_remove_note_midi (scherzo_t *scherzo, unsigned char midi_note) { - score_staff_t *staff; score_pitch_t pitch; int octave; score_note_t *note; int i; - staff = scherzo->challenge.staff; - _midi_to_score_pitch_and_octave (midi_note, &pitch, &octave); for (i = 0; i < scherzo->num_notes_pressed; i++) { note = scherzo->notes_pressed[i]; if (note->pitch == pitch && note->octave == octave) { - score_staff_remove_note (staff, note); + score_remove_note (note); if (i < scherzo->num_notes_pressed - 1) { memmove (scherzo->notes_pressed + i, scherzo->notes_pressed + i + 1, @@ -251,7 +248,7 @@ _select_challenge (scherzo_t *scherzo) char *s; if (challenge->note) { - score_staff_remove_note (challenge->staff, challenge->note); + score_remove_note (challenge->note); challenge->note = NULL; } @@ -312,8 +309,8 @@ _select_challenge (scherzo_t *scherzo) octave = *s - '0'; - challenge->note = score_staff_add_note (challenge->staff, pitch, octave, - SCORE_DURATION_WHOLE); + challenge->note = score_add_note (challenge->staff, pitch, octave, + SCORE_DURATION_WHOLE); challenge->satisfied = 0; challenge->mistaken = 0; } @@ -372,6 +369,7 @@ on_midi_input (unused (GIOChannel *channel), next, remaining, &event); remaining -= consumed; + next += consumed; switch (event.type) { case SND_SEQ_EVENT_NONE: