save lyrics and text more regularly

This commit is contained in:
zmike 2014-02-08 16:15:51 -05:00
parent 1e602cf917
commit 721f2af500
3 changed files with 33 additions and 10 deletions

View File

@ -68,6 +68,32 @@ bg_next_get(void)
return num % 2;
}
static void
save_image(Evas_Object *img, const char *artist, const char *album)
{
Empc_Module *mod;
EINA_INLIST_FOREACH(empc_modules[EMPC_MODULE_TYPE_METADATA_SAVER], mod)
{
Empc_Module_Metadata_Save *es = (Empc_Module_Metadata_Save *)mod;
INF("IMAGE SAVE(%s)", strrchr(eina_module_file_get(mod->module), '/') + 1);
if (es->save_image) es->save_image(img, artist, album);
}
}
static void
save_text(Evas_Object *obj, const char *artist, const char *song)
{
Empc_Module *mod;
EINA_INLIST_FOREACH(empc_modules[EMPC_MODULE_TYPE_METADATA_SAVER], mod)
{
Empc_Module_Metadata_Save *es = (Empc_Module_Metadata_Save *)mod;
INF("TEXT SAVE(%s)", strrchr(eina_module_file_get(mod->module), '/') + 1);
if (es->save_text) es->save_text(elm_entry_entry_get(obj), artist, song);
}
}
static void
fetch_req_free(Empc_Fetch_Request_Internal *ireq)
{
@ -79,15 +105,18 @@ fetch_req_free(Empc_Fetch_Request_Internal *ireq)
}
void
lyrics_set(void *data EINA_UNUSED, Empc_Fetch_Request *req EINA_UNUSED, Evas_Object *obj)
lyrics_set(void *data EINA_UNUSED, Empc_Fetch_Request *req, Evas_Object *obj)
{
elm_object_part_content_set(layout, EMPC_BASE_SWALLOW_LYRICS, obj);
save_text(obj, req->artist, req->song);
}
void
bg_add(void *data EINA_UNUSED, Empc_Fetch_Request *req, Evas_Object *obj)
{
bgselector_image_add(req->obj, obj);
if (!bgchooser)
save_image(obj, req->artist, req->album);
}
static void
@ -911,7 +940,6 @@ bg_chooser_show(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, const char
static void
bg_chooser_hide(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED)
{
Empc_Module *mod;
Evas_Object *bgs, *img;
Eina_Stringshare *artist, *album;
char buf[1024];
@ -926,12 +954,7 @@ bg_chooser_hide(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, const char
album = bgselector_album_get(bgs);
metadata_fetch_cancel(bgfetch);
EINA_INLIST_FOREACH(empc_modules[EMPC_MODULE_TYPE_METADATA_SAVER], mod)
{
Empc_Module_Metadata_Save *es = (Empc_Module_Metadata_Save *)mod;
INF("IMAGE SAVE(%s)", strrchr(eina_module_file_get(mod->module), '/') + 1);
es->save_image(img, artist, album);
}
save_image(img, artist, album);
bgchooser = EINA_FALSE;
snprintf(buf, sizeof(buf), "%s:::%s", artist, album);

View File

@ -19,7 +19,7 @@ typedef struct Empc_Fetch_Request Empc_Fetch_Request;
typedef Empc_Module_Type (*Empc_Module_Type_Cb)(void);
typedef int (*Empc_Module_Priority_Cb)(void);
typedef void (*Empc_Module_Metadata_Save_Image_Cb)(Evas_Object *obj, const char *artist, const char *album);
typedef void (*Empc_Module_Metadata_Save_Text_Cb)(const char *artist, const char *song, const char *text);
typedef void (*Empc_Module_Metadata_Save_Text_Cb)(const char *text, const char *artist, const char *song);
typedef Eina_Bool (*Empc_Module_Metadata_Fetch_Cb)(const Empc_Fetch_Request *);
typedef void (*Empc_Module_Metadata_Cancel_Cb)(const Empc_Fetch_Request *);
typedef void (*Empc_Module_Metadata_Fetch_Result_Cb)(void *, Empc_Fetch_Request *, Evas_Object *img);

View File

@ -40,7 +40,7 @@ empc_module_metadata_save_image(Evas_Object *obj, const char *artist, const char
}
EAPI void
empc_module_metadata_save_text(const char *artist, const char *song, const char *text)
empc_module_metadata_save_text(const char *text, const char *artist, const char *song)
{
char buf[4096];
char *a, *b;