MMidiCustomCommandImplementor Class Reference

#include <mmf/common/midistandardcustomcommands.h>

class MMidiCustomCommandImplementor
Public Member Functions
pure virtual voidMmcChannelVolumeL(TInt, TReal32 &)
pure virtual voidMmcChannelsSupportedL(TInt &)
pure virtual voidMmcCloseL()
pure virtual voidMmcCustomBankLoadedL(TInt, TBool &)
pure virtual voidMmcDurationMicroBeatsL(TInt64 &)
pure virtual voidMmcGetBalanceL(TInt &)
pure virtual voidMmcGetBankIdL(TBool, TInt, TInt &)
pure virtual voidMmcGetInstrumentIdL(TInt, TBool, TInt, TInt &)
pure virtual voidMmcGetInstrumentL(TInt, TInt &, TInt &)
pure virtual voidMmcGetRepeatsL(TInt &)
pure virtual const TDesC &MmcInstrumentNameL(TInt, TBool, TInt)
pure virtual voidMmcIsChannelMuteL(TInt, TBool &)
pure virtual voidMmcIsTrackMuteL(TInt, TBool &)
pure virtual voidMmcLoadCustomBankDataL(const TDesC8 &, TInt &)
pure virtual voidMmcLoadCustomBankL(const TDesC &, TInt &)
pure virtual voidMmcLoadCustomInstrumentDataL(const TDesC8 &, TInt, TInt, TInt, TInt)
pure virtual voidMmcLoadCustomInstrumentL(const TDesC &, TInt, TInt, TInt, TInt)
pure virtual voidMmcMaxChannelVolumeL(TReal32 &)
pure virtual voidMmcMaxPlaybackRateL(TInt &)
pure virtual voidMmcMaxPolyphonyL(TInt &)
pure virtual voidMmcMaxVolumeL(TInt &)
pure virtual voidMmcMimeTypeL(TDes8 &)
pure virtual voidMmcMinPlaybackRateL(TInt &)
pure virtual voidMmcNoteOffL(TInt, TInt, TInt)
pure virtual voidMmcNoteOnL(TInt, TInt, TInt)
pure virtual voidMmcNumTracksL(TInt &)
pure virtual voidMmcNumberOfBanksL(TBool, TInt &)
pure virtual voidMmcNumberOfInstrumentsL(TInt, TBool, TInt &)
pure virtual const TDesC &MmcPercussionKeyNameL(TInt, TInt, TBool, TInt)
pure virtual voidMmcPitchTranspositionCentsL(TInt &)
pure virtual voidMmcPlayNoteL(TInt, TInt, const TTimeIntervalMicroSeconds &, TInt, TInt)
pure virtual voidMmcPlayNoteL(TInt, TInt, const TTimeIntervalMicroSeconds &, const TTimeIntervalMicroSeconds &, TInt, TInt)
pure virtual voidMmcPlaybackRateL(TInt &)
pure virtual voidMmcPolyphonyL(TInt &)
pure virtual voidMmcPositionMicroBeatsL(TInt64 &)
pure virtual voidMmcSendMessageL(const TDesC8 &, TInt &)
pure virtual voidMmcSendMessageL(const TDesC8 &, const TTimeIntervalMicroSeconds &, TInt &)
pure virtual voidMmcSendMipMessageL(const TArray< TMipMessageEntry > &)
pure virtual voidMmcSetBalanceL(TInt)
pure virtual voidMmcSetBankL(TBool)
pure virtual voidMmcSetChannelMuteL(TInt, TBool)
pure virtual voidMmcSetChannelVolumeL(TInt, TReal32)
pure virtual voidMmcSetInstrumentL(TInt, TInt, TInt)
pure virtual voidMmcSetMaxPolyphonyL(TInt)
pure virtual voidMmcSetPitchTranspositionL(TInt, TInt &)
pure virtual voidMmcSetPlaybackRateL(TInt)
pure virtual voidMmcSetPositionMicroBeatsL(TInt64)
pure virtual voidMmcSetRepeatsL(TInt, const TTimeIntervalMicroSeconds &)
pure virtual voidMmcSetStopTimeL(const TTimeIntervalMicroSeconds &)
pure virtual voidMmcSetSyncUpdateCallbackIntervalL(const TTimeIntervalMicroSeconds &, TInt64)
pure virtual voidMmcSetTempoL(TInt)
pure virtual voidMmcSetTrackMuteL(TInt, TBool)
pure virtual voidMmcSetVolumeL(TInt)
pure virtual voidMmcSetVolumeRampL(const TTimeIntervalMicroSeconds &)
pure virtual voidMmcStopL(const TTimeIntervalMicroSeconds &)
pure virtual voidMmcStopNotesL(TInt)
pure virtual voidMmcStopTimeL(TTimeIntervalMicroSeconds &)
pure virtual voidMmcTempoMicroBeatsPerMinuteL(TInt &)
pure virtual voidMmcUnloadAllCustomBanksL()
pure virtual voidMmcUnloadCustomBankL(TInt)
pure virtual voidMmcUnloadCustomInstrumentL(TInt, TInt)
pure virtual voidMmcVolumeL(TInt &)

Detailed Description

Mixin class to be derived from by controller plugins wishing to support the MIDI controller custom commands.

Member Function Documentation

MmcChannelVolumeL ( TInt, TReal32 & )

voidMmcChannelVolumeL(TIntaChannel,
TReal32 &aChannelVol
)[pure virtual]

Get the current volume setting of a logical channel.

Parameters
aChannelLogical channel to query. 0 <= aChannel <= 15.
aChannelVolVolume currently set on the specified channel in decibels.

MmcChannelsSupportedL ( TInt & )

voidMmcChannelsSupportedL(TInt &aChannels)[pure virtual]

Get the maximum number of logical channels supported by the MIDI engine.

Parameters
aChannelsThe maximum number of logical channels that the MIDI engine supports, 0 <= aChannels <=15.

MmcCloseL ( )

voidMmcCloseL()[pure virtual]

Closes any currently open resources, such as files, descriptors or URLs in use. Does nothing if there is nothing currently open.

MmcCustomBankLoadedL ( TInt, TBool & )

voidMmcCustomBankLoadedL(TIntaBankId,
TBool &aBankLoaded
)[pure virtual]

Query if a bank has been loaded to the memory.

Parameters
aBankIdIdentifier of the custom sound bank to check if it's in memory or not.
aBankLoadedETrue if the specified bank is in memory, EFalse otherwise.

MmcDurationMicroBeatsL ( TInt64 & )

voidMmcDurationMicroBeatsL(TInt64 &aDuration)[pure virtual]

Gets the length of the currently open MIDI resource in micro-beats

Parameters
aDurationDuration in microbeats (beats * 1000000).

MmcGetBalanceL ( TInt & )

voidMmcGetBalanceL(TInt &aBalance)[pure virtual]

Get the current stereo balance value.

Parameters
aBalanceBalance value ranging from KMMFBalanceMaxLeft to KMMFBalanceMaxRight.

MmcGetBankIdL ( TBool, TInt, TInt & )

voidMmcGetBankIdL(TBoolaCustom,
TIntaBankIndex,
TInt &aBankId
)[pure virtual]

Gets the identifier of a sound bank. Bank identifier (aka bank number) is a 14-bit value consisting of MIDI bank MSB and LSB values.

Parameters
aCustomSpecifies whether to reference a custom or standard sound bank.
aBankIndexIndex of sound bank where 0 <= aBankIndex < NumberOfBanks().
aBankIdIdentifier of the specified bank occupying, at most, 14 bits.

MmcGetInstrumentIdL ( TInt, TBool, TInt, TInt & )

voidMmcGetInstrumentIdL(TIntaBankId,
TBoolaCustom,
TIntaInstrumentIndex,
TInt &aInstrumentId
)[pure virtual]

Gets the identifier of an instrument.

Parameters
aBankIdIdentifier of the sound bank to reference, occupying no more than 14 bits.
aCustomSpecifies whether to reference a custom or standard sound bank.
aInstrumentIndexIndex of the instrument to reference where 0 <= aInstrumentIndex < NumberOfInstrumentsL().
aInstrumentIdIdentifier of specified instrument. This may differ from the index since the index simply enumerates the instruments, whereas identifiers may not be contiguous, especially where certain instruments correspond to General MIDI-defined instruments but not all instruments are present. Instrument identifiers are between 0 and 127 inclusive.

MmcGetInstrumentL ( TInt, TInt &, TInt & )

voidMmcGetInstrumentL(TIntaChannel,
TInt &aInstrumentId,
TInt &aBankId
)[pure virtual]

Gets the instrument assigned to a specified channel.

Parameters
aChannelLogical channel, 0 <= aChannel <= 15.
aInstrumentIdIdentifier of the instrument assigned to aChannel. 0 <= aInstrumentId <= 127.
aBankIdIdentifier of the bank that the instrument belongs to, occupying no more than 14 bits.

MmcGetRepeatsL ( TInt & )

voidMmcGetRepeatsL(TInt &aNumRepeats)[pure virtual]

Gets the number of times the current opened resources have to be repeated.

Parameters
aNumRepeatsThe number of time the current opened resources have to be repeated.

MmcInstrumentNameL ( TInt, TBool, TInt )

const TDesC &MmcInstrumentNameL(TIntaBankId,
TBoolaCustom,
TIntaInstrumentId
)[pure virtual]

Gets the name of the given instrument.

Parameters
aBankIdIdentifier of the bank that the instrument belongs to, occupying no more than 14 bits.
aCustomSpecifies whether to reference a custom or standard sound bank.
aInstrumentIdIdentifier of the instrument under scrutiny. 0 <= aInstrumentId <= 127.
Return Value
Buffer containing the name of the specified instrument. If it has no name then an empty descriptor is returned.

MmcIsChannelMuteL ( TInt, TBool & )

voidMmcIsChannelMuteL(TIntaChannel,
TBool &aChannelMute
)[pure virtual]

Gets the muting status of a specific channel.

Parameters
aChannelThe channel to query.
aChannelMuteThe mute status of the channel.

MmcIsTrackMuteL ( TInt, TBool & )

voidMmcIsTrackMuteL(TIntaTrack,
TBool &aTrackMute
)[pure virtual]

Gets the muting status of a specific track.

Parameters
aTrackThe track to query.
aTrackMuteThe mute status of the track.

MmcLoadCustomBankDataL ( const TDesC8 &, TInt & )

voidMmcLoadCustomBankDataL(const TDesC8 &aBankData,
TInt &aBankId
)[pure virtual]

Loads one or more custom sound banks from a descriptor into memory for use. If several banks are loaded with consequent LoadCustomBanksL() function calls, the banks are combined if the bank sets have conflicting bank numbers.

Parameters
aBankDataDescriptor containing the custom sound bank.
aBankIdIdentifier of the custom sound bank loaded, occupying no more than 14 bits.

MmcLoadCustomBankL ( const TDesC &, TInt & )

voidMmcLoadCustomBankL(const TDesC &aFileName,
TInt &aBankId
)[pure virtual]

Loads one or more custom sound banks from a file into memory for use. If several banks are loaded with consequent LoadCustomBanksL() function calls, the banks are combined if the bank sets have conflicting bank numbers.

Parameters
aFileNameName of the file containing the custom sound bank.
aBankIdIdentifier of the custom sound bank loaded, occupying no more than 14 bits.

MmcLoadCustomInstrumentDataL ( const TDesC8 &, TInt, TInt, TInt, TInt )

voidMmcLoadCustomInstrumentDataL(const TDesC8 &aInstrumentData,
TIntaBankDataId,
TIntaInstrumentDataId,
TIntaMemoryBankId,
TIntaMemoryInstrumentId
)[pure virtual]

Loads an individual instrument from descriptor into custom sound bank memory for use. The bank and instrument ids given in the descriptor can be mapped into different bank and instrument ids in memory.

Parameters
aInstrumentDataDescriptor containing the instrument.
aBankDataIdIdentifier of the bank in the descriptor from which to load the instrument, occupying no more than 14 bits.
aInstrumentDataIdIdentifier of the instrument to load. 0 <= aInstrumentId <= 127.
aMemoryBankIdIdentifier of the custom bank in memory to load the instrument into, occupying no more than 14 bits.
aMemoryInstrumentIdIdentifier of the instrument in memory to load the new instrument into. 0 <= aInstrumentId <= 127.

MmcLoadCustomInstrumentL ( const TDesC &, TInt, TInt, TInt, TInt )

voidMmcLoadCustomInstrumentL(const TDesC &aFileName,
TIntaFileBankId,
TIntaFileInstrumentId,
TIntaMemoryBankId,
TIntaMemoryInstrumentId
)[pure virtual]

Loads an individual instrument from file into custom sound bank memory for use. The bank and instrument ids given in the file can be mapped into different bank and instrument ids in memory.

Parameters
aFileNameName of the file containing the instrument.
aFileBankIdIdentifier of the bank in the file from which to load the instrument, occupying no more than 14 bits.
aFileInstrumentIdIdentifier of the instrument to load. 0 <= aInstrumentId <= 127.
aMemoryBankIdIdentifier of the custom bank in memory to load the instrument into, occupying no more than 14 bits.
aMemoryInstrumentIdIdentifier of the instrument in memory to load the new instrument into. 0 <= aInstrumentId <= 127.

MmcMaxChannelVolumeL ( TReal32 & )

voidMmcMaxChannelVolumeL(TReal32 &aMaxVol)[pure virtual]

Gets the Maximum volume setting that may be applied to a logical channel.

Parameters
aMaxVolMaximum volume setting. Minimum value is -infinity dB, which is the smallest possible value that TReal32 supports.

MmcMaxPlaybackRateL ( TInt & )

voidMmcMaxPlaybackRateL(TInt &aMaxRate)[pure virtual]

Gets the maximum playback rate in milli-percentage from the MIDI engine.

See also: SetPlaybackRate() for milli-percentage details.

Parameters
aMaxRatePlayback rate supported by MIDI player.

MmcMaxPolyphonyL ( TInt & )

voidMmcMaxPolyphonyL(TInt &aMaxNotes)[pure virtual]

Gets the max polyphony level the engine can handle.

MmcMaxVolumeL ( TInt & )

voidMmcMaxVolumeL(TInt &aMaxVolume)[pure virtual]

Maximum volume setting that may be applied overall.

Parameters
aMaxVolumeMaximum volume setting. Minimum value is always zero which is silent.

MmcMimeTypeL ( TDes8 & )

voidMmcMimeTypeL(TDes8 &aMimeType)[pure virtual]

Gets the MIME type of the MIDI resource currently open.

Parameters
aMimeTypeDescriptor containing the MIDI mime type.

MmcMinPlaybackRateL ( TInt & )

voidMmcMinPlaybackRateL(TInt &aMinRate)[pure virtual]

Gets the minimum playback rate in milli-percentage from the MIDI engine.

See also: SetPlaybackRate() for milli-percentage details.

Parameters
aMinRateMinimum playback rate supported by MIDI player.

MmcNoteOffL ( TInt, TInt, TInt )

voidMmcNoteOffL(TIntaChannel,
TIntaNote,
TIntaVelocity
)[pure virtual]

Synchronous function to terminate playback of a note. If no corresponding note is found then no error is raised

Parameters
aChannelLogical channel on which the note is playing. 0 <= aChannel <= 15.
aNoteNote to terminate. 0 <= aNote <= 127.
aVelocityVelocity with which to stop the note. 0 <= aVelocity <= 127. There is no standard behaviour corresponding with note off velocity.

MmcNoteOnL ( TInt, TInt, TInt )

voidMmcNoteOnL(TIntaChannel,
TIntaNote,
TIntaVelocity
)[pure virtual]

Synchronous function to commence playback of a note. Multiple calls to this function will be accommodated as far as the MIDI engine can manage

Parameters
aChannelLogical channel to play note on. 0 <= aChannel <= 15.
aNoteNote to play. 0 <= aNote <= 127.
aVelocityVelocity with which to start the note. The legal integer range is 0 <= aVelocity <= 127, but the value zero actually causes the message to be interpreted as a Note Off message instead of a Note On.

MmcNumTracksL ( TInt & )

voidMmcNumTracksL(TInt &aTracks)[pure virtual]

Gets the number of tracks present in the currently open MIDI resource.

Parameters
aTracksNumber of tracks.

MmcNumberOfBanksL ( TBool, TInt & )

voidMmcNumberOfBanksL(TBoolaCustom,
TInt &aNumBanks
)[pure virtual]

Gets the number of standard or custom sound banks currently available.

Parameters
aCustomSpecifies whether to reference a custom or standard sound bank.
aNumBanksNumber of custom or standard sound banks available.

MmcNumberOfInstrumentsL ( TInt, TBool, TInt & )

voidMmcNumberOfInstrumentsL(TIntaBankId,
TBoolaCustom,
TInt &aNumInstruments
)[pure virtual]

Gets the number of instruments available in a given sound bank.

Parameters
aBankIdIdentifier of sound bank to reference, occupying no more than 14 bits.
aCustomSpecifies whether to reference a custom or standard sound bank.
aNumInstrumentsCount of the number of instruments available for the specified sound bank.

MmcPercussionKeyNameL ( TInt, TInt, TBool, TInt )

const TDesC &MmcPercussionKeyNameL(TIntaNote,
TIntaBankId,
TBoolaCustom,
TIntaInstrumentId
)[pure virtual]

Gets the name of a particular percussion key corresponding to a given note.

Parameters
aNoteNote to query. 0 <= aNote <= 127.
aBankIdIdentifier of the bank that the instrument belongs to, occupying no more than 14 bits. The bank ID is a concatenation of MIDI bank MSB and LSB values.
aCustomSpecifies whether to reference a custom or standard sound bank.
aInstrumentIdIdentifier of an instrument.
Return Value
Descriptor containing the name of the percussion key. If the key does not have a name then an empty descriptor is returned.

MmcPitchTranspositionCentsL ( TInt & )

voidMmcPitchTranspositionCentsL(TInt &aPitch)[pure virtual]

Gets the pitch shift in use for the currently open MIDI resource.

Parameters
aPitchShift in cents, i.e. semitones * 100. One octave equals 1200 cents.
Return Value
One of the system-wide error codes.

MmcPlayNoteL ( TInt, TInt, const TTimeIntervalMicroSeconds &, TInt, TInt )

voidMmcPlayNoteL(TIntaChannel,
TIntaNote,
const TTimeIntervalMicroSeconds &aDuration,
TIntaNoteOnVelocity,
TIntaNoteOffVelocity
)[pure virtual]

Synchronous function to play a single note. Multiple calls to this function will be accommodated as far as the MIDI engine can manage. The same functionality could be implemented using the SendMessage function

Parameters
aChannelLogical channel to play note on. 0 <= aChannel <= 15.
aNoteNote to play. 0 <= aNote <= 127
aDurationLength of time to play note for.
aNoteOnVelocityVelocity with which to start the note. 0 <= aNoteOnVelocity <= 127.
aNoteOffVelocityVelocity with which to stop the note. 0 <= aNoteOffVelocity <= 127.

MmcPlayNoteL ( TInt, TInt, const TTimeIntervalMicroSeconds &, const TTimeIntervalMicroSeconds &, TInt, TInt )

voidMmcPlayNoteL(TIntaChannel,
TIntaNote,
const TTimeIntervalMicroSeconds &aStartTime,
const TTimeIntervalMicroSeconds &aDuration,
TIntaNoteOnVelocity,
TIntaNoteOffVelocity
)[pure virtual]

Synchronous function to play a single note at a specified time. Multiple calls to this function will be accommodated as far as the MIDI engine can manage. The same functionality could be implemented using the SendMessage function

Parameters
aChannelLogical channel to play note on. 0 <= aChannel <= 15.
aNoteNote to play. 0 <= aNote <= 127
aStartTimeSpecifies the time at which to start playing the note, relative to the MIDI resource playing time or the time elapsed since Play() was called if no resource is present.
aDurationLength of time to play note for.
aNoteOnVelocityVelocity with which to start the note. 0 <= aNoteOnVelocity <= 127.
aNoteOffVelocityVelocity with which to stop the note. 0 <= aNoteOffVelocity <= 127.

MmcPlaybackRateL ( TInt & )

voidMmcPlaybackRateL(TInt &aPlayBackRate)[pure virtual]

Gets the current playback rate factor of the currently open MIDI resource. The playback rate is independent from tempo, i.e., it can be used to give an overall speed factor for playback.

Parameters
aPlayBackRateCurrent playback rate in percent times 1000, i.e., 100000 means original playback speed, 200000 means double speed, and 50000 means half speed playback.

MmcPolyphonyL ( TInt & )

voidMmcPolyphonyL(TInt &aNumNotes)[pure virtual]

Gets the number of currently active voices.

Parameters
aNumNotesThe number of currently active voices.

MmcPositionMicroBeatsL ( TInt64 & )

voidMmcPositionMicroBeatsL(TInt64 &aMicroBeats)[pure virtual]

Gets the current metrical position of the MIDI resource being played

Parameters
aMicroBeats(BPM*1000000) relative to the start of the resource

MmcSendMessageL ( const TDesC8 &, TInt & )

voidMmcSendMessageL(const TDesC8 &aMidiMessage,
TInt &aBytes
)[pure virtual]

Sends a single MIDI message to the MIDI engine.

Parameters
aMidiMessageDescriptor containing the MIDI message data. If there are several MIDI messages in the buffer, only the first one is processed.
aBytesNumber of bytes of the message buffer actually processed.

MmcSendMessageL ( const TDesC8 &, const TTimeIntervalMicroSeconds &, TInt & )

voidMmcSendMessageL(const TDesC8 &aMidiMessage,
const TTimeIntervalMicroSeconds &aTime,
TInt &aBytes
)[pure virtual]

Sends a single MIDI message, with time stamp, to the MIDI engine.

Parameters
aMidiMessageDescriptor containing the MIDI message data. If there are several MIDI messages in the buffer, only the first one is processed.
aTimeThe time at which to execute the message, relative to the MIDI resource playing time or the time elapsed since Play() was called if no resource is present.
aBytesNumber of bytes of the message buffer actually processed.

MmcSendMipMessageL ( const TArray< TMipMessageEntry > & )

voidMmcSendMipMessageL(const TArray< TMipMessageEntry > &aEntry)[pure virtual]

Sends a mip message to the MIDI engine. This is a convenience function, because the same functionality could be achieved with the SendMessage() function.

Parameters
aEntryArray of logical {channel, MIP} value pairs to send, highest priority first.

MmcSetBalanceL ( TInt )

voidMmcSetBalanceL(TIntaBalance)[pure virtual]

Set the current stereo balance value.

Parameters
aBalanceBalance value to set. Defaults to KMMFBalanceCenter to restore equal left-right balance.

MmcSetBankL ( TBool )

voidMmcSetBankL(TBoolaCustom)[pure virtual]

Tell the MIDI engine to use a custom bank or a standard bank.

Parameters
aCustomIf Etrue the custom bank in memory is used otherwise the standard bank is used leaving the custom bank in memory.

MmcSetChannelMuteL ( TInt, TBool )

voidMmcSetChannelMuteL(TIntaChannel,
TBoolaMuted
)[pure virtual]

Set the muting state of a channel without changing its volume setting. When unmuted the channel goes back to its previous volume setting.

Parameters
aChannelLogical channel to set the mute state of. 0 <= aChannel <= 15.
aMutedETrue to mute the channel, EFalse to unmute it.

MmcSetChannelVolumeL ( TInt, TReal32 )

voidMmcSetChannelVolumeL(TIntaChannel,
TReal32aVolume
)[pure virtual]

Set the volume of a channel.

Parameters
aChannelLogical channel to set the volume on. 0 <= aChannel <= 15.
aVolumeThe channel volume can be set within a range. The minimum channel volume is -infinity dB, which is the smallest possible value that TReal32 supports while the maximum channel volume is set via MaxVolumeL() which represents the volume level in dB corresponding to the MIDI Channel Volume controller.

MmcSetInstrumentL ( TInt, TInt, TInt )

voidMmcSetInstrumentL(TIntaChannel,
TIntaBankId,
TIntaInstrumentId
)[pure virtual]

Sets a logical channel to use the given instrument.

Parameters
aChannelLogical channel to set the instrument for. 0 <= aChannel <= 15.
aBankIdIdentifier of the bank that the instrument belongs to, occupying no more than 14 bits. The bank ID is a concatenation of MIDI bank MSB and LSB values.
aInstrumentIdIdentifier of the instrument under scrutiny. 0 <= aInstrumentId <= 127.

MmcSetMaxPolyphonyL ( TInt )

voidMmcSetMaxPolyphonyL(TIntaMaxNotes)[pure virtual]

Set the max polyphony level the engine can handle.

Parameters
aMaxNotesMax polyphony level, 0 <= PolyphonyL() <= aMaxNotes.

MmcSetPitchTranspositionL ( TInt, TInt & )

voidMmcSetPitchTranspositionL(TIntaCents,
TInt &aCentsApplied
)[pure virtual]

Sets the pitch shift to apply to the currently open MIDI resource. May be called during playback.

Parameters
aCentsPitch shift in cents, i.e. semitones * 100. One octave equals 1200 cents.
aCentsAppliedActual pitch shift applied - may differ from the requested value due to limitations of the MIDI engine.

MmcSetPlaybackRateL ( TInt )

voidMmcSetPlaybackRateL(TIntaPlayBackRate)[pure virtual]

Sets the playback rate for the playback of the current MIDI resource. The playback rate is independent from tempo, i.e., it can be used to give an overall speed factor for playback. May be called whether playback is in progress or not.

Parameters
aPlayBackRatePlayback rate in percent times 1000, i.e., 100000 means original playback speed, 200000 means double speed, and 50000 means half speed playback.

MmcSetPositionMicroBeatsL ( TInt64 )

voidMmcSetPositionMicroBeatsL(TInt64aMicroBeats)[pure virtual]

Change the position of the currently playing MIDI resource to the given position. May be called whenever a MIDI resource is open.

Parameters
aMicroBeatsMetrical position to move to. Clamped to (0, DurationMicroBeats()).

MmcSetRepeatsL ( TInt, const TTimeIntervalMicroSeconds & )

voidMmcSetRepeatsL(TIntaRepeatNumberOfTimes,
const TTimeIntervalMicroSeconds &aTrailingSilence
)[pure virtual]

Set the number of times to repeat the current MIDI resource. After Stop() has been called, repeat number of times and the trailing silence are reset.

Parameters
aRepeatNumberOfTimesNumber of times to repeat the resource during playback. This includes the first playing.
aTrailingSilenceTime in microseconds to pause between repeats.

MmcSetStopTimeL ( const TTimeIntervalMicroSeconds & )

voidMmcSetStopTimeL(const TTimeIntervalMicroSeconds &aStopTime)[pure virtual]

Sets the stop time to use for the currently open MIDI resource

Parameters
aStopTimeTime at which playback will stop, relative to the start of the resource. Clamped to 0 and the duration of the resource.

MmcSetSyncUpdateCallbackIntervalL ( const TTimeIntervalMicroSeconds &, TInt64 )

voidMmcSetSyncUpdateCallbackIntervalL(const TTimeIntervalMicroSeconds &aMicroSeconds,
TInt64aMicroBeats = 0
)[pure virtual]

Sets the frequency at which MMIDIClientUtilityObserver::MmcuoSyncUpdateL() is called to allow other components to synchronise with playback of this MIDI resource.

Parameters
aMicroSecondsTemporal interval to callback at. Used in preference to aMicroBeats if both are set.
aMicroBeatsMetrical interval to callback at. Set both parameters to zero to cancel.

MmcSetTempoL ( TInt )

voidMmcSetTempoL(TIntaMicroBeatsPerMinute)[pure virtual]

Sets the tempo at which the current MIDI resource should be played. May be called whether playback is in progress or not. The tempo is independent from the playback rate, i.e., the resulting playback speed will be affected by both.

Parameters
aMicroBeatsPerMinuteTempo in microbeats per minute (BPM*1000000) to set.

MmcSetTrackMuteL ( TInt, TBool )

voidMmcSetTrackMuteL(TIntaTrack,
TBoolaMuted
)[pure virtual]

Mutes or unmutes a particular track.

Parameters
aTrackIndex of the track to mute - 0 <= aTrack < NumTracks().
aMutedETrue to mute the track, EFalse to unmute it.

MmcSetVolumeL ( TInt )

voidMmcSetVolumeL(TIntaVolume)[pure virtual]

Set the overall volume of the MIDI client. This setting scales all channel volumes respectively so the actual volume that a channel is played at becomes (overall volume * channel volume / max volume).

Parameters
aVolumeOverall volume setting to use.

MmcSetVolumeRampL ( const TTimeIntervalMicroSeconds & )

voidMmcSetVolumeRampL(const TTimeIntervalMicroSeconds &aRampDuration)[pure virtual]

Length of time over which the volume is faded up from zero to the current settings when playback is started.

Parameters
aRampDurationDuration of the ramping period.

MmcStopL ( const TTimeIntervalMicroSeconds & )

voidMmcStopL(const TTimeIntervalMicroSeconds &aFadeOutDuration)[pure virtual]

Stops playback of a resource but does not change the current position or release any resources. Pauses the internal timer if no resource is open.

Parameters
aFadeOutDurationLength of time over which the volume is faded out from the current settings to zero.

MmcStopNotesL ( TInt )

voidMmcStopNotesL(TIntaChannel)[pure virtual]

Stops the playback of all notes on the given channel, by means of an All Notes Off MIDI message

Parameters
aChannelLogical channel to stop notes on. 0 <= aChannel <= 15

MmcStopTimeL ( TTimeIntervalMicroSeconds & )

voidMmcStopTimeL(TTimeIntervalMicroSeconds &aStopTime)[pure virtual]

Get the stop time currently set for the MIDI resource.

Parameters
aStopTimeTime at which playback will stop, relative to the start of the resource.
Return Value
Descriptor containing the name of the percussion key. If the key does not have a name then an empty descriptor is returned.

MmcTempoMicroBeatsPerMinuteL ( TInt & )

voidMmcTempoMicroBeatsPerMinuteL(TInt &aMicroBeatsPerMinute)[pure virtual]

Gets the current tempo of the currently open MIDI resource. The tempo is independent from the playback rate, i.e., the resulting playback speed will be affected by both.

Parameters
aMicroBeatsPerMinuteTempo at the current position of the currently open resource in microbeats per minute, i.e. BPM * 1000000. Filled in by the controller framework.

MmcUnloadAllCustomBanksL ( )

voidMmcUnloadAllCustomBanksL()[pure virtual]

Removes all custom sound banks from memory.

MmcUnloadCustomBankL ( TInt )

voidMmcUnloadCustomBankL(TIntaBankId)[pure virtual]

Removes a custom sound bank from memory. Only valid for sound banks previously loaded from file. Once unloaded the custom sound bank is no longer available for use.

Parameters
aBankIdIdentifier of the custom sound bank to unload,occupying no more than 14 bits.

MmcUnloadCustomInstrumentL ( TInt, TInt )

voidMmcUnloadCustomInstrumentL(TIntaCustomBankId,
TIntaInstrumentId
)[pure virtual]

Removes an instrument from custom sound bank memory. Only valid for instruments previously loaded from file. Once unloaded the instrument is no longer available for use.

Parameters
aCustomBankIdIdentifier of the custom sound bank containing the instrument to unload, occupying no more than 14 bits.
aInstrumentIdIdentifier of the instrument to unload. 0 <= aInstrumentId <= 127.

MmcVolumeL ( TInt & )

voidMmcVolumeL(TInt &aVolume)[pure virtual]

Gets the overall volume of the MIDI client.

Parameters
aVolumeThe current overall volume setting.