virtual void OnEditButtonsPressed(EPlayerEditBtns editBtns) {}
//!
virtual void OnRemoteButtonEvent(Evas_Object *eoBtn, EPlayerBtnsEvent ev) {}
+ //!
+ virtual void OnUpdatePlayerUI(void) {}
};
void ChangePlayerMode(EPlayerMode mode);
void HandlePlaylistEditButtons(EPlayerEditBtns btnId);
void HandleRemoteButtons(Evas_Object *eoBtn, EPlayerBtnsEvent ev);
+ void UpdatePlayerUI(void);
};
}
+void CMusicControllerImpl::UpdatePlayerUI(void)
+{
+ ASSERT(m);
+
+ Eina_List *l;
+ IMusicControllerListener *mcListener;
+ void * obj;
+
+ EINA_LIST_FOREACH(m->elListener, l, obj) {
+ mcListener = (IMusicControllerListener *)obj;
+ if (mcListener)
+ mcListener->OnUpdatePlayerUI();
+ }
+}
+
+
void CMusicControllerImpl::OnStatusChanged(SUsbHostDeviceInfo *changedDevice,
SUsbHostDeviceStatus status)
{
void ChangePlayerMode(EPlayerMode mode);
void HandlePlaylistEditButtons(EPlayerEditBtns btnId);
void HandleRemoteButtons(Evas_Object *eoBtn, EPlayerBtnsEvent ev);
+ void UpdatePlayerUI(void);
public:
virtual void OnStatusChanged(SUsbHostDeviceInfo *changedDevice,
};
-#endif /* __MUSIC_CONTROLLER_IMPL_H__ */
\ No newline at end of file
+#endif /* __MUSIC_CONTROLLER_IMPL_H__ */
ASSERT(m);
m->ref.HandleRemoteButtons(eoBtn, ev);
-}
\ No newline at end of file
+}
+
+
+void CMusicController::UpdatePlayerUI(void)
+{
+ ASSERT(m);
+
+ m->ref.UpdatePlayerUI();
+}
}
-void CPlaybackController::m_UpdateSongInfo(void)
-{
- CSongInfo *sinfo = NULL;
- int index;
-
- if (!m->controller.GetCurrentSongIndex(&index)) {
- _ERR(" music get current song index failed ");
- return;
- }
-
- if (!m->controller.GetSonginfoFromIndex(index, &sinfo)) {
- _ERR(" music get songinfo failed ");
- return;
- }
- m->pSongInfo = sinfo;
-}
-
-
void CPlaybackController::m_HandleOnPressed(Evas_Object *obj)
{
m->press_status = PRESS_SHORT;
}
-bool CPlaybackController::Create(Evas_Object *eoBase, SCallback *cb)
-{
- ASSERT(!m);
-
- _CREATE_BEGIN{
- _CHECK(m = new SPlaybackController)
- _COMMAND{ m->eoBase = eoBase; }
- _CHECK(m->controller.Create())
- _CHECK(m->controller.AddListener(this))
-
- _WHEN_SUCCESS{
- m_AddControlButtons();
- m_AddEditPlaylistButtons();
- m->cb = *cb;
- m->press_status = PRESS_SHORT;
- }
-
- _CHECK_FAIL{ m->controller.RemoveListener(this); }
- _CHECK_FAIL{ m->controller.Destroy(); }
-
- _CHECK_FAIL{ delete m; m = NULL; }
- } _CREATE_END_AND_CATCH{ return false; }
-
- return true;
-}
-
-
-void CPlaybackController::Destroy(void)
+void CPlaybackController::m_UpdateSongInfo(void)
{
- ASSERT(m);
+ CSongInfo *sinfo = NULL;
+ int index;
- m_DestroyErrorPopup();
- m_DestroySettingsPopup();
- m->controller.RemoveListener(this);
+ if (!m->controller.GetCurrentSongIndex(&index)) {
+ _ERR(" music get current song index failed ");
+ return;
+ }
- delete m;
- m = NULL;
+ if (!m->controller.GetSonginfoFromIndex(index, &sinfo)) {
+ _ERR(" music get songinfo failed ");
+ return;
+ }
+ m->pSongInfo = sinfo;
}
-void CPlaybackController::Update(void)
+void CPlaybackController::m_Update(void)
{
int state;
}
-Evas_Object *CPlaybackController::ControlBtnsObject(EPlayerControlBtns id)
+bool CPlaybackController::Create(Evas_Object *eoBase, SCallback *cb)
{
- ASSERT(m);
- return m->eoBtnControl[id];
-}
+ ASSERT(!m);
+ _CREATE_BEGIN{
+ _CHECK(m = new SPlaybackController)
+ _COMMAND{ m->eoBase = eoBase; }
+ _CHECK(m->controller.Create())
+ _CHECK(m->controller.AddListener(this))
-Evas_Object *CPlaybackController::EditBtnsObject(EPlayerEditBtns id)
-{
- ASSERT(m);
- return m->eoBtnEdit[id];
-}
+ _WHEN_SUCCESS{
+ m_AddControlButtons();
+ m_AddEditPlaylistButtons();
+ m->cb = *cb;
+ m->press_status = PRESS_SHORT;
+ }
+ _CHECK_FAIL{ m->controller.RemoveListener(this); }
+ _CHECK_FAIL{ m->controller.Destroy(); }
-void CPlaybackController::OnComplete(void)
-{
+ _CHECK_FAIL{ delete m; m = NULL; }
+ } _CREATE_END_AND_CATCH{ return false; }
+
+ return true;
}
-void CPlaybackController::OnStartPlayback(void)
+void CPlaybackController::Destroy(void)
{
- m_UpdateSongInfo();
- m->duration = m->pSongInfo->Duration();
-}
+ ASSERT(m);
+ m_DestroyErrorPopup();
+ m_DestroySettingsPopup();
+ m->controller.RemoveListener(this);
-void CPlaybackController::OnStopPlayback(void)
-{
+ delete m;
+ m = NULL;
}
-void CPlaybackController::OnPausePlayback(void)
+Evas_Object *CPlaybackController::ControlBtnsObject(EPlayerControlBtns id)
{
+ ASSERT(m);
+ return m->eoBtnControl[id];
}
-void CPlaybackController::OnResumePlayback(void)
+Evas_Object *CPlaybackController::EditBtnsObject(EPlayerEditBtns id)
{
+ ASSERT(m);
+ return m->eoBtnEdit[id];
}
-void CPlaybackController::OnPosition(int milsec)
+void CPlaybackController::OnStartPlayback(void)
{
+ m_UpdateSongInfo();
+ m->duration = m->pSongInfo->Duration();
}
}
+void CPlaybackController::OnUpdatePlayerUI(void)
+{
+ m_Update();
+}
+
+
void CPlaybackController::OnPressed(int id, Evas_Object *obj)
{
switch (id) {
default:
break;
}
-}
\ No newline at end of file
+}
void m_RemoveTimer(int timer_code);
void m_UpdateSongInfo(void);
+ void m_Update(void);
+
public:
CPlaybackController() :
IPressedListener(this),
bool Create(Evas_Object *eoBase, SCallback *cb);
virtual void Destroy(void);
- void Update(void);
-
Evas_Object *ControlBtnsObject(EPlayerControlBtns id);
Evas_Object *EditBtnsObject(EPlayerEditBtns id);
public:
- virtual void OnComplete(void);
+ //! This function is invoked when new song is played.
virtual void OnStartPlayback(void);
- virtual void OnStopPlayback(void);
- virtual void OnPausePlayback(void);
- virtual void OnResumePlayback(void);
- virtual void OnPosition(int milsec);
+ //! This function is invoked when error is occured.
virtual void OnError(void);
+ //! This function is invoked when playlist is empty.
virtual void OnEmptyPlaylist(void);
+ //! This function is invoked when remote button is pressed.
virtual void OnRemoteButtonEvent(Evas_Object *eoBtn, EPlayerBtnsEvent ev);
+ //! This function is invoked when player UI need to be updated.
+ virtual void OnUpdatePlayerUI(void);
virtual void OnPressed(int id, Evas_Object *obj);
virtual void OnUnpressed(int id, Evas_Object *obj);
virtual void OnMouseClicked(int id, Evas_Object *obj);
};
-#endif // __PLAYBACK_CONTROLLER_H__
\ No newline at end of file
+#endif // __PLAYBACK_CONTROLLER_H__
virtual void OnComplete(void);
//! This function is invoked when new song is played.
virtual void OnStartPlayback(void);
- //!
+ //! This function is invoked when playback is stopped.
virtual void OnStopPlayback(void);
//! This function is invoked when playback is paused.
virtual void OnPausePlayback(void);
//! This function is invoked when playback is resumed.
virtual void OnResumePlayback(void);
- //!
+ //! This function is invoked when the position of playback is changed.
virtual void OnPosition(int milsec);
virtual void OnChanged(int id, Evas_Object *obj);
m_UpdateCurrentSongItem(index);
m_UpdateCurrentSongLabels();
m_UpdateCurrentSongThumbnail();
- m->pPlaybackController->Update();
+ m->pController->UpdatePlayerUI();
m_UpdatePlaymodeFocusSequence();
}
ASSERT(!"Invalid Edit Button");
break;
}
-}
\ No newline at end of file
+}