Hi, I'm currently developing a DirectMusic driver for a MIDI device and I got a little confused by your answers. It was my understanding that it was possible for an application to provide it's own masterclock, which would then be used by all active DirectMusic devices. This can be very useful, for instance if you want to link everything to the samplerate of an audio device. I am curious about the problem you described with Sonar and Cubase. I have noticed some strange things with the timestamping of input messages myself. My driver sends the incoming MIDI data as unprocessed bytes. Somewhere in the internals of the DirectMusic API these loose bytes are made into full MIDI messages. These I can then receive by calling IDirectMusicPort::Read(). But the timestamp I get with that function is not the timestamp that the driver gave the incoming MIDI bytes. I would suspect that the full MIDI message would get the timestamp of either the first or the last byte of which it consists. But apparently that is not the case. You mention that the applications (Cubase or Sonar) can be configured to ignore timestamps? How is that done? Evert ----- Original Message ----- From: "Mathieu Routhier" <MRouthier@xxxxxxxxxxxxx> To: <wdmaudiodev@xxxxxxxxxxxxx> Sent: Tuesday, August 05, 2003 11:00 PM Subject: [wdmaudiodev] Re: MIDI Capture Timestamping > The master clock is provided to you as a reference clock. When the note > comes in from your hardware, the time stamp should be relative to this clock > depending on how you want it time-stamped (how long before or after the > current time, if that applies). Why do you need to use another clock? > > Btw, lately, we had to debug our midi input port timestamps because of a > problem we noticed with sonar: there seems to be an increasing skew between > the application clock and the midi timestamps. The longer the application > was opened, the longer it took for a note to be processed by the > application. Restarting the application reset the skew. When the > application was configured to ignore the timestamps, the problem > disappeared. We finally found out that the problem was in the application's > way to handle the timestamps. Apparently Cubase has the same problem. > > I suppose some of you already dealt with this (or at least heard about this > issue). I was wondering if there was something you'd like to add to the > discussion. > > Mat > > -----Original Message----- > From: BlazeAudio Developer [mailto:developer@xxxxxxxxxxxxxx] > Sent: Tuesday, August 05, 2003 3:09 PM > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] MIDI Capture Timestamping > > Can anybody tell what the ullPresTime100Ns in DMUS_KERNEL_EVENT is supposed > to be? > > It's in 100 ns units - but is it the absolute system time or is it relative > to some other event. > > We have a MIDI capture driver(portclass miniport) where we cannot just use > the MasterClock object provided in IMiniPortDMus::NewStream call. > > Thanks. > Devendra. > ****************** > > WDMAUDIODEV addresses: > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe > Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > URL to WDMAUDIODEV page: > http://www.wdmaudiodev.de/ > > ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/