alsa-project/alsa-lib pull request #179 was opened from perexg: It's follow-up for https://github.com/alsa-project/alsa-lib/pull/173 and https://github.com/alsa-project/alsa-lib/issues/172 . I am confident, that the direct framing mechanism for the transfer of the midi stream with the timestamping should be hidden and abstracted in the alsa-lib's API. This version uses a new read function (`snd_rawmidi_tread()`) which decodes and merges the data from the kernel frames. The framing mechanism is very specific to the kernel API and the cost of added data copy is negligible in this case (the kernel code basically does similar thing). I kept the `snd_rawmidi_read()` functionality to read raw frames), but the structure for the parsing must be defined on it's own. This mechanism is unsupported. This version seems more abstract and easy to use for apps than the separate decoder function for `snd_rawmidi_read()`. Request URL : https://github.com/alsa-project/alsa-lib/pull/179 Patch URL : https://github.com/alsa-project/alsa-lib/pull/179.patch Repository URL: https://github.com/alsa-project/alsa-lib