collections { group { name: "elm/layout/empc/base"; parts { part { name: "base"; type: RECT; description { state: "default"; color: 0 0 0 255; } } part { name: "empc.swallow.background"; type: SWALLOW; description { state: "default"; } } part { name: "empc.text.artist"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 0 1; align: 0.5 0; rel2.relative: 1 0; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; text { font: "Sans:style=Bold"; size: 12; min: 1 1; align: 0.5 0; } } } part { name: "empc.text.album"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 0 1; align: 0.5 0; rel1.to_y: "empc.text.artist"; rel1.offset: 0 -16; rel1.relative: 0 1; rel2.relative: 1 0; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; text { font: "Sans:style=Bold"; size: 11; min: 1 1; } } } part { name: "empc.text.title"; type: TEXT; mouse_events: 0; clip_to: "title_clip"; effect: GLOW; scale: 1; description { state: "default"; fixed: 0 1; align: 0.5 1; rel1.relative: 0 1; rel2.to_y: "empc.swallow.info"; rel2.relative: 1 0; rel2.offset: 0 8; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; text { font: "Sans:style=Bold"; size: 11; min: 1 1; align: 0.5 0; } } } part { name: "title_clip"; type: RECT; mouse_events: 0; description { state: "default"; } description { state: "left"; visible: 0; } description { state: "right"; visible: 0; } } part { name: "title_animator"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 1 1; rel1.to: "empc.text.title"; rel2.to: "empc.text.title"; visible: 0; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; text { font: "Sans:style=Bold"; size: 11; text_source: "empc.text.title"; min: 1 1; } } description { state: "left"; inherit: "default"; rel1.relative: -1 0; rel2.relative: -1 1; visible: 1; } description { state: "right"; inherit: "default"; rel1.relative: 2 0; rel2.relative: 2 1; visible: 1; } } program { signal: "empc,title,change,next"; source: "empc"; action: STATE_SET "left" 0.0; target: "title_clip"; } program { signal: "empc,title,change,prev"; source: "empc"; action: STATE_SET "left" 0.0; target: "title_clip"; } program { signal: "empc,title,change,next"; source: "empc"; action: STATE_SET "left" 0.0; target: "title_animator"; transition: LINEAR 0.2; after: "title_left"; } program { signal: "empc,title,change,prev"; source: "empc"; action: STATE_SET "right" 0.0; target: "title_animator"; transition: LINEAR 0.2; after: "title_right"; } program { name: "title_left"; action: STATE_SET "right" 0.0; target: "title_animator"; target: "title_clip"; after: "title2"; } program { name: "title_right"; action: STATE_SET "left" 0.0; target: "title_animator"; target: "title_clip"; after: "title2"; } program { name: "title2"; action: SIGNAL_EMIT "empc,title,changed,1" "empc"; } program { signal: "empc,title,change,2"; source: "empc"; action: STATE_SET "default" 0.0; target: "title_animator"; transition: LINEAR 0.2; after: "title3"; } program { name: "title3"; action: STATE_SET "default" 0.0; target: "title_clip"; } part { name: "fader"; type: RECT; mouse_events: 0; description { state: "default"; color: 0 0 0 0; } description { state: "visible"; color: 0 0 0 128; } } part { name: "empc.swallow.info"; type: SWALLOW; description { state: "default"; fixed: 0 1; rel1.relative: 0 1; } description { state: "visible";//controls visible inherit: "default"; align: 0.5 1; rel2.relative: 1 0; rel2.to_y: "empc.swallow.controls"; } } part { name: "empc.swallow.playlist"; type: SWALLOW; description { state: "default"; fixed: 1 1; rel1.relative: 1 1; rel1.to: "empc.text.album"; rel2.relative: 2 0; rel2.to_y: "empc.text.title"; } description { state: "visible"; fixed: 1 1; rel1.relative: 0 1; rel1.to: "empc.text.album"; rel2.relative: 1 0; rel2.to_y: "empc.text.title"; } } part { name: "playlist_events"; type: RECT; repeat_events: 1; description { state: "default"; min: 16 16; color: 0 0 0 0; rel1.relative: 0.75 0; } } part { name: "empc.swallow.controls"; type: SWALLOW; description { state: "default"; fixed: 1 1; align: 0.5 1; rel1.relative: 0 1; rel2.relative: 1 2; } description { state: "visible"; fixed: 1 1; align: 0.5 1; rel1.relative: 0 1; } } part { name: "controls_events"; type: RECT; repeat_events: 1; description { state: "default"; min: 16 16; color: 0 0 0 0; rel1.relative: 0 0.9; } } /* PLAYLIST */ program { signal: "mouse,in"; source: "playlist_events"; action: SIGNAL_EMIT "empc,playlist,mouse_in" "empc"; } program { signal: "mouse,out"; source: "playlist_events"; action: SIGNAL_EMIT "empc,playlist,mouse_out" "empc"; } program { name: "playlist_show"; signal: "empc,playlist,show"; source: "empc"; action: ACTION_STOP; target: "playlist_hide_start"; after: "playlist_show_start"; } program { name: "playlist_show_start"; action: STATE_SET "visible" 0.0; target: "empc.swallow.playlist"; target: "fader"; transition: LINEAR 0.2 CURRENT; after: "playlist_show_done"; } program { name: "playlist_show_done"; action: SIGNAL_EMIT "empc,playlist,visible" "empc"; } program { name: "playlist_hide"; signal: "empc,playlist,hide"; source: "empc"; action: ACTION_STOP; target: "playlist_show_start"; after: "playlist_hide_start"; } program { name: "playlist_hide_start"; action: STATE_SET "default" 0.0; target: "empc.swallow.playlist"; target: "fader"; transition: LINEAR 0.2 CURRENT; after: "playlist_hide_done"; } program { name: "playlist_hide_done"; action: SIGNAL_EMIT "empc,playlist,hidden" "empc"; } /* CONTROLS */ program { signal: "mouse,in"; source: "controls_events"; action: SIGNAL_EMIT "empc,controls,mouse_in" "empc"; } program { signal: "mouse,out"; source: "controls_events"; action: SIGNAL_EMIT "empc,controls,mouse_out" "empc"; } program { name: "controls_show"; signal: "empc,controls,show"; source: "empc"; action: ACTION_STOP; target: "controls_hide_start"; after: "controls_show_start"; } program { name: "controls_show_start"; action: STATE_SET "visible" 0.0; target: "empc.swallow.controls"; target: "empc.swallow.info"; transition: LINEAR 0.2 CURRENT; after: "controls_show_done"; } program { name: "controls_show_done"; action: SIGNAL_EMIT "empc,controls,visible" "empc"; } program { name: "controls_hide"; signal: "empc,controls,hide"; source: "empc"; action: ACTION_STOP; target: "controls_show_start"; after: "controls_hide_start"; } program { name: "controls_hide_start"; action: STATE_SET "default" 0.0; target: "empc.swallow.controls"; target: "empc.swallow.info"; transition: LINEAR 0.2 CURRENT; after: "controls_hide_done"; } program { name: "controls_hide_done"; action: SIGNAL_EMIT "empc,controls,hidden" "empc"; } } } group { name: "elm/genlist/item_compress/playlist/default"; data.item: "selectraise" "on"; data.item: "texts" "elm.text empc.text.track empc.text.time"; data.item: "contents" "elm.swallow.icon"; data.item: "treesize" 19; parts { part { name: "selection"; type: RECT; mouse_events: 0; scale: 1; description { state: "default"; color: 222 222 222 0; visible: 0; } description { state: "selected"; inherit: "default"; color: 222 222 222 160; visible: 1; } } part { name: "elm.text"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; rel1.offset: 2 3; rel1.relative: 1.0 0.0; rel1.to_x: "empc.text.track"; rel2.offset: -3 -3; rel2.relative: 0.0 1.0; rel2.to_x: "empc.text.time"; color: 255 255 255 255; color3: 0 0 0 128; text { font: "Sans"; size: 11; min: 0 1; align: 0.0 0.5; } } description { state: "playing" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "title_playing"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 1 0; rel1.offset: -2 -3; rel1.to: "elm.text"; rel2.offset: -1 1; rel2.to: "elm.text"; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; color_class: "text_item_playing"; text { font: "Sans:style=Bold"; size: 11; text_source: "elm.text"; min: 0 1; align: 0.0 0.5; } visible: 0; } description { state: "playing" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "elm,state,selected"; source: "elm"; action: STATE_SET "selected" 0.0; target: "selection"; transition: LINEAR 0.15; } program { signal: "elm,state,unselected"; source: "elm"; action: STATE_SET "default" 0.0; target: "selection"; transition: LINEAR 0.15; } part { name: "elm.swallow.pad"; type: SWALLOW; mouse_events: 0; description { state: "default"; fixed: 1 0; align: 0.0 0.5; rel1.offset: 2 2; rel2.relative: 0.0 1.0; rel2.offset: 2 -3; } } part { name: "empc.text.track"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 1 0; align: 0.0 0.5; aspect: 1.0 1.0; rel1.to_x: "elm.swallow.pad"; rel1.relative: 1.0 0.0; rel1.offset: -1 2; rel2.to_x: "elm.swallow.pad"; rel2.offset: -1 -3; color: 255 255 255 255; color3: 0 0 0 128; text { font: "Sans"; size: 11; min: 0 1; align: 0.0 0.5; } } description { state: "playing" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "track_playing"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 1 0; rel1.offset: -2 -3; rel1.to: "empc.text.track"; rel2.offset: -1 1; rel2.to: "empc.text.track"; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; color_class: "text_item_playing"; text { font: "Sans:style=Bold"; size: 11; text_source: "empc.text.track"; min: 0 1; align: 0.0 0.5; } visible: 0; } description { state: "playing" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "empc.text.time"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 1 0; align: 1.0 0.5; aspect: 1.0 1.0; rel1.offset: -3 2; rel1.relative: 1.0 0.0; rel2.offset: -3 -3; color: 255 255 255 255; color3: 0 0 0 128; text { font: "Sans"; size: 11; min: 1 1; align: 0.0 0.5; } } description { state: "playing" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "time_playing"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default"; fixed: 1 0; rel1.offset: -2 -3; rel1.to: "empc.text.time"; rel2.offset: -1 1; rel2.to: "empc.text.time"; color: 255 255 255 255; color2: 0 0 0 192; color3: 0 0 0 128; color_class: "text_item_playing"; text { font: "Sans:style=Bold"; size: 11; text_source: "empc.text.time"; min: 1 1; align: 0.0 0.5; } visible: 0; } description { state: "playing" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "events"; type: RECT; description { state: "default"; color: 0 0 0 0; } } program { signal: "empc,state,playing"; source: "empc"; action: STATE_SET "playing" 0.0; target: "empc.text.track"; target: "empc.text.time"; target: "elm.text"; target: "title_playing"; target: "time_playing"; target: "track_playing"; } program { signal: "empc,state,not_playing"; source: "empc"; action: STATE_SET "default" 0.0; target: "empc.text.track"; target: "empc.text.time"; target: "elm.text"; target: "title_playing"; target: "time_playing"; target: "track_playing"; } } } group { name: "elm/button/base/controls"; parts { part { name: "base"; type: RECT; mouse_events: 0; description { state: "default"; color: 0 0 0 128; } } part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0; clip_to: "clip"; description { state: "default"; aspect: 1.0 1.0; rel2.relative: 1 1; } } part { name: "clip"; type: RECT; mouse_events: 0; description { state: "default"; color: 155 155 155 200; } description { state: "active"; color: 255 255 255 255; } } part { name: "events"; type: RECT; description { state: "default"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "events"; action: SIGNAL_EMIT "elm,action,press" ""; } program { signal: "mouse,clicked,1"; source: "events"; action: SIGNAL_EMIT "elm,action,click" ""; } program { signal: "mouse,up,1"; source: "events"; action: SIGNAL_EMIT "elm,action,unpress" ""; } program { signal: "mouse,in"; source: "events"; action: STATE_SET "active" 0.0; target: "clip"; transition: LINEAR 0.2 CURRENT; } program { signal: "mouse,out"; source: "events"; action: STATE_SET "default" 0.0; target: "clip"; transition: LINEAR 0.2 CURRENT; } } } group { name: "elm/slider/hidden/limit"; parts { part { name: "elm.units.min"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default"; visible: 0; align: 1.0 0.5; text { font: FN; size: 10; text_class: "slider_text"; min: 1 1; align: 0.0 0.5; } } } part { name: "elm.units.max"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default"; visible: 0; align: 1.0 0.5; text { font: FN; size: 10; text_class: "slider_text"; min: 1 1; align: 0.0 0.5; } } } } } group { name: "elm/slider/horizontal/player"; parts { part { name: "level.sizer"; type: SPACER; scale: 1; description { state: "default"; fixed: 1 1; rel1.to: "elm.swallow.bar"; rel2.to_x: "slider1"; rel2.to_y: "elm.swallow.bar"; } description { state: "slide"; inherit: "default"; rel2.to_x: "slider2"; } } part { name: "level"; type: RECT; mouse_events: 0; scale: 1; description { state: "default"; fixed: 1 1; rel1.to: "level.sizer"; rel2.to: "level.sizer"; color: 52 153 255 255; } } part { name: "elm.swallow.bar"; type: SWALLOW; scale: 1; description { state: "default"; } } part { name: "elm.dragable.slider"; type: RECT; scale: 1; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "elm.swallow.bar"; description { state: "default"; color: 0 0 0 0; min: 16 16; max: 16 16; fixed: 1 1; rel1.relative: 0.5 0.0; rel1.to_x: "elm.swallow.bar"; rel2.relative: 0.5 1.0; rel2.to_x: "elm.swallow.bar"; } } part { name: "slider1"; type: RECT; scale: 1; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "elm.swallow.bar"; description { state: "default"; color: 0 0 0 0; min: 16 16; max: 16 16; fixed: 1 1; rel1.relative: 0.5 0.0; rel1.to_x: "elm.swallow.bar"; rel2.relative: 0.5 1.0; rel2.to_x: "elm.swallow.bar"; } } part { name: "slider2"; type: RECT; scale: 1; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "elm.swallow.bar"; description { state: "default"; color: 0 0 0 0; min: 16 16; max: 16 16; fixed: 1 1; rel1.relative: 0.5 0.0; rel1.to_x: "elm.swallow.bar"; rel2.relative: 0.5 1.0; rel2.to_x: "elm.swallow.bar"; } } part { name: "slideevent"; type: RECT; repeat_events: 1; scale: 1; ignore_flags: ON_HOLD; dragable.events: "elm.dragable.slider"; description { state: "default"; fixed: 1 1; rel1.to: "elm.dragable.slider"; rel2.to: "elm.dragable.slider"; color: 0 0 0 0; } } program { name: "update"; action: STATE_SET "slide" 0.0; target: "level.sizer"; transition: LINEAR 0.1; } program { signal: "drag,set"; source: "elm.dragable.slider"; script { new Float:x, Float:y; get_drag(PART:"slider2", x, y); set_drag(PART:"slider1", x, y); set_state(PART:"level.sizer", "default", 0.0); get_drag(PART:"elm.dragable.slider", x, y); set_drag(PART:"slider2", x, y); } after: "update"; } } } }