General purpose structure for timing information.
typedef struct mmtime_tag {
WORD wType;
union {
DWORD ms;
DWORD sample;
DWORD cb;
struct {
BYTE hour;
BYTE min;
BYTE sec;
BYTE frame;
BYTE fps;
BYTE dummy;
} smpte;
struct {
DWORD songptrpos;
} midi;
} u;
} MMTIME;
The MMTIME structure has the following fields:
wType
Specifies the type of the union.
TIME_MS
Time counted in milliseconds.
TIME_SAMPLES
Number of wave samples.
TIME_BYTES
Current byte offset.
TIME_SMPTE
SMPTE time.
TIME_MIDI
MIDI time.
u
The contents of the union. The following fields are contained in union u:
ms
Milliseconds. Used when wType is TIME_MS.
sample
Samples. Used when wType is TIME_SAMPLES.
cb
Byte count. Used when wType is TIME_BYTES.
smpte
SMPTE time. Used when wType is TIME_SMPTE. The following fields are contained in structure smpte:
hour
Hours.
min
Minutes.
sec
Seconds.
frame
Frames.
fps
Frames per second (24, 25, 29(30 drop) or 30).
dummy
Dummy byte for alignment.
midi
MIDI time. Used when wType is TIME_MIDI. The following fields are contained in structure midi:
songptrpos
Song pointer position.