state in streams (was Re: [gephex-devel] [Bug 115] libmidi does not
support "running status")
Martin Bayer
martin at gephex.org
Mon Mar 28 11:39:04 CEST 2005
Hi,
I thought a bit about the midi running status thing and came to the
conclusion that keeping a "essential" state in link sequences is
dangerous in combination with graph patching.
The (midi) stream parser loop keeps the state of the connected input
stream. A switch of the midi input source leads to a situation, were the
old parser state is used to recognize the message of the other stream.
My interpretation of the midi and osc types is that the value is a set
of events. And the logical stream is a sequence of sets of events. The
representation of these sets of events _could_ be similar to the data on
the midi wire but this is not necessary. We could e.g. unify the
internal representation of the midi and osc events.
I propose that the input modules must convert the byte streams from the
hardware interface to event streams. The event sets must be usable
without keeping a parser state in all stream handling modules.
-> no running status
-> no splitting of midi messages
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: OpenPGP digital signature
Url : http://lists.gephex.org/pipermail/gephex-devel/attachments/20050328/423fbf70/signature.pgp
More information about the gephex-devel
mailing list