ERepeatStatus repeatstate;
SCbInfo *cbinfo;
-
- SMusicController() {
- memset(this, 0, sizeof(SMusicController));
- pPlayback = new CPlayback;
- pPlaylist = new CPlaylist;
- pMediadata = new CMediadata;
- }
- ~SMusicController() {
- delete pMediadata;
- delete pPlaylist;
- delete pPlayback;
- }
};
_CREATE_BEGIN {
_CHECK(mhandle = new SMusicController)
- _CHECK(mhandle->alinfo = new CAlbumInfo)
- _CHECK(mhandle->alinfo->Create() == true)
- _CHECK(mhandle->pMediadata->Create() == true)
- _CHECK(mhandle->pPlayback->Create() == true)
- _CHECK(mhandle->pPlayback->SetCallback(sm_CbPlaybackCompletion, this) == true)
- _CHECK(CUsbConnectionListener::Create() == true)
_WHEN_SUCCESS{
- mhandle->statePlay = PLAY_STATUS_INITIAL;
- mhandle->stateShuffle = SHUFFLE_STATUS_OFF;
- mhandle->repeatstate = REPEAT_STATUS_ALL;
- mhandle->initial_index = 0;
- CInfo::SetSortType(E_SORT_TITLE_A_Z);
- CInfo::SetSourceType(SOURCE_TYPE_ALL);
- mhandle->cbinfo = mhandle->pMediadata->AddCallback(E_CONTENT_UPDATE, sm_CbContentUpdated, this);
+ memset(mhandle, 0, sizeof(SMusicController));
+
+ _CHECK(mhandle->alinfo = new CAlbumInfo)
+ _CHECK(mhandle->alinfo->Create() == true)
+ _CHECK(mhandle->pMediadata = new CMediadata)
+ _CHECK(mhandle->pMediadata->Create() == true)
+ _CHECK(mhandle->pPlayback = new CPlayback)
+ _CHECK(mhandle->pPlayback->Create() == true)
+ _CHECK(mhandle->pPlayback->SetCallback(sm_CbPlaybackCompletion, this) == true)
+ _CHECK(mhandle->pPlaylist = new CPlaylist)
+ _CHECK(CUsbConnectionListener::Create() == true)
+
+ _WHEN_SUCCESS{
+ mhandle->statePlay = PLAY_STATUS_INITIAL;
+ mhandle->stateShuffle = SHUFFLE_STATUS_OFF;
+ mhandle->repeatstate = REPEAT_STATUS_ALL;
+ mhandle->initial_index = 0;
+ CInfo::SetSortType(E_SORT_TITLE_A_Z);
+ CInfo::SetSourceType(SOURCE_TYPE_ALL);
+ mhandle->cbinfo = mhandle->pMediadata->AddCallback(E_CONTENT_UPDATE, sm_CbContentUpdated, this);
+ }
+
+ _CHECK_FAIL{ CUsbConnectionListener::Destroy(); }
+ _CHECK_FAIL{ delete mhandle->pPlaylist; }
+ _CHECK_FAIL{}
+ _CHECK_FAIL{ mhandle->pPlayback->Destroy(); }
+ _CHECK_FAIL{ delete mhandle->pPlayback; }
+ _CHECK_FAIL{ mhandle->pMediadata->Destroy(); }
+ _CHECK_FAIL{ delete mhandle->pMediadata; }
+ _CHECK_FAIL{ mhandle->alinfo->Destroy(); }
+ _CHECK_FAIL{ delete mhandle->alinfo; }
}
- _CHECK_FAIL{ CUsbConnectionListener::Destroy(); }
- _CHECK_FAIL{}
- _CHECK_FAIL{ mhandle->pPlayback->Destroy(); }
- _CHECK_FAIL{ mhandle->pMediadata->Destroy(); }
- _CHECK_FAIL{ mhandle->alinfo->Destroy(); }
- _CHECK_FAIL{ delete mhandle->alinfo; }
_CHECK_FAIL{ delete mhandle; mhandle = NULL; }
} _CREATE_END_AND_CATCH{ return NULL; }
{
CUsbConnectionListener::Destroy();
- if (m->pPlayback->FlagCreate()) {
- if (!m->pPlayback->UnsetCallback())
- _ERR(" playback remove completion callback failed");
+ if (!m->pPlayback->UnsetCallback())
+ _ERR(" playback remove completion callback failed");
- m->pPlayback->Destroy();
- }
+ m->pPlayback->Destroy();
if (m->pPlaylist->FlagCreate()) {
m->pPlaylist->Destroy();
pPlayback = m->pPlayback;
_CREATE_BEGIN{
- _CHECK(pPlaylist && pPlayback)
+ _CHECK(pPlaylist->FlagCreate())
_CHECK(pPlaylist->GetCurSongIndex(&index))
_CHECK(songpath = pPlaylist->SongpathFromIndex(index))
_CHECK(pPlayback->SetUri(songpath))
{
ASSERT(m);
- if (!m->pPlayback->FlagCreate())
+ if (!m->pPlayback->Stop()) {
+ _ERR("playback stop failed");
return false;
-
- if (!m->pPlayback->Stop())
- _ERR(" playback stop failed ");
+ }
m->statePlay = PLAY_STATUS_STOP;
- if (!m->pPlayback->Unprepare())
- _ERR(" playback unprepare failed");
+ if (!m->pPlayback->Unprepare()) {
+ _ERR("playback unprepare failed");
+ return false;
+ }
return true;
}
{
ASSERT(m);
- if (!m->pPlayback->FlagCreate())
- return false;
-
- if (!m->pPlayback->Resume())
+ if (!m->pPlayback->Resume()) {
+ _ERR("playback resume failed");
return false;
+ }
m->statePlay = PLAY_STATUS_PLAY;
{
ASSERT(m);
- if (!m || !m->pPlayback->FlagCreate())
- return false;
-
- if (!m->pPlayback->Pause())
+ if (!m->pPlayback->Pause()) {
+ _ERR("playback Pause failed");
return false;
+ }
m->statePlay = PLAY_STATUS_PAUSE;
{
ASSERT(m);
- if (!m->pPlayback->FlagCreate())
- return false;
-
- if (!m->pPlayback->SetPosition(milseconds))
+ if (!m->pPlayback->SetPosition(milseconds)) {
+ _ERR("playback set position failed");
return false;
+ }
return true;
}
{
ASSERT(m);
- if (!m->pPlayback->FlagCreate())
- return false;
-
- if (!m->pPlayback->GetPosition(milseconds))
+ if (!m->pPlayback->GetPosition(milseconds)) {
+ _ERR("playback get position failed");
return false;
+ }
return true;
}
#define VOLUME_MUTE 1
#define VOLUME_UNMUTE 0
-static int currentVolume = 0;
-static bool muteFlag = false;
+struct SVolumeController {
+ int currentVolume;
+ bool flagMute;
+
+ SVolumeController() {
+ currentVolume = 0;
+ flagMute = false;
+ }
+ ~SVolumeController() {}
+};
+static SVolumeController sM;
bool CVolumeController::Mute(void)
{
int r;
- if (muteFlag == false) {
- r = sound_manager_get_volume(SOUND_TYPE_MEDIA, ¤tVolume);
+ if (sM.flagMute == false) {
+ r = sound_manager_get_volume(SOUND_TYPE_MEDIA, &sM.currentVolume);
if (r != 0) {
_ERR("failed to get volume");
return false;
return false;
}
- muteFlag = true;
+ sM.flagMute = true;
}
return true;
{
int r;
- if (muteFlag == true) {
- r = sound_manager_set_volume(SOUND_TYPE_MEDIA, currentVolume);
+ if (sM.flagMute == true) {
+ r = sound_manager_set_volume(SOUND_TYPE_MEDIA, sM.currentVolume);
if (r != 0) {
_ERR("failed to set volume");
return false;
}
- muteFlag = false;
+ sM.flagMute = false;
}
return true;
return false;
}
- currentVolume = vol;
+ sM.currentVolume = vol;
return true;
}
return false;
}
- currentVolume = vol;
+ sM.currentVolume = vol;
return true;
}
bool CVolumeController::IsMute(void)
{
- return muteFlag;
+ return sM.flagMute;
}
bool CVolumeController::Get(int *vol)
{
int r;
- if (muteFlag == false) {
+ if (sM.flagMute == false) {
r = sound_manager_get_volume(SOUND_TYPE_MEDIA, vol);
if (r != 0) {
_ERR("failed to get volume");
}
}
else
- *vol = currentVolume;
+ *vol = sM.currentVolume;
return true;
}