sl@0: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: /** sl@0: @internalComponent sl@0: @released sl@0: */ sl@0: #ifndef __MIDIEVENTRECEIVER_H__ sl@0: #define __MIDIEVENTRECEIVER_H__ sl@0: sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: enum TMMFMidiControllerMessages sl@0: { sl@0: EMMFMidiControllerSetPositionMicroBeats, sl@0: EMMFMidiControllerPositionMicroBeats, sl@0: EMMFMidiControllerPlayNote, sl@0: EMMFMidiControllerPlayNoteWithStartTime, sl@0: EMMFMidiControllerStopNotes, sl@0: EMMFMidiControllerNoteOn, sl@0: EMMFMidiControllerNoteOff, sl@0: EMMFMidiControllerPlaybackRate, sl@0: EMMFMidiControllerSetPlaybackRate, sl@0: EMMFMidiControllerMaxPlaybackRate, sl@0: EMMFMidiControllerMinPlaybackRate, sl@0: EMMFMidiControllerTempo, sl@0: EMMFMidiControllerSetTempo, sl@0: EMMFMidiControllerPitch, sl@0: EMMFMidiControllerSetPitch, sl@0: EMMFMidiControllerDurationMicroBeats, sl@0: EMMFMidiControllerNumTracks, sl@0: EMMFMidiControllerSetTrackMute, sl@0: EMMFMidiControllerMimeType, sl@0: EMMFMidiControllerSetSyncUpdateCallbackInterval, sl@0: EMMFMidiControllerSendMessage, sl@0: EMMFMidiControllerSendMessageWithTimeStamp, sl@0: EMMFMidiControllerSendMipMessage, sl@0: EMMFMidiControllerNumberOfBanks, sl@0: EMMFMidiControllerGetBankId, sl@0: EMMFMidiControllerLoadCustomBank, sl@0: EMMFMidiControllerLoadCustomBankData, sl@0: EMMFMidiControllerUnloadCustomBank, sl@0: EMMFMidiControllerCustomBankLoaded, sl@0: EMMFMidiControllerUnloadAllCustomBanks, sl@0: EMMFMidiControllerNumberOfInstruments, sl@0: EMMFMidiControllerGetInstrumentId, sl@0: EMMFMidiControllerInstrumentName, sl@0: EMMFMidiControllerCopyInstrumentName, sl@0: EMMFMidiControllerSetInstrument, sl@0: EMMFMidiControllerLoadCustomInstrument, sl@0: EMMFMidiControllerLoadCustomInstrumentData, sl@0: EMMFMidiControllerUnloadCustomInstrument, sl@0: EMMFMidiControllerPercussionKeyName, sl@0: EMMFMidiControllerCopyPercussionKeyName, sl@0: EMMFMidiControllerSetStopTime, sl@0: EMMFMidiControllerStopTime, sl@0: EMMFMidiControllerPolyphony, sl@0: EMMFMidiControllerSetMaxPolyphony, sl@0: EMMFMidiControllerChannelsSupported, sl@0: EMMFMidiControllerChannelVolume, sl@0: EMMFMidiControllerMaxChannelVolume, sl@0: EMMFMidiControllerSetChannelVolume, sl@0: EMMFMidiControllerSetChannelMute, sl@0: EMMFMidiControllerVolume, sl@0: EMMFMidiControllerMaxVolume, sl@0: EMMFMidiControllerSetVolume, sl@0: EMMFMidiControllerSetVolumeRamp, sl@0: EMMFMidiControllerGetBalance, sl@0: EMMFMidiControllerSetBalance, sl@0: EMMFMidiControllerGetRepeats, sl@0: EMMFMidiControllerSetRepeats, sl@0: EMMFMidiControllerSetBank, sl@0: EMMFMidiControllerIsTrackMute, sl@0: EMMFMidiControllerIsChannelMute, sl@0: EMMFMidiControllerGetInstrument, sl@0: EMMFMidiControllerClose, sl@0: EMMFMidiControllerStop, sl@0: EMMFMidiControllerReceiveEvents, sl@0: EMMFMidiControllerRetrieveEvent, sl@0: EMMFMidiControllerCancelReceiveEvents, sl@0: EMMFMidiControllerMaxPolyphony sl@0: }; sl@0: sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: class CMidiEventReceiver : public CBase sl@0: { sl@0: public: sl@0: static CMidiEventReceiver* NewL(const TMMFMessage& aMessage); sl@0: ~CMidiEventReceiver(); sl@0: void PrepareEventL(const CMMFMidiEvent& aEvent); sl@0: void SendEventL(TMMFMessage& aMessage); sl@0: TBool IsWaitingToSendEvent(); sl@0: private: sl@0: CMidiEventReceiver(const TMMFMessage& aMessage); sl@0: private: sl@0: TMMFMessage iMessage; sl@0: CBufFlat* iEventBuf; sl@0: }; sl@0: sl@0: #endif //__MIDIEVENTRECEIVER_H__