IDirectMusicPerformance

The IDirectMusicPerformance interface is the overall manager of music playback. It is used for adding and removing ports, mapping performance channels to ports, playing segments, dispatching messages and routing them through tools, requesting and receiving event notification, and setting and retrieving music parameters. It also has several methods for getting information about timing and for converting time and music values from one system to another.

If an application would like to have two complete sets of music playing at the same time, it can do so by creating more than one performance. Separate performances obey separate tempo maps and so play completely asynchronously, whereas all segments within one performance play in lock step.

The methods of the IDirectMusicPerformance interface can be organized into the following groups:

Channels AssignPChannel
  AssignPChannelBlock
PChannelInfo
Instruments DownloadInstrument
Messages AllocPMsg
  FreePMsg
SendPMsg
MIDI conversion MIDIToMusic
  MusicToMIDI
Notification AddNotificationType
  GetNotificationPMsg
RemoveNotificationType
SetNotificationHandle
Parameters GetGlobalParam
  GetParam
SetGlobalParam
SetParam
Ports AddPort
  RemovePort
Segments GetSegmentState
  IsPlaying
PlaySegment
Stop
Timing AdjustTime
  GetBumperLength
GetLatencyTime
GetPrepareTime
GetQueueTime
GetResolvedTime
GetTime
MusicToReferenceTime
ReferenceToMusicTime
RhythmToTime
SetBumperLength
SetPrepareTime
TimeToRhythm
Tools GetGraph
  SetGraph
Miscellaneous CloseDown
  Init
Invalidate

All COM interfaces inherit the IUnknown interface methods. This interface supports the following methods:

IUnknown AddRef
  QueryInterface
Release

QuickInfo

  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.