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 |
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.