- if ( stop_note_queue[ i ].val->pitch_i() == note_l->pitch_i ())
- {
- if ( stop_note_queue[ i ].key < stop_mom)
- stop_note_queue[ i ].ignore_b_ = true;
- else // skip the stopnote
- return;
- }
+ /* if this pith already in queue */
+ if (stop_note_queue[i].val->get_semitone_pitch ()
+ == note->get_semitone_pitch ())
+ {
+ if (stop_note_queue[i].key < stop_ticks)
+ {
+ /* let stopnote in queue be ignored,
+ new stop note wins */
+ stop_note_queue[i].ignore_ = true;
+
+ /* don't replay start note, */
+ play_start = false;
+ break;
+ }
+ else
+ {
+ /* skip this stopnote,
+ don't play the start note */
+ note = 0;
+ break;
+ }
+ }