#define BSZ 24 group { name: "elm/player/base/default"; min: 20 10; parts { part { name: "media_player/slider"; type: SWALLOW; description { state: "default" 0.0; fixed: 0 1; rel1.offset: 2 2; rel2.offset: 2 -3; rel2.relative: 1.0 0.0; align: 0.5 0.0; } } part { name: "media_player/rewind"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; min: BSZ BSZ; align: 0.0 1.0; rel1 { to_y: "media_player/slider"; offset: 2 2; relative: 0.0 1.0; } rel2 { relative: 0.0 1.0; offset: 2 -3; } } } part { name: "media_player/prev"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: BSZ BSZ; align: 0.0 1.0; rel1 { to: "media_player/rewind"; offset: 2 0; relative: 1.0 0.0; } rel2 { to: "media_player/rewind"; offset: 2 -1; relative: 1.0 1.0; } } } part { name: "media_player/play"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: BSZ BSZ; align: 0.0 1.0; rel1 { to: "media_player/prev"; offset: 2 0; relative: 1.0 0.0; } rel2 { to: "media_player/prev"; offset: 2 -1; relative: 1.0 1.0; } } description { state: "hidden" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "media_player/pause"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; rel1.to: "media_player/play"; rel2.to: "media_player/play"; } description { state: "hidden" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "media_player/info"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: BSZ BSZ; align: 0.0 1.0; rel1 { to: "media_player/play"; offset: 2 0; relative: 1.0 0.0; } rel2 { to: "media_player/play"; offset: 2 -1; relative: 1.0 1.0; } } description { state: "hidden" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "media_player/stop"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: BSZ BSZ; align: 0.0 1.0; rel1 { to: "media_player/info"; offset: 2 0; relative: 1.0 0.0; } rel2 { to: "media_player/info"; offset: 2 -1; relative: 1.0 1.0; } } } part { name: "media_player/next"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: BSZ BSZ; align: 0.0 1.0; rel1 { to: "media_player/stop"; offset: 2 0; relative: 1.0 0.0; } rel2 { to: "media_player/stop"; offset: 2 -1; relative: 1.0 1.0; } } } part { name: "media_player/forward"; type: SWALLOW; description { state: "default" 0.0; min: BSZ BSZ; align: 0.0 1.0; rel1 { to: "media_player/next"; offset: 2 0; relative: 1.0 0.0; } rel2.offset: -3 -3; } } } programs { program { signal: "show"; source: ""; after: "pause/0"; } program { signal: "elm,player,play"; source: "elm"; after: "play/0"; } program { signal: "elm,player,pause"; source: "elm"; after: "pause/0"; } program { name: "play/0"; action: STATE_SET "hidden" 0.0; target: "media_player/play"; after: "play/1"; } program { name: "play/1"; action: STATE_SET "default" 0.0; target: "media_player/pause"; } program { name: "pause/0"; action: STATE_SET "hidden" 0.0; target: "media_player/pause"; after: "pause/1"; } program { name: "pause/1"; action: STATE_SET "default" 0.0; target: "media_player/play"; } } }