00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MIDIPLAYER_H
00018 #define MIDIPLAYER_H
00019
00020
00021 #include <e32std.h>
00022 #include <e32base.h>
00023 #include <midiclientutility.h>
00024
00025
00026
00027 class CMidiPlayer : public CBase, public MMidiClientUtilityObserver
00028 {
00029 public:
00030 static CMidiPlayer* NewL();
00031 static CMidiPlayer* NewLC();
00032 ~CMidiPlayer();
00033
00034 public:
00035 void Play(const TDesC& aFileName);
00036 void Stop();
00037
00038 private:
00039 CMidiPlayer();
00040 void ConstructL();
00041
00042 private:
00043 void MmcuoStateChanged(TMidiState aOldState, TMidiState aNewState,
00044 const TTimeIntervalMicroSeconds &aTime, TInt aError);
00045 void MmcuoTempoChanged(TInt aMicroBeatsPerMinute);
00046 void MmcuoVolumeChanged(TInt aChannel, TReal32 aVolumeInDecibels);
00047 void MmcuoMuteChanged(TInt aChannel, TBool aMuted);
00048 void MmcuoSyncUpdate(const TTimeIntervalMicroSeconds &aMicroSeconds,
00049 TInt64 aMicroBeats);
00050 void MmcuoMetaDataEntryFound(const TInt aMetaDataEntryId,
00051 const TTimeIntervalMicroSeconds &aPosition);
00052 void MmcuoMipMessageReceived(const RArray< TMipMessageEntry > &aMessage);
00053 void MmcuoPolyphonyChanged(TInt aNewPolyphony);
00054 void MmcuoInstrumentChanged(TInt aChannel, TInt aBankId,
00055 TInt aInstrumentId);
00056
00057 private:
00058 void DisplayErrorMessage(TInt aError);
00059
00060 private:
00061 CMidiClientUtility* iMidiUtility;
00062 };
00063
00064 #endif // MIDIPLAYER_H
00065
00066