Rob,
Functionally that would produce the desired result.
Perhaps I've misunderstood the ALSA implementation, but a sequencer
client can't rely on the persistence of the event (snd_seq_free is
deprecated) - so it would have to be deep copied for queuing. The
embedded s/w eng. in me shies away from copying data unnecessarily.
Let's call
it defensive copying;) This wouldn't be an expensive operation.
The event data structure is rather large, but for each event, only a small
part of it really matters. If you just copy the pertinent entries, then
you only have to copy a few bytes per event.
Peter