Setting the masterclock can be done with IDirectMusic::SetMasterClock(). The input for this function is the GUID of the masterclock. How you add a masterclock to the system is unclear to me. Can't find it in the documentation either. Evert ----- Original Message ----- From: "Mathieu Routhier" <MRouthier@xxxxxxxxxxxxx> To: <wdmaudiodev@xxxxxxxxxxxxx> Sent: Wednesday, August 06, 2003 3:01 PM Subject: [wdmaudiodev] Re: MIDI Capture Timestamping > I should have given this address in the first place: > http://forum.cubase.net/forum/Forum2/HTML/038028.html > > It describes the problems that people have seen with sonar and cubase. It > does not refer to DirectMusic drivers; this is mostly a musician's forum. I > am not sure about this but I guess legacy midi drivers are also affected. > > You must be right when you say it is possible to use a different master > clock. Can you explain how to do this? It's probably done by connecting > things in the filter graph. Is it? > > Mat > > -----Original Message----- > From: Evert van der Poll [mailto:e.j.van.der.poll@xxxxxxxxx] > Sent: Tuesday, August 05, 2003 5:46 PM > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] Re: MIDI Capture Timestamping > > 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/ > ****************** > > 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/