--- a/inc/mpengine.h Fri May 14 15:49:53 2010 +0300
+++ b/inc/mpengine.h Thu May 27 12:49:57 2010 +0300
@@ -28,13 +28,18 @@
class QTranslator;
class HbPopup;
class MpMpxHarvesterFrameworkWrapper;
-class MpSongScanner;
class MpMediaKeyHandler;
class MpMpxCollectionFrameworkWrapper;
class MpMpxPlaybackFrameworkWrapper;
+class MpMpxDetailsFrameworkWrapper;
class MpMpxCollectionData;
class MpPlaybackData;
+class MpSongData;
class XQSharableFile;
+class MpEngineFactory;
+class MpAudioEffectsFrameworkWrapper;
+class MpEqualizerFrameworkWrapper;
+class MpProgressDialogHandler;
#if defined(BUILD_MPENGINE_LIB)
#define MPENGINE_EXPORT Q_DECL_EXPORT
@@ -46,7 +51,18 @@
class MPENGINE_EXPORT MpEngine : public QObject
{
Q_OBJECT
+ Q_PROPERTY(int activePreset READ activePreset)
+ friend class MpEngineFactory;
+
+public:
+ enum EngineMode{
+ StandAlone,
+ Fetch,
+ Embedded,
+ MediaBrowsing
+ };
+
private:
enum UsbBlockingState {
@@ -61,11 +77,7 @@
public:
virtual ~MpEngine();
- static MpEngine *instance();
- void initialize(MpCommon::MpViewMode viewMode, TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ) );
- void close();
-
// Harvester related
bool verifyUsbBlocking( bool showMessage = false );
void checkForSystemEvents();
@@ -82,16 +94,32 @@
void renamePlaylist( QString &newName );
void deleteSongs( QList<int> &selection );
-
void previewItem( int index );
void openIsolatedCollection( TCollectionContext context );
void releaseIsolatedCollection();
-
+
+ void findAlbumSongs( int index );
+ void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData = 0 );
+
MpMpxCollectionData *collectionData();
// Playback related
MpPlaybackData *playbackData();
+
+ // Details related
+ MpSongData *songData();
+ void retrieveSong();
+
+ // Audio Effects related
+ int balance();
+ bool loudness();
+
+ // Equalizer related
+ void applyPreset( int presetIndex );
+ void disableEqualizer();
+ int activePreset();
+ QStringList presetNames();
signals:
@@ -107,6 +135,11 @@
void playlistsRenamed( bool success );
void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
+
+ void containerContentsChanged();
+
+ // Equalizer related
+ void equalizerReady();
public slots:
@@ -121,19 +154,33 @@
// Collection related
void reopenCollection();
void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
+ void handleDeleteStarted();
+ void handleDeleteEnded();
- // Playback related
- void playEmbedded( QString aFilename );
- void playEmbedded( const XQSharableFile& file );
+ // Playback related
+ void playEmbedded( QString aFilename );
+ void playEmbedded( const XQSharableFile& file );
void playPause();
void stop();
void skipForward();
+ void startSeekForward();
+ void stopSeeking();
void skipBackward();
+ void startSeekBackward();
void setPosition( int position );
void setShuffle( bool mode );
void setRepeat( bool mode );
+
+ // Audio Effects related
+ void setBalance( int balance );
+ void setLoudness( bool mode );
+
+ // Equalizer related
+ void handleEqualizerReady();
private:
+
+ void initialize( TUid hostUid, EngineMode mode);
// Harvester related
void handleUsbMassStorageStartEvent();
@@ -145,14 +192,13 @@
void changeUsbBlockingState( UsbBlockingState state );
void launchBlockingNote();
void setOutstandingPopup( HbPopup *popup );
-
+
private:
Q_DISABLE_COPY( MpEngine )
// Harvesting related
MpMpxHarvesterFrameworkWrapper *mMpxHarvesterWrapper; // Own
- MpSongScanner *mSongScanner; // Own
MpMediaKeyHandler *mMediaKeyHandler; // Own
HbPopup *mUsbOutstandingNote; // Own
@@ -161,14 +207,24 @@
// Playback related
MpMpxPlaybackFrameworkWrapper *mMpxPlaybackWrapper; //Own
+
+ // Details related
+ MpMpxDetailsFrameworkWrapper *mMpxDetailsWrapper; // Own
+
+ // Audio Effects related
+ MpAudioEffectsFrameworkWrapper *mAudioEffectsWrapper; // Own
+
+ // Equalizer related
+ MpEqualizerFrameworkWrapper *mEqualizerWrapper; // Own
+ int mCurrentPresetIndex;
// General
QTranslator *mMpTranslator; // Own
UsbBlockingState mUsbBlockingState;
UsbBlockingState mPreviousUsbState;
- MpCommon::MpViewMode mViewMode;
TUid mHostUid;
-
+ MpProgressDialogHandler *mProgressDialogHandler; // Own
+
};
#endif // MPENGINE_H