X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=scherzo.c;fp=scherzo.c;h=dacefa8e8e8e186ec9fa6f20b9f79f05ab34e420;hb=f492c33c1fd33c1dc0a2c892753300c7225dbd51;hp=665795977fcf4e2d5c9d397fe3b1579cab9af3ba;hpb=e61e2b33d79fd2c55521ef46432ef3c40f3efc5b;p=scherzo diff --git a/scherzo.c b/scherzo.c index 6657959..dacefa8 100644 --- a/scherzo.c +++ b/scherzo.c @@ -280,8 +280,6 @@ on_key_press_event (GtkWidget *widget, if (pitch != PITCH_NOT_A_PITCH) { - pitch = scherzo_key_spell_pitch (&scherzo->key, pitch); - scherzo_press_note (scherzo, pitch); return TRUE; @@ -389,8 +387,6 @@ on_key_release_event (unused (GtkWidget *widget), if (pitch != PITCH_NOT_A_PITCH) { - pitch = scherzo_key_spell_pitch (&scherzo->key, pitch); - scherzo_release_note (scherzo, pitch); return TRUE; @@ -1007,6 +1003,8 @@ scherzo_press_note (scherzo_t *scherzo, pitch_t pitch) { int i; + pitch = scherzo_key_spell_pitch (&scherzo->key, pitch); + #define NUM_RECENT_PITCHES 7 static pitch_t recent_pitches[NUM_RECENT_PITCHES]; @@ -1033,6 +1031,8 @@ scherzo_press_note (scherzo_t *scherzo, pitch_t pitch) static void scherzo_release_note (scherzo_t *scherzo, pitch_t pitch) { + pitch = scherzo_key_spell_pitch (&scherzo->key, pitch); + pitch_group_remove_pitch_enharmonic (&scherzo->notes_pressed, pitch); scherzo_update_notes_and_chord (scherzo);