> >the sorter/scheduler is what i call a sequencer. the sorting is too high > >level > >i think. sorting should be done ahead and not in real time. it should be > >done > >in the application. > > > >--martijn > > But in a multiple-applications context, you may have several applications > says A and B sending time-ordered ordered streams to the same application > C, events comming from A and B have to be merged and sorted to be delivered > to C.
i know, this is a problem. solutions could be: allow only one connection. this is more like how midi works outside the computer. to be able to merge you would then have to run an application that has midi in ports that is merges to its out port. sysex would be easier then. also the difference between a driver's in port, which an application would read from and the events tagged with the time they were received, and the output from an application that calls write on a driver's out port with the events tagged with the time they are to be transmitted is clear. this makes connecting more difficult though because of this difference. or for every client application of an out port a seperate fifo could be used? i don't know if this is easy to implement or possible. it is easier to handle midi as an event based protocol in the computer perhaps, but midi is a stream and sysex doesn't work correctly on most event based midi frameworks i have seen. --martijn
