MMidiCustomCommandImplementor Class Reference

class MMidiCustomCommandImplementor

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

Public Member Functions
void MmcChannelVolumeL ( TInt , TReal32 &)
void MmcChannelsSupportedL ( TInt &)
void MmcCloseL ()
void MmcCustomBankLoadedL ( TInt , TBool &)
void MmcDurationMicroBeatsL ( TInt64 &)
void MmcGetBalanceL ( TInt &)
void MmcGetBankIdL ( TBool , TInt , TInt &)
void MmcGetInstrumentIdL ( TInt , TBool , TInt , TInt &)
void MmcGetInstrumentL ( TInt , TInt &, TInt &)
void MmcGetRepeatsL ( TInt &)
const TDesC & MmcInstrumentNameL ( TInt , TBool , TInt )
void MmcIsChannelMuteL ( TInt , TBool &)
void MmcIsTrackMuteL ( TInt , TBool &)
void MmcLoadCustomBankDataL (const TDesC8 &, TInt &)
void MmcLoadCustomBankL (const TDesC &, TInt &)
void MmcLoadCustomInstrumentDataL (const TDesC8 &, TInt , TInt , TInt , TInt )
void MmcLoadCustomInstrumentL (const TDesC &, TInt , TInt , TInt , TInt )
void MmcMaxChannelVolumeL ( TReal32 &)
void MmcMaxPlaybackRateL ( TInt &)
void MmcMaxPolyphonyL ( TInt &)
void MmcMaxVolumeL ( TInt &)
void MmcMimeTypeL ( TDes8 &)
void MmcMinPlaybackRateL ( TInt &)
void MmcNoteOffL ( TInt , TInt , TInt )
void MmcNoteOnL ( TInt , TInt , TInt )
void MmcNumTracksL ( TInt &)
void MmcNumberOfBanksL ( TBool , TInt &)
void MmcNumberOfInstrumentsL ( TInt , TBool , TInt &)
const TDesC & MmcPercussionKeyNameL ( TInt , TInt , TBool , TInt )
void MmcPitchTranspositionCentsL ( TInt &)
void MmcPlayNoteL ( TInt , TInt , const TTimeIntervalMicroSeconds &, TInt , TInt )
void MmcPlayNoteL ( TInt , TInt , const TTimeIntervalMicroSeconds &, const TTimeIntervalMicroSeconds &, TInt , TInt )
void MmcPlaybackRateL ( TInt &)
void MmcPolyphonyL ( TInt &)
void MmcPositionMicroBeatsL ( TInt64 &)
void MmcSendMessageL (const TDesC8 &, TInt &)
void MmcSendMessageL (const TDesC8 &, const TTimeIntervalMicroSeconds &, TInt &)
void MmcSendMipMessageL (const TArray < TMipMessageEntry > &)
void MmcSetBalanceL ( TInt )
void MmcSetBankL ( TBool )
void MmcSetChannelMuteL ( TInt , TBool )
void MmcSetChannelVolumeL ( TInt , TReal32 )
void MmcSetInstrumentL ( TInt , TInt , TInt )
void MmcSetMaxPolyphonyL ( TInt )
void MmcSetPitchTranspositionL ( TInt , TInt &)
void MmcSetPlaybackRateL ( TInt )
void MmcSetPositionMicroBeatsL ( TInt64 )
void MmcSetRepeatsL ( TInt , const TTimeIntervalMicroSeconds &)
void MmcSetStopTimeL (const TTimeIntervalMicroSeconds &)
void MmcSetSyncUpdateCallbackIntervalL (const TTimeIntervalMicroSeconds &, TInt64 )
void MmcSetTempoL ( TInt )
void MmcSetTrackMuteL ( TInt , TBool )
void MmcSetVolumeL ( TInt )
void MmcSetVolumeRampL (const TTimeIntervalMicroSeconds &)
void MmcStopL (const TTimeIntervalMicroSeconds &)
void MmcStopNotesL ( TInt )
void MmcStopTimeL ( TTimeIntervalMicroSeconds &)
void MmcTempoMicroBeatsPerMinuteL ( TInt &)
void MmcUnloadAllCustomBanksL ()
void MmcUnloadCustomBankL ( TInt )
void MmcUnloadCustomInstrumentL ( TInt , TInt )
void MmcVolumeL ( TInt &)

Member Functions Documentation

MmcChannelVolumeL(TInt, TReal32 &)

void MmcChannelVolumeL ( TInt aChannel,
TReal32 & aChannelVol
) [pure virtual]

Get the current volume setting of a logical channel.

Parameters

TInt aChannel Logical channel to query. 0 <= aChannel <= 15.
TReal32 & aChannelVol Volume currently set on the specified channel in decibels.

MmcChannelsSupportedL(TInt &)

void MmcChannelsSupportedL ( TInt & aChannels ) [pure virtual]

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

Parameters

TInt & aChannels The maximum number of logical channels that the MIDI engine supports, 0 <= aChannels <=15.

MmcCloseL()

void MmcCloseL ( ) [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 &)

void MmcCustomBankLoadedL ( TInt aBankId,
TBool & aBankLoaded
) [pure virtual]

Query if a bank has been loaded to the memory.

Parameters

TInt aBankId Identifier of the custom sound bank to check if it's in memory or not.
TBool & aBankLoaded ETrue if the specified bank is in memory, EFalse otherwise.

MmcDurationMicroBeatsL(TInt64 &)

void MmcDurationMicroBeatsL ( TInt64 & aDuration ) [pure virtual]

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

Parameters

TInt64 & aDuration Duration in microbeats (beats * 1000000).

MmcGetBalanceL(TInt &)

void MmcGetBalanceL ( TInt & aBalance ) [pure virtual]

Get the current stereo balance value.

Parameters

TInt & aBalance Balance value ranging from KMMFBalanceMaxLeft to KMMFBalanceMaxRight.

MmcGetBankIdL(TBool, TInt, TInt &)

void MmcGetBankIdL ( TBool aCustom,
TInt aBankIndex,
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

TBool aCustom Specifies whether to reference a custom or standard sound bank.
TInt aBankIndex Index of sound bank where 0 <= aBankIndex < NumberOfBanks().
TInt & aBankId Identifier of the specified bank occupying, at most, 14 bits.

MmcGetInstrumentIdL(TInt, TBool, TInt, TInt &)

void MmcGetInstrumentIdL ( TInt aBankId,
TBool aCustom,
TInt aInstrumentIndex,
TInt & aInstrumentId
) [pure virtual]

Gets the identifier of an instrument.

Parameters

TInt aBankId Identifier of the sound bank to reference, occupying no more than 14 bits.
TBool aCustom Specifies whether to reference a custom or standard sound bank.
TInt aInstrumentIndex Index of the instrument to reference where 0 <= aInstrumentIndex < NumberOfInstrumentsL().
TInt & aInstrumentId Identifier 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 &)

void MmcGetInstrumentL ( TInt aChannel,
TInt & aInstrumentId,
TInt & aBankId
) [pure virtual]

Gets the instrument assigned to a specified channel.

Parameters

TInt aChannel Logical channel, 0 <= aChannel <= 15.
TInt & aInstrumentId Identifier of the instrument assigned to aChannel. 0 <= aInstrumentId <= 127.
TInt & aBankId Identifier of the bank that the instrument belongs to, occupying no more than 14 bits.

MmcGetRepeatsL(TInt &)

void MmcGetRepeatsL ( TInt & aNumRepeats ) [pure virtual]

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

Parameters

TInt & aNumRepeats The number of time the current opened resources have to be repeated.

MmcInstrumentNameL(TInt, TBool, TInt)

const TDesC & MmcInstrumentNameL ( TInt aBankId,
TBool aCustom,
TInt aInstrumentId
) [pure virtual]

Gets the name of the given instrument.

Parameters

TInt aBankId Identifier of the bank that the instrument belongs to, occupying no more than 14 bits.
TBool aCustom Specifies whether to reference a custom or standard sound bank.
TInt aInstrumentId Identifier of the instrument under scrutiny. 0 <= aInstrumentId <= 127.

MmcIsChannelMuteL(TInt, TBool &)

void MmcIsChannelMuteL ( TInt aChannel,
TBool & aChannelMute
) [pure virtual]

Gets the muting status of a specific channel.

Parameters

TInt aChannel The channel to query.
TBool & aChannelMute The mute status of the channel.

MmcIsTrackMuteL(TInt, TBool &)

void MmcIsTrackMuteL ( TInt aTrack,
TBool & aTrackMute
) [pure virtual]

Gets the muting status of a specific track.

Parameters

TInt aTrack The track to query.
TBool & aTrackMute The mute status of the track.

MmcLoadCustomBankDataL(const TDesC8 &, TInt &)

void MmcLoadCustomBankDataL ( 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

const TDesC8 & aBankData Descriptor containing the custom sound bank.
TInt & aBankId Identifier of the custom sound bank loaded, occupying no more than 14 bits.

MmcLoadCustomBankL(const TDesC &, TInt &)

void MmcLoadCustomBankL ( 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

const TDesC & aFileName Name of the file containing the custom sound bank.
TInt & aBankId Identifier of the custom sound bank loaded, occupying no more than 14 bits.

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

void MmcLoadCustomInstrumentDataL ( const TDesC8 & aInstrumentData,
TInt aBankDataId,
TInt aInstrumentDataId,
TInt aMemoryBankId,
TInt aMemoryInstrumentId
) [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

const TDesC8 & aInstrumentData Descriptor containing the instrument.
TInt aBankDataId Identifier of the bank in the descriptor from which to load the instrument, occupying no more than 14 bits.
TInt aInstrumentDataId Identifier of the instrument to load. 0 <= aInstrumentId <= 127.
TInt aMemoryBankId Identifier of the custom bank in memory to load the instrument into, occupying no more than 14 bits.
TInt aMemoryInstrumentId Identifier of the instrument in memory to load the new instrument into. 0 <= aInstrumentId <= 127.

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

void MmcLoadCustomInstrumentL ( const TDesC & aFileName,
TInt aFileBankId,
TInt aFileInstrumentId,
TInt aMemoryBankId,
TInt aMemoryInstrumentId
) [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

const TDesC & aFileName Name of the file containing the instrument.
TInt aFileBankId Identifier of the bank in the file from which to load the instrument, occupying no more than 14 bits.
TInt aFileInstrumentId Identifier of the instrument to load. 0 <= aInstrumentId <= 127.
TInt aMemoryBankId Identifier of the custom bank in memory to load the instrument into, occupying no more than 14 bits.
TInt aMemoryInstrumentId Identifier of the instrument in memory to load the new instrument into. 0 <= aInstrumentId <= 127.

MmcMaxChannelVolumeL(TReal32 &)

void MmcMaxChannelVolumeL ( TReal32 & aMaxVol ) [pure virtual]

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

Parameters

TReal32 & aMaxVol Maximum volume setting. Minimum value is -infinity dB, which is the smallest possible value that TReal32 supports.

MmcMaxPlaybackRateL(TInt &)

void MmcMaxPlaybackRateL ( TInt & aMaxRate ) [pure virtual]

Gets the maximum playback rate in milli-percentage from the MIDI engine. SetPlaybackRate() for milli-percentage details.

Parameters

TInt & aMaxRate Playback rate supported by MIDI player.

MmcMaxPolyphonyL(TInt &)

void MmcMaxPolyphonyL ( TInt & aMaxNotes ) [pure virtual]

Gets the max polyphony level the engine can handle.

Parameters

TInt & aMaxNotes

MmcMaxVolumeL(TInt &)

void MmcMaxVolumeL ( TInt & aMaxVolume ) [pure virtual]

Maximum volume setting that may be applied overall.

Parameters

TInt & aMaxVolume Maximum volume setting. Minimum value is always zero which is silent.

MmcMimeTypeL(TDes8 &)

void MmcMimeTypeL ( TDes8 & aMimeType ) [pure virtual]

Gets the MIME type of the MIDI resource currently open.

Parameters

TDes8 & aMimeType Descriptor containing the MIDI mime type.

MmcMinPlaybackRateL(TInt &)

void MmcMinPlaybackRateL ( TInt & aMinRate ) [pure virtual]

Gets the minimum playback rate in milli-percentage from the MIDI engine. SetPlaybackRate() for milli-percentage details.

Parameters

TInt & aMinRate Minimum playback rate supported by MIDI player.

MmcNoteOffL(TInt, TInt, TInt)

void MmcNoteOffL ( TInt aChannel,
TInt aNote,
TInt aVelocity
) [pure virtual]

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

Parameters

TInt aChannel Logical channel on which the note is playing. 0 <= aChannel <= 15.
TInt aNote Note to terminate. 0 <= aNote <= 127.
TInt aVelocity Velocity with which to stop the note. 0 <= aVelocity <= 127. There is no standard behaviour corresponding with note off velocity.

MmcNoteOnL(TInt, TInt, TInt)

void MmcNoteOnL ( TInt aChannel,
TInt aNote,
TInt aVelocity
) [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

TInt aChannel Logical channel to play note on. 0 <= aChannel <= 15.
TInt aNote Note to play. 0 <= aNote <= 127.
TInt aVelocity Velocity 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 &)

void MmcNumTracksL ( TInt & aTracks ) [pure virtual]

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

Parameters

TInt & aTracks Number of tracks.

MmcNumberOfBanksL(TBool, TInt &)

void MmcNumberOfBanksL ( TBool aCustom,
TInt & aNumBanks
) [pure virtual]

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

Parameters

TBool aCustom Specifies whether to reference a custom or standard sound bank.
TInt & aNumBanks Number of custom or standard sound banks available.

MmcNumberOfInstrumentsL(TInt, TBool, TInt &)

void MmcNumberOfInstrumentsL ( TInt aBankId,
TBool aCustom,
TInt & aNumInstruments
) [pure virtual]

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

Parameters

TInt aBankId Identifier of sound bank to reference, occupying no more than 14 bits.
TBool aCustom Specifies whether to reference a custom or standard sound bank.
TInt & aNumInstruments Count of the number of instruments available for the specified sound bank.

MmcPercussionKeyNameL(TInt, TInt, TBool, TInt)

const TDesC & MmcPercussionKeyNameL ( TInt aNote,
TInt aBankId,
TBool aCustom,
TInt aInstrumentId
) [pure virtual]

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

Parameters

TInt aNote Note to query. 0 <= aNote <= 127.
TInt aBankId Identifier 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.
TBool aCustom Specifies whether to reference a custom or standard sound bank.
TInt aInstrumentId Identifier of an instrument.

MmcPitchTranspositionCentsL(TInt &)

void MmcPitchTranspositionCentsL ( TInt & aPitch ) [pure virtual]

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

Parameters

TInt & aPitch Shift in cents, i.e. semitones * 100. One octave equals 1200 cents.

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

void MmcPlayNoteL ( TInt aChannel,
TInt aNote,
const TTimeIntervalMicroSeconds & aDuration,
TInt aNoteOnVelocity,
TInt aNoteOffVelocity
) [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

TInt aChannel Logical channel to play note on. 0 <= aChannel <= 15.
TInt aNote Note to play. 0 <= aNote <= 127
const TTimeIntervalMicroSeconds & aDuration Length of time to play note for.
TInt aNoteOnVelocity Velocity with which to start the note. 0 <= aNoteOnVelocity <= 127.
TInt aNoteOffVelocity Velocity with which to stop the note. 0 <= aNoteOffVelocity <= 127.

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

void MmcPlayNoteL ( TInt aChannel,
TInt aNote,
const TTimeIntervalMicroSeconds & aStartTime,
const TTimeIntervalMicroSeconds & aDuration,
TInt aNoteOnVelocity,
TInt aNoteOffVelocity
) [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

TInt aChannel Logical channel to play note on. 0 <= aChannel <= 15.
TInt aNote Note to play. 0 <= aNote <= 127
const TTimeIntervalMicroSeconds & aStartTime Specifies 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.
const TTimeIntervalMicroSeconds & aDuration Length of time to play note for.
TInt aNoteOnVelocity Velocity with which to start the note. 0 <= aNoteOnVelocity <= 127.
TInt aNoteOffVelocity Velocity with which to stop the note. 0 <= aNoteOffVelocity <= 127.

MmcPlaybackRateL(TInt &)

void MmcPlaybackRateL ( 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

TInt & aPlayBackRate Current 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 &)

void MmcPolyphonyL ( TInt & aNumNotes ) [pure virtual]

Gets the number of currently active voices.

Parameters

TInt & aNumNotes The number of currently active voices.

MmcPositionMicroBeatsL(TInt64 &)

void MmcPositionMicroBeatsL ( TInt64 & aMicroBeats ) [pure virtual]

Gets the current metrical position of the MIDI resource being played

Parameters

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

MmcSendMessageL(const TDesC8 &, TInt &)

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

Sends a single MIDI message to the MIDI engine.

Parameters

const TDesC8 & aMidiMessage Descriptor containing the MIDI message data. If there are several MIDI messages in the buffer, only the first one is processed.
TInt & aBytes Number of bytes of the message buffer actually processed.

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

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

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

Parameters

const TDesC8 & aMidiMessage Descriptor containing the MIDI message data. If there are several MIDI messages in the buffer, only the first one is processed.
const TTimeIntervalMicroSeconds & aTime The 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.
TInt & aBytes Number of bytes of the message buffer actually processed.

MmcSendMipMessageL(const TArray< TMipMessageEntry > &)

void MmcSendMipMessageL ( 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

const TArray < TMipMessageEntry > & aEntry Array of logical {channel, MIP} value pairs to send, highest priority first.

MmcSetBalanceL(TInt)

void MmcSetBalanceL ( TInt aBalance ) [pure virtual]

Set the current stereo balance value.

Parameters

TInt aBalance Balance value to set. Defaults to KMMFBalanceCenter to restore equal left-right balance.

MmcSetBankL(TBool)

void MmcSetBankL ( TBool aCustom ) [pure virtual]

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

Parameters

TBool aCustom If Etrue the custom bank in memory is used otherwise the standard bank is used leaving the custom bank in memory.

MmcSetChannelMuteL(TInt, TBool)

void MmcSetChannelMuteL ( TInt aChannel,
TBool aMuted
) [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

TInt aChannel Logical channel to set the mute state of. 0 <= aChannel <= 15.
TBool aMuted ETrue to mute the channel, EFalse to unmute it.

MmcSetChannelVolumeL(TInt, TReal32)

void MmcSetChannelVolumeL ( TInt aChannel,
TReal32 aVolume
) [pure virtual]

Set the volume of a channel.

Parameters

TInt aChannel Logical channel to set the volume on. 0 <= aChannel <= 15.
TReal32 aVolume The 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)

void MmcSetInstrumentL ( TInt aChannel,
TInt aBankId,
TInt aInstrumentId
) [pure virtual]

Sets a logical channel to use the given instrument.

Parameters

TInt aChannel Logical channel to set the instrument for. 0 <= aChannel <= 15.
TInt aBankId Identifier 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.
TInt aInstrumentId Identifier of the instrument under scrutiny. 0 <= aInstrumentId <= 127.

MmcSetMaxPolyphonyL(TInt)

void MmcSetMaxPolyphonyL ( TInt aMaxNotes ) [pure virtual]

Set the max polyphony level the engine can handle.

Parameters

TInt aMaxNotes Max polyphony level, 0 <= PolyphonyL() <= aMaxNotes.

MmcSetPitchTranspositionL(TInt, TInt &)

void MmcSetPitchTranspositionL ( TInt aCents,
TInt & aCentsApplied
) [pure virtual]

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

Parameters

TInt aCents Pitch shift in cents, i.e. semitones * 100. One octave equals 1200 cents.
TInt & aCentsApplied Actual pitch shift applied - may differ from the requested value due to limitations of the MIDI engine.

MmcSetPlaybackRateL(TInt)

void MmcSetPlaybackRateL ( TInt aPlayBackRate ) [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

TInt aPlayBackRate Playback rate in percent times 1000, i.e., 100000 means original playback speed, 200000 means double speed, and 50000 means half speed playback.

MmcSetPositionMicroBeatsL(TInt64)

void MmcSetPositionMicroBeatsL ( TInt64 aMicroBeats ) [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

TInt64 aMicroBeats Metrical position to move to. Clamped to (0, DurationMicroBeats()).

MmcSetRepeatsL(TInt, const TTimeIntervalMicroSeconds &)

void MmcSetRepeatsL ( TInt aRepeatNumberOfTimes,
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

TInt aRepeatNumberOfTimes Number of times to repeat the resource during playback. This includes the first playing.
const TTimeIntervalMicroSeconds & aTrailingSilence Time in microseconds to pause between repeats.

MmcSetStopTimeL(const TTimeIntervalMicroSeconds &)

void MmcSetStopTimeL ( const TTimeIntervalMicroSeconds & aStopTime ) [pure virtual]

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

Parameters

const TTimeIntervalMicroSeconds & aStopTime Time 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)

void MmcSetSyncUpdateCallbackIntervalL ( const TTimeIntervalMicroSeconds & aMicroSeconds,
TInt64 aMicroBeats = 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

const TTimeIntervalMicroSeconds & aMicroSeconds Temporal interval to callback at. Used in preference to aMicroBeats if both are set.
TInt64 aMicroBeats = 0 Metrical interval to callback at. Set both parameters to zero to cancel.

MmcSetTempoL(TInt)

void MmcSetTempoL ( TInt aMicroBeatsPerMinute ) [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

TInt aMicroBeatsPerMinute Tempo in microbeats per minute (BPM*1000000) to set.

MmcSetTrackMuteL(TInt, TBool)

void MmcSetTrackMuteL ( TInt aTrack,
TBool aMuted
) [pure virtual]

Mutes or unmutes a particular track.

Parameters

TInt aTrack Index of the track to mute - 0 <= aTrack < NumTracks().
TBool aMuted ETrue to mute the track, EFalse to unmute it.

MmcSetVolumeL(TInt)

void MmcSetVolumeL ( TInt aVolume ) [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

TInt aVolume Overall volume setting to use.

MmcSetVolumeRampL(const TTimeIntervalMicroSeconds &)

void MmcSetVolumeRampL ( 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

const TTimeIntervalMicroSeconds & aRampDuration Duration of the ramping period.

MmcStopL(const TTimeIntervalMicroSeconds &)

void MmcStopL ( 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

const TTimeIntervalMicroSeconds & aFadeOutDuration Length of time over which the volume is faded out from the current settings to zero.

MmcStopNotesL(TInt)

void MmcStopNotesL ( TInt aChannel ) [pure virtual]

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

Parameters

TInt aChannel Logical channel to stop notes on. 0 <= aChannel <= 15

MmcStopTimeL(TTimeIntervalMicroSeconds &)

void MmcStopTimeL ( TTimeIntervalMicroSeconds & aStopTime ) [pure virtual]

Get the stop time currently set for the MIDI resource.

Parameters

TTimeIntervalMicroSeconds & aStopTime Time at which playback will stop, relative to the start of the resource.

MmcTempoMicroBeatsPerMinuteL(TInt &)

void MmcTempoMicroBeatsPerMinuteL ( 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

TInt & aMicroBeatsPerMinute Tempo at the current position of the currently open resource in microbeats per minute, i.e. BPM * 1000000. Filled in by the controller framework.

MmcUnloadAllCustomBanksL()

void MmcUnloadAllCustomBanksL ( ) [pure virtual]

Removes all custom sound banks from memory.

MmcUnloadCustomBankL(TInt)

void MmcUnloadCustomBankL ( TInt aBankId ) [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

TInt aBankId Identifier of the custom sound bank to unload,occupying no more than 14 bits.

MmcUnloadCustomInstrumentL(TInt, TInt)

void MmcUnloadCustomInstrumentL ( TInt aCustomBankId,
TInt aInstrumentId
) [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

TInt aCustomBankId Identifier of the custom sound bank containing the instrument to unload, occupying no more than 14 bits.
TInt aInstrumentId Identifier of the instrument to unload. 0 <= aInstrumentId <= 127.

MmcVolumeL(TInt &)

void MmcVolumeL ( TInt & aVolume ) [pure virtual]

Gets the overall volume of the MIDI client.

Parameters

TInt & aVolume The current overall volume setting.