On 15 Jul 2005 at 10:59, Stephen Peters wrote: > "David W. Fenton" <[EMAIL PROTECTED]> writes: > > > Surely for a data bus that is assumed to have multiple devices using > > it, *all* data has to be time-stamped in some fashion. > > Why? For a multiple-device data bus, all you have to do is ensure > that devices are tagged correctly and that events for a given device > are in the correct order. Everything else is just detail, defining > how responsive the entire system is.
As long as a piece of software is responding to the queue from only one USB device, this will work. When you need to serialize messages from more than one device, it's impossible to do so without some kind of device non-specific ordering method. > The requirement you state implies that every device needs to provide a > time-critical component with short latency, which would raise the cost > of every single device. Useful for RT, but not for a general purpose > bus. Other people have no problems with using a USB QWERTY keyboard with a USB MIDI keyboard for Speedy entry. This suggests that those who are doing that successfully are getting properly serialized data into Finale. That Chris is not suggests to me that one or more of his devices is non-/sub-standard. Or perhaps those who are successful are using all USB 2, whereas I believe Chris said he was on USB 1.1. > > If not, then that means that nobody using a USB QWERTY keyboard with > > a USB MIDI interface would be having success, since it would mean > > that there's no way for USB to appropriate serialize events > > generated by different devices destined for the same software > > process. > > That may have little to do with the bus (although with two devices > that are requiring bounded-latency response to small packets of data, > you could have problems with bus contention). If the software process > is reading information from two different locations, the software may > not be properly synchronizing. Um, it's *not* reading it from two different locations. It's reading it from a single bus. The USB bus is like a telephone party line -- multiple devices connected to it sharing the same communication space. So, it's *not* different devices. Now, each device does have it's own USB device identifier and it's reading that information (since it needs to know which information to accept and what the source is so it knows what to do with it), but Finale then has to figure out the order in which to process the data. Without an accurate serialization code in the basic datastream on the USB bus, there's no way for Finale to know the order in which it should process the data from the two sources. -- David W. Fenton http://www.bway.net/~dfenton David Fenton Associates http://www.bway.net/~dfassoc All non-quoted content (c) David W. Fenton, all rights reserved _______________________________________________ Finale mailing list [email protected] http://lists.shsu.edu/mailman/listinfo/finale
