state in streams (was Re: [Bug 115] libmidi does not support "running status")

Martin Bayer <[email protected]> Mon, 28 Mar 2005 11:39:04 +0200
Newsgroups gmane.comp.video.gephex.devel
Message-ID <[email protected]>
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

_______________________________________________
gephex-devel mailing list
[email protected]
http://lists.gephex.org/mailman/listinfo/gephex-devel
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCR9C/Cm3i57PRsbsRAnTsAKC9OdjeCWSuS0XfLdLc5mDG9o74GwCgkFev
TaCnDRW0jriGTbLoqFVCcnI=
=/EDs
-----END PGP SIGNATURE-----