/* 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; repeat_events, 1; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 4; } rel2 { relative, 1.0 0.0; offset, -1 15; } color, 255 255 255 255; text { text, "Euphoria"; font, "Vera"; /* Only font Vera works! Use other and segv */ size, 8; /* Font Size */ align, 0.5 1.0; /* Text alignment based on rel1/rel2 */ } } } part { name, "titlebar"; type, RECT; mouse_events, 1; repeat_events, 1; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 0 0; } rel2 { relative, 1.0 0.0; offset, -1 16; } color, 0 0 0 0; } } part { name, "quit"; type, IMAGE; mouse_events, 1; description { state, "default" 0.0; rel1 { relative, 1.0 0.0; offset, -15 4; } rel2 { relative, 1.0 0.0; offset, -8 11; } image { normal, "close_button.png"; } fill { smooth, 0; } } } /* LCD Backdrop Image */ part { name, "lcd_backdrop"; type, IMAGE; mouse_events, 0; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 4 17; } rel2 { relative, 0.0 0.0; offset, 193 86; } 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, 1; 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, "0: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 0.0; offset, 196 40; } rel2 { relative, 0.0 0.0; offset, 316 86; } 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, 29 20; max, 29 20; rel1 { relative, 0.0 0.0; offset, 3 2; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 32 22; to, "button_background"; } image { normal, "compact-prevtrack-normal.png"; } } description { state, "clicked" 0.0; min, 29 20; max, 29 20; rel1 { relative, 0.0 0.0; offset, 3 2; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 32 22; to, "button_background"; } image { normal, "compact-prevtrack-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, 0.0 0.0; offset, 62 3; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 117 43; to, "button_background"; } image { normal, "playpause-normal.png"; } } description { state, "clicked" 0.0; min, 56 40; max, 56 40; align, 0.5 0.0; rel1 { relative, 0.0 0.0; offset, 62 3; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 117 43; to, "button_background"; } image { normal, "playpause-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"; } } } /* Pause Button */ part { name, "pause_button"; mouse_events, 0; description { state, "default" 0.0; min, 56 40; max, 56 40; visible, 0; 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"; } } } /* Next Button */ part { name, "next_button"; mouse_events, 1; description { state, "default" 0.0; min, 27 20; max, 27 20; rel1 { relative, 0.0 0.0; offset, 32 2; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 59 22; to, "button_background"; } image { normal, "compact-nexttrack-normal.png"; } } description { state, "clicked" 0.0; min, 27 20; max, 27 20; rel1 { relative, 0.0 0.0; offset, 32 2; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 59 22; to, "button_background"; } image { normal, "compact-nexttrack-clicked.png"; } } } /* Seekback Button */ part { name, "seekback_button"; mouse_events, 1; description { state, "default" 0.0; min, 29 20; max, 29 20; visible, 1; rel1 { relative, 0.0 0.0; offset, 3 24; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 32 44; to, "button_background"; } image { normal, "compact-seekback-normal.png"; } } description { state, "clicked" 0.0; min, 29 20; max, 29 20; visible, 1; rel1 { relative, 0.0 0.0; offset, 3 24; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 32 44; to, "button_background"; } image { normal, "compact-seekback-clicked.png"; } } } /* Seekforward Button */ part { name, "seekforward_button"; mouse_events, 1; description { state, "default" 0.0; min, 27 20; max, 27 20; visible, 1; rel1 { relative, 0.0 0.0; offset, 32 24; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 59 44; to, "button_background"; } image { normal, "compact-seekforward-normal.png"; } } description { state, "clicked" 0.0; min, 27 20; max, 27 20; visible, 1; rel1 { relative, 0.0 0.0; offset, 32 24; to, "button_background"; } rel2 { relative, 0.0 0.0; offset, 59 44; to, "button_background"; } image { normal, "compact-seekforward-clicked.png"; } } } /*************** Toggle Repeat **************/ part { name, "repeat_toggle_disabled_img"; type, IMAGE; mouse_events, 0; description { state, "default" 0.0; visible, 0; min, 57 20; max, 57 20; rel1 { relative, 0.0 1.0; offset, 25 28; to, "button_background"; } rel2 { relative, 0.25 1.0; offset, 0 0; to, "button_background"; } image { normal, "button-off.png"; } } description { state, "disabled" 0.0; inherit, "default" 0.0; visible, 0; } } part { name, "repeat_toggle_enabled_img"; mouse_events, 0; description { state, "default" 0.0; visible, 0; min, 57 20; max, 57 20; rel1 { relative, 0.0 1.0; offset, 25 28; to, "button_background"; } rel2 { relative, 0.25 1.0; offset, 0 0; to, "button_background"; } image { normal, "button-on.png"; } } description { state, "enabled" 0.0; inherit, "default" 0.0; visible, 0; } } part { name, "repeat_toggle_label"; type, TEXT; mouse_events, 0; description { state, "default" 0.0; visible, 0; rel1 { relative, 0.0 0.0; offset, 0 0; to, "repeat_toggle_disabled_img"; } rel2 { relative, 1.0 1.0; offset, -1 -1; to, "repeat_toggle_disabled_img"; } color, 0 0 0 255; text { text, "REPEAT"; font, "Vera"; size, 5; align, 0.5 0.6; } } } /********** Volume Controls ***************************************/ part { name, "vol_label"; mouse_events, 0; description { state, "default" 0.0; min, 21 20; max, 21 20; rel1 { relative, 0.0 0.0; offset, 282 17; } rel2 { relative, 0.0 0.0; offset, 305 36; } 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, 319 17; } rel2 { relative, 1.0 1.0; offset, -5 -4; } image { normal, "lcd_area.png"; border, 5 5 5 5; } fill { smooth, 0; } } } part { name, "playlist"; type, RECT; mouse_events, 1; description { state, "default" 0.0; rel1 { relative, 0.0 0.0; offset, 8 5; to, "playlist_backdrop"; } rel2 { relative, 1.0 1.0; offset, -6 -6; to, "playlist_backdrop"; } color, 0 0 0 0; } }