DirectX SDK

DMUS_SYNTHSTATS

The DMUS_SYNTHSTATS structure is used by the IDirectMusicPort::GetRunningStats method to return the current running status of a synthesizer.

typedef struct DMUS_SYNTHSTATS {
    DWORD dwSize; 
    DWORD dwValidStats;
    DWORD dwVoices;
    DWORD dwTotalCPU;
    DWORD dwCPUPerVoice;
    DWORD dwLostNotes;
    DWORD dwFreeMemory;
    long  lPeakVolume;
} DMUS_SYNTHSTATS, *LPDMUS_SYNTHSTATS;

Members

dwSize
Size of the structure, in bytes. This member must be initialized to sizeof(DMUS_SYNTHSTATS) before the structure is passed to a method.
dwValidStats
Flags that specify which fields in this structure have been filled in by the synthesizer. The following flags have been defined:

DMUS_SYNTHSTATS_VOICES
DMUS_SYNTHSTATS_TOTAL_CPU
DMUS_SYNTHSTATS_CPU_PER_VOICE
DMUS_SYNTHSTATS_FREE_MEMORY
DMUS_SYNTHSTATS_LOST_NOTES
DMUS_SYNTHSTATS_PEAK_VOLUME

dwVoices
Average number of voices playing.
dwTotalCPU
Total percentage of the CPU being consumed, multiplied by 100.
dwCPUPerVoice
Percentage of the CPU being consumed per voice, multiplied by 100.
dwLostNotes
Number of notes lost. Notes can be dropped because of voice-stealing or because too much of the CPU is being consumed.
dwFreeMemory
Amount of memory currently available to store DLS instruments. If the synthesizer is using system memory and the amount is therefore limited only by the available system memory, this value is set to DMUS_SYNTHSTATS_SYSTEMMEMORY.
lPeakVolume
Peak volume, measured in hundredths of decibels.

Remarks

All the running status parameters, with the exception of dwFreeMemory, are refreshed every second. For example, dwLostNotes provides the total number of notes lost over a one-second period.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dmusici.h.