inc/mpengine.h
changeset 35 fdb31ab341af
parent 34 2c5162224003
child 32 c163ef0b758d
equal deleted inserted replaced
34:2c5162224003 35:fdb31ab341af
    26 
    26 
    27 class QStringList;
    27 class QStringList;
    28 class QTranslator;
    28 class QTranslator;
    29 class HbPopup;
    29 class HbPopup;
    30 class MpMpxHarvesterFrameworkWrapper;
    30 class MpMpxHarvesterFrameworkWrapper;
    31 class MpSongScanner;
       
    32 class MpMediaKeyHandler;
    31 class MpMediaKeyHandler;
    33 class MpMpxCollectionFrameworkWrapper;
    32 class MpMpxCollectionFrameworkWrapper;
    34 class MpMpxPlaybackFrameworkWrapper;
    33 class MpMpxPlaybackFrameworkWrapper;
       
    34 class MpMpxDetailsFrameworkWrapper;
    35 class MpMpxCollectionData;
    35 class MpMpxCollectionData;
    36 class MpPlaybackData;
    36 class MpPlaybackData;
       
    37 class MpSongData;
    37 class XQSharableFile;
    38 class XQSharableFile;
       
    39 class MpEngineFactory;
       
    40 class MpAudioEffectsFrameworkWrapper;
       
    41 class MpEqualizerFrameworkWrapper;
       
    42 class MpProgressDialogHandler;
    38 
    43 
    39 #if defined(BUILD_MPENGINE_LIB)
    44 #if defined(BUILD_MPENGINE_LIB)
    40 #define MPENGINE_EXPORT Q_DECL_EXPORT
    45 #define MPENGINE_EXPORT Q_DECL_EXPORT
    41 #else
    46 #else
    42 #define MPENGINE_EXPORT Q_DECL_IMPORT
    47 #define MPENGINE_EXPORT Q_DECL_IMPORT
    44 
    49 
    45 
    50 
    46 class MPENGINE_EXPORT MpEngine : public QObject
    51 class MPENGINE_EXPORT MpEngine : public QObject
    47 {
    52 {
    48     Q_OBJECT
    53     Q_OBJECT
    49 
    54     Q_PROPERTY(int activePreset READ activePreset)
       
    55 
       
    56     friend class MpEngineFactory;
       
    57 
       
    58 public:
       
    59     enum EngineMode{
       
    60         StandAlone,
       
    61         Fetch,
       
    62         Embedded,
       
    63         MediaBrowsing
       
    64     };
       
    65     
    50 private:
    66 private:
    51 
    67 
    52     enum UsbBlockingState {
    68     enum UsbBlockingState {
    53         USB_NotConnected,          // Not connected
    69         USB_NotConnected,          // Not connected
    54         USB_Connected,             // Connected in MTP mode but not synchronizing
    70         USB_Connected,             // Connected in MTP mode but not synchronizing
    59     explicit MpEngine();
    75     explicit MpEngine();
    60 
    76 
    61 public:
    77 public:
    62 
    78 
    63     virtual ~MpEngine();
    79     virtual ~MpEngine();
    64     static MpEngine *instance();
    80 
    65 
       
    66     void initialize(MpCommon::MpViewMode viewMode, TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ) );
       
    67     void close();
       
    68 	
       
    69     // Harvester related
    81     // Harvester related
    70     bool verifyUsbBlocking( bool showMessage = false );
    82     bool verifyUsbBlocking( bool showMessage = false );
    71     void checkForSystemEvents();
    83     void checkForSystemEvents();
    72     
    84     
    73     // Collection related
    85     // Collection related
    80     void saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData );    
    92     void saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData );    
    81     void renamePlaylist( QString &newName, int index );
    93     void renamePlaylist( QString &newName, int index );
    82     void renamePlaylist( QString &newName );
    94     void renamePlaylist( QString &newName );
    83     void deleteSongs( QList<int> &selection );
    95     void deleteSongs( QList<int> &selection );
    84 
    96 
    85     
       
    86     void previewItem( int index );
    97     void previewItem( int index );
    87     void openIsolatedCollection( TCollectionContext context );
    98     void openIsolatedCollection( TCollectionContext context );
    88     void releaseIsolatedCollection();
    99     void releaseIsolatedCollection();
    89     
   100 
       
   101     void findAlbumSongs( int index );
       
   102     void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData = 0 );
       
   103 
    90     MpMpxCollectionData *collectionData();
   104     MpMpxCollectionData *collectionData();
    91     
   105     
    92     // Playback related
   106     // Playback related
    93     
   107     
    94     MpPlaybackData *playbackData();
   108     MpPlaybackData *playbackData();
       
   109     
       
   110     // Details related
       
   111     MpSongData *songData();
       
   112     void retrieveSong();
       
   113     
       
   114     // Audio Effects related
       
   115     int balance();
       
   116     bool loudness();
       
   117     
       
   118     // Equalizer related
       
   119     void applyPreset( int presetIndex );
       
   120     void disableEqualizer();
       
   121     int activePreset();
       
   122     QStringList presetNames();
    95 
   123 
    96 signals:
   124 signals:
    97     
   125     
    98     // Harvester related
   126     // Harvester related
    99     void libraryAboutToUpdate();
   127     void libraryAboutToUpdate();
   105     void playlistSaved( bool success );
   133     void playlistSaved( bool success );
   106     void songsDeleted( bool success );
   134     void songsDeleted( bool success );
   107     void playlistsRenamed( bool success );
   135     void playlistsRenamed( bool success );
   108     
   136     
   109     void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
   137     void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
       
   138     
       
   139     void containerContentsChanged();
       
   140     
       
   141     // Equalizer related
       
   142     void equalizerReady();
   110 
   143 
   111 public slots:
   144 public slots:
   112 
   145 
   113     // Harvester related
   146     // Harvester related
   114     void refreshLibrary();
   147     void refreshLibrary();
   119     void handleOutstandingNoteClosing();
   152     void handleOutstandingNoteClosing();
   120     
   153     
   121     // Collection related
   154     // Collection related
   122     void reopenCollection();
   155     void reopenCollection();
   123     void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
   156     void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
   124 
   157     void handleDeleteStarted();
   125 	// Playback related
   158     void handleDeleteEnded();
   126 	void playEmbedded( QString aFilename );
   159 
   127 	void playEmbedded( const XQSharableFile&  file );
   160     // Playback related
       
   161     void playEmbedded( QString aFilename );
       
   162     void playEmbedded( const XQSharableFile&  file );
   128     void playPause();
   163     void playPause();
   129     void stop();
   164     void stop();
   130     void skipForward();
   165     void skipForward();
       
   166     void startSeekForward();
       
   167     void stopSeeking();
   131     void skipBackward();
   168     void skipBackward();
       
   169     void startSeekBackward();
   132     void setPosition( int position );
   170     void setPosition( int position );
   133     void setShuffle( bool mode );
   171     void setShuffle( bool mode );
   134     void setRepeat( bool mode );
   172     void setRepeat( bool mode );
       
   173     
       
   174     // Audio Effects related
       
   175     void setBalance( int balance );
       
   176     void setLoudness( bool mode );
       
   177     
       
   178     // Equalizer related
       
   179     void handleEqualizerReady();
   135 	
   180 	
   136 private:
   181 private:
       
   182     
       
   183     void initialize( TUid hostUid, EngineMode mode);
   137 
   184 
   138     // Harvester related
   185     // Harvester related
   139     void handleUsbMassStorageStartEvent();
   186     void handleUsbMassStorageStartEvent();
   140     void handleUsbMassStorageEndEvent();
   187     void handleUsbMassStorageEndEvent();
   141     void handleUsbMtpStartEvent();
   188     void handleUsbMtpStartEvent();
   143     void handleUsbMtpNotActive();
   190     void handleUsbMtpNotActive();
   144 
   191 
   145     void changeUsbBlockingState( UsbBlockingState state );
   192     void changeUsbBlockingState( UsbBlockingState state );
   146     void launchBlockingNote();
   193     void launchBlockingNote();
   147     void setOutstandingPopup( HbPopup *popup );
   194     void setOutstandingPopup( HbPopup *popup );
   148 
   195 	
   149 private:
   196 private:
   150 
   197 
   151     Q_DISABLE_COPY( MpEngine )
   198     Q_DISABLE_COPY( MpEngine )
   152 
   199 
   153     // Harvesting related
   200     // Harvesting related
   154     MpMpxHarvesterFrameworkWrapper       *mMpxHarvesterWrapper;  // Own
   201     MpMpxHarvesterFrameworkWrapper       *mMpxHarvesterWrapper;  // Own
   155     MpSongScanner                        *mSongScanner;          // Own
       
   156     MpMediaKeyHandler                    *mMediaKeyHandler;      // Own
   202     MpMediaKeyHandler                    *mMediaKeyHandler;      // Own
   157     HbPopup                              *mUsbOutstandingNote;   // Own
   203     HbPopup                              *mUsbOutstandingNote;   // Own
   158     
   204     
   159     // Collection related
   205     // Collection related
   160     MpMpxCollectionFrameworkWrapper      *mMpxCollectionWrapper; //Own
   206     MpMpxCollectionFrameworkWrapper      *mMpxCollectionWrapper; //Own
   161 
   207 
   162     // Playback related
   208     // Playback related
   163     MpMpxPlaybackFrameworkWrapper        *mMpxPlaybackWrapper; //Own
   209     MpMpxPlaybackFrameworkWrapper        *mMpxPlaybackWrapper; //Own
       
   210     
       
   211     // Details related
       
   212     MpMpxDetailsFrameworkWrapper         *mMpxDetailsWrapper;  // Own
       
   213     
       
   214     // Audio Effects related
       
   215     MpAudioEffectsFrameworkWrapper       *mAudioEffectsWrapper; // Own
       
   216     
       
   217     // Equalizer related
       
   218     MpEqualizerFrameworkWrapper          *mEqualizerWrapper; // Own
       
   219     int                                  mCurrentPresetIndex;
   164         
   220         
   165     // General
   221     // General
   166     QTranslator                          *mMpTranslator;         // Own
   222     QTranslator                          *mMpTranslator;         // Own
   167     UsbBlockingState                     mUsbBlockingState;
   223     UsbBlockingState                     mUsbBlockingState;
   168     UsbBlockingState                     mPreviousUsbState;    
   224     UsbBlockingState                     mPreviousUsbState;    
   169     MpCommon::MpViewMode                 mViewMode;
       
   170     TUid                                 mHostUid;
   225     TUid                                 mHostUid;
   171 
   226     MpProgressDialogHandler              *mProgressDialogHandler;  // Own
       
   227     
   172 };
   228 };
   173 
   229 
   174 #endif // MPENGINE_H
   230 #endif // MPENGINE_H