},
};
-static void _player_play(struct _priv *priv);
-static void _player_stop(struct _priv *priv);
-static void _player_next(struct _priv *priv);
-
static void _draw_playlist(struct _priv *priv)
{
struct _list_data *ld;
.get_value = _player_get_position,
};
-static void _player_play(struct _priv *priv)
+static void _player_play_pause(struct _priv *priv)
{
app_media_info *mi;
player_state_e state;
return;
}
+ progressbar_start(priv->progress);
+ playermgr_play(priv->player, mi->file_path, 0);
+ break;
+ default:
+ _ERR("player was not created");
+ break;
+ }
+}
+
+static void _player_play(struct _priv *priv)
+{
+ app_media_info *mi;
+ player_state_e state;
+
+ playermgr_get_state(priv->player, &state);
+
+ switch (state) {
+ case PLAYER_STATE_IDLE:
+ case PLAYER_STATE_READY:
+ mi = _get_current_media_info(priv);
+ if (!mi) {
+ _ERR("failed to getting media info");
+ return;
+ }
+
+ progressbar_start(priv->progress);
playermgr_play(priv->player, mi->file_path, 0);
break;
+ case PLAYER_STATE_PAUSED:
+ case PLAYER_STATE_PLAYING:
+ break;
default:
_ERR("player was not created");
break;
_mplayer_next(priv);
_player_next(priv);
} else if (!strcmp(ev, SRC_BTN_MUSIC_PLAY)) {
- _player_play(priv);
+ _player_play_pause(priv);
}
}
+static void _list_set_focus(struct _priv *priv)
+{
+ struct _list_data *ld;
+
+ ld = eina_list_nth(priv->item_list, priv->playlist.cur);
+ if (!ld) {
+ _ERR("failed to get list data");
+ return;
+ }
+
+ elm_object_item_focus_set(ld->item, EINA_TRUE);
+}
+
static void _list_free(struct _priv *priv)
{
elm_genlist_clear(priv->list);
media_content_connect();
_mplayer_show(priv);
+ _list_set_focus(priv);
+ _player_play(priv);
evas_object_show(priv->base);
}