fix startup animation sync

This commit is contained in:
zmike 2014-02-27 13:43:03 -05:00
parent ac2805fec9
commit f0cb109bd9
1 changed files with 19 additions and 11 deletions

View File

@ -273,7 +273,7 @@ status_update(int state)
static int static int
songid_update(int songid) songid_update(int songid)
{ {
Eina_Bool artist, album; Eina_Bool artist, album, first = (empd_songid == -1);
Elm_Object_Item *it, *itp = NULL; Elm_Object_Item *it, *itp = NULL;
Empd_Empc_Song *so, *sop; Empd_Empc_Song *so, *sop;
int ret; int ret;
@ -320,10 +320,15 @@ songid_update(int songid)
{ {
if (bgchooser) if (bgchooser)
elm_object_signal_emit(layout, "empc,bg_chooser,stop", "empc"); elm_object_signal_emit(layout, "empc,bg_chooser,stop", "empc");
if (ret >= 0) if (first)
elm_object_signal_emit(layout, "empc,bg,next", "empc"); elm_object_signal_emit(layout, "empc,bg,done", "empc");
else else
elm_object_signal_emit(layout, "empc,bg,prev", "empc"); {
if (ret >= 0)
elm_object_signal_emit(layout, "empc,bg,next", "empc");
else
elm_object_signal_emit(layout, "empc,bg,prev", "empc");
}
if (itp) if (itp)
background_num = bg_next_get(); background_num = bg_next_get();
elm_genlist_item_update(elm_genlist_item_parent_get(it)); elm_genlist_item_update(elm_genlist_item_parent_get(it));
@ -341,10 +346,15 @@ songid_update(int songid)
elm_object_signal_emit(layout, "empc,album,change,prev", "empc"); elm_object_signal_emit(layout, "empc,album,change,prev", "empc");
} }
} }
if (ret >= 0) if (first)
elm_object_signal_emit(layout, "empc,title,change,next", "empc"); title_changed(NULL, NULL, NULL, NULL);
else else
elm_object_signal_emit(layout, "empc,title,change,prev", "empc"); {
if (ret >= 0)
elm_object_signal_emit(layout, "empc,title,change,next", "empc");
else
elm_object_signal_emit(layout, "empc,title,change,prev", "empc");
}
return ret || artist || album; return ret || artist || album;
} }
@ -1601,6 +1611,7 @@ main(int argc, char *argv[])
elm_win_resize_object_add(win, layout); elm_win_resize_object_add(win, layout);
elm_layout_theme_set(layout, "layout", "empc", "base"); elm_layout_theme_set(layout, "layout", "empc", "base");
elm_object_signal_emit(layout, "empc,bg,next", "empc"); elm_object_signal_emit(layout, "empc,bg,next", "empc");
elm_object_signal_emit(layout, "empc,title,change,next", "empc");
elm_object_signal_callback_add(layout, "edje,change,file", "edje", layout_theme_changed, NULL); elm_object_signal_callback_add(layout, "edje,change,file", "edje", layout_theme_changed, NULL);
elm_object_signal_callback_add(layout, "empc,artist,changed,1", "empc", artist_changed, NULL); elm_object_signal_callback_add(layout, "empc,artist,changed,1", "empc", artist_changed, NULL);
elm_object_signal_callback_add(layout, "empc,album,changed,1", "empc", album_changed, NULL); elm_object_signal_callback_add(layout, "empc,album,changed,1", "empc", album_changed, NULL);
@ -1662,10 +1673,7 @@ main(int argc, char *argv[])
} }
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
{ bg[i] = bgselector_add(win);
bg[i] = bgselector_add(win);
evas_object_show(bg[i]);
}
elm_object_part_content_set(layout, EMPC_BASE_SWALLOW_BACKGROUND, bg[0]); elm_object_part_content_set(layout, EMPC_BASE_SWALLOW_BACKGROUND, bg[0]);
controls = hbox = elm_box_add(win); controls = hbox = elm_box_add(win);