Now with a Popup! (And a very simple theme for the popup)

SVN revision: 33105
This commit is contained in:
Sthithaprajna Garapaty 2007-12-12 03:14:10 +00:00 committed by Sthithaprajna Garapaty
parent ae4a222da1
commit 72b81baba4
2 changed files with 647 additions and 159 deletions

View File

@ -26,6 +26,8 @@ static const char *_gc_id_new(void);
/* Module Protos */ /* Module Protos */
static void _mpdule_cb_mouse_down (void *data, Evas * e, Evas_Object * obj, static void _mpdule_cb_mouse_down (void *data, Evas * e, Evas_Object * obj,
void *event_info); void *event_info);
static void _mpdule_cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _mpdule_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _mpdule_menu_cb_configure (void *data, E_Menu * m, static void _mpdule_menu_cb_configure (void *data, E_Menu * m,
E_Menu_Item * mi); E_Menu_Item * mi);
static void _mpdule_menu_cb_post (void *data, E_Menu * m); static void _mpdule_menu_cb_post (void *data, E_Menu * m);
@ -49,9 +51,11 @@ struct _Instance
{ {
E_Gadcon_Client *gcc; E_Gadcon_Client *gcc;
Evas_Object *mpdule; Evas_Object *mpdule;
Evas_Object *o_popup;
mpd_Connection *mpd; mpd_Connection *mpd;
Ecore_Timer *update_timer; Ecore_Timer *update_timer;
Config_Item *ci; Config_Item *ci;
E_Gadcon_Popup *popup;
}; };
@ -59,14 +63,18 @@ static void _mpdule_connect (Instance * inst);
static void _mpdule_disconnect (Instance * inst); static void _mpdule_disconnect (Instance * inst);
static void _mpdule_update_song (Instance * inst); static void _mpdule_update_song (Instance * inst);
static void _mpdule_update_song_cb (void *data); static void _mpdule_update_song_cb (void *data);
static void _mpdule_popup_destroy(Instance *inst);
static void _mpdule_popup_resize(Evas_Object *obj, int *w, int *h);
static E_Gadcon_Client * static E_Gadcon_Client *
_gc_init (E_Gadcon * gc, const char *name, const char *id, const char *style) _gc_init (E_Gadcon * gc, const char *name, const char *id, const char *style)
{ {
Evas_Object *o; Evas_Object *o, *o_popup;
E_Gadcon_Client *gcc; E_Gadcon_Client *gcc;
Evas *evas;
Instance *inst; Instance *inst;
char buf[4096]; char buf[4096];
int w, h;
inst = E_NEW (Instance, 1); inst = E_NEW (Instance, 1);
@ -87,14 +95,29 @@ _gc_init (E_Gadcon * gc, const char *name, const char *id, const char *style)
inst->gcc = gcc; inst->gcc = gcc;
inst->mpdule = o; inst->mpdule = o;
inst->popup = e_gadcon_popup_new(inst->gcc, _mpdule_popup_resize);
evas = inst->popup->win->evas;
o_popup = edje_object_add (evas);
if (!e_theme_edje_object_set
(o_popup, "base/theme/modules/mpdule", "modules/mpdule/popup"))
edje_object_file_set (o_popup, buf, "modules/mpdule/popup");
evas_object_show (o_popup);
e_gadcon_popup_content_set(inst->popup, o_popup);
edje_object_size_min_calc (o_popup, &w, &h);
inst->o_popup = o_popup;
evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_DOWN, evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_DOWN,
_mpdule_cb_mouse_down, inst); _mpdule_cb_mouse_down, inst);
evas_object_event_callback_add(inst->mpdule, EVAS_CALLBACK_MOUSE_IN,
_mpdule_cb_mouse_in, inst);
evas_object_event_callback_add(inst->mpdule, EVAS_CALLBACK_MOUSE_OUT,
_mpdule_cb_mouse_out, inst);
_mpdule_connect(inst); _mpdule_connect(inst);
_mpdule_update_song(inst); _mpdule_update_song(inst);
inst->update_timer = ecore_timer_add((double)inst->ci->poll_time, inst->update_timer = ecore_timer_add((double)inst->ci->poll_time,
_mpdule_update_song_cb, inst); _mpdule_update_song_cb, inst);
mpdule_config->instances = mpdule_config->instances =
evas_list_append (mpdule_config->instances, inst); evas_list_append (mpdule_config->instances, inst);
return gcc; return gcc;
@ -114,7 +137,11 @@ _gc_shutdown (E_Gadcon_Client * gcc)
evas_object_event_callback_del (inst->mpdule, EVAS_CALLBACK_MOUSE_DOWN, evas_object_event_callback_del (inst->mpdule, EVAS_CALLBACK_MOUSE_DOWN,
_mpdule_cb_mouse_down); _mpdule_cb_mouse_down);
evas_object_event_callback_del(inst->mpdule, EVAS_CALLBACK_MOUSE_IN,
_mpdule_cb_mouse_in);
evas_object_event_callback_del(inst->mpdule, EVAS_CALLBACK_MOUSE_OUT,
_mpdule_cb_mouse_out);
_mpdule_popup_destroy(inst);
evas_object_del (inst->mpdule); evas_object_del (inst->mpdule);
free (inst); free (inst);
inst = NULL; inst = NULL;
@ -195,9 +222,37 @@ _mpdule_cb_mouse_down (void *data, Evas * e, Evas_Object * obj,
E_MENU_POP_DIRECTION_DOWN, ev->timestamp); E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button, evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button,
EVAS_BUTTON_NONE, ev->timestamp, NULL); EVAS_BUTTON_NONE, ev->timestamp, NULL);
} else if (ev->button == 1) {
printf("POPUP3");
e_gadcon_popup_toggle_pinned(inst->popup);
} }
} }
static void
_mpdule_cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Instance *inst;
E_Gadcon_Popup *popup;
printf("POPUP1");
if (!(inst = data)) return;
popup = inst->popup;
e_gadcon_popup_show(inst->popup);
}
static void
_mpdule_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Instance *inst;
E_Gadcon_Popup *popup;
printf("POPUP2");
if (!(inst = data)) return;
popup = inst->popup;
e_gadcon_popup_hide(inst->popup);
}
static void static void
_mpdule_menu_cb_post (void *data, E_Menu * m) _mpdule_menu_cb_post (void *data, E_Menu * m)
{ {
@ -309,8 +364,11 @@ _mpdule_connect(Instance *inst)
static void static void
_mpdule_disconnect(Instance *inst) _mpdule_disconnect(Instance *inst)
{ {
mpd_Connection *mpd;
if (inst->mpd) { if (inst->mpd) {
mpd_closeConnection(inst->mpd); mpd = inst->mpd;
mpd_closeConnection(mpd);
inst->mpd = NULL; inst->mpd = NULL;
} }
} }
@ -330,11 +388,13 @@ _mpdule_update_song(Instance *inst)
{ {
mpd_Connection *mpd; mpd_Connection *mpd;
Evas_Object *mpdule; Evas_Object *mpdule;
Evas_Object *o_popup;
if (!inst->mpd) if (!inst->mpd)
return; return;
mpd = inst->mpd; mpd = inst->mpd;
mpdule = inst->mpdule; mpdule = inst->mpdule;
o_popup = inst->o_popup;
mpd_sendStatusCommand(mpd); mpd_sendStatusCommand(mpd);
if (mpd->error == 0) if (mpd->error == 0)
{ {
@ -345,18 +405,22 @@ _mpdule_update_song(Instance *inst)
if (status->state == MPD_STATUS_STATE_UNKNOWN) if (status->state == MPD_STATUS_STATE_UNKNOWN)
{ {
edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Unknown")); edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Unknown"));
edje_object_part_text_set (o_popup, "mpdule.status", D_ ("Unknown"));
} }
else if (status->state == MPD_STATUS_STATE_STOP) else if (status->state == MPD_STATUS_STATE_STOP)
{ {
edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Stopped")); edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Stopped"));
edje_object_part_text_set (o_popup, "mpdule.status", D_ ("Stopped"));
} }
else if (status->state == MPD_STATUS_STATE_PLAY) else if (status->state == MPD_STATUS_STATE_PLAY)
{ {
edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Playing")); edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Playing"));
edje_object_part_text_set (o_popup, "mpdule.status", D_ ("Playing"));
} }
else if (status->state == MPD_STATUS_STATE_PAUSE) else if (status->state == MPD_STATUS_STATE_PAUSE)
{ {
edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Paused")); edje_object_part_text_set (mpdule, "mpdule.status", D_ ("Paused"));
edje_object_part_text_set (o_popup, "mpdule.status", D_ ("Paused"));
} }
if (status->state > MPD_STATUS_STATE_STOP) if (status->state > MPD_STATUS_STATE_STOP)
@ -374,85 +438,94 @@ _mpdule_update_song(Instance *inst)
if (song->artist) if (song->artist)
{ {
edje_object_part_text_set (mpdule, "mpdule.artist", song->artist); edje_object_part_text_set (mpdule, "mpdule.artist", song->artist);
edje_object_part_text_set (o_popup, "mpdule.artist", song->artist);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.artist", ""); edje_object_part_text_set (mpdule, "mpdule.artist", "");
edje_object_part_text_set (o_popup, "mpdule.artist", "");
} }
if (song->title) if (song->title)
{ {
edje_object_part_text_set (mpdule, "mpdule.title", song->title); edje_object_part_text_set (mpdule, "mpdule.title", song->title);
edje_object_part_text_set (o_popup, "mpdule.title", song->title);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.title", ""); edje_object_part_text_set (mpdule, "mpdule.title", "");
edje_object_part_text_set (o_popup, "mpdule.title", "");
} }
if (song->album) if (song->album)
{ {
edje_object_part_text_set (mpdule, "mpdule.album", song->album); edje_object_part_text_set (mpdule, "mpdule.album", song->album);
edje_object_part_text_set (o_popup, "mpdule.album", song->album);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.album", ""); edje_object_part_text_set (mpdule, "mpdule.album", "");
edje_object_part_text_set (o_popup, "mpdule.album", "");
} }
if (song->track) if (song->track)
{ {
edje_object_part_text_set (mpdule, "mpdule.track", song->track); edje_object_part_text_set (mpdule, "mpdule.track", song->track);
edje_object_part_text_set (o_popup, "mpdule.track", song->track);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.track", ""); edje_object_part_text_set (mpdule, "mpdule.track", "");
edje_object_part_text_set (o_popup, "mpdule.track", "");
} }
if (song->date) if (song->date)
{ {
edje_object_part_text_set (mpdule, "mpdule.date", song->date); edje_object_part_text_set (mpdule, "mpdule.date", song->date);
edje_object_part_text_set (o_popup, "mpdule.date", song->date);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.date", ""); edje_object_part_text_set (mpdule, "mpdule.date", "");
edje_object_part_text_set (o_popup, "mpdule.date", "");
} }
if (song->genre) if (song->genre)
{ {
edje_object_part_text_set (mpdule, "mpdule.genre", song->genre); edje_object_part_text_set (mpdule, "mpdule.genre", song->genre);
edje_object_part_text_set (o_popup, "mpdule.genre", song->genre);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.genre", ""); edje_object_part_text_set (mpdule, "mpdule.genre", "");
edje_object_part_text_set (o_popup, "mpdule.genre", "");
} }
if (song->composer) if (song->composer)
{ {
edje_object_part_text_set (mpdule, "mpdule.composer", song->composer); edje_object_part_text_set (mpdule, "mpdule.composer", song->composer);
edje_object_part_text_set (o_popup, "mpdule.composer", song->composer);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.composer", ""); edje_object_part_text_set (mpdule, "mpdule.composer", "");
edje_object_part_text_set (o_popup, "mpdule.composer", "");
} }
if (song->time) if (song->time)
{ {
char * songtime; //char * songtime;
sprintf(songtime, "%i", song->time); //sprintf(songtime, "%i", song->time);
edje_object_part_text_set (mpdule, "mpdule.time", songtime); //edje_object_part_text_set (mpdule, "mpdule.time", songtime);
//edje_object_part_text_set (o_popup, "mpdule.time", songtime);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.time", ""); edje_object_part_text_set (mpdule, "mpdule.time", "");
edje_object_part_text_set (o_popup, "mpdule.time", "");
} }
if (song->file) if (song->file)
{ {
edje_object_part_text_set (mpdule, "mpdule.file", song->file); edje_object_part_text_set (mpdule, "mpdule.file", song->file);
edje_object_part_text_set (o_popup, "mpdule.file", song->file);
} }
else else
{ {
edje_object_part_text_set (mpdule, "mpdule.file", ""); edje_object_part_text_set (mpdule, "mpdule.file", "");
edje_object_part_text_set (o_popup, "mpdule.file", "");
} }
} }
@ -558,3 +631,23 @@ e_modapi_save (E_Module * m)
e_config_domain_save ("module.mpdule", conf_edd, mpdule_config); e_config_domain_save ("module.mpdule", conf_edd, mpdule_config);
return 1; return 1;
} }
static void
_mpdule_popup_destroy(Instance *inst)
{
if (!inst->popup) return;
e_object_del(E_OBJECT(inst->popup));
}
static void
_mpdule_popup_resize(Evas_Object *obj, int *w, int *h)
{
int x, y;
if (!(*w)) *w = 0;
if (!(*h)) *h = 0;
printf("SIZES: %dx%d", w, h);
edje_object_size_min_calc (obj, &x, &y);
printf("SIZES2: %dx%d", x, y);
*w = x;
*h = y;
}

View File

@ -1,5 +1,16 @@
fonts { fonts {
font: "VeraMono.ttf" "VeraMono"; font: "VeraMono.ttf" "VeraMono";
font: "VeraBd.ttf" "VeraBold";
}
spectra {
}
color_classes {
}
images {
}
data {
}
styles {
} }
/* /*
Available labels: Available labels:
@ -14,146 +25,530 @@ mpdule.composer
mpdule.time mpdule.time
mpdule.file mpdule.file
*/ */
collections collections {
{ group {
group
{
name: "modules/mpdule/main"; name: "modules/mpdule/main";
parts parts {
{ part {
part
{
name: "base"; name: "base";
type: RECT; type: RECT;
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.00;
color: 255 255 255 255; visible: 1;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.00 0.00;
offset: 0 0;
} }
rel2 { rel2 {
relative: 1.0 1.0; relative: 1.00 1.00;
offset: -1 -1;
} }
} }
} }
part part {
{
name: "item_clip"; name: "item_clip";
type: RECT; type: RECT;
mouse_events: 1;
description { description {
state: "default" 0.0; state: "default" 0.00;
color: 255 255 255 0; visible: 1;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.00 0.00;
offset: 0 0;
} }
rel2 { rel2 {
relative: 1.0 1.0; relative: 1.00 1.00;
offset: -1 -1;
}
color: 255 255 255 0;
} }
} }
} part {
part
{
name: "mpdule.artist"; name: "mpdule.artist";
type: TEXT; type: TEXT;
effect: OUTLINE_SOFT_SHADOW; effect: OUTLINE_SOFT_SHADOW;
clip_to: "base"; clip_to: "base";
mouse_events: 1; description {
description state: "default" 0.00;
{
state: "default" 0.0;
visible: 1; visible: 1;
align: 0.5 0.5; rel1 {
rel1 relative: 0.00 0.00;
{
relative: 0.0 0.0;
offset: 0 4; offset: 0 4;
} }
rel2 rel2 {
{ relative: 1.00 0.50;
relative: 1.0 0.5;
offset: -1 -3; offset: -1 -3;
} }
color: 255 255 255 255;
color2: 0 0 0 96; color2: 0 0 0 96;
color3: 0 0 0 32; color3: 0 0 0 32;
text { text {
text: ""; text: "";
text_class: "mpdule";
font: "VeraMono"; font: "VeraMono";
size: 10; size: 10;
min: 1 1; min: 1 1;
align: 0.5 0.5; align: 0.50 0.50;
text_class: "mpdule";
} }
} }
description description {
{ state: "hidden" 0.00;
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0; visible: 0;
} rel1 {
description relative: 0.00 0.00;
{
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part
{
name: "mpdule.title";
type: TEXT;
clip_to: "base";
effect: OUTLINE_SOFT_SHADOW;
mouse_events: 1;
description
{
state: "default" 0.0;
visible: 1;
align: 0.5 0.5;
rel1
{
relative: 0.0 0.5;
offset: 0 4; offset: 0 4;
} }
rel2 rel2 {
{ relative: 1.00 0.50;
relative: 1.0 1.0;
offset: -1 -3; offset: -1 -3;
} }
color: 255 255 255 255;
color2: 0 0 0 96; color2: 0 0 0 96;
color3: 0 0 0 32; color3: 0 0 0 32;
text { text {
text: ""; text: "";
text_class: "mpdule";
font: "VeraMono";
size: 10;
min: 1 1;
align: 0.50 0.50;
}
}
description {
state: "visible" 0.00;
visible: 1;
rel1 {
relative: 0.00 0.00;
offset: 0 4;
}
rel2 {
relative: 1.00 0.50;
offset: -1 -3;
}
color2: 0 0 0 96;
color3: 0 0 0 32;
text {
text: "";
text_class: "mpdule";
font: "VeraMono";
size: 10;
min: 1 1;
align: 0.50 0.50;
}
}
}
part {
name: "mpdule.title";
type: TEXT;
effect: OUTLINE_SOFT_SHADOW;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
rel1 {
relative: 0.00 0.50;
offset: 0 4;
}
rel2 {
relative: 1.00 1.00;
offset: -1 -3;
}
color2: 0 0 0 96;
color3: 0 0 0 32;
text {
text: "";
text_class: "mpdule";
font: "VeraMono"; font: "VeraMono";
size: 9; size: 9;
min: 1 1; min: 1 1;
align: 0.5 0.5; align: 0.50 0.50;
text_class: "mpdule";
} }
} }
description description {
{ state: "hidden" 0.00;
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0; visible: 0;
rel1 {
relative: 0.00 0.50;
offset: 0 4;
} }
description rel2 {
{ relative: 1.00 1.00;
state: "visible" 0.0; offset: -1 -3;
inherit: "default" 0.0; }
color2: 0 0 0 96;
color3: 0 0 0 32;
text {
text: "";
text_class: "mpdule";
font: "VeraMono";
size: 9;
min: 1 1;
align: 0.50 0.50;
}
}
description {
state: "visible" 0.00;
visible: 1; visible: 1;
rel1 {
relative: 0.00 0.50;
offset: 0 4;
}
rel2 {
relative: 1.00 1.00;
offset: -1 -3;
}
color2: 0 0 0 96;
color3: 0 0 0 32;
text {
text: "";
text_class: "mpdule";
font: "VeraMono";
size: 9;
min: 1 1;
align: 0.50 0.50;
} }
} }
} }
/* Close Parts */
programs
{
} }
/* Close Programs */ programs {
}
}
group {
name: "modules/mpdule/popup";
parts {
part {
name: "base";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.00;
visible: 1;
min: 200 65;
rel1 {
relative: 0.00 0.00;
offset: 5 5;
}
rel2 {
relative: 1.00 1.00;
offset: -5 -5;
}
}
}
part {
name: "labels";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.00;
visible: 1;
rel1 {
relative: 0.00 0.00;
offset: 0 0;
to: "base";
}
rel2 {
relative: 0.25 1.00;
offset: 0 0;
to: "base";
}
color: 255 255 255 0;
}
}
part {
name: "values";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.00;
visible: 1;
rel1 {
relative: 0.25 0.00;
offset: 0 0;
to: "base";
}
rel2 {
relative: 1.00 1.00;
offset: 0 0;
to: "base";
}
color: 255 255 255 0;
}
}
part {
name: "item_clip";
type: RECT;
description {
state: "default" 0.00;
visible: 1;
min: 5 5;
rel1 {
relative: 0.00 0.00;
offset: 0 0;
}
rel2 {
relative: 1.00 1.00;
offset: -1 -1;
}
color: 255 255 255 0;
}
}
part {
name: "mpdule.artist_label";
type: TEXT;
effect: SHADOW;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
fixed: 1 1;
rel1 {
relative: -0.00 0.00;
offset: 0 0;
to: "labels";
}
rel2 {
relative: 1.00 0.00;
offset: 0 16;
to: "labels";
}
color: 0 0 0 255;
color3: 255 255 255 128;
text {
text: "Artist:";
text_class: "mpdule";
font: "VeraMono";
size: 10;
min: 1 1;
align: 1.0 0.50;
}
}
}
part {
name: "mpdule.title_label";
type: TEXT;
effect: SHADOW;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 1.00;
offset: 0 0;
to_x: "labels";
to_y: "mpdule.artist_label";
}
rel2 {
relative: 1.00 1.00;
offset: 0 12;
to_x: "labels";
to_y: "mpdule.artist_label";
}
color: 0 0 0 255;
color3: 255 255 255 128;
text {
text: "Title:";
text_class: "mpdule";
font: "VeraMono";
size: 10;
min: 1 1;
align: 1.0 0.50;
}
}
}
part {
name: "mpdule.album_label";
type: TEXT;
mouse_events: 0;
effect: SHADOW;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 1.00;
offset: 0 0;
to_x: "labels";
to_y: "mpdule.title_label";
}
rel2 {
relative: 1.00 1.00;
offset: 0 12;
to_x: "labels";
to_y: "mpdule.title_label";
}
color: 0 0 0 255;
color3: 255 255 255 128;
text {
text: "Album:";
text_class: "mpdule";
font: "VeraMono";
size: 10;
min: 1 1;
align: 1.0 0.50;
}
}
}
part {
name: "mpdule.genre_label";
type: TEXT;
mouse_events: 0;
effect: SHADOW;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 1.00;
offset: 0 0;
to_x: "labels";
to_y: "mpdule.album_label";
}
rel2 {
relative: 1.00 1.00;
offset: 0 12;
to_x: "labels";
to_y: "mpdule.album_label";
}
color: 0 0 0 255;
color3: 255 255 255 128;
text {
text: "Genre:";
text_class: "mpdule";
font: "VeraMono";
size: 10;
min: 1 1;
align: 1.0 0.50;
}
}
}
part {
name: "mpdule.artist";
type: TEXT;
effect: NONE;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 0.00;
offset: 0 0;
to_x: "values";
to_y: "mpdule.artist_label";
}
rel2 {
relative: 1.00 1.00;
to_x: "values";
to_y: "mpdule.artist_label";
}
color: 0 0 0 255;
text {
text: "";
text_class: "mpdule";
font: "VeraBold";
size: 10;
min: 1 1;
align: 0.0 0.50;
}
}
}
part {
name: "mpdule.title";
type: TEXT;
effect: NONE;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 0.00;
offset: 0 0;
to_x: "values";
to_y: "mpdule.title_label";
}
rel2 {
relative: 1.00 1.00;
to_x: "values";
to_y: "mpdule.title_label";
}
color: 0 0 0 255;
text {
text: "";
text_class: "mpdule";
font: "VeraBold";
size: 10;
min: 1 1;
align: 0.0 0.50;
}
}
}
part {
name: "mpdule.album";
type: TEXT;
effect: NONE;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 0.00;
offset: 0 0;
to_x: "values";
to_y: "mpdule.album_label";
}
rel2 {
relative: 1.00 1.00;
to_x: "values";
to_y: "mpdule.album_label";
}
color: 0 0 0 255;
text {
text: "";
text_class: "mpdule";
font: "VeraBold";
size: 10;
min: 1 1;
align: 0.0 0.50;
}
}
}
part {
name: "mpdule.genre";
type: TEXT;
effect: NONE;
clip_to: "base";
description {
state: "default" 0.00;
visible: 1;
align: 0.00 0.50;
rel1 {
relative: 0.00 0.00;
offset: 0 0;
to_x: "values";
to_y: "mpdule.genre_label";
}
rel2 {
relative: 1.00 1.00;
to_x: "values";
to_y: "mpdule.genre_label";
}
color: 0 0 0 255;
text {
text: "";
text_class: "mpdule";
font: "VeraBold";
size: 10;
min: 1 1;
align: 0.0 0.50;
}
}
}
}
programs {
}
} }
/* Close Group */
} }
/* Close Coll */