Partager via


IDirectMusicSynth interface (dmusics.h)

The IDirectMusicSynth interface is used by DirectMusic to communicate with user-mode synthesizers. If you create a custom software synthesizer that runs in user mode, it should have an IDirectMusicSynth interface to plug into DirectMusic. IDirectMusicSynth inherits from the IUnknown interface.

The synthesizer is not complete without a connection to a wave sink, which is represented as an object with an IDirectMusicSynthSink interface. For more information, see IDirectMusicSynth and IDirectMusicSynthSink.

In addition to the methods that IDirectMusicSynth inherits from the IUnknown interface, IDirectMusicSynth supports the following methods:

IDirectMusicSynth::Activate

IDirectMusicSynth::Close

IDirectMusicSynth::Download

IDirectMusicSynth::GetAppend

IDirectMusicSynth::GetChannelPriority

IDirectMusicSynth::GetFormat

IDirectMusicSynth::GetLatencyClock

IDirectMusicSynth::GetPortCaps

IDirectMusicSynth::GetRunningStats

IDirectMusicSynth::Open

IDirectMusicSynth::PlayBuffer

IDirectMusicSynth::Render

IDirectMusicSynth::SetChannelPriority

IDirectMusicSynth::SetMasterClock

IDirectMusicSynth::SetNumChannelGroups

IDirectMusicSynth::SetSynthSink

IDirectMusicSynth::Unload

Inheritance

The IDirectMusicSynth interface inherits from the IUnknown interface.

Methods

The IDirectMusicSynth interface has these methods.

 
IDirectMusicSynth::Activate

The Activate method enables or disables the audio device under program control.
IDirectMusicSynth::Close

The Close method closes a DirectMusic "port", which is a DirectMusic term for a device that sends or receives music data.
IDirectMusicSynth::Download

The Download method downloads a wave or instrument definition to the synthesizer.
IDirectMusicSynth::GetAppend

The GetAppend method outputs the number of additional wave samples that the DirectMusic "port" needs to have appended to the end of a download buffer.
IDirectMusicSynth::GetChannelPriority

The GetChannelPriority method outputs the priority of a MIDI channel.
IDirectMusicSynth::GetFormat

The GetFormat method retrieves information about the wave format.
IDirectMusicSynth::GetLatencyClock

The GetLatencyClock method retrieves a reference to the IReferenceClock interface (described in the Microsoft Windows SDK documentation) of the reference-clock object that tracks the current mix time.
IDirectMusicSynth::GetPortCaps

The GetPortCaps method retrieves the capabilities of a DirectMusic "port", which is a DirectMusic term for a device that sends or receives music data.
IDirectMusicSynth::GetRunningStats

The GetRunningStats method retrieves current information about the state of the synthesizer so that an application can tell how the synth is performing.
IDirectMusicSynth::Open

The Open method opens a DirectMusic synthesizer "port".
IDirectMusicSynth::PlayBuffer

The PlayBuffer method downloads a stream of MIDI messages to the synthesizer.
IDirectMusicSynth::Render

The Render method is called by the synth sink to render to a buffer in the audio stream.
IDirectMusicSynth::SetChannelPriority

The SetChannelPriority method sets the priority of a MIDI channel.
IDirectMusicSynth::SetMasterClock

The SetMasterClock method provides the synthesizer with a master time source, which the synthesizer requires to synchronize itself with the rest of DirectMusic.
IDirectMusicSynth::SetNumChannelGroups

The SetNumChannelGroups method instructs the synthesizer to set its number of channel groups to a new value.
IDirectMusicSynth::SetSynthSink

The SetSynthSink method establishes the connection of the synth to the wave sink.
IDirectMusicSynth::Unload

The Unload method unloads a DLS resource (waveform or articulation data for a MIDI instrument) that was previously downloaded by a call to IDirectMusicSynth::Download.

Requirements

Requirement Value
Target Platform Windows
Header dmusics.h