[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/

Other related posts: