--- arecordmidi.c.orig 2008-11-09 12:11:52.000000000 +1100 +++ arecordmidi.c 2008-11-09 12:13:03.000000000 +1100 @@ -864,6 +864,27 @@ err = snd_seq_event_input(seq, &event); if (err < 0) break; + if (event && + event->type == SND_SEQ_EVENT_NOTEON && + event->data.note.note == 108) { + printf("NORMAL STOP\n"); + stop = 1; + break; + } + if (event && + event->type == SND_SEQ_EVENT_NOTEON && + event->data.note.note == 107) { + printf("DISCARD STOP\n"); + stop = 2; + break; + } + if (event && + event->type == SND_SEQ_EVENT_NOTEON && + event->data.note.note == 106) { + printf("TERMINATE STOP\n"); + stop = 3; + break; + } if (event) record_event(event); } while (err > 0);