Binary file mpxmusicplayer/Conf/mpxmusicplayer.confml has changed
--- a/mpxmusicplayer/app/data/mpx_reg.rss Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/app/data/mpx_reg.rss Tue May 11 16:10:56 2010 +0300
@@ -90,7 +90,9 @@
DATATYPE { priority = EDataTypePriorityMPX; type = "audio/x-wav"; },
DATATYPE { priority = EDataTypePriorityMPX; type = "audio/x-au"; },
DATATYPE { priority = EDataTypePriorityMPX; type = "audio/au"; },
- DATATYPE { priority = EDataTypePriorityMPX; type = "application/vnd.nokia.ringing-tone"; }
+ DATATYPE { priority = EDataTypePriorityMPX; type = "application/vnd.nokia.ringing-tone"; },
+ DATATYPE { priority = EDataTypePriorityMPX; type = "audio/x-mpegurl"; },
+ DATATYPE { priority = EDataTypePriorityMPX; type = "audio/mpegurl"; }
};
}
--- a/mpxmusicplayer/app/src/mpxrestorepath.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/app/src/mpxrestorepath.cpp Tue May 11 16:10:56 2010 +0300
@@ -652,7 +652,9 @@
// USB mass storage dismounts the disk, but in that case
// we do want to revert back to first song of all songs
//
- else if( type == EMcMsgDiskInserted &&
+ //if refresh started save the path info
+ //
+ else if( ( type == EMcMsgDiskInserted || EMcMsgRefreshStart ) &&
!iUSBOngoing )
{
SavePathL();
--- a/mpxmusicplayer/commonui/bwinscw/mpxcommonuiU.DEF Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/commonui/bwinscw/mpxcommonuiU.DEF Tue May 11 16:10:56 2010 +0300
@@ -1,60 +1,60 @@
EXPORTS
- ??1CMPXAlbumArtUtil@@UAE@XZ @ 1 NONAME ; CMPXAlbumArtUtil::~CMPXAlbumArtUtil(void)
- ??1CMPXLbxExtendedFeatures@@UAE@XZ @ 2 NONAME ; CMPXLbxExtendedFeatures::~CMPXLbxExtendedFeatures(void)
- ??1CMPXSaveHelper@@UAE@XZ @ 3 NONAME ; CMPXSaveHelper::~CMPXSaveHelper(void)
- ?AddToSavedPlaylistL@CMPXCommonUiHelper@@QAEHABVCMPXMedia@@0PAVMMPXCHelperObserver@@PAVMProgressDialogCallback@@@Z @ 4 NONAME ; int CMPXCommonUiHelper::AddToSavedPlaylistL(class CMPXMedia const &, class CMPXMedia const &, class MMPXCHelperObserver *, class MProgressDialogCallback *)
- ?AllowMove@MPXTlsHelper@@SAHXZ @ 5 NONAME ; int MPXTlsHelper::AllowMove(void)
- ?AvailableDriveLC@CMPXCommonUiHelper@@QAEPAVHBufC16@@H@Z @ 6 NONAME ; class HBufC16 * CMPXCommonUiHelper::AvailableDriveLC(int)
- ?CancelRequest@CMPXAlbumArtUtil@@QAEXXZ @ 7 NONAME ; void CMPXAlbumArtUtil::CancelRequest(void)
- ?CreatePlaylistL@CMPXCommonUiHelper@@QAEHABVCMPXMedia@@PAVMMPXCHelperObserver@@PAVMProgressDialogCallback@@@Z @ 8 NONAME ; int CMPXCommonUiHelper::CreatePlaylistL(class CMPXMedia const &, class MMPXCHelperObserver *, class MProgressDialogCallback *)
- ?DefaultDriveLC@CMPXCommonUiHelper@@QAEPAVHBufC16@@XZ @ 9 NONAME ; class HBufC16 * CMPXCommonUiHelper::DefaultDriveLC(void)
- ?DismissWaitNoteL@CMPXCommonUiHelper@@QAEXXZ @ 10 NONAME ; void CMPXCommonUiHelper::DismissWaitNoteL(void)
- ?DisplayConfirmNoteL@CMPXCommonUiHelper@@QAEXABVTDesC16@@@Z @ 11 NONAME ; void CMPXCommonUiHelper::DisplayConfirmNoteL(class TDesC16 const &)
- ?DisplayConfirmNoteL@CMPXCommonUiHelper@@QAEXH@Z @ 12 NONAME ; void CMPXCommonUiHelper::DisplayConfirmNoteL(int)
- ?DisplayInfoNoteL@CMPXCommonUiHelper@@QAEXABVTDesC16@@@Z @ 13 NONAME ; void CMPXCommonUiHelper::DisplayInfoNoteL(class TDesC16 const &)
- ?DisplayInfoNoteL@CMPXCommonUiHelper@@QAEXH@Z @ 14 NONAME ; void CMPXCommonUiHelper::DisplayInfoNoteL(int)
- ?DisplayableDurationInTextL@CMPXCommonUiHelper@@QAEPAVHBufC16@@_J@Z @ 15 NONAME ; class HBufC16 * CMPXCommonUiHelper::DisplayableDurationInTextL(long long)
- ?DisplayableDurationL@CMPXCommonUiHelper@@QAEPAVHBufC16@@_JW4TMPXDuratDisplayMode@1@@Z @ 16 NONAME ; class HBufC16 * CMPXCommonUiHelper::DisplayableDurationL(long long, enum CMPXCommonUiHelper::TMPXDuratDisplayMode)
- ?DoSetAsRingingToneL@CMPXCommonUiHelper@@QAEXABVCMPXMedia@@HH@Z @ 17 NONAME ; void CMPXCommonUiHelper::DoSetAsRingingToneL(class CMPXMedia const &, int, int)
- ?EnableSpeedScrollL@CMPXLbxExtendedFeatures@@QAEXH@Z @ 18 NONAME ; void CMPXLbxExtendedFeatures::EnableSpeedScrollL(int)
- ?ExitOptionHiddenL@CMPXCommonUiHelper@@QAEHXZ @ 19 NONAME ; int CMPXCommonUiHelper::ExitOptionHiddenL(void)
- ?ExtractAlbumArtL@CMPXAlbumArtUtil@@QAEXABVCMPXMedia@@AAVMMPXAlbumArtUtilObserver@@ABVTSize@@W4TDisplayMode@@@Z @ 20 NONAME ; void CMPXAlbumArtUtil::ExtractAlbumArtL(class CMPXMedia const &, class MMPXAlbumArtUtilObserver &, class TSize const &, enum TDisplayMode)
- ?FilePath@MPXTlsHelper@@SA?AV?$TBuf@$0BAA@@@XZ @ 21 NONAME ; class TBuf<256> MPXTlsHelper::FilePath(void)
- ?FindPlaylistsL@CMPXCommonUiHelper@@QAEPAVCMPXMedia@@XZ @ 22 NONAME ; class CMPXMedia * CMPXCommonUiHelper::FindPlaylistsL(void)
- ?GenerateTitleL@CMPXCommonUiHelper@@QAEPAVHBufC16@@W4TMPXGeneralCategory@@ABVTDesC16@@@Z @ 23 NONAME ; class HBufC16 * CMPXCommonUiHelper::GenerateTitleL(enum TMPXGeneralCategory, class TDesC16 const &)
- ?HandleErrorL@CMPXCommonUiHelper@@QAEHHPBVCMPXMedia@@PAVRFile@@@Z @ 24 NONAME ; int CMPXCommonUiHelper::HandleErrorL(int, class CMPXMedia const *, class RFile *)
- ?HandleLbxKeyEventL@CMPXLbxExtendedFeatures@@QAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 25 NONAME ; enum TKeyResponse CMPXLbxExtendedFeatures::HandleLbxKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?HostUid@MPXTlsHelper@@SA?AVTUid@@XZ @ 26 NONAME ; class TUid MPXTlsHelper::HostUid(void)
- ?InitializeL@MPXTlsHelper@@SAXXZ @ 27 NONAME ; void MPXTlsHelper::InitializeL(void)
- ?IsForegroundApplication@CMPXCommonUiHelper@@QAEHH@Z @ 28 NONAME ; int CMPXCommonUiHelper::IsForegroundApplication(int)
+ ?IsForegroundApplication@CMPXCommonUiHelper@@QAEHH@Z @ 1 NONAME ; int CMPXCommonUiHelper::IsForegroundApplication(int)
+ ?AllowMove@MPXTlsHelper@@SAHXZ @ 2 NONAME ; int MPXTlsHelper::AllowMove(void)
+ ?IsProfileOfflineModeL@CMPXCommonUiHelper@@QAEHXZ @ 3 NONAME ; int CMPXCommonUiHelper::IsProfileOfflineModeL(void)
+ ?InitializeL@MPXTlsHelper@@SAXXZ @ 4 NONAME ; void MPXTlsHelper::InitializeL(void)
+ ?StartCopyOperationL@CMPXSaveHelper@@QAEXABVTDesC16@@0H@Z @ 5 NONAME ; void CMPXSaveHelper::StartCopyOperationL(class TDesC16 const &, class TDesC16 const &, int)
+ ?SetHostUidL@MPXTlsHelper@@SAXABVTUid@@@Z @ 6 NONAME ; void MPXTlsHelper::SetHostUidL(class TUid const &)
+ ?LaunchMode@MPXTlsHelper@@SA?AW4TMPXLaunchMode@@XZ @ 7 NONAME ; enum TMPXLaunchMode MPXTlsHelper::LaunchMode(void)
+ ?IsHostMessagingL@CMPXCommonUiHelper@@QAEHXZ @ 8 NONAME ; int CMPXCommonUiHelper::IsHostMessagingL(void)
+ ?DoSetAsRingingToneL@CMPXCommonUiHelper@@QAEXABVCMPXMedia@@HH@Z @ 9 NONAME ; void CMPXCommonUiHelper::DoSetAsRingingToneL(class CMPXMedia const &, int, int)
+ ?LaunchRenameDialogL@CMPXCommonUiHelper@@QAEHABVTDesC16@@AAVTDes16@@0@Z @ 10 NONAME ; int CMPXCommonUiHelper::LaunchRenameDialogL(class TDesC16 const &, class TDes16 &, class TDesC16 const &)
+ ?AddToSavedPlaylistL@CMPXCommonUiHelper@@QAEHABVCMPXMedia@@0PAVMMPXCHelperObserver@@PAVMProgressDialogCallback@@@Z @ 11 NONAME ; int CMPXCommonUiHelper::AddToSavedPlaylistL(class CMPXMedia const &, class CMPXMedia const &, class MMPXCHelperObserver *, class MProgressDialogCallback *)
+ ?Uninitialize@MPXTlsHelper@@SAXXZ @ 12 NONAME ; void MPXTlsHelper::Uninitialize(void)
+ ?RemoveMiddleSoftKeyLabel@CMPXCommonUiHelper@@QAEXAAVCEikButtonGroupContainer@@@Z @ 13 NONAME ; void CMPXCommonUiHelper::RemoveMiddleSoftKeyLabel(class CEikButtonGroupContainer &)
+ ?CreatePlaylistL@CMPXCommonUiHelper@@QAEHABVCMPXMedia@@PAVMMPXCHelperObserver@@PAVMProgressDialogCallback@@@Z @ 14 NONAME ; int CMPXCommonUiHelper::CreatePlaylistL(class CMPXMedia const &, class MMPXCHelperObserver *, class MProgressDialogCallback *)
+ ?SetFilePath@MPXTlsHelper@@SAXABVTDesC16@@@Z @ 15 NONAME ; void MPXTlsHelper::SetFilePath(class TDesC16 const &)
+ ?NeedSave@MPXTlsHelper@@SAHXZ @ 16 NONAME ; int MPXTlsHelper::NeedSave(void)
+ ?ExtractAlbumArtL@CMPXAlbumArtUtil@@QAEXABVCMPXMedia@@AAVMMPXAlbumArtUtilObserver@@ABVTSize@@HW4TDisplayMode@@@Z @ 17 NONAME ; void CMPXAlbumArtUtil::ExtractAlbumArtL(class CMPXMedia const &, class MMPXAlbumArtUtilObserver &, class TSize const &, int, enum TDisplayMode)
+ ?DefaultDriveLC@CMPXCommonUiHelper@@QAEPAVHBufC16@@XZ @ 18 NONAME ; class HBufC16 * CMPXCommonUiHelper::DefaultDriveLC(void)
+ ?AvailableDriveLC@CMPXCommonUiHelper@@QAEPAVHBufC16@@H@Z @ 19 NONAME ; class HBufC16 * CMPXCommonUiHelper::AvailableDriveLC(int)
+ ?IsHostPodcastingAppL@CMPXCommonUiHelper@@QAEHXZ @ 20 NONAME ; int CMPXCommonUiHelper::IsHostPodcastingAppL(void)
+ ?DisplayableDurationL@CMPXCommonUiHelper@@QAEPAVHBufC16@@_JW4TMPXDuratDisplayMode@1@@Z @ 21 NONAME ; class HBufC16 * CMPXCommonUiHelper::DisplayableDurationL(long long, enum CMPXCommonUiHelper::TMPXDuratDisplayMode)
+ ?CancelCollectionOperation@CMPXCommonUiHelper@@QAEXXZ @ 22 NONAME ; void CMPXCommonUiHelper::CancelCollectionOperation(void)
+ ?DisplayConfirmNoteL@CMPXCommonUiHelper@@QAEXABVTDesC16@@@Z @ 23 NONAME ; void CMPXCommonUiHelper::DisplayConfirmNoteL(class TDesC16 const &)
+ ?MMCDriveNumber@CMPXCommonUiHelper@@SAHXZ @ 24 NONAME ; int CMPXCommonUiHelper::MMCDriveNumber(void)
+ ?HandleErrorL@CMPXCommonUiHelper@@QAEHHPBVCMPXMedia@@PAVRFile@@@Z @ 25 NONAME ; int CMPXCommonUiHelper::HandleErrorL(int, class CMPXMedia const *, class RFile *)
+ ?ExitOptionHiddenL@CMPXCommonUiHelper@@QAEHXZ @ 26 NONAME ; int CMPXCommonUiHelper::ExitOptionHiddenL(void)
+ ?GenerateTitleL@CMPXCommonUiHelper@@QAEPAVHBufC16@@W4TMPXGeneralCategory@@ABVTDesC16@@@Z @ 27 NONAME ; class HBufC16 * CMPXCommonUiHelper::GenerateTitleL(enum TMPXGeneralCategory, class TDesC16 const &)
+ ?SetMiddleSoftKeyIconL@CMPXCommonUiHelper@@QAEXAAVCEikButtonGroupContainer@@PAVCFbsBitmap@@1@Z @ 28 NONAME ; void CMPXCommonUiHelper::SetMiddleSoftKeyIconL(class CEikButtonGroupContainer &, class CFbsBitmap *, class CFbsBitmap *)
?IsHostBrowserL@CMPXCommonUiHelper@@QAEHXZ @ 29 NONAME ; int CMPXCommonUiHelper::IsHostBrowserL(void)
- ?IsHostMessagingBrowserL@CMPXCommonUiHelper@@QAEHXZ @ 30 NONAME ; int CMPXCommonUiHelper::IsHostMessagingBrowserL(void)
- ?IsHostMessagingL@CMPXCommonUiHelper@@QAEHXZ @ 31 NONAME ; int CMPXCommonUiHelper::IsHostMessagingL(void)
- ?IsHostPodcastingAppL@CMPXCommonUiHelper@@QAEHXZ @ 32 NONAME ; int CMPXCommonUiHelper::IsHostPodcastingAppL(void)
- ?IsProfileOfflineModeL@CMPXCommonUiHelper@@QAEHXZ @ 33 NONAME ; int CMPXCommonUiHelper::IsProfileOfflineModeL(void)
- ?LaunchMode@MPXTlsHelper@@SA?AW4TMPXLaunchMode@@XZ @ 34 NONAME ; enum TMPXLaunchMode MPXTlsHelper::LaunchMode(void)
- ?LaunchRenameDialogL@CMPXCommonUiHelper@@QAEHABVTDesC16@@AAVTDes16@@0@Z @ 35 NONAME ; int CMPXCommonUiHelper::LaunchRenameDialogL(class TDesC16 const &, class TDes16 &, class TDesC16 const &)
- ?MMCDriveNumber@CMPXCommonUiHelper@@SAHXZ @ 36 NONAME ; int CMPXCommonUiHelper::MMCDriveNumber(void)
- ?NeedSave@MPXTlsHelper@@SAHXZ @ 37 NONAME ; int MPXTlsHelper::NeedSave(void)
- ?NewL@CMPXAlbumArtUtil@@SAPAV1@XZ @ 38 NONAME ; class CMPXAlbumArtUtil * CMPXAlbumArtUtil::NewL(void)
- ?NewL@CMPXCommonUiHelper@@SAPAV1@PAVMMPXCollectionUtility@@@Z @ 39 NONAME ; class CMPXCommonUiHelper * CMPXCommonUiHelper::NewL(class MMPXCollectionUtility *)
- ?NewL@CMPXLbxExtendedFeatures@@SAPAV1@PAVCEikTextListBox@@H@Z @ 40 NONAME ; class CMPXLbxExtendedFeatures * CMPXLbxExtendedFeatures::NewL(class CEikTextListBox *, int)
- ?NewL@CMPXSaveHelper@@SAPAV1@PAVMMPXSaveHelperObserver@@PAVMFileManObserver@@@Z @ 41 NONAME ; class CMPXSaveHelper * CMPXSaveHelper::NewL(class MMPXSaveHelperObserver *, class MFileManObserver *)
- ?RemoveMiddleSoftKeyLabel@CMPXCommonUiHelper@@QAEXAAVCEikButtonGroupContainer@@@Z @ 42 NONAME ; void CMPXCommonUiHelper::RemoveMiddleSoftKeyLabel(class CEikButtonGroupContainer &)
+ ?StandAloneModePId@CMPXCommonUiHelper@@SA_JXZ @ 30 NONAME ; long long CMPXCommonUiHelper::StandAloneModePId(void)
+ ?StartCopyOperationL@CMPXSaveHelper@@QAEXAAVRFile@@ABVTDesC16@@HH@Z @ 31 NONAME ; void CMPXSaveHelper::StartCopyOperationL(class RFile &, class TDesC16 const &, int, int)
+ ?CancelRequest@CMPXAlbumArtUtil@@QAEXXZ @ 32 NONAME ; void CMPXAlbumArtUtil::CancelRequest(void)
+ ?DisplayConfirmNoteL@CMPXCommonUiHelper@@QAEXH@Z @ 33 NONAME ; void CMPXCommonUiHelper::DisplayConfirmNoteL(int)
+ ?UnitConversionL@CMPXCommonUiHelper@@QAEPAVHBufC16@@_JH@Z @ 34 NONAME ; class HBufC16 * CMPXCommonUiHelper::UnitConversionL(long long, int)
+ ?DisplayInfoNoteL@CMPXCommonUiHelper@@QAEXABVTDesC16@@@Z @ 35 NONAME ; void CMPXCommonUiHelper::DisplayInfoNoteL(class TDesC16 const &)
+ ?NewL@CMPXSaveHelper@@SAPAV1@PAVMMPXSaveHelperObserver@@PAVMFileManObserver@@@Z @ 36 NONAME ; class CMPXSaveHelper * CMPXSaveHelper::NewL(class MMPXSaveHelperObserver *, class MFileManObserver *)
+ ?NewL@CMPXCommonUiHelper@@SAPAV1@PAVMMPXCollectionUtility@@@Z @ 37 NONAME ; class CMPXCommonUiHelper * CMPXCommonUiHelper::NewL(class MMPXCollectionUtility *)
+ ?DisplayInfoNoteL@CMPXCommonUiHelper@@QAEXH@Z @ 38 NONAME ; void CMPXCommonUiHelper::DisplayInfoNoteL(int)
+ ??1CMPXAlbumArtUtil@@UAE@XZ @ 39 NONAME ; CMPXAlbumArtUtil::~CMPXAlbumArtUtil(void)
+ ?IsHostMessagingBrowserL@CMPXCommonUiHelper@@QAEHXZ @ 40 NONAME ; int CMPXCommonUiHelper::IsHostMessagingBrowserL(void)
+ ?ShowWaitNoteL@CMPXCommonUiHelper@@QAEXAAVTDesC16@@HHPAVMProgressDialogCallback@@H@Z @ 41 NONAME ; void CMPXCommonUiHelper::ShowWaitNoteL(class TDesC16 &, int, int, class MProgressDialogCallback *, int)
+ ?DismissWaitNoteL@CMPXCommonUiHelper@@QAEXXZ @ 42 NONAME ; void CMPXCommonUiHelper::DismissWaitNoteL(void)
?SetAllowMove@MPXTlsHelper@@SAXH@Z @ 43 NONAME ; void MPXTlsHelper::SetAllowMove(int)
- ?SetFilePath@MPXTlsHelper@@SAXABVTDesC16@@@Z @ 44 NONAME ; void MPXTlsHelper::SetFilePath(class TDesC16 const &)
- ?SetHostUidL@MPXTlsHelper@@SAXABVTUid@@@Z @ 45 NONAME ; void MPXTlsHelper::SetHostUidL(class TUid const &)
- ?SetLaunchModeL@MPXTlsHelper@@SAXW4TMPXLaunchMode@@@Z @ 46 NONAME ; void MPXTlsHelper::SetLaunchModeL(enum TMPXLaunchMode)
- ?SetMiddleSoftKeyIconL@CMPXCommonUiHelper@@QAEXAAVCEikButtonGroupContainer@@PAVCFbsBitmap@@1@Z @ 47 NONAME ; void CMPXCommonUiHelper::SetMiddleSoftKeyIconL(class CEikButtonGroupContainer &, class CFbsBitmap *, class CFbsBitmap *)
+ ??1CMPXSaveHelper@@UAE@XZ @ 44 NONAME ; CMPXSaveHelper::~CMPXSaveHelper(void)
+ ?DisplayableDurationInTextL@CMPXCommonUiHelper@@QAEPAVHBufC16@@_J@Z @ 45 NONAME ; class HBufC16 * CMPXCommonUiHelper::DisplayableDurationInTextL(long long)
+ ?HandleLbxKeyEventL@CMPXLbxExtendedFeatures@@QAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 46 NONAME ; enum TKeyResponse CMPXLbxExtendedFeatures::HandleLbxKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?SetStandAloneModePId@CMPXCommonUiHelper@@SAH_J@Z @ 47 NONAME ; int CMPXCommonUiHelper::SetStandAloneModePId(long long)
?SetMiddleSoftKeyLabelL@CMPXCommonUiHelper@@QAEXAAVCEikButtonGroupContainer@@HH@Z @ 48 NONAME ; void CMPXCommonUiHelper::SetMiddleSoftKeyLabelL(class CEikButtonGroupContainer &, int, int)
- ?SetNeedSave@MPXTlsHelper@@SAXH@Z @ 49 NONAME ; void MPXTlsHelper::SetNeedSave(int)
- ?SetStandAloneModePId@CMPXCommonUiHelper@@SAH_J@Z @ 50 NONAME ; int CMPXCommonUiHelper::SetStandAloneModePId(long long)
- ?ShowWaitNoteL@CMPXCommonUiHelper@@QAEXAAVTDesC16@@HHPAVMProgressDialogCallback@@H@Z @ 51 NONAME ; void CMPXCommonUiHelper::ShowWaitNoteL(class TDesC16 &, int, int, class MProgressDialogCallback *, int)
- ?SpeedNaviUpdating@CMPXLbxExtendedFeatures@@QAEXH@Z @ 52 NONAME ; void CMPXLbxExtendedFeatures::SpeedNaviUpdating(int)
- ?StandAloneModePId@CMPXCommonUiHelper@@SA_JXZ @ 53 NONAME ; long long CMPXCommonUiHelper::StandAloneModePId(void)
- ?StartCopyOperationL@CMPXSaveHelper@@QAEXAAVRFile@@ABVTDesC16@@HH@Z @ 54 NONAME ; void CMPXSaveHelper::StartCopyOperationL(class RFile &, class TDesC16 const &, int, int)
- ?StartCopyOperationL@CMPXSaveHelper@@QAEXABVTDesC16@@0H@Z @ 55 NONAME ; void CMPXSaveHelper::StartCopyOperationL(class TDesC16 const &, class TDesC16 const &, int)
- ?Uninitialize@MPXTlsHelper@@SAXXZ @ 56 NONAME ; void MPXTlsHelper::Uninitialize(void)
- ?UnitConversionL@CMPXCommonUiHelper@@QAEPAVHBufC16@@_JH@Z @ 57 NONAME ; class HBufC16 * CMPXCommonUiHelper::UnitConversionL(long long, int)
- ?CancelCollectionOperation@CMPXCommonUiHelper@@QAEXXZ @ 58 NONAME ; void CMPXCommonUiHelper::CancelCollectionOperation(void)
+ ?FindPlaylistsL@CMPXCommonUiHelper@@QAEPAVCMPXMedia@@XZ @ 49 NONAME ; class CMPXMedia * CMPXCommonUiHelper::FindPlaylistsL(void)
+ ?SetLaunchModeL@MPXTlsHelper@@SAXW4TMPXLaunchMode@@@Z @ 50 NONAME ; void MPXTlsHelper::SetLaunchModeL(enum TMPXLaunchMode)
+ ?NewL@CMPXLbxExtendedFeatures@@SAPAV1@PAVCEikTextListBox@@H@Z @ 51 NONAME ; class CMPXLbxExtendedFeatures * CMPXLbxExtendedFeatures::NewL(class CEikTextListBox *, int)
+ ?EnableSpeedScrollL@CMPXLbxExtendedFeatures@@QAEXH@Z @ 52 NONAME ; void CMPXLbxExtendedFeatures::EnableSpeedScrollL(int)
+ ?FilePath@MPXTlsHelper@@SA?AV?$TBuf@$0BAA@@@XZ @ 53 NONAME ; class TBuf<256> MPXTlsHelper::FilePath(void)
+ ?HostUid@MPXTlsHelper@@SA?AVTUid@@XZ @ 54 NONAME ; class TUid MPXTlsHelper::HostUid(void)
+ ?NewL@CMPXAlbumArtUtil@@SAPAV1@XZ @ 55 NONAME ; class CMPXAlbumArtUtil * CMPXAlbumArtUtil::NewL(void)
+ ?SetNeedSave@MPXTlsHelper@@SAXH@Z @ 56 NONAME ; void MPXTlsHelper::SetNeedSave(int)
+ ??1CMPXLbxExtendedFeatures@@UAE@XZ @ 57 NONAME ; CMPXLbxExtendedFeatures::~CMPXLbxExtendedFeatures(void)
+ ?SpeedNaviUpdating@CMPXLbxExtendedFeatures@@QAEXH@Z @ 58 NONAME ; void CMPXLbxExtendedFeatures::SpeedNaviUpdating(int)
--- a/mpxmusicplayer/commonui/eabi/mpxcommonuiU.DEF Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/commonui/eabi/mpxcommonuiU.DEF Tue May 11 16:10:56 2010 +0300
@@ -18,7 +18,7 @@
_ZN14CMPXSaveHelperD1Ev @ 17 NONAME
_ZN14CMPXSaveHelperD2Ev @ 18 NONAME
_ZN16CMPXAlbumArtUtil13CancelRequestEv @ 19 NONAME
- _ZN16CMPXAlbumArtUtil16ExtractAlbumArtLERK9CMPXMediaR24MMPXAlbumArtUtilObserverRK5TSize12TDisplayMode @ 20 NONAME
+ _ZN16CMPXAlbumArtUtil16ExtractAlbumArtLERK9CMPXMediaR24MMPXAlbumArtUtilObserverRK5TSizei12TDisplayMode @ 20 NONAME
_ZN16CMPXAlbumArtUtil4NewLEv @ 21 NONAME
_ZN16CMPXAlbumArtUtilD0Ev @ 22 NONAME
_ZN16CMPXAlbumArtUtilD1Ev @ 23 NONAME
@@ -53,18 +53,18 @@
_ZN18CMPXCommonUiHelper23IsForegroundApplicationEi @ 52 NONAME
_ZN18CMPXCommonUiHelper23IsHostMessagingBrowserLEv @ 53 NONAME
_ZN18CMPXCommonUiHelper24RemoveMiddleSoftKeyLabelER24CEikButtonGroupContainer @ 54 NONAME
- _ZN18CMPXCommonUiHelper26DisplayableDurationInTextLEx @ 55 NONAME
- _ZN18CMPXCommonUiHelper4NewLEP21MMPXCollectionUtility @ 56 NONAME
- _ZN23CMPXLbxExtendedFeatures17SpeedNaviUpdatingEi @ 57 NONAME
- _ZN23CMPXLbxExtendedFeatures18EnableSpeedScrollLEi @ 58 NONAME
- _ZN23CMPXLbxExtendedFeatures18HandleLbxKeyEventLERK9TKeyEvent10TEventCode @ 59 NONAME
- _ZN23CMPXLbxExtendedFeatures4NewLEP15CEikTextListBoxi @ 60 NONAME
- _ZN23CMPXLbxExtendedFeaturesD0Ev @ 61 NONAME
- _ZN23CMPXLbxExtendedFeaturesD1Ev @ 62 NONAME
- _ZN23CMPXLbxExtendedFeaturesD2Ev @ 63 NONAME
- _ZTI13CMPXImageUtil @ 64 NONAME ; #<TI>#
- _ZTI16CMPXAlbumArtUtil @ 65 NONAME ; #<TI>#
- _ZTV13CMPXImageUtil @ 66 NONAME ; #<VT>#
- _ZTV16CMPXAlbumArtUtil @ 67 NONAME ; #<VT>#
- _ZN18CMPXCommonUiHelper25CancelCollectionOperationEv @ 68 NONAME
+ _ZN18CMPXCommonUiHelper25CancelCollectionOperationEv @ 55 NONAME
+ _ZN18CMPXCommonUiHelper26DisplayableDurationInTextLEx @ 56 NONAME
+ _ZN18CMPXCommonUiHelper4NewLEP21MMPXCollectionUtility @ 57 NONAME
+ _ZN23CMPXLbxExtendedFeatures17SpeedNaviUpdatingEi @ 58 NONAME
+ _ZN23CMPXLbxExtendedFeatures18EnableSpeedScrollLEi @ 59 NONAME
+ _ZN23CMPXLbxExtendedFeatures18HandleLbxKeyEventLERK9TKeyEvent10TEventCode @ 60 NONAME
+ _ZN23CMPXLbxExtendedFeatures4NewLEP15CEikTextListBoxi @ 61 NONAME
+ _ZN23CMPXLbxExtendedFeaturesD0Ev @ 62 NONAME
+ _ZN23CMPXLbxExtendedFeaturesD1Ev @ 63 NONAME
+ _ZN23CMPXLbxExtendedFeaturesD2Ev @ 64 NONAME
+ _ZTI13CMPXImageUtil @ 65 NONAME
+ _ZTI16CMPXAlbumArtUtil @ 66 NONAME
+ _ZTV13CMPXImageUtil @ 67 NONAME
+ _ZTV16CMPXAlbumArtUtil @ 68 NONAME
--- a/mpxmusicplayer/commonui/loc/mpxcommonui.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/commonui/loc/mpxcommonui.loc Tue May 11 16:10:56 2010 +0300
@@ -162,20 +162,20 @@
// *** Playlist ***
// d:Options menu item for adding to a playlist.
-// l:list_single_pane_t1_cp2/opt3
-// r:3.1
+// l:heading_pane_t1
+// r:5.2
//
#define qtn_mus_options_add_to_pl "Add to a playlist"
// d:Options menu item for adding to a new playlist.
-// l:list_single_popup_submenu_pane_t1
-// r:3.1
+// l:list_single_pane_t1_cp2
+// r:5.2
//
#define qtn_nmp_sub_add_to_playlist_new "New playlist"
// d:Options menu item for adding to a saved playlist.
-// l:list_single_popup_submenu_pane_t1
-// r:3.1
+// l:list_single_pane_t1_cp2
+// r:5.2
//
#define qtn_nmp_sub_add_to_playlist_saved "Saved playlist"
--- a/mpxmusicplayer/commonui/src/mpxalbumartutil.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/commonui/src/mpxalbumartutil.cpp Tue May 11 16:10:56 2010 +0300
@@ -29,17 +29,9 @@
#include "mpxalbumartutil.h"
#include <thumbnaildata.h>
#include <thumbnailobjectsource.h>
-#include <centralrepository.h>
-
-#define THUMBNAIL_CENREP_UID 0x102830B0
-
-const TUint32 KSizeAudioGridWidth = 0x12;
-const TUint32 KSizeAudioGridHeight = 0x13;
-const TUint32 KSizeAudioFullscreenWidth = 0x16;
-const TUint32 KSizeAudioFullscreenHeight = 0x17;
-
_LIT( KMPXAlbumMimeType, "audio/mpeg3" );
+
// ============================== MEMBER FUNCTIONS ============================
// ----------------------------------------------------------------------------
@@ -90,25 +82,10 @@
//
void CMPXAlbumArtUtil::ConstructL()
{
- MPX_FUNC("CMPXAlbumArtUtil::ConstructL()");
- iThumbnailManager = CThumbnailManager::NewL( *this );
- iThumbnailManager->SetFlagsL( CThumbnailManager::EDefaultFlags );
- iThumbnailManager->SetQualityPreferenceL( CThumbnailManager::EOptimizeForPerformance );
- //cenrep
- CRepository* repository;
- repository = CRepository::NewL( TUid::Uid(THUMBNAIL_CENREP_UID));
-
- TInt xSize( 0 );
- TInt ySize( 0 );
- User::LeaveIfError( repository->Get( KSizeAudioGridWidth, xSize ));
- User::LeaveIfError( repository->Get( KSizeAudioGridHeight, ySize ));
- iGridViewImageSize.SetSize(xSize,ySize);
-
- User::LeaveIfError( repository->Get( KSizeAudioFullscreenWidth, xSize ));
- User::LeaveIfError( repository->Get( KSizeAudioFullscreenHeight, ySize ));
- iFullScreenImageSize.SetSize(xSize,ySize);
- delete repository;
- repository = NULL;
+ MPX_FUNC("CMPXAlbumArtUtil::ConstructL()");
+ iThumbnailManager = CThumbnailManager::NewL( *this );
+ iThumbnailManager->SetFlagsL( CThumbnailManager::EDefaultFlags );
+ iThumbnailManager->SetQualityPreferenceL( CThumbnailManager::EOptimizeForPerformance );
}
// ----------------------------------------------------------------------------
@@ -118,6 +95,7 @@
EXPORT_C void CMPXAlbumArtUtil::ExtractAlbumArtL(const CMPXMedia& aMedia,
MMPXAlbumArtUtilObserver& aObs,
const TSize& aSize,
+ TBool aLargestFromCache,
TDisplayMode aDisplayMode /*= EColor64K*/)
{
MPX_DEBUG1("CMPXAlbumArtUtil::ExtractAlbumArtL(): Entering");
@@ -150,18 +128,16 @@
aMedia.IsSupported( KMPXMediaMusicAlbumArtFileName ))
{
iFilename = aMedia.ValueText( KMPXMediaMusicAlbumArtFileName ).AllocL();
- if(aSize == iFullScreenImageSize)
- {
+
+ if ( aLargestFromCache )
+ {
iThumbnailManager->SetThumbnailSizeL(EAudioFullScreenThumbnailSize);
- }
- else if(aSize == iGridViewImageSize)
- {
- iThumbnailManager->SetThumbnailSizeL(EAudioGridThumbnailSize);
- }
- else
- {
+ }
+ else
+ {
iThumbnailManager->SetThumbnailSizeL(aSize);
- }
+ }
+
ExtractThumbnailL(&aMedia);
}
else
--- a/mpxmusicplayer/mediakeyhandler/data/mpxmediakeyhandler.rss Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/mediakeyhandler/data/mpxmediakeyhandler.rss Tue May 11 16:10:56 2010 +0300
@@ -40,6 +40,17 @@
// RESOURCE DEFINITIONS
// -----------------------------------------------------------------------------
+// r_mpx_avsrc_name_text
+// AV source name shown in AVRCP 1.4 devices.
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_mpx_avsrc_name_text
+ {
+ buf = qtn_svk_title_music_player;
+ }
+
+
+// -----------------------------------------------------------------------------
// r_mpx_volume_popup_text
// Text shown in volume popup dialog.
// -----------------------------------------------------------------------------
--- a/mpxmusicplayer/mediakeyhandler/group/mpxmediakeyhandler.mmp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/mediakeyhandler/group/mpxmediakeyhandler.mmp Tue May 11 16:10:56 2010 +0300
@@ -73,6 +73,7 @@
LIBRARY remconinterfacebase.lib
LIBRARY mpxplaybackutility.lib
LIBRARY mpxcommon.lib
+LIBRARY charconv.lib // Unicode character conversions
#ifdef IAD_INCLUDE_UPNP
LIBRARY upnpcommand.lib
#endif
--- a/mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp Tue May 11 16:10:56 2010 +0300
@@ -27,6 +27,7 @@
#include <bautils.h>
#include <StringLoader.h>
#include <apgwgnam.h>
+#include <utf.h>
#ifdef UPNP_INCLUDED
#include <upnpcopycommand.h>
@@ -68,6 +69,19 @@
const TInt KTenStepsVolume = 10;
const TInt KTwentyStepsVolume = 20;
+const TRemConCoreApiOperationId KSupportedCoreFeatures[] = {
+ ERemConCoreApiVolumeUp,
+ ERemConCoreApiVolumeDown,
+ ERemConCoreApiPlay,
+ ERemConCoreApiStop,
+ ERemConCoreApiPause,
+ ERemConCoreApiRewind,
+ ERemConCoreApiFastForward,
+ ERemConCoreApiForward,
+ ERemConCoreApiBackward,
+ ERemConCoreApiPausePlayFunction
+};
+
_LIT( KMPXMediaKeyHandlerRscPath, "mpxmediakeyhandler.rsc" );
@@ -105,10 +119,24 @@
// Register to remote control framework
iInterfaceSelector = CRemConInterfaceSelector::NewL();
- iCoreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this );
+
+ // For AVRCP 1.4 support, pass the core features to the target API.
+ TInt entrySize = sizeof( KSupportedCoreFeatures[0] );
+ TRemConCoreApiOperationId* entries = (TRemConCoreApiOperationId*) &KSupportedCoreFeatures[0];
+ TInt count = sizeof( KSupportedCoreFeatures ) / entrySize;
+ RArray<TRemConCoreApiOperationId> coreFeatures( entrySize, entries, count );
+ iCoreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this, coreFeatures );
+
// For handling AVRCP 1.3 metadata
iMetaDataHandler = MMPXMetaDataHandler::NewL(*iInterfaceSelector);
- iInterfaceSelector->OpenTargetL();
+
+ // For AVRCP 1.4 support, make the player named.
+ HBufC* avsrcname = StringLoader::LoadLC( R_MPX_AVSRC_NAME_TEXT );
+ HBufC8* avsrcname8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( avsrcname->Des() );
+ CleanupStack::PushL( avsrcname8 );
+ iInterfaceSelector->OpenTargetL(ERemConAudioPlayer, ERemConNoSubType, *avsrcname8);
+ CleanupStack::PopAndDestroy( avsrcname8 );
+ CleanupStack::PopAndDestroy( avsrcname );
iResponseHandler = CMPXRemConKeyResponse::NewL( *iCoreTarget );
// Timer for implementing repeat
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbalbum.h Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbalbum.h Tue May 11 16:10:56 2010 +0300
@@ -31,6 +31,13 @@
public:
virtual TInt HandleIsUnknownArtistL(TUint32 aId) = 0;
virtual TUint32 HandleArtistForAlbumL( const TUint32 aId ) = 0;
+ /**
+ * HandleAlbumartForAlbumL.
+ * @param aId, The album ID.
+ * @param aArt, The albumart uri.
+ * @returns alternative albumart retrieved in the specified Album.
+ */
+ virtual HBufC* HandleAlbumartForAlbumL( const TUint32 aId, TPtrC aArt ) = 0;
};
/**
* Responsible for managing all music databases
@@ -95,42 +102,43 @@
* category was deleted
* @param aItemExist Out parameter, ETrue if the category is not deleted after the delete,
* EFalse otherwise
- * @param aArtist: The ID of the artist
+ * @param aArtist: The ID of the artist
+ * @param aArt: The albumart uri
*/
void DecrementSongsForCategoryL(TUint32 aId, TInt aDriveId,
- CMPXMessageArray* aItemChangedMessages, TBool& aItemExist, const TUint32 aArtist);
+ CMPXMessageArray* aItemChangedMessages, TBool& aItemExist, const TUint32 aArtist, const TDesC& aArt );
- /**
- * Gets the details for all category items.
- * @param aAttrs attributes to be returned
- * @param aMediaArray returns the requested attributes for all items
- */
- void GetAllCategoryItemsL(const TArray<TMPXAttribute>& aAttrs,
- CMPXMediaArray& aMediaArray);
+ /**
+ * Gets the details for all category items.
+ * @param aAttrs attributes to be returned
+ * @param aMediaArray returns the requested attributes for all items
+ */
+ void GetAllCategoryItemsL(const TArray<TMPXAttribute>& aAttrs,
+ CMPXMediaArray& aMediaArray);
- /**
- * Update a category item.
- * @param aId: The ID of the category to update
- * @param aMedia: The media data
- * @param aDriveId: The Drive Id the name (category) belongs
- * @param aItemChangedMessages: if valid on return contains a updated message if the
+ /**
+ * Update a category item.
+ * @param aId: The ID of the category to update
+ * @param aMedia: The media data
+ * @param aDriveId: The Drive Id the name (category) belongs
+ * @param aItemChangedMessages: if valid on return contains a updated message if the
* category was updated
- */
- void UpdateItemL(TUint32 aId, const CMPXMedia& aMedia, TInt aDriveId, CMPXMessageArray* aItemChangedMessages);
+ */
+ void UpdateItemL(TUint32 aId, const CMPXMedia& aMedia, TInt aDriveId, CMPXMessageArray* aItemChangedMessages);
- public:
- /**
- * Get albums count for a specified artist
- * @param aId: The ID of the artist
- */
- TInt GetAlbumsCountForArtistL(TUint32 aArtistId);
+ public:
+ /**
+ * Get albums count for a specified artist
+ * @param aId: The ID of the artist
+ */
+ TInt GetAlbumsCountForArtistL(TUint32 aArtistId);
- /**
- * Get songs count for a specified album and a specified artist
- * @param aArtistId: The ID of the artist
- * @param aAlbumId: The ID of the album
- */
- TInt GetSongsCountInAlbumMatchingArtistL(TUint32 aArtistId, TUint32 aAlbumId);
+ /**
+ * Get songs count for a specified album and a specified artist
+ * @param aArtistId: The ID of the artist
+ * @param aAlbumId: The ID of the album
+ */
+ TInt GetSongsCountInAlbumMatchingArtistL(TUint32 aArtistId, TUint32 aAlbumId);
private:
/**
@@ -149,13 +157,20 @@
* @param aValues values of each field of Album table
* @return a string containing the selection criteria. The ownership is passed to the caller.
*/
- void GenerateAlbumFieldsValuesL(const CMPXMedia& aMedia,
- CDesCArray& aFields, CDesCArray& aValues);
+ void GenerateAlbumFieldsValuesL(const CMPXMedia& aMedia,
+ CDesCArray& aFields, CDesCArray& aValues);
- TBool IsUnknownArtistL(TUint32 aId);
+ TBool IsUnknownArtistL(TUint32 aId);
- TUint32 ArtistForAlbumL(const TUint32 aId);
+ TUint32 ArtistForAlbumL(const TUint32 aId);
+ /**
+ * Get the Albumart of song which belongs to the specified Album.
+ * @param aId The ID of the album
+ * @param aArt albumart with the song is deleted.
+ * @returns alternative albumart retrieved in the specified Album.
+ */
+ HBufC* AlbumartForAlbumL(const TUint32 aId, TPtrC aArt);
private: // from MMPXTable
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbhandler.h Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbhandler.h Tue May 11 16:10:56 2010 +0300
@@ -1082,8 +1082,16 @@
/**
* @see MMPXDbAlbumObserver
*/
- virtual TBool HandleIsUnknownArtistL(TUint32 aArtistId);
- virtual TUint32 HandleArtistForAlbumL(const TUint32 aAlbumId);
+ virtual TBool HandleIsUnknownArtistL(TUint32 aArtistId);
+ virtual TUint32 HandleArtistForAlbumL(const TUint32 aAlbumId);
+
+ /**
+ * Get the Albumart of song which belongs to the specified Album.
+ * @param aId, The Album ID.
+ * @param aArt, the AlbumArt uri.
+ * @returns alternative albumart retrieved in the specified Album.
+ */
+ virtual HBufC* HandleAlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt);
private: // From MMPXDbPlaylistObserver
/**
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbmusic.h Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbmusic.h Tue May 11 16:10:56 2010 +0300
@@ -129,7 +129,7 @@
*/
virtual HBufC* HandleGetAlbumNameFromIdL( TUint32 aId ) = 0;
#endif // ABSTRACTAUDIOALBUM_INCLUDED
- };
+ };
/**
* Responsible for managing the Music table
@@ -245,10 +245,11 @@
* @param aComposerId returns the artist ID
* @param aAbstractAlbumId returns the AbstractAlbum ID
* @param aDriveId returns the song drive
+ * @param aArt returns the albumart uri
* @return song URI. The ownership is transferred.
*/
HBufC* GetSongInfoL(TUint32 aSongId, TUint32& aArtistId, TUint32& aAlbumId,
- TUint32& aGenreId, TUint32& aComposerId, TUint32& aAbstractAlbumId, TInt& aDriveId);
+ TUint32& aGenreId, TUint32& aComposerId, TUint32& aAbstractAlbumId, TInt& aDriveId, HBufC*& aArt);
#else
/**
* Get the drive and category IDs for a specified song
@@ -258,10 +259,11 @@
* @param aGenreId returns the artist ID
* @param aComposerId returns the artist ID
* @param aDriveId returns the song drive
+ * @param aArt returns the albumart uri
* @return song URI. The ownership is transferred.
*/
HBufC* GetSongInfoL(TUint32 aSongId, TUint32& aArtistId, TUint32& aAlbumId,
- TUint32& aGenreId, TUint32& aComposerId, TInt& aDriveId);
+ TUint32& aGenreId, TUint32& aComposerId, TInt& aDriveId, HBufC*& aArt);
#endif // ABSTRACTAUDIOALBUM_INCLUDED
/**
* Get the song Id, title, URI, and general flags from the given song Id and/or URI
@@ -527,6 +529,15 @@
* @param aId, the ID of Album
*/
TUint32 CMPXDbMusic::ArtistForAlbumL(const TUint32 aId);
+
+ /**
+ * Get the Albumart of song which belongs to the specified Album
+ * @param aId, the ID of Album
+ * @param aArt, AlbumArt uri
+ * @returns alternative albumart retrieved in the specified Album.
+ */
+ HBufC* AlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt);
+
/*
* Check the integrity of the music basic table
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbpluginqueries.h Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/inc/mpxdbpluginqueries.h Tue May 11 16:10:56 2010 +0300
@@ -222,11 +222,14 @@
// Select songs information from music, playlistsongs and playlistsonginfo via playlistid order by playlistsongs's ordinal
_LIT(KQueryMusicGetAllSongsbyPl,"select mu.UniqueId,mu.DbFlag,mu.VolumeId,mu.Title,mu.Artist,mu.Art,0,mu.Location,pl.UniqueId as PlUId, pl.ordinal from :dbname.music as mu,:pldbname.playlistsongs as pl where mu.Deleted=0 AND mu.uniqueid = pl.songid and pl.playlistid =%u ORDER BY 10");
+#ifdef ABSTRACTAUDIOALBUM_INCLUDED
+_LIT(KQueryMusicGetAllSongsInfobyPl,"SELECT Music.*,Artist.Name,Album.Name,Genre.Name,Composer.Name,pl.UniqueId as PlUId,pl.ordinal FROM :dbname.Music,:dbname.Artist,:dbname.Album,:dbname.Genre,:dbname.Composer,:pldbname.playlistsongs as pl WHERE Music.Deleted=0 AND Music.Album=Album.UniqueId AND Music.Artist=Artist.UniqueId AND Music.Genre=Genre.UniqueId AND Music.Composer=Composer.UniqueId AND Music.UniqueId=pl .songid and pl .PlaylistId=%u ORDER BY 40");
+#else
_LIT(KQueryMusicGetAllSongsInfobyPl,"SELECT Music.*,Artist.Name,Album.Name,Genre.Name,Composer.Name,pl.UniqueId as PlUId,pl.ordinal FROM :dbname.Music,:dbname.Artist,:dbname.Album,:dbname.Genre,:dbname.Composer,:pldbname.playlistsongs as pl WHERE Music.Deleted=0 AND Music.Album=Album.UniqueId AND Music.Artist=Artist.UniqueId AND Music.Genre=Genre.UniqueId AND Music.Composer=Composer.UniqueId AND Music.UniqueId=pl .songid and pl .PlaylistId=%u ORDER BY 37");
-
+#endif
_LIT(KQuerySongsInArtistAlbum, "SELECT count(*) FROM :dbname.Music WHERE Deleted=0 AND Artist=%u AND Album=%u");
_LIT(KQueryMusicGetArtistForAlbum, "SELECT Artist FROM :dbname.Music,:dbname.Artist WHERE Music.Deleted=0 AND Music.Artist=Artist.UniqueId AND Music.Album=%u");
-
+_LIT(KQueryMusicGetAlbumartForAlbum, "SELECT Art FROM :dbname.Music WHERE Music.Deleted=0 AND Music.Album=%u");
// == Category table queries ==================================================
//
_LIT(KCategoryTablePlaceholder, "##table##");
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/loc/mpxcollectiondbhg.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/loc/mpxcollectiondbhg.loc Tue May 11 16:10:56 2010 +0300
@@ -76,14 +76,14 @@
#define qtn_nmp_all_by "All"
// d:Title for first item in music library menu.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_all_tracks "All songs"
// d:Title for second item in music library menu.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_pls "Playlists"
@@ -105,8 +105,8 @@
#define qtn_mus_title_album "Album"
// d:Title for fifth item in music library menu.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_genres "Genres"
@@ -117,8 +117,8 @@
#define qtn_mus_title_composers "Composers"
// d:Title for Most Played item in the playlists menu
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_most_played "Most played"
@@ -129,8 +129,8 @@
#define qtn_mus_pl_most_played "Most played"
// d:Title for Recently Played item in the playlists menu
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_recently_played "Recently played"
@@ -141,8 +141,8 @@
#define qtn_mus_pl_recently_played "Recently played"
// d:Title for Recently Added item in the playlists menu
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_recently_downloaded "Recently added"
@@ -179,7 +179,7 @@
#define qtn_mus_title_music_menu "Music Menu"
// d:Title for Artists & Albums view in portrait mode
-// l:title_pane_t2/opt9
+// l:title_pane_t1/opt3
// r:5.2
//
#define qtn_mus_title_artists_and_albums "Artists & Albums"
@@ -203,7 +203,7 @@
#define qtn_mus_music_one_song_duration "1 song - %U"
// d:Title for Songs view
-// l:title_pane_t2/opt9
+// l:title_pane_t1/opt3
// r:5.2
//
#define qtn_mus_title_tracks "Songs"
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbabstractalbum.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbabstractalbum.cpp Tue May 11 16:10:56 2010 +0300
@@ -323,13 +323,19 @@
RSqlStatement recordset(GetCategoryRecordL(aId));
CleanupClosePushL(recordset);
-
- if (recordset.Next() != KSqlAtRow)
+ HBufC* uri = NULL;
+ if (recordset.Next() == KSqlAtRow)
+ {
+ uri = MPXDbCommonUtil::GetColumnTextL(recordset, EAbstractAlbumUri).AllocL();
+ }
+ else
{
- User::LeaveIfError(KErrNotFound);
+ //entry is deleted due to garbage collection
+ MPX_DEBUG1("CMPXDbAbstractAlbum::GetUriL, no uri, entry is deleted due to garbage collection");
+ TPtrC nullUri(KNullDesC);
+ uri = nullUri.AllocL();
}
- HBufC* uri = MPXDbCommonUtil::GetColumnTextL(recordset, EAbstractAlbumUri).AllocL();
- CleanupStack::PopAndDestroy(&recordset);
+ CleanupStack::PopAndDestroy(&recordset);
return uri;
}
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbalbum.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbalbum.cpp Tue May 11 16:10:56 2010 +0300
@@ -33,6 +33,9 @@
#include "mpxdbalbum.h"
// CONSTANTS
+#ifdef ABSTRACTAUDIOALBUM_INCLUDED
+_LIT( KAbstractAlbumExt, ".alb" );
+#endif // ABSTRACTAUDIOALBUM_INCLUDED
// ============================ MEMBER FUNCTIONS ==============================
@@ -202,7 +205,8 @@
TInt aDriveId,
CMPXMessageArray* aItemChangedMessages,
TBool& aItemExist,
- const TUint32 aArtist)
+ const TUint32 aArtist,
+ const TDesC& aArt)
{
MPX_FUNC("CMPXDbAlbum::DecrementSongsForCategoryL");
@@ -237,8 +241,7 @@
}
TUint32 artistId = recordset.ColumnInt64(EAlbumArtist);
-
- CleanupStack::PopAndDestroy(&recordset);
+ TBool itemModified = EFalse;
// the current artist is equal to deleted song's artist
if ( artistId == aArtist )
@@ -252,16 +255,63 @@
iDbManager.ExecuteQueryL(aDriveId, KQueryAlbumUpdate, setStr, aId);
CleanupStack::PopAndDestroy(setStr);
-
- if (aItemChangedMessages)
- {
- // add the item changed message
- MPXDbCommonUtil::AddItemAlbumChangedMessageL(*aItemChangedMessages, aId, EMPXItemModified,
- EMPXAlbum, KDBPluginUid, ETrue, 0 );
- }
+ itemModified = ETrue;
}
}
+#ifdef ABSTRACTAUDIOALBUM_INCLUDED
+ TBool nonEmbeddedArt = EFalse;
+ if (aArt.Length()>0)
+ {
+ TParsePtrC parse(aArt);
+ TPtrC ext(parse.Ext());
+ //set flag to false, so .alb will not overwrite art field in album, artist table
+ // when song with embedded art
+ if (ext.CompareF(KAbstractAlbumExt)== 0)
+ {
+ nonEmbeddedArt = ETrue;
+ }
+ }
+ if (!nonEmbeddedArt)
+ {
+#endif // ABSTRACTAUDIOALBUM_INCLUDED
+ TPtrC art(MPXDbCommonUtil::GetColumnTextL(recordset, EAlbumArt));
+ // the current art is equal to deleted song's art
+ if(aArt.Length()>0 && art.Length()>0 && aArt.CompareF(art) ==0 )
+ {
+ MPX_DEBUG2("AlbumArt of the Song to be deleted is [%S]", &aArt);
+
+ //need to get alternative art in the same album to display
+ HBufC* newArt = AlbumartForAlbumL(aId, aArt);
+ CleanupStack::PushL(newArt);
+
+ //update Album table only if alternative albumart found
+ if (newArt)
+ {
+ MPX_DEBUG1("CMPXDbAlbum::DecrementSongsForCategoryL, get newArt");
+ HBufC* artReplaceSingleQuote = MPXDbCommonUtil::ProcessSingleQuotesLC( *newArt );
+ _LIT( KFormatArt, "Art=\'%S\'" );
+ HBufC* setStr = HBufC::NewLC(256);
+ setStr->Des().Format( KFormatArt, artReplaceSingleQuote );
+
+ iDbManager.ExecuteQueryL(aDriveId, KQueryAlbumUpdate, setStr, aId);
+ CleanupStack::PopAndDestroy(setStr);
+ CleanupStack::PopAndDestroy(artReplaceSingleQuote);
+ itemModified = ETrue;
+ }
+ CleanupStack::PopAndDestroy(newArt);
+ }
+#ifdef ABSTRACTAUDIOALBUM_INCLUDED
+ }
+#endif // ABSTRACTAUDIOALBUM_INCLUDED
+ if (aItemChangedMessages && itemModified)
+ {
+ // add the item changed message
+ MPXDbCommonUtil::AddItemAlbumChangedMessageL(*aItemChangedMessages, aId, EMPXItemModified,
+ EMPXAlbum, KDBPluginUid, ETrue, 0 );
+ }
+ CleanupStack::PopAndDestroy(&recordset);
+
// decrement the number of songs for the category
query = PreProcessStringLC(KQueryCategoryDecrementSongCount);
iDbManager.ExecuteQueryL(aDriveId, *query, aId);
@@ -510,6 +560,15 @@
}
// ----------------------------------------------------------------------------
+// CMPXDbAlbum::AlbumartForAlbumL
+// ----------------------------------------------------------------------------
+//
+HBufC* CMPXDbAlbum::AlbumartForAlbumL(const TUint32 aId, TPtrC aArt)
+ {
+ return iObserver.HandleAlbumartForAlbumL(aId, aArt);
+ }
+
+// ----------------------------------------------------------------------------
// CMPXDbAlbum::CreateTableL
// ----------------------------------------------------------------------------
//
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp Tue May 11 16:10:56 2010 +0300
@@ -2114,6 +2114,7 @@
TUint32 albumID(0);
TUint32 genreID(0);
TUint32 composerID(0);
+ HBufC* art(NULL);
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
TUint32 abstractAlbumID(0);
#endif // ABSTRACTAUDIOALBUM_INCLUDED
@@ -2121,11 +2122,12 @@
// Get information from the Music table first
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
- HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, abstractAlbumID, drive);
+ HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, abstractAlbumID, drive, art);
#else
- HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, drive);
+ HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, drive, art);
#endif // ABSTRACTAUDIOALBUM_INCLUDED
+ CleanupStack::PushL(art);
// add the URI to the return array
CleanupStack::PushL(uri);
aUriArray.AppendL(*uri);
@@ -2134,9 +2136,10 @@
// Update the category records
TBool categoryExist( EFalse );
iDbArtist->DecrementSongsForCategoryL(artistID, drive, &aItemChangedMessages, categoryExist);
- iDbAlbum->DecrementSongsForCategoryL(albumID, drive, &aItemChangedMessages, categoryExist, artistID);
+ iDbAlbum->DecrementSongsForCategoryL(albumID, drive, &aItemChangedMessages, categoryExist, artistID, *art);
iDbGenre->DecrementSongsForCategoryL(genreID, drive, &aItemChangedMessages, categoryExist);
iDbComposer->DecrementSongsForCategoryL(composerID, drive, &aItemChangedMessages, categoryExist);
+ CleanupStack::PopAndDestroy(art);
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
if (abstractAlbumID)
{
@@ -3355,10 +3358,23 @@
return iDbArtist->IsUnknownArtistL(aArtistId);
}
+// ---------------------------------------------------------------------------
+// CMPXDbHandler::HandleArtistForAlbumL
+// ---------------------------------------------------------------------------
+//
TUint32 CMPXDbHandler::HandleArtistForAlbumL(const TUint32 aAlbumId)
{
return iDbMusic->ArtistForAlbumL(aAlbumId);
}
+
+// ---------------------------------------------------------------------------
+// CMPXDbHandler::HandleAlbumartForAlbumL
+// ---------------------------------------------------------------------------
+//
+HBufC* CMPXDbHandler::HandleAlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt)
+ {
+ return iDbMusic->AlbumartForAlbumL(aAlbumId, aArt);
+ }
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
// ----------------------------------------------------------------------------------------------------------
// CMPXDbHandler::HandleGetAlbumNameForSongL
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbmusic.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbhgplugin/src/mpxdbmusic.cpp Tue May 11 16:10:56 2010 +0300
@@ -448,7 +448,8 @@
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
TUint32& aAbstractAlbumId,
#endif // ABSTRACTAUDIOALBUM_INCLUDED
- TInt& aDriveId)
+ TInt& aDriveId,
+ HBufC*& aArt)
{
MPX_FUNC("CMPXDbMusic::GetSongInfoL");
@@ -469,6 +470,7 @@
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
aAbstractAlbumId = recordset.ColumnInt64(EMusicAbstractAlbum);
#endif // ABSTRACTAUDIOALBUM_INCLUDED
+ aArt = MPXDbCommonUtil::GetColumnTextL(recordset, EMusicArt).AllocL();
HBufC* uri = ConstructUriL(recordset);
CleanupStack::PopAndDestroy(&recordset);
@@ -1063,6 +1065,31 @@
}
// ----------------------------------------------------------------------------
+// CMPXDbMusic::AlbumartForAlbumL
+// ----------------------------------------------------------------------------
+//
+HBufC* CMPXDbMusic::AlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt)
+ {
+ MPX_FUNC("CMPXDbMusic::AlbumartForAlbumL");
+ RSqlStatement recordset(iDbManager.ExecuteSelectQueryL(KQueryMusicGetAlbumartForAlbum, aAlbumId));
+ HBufC* albumart(NULL);
+
+ CleanupClosePushL(recordset);
+ TInt err(KErrNone);
+ while ((err = recordset.Next()) == KSqlAtRow)
+ {
+ TPtrC art(MPXDbCommonUtil::GetColumnTextL(recordset, KMPXTableDefaultIndex));
+ if (art.Length()>0 && art.Compare(KNullDesC)!=0 && art.CompareF(aArt)!=0 )
+ {
+ albumart = art.AllocL();
+ break;
+ }
+ }
+
+ CleanupStack::PopAndDestroy(&recordset);
+ return albumart;
+ }
+// ----------------------------------------------------------------------------
// CMPXDbMusic::SongExistsL
// ----------------------------------------------------------------------------
//
@@ -1150,11 +1177,19 @@
MPX_DEBUG1(" !aMedia.IsSupported(KMPXMediaGeneralId)");
TUint32 songId(aMusicTable.ColumnInt64(EMusicUniqueId));
TInt columnCount(aMusicTable.ColumnCount());
+#ifdef ABSTRACTAUDIOALBUM_INCLUDED
+ if(columnCount == 40 && aMusicTable.ColumnIndex(_L("PlUId"))==38)
+ {
+ TUint32 pListUId(aMusicTable.ColumnInt64(38));
+ aMedia.SetTObjectValueL<TMPXItemId>(KMPXMediaGeneralId, TMPXItemId(pListUId, songId));
+ }
+#else
if(columnCount == 37 && aMusicTable.ColumnIndex(_L("PlUId"))==35)
{
TUint32 pListUId(aMusicTable.ColumnInt64(35));
aMedia.SetTObjectValueL<TMPXItemId>(KMPXMediaGeneralId, TMPXItemId(pListUId, songId));
}
+#endif
else
{
aMedia.SetTObjectValueL<TMPXItemId>(KMPXMediaGeneralId, songId);
--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbplugin/loc/mpxcollectiondb.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbplugin/loc/mpxcollectiondb.loc Tue May 11 16:10:56 2010 +0300
@@ -77,14 +77,14 @@
#define qtn_nmp_all_by "All"
// d:Title for first item in music library menu.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_all_tracks "All songs"
// d:Title for second item in music library menu.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_pls "Playlists"
@@ -106,8 +106,8 @@
#define qtn_mus_title_album "Album"
// d:Title for fifth item in music library menu.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_genres "Genres"
--- a/mpxplugins/serviceplugins/playbackplugins/progressdownloadsb/src/mpxprogressdownloadsb.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/serviceplugins/playbackplugins/progressdownloadsb/src/mpxprogressdownloadsb.cpp Tue May 11 16:10:56 2010 +0300
@@ -320,6 +320,7 @@
break;
}
case EPbCmdPause:
+ {
if ( EPbDlStateDownloadCompleted == iDownloadState && iConsumeStarted )
{
ConsumeRights( ContentAccess::EPause );
@@ -327,6 +328,7 @@
TInt ret = iMStreamControl->Pause();
iObs->HandlePluginEvent(MMPXPlaybackPluginObserver::EPPaused, 0, ret);
break;
+ }
case EPbCmdStop:
iMStreamControl->Stop();
iObs->HandlePluginEvent(MMPXPlaybackPluginObserver::EPStopped,
--- a/mpxplugins/viewplugins/inc/mpxmetadataeditordialog.h Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/inc/mpxmetadataeditordialog.h Tue May 11 16:10:56 2010 +0300
@@ -662,6 +662,7 @@
CIdle* iIdle;
TBool iTryingExit;
DRM::CDrmUiHandling* iDrmUiHandler;
+ MMPXPlaybackUtility* iPlaybackUtility; // not own, but need to close
};
#endif // MPXMETADATAEDITORDIALOG_H
--- a/mpxplugins/viewplugins/views/collectionview/loc/mpxcollectionview.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/collectionview/loc/mpxcollectionview.loc Tue May 11 16:10:56 2010 +0300
@@ -258,7 +258,7 @@
// d:Collection details popup label.
// d:Label for collection details popup, available phone memory.
-// l:list_single_heading_pane_t1_cp2
+// l:list_single_heading_pane_t2_cp2
// r:5.0
//
#define qtn_nmp_details_phone_memory "Phone Memory"
@@ -371,8 +371,9 @@
//
#define qtn_nmp_prmpt_new_name "New name:"
-// d:Unknown in listbox.
-// l:list_single_graphic_pane_t1
+// d:Text for an item with unknown description
+// d:Part of text for wait note
+// l:popup_note_wait_window
// r:5.0
//
#define qtn_mp_list_unknown "Unknown"
@@ -390,8 +391,8 @@
#define qtn_mus_title_unknown_album "Unknown album"
// d:Unknown genre in title.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_unknown_genre "Unknown genre"
--- a/mpxplugins/viewplugins/views/collectionviewhg/loc/mpxcollectionviewhg.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/collectionviewhg/loc/mpxcollectionviewhg.loc Tue May 11 16:10:56 2010 +0300
@@ -406,8 +406,8 @@
#define qtn_mus_title_unknown_album "Unknown album"
// d:Unknown genre in title.
-// l:title_pane_t2/opt9
-// r:5.0
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_unknown_genre "Unknown genre"
--- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue May 11 16:10:56 2010 +0300
@@ -4359,7 +4359,16 @@
{
if( iCurrentViewType == EMPXViewMediawall )
{
- ShowAlbumSongsDialogL( aResults );
+ // do not call ShowAlbumSongsDialogL if song count = 0
+ // otherwise panic occurs
+ if( songArray->Count() )
+ {
+ ShowAlbumSongsDialogL( aResults );
+ }
+ else
+ {
+ iMediaWall->StartOpeningAnimationL( EFalse );
+ }
}
else
{
@@ -4478,7 +4487,8 @@
TInt songCount = songArray->Count();
CDesC16ArrayFlat* songList = new (ELeave) CDesC16ArrayFlat(songCount);
-
+ CleanupStack::PushL(songList);
+
if ( songCount > 1 )
{
HBufC* shuffleText = StringLoader::LoadLC(
@@ -4528,6 +4538,7 @@
CTextListBoxModel* model = listBox->Model();
model->SetItemTextArray( songList );
+ CleanupStack::Pop(); // songList
model->SetOwnershipType( ELbmOwnsItemArray );
CleanupStack::Pop( dialog );
iDialog = dialog;
--- a/mpxplugins/viewplugins/views/commonplaybackview/loc/mpxcommonplaybackview.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/commonplaybackview/loc/mpxcommonplaybackview.loc Tue May 11 16:10:56 2010 +0300
@@ -59,8 +59,8 @@
// d:Text in title pane
// d:Player view
-// l:title_pane_t2/opt9
-// r:3.1
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_nmp_title_now_playing "Now Playing"
--- a/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewcontainer.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewcontainer.cpp Tue May 11 16:10:56 2010 +0300
@@ -725,8 +725,6 @@
}
DrawDeferred();
- //Window().Invalidate( iAlbumArtRect );
- //Window().Invalidate( iSliderPaneRect );
}
// ---------------------------------------------------------------------------
@@ -805,8 +803,6 @@
else if ( aType == KEikDynamicLayoutVariantSwitch )
{
iLayoutObserver->HandleLayoutChange();
- UpdateBackgroundSkinControlContext( Rect() );
-
}
else
{
@@ -1267,7 +1263,7 @@
MTouchFeedback* feedback = MTouchFeedback::Instance();
if (feedback)
{
- feedback->InstantFeedback(ETouchFeedbackBasic);
+ feedback->InstantFeedback(ETouchFeedbackPopUp);
}
if ( iCommandObserver )
--- a/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp Tue May 11 16:10:56 2010 +0300
@@ -162,10 +162,6 @@
_LIT(KMPXRnRealAudioMimeType, "audio/vnd.rn-realaudio");
#endif
-#define THUMBNAIL_CENREP_UID 0x102830B0 // from thumbnailmanageruids.hrh
-const TUint32 KSizeAudioFullscreenWidth = 0x16;
-const TUint32 KSizeAudioFullscreenHeight = 0x17;
-
// ======== MEMBER FUNCTIONS ========
@@ -215,16 +211,6 @@
CleanupStack::PopAndDestroy( repository );
repository = NULL;
- repository = CRepository::NewLC( TUid::Uid(THUMBNAIL_CENREP_UID));
-
- TInt xSize( 0 );
- TInt ySize( 0 );
- User::LeaveIfError( repository->Get( KSizeAudioFullscreenWidth, xSize ));
- User::LeaveIfError( repository->Get( KSizeAudioFullscreenHeight, ySize ));
- iFullScreenImageSize.SetSize(xSize,ySize);
- CleanupStack::PopAndDestroy( repository );
- repository = NULL;
-
iChangeRTForAllProfiles =
static_cast<TBool>( flags & KMPXChangeRTForAll );
@@ -757,12 +743,13 @@
const TDesC& album = aMedia->ValueText( KMPXMediaGeneralUri );
if(!iOldUri || iOldUri->Compare(album)!= 0)
{
+ TRect albumArtRect( iLayout->IndicatorLayout( ClientRect(), EAlbumArtArea ));
// Request for pre-generated TN size
MPX_TRAP( err,
iMPXUtility->ExtractAlbumArtL(
*aMedia,
*iContainer,
- iFullScreenImageSize ); );
+ albumArtRect.Size() ); );
// cancel timer
if ( iTNRequestTimer->IsActive())
@@ -968,6 +955,7 @@
TInt err = freqMHzStr.Num( freqMHz, realFormat );
if ( err > 0 )
{
+ AknTextUtils::LanguageSpecificNumberConversion( freqMHzStr );
HBufC* labelFormatText = StringLoader::LoadL(
R_MPX_FM_FREQUENCY_LABEL,
freqMHzStr );
@@ -2566,28 +2554,20 @@
// Set title
// Ignore errors from updating title pane since if that is not
// updated, still want to activate view
- TRAP_IGNORE(
+ TRAP_IGNORE( UpdateTitlePaneL() );
+
+ if ( !AknLayoutUtils::PenEnabled() )
{
- UpdateTitlePaneL();
- CAknNavigationControlContainer* naviPane(
- static_cast<CAknNavigationControlContainer*>
- ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ))));
- if ( naviPane )
+ CEikButtonGroupContainer* cba = Cba();
+ if ( cba )
{
- naviPane->PushDefaultL();
+#ifdef __ENABLE_MSK
+ iCommonUiHelper->SetMiddleSoftKeyLabelL(
+ *cba,
+ R_TEXT_SOFTKEY_EMPTY,
+ EAknSoftkeyForwardKeyEvent );
+#endif // __ENABLE_MSK
}
- } );
-
- CEikButtonGroupContainer* cba = Cba();
- if ( cba )
- {
-
-#ifdef __ENABLE_MSK
- iCommonUiHelper->SetMiddleSoftKeyLabelL(
- *cba,
- R_TEXT_SOFTKEY_EMPTY,
- EAknSoftkeyForwardKeyEvent );
-#endif // __ENABLE_MSK
}
iPlaybackState = iPlaybackUtility->StateL();
@@ -3039,11 +3019,6 @@
}
iContainer->SetRect( ClientRect() );
- delete iOldUri;
- iOldUri = NULL;
- // Update album art
- TRAP_IGNORE( UpdateAlbumArtL( iMedia ));
- TRAP_IGNORE( UpdateTrackInfoL( iMedia ));
iContainer->DrawDeferred();
}
}
@@ -3878,7 +3853,7 @@
{
MPX_FUNC("CMPXCommonPlaybackViewImp::UpdateMiddleSoftKeyDisplayL");
- if (iContainer)
+ if (iContainer && !AknLayoutUtils::PenEnabled() )
{
CEikButtonGroupContainer* cba = Cba();
if (cba)
@@ -3997,6 +3972,7 @@
TInt CMPXCommonPlaybackViewImp::HandleDelayedError( TAny* aPtr )
{
TInt ret( KErrNone );
+ TInt index( KErrNotFound );
CMPXCommonPlaybackViewImp* pv = reinterpret_cast<CMPXCommonPlaybackViewImp*>( aPtr );
pv->iDelayedErrorTimer->Cancel();
// compare index
@@ -4011,8 +3987,11 @@
{
return ret;
}
-
- if ( pv->iErrIndex == pl->Index() )
+ if ( pl )
+ {
+ index = pl->Index();
+ }
+ if ( pv->iErrIndex == index )
{
MPX_TRAP( ret, pv->HandleErrorL( pv->iLastDelayedErr ) );
}
@@ -4056,7 +4035,8 @@
pv->iMPXUtility->ExtractAlbumArtL(
*pv->iMedia,
*pv->iContainer,
- albumArtRect.Size() ); );
+ albumArtRect.Size(),
+ EFalse ); );
}
}
--- a/mpxplugins/viewplugins/views/metadataeditordialog/loc/mpxmetadataeditordialog.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/metadataeditordialog/loc/mpxmetadataeditordialog.loc Tue May 11 16:10:56 2010 +0300
@@ -423,8 +423,8 @@
// d:Text in title pane
// d:Form title
-// l:title_pane_t1
-// r:3.1
+// l:title_pane_t1/opt3
+// r:5.2
//
#define qtn_mus_title_details_track "Song details"
--- a/mpxplugins/viewplugins/views/metadataeditordialog/src/mpxmetadataeditordialog.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/metadataeditordialog/src/mpxmetadataeditordialog.cpp Tue May 11 16:10:56 2010 +0300
@@ -2975,7 +2975,9 @@
{
HBufC* stringBuf = iCommonUiHelper->UnitConversionL(sizeNum);
CleanupStack::PushL(stringBuf);
- SetControlTextL(EMPXMetadataEditorDlgCtrlIdSize, *stringBuf,
+ TPtr stringBufPtr = stringBuf->Des();
+ AknTextUtils::DisplayTextLanguageSpecificNumberConversion(stringBufPtr);
+ SetControlTextL(EMPXMetadataEditorDlgCtrlIdSize, stringBufPtr,
KNullDesC);
CleanupStack::PopAndDestroy(stringBuf);
}
@@ -3026,6 +3028,7 @@
{
modDatePtr.Append( KMPXSpace );
modDatePtr.Append( modTimePtr );
+ AknTextUtils::DisplayTextLanguageSpecificNumberConversion(modDatePtr);
SetControlTextL(EMPXMetadataEditorDlgCtrlIdLastModified,
modDatePtr,
KNullDesC);
--- a/mpxplugins/viewplugins/views/waitnotedialog/loc/mpxwaitnotedialog.loc Tue Apr 27 16:34:37 2010 +0300
+++ b/mpxplugins/viewplugins/views/waitnotedialog/loc/mpxwaitnotedialog.loc Tue May 11 16:10:56 2010 +0300
@@ -94,7 +94,7 @@
// l:popup_note_wait_window
// r:3.1
//
-#define qtn_nmp_note_usb_connection_in_progress "USB connection in progress"
+#define qtn_nmp_note_usb_connection_in_progress "USB connection active"
// d:Wait note shown when a disk format operation is in progress
// l:popup_note_wait_window
@@ -114,4 +114,9 @@
//
#define qtn_mus_note_updating_library "Updating Library. \n Please wait."
+// d:Wait note shown when MTP connection in progress
+// l:popup_note_wait_window
+// r:5.2
+//
+#define qtn_mus_note_media_transfer_in_progress "Media transfer in progress"
// End of File
--- a/musichomescreen_multiview/mcpmusicplayer/src/aiplayerpluginengine.cpp Tue Apr 27 16:34:37 2010 +0300
+++ b/musichomescreen_multiview/mcpmusicplayer/src/aiplayerpluginengine.cpp Tue May 11 16:10:56 2010 +0300
@@ -200,7 +200,8 @@
TRAPD(err,iAlbumArtUtil->ExtractAlbumArtL(
*iMedia,
*this,
- TSize(70,70)));
+ TSize(70,70),
+ EFalse));
if (err != KErrNone)
{
--- a/musicplayer_plat/mpx_music_player_commonui_api/inc/mpxalbumartutil.h Tue Apr 27 16:34:37 2010 +0300
+++ b/musicplayer_plat/mpx_music_player_commonui_api/inc/mpxalbumartutil.h Tue May 11 16:10:56 2010 +0300
@@ -54,12 +54,15 @@
* TMPXAttribute( KMPXMediaIdGeneral, EMPXMediaGeneralUri )
* @param aObs callback after the operation completed.
* @param aSize The size of the required destination BMP.
+ * @param aLargestFromCache ETrue, get the largest available from image cache, EFalse
+ * get the size specified in aSize.
* @param aDisplayMode the display mode of the destination BMP
* @return bitmap object
*/
IMPORT_C void ExtractAlbumArtL(const CMPXMedia& aProp,
MMPXAlbumArtUtilObserver& aObs,
const TSize& aSize,
+ TBool aLargestFromCache = ETrue,
TDisplayMode aDisplayMode = EColor64K);
/**
@@ -124,8 +127,6 @@
CThumbnailManager* iThumbnailManager; // Owned
TDisplayMode iDisplayMode ; //Owned
TSize iImageSize;
- TSize iFullScreenImageSize;
- TSize iGridViewImageSize;
TInt iReqId;
HBufC* iFilename;
MMPXAlbumArtUtilObserver* iObserver;