/************************************************************************************************** background-green.png: PNG image data, 30 x 30, 8-bit/color RGB, non-interlaced border-scale.png: PNG image data, 60 x 60, 8-bit/color RGBA, non-interlaced button-full-clicked.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced button-full-normal.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced lcd_area.png: PNG image data, 40 x 40, 8-bit/color RGBA, non-interlaced controls-back.png: PNG image data, 37 x 19, 8-bit/color RGBA, non-interlaced button-3stage-fulldown.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced button-3stage-selected.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced button-3stage-unselected.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced button-full-blinking.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced button-full-unblinking.png: PNG image data, 56 x 40, 8-bit/color RGBA, non-interlaced vol-display.png: PNG image data, 23 x 20, 8-bit/color RGBA, non-interlaced vol-label.png: PNG image data, 21 x 20, 8-bit/color RGBA, non-interlaced vol-minus.png: PNG image data, 29 x 20, 8-bit/color RGBA, non-interlaced vol-plus.png: PNG image data, 25 x 20, 8-bit/color RGBA, non-interlaced vol-minus-clicked.png: PNG image data, 29 x 20, 8-bit/color RGBA, non-interlaced vol-plus-clicked.png: PNG image data, 25 x 20, 8-bit/color RGBA, non-interlaced small-text-button.png: PNG image data, 34 x 20, 8-bit/color RGBA, non-interlaced **************************************************************************************************/ images { image, "border-scale.png" RAW; image, "button-full-clicked.png" RAW; image, "button-full-normal.png" RAW; image, "lcd_area.png" RAW; image, "background-dark-green.png" RAW; image, "controls-back.png" RAW; image, "button-3stage-fulldown.png" RAW; image, "button-3stage-selected.png" RAW; image, "button-3stage-unselected.png" RAW; image, "button-full-blinking.png" RAW; image, "button-full-unblinking.png" RAW; image, "vol-display.png" RAW; image, "vol-label.png" RAW; image, "vol-minus.png" RAW; image, "vol-plus.png" RAW; image, "vol-minus-clicked.png" RAW; image, "vol-plus-clicked.png" RAW; image, "small-text-button.png" RAW; } collections { group { min, 200 300; max, 200 300; name, "eplayer"; parts { /* Border Scaled Image for Background */ part { name, "background"; mouse_events, 0; type, IMAGE; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; } rel2 { relative, 1.0 1.0; offset, -1 -1; } image { normal, "border-scale.png"; } border, 6 6 6 6; fill { smooth, 0; } } } part { name, "title"; type, TEXT; //effect, SHADOW; mouse_events, 1; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 2; } rel2 { relative, 1.0 0.0; offset, -1 10; } color, 255 255 255 255; text { text, "eVorbisPlayer - Edje Edition"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 1.0; /* Text alignment based on rel1/rel2 */ } } } /* LCD Backdrop Image */ part { name, "lcd_backdrop"; type, IMAGE; mouse_events, 0; description { state, "default" 0.0; /* Part should fill from the far left, 20 pixels down */ rel1 { relative, 0.0 0.0; offset, 5 12; } /* all the way to the far right, 40 pixels north of the bottom right corner */ rel2 { relative, 1.0 0.0; offset, -6 81; } image { normal, "lcd_area.png"; } border, 5 5 5 5; fill { smooth, 0; } } } /* LCD Clipping Area - Invisible Rect */ part { name, "lcd_clip"; type, RECT; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 5 5; to, "lcd_backdrop"; } rel2 { relative, 1.0 1.0; offset, -5 -5; to, "lcd_backdrop"; } //color, 0 0 0 0; } } part { name, "artist_name"; type, TEXT; //effect, SOFT_OUTLINE; mouse_events, 0; clip_to, "lcd_clip"; description { state, "default" 0.0; /* Use the relative size of the LCD itself, then position with align */ rel1 { relative, 0.0 0.0; offset, 8 0; to, "lcd_backdrop"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "lcd_backdrop"; } color, 181 247 255 255; text { text, "Artist Name"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.1; /* Text alignment based on rel1/rel2 */ } } } part { name, "album_name"; type, TEXT; //effect, SOFT_OUTLINE; mouse_events, 0; clip_to, "lcd_clip"; description { state, "default" 0.0; /* Use the relative size of the LCD itself, then position with align */ rel1 { relative, 0.0 0.0; offset, 8 0; to, "lcd_backdrop"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "lcd_backdrop"; } color, 181 247 255 255; text { text, "Album Name"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.3; /* Text alignment based on rel1/rel2 */ } } } part { name, "song_name"; type, TEXT; //effect, SOFT_OUTLINE; mouse_events, 0; clip_to, "lcd_clip"; description { state, "default" 0.0; /* Use the relative size of the LCD itself, then position with align */ rel1 { relative, 0.0 0.0; offset, 8 0; to, "lcd_backdrop"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "lcd_backdrop"; } color, 181 247 255 255; text { text, "Song Name"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } /* Time Counter */ part { name, "time_text"; type, TEXT; //effect, OUTLINE_SOFT_SHADOW; clip_to, "lcd_clip"; mouse_events, 0; description { state, "default" 0.0; /* Use the relative size of the LCD itself, then position with align */ rel1 { relative, 0.0 0.0; offset, 0 0; to, "lcd_backdrop"; } rel2 { relative, 1.0 1.0; offset, -9 -1; to, "lcd_backdrop"; } color, 181 247 255 255; text { text, "-00:00:00"; /* Text String */ font, "micro"; /* Only font Vera works! Use other and segv */ size, 26; /* Font Size */ align, 1.0 1.0; /* Text alignment based on rel1/rel2 */ } } } /************* Buttons *******************************/ /* Button Area */ part { name, "button_background"; type, IMAGE; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 0.0 1.0; offset, 1 5; to, "lcd_backdrop"; } rel2 { relative, 1.0 1.0; offset, 0 100; to, "lcd_backdrop"; } image { normal, "controls-back.png"; } border, 5 5 5 5; fill { smooth, 0; } } } /* Previous Button */ part { name, "previous_button"; mouse_events, 1; description { state, "default" 0.0; min, 56 40; max, 56 40; rel1 { relative, 0.0 0.0; offset, 5 5; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 61 45; to, "button_background"; } image { normal, "button-full-normal.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; rel1 { relative, 0.0 0.0; offset, 5 5; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 61 45; to, "button_background"; } image { normal, "button-full-clicked.png"; } } } /* Play Button */ part { name, "play_button"; mouse_events, 1; description { state, "default" 0.0; min, 56 40; max, 56 40; align, 0.5 0.0; rel1 { relative, 1.0 0.0; offset, 0 0; to, "previous_button"; } rel2 { relative, 0.0 1.0; offset, -0 -0; to, "next_button"; } image { normal, "button-full-normal.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; align, 0.5 0.0; rel1 { relative, 1.0 0.0; offset, 0 0; to, "previous_button"; } rel2 { relative, 0.0 1.0; offset, -0 -0; to, "next_button"; } image { normal, "button-full-clicked.png"; } } description { state, "blink" 0.0; min, 56 40; max, 56 40; align, 0.5 0.0; rel1 { relative, 1.0 0.0; offset, 0 0; to, "previous_button"; } rel2 { relative, 0.0 1.0; offset, -0 -0; to, "next_button"; } image { normal, "button-full-blinking.png"; tween, "button-full-unblinking.png"; } } } /* Next Button */ part { name, "next_button"; mouse_events, 1; description { state, "default" 0.0; min, 56 40; max, 56 40; rel1 { relative, 1.0 0.0; offset, -61 5; to, "button_background"; } rel2 { relative, 1.0 0.0; offset, -5 45; to, "button_background"; } image { normal, "button-full-normal.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; rel1 { relative, 1.0 0.0; offset, -61 5; to, "button_background"; } rel2 { relative, 1.0 0.0; offset, -5 45; to, "button_background"; } image { normal, "button-full-clicked.png"; } } } /* Seekback Button */ part { name, "seekback_button"; mouse_events, 1; description { state, "default" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 0.0 0.0; offset, 5 50; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 61 90; to, "button_background"; } image { normal, "button-full-normal.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 0.0 0.0; offset, 5 50; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 61 90; to, "button_background"; } image { normal, "button-full-clicked.png"; } } } /* Pause Button */ part { name, "pause_button"; mouse_events, 1; description { state, "default" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 1.0 0.0; offset, 0 0; to, "seekback_button"; } rel2 { relative, 0.0 1.0; offset, -0 -0; to, "seekforward_button"; } image { normal, "button-3stage-unselected.png"; tween, "button-3stage-fulldown.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 1.0 0.0; offset, 0 0; to, "seekback_button"; } rel2 { relative, 0.0 1.0; offset, -0 -0; to, "seekforward_button"; } image { normal, "button-3stage-selected.png"; tween, "button-3stage-fulldown.png"; } } description { state, "blink" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 1.0 0.0; offset, 0 0; to, "seekback_button"; } rel2 { relative, 0.0 1.0; offset, -0 -0; to, "seekforward_button"; } image { normal, "button-full-blinking.png"; tween, "button-full-unblinking.png"; } } } /* Seekforward Button */ part { name, "seekforward_button"; mouse_events, 1; description { state, "default" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 1.0 0.0; offset, -61 50; to, "button_background"; } rel2 { relative, 1.0 0.0; offset, -5 90; to, "button_background"; } image { normal, "button-full-normal.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; visible, 1; rel1 { relative, 1.0 0.0; offset, -61 50; to, "button_background"; } rel2 { relative, 1.0 0.0; offset, -5 90; to, "button_background"; } image { normal, "button-full-clicked.png"; } } } /***************** BUTTON TEXT ELEMENTS *******************************/ part { name, "previous_text"; type, TEXT; //effect, SOFT_SHADOW; mouse_events, 0; /* Does part accept mouse events? */ // clip_to, "previous_button"; /* Clip anything outside of the specified object */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "previous_button"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "previous_button"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, "Previous"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "play_text"; type, TEXT; //effect, SOFT_SHADOW; mouse_events, 0; /* Does part accept mouse events? */ // clip_to, "play_button"; /* Clip anything outside of the specified object */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "play_button"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "play_button"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, "Play"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "next_text"; type, TEXT; //effect, SOFT_SHADOW; mouse_events, 0; /* Does part accept mouse events? */ // clip_to, "next_button"; /* Clip anything outside of the specified object */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "next_button"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "next_button"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, "Next"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "seekback_text"; type, TEXT; //effect, SOFT_SHADOW; mouse_events, 0; /* Does part accept mouse events? */ // clip_to, "seekback_button"; /* Clip anything outside of the specified object */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "seekback_button"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "seekback_button"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, "<<"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "pause_text"; type, TEXT; //effect, SOFT_SHADOW; mouse_events, 0; /* Does part accept mouse events? */ // clip_to, "pause_button"; /* Clip anything outside of the specified object */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "pause_button"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "pause_button"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, "Pause"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "seekforward_text"; type, TEXT; //effect, SOFT_SHADOW; mouse_events, 0; /* Does part accept mouse events? */ // clip_to, "seekforward_button"; /* Clip anything outside of the specified object */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "seekforward_button"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "seekforward_button"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, ">>"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 6; /* Font Size */ align, 0.5 0.5; /* Text alignment based on rel1/rel2 */ } } } /********** Volume Controls ***************************************/ part { name, "vol_label"; mouse_events, 0; description { state, "default" 0.0; min, 21 20; max, 21 20; rel1 { relative, 1.0 1.0; offset, -21 4; to, "button_background"; } rel2 { relative, 1.0 1.0; offset, 0 24; to, "button_background"; } image { normal, "vol-label.png"; } } } part { name, "vol_label_text"; type, TEXT; mouse_events, 0; /* Does part accept mouse events? */ description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "vol_label"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "vol_label"; } color, 255 255 255 255; /* Color of text */ color2, 0 0 255 255; /* Does nothing for SOFT_SHADOW */ color3, 0 0 0 32; /* Color of shadow */ text { text, "VOL"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 5; /* Font Size */ align, 0.5 0.6; /* Text alignment based on rel1/rel2 */ } } } part { name, "vol_display"; mouse_events, 0; description { state, "default" 0.0; min, 23 20; max, 23 20; rel1 { relative, 0.0 0.0; offset, -23 0; to, "vol_label"; } rel2 { relative, 0.0 1.0; offset, 0 0; to, "vol_label"; } image { normal, "vol-display.png"; } } } part { name, "vol_display_text"; type, TEXT; //clip_to, "vol_display"; description { state, "default" 0.0; /* Use the relative size of the LCD itself, then position with align */ rel1 { relative, 0.0 0.0; offset, 0 0; to, "vol_display"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "vol_display"; } color, 181 247 255 255; text { text, "00"; /* Text String */ font, "Vera"; /* Only font Vera works! Use other and segv */ size, 8; /* Font Size */ align, 0.5 0.6; /* Text alignment based on rel1/rel2 */ } } } part { name, "vol_incr_button"; mouse_events, 1; description { state, "default" 0.0; min, 25 20; max, 25 20; rel1 { relative, 0.0 0.0; offset, -25 0; to, "vol_display"; } rel2 { relative, 0.0 1.0; offset, 0 0; to, "vol_display"; } image { normal, "vol-plus.png"; } } description { state, "clicked" 0.0; min, 25 20; max, 25 20; rel1 { relative, 0.0 0.0; offset, -25 0; to, "vol_display"; } rel2 { relative, 0.0 1.0; offset, 0 0; to, "vol_display"; } image { normal, "vol-plus-clicked.png"; } } } part { name, "vol_decr_button"; mouse_events, 1; description { state, "default" 0.0; min, 29 20; max, 29 20; rel1 { relative, 0.0 0.0; offset, -29 0; to, "vol_incr_button"; } rel2 { relative, 0.0 1.0; offset, 0 0; to, "vol_incr_button"; } image { normal, "vol-minus.png"; } } description { state, "clicked" 0.0; min, 29 20; max, 29 20; rel1 { relative, 0.0 0.0; offset, -29 0; to, "vol_incr_button"; } rel2 { relative, 0.0 1.0; offset, 0 0; to, "vol_incr_button"; } image { normal, "vol-minus-clicked.png"; } } } /************ PLAYLIST **************************************************/ /* LCD Playlist Backdrop Image */ part { name, "playlist_backdrop"; type, IMAGE; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 5 210; } rel2 { relative, 1.0 1.0; offset, -6 -6; } image { normal, "lcd_area.png"; } border, 5 5 5 5; fill { smooth, 0; } } } /*************** part { name, "playlist_text"; type, TEXT; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "playlist_backdrop"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "playlist_backdrop"; } color, 181 247 255 255; text { text, "[ insert playlist here ]"; font, "Vera"; size, 6; align, 0.5 0.6; } } } ************************/ /********************* PLAY LIST TEXT FILL ***************************************************************/ part { name, "playlist_clip"; type, RECT; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 8 5; to, "playlist_backdrop"; } rel2 { relative, 1.0 1.0; offset, -31 -4; to, "playlist_backdrop"; } //color, 0 0 0 0; } } part { name, "playlist_entry_1"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 9; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 1"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_entry_2"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 10; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 19; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 2 - Journy Into the Unknown"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_entry_3"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 20; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 29; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 3"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_entry_4"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 30; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 39; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 4 Really Long String"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_entry_5"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 40; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 49; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 5 Another"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_entry_6"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 50; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 59; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 6 Really Fucking Long ass title"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_entry_7"; type, TEXT; mouse_events, 1; clip_to, "playlist_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 60; to, "playlist_clip"; } rel2 { relative, 1.0 0.0; offset, -1 69; to, "playlist_clip"; } color, 181 247 255 255; text { text, "Playlist Item 7"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 0.0 0.5; /* Text alignment based on rel1/rel2 */ } } } /* Play List Time Display - PLT*/ part { name, "playlist_time_clip"; type, RECT; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 1.0 0.0; offset, -31 5; to, "playlist_backdrop"; } rel2 { relative, 1.0 1.0; offset, -4 -4; to, "playlist_backdrop"; } } } part { name, "playlist_time_1"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 9; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "12:34"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 10; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_time_2"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 10; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 19; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "00:00"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 10; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_time_3"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 20; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 29; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "5:10"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 10; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_time_4"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 30; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 39; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "--:--"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 10; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_time_5"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 40; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 49; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "--:--"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_time_6"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 50; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 59; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "--:--"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } part { name, "playlist_time_7"; type, TEXT; mouse_events, 0; clip_to, "playlist_time_clip"; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 60; to, "playlist_time_clip"; } rel2 { relative, 1.0 0.0; offset, -1 69; to, "playlist_time_clip"; } color, 181 247 255 255; text { text, "--:--"; /* Text String */ font, "redensek"; /* Only font Vera works! Use other and segv */ size, 12; /* Font Size */ align, 1.0 0.5; /* Text alignment based on rel1/rel2 */ } } } } /* Close Parts */ /*************************** PROGRAMS ********************************/ programs { /* Previous File */ program { name, "previous_click"; signal, "mouse,down,1"; source, "previous_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "previous_button"; } program { name, "previous_unclick"; signal, "mouse,up,1"; source, "previous_button"; action, STATE_SET "default" 0.0; transition, DECELERATE, 0.25; target, "previous_button"; } program { name, "previous_click"; signal, "mouse,down,1"; source, "previous_button"; /* Emit signal to handler "previous file", from part/sender "previous_button" */ /* Catch with the following Edje code in your app */ /* edje_object_signal_callback_add(edje, "PLAY_PREVIOUS", "previous_button", function) */ action, SIGNAL_EMIT "PLAY_PREVIOUS" "previous_button"; } /* Seek Backwards */ program { name, "seekback_click"; signal, "mouse,down,1"; source, "seekback_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "seekback_button"; } program { name, "seekback_unclick"; signal, "mouse,up,1"; source, "seekback_button"; action, STATE_SET "default" 0.0; transition, DECELERATE, 0.25; target, "seekback_button"; } program { name, "seekback_click"; signal, "mouse,down,1"; source, "seekback_button"; action, SIGNAL_EMIT "SEEK_BACK" "seekback_button"; } /* Play */ program { name, "play_click"; signal, "mouse,down,1"; source, "play_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "play_button"; after, "play_blink"; } program { name, "play_unclick"; signal, "mouse,up,1"; source, "play_button"; action, STATE_SET "default" 0.0; transition, DECELERATE, 0.25; target, "play_button"; after, "pause_unblink"; } /* Stop Pause Blinker */ /* When using the action STOP, the target is the program to be stopped */ program { name, "pause_unblink"; source, "*"; action, ACTION_STOP "pause_blink" 0.0; target, "pause_blink"; after, "play_blink"; } /* Loop Play Blinker */ program { name, "play_blink"; source, "*"; action, STATE_SET "blink" 0.0; transition, LINEAR, 1.0; target, "play_button"; after, "play_blink"; } program { name, "play_click"; signal, "mouse,down,1"; source, "play_button"; action, SIGNAL_EMIT "PLAY" "play_button"; } /**************** Pause ****************/ program { name, "pause_click"; signal, "mouse,down,1"; source, "pause_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.2; target, "pause_button"; after, "pause_blink"; } program { name, "pause_unclick"; signal, "mouse,up,1"; source, "pause_button"; action, STATE_SET "default" 0.0; transition, DECELERATE, 0.2; target, "pause_button"; after, "play_unblink"; } program { name, "play_unblink"; source, "*"; action, ACTION_STOP "play_blink" 0.0; target, "play_blink"; after, "pause_blink"; } program { name, "pause_blink"; source, "*"; action, STATE_SET "blink" 0.0; transition, LINEAR, 1.0; target, "pause_button"; after, "pause_blink"; } program { name, "pause_click"; signal, "mouse,down,1"; source, "pause_button"; action, SIGNAL_EMIT "PAUSE" "pause_button"; } /**************** Seek Forward ********************/ program { name, "seekforward_click"; signal, "mouse,down,1"; source, "seekforward_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "seekforward_button"; //after, "seekforward_signal"; } program { name, "seekforward_unclick"; signal, "mouse,up,1"; source, "seekforward_button"; action, STATE_SET "default" 0.0; transition, DECELERATE, 0.25; target, "seekforward_button"; //after, "seekforward_signal_stop"; } program { name, "seekforward_signal"; signal, "mouse,down,1"; source, "seekforward_button"; action, SIGNAL_EMIT "SEEK_FORWARD" "seekforward_button"; } /* program { name, "seekforward_signal"; source, "*"; action, SIGNAL_EMIT "SEEK_FORWARD" "seekforward_button"; after, "seekforward_signal"; } program { name, "seekforward_signal_stop"; source, "*"; action, ACTION_STOP "seekforward_signal" 0.0; } */ /* Next File */ program { name, "next_click"; signal, "mouse,down,1"; source, "next_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "next_button"; } program { name, "next_unclick"; signal, "mouse,up,1"; source, "next_button"; action, STATE_SET "default" 0.0; transition, DECELERATE, 0.25; target, "next_button"; } program { name, "next_click"; signal, "mouse,down,1"; source, "next_button"; action, SIGNAL_EMIT "PLAY_NEXT" "next_button"; } /* Volume Button Proggies */ /* Raise Volume */ program { name, "volplus_click"; signal, "mouse,down,1"; source, "vol_incr_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "vol_incr_button"; after, "vol_incr_sig"; } program { name, "volplus_unclick"; signal, "mouse,up,1"; source, "vol_incr_button"; action, STATE_SET "default" 0.0; transition, LINEAR, 0.0; target, "vol_incr_button"; after, "vol_incr_stop"; } /** NOTES: All programs MUST have AT LEAST, a NAME, SOURCE (even if "*";), and an ACTION **/ program { name, "vol_incr_sig"; signal, "*"; source, "volplus_click"; action, SIGNAL_EMIT "VOL_INCR" "vol_incr_button"; in, 0.5 0.0; // DELAY, Run proggy IN x.x seconds. Add some random time (arg2). after, "vol_incr_sig"; } program { name, "vol_incr_stop"; source, "vol_incr_button"; signal, "*"; action, ACTION_STOP; // <-- STOP the action of... target, "vol_incr_sig"; // <-- This target program. } /* oh for in, the first is the base amount to wait ie 0.2 secodns the second is how many more secodns to add to that at random so 0.2 1.0 will wait at LEAST 0.2 seconds and then up to 1.2 and any range in between (randomly) so "in" is always used as a delay. for looping programs. does the delay occur before or after the program is run? basically the progrm will START running IN that time its basicalyl delayed by that period defined then it starts its not considered to be running yet at thats tage the delay happend BEFORE so it waits before running........ kool. its liek saying "this program here.. instead of runing it now, run it in X seconds" where X = base + (random range from 0 to RAND parameter) thats why its in, ie do this IN this many seconds */ /* Lower Volume */ program { name, "volminus_click"; signal, "mouse,down,1"; source, "vol_decr_button"; action, STATE_SET "clicked" 0.0; transition, LINEAR, 0.0; target, "vol_decr_button"; } program { name, "volminus_unclick"; signal, "mouse,up,1"; source, "vol_decr_button"; action, STATE_SET "default" 0.0; transition, LINEAR, 0.0; target, "vol_decr_button"; } program { name, "vol_decr_sig"; signal, "mouse,down,1"; source, "vol_decr_button"; action, SIGNAL_EMIT "VOL_DECR" "vol_decr_button"; } } /* Close Programs */ } /* Close Group */ } /* Close Collections */