EShuffleStatus stateShuffle;
ERepeatStatus repeatstate;
- struct SCbInfo *cbinfo;
+ SCbInfo *cbinfo;
SMusicController() {
memset(this, 0, sizeof(SMusicController));
static void _run_callback(SMusicController *m, int type)
{
Eina_List *l;
- struct SCbInfo *cbinfo;
+ SCbInfo *cbinfo;
void *obj;
if (!m)
{
bool r;
Eina_List *l;
- struct SCbInfo *cbinfo;
+ SCbInfo *cbinfo;
void *obj;
r = t_PlayNext(DIR_NEXT, E_ON_COMPLETE);
}
-static void _content_update_cb(void *dt)
+void CMusicController::sm_CbContentUpdated(void *dt)
{
- SMusicController *mhandle;
- Eina_List *l;
- struct SCbInfo *cbinfo;
- void *obj;
+ CMusicController *root = (CMusicController *)dt;
+ if (root)
+ root->m_OnContentUpdated();
+}
- if (!dt)
- return;
- mhandle = (SMusicController *)dt;
+void CMusicController::m_OnContentUpdated(void)
+{
+ Eina_List *l;
+ SCbInfo *cbinfo;
+ void *obj;
- EINA_LIST_FOREACH(mhandle->elListener, l, obj) {
+ EINA_LIST_FOREACH(m->elListener, l, obj) {
cbinfo = (SCbInfo *)obj;
if (cbinfo->type == E_CONTENT_UPDATE && cbinfo->cb)
cbinfo->cb(cbinfo->data);
}
}
+
SMusicController *CMusicController::t_Create(void)
{
SMusicController *mhandle = NULL;
mhandle->initial_index = 0;
CInfo::SetSortType(E_SORT_TITLE_A_Z);
CInfo::SetSourceType(SOURCE_TYPE_ALL);
- mhandle->cbinfo = mhandle->pMediadata->AddCallback(E_CONTENT_UPDATE, _content_update_cb, mhandle);
+ mhandle->cbinfo = mhandle->pMediadata->AddCallback(E_CONTENT_UPDATE, sm_CbContentUpdated, this);
}
_CHECK_FAIL{ CUsbConnectionListener::Destroy(); }
void CMusicController::t_Destroy(void)
{
- struct SCbInfo *cbinfo;
+ SCbInfo *cbinfo;
void *obj;
CUsbConnectionListener::Destroy();
bool CMusicController::UpdatePlaylist(Eina_List *slist, int addmode)
{
- if (!m)
- return false;
-
- if (!slist)
- return false;
+ ASSERT(m);
+ ASSERT(slist);
if (m->pPlaylist->FlagCreate())
m->pPlaylist->Update(slist, addmode);
bool CMusicController::AddListener(IMusicControllerListener *listener)
{
+ ASSERT(m);
ASSERT(listener);
- if (!m)
- return false;
-
m->elListener = eina_list_append(m->elListener, listener);
return true;
bool CMusicController::RemoveListener(IMusicControllerListener *listener)
{
+ ASSERT(m);
ASSERT(listener);
- if (!m)
- return false;
-
m->elListener = eina_list_remove(m->elListener, listener);
return true;
bool CMusicController::Start(void)
{
- if (!m)
- return false;
+ ASSERT(m);
const char *songpath;
int index;
bool CMusicController::Stop(void)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlayback->FlagCreate())
return false;
bool CMusicController::GetCurrentSongIndex(int *ind)
{
- if (!m)
- return false;
+ ASSERT(m);
int index;
bool CMusicController::SetCurrentSongIndex(int index)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlaylist->FlagCreate()) {
_ERR("NULL received");
bool CMusicController::GetTotalSongs(int *ts)
{
- if (!m)
- return false;
+ ASSERT(m);
int count;
bool CMusicController::GetSonginfoFromIndex(int index, CSongInfo **const csinfo)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlaylist->FlagCreate() || !csinfo) {
_ERR("NULL received");
bool CMusicController::PlayNextSong(void)
{
+ ASSERT(m);
+
return t_PlayNext(DIR_NEXT, E_BUTTON_CLICK);
}
bool CMusicController::PlayPreviousSong(void)
{
+ ASSERT(m);
+
return t_PlayNext(DIR_PREVIOUS, E_BUTTON_CLICK);
}
bool CMusicController::PlayIndexSong(int index)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlaylist->FlagCreate())
return false;
bool CMusicController::Resume(void)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlayback->FlagCreate())
return false;
bool CMusicController::Pause(void)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m || !m->pPlayback->FlagCreate())
return false;
bool CMusicController::SetPosition(int milseconds)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlayback->FlagCreate())
return false;
bool CMusicController::GetPosition(int *const milseconds)
{
- if (!m)
- return false;
+ ASSERT(m);
- if (!m || !m->pPlayback->FlagCreate())
+ if (!m->pPlayback->FlagCreate())
return false;
if (!m->pPlayback->GetPosition(milseconds))
bool CMusicController::RemoveSong(CSongInfo *sinfo, int index)
{
- if (!m)
- return false;
+ ASSERT(m);
+ ASSERT(sinfo);
int ind;
bool CMusicController::EmptyPlaylist(void)
{
- if (!m)
- return false;
+ ASSERT(m);
if (!m->pPlaylist->FlagCreate())
return false;
bool CMusicController::GetCurrentSong(CSongInfo **const sinfo)
{
- if (!m)
- return false;
+ ASSERT(m);
int index;
CSongInfo *CMusicController::MediaSongByUri(char *uri)
{
- if (!m)
- return false;
+ ASSERT(m);
+ ASSERT(uri);
CSongInfo *sinfo;
bool CMusicController::MediaGetList(int EListType, void *info, Eina_List **list)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
Eina_List *mlist;
bool CMusicController::MediaInsertPlaylist(const char *name, Eina_List *idlist)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
+ ASSERT(name);
+ ASSERT(idlist);
return m->pMediadata->Alloc(name, idlist);
}
bool CMusicController::MediaExistPlaylist(const char *name)
{
- ASSERT(FlagCreate());
-
- if (!name)
- return false;
+ ASSERT(m);
+ ASSERT(name);
return m->pMediadata->ExistPlaylist(name);
}
bool CMusicController::MediaDeletePlaylist(int id)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
return m->pMediadata->Delete(id);
}
bool CMusicController::MediaRenamePlaylist(int id, const char *name)
{
- ASSERT(FlagCreate());
-
- if (!name)
- return false;
+ ASSERT(m);
+ ASSERT(name);
return m->pMediadata->Rename(id, name);
}
bool CMusicController::MediaAddmediaPlaylist(int id, Eina_List *idlist)
{
- ASSERT(FlagCreate());
-
- if (!idlist)
- return false;
+ ASSERT(m);
+ ASSERT(idlist);
return m->pMediadata->Insert(id, idlist);
}
bool CMusicController::MediaRemovemediaPlaylist(int id, Eina_List *idlist)
{
- ASSERT(FlagCreate());
-
- if (!idlist)
- return false;
+ ASSERT(m);
+ ASSERT(idlist);
return m->pMediadata->Remove(id, idlist);
}
bool CMusicController::MediaAddsongsPlaylist(int lid, Eina_List *list)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
+ ASSERT(list);
Eina_List *idlist, *l;
CSongInfo *sinfo;
void *obj;
char *id;
- if (!list)
- return false;
-
idlist = NULL;
EINA_LIST_FOREACH(list, l, obj) {
sinfo = (CSongInfo *)obj;
bool CMusicController::SetCurrentSong(char *mediaid)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
+ ASSERT(mediaid);
- if (!m->pPlaylist->FlagCreate() || !mediaid)
+ if (!m->pPlaylist->FlagCreate())
return false;
m->pPlaylist->SetCurrentSong(mediaid);
bool CMusicController::SetPlayState(EPlayStatus state)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
m->statePlay = state;
EPlayStatus CMusicController::PlayState(void)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
return m->statePlay;
}
bool CMusicController::SetShuffleState(EShuffleStatus state)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
m->stateShuffle = state;
if (state && m->pPlaylist->FlagCreate())
EShuffleStatus CMusicController::ShuffleState(void)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
return m->stateShuffle;
}
bool CMusicController::SetRepeatState(ERepeatStatus state)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
m->repeatstate = state;
ERepeatStatus CMusicController::RepeatState(void)
{
- ASSERT(FlagCreate());
+ ASSERT(m);
return m->repeatstate;
}
return;
Eina_List *l;
- struct SCbInfo *cbinfo;
+ SCbInfo *cbinfo;
void *obj;
if (CInfo::SourceType() == SOURCE_TYPE_USB) {