src/widget/vp-play-loading-ani.c
src/widget/vp-play-volume-popup.c
src/widget/vp-play-brightness-popup.c
+ src/widget/vp-play-minicontroller.c
+ src/widget/vp-play-lockscreenmc.c
src/core/vp-mm-player.c
src/core/vp-sound.c
src/core/vp-media-contents.c
BUILD_EDJ(pv-colorselector.edc pv-colorselector.edj res/edje/ images)
BUILD_CUSTOM_EDJ(pv-minicontroller.edc pv-minicontroller.edj res/edje/ images custom)
+BUILD_CUSTOM_EDJ(pv-lockscreenmini.edc pv-lockscreenmini.edj res/edje/ images custom)
BUILD_CUSTOM_EDJ(pv-custom-winset.edc pv-custom-winset.edj res/edje/ images custom)
--- /dev/null
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+//#include "mp-defines.h"
+
+#define LOCKSCREEN_MINI_W 300
+#define LOCKSCREEN_MINI_H 93
+#define LOCKSCREEN_TOP_PADDING 19.2
+#define LOCKSCREEN_LEFT_PADDING 24
+#define LOCKSCREEN_RIGHT_PADDING 22.5
+#define LOCKSCREEN_BOTTOM_PADDING 36.8
+#define ALBUM_ART_SIZE 120 120
+
+#define LOCKSCREEN_BUTTON_SIZE_MIN_MAX 99 105
+#define LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX 126 134
+
+#define MC_LOCKSCREEN_BG 30 28 28 0
+
+#define MC_LOCKSCREEN_PREVIOUS "lock_screen/control_circle_icon_rewind.png"
+#define MC_LOCKSCREEN_PREVIOUS_PRESS "lock_screen/control_circle_icon_rewind_press.png"
+#define MC_LOCKSCREEN_NEXT "lock_screen/control_circle_icon_ff.png"
+#define MC_LOCKSCREEN_NEXT_PRESS "lock_screen/control_circle_icon_ff_press.png"
+
+#define MC_LOCKSCREEN_PLAY "lock_screen/control_circle_icon_play.png"
+#define MC_LOCKSCREEN_PAUSE "lock_screen/control_circle_icon_pause.png"
+#define MC_LOCKSCREEN_PLAY_PRESS "lock_screen/control_circle_icon_play_press.png"
+#define MC_LOCKSCREEN_PAUSE_PRESS "lock_screen/control_circle_icon_pause_press.png"
+
+#define MC_MUSIC_ALBUM_FRAME "lock_screen/album_frame.png"
+
+
+#define LOCKSCREEN_INTERVAL 34.5
+#define MC_LOCKSCREEN_FOCUSED_COVER(__name, __over_part_bg) \
+part { \
+ name: __name"_focus"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ rel1 { \
+ relative: 0 0; \
+ to: __over_part_bg; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __over_part_bg; \
+ } \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_AREA_FROM_LEFT(__name, __left_part, __width, __height) \
+part { name: __name; \
+ type: SPACER; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 1.0 0.5; to: __left_part; } \
+ rel2 { relative: 1.0 0.5; to: __left_part; } \
+ min: __width __height; \
+ fixed: 1 1; \
+ align: 0.0 0.5; \
+ } \
+}
+/*
+#define MC_LOCKSCREEN_PROGRAM_PLAY_TOUCH_SOUND \
+program { name: "play_sound"; \
+ action: RUN_PLUGIN "touch_sound_plugin"; \
+}
+*/
+#define MC_LOCKSCREEN_PART_ICON_BTN(__name, __to, __normal, __pressed, __btn_min_max) \
+part { name: __name"_clip"; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { name: __name"_bg"; \
+ type: IMAGE; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0.5 0.5; to: __to; } \
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max; \
+ max: __btn_min_max; \
+ image.normal: __normal; \
+ fixed: 1 1; \
+ align: 0.5 0.5; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+} \
+part { name: __name; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 1; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_BUTTON(__name, __to, __normal, __pressed, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0 0; to: __to; } \
+ rel2 { relative: 1 1; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ min: __min_max; \
+ max: __min_max; \
+ fixed: 1 1; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_press_bg"; \
+ type: RECT; \
+ mouse_events:0; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ color: 0 0 0 0; \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { \
+ name: __name; \
+ type: IMAGE; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ image { normal: __pressed; } \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PAUSE_PART_BUTTON(__name, __to, __normal, __pressed, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0 0; to: __to; } \
+ rel2 { relative: 1 1; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ min: __min_max; \
+ max: __min_max; \
+ fixed: 1 1; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_press_bg"; \
+ type: RECT; \
+ mouse_events:0; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ color: 0 0 0 0; \
+ visible:1; \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { \
+ name: __name; \
+ type: IMAGE; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ image { normal: __pressed; } \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_TEXT_BTN(__name, __to, __text_part_name) \
+part { name: __name"_clip"; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { name: __name"_bg"; \
+ type: SPACER; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+} \
+part { name: __text_part_name; \
+ type: TEXT; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ text { \
+ font: "Tizen:style=Medium"; \
+ text_class: "tizen"; \
+ size: 28; \
+ align: 0.5 0.5; \
+ } \
+ color: 149 149 149 255; \
+ } \
+} \
+part { name: __name; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 1; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ }\
+ description { \
+ state: "hide" 0.0; \
+ visible: 0; \
+ }\
+}
+
+#define MC_LOCKSCREEN_PART_SWALLOW(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ fixed:1 1;\
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PROGRAM_BTN_ACTION(__btn, __down_emission, __down_src, __up_emission, __up_src, __clicked_emission, __clicked_src) \
+program { \
+ source: __btn; \
+ signal: "mouse,down,1"; \
+ script { \
+ set_state(PART:__btn"_bg", "pressed", 0.0); \
+ emit(__down_emission, __down_src); \
+ } \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ signal: "mouse,up,1"; \
+ source: __btn; \
+ script { \
+ set_state(PART:__btn"_bg", "default", 0.0); \
+ emit(__up_emission, __up_src); \
+ } \
+} \
+program { \
+ signal: "mouse,clicked,1"; \
+ source: __btn; \
+ action: SIGNAL_EMIT __clicked_emission __clicked_src; \
+}
+
+#define MC_LOCKSCREEN_BUTTON_PROGRAM(__name) \
+program { \
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_unpressed"; \
+ source: __name; \
+ signal: "signal.button.unpressed"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+}
+
+#define MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "invisible" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+}
+
+#define MC_LOCKSCREEN_PROGRAM_BTN_VISIBLE(__btn, __show_signal, __hide_signal) \
+program { \
+ signal: __show_signal; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ target: __btn"_clip"; \
+} \
+program { \
+ signal: __hide_signal; \
+ source: "*"; \
+ action: STATE_SET "hide" 0.0; \
+ target: __btn"_clip"; \
+}
+
+#define MC_LOCKSCREEN_MINI_CONTROL_HIDE_SWALLOW_OPTION(__name, __to) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0 0; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "visible" 0.0; \
+ inherit: "default"; \
+ visible: 1; \
+ } \
+}
+
+#define MC_LOCKSCREEN_MINI_CONTROL_BUTTON_INVISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "visible" 0.0; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+}
+
+externals {
+ external: "elm";
+ external: "feedback";
+}
+
+collections {
+base_scale: 2.4;
+/*
+sounds {
+ sample {
+ name: "button-pressed" AS_IS;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+}
+plugins {
+ plugin {
+ name: "touch_sound_plugin";
+ source: "feedback";
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+}
+*/
+group {
+ name: "video-lockscreenmini";
+ images {
+ image: MC_LOCKSCREEN_PREVIOUS COMP;
+ image: MC_LOCKSCREEN_PREVIOUS_PRESS COMP;
+ image: MC_LOCKSCREEN_NEXT COMP;
+ image: MC_LOCKSCREEN_NEXT_PRESS COMP;
+ image: MC_LOCKSCREEN_PLAY COMP;
+ image: MC_LOCKSCREEN_PAUSE COMP;
+ image: MC_LOCKSCREEN_PLAY_PRESS COMP;
+ image: MC_LOCKSCREEN_PAUSE_PRESS COMP;
+ image: MC_MUSIC_ALBUM_FRAME COMP;
+ }
+ parts {
+ part{ name: "bg";
+ type : RECT;
+ scale : 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min : 0 LOCKSCREEN_MINI_H;
+ fixed: 1 1;
+ rel1{ relative : 0 0;}
+ rel2{ relative : 1 1;}
+ color : MC_LOCKSCREEN_BG;
+ }
+ }
+
+ part { name: "padding.top";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 LOCKSCREEN_TOP_PADDING;
+ fixed: 0 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.left";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: LOCKSCREEN_LEFT_PADDING 0;
+ fixed: 1 0;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.right";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: LOCKSCREEN_RIGHT_PADDING 0;
+ fixed: 1 0;
+ align: 1 0;
+ }
+ }
+
+ part { name: "padding.bottom";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 LOCKSCREEN_BOTTOM_PADDING;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+ part { name: "padding_for_albumart.top";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 25;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_for_albumart.bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 15;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+ part { name: "albumarmt_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding_for_albumart.top"; }
+ rel2 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "padding_for_albumart.bottom"; }
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "albumart_image";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ clip_to: "albumarmt_bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; }
+ rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; }
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "albumarmt_frame";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "albumarmt_bg";}
+ rel2 { relative: 1.0 1.0; to: "albumarmt_bg";}
+ min: ALBUM_ART_SIZE;
+ image.normal: MC_MUSIC_ALBUM_FRAME;
+ color_class:"AO009";
+ }
+ }
+ part { name: "elm.text";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding.top";}
+ rel2 { relative: 0 1.0; to_x: "padding.right"; to_y: "padding.top"; offset: 0 57;}
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "control_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "elm.text"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; }
+ min: 0 134.4;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "rew_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.27 0.45; to_x: "control_area"; to_y: "control_area";}
+ rel2 { relative: 0.27 0.45; to_x: "control_area"; to_y: "control_area";}
+ min: 99 134;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "left_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "rew_btn_area"; }
+ rel2 { relative: 1.0 1.0; to: "rew_btn_area"; }
+ min: LOCKSCREEN_BUTTON_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ MC_LOCKSCREEN_PART_BUTTON("rew_btn", "left_area", MC_LOCKSCREEN_PREVIOUS, MC_LOCKSCREEN_PREVIOUS_PRESS, LOCKSCREEN_BUTTON_SIZE_MIN_MAX)
+ MC_LOCKSCREEN_FOCUSED_COVER("rew", "left_area");
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("rew_right_padding", "left_area", LOCKSCREEN_INTERVAL, 134)
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 126, 134)
+
+ MC_LOCKSCREEN_PART_BUTTON("play_btn", "play_pause_btn_area", MC_LOCKSCREEN_PAUSE, MC_LOCKSCREEN_PAUSE_PRESS, LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX)
+ MC_LOCKSCREEN_PAUSE_PART_BUTTON("pause_btn", "play_pause_btn_area", MC_LOCKSCREEN_PLAY, MC_LOCKSCREEN_PLAY_PRESS, LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX)
+
+ MC_LOCKSCREEN_FOCUSED_COVER("play_pause", "play_pause_btn_area");
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", LOCKSCREEN_INTERVAL, 134)
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 99, 105)
+
+ MC_LOCKSCREEN_PART_BUTTON("ff_btn", "ff_btn_area", MC_LOCKSCREEN_NEXT, MC_LOCKSCREEN_NEXT_PRESS, LOCKSCREEN_BUTTON_SIZE_MIN_MAX)
+ MC_LOCKSCREEN_FOCUSED_COVER("ff", "ff_btn_area");
+
+ }
+
+ programs {
+/* MC_LOCKSCREEN_PROGRAM_PLAY_TOUCH_SOUND*/
+
+ MC_LOCKSCREEN_BUTTON_PROGRAM("rew_btn")
+ MC_LOCKSCREEN_BUTTON_PROGRAM("ff_btn")
+
+ MC_LOCKSCREEN_BUTTON_PROGRAM("play_btn")
+ MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM("play_btn")
+ MC_LOCKSCREEN_BUTTON_PROGRAM("pause_btn")
+ MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM("pause_btn")
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ script{
+ emit("hide_play_btn", "edje");
+ emit("show_pause_btn", "edje");
+ }
+ }
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ script{
+ emit("show_play_btn", "edje");
+ emit("hide_pause_btn", "edje");
+ }
+ }
+ }
+
+}
+
+
+} // collection
+
* limitations under the License.
*
*/
-#define MINI_W 692
-#define MINI_H 180
-#define TOP_PADDING 10
-#define LEFT_PADDING 16
-#define RIGHT_PADDING 20
-#define BOTTOM_PADDING 12
-#define ALBUM_ART_SIZE 156 156
+
+#define MINI_H 70
+#define MINI_H_PORT 70
+#define TOP_PADDING 4
+#define LEFT_PADDING 12
+#define RIGHT_PADDING 4
+#define BOTTOM_PADDING 6
+#define ALBUM_ART_SIZE 120 120
#define BUTTON_SIZE_MIN_MAX 80 80
-#define BIG_BTN_SIZE_MIN_MAX 102 102
+#define BIG_BTN_SIZE_MIN_MAX 80 80
#define BUTTON_EXPAND_OFFSET 0
#define BUTTON_CLOSE_SIZE_MAX 30 30
+#define PLAY_BTN_SIZE_MIN_MAX 80 80
+#define FF_BTN_SIZE_MIN_MAX 80 80
-#define ALBUM_ART_LD_SIZE 130 130
#define MC_BG 30 28 28 0
+#define MC_MUSIC_LAGRE_BTN_EF "mini_controller/bg_btn_player_01_ef.png"
+#define MC_MUSIC_LAGRE_BTN_BG "mini_controller/bg_btn_player_01.png"
+#define MC_MUSIC_PLAY_BTN "mini_controller/music_btn_player_play_nor.png"
+#define MC_MUSIC_PAUSE_BTN "mini_controller/music_btn_player_pause_nor.png"
+
+
+#define MC_MUSIC_SMALL_BTN_EF "mini_controller/bg_btn_player_02_ef.png"
+#define MC_MUSIC_SMALL_BTN_BG "mini_controller/bg_btn_player_02.png"
+
+#define MC_MUSIC_CLOSE_BTN "mini_controller/btn_controller_close.png"
+#define MC_MUSIC_PREV_BTN "mini_controller/music_btn_player_prev_nor.png"
+#define MC_MUSIC_NEXT_BTN "mini_controller/music_btn_player_next_nor.png"
+
+#define MC_MUSIC_ALBUM_FRAME "mini_controller/album_frame.png"
+
#define MC_IMG_REW_NORMAL "mini_controller/btn_video_prev_nor.png"
#define MC_IMG_REW_PRESSED "mini_controller/btn_video_prev_press.png"
#define MC_IMG_PLAY_NORMAL "mini_controller/btn_video_play_nor.png"
#define MC_IMG_PROGRESS_BAR "mini_controller/video_progress.png"
+
+#define MC_FOCUSED_COVER(__name, __over_part_bg) \
+part { \
+ name: __name"_focus"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ fixed: 1 1;\
+ rel1 { \
+ relative: 0 0; \
+ to: __over_part_bg; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __over_part_bg; \
+ } \
+ } \
+}
+
#define MC_PART_AREA_FROM_LEFT(__name, __left_part, __width, __height) \
part { name: __name; \
type: SPACER; \
} \
}
+#define MC_PART_AREA_FROM_SWALLOW_LEFT(__name, __left_part, __width, __height) \
+part { name: __name; \
+ type: SWALLOW; \
+ scale: 1; \
+ mouse_events: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 1.0 0.5; to: __left_part; } \
+ rel2 { relative: 1.0 0.5; to: __left_part; } \
+ min: __width __height; \
+ fixed: 1 1; \
+ align: 0.0 0.5; \
+ } \
+}
+#define MC_IMAGE_PART_FOCUS(__name,__to,__image,__btn_min_max)\
+part { name: __name;\
+ type: IMAGE;\
+ scale: 1;\
+ mouse_events: 1;\
+ description { state: "default" 0.0;\
+ rel1 { relative: 0.5 0.5; to: __to; }\
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max;\
+ max: __btn_min_max;\
+ image.normal: __image;\
+ fixed: 1 1;\
+ align: 0.5 0.5;\
+ color: 41 215 255 255;\
+ }\
+ description { state: "pressed" 0.0;\
+ inherit: "default" 0.0;\
+ color: 41 215 255 255;\
+ }\
+ description { state: "focus" 0.0;\
+ inherit: "default" 0.0;\
+ color: 6 119 194 255;\
+ }\
+ description { state: "hide" 0.0;\
+ inherit: "default" 0.0;\
+ visible: 0;\
+ }\
+ }
+
+
+#define MC_IMAGE_PART(__name,__to,__image,__normal_code_red_component,__normal_code_green_component,__normal_code_blue_component,__normal_code_alpha_component,__press_code_red_component,__press_code_green_component,__press_code_blue_component,__press_code_alpha_component,__btn_min_max)\
+part { name: __name;\
+ type: IMAGE;\
+ scale: 1;\
+ mouse_events: 1;\
+ description { state: "default" 0.0;\
+ rel1 { relative: 0.5 0.5; to: __to; }\
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max;\
+ max: __btn_min_max;\
+ image.normal: __image;\
+ fixed: 1 1;\
+ align: 0.5 0.5;\
+ color: __normal_code_red_component __normal_code_green_component __normal_code_blue_component __normal_code_alpha_component;\
+ }\
+ description { state: "pressed" 0.0;\
+ inherit: "default" 0.0;\
+ color: __press_code_red_component __press_code_green_component __press_code_blue_component __press_code_alpha_component;\
+ }\
+ description { state: "hide" 0.0;\
+ inherit: "default" 0.0;\
+ visible: 0;\
+ }\
+ }
+
+#define MC_PROGRAM_IMAGE_VISIBLE(__btn, __show_signal, __hide_signal) \
+program { \
+ signal: __show_signal; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ target: __btn; \
+} \
+program { \
+ signal: __hide_signal; \
+ source: "*"; \
+ action: STATE_SET "hide" 0.0; \
+ target: __btn; \
+}
+
+
#define MC_PART_ICON_BTN(__name, __to, __normal, __pressed, __btn_min_max) \
part { name: __name"_clip"; \
type: RECT; \
program { \
source: __btn; \
signal: "mouse,down,1"; \
- action: RUN_PLUGIN "touch_sound_plugin"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
after: __btn"_after_down"; \
transition: ACCELERATE 0.02;\
} \
target: __btn"_clip"; \
}
+#define MINI_CONTROL_HIDE_SWALLOW_OPTION(__name, __to) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0 0; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "visible" 0.0; \
+ inherit: "default"; \
+ visible: 1; \
+ } \
+}
+
+#define MINI_CONTROL_BUTTON_INVISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "visible" 0.0; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+}
+
+externals {
+ external: "elm";
+ external: "feedback";
+}
+
collections {
+base_scale: 2.4;
+/*
+sounds {
+ sample {
+ name: "button-pressed" AS_IS;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+}
plugins {
plugin {
name: "touch_sound_plugin";
source: "feedback";
param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
- }
}
-
+}
+*/
group {
name: "video-minicontroller";
images {
- image: MC_IMG_REW_NORMAL COMP;
- image: MC_IMG_REW_PRESSED COMP;
- image: MC_IMG_PLAY_NORMAL COMP;
- image: MC_IMG_PLAY_PRESSED COMP;
- image: MC_IMG_PAUSE_NORMAL COMP;
- image: MC_IMG_PAUSE_PRESSED COMP;
- image: MC_IMG_FF_NORMAL COMP;
- image: MC_IMG_FF_PRESSED COMP;
- image: MC_IMG_CLOSE_NORMAL COMP;
- image: MC_IMG_CLOSE_PRESSED COMP;
- image: MC_IMG_PROGRESS_BG COMP;
- image: MC_IMG_PROGRESS_BAR COMP;
+ image: MC_MUSIC_LAGRE_BTN_EF COMP;
+ image: MC_MUSIC_LAGRE_BTN_BG COMP;
+ image: MC_MUSIC_PLAY_BTN COMP;
+ image: MC_MUSIC_PAUSE_BTN COMP;
+ image: MC_MUSIC_SMALL_BTN_EF COMP;
+ image: MC_MUSIC_SMALL_BTN_BG COMP;
+
+ image: MC_MUSIC_CLOSE_BTN COMP;
+ image: MC_MUSIC_PREV_BTN COMP;
+ image: MC_MUSIC_NEXT_BTN COMP;
+
+ image: MC_MUSIC_ALBUM_FRAME COMP;
}
parts {
part{ name: "bg";
mouse_events: 0;
description {
state: "default" 0.0;
- min : 0 MINI_H;
+ min : 0 MINI_H_PORT;
fixed: 1 1;
rel1{ relative : 0 0;}
rel2{ relative : 1 1;}
- color : MC_BG;
+ color: MC_BG;
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
}
}
part { name: "padding_for_albumart.top";
type: SPACER;
scale: 1;
- description { state: "default" 0.0;
- rel2 { relative: 1.0 0.0; }
- min: 0 12;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 15;
fixed: 0 1;
align: 0.0 0.0;
}
}
- part { name: "padding_for_albumart.bottom";
+ part { name: "padding_for_albumart.bottom";
type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel1 { relative: 0 1; to: "bg"; }
rel2 { relative: 1 1; to: "bg"; }
- min: 0 12;
+ min: 0 15;
fixed: 0 1;
align: 0 1;
}
min: ALBUM_ART_SIZE;
max: ALBUM_ART_SIZE;
fixed: 1 1;
- align: 0.0 0.0;
- visible: 0;
+ align: 0.0 0.5;
}
}
type: SWALLOW;
scale: 1;
mouse_events: 1;
+ clip_to: "albumarmt_bg";
description { state: "default" 0.0;
rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; }
rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; }
}
}
+ part { name: "albumarmt_frame";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "albumarmt_bg";}
+ rel2 { relative: 1.0 1.0; to: "albumarmt_bg";}
+ min: ALBUM_ART_SIZE;
+ image.normal: MC_MUSIC_ALBUM_FRAME;
+ color_class:"AO009";
+ }
+ }
+
part { name: "right_area";
type: SPACER;
scale: 1;
part { name: "elm.text"; // title
type: SWALLOW;
- mouse_events: 0;
+ mouse_events: 1;
scale: 1;
description { state: "default" 0.0;
- rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "padding.top"; offset: 16 0;}
- rel2 { relative: 458/520 1.0; to_x: "right_area"; to_y: "padding.top";}
- min: 442 36;
+ rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "padding.top"; offset: 38 0;}
+ rel2 { relative: 0.83 1.0; to_x: "right_area"; to_y: "padding.top";}
+ min: 143 17;
fixed: 1 1;
- align: 0.0 0.0;
+ align: 0.5 0.0;
}
}
- part { name: "close_btn_left_padding";
- type: SPACER;
+ part { name: "close_btn_area";
+ type: RECT;
scale: 1;
mouse_events: 0;
description { state: "default" 0.0;
- rel1 { relative: 1.0 1.0; to_x: "elm.text"; to_y: "padding.top"; offset: 12 0;}
- rel2 { relative: 1.0 1.0; to_x: "elm.text"; to_y: "padding.top"; offset: 12 0;}
+ rel1 { relative: 0.0 1.0; to_x: "padding.right"; to_y: "elm.text";offset: -25 1;}
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "elm.text"; offset: -25 1;}
min: BUTTON_CLOSE_SIZE_MAX;
max: BUTTON_CLOSE_SIZE_MAX;
+ color: 255 0 0 0;
fixed: 1 1;
- align: 1.0 0.0;
- }
- description { state: "landsape" 0.0;
- inherit: "default" 0.0;
- min: 308 86;
}
}
- MC_PART_AREA_FROM_LEFT("close_btn_area", "close_btn_left_padding", BUTTON_CLOSE_SIZE_MAX, BUTTON_CLOSE_SIZE_MAX)
- MC_PART_ICON_BTN("close_btn", "close_btn_area", MC_IMG_CLOSE_NORMAL, MC_IMG_CLOSE_PRESSED, BUTTON_CLOSE_SIZE_MAX)
-
-
- /* progress bg image */
- part {
- name: "progress_bg";
- type: IMAGE;
+ MC_IMAGE_PART("close_btn","close_btn_area",MC_MUSIC_CLOSE_BTN,61,185,204,255,61,185,204,255,BUTTON_CLOSE_SIZE_MAX)
+ part { name: "close_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "close_btn_area"; offset: -7 -7; }
+ rel2 { to: "close_btn_area"; offset: 7 7; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "mid_padding";
+ type: RECT;
mouse_events: 0;
scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0;
- visible:1;
- image { normal: MC_IMG_PROGRESS_BG; }
- min: 484 8;
- max: 484 8;
- fixed: 1 1;
- rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 16 0; }
- rel2 { relative: 1.0 1.0; to_x: "right_area"; to_y: "elm.text";}
+ description
+ { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 40 0; }
+ rel2 { relative: 1.0 1.0; to_x: "padding.right"; to_y: "elm.text"; offset: 0 0; }
+ align: 0.0 0.0;
+ color: 255 0 0 0;
}
}
- /* progress */
- MC_PART_RECT("progress_area", "progress_bg", 0, 0, 1, 1)
- MC_PART_SWALLOW("progress_box", "progress_area", 0, 0, 1, 1)
part { name: "button_area";
type: RECT;
scale: 1;
description { state: "default" 0.0;
- rel1 { relative: 0 1; to_x: "right_area"; to_y: "progress_bg"; offset: 0 15;}
- rel2 { relative: 1 0; to_x: "right_area"; to_y: "padding.bottom"; }
- align: 0.5 0.0;
- visible: 0;
+ rel1 { relative: 0 1; to: "mid_padding";}
+ rel2 { relative: 1 0; to_x: "elm.text"; to_y: "padding.bottom"; }
+ visible: 1;
}
}
part { name: "rew_btn_area";
- type: SPACER;
+ type: RECT;
scale: 1;
- mouse_events: 0;
+ mouse_events: 1;
description { state: "default" 0.0;
- rel1 { relative: 0.0 0.5; to: "button_area"; offset: 108 0;}
- rel2 { relative: 0.0 0.5; to: "button_area"; offset: 108 0;}
+ rel1 { relative: 0.0 0.5; to: "button_area"; offset: 10 0;}
+ rel2 { relative: 0.0 0.5; to: "button_area"; offset: 10 -16;}
min: BUTTON_SIZE_MIN_MAX;
fixed: 1 1;
align: 0.0 0.5;
+ visible: 0;
}
}
- MC_PART_ICON_BTN("rew_btn", "rew_btn_area", MC_IMG_REW_NORMAL, MC_IMG_REW_PRESSED, BUTTON_SIZE_MIN_MAX)
- MC_PART_AREA_FROM_LEFT("rew_right_padding", "rew_btn_area", 21, 102)
-
- MC_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 102, 102)
- MC_PART_ICON_BTN("play_btn", "play_pause_btn_area", MC_IMG_PLAY_NORMAL, MC_IMG_PLAY_PRESSED, BIG_BTN_SIZE_MIN_MAX)
- MC_PART_ICON_BTN("pause_btn", "play_pause_btn_area", MC_IMG_PAUSE_PRESSED, MC_IMG_PAUSE_NORMAL, BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn_bg","rew_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn_ef","rew_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn","rew_btn_area",MC_MUSIC_PREV_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "rew_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "rew_btn_area"; }
+ rel2 { to: "rew_btn_area";}
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("rew_btn", "rew_btn_area");
- MC_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", 21, 86)
+ part { name: "play_pause_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.4 0.5; to: "button_area"; offset: 0 0;}
+ rel2 { relative: 0.4 0.5; to: "button_area"; offset: 0 -16; }
+ min: BUTTON_SIZE_MIN_MAX;
+ max: BUTTON_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align:0.0 0.5;
+ }
+ }
- MC_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 80, 80)
- MC_PART_ICON_BTN("ff_btn", "ff_btn_area", MC_IMG_FF_NORMAL, MC_IMG_FF_PRESSED, BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("play_btn_bg","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_BG,61,185,204,255,34,104,115,255,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART_FOCUS("play_btn_ef","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_EF,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("play_btn","play_pause_btn_area",MC_MUSIC_PLAY_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("pause_btn","play_pause_btn_area",MC_MUSIC_PAUSE_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ part { name: "play_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "play_pause_btn_area"; }
+ rel2 { to: "play_pause_btn_area"; }
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("play_pause", "play_pause_btn_area");
+ part { name: "ff_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative:0.8 0.5; to: "button_area";offset: -10 0;}
+ rel2 { relative:0.8 0.5; to: "button_area";offset: -10 -16;}
+ min: FF_BTN_SIZE_MIN_MAX;
+ max: FF_BTN_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align:0.0 0.5;
+ }
+ }
+ MC_IMAGE_PART("ff_btn_bg","ff_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn_ef","ff_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn","ff_btn_area",MC_MUSIC_NEXT_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "ff_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "ff_btn_area"; }
+ rel2 { to: "ff_btn_area";}
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("ff_btn", "ff_btn_area");
}
programs {
- MC_PROGRAM_BTN_ACTION("rew_btn", "rew_btn_down", "edje", "rew_btn_up", "edje", "rew_btn_clicked", "edje")
+ MC_PROGRAM_IMAGE_VISIBLE("play_btn", "show_play_btn", "hide_play_btn")
+ MC_PROGRAM_IMAGE_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn")
+
+ program { name: "albumart_cb";
+ signal: "mouse,clicked,1";
+ source: "albumart_image";
+ script{
+ emit("albumart_clicked", "edje");
+ }
+ }
- MC_PROGRAM_BTN_ACTION("play_btn", "play_btn_down", "edje", "play_btn_up", "edje", "play_btn_clicked", "edje")
- MC_PROGRAM_BTN_VISIBLE("play_btn", "show_play_btn", "hide_play_btn")
+ program { name: "close_area_btn_down";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "pressed", 0.0);
+ emit("close_btn_down", "edje");
+ }
+ }
- MC_PROGRAM_BTN_ACTION("pause_btn", "pause_btn_down", "edje", "pause_btn_up", "edje", "pause_btn_clicked", "edje")
- MC_PROGRAM_BTN_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn")
+ program { name: "close_area_btn_up";
+ signal: "mouse,up,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "default", 0.0);
+ emit("close_btn_up", "edje");
+ }
+ }
- MC_PROGRAM_BTN_ACTION("ff_btn", "ff_btn_down", "edje", "ff_btn_up", "edje", "rew_btn_clicked", "edje")
+ program { name: "play_pause_btn_area_press";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "pressed", 0.0);
+ set_state(PART:"play_btn_ef", "pressed", 0.0);
+ }
+ }
- MC_PROGRAM_BTN_ACTION("close_btn", "close_btn_down", "edje", "close_btn_up", "edje", "close_btn_clicked", "edje")
+ program { name: "play_pause_btn_area_up";
+ signal: "mouse,up,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "default", 0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
- program { name: "albumart_cb";
+ program { name: "rew_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "pressed", 0.0);
+ set_state(PART:"rew_btn_ef", "pressed", 0.0);
+ set_state(PART:"rew_btn", "pressed", 0.0);
+ }
+ }
+
+ program { name: "rew_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "ff_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "pressed", 0.0);
+ set_state(PART:"ff_btn_ef", "pressed", 0.0);
+ set_state(PART:"ff_btn", "pressed", 0.0);
+ }
+ }
+
+ program { name: "ff_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "close_area_btn_clicked";
signal: "mouse,clicked,1";
- source: "albumart_image";
+ source: "close_btn_touch_area";
script{
- emit("albumart_clicked", "edje");
+ emit("close_btn_clicked", "edje");
}
}
+
program{
name: "albumart_cb_after_down";
source: "albumart_image";
signal: "mouse,down,1";
transition: ACCELERATE 0.02;
}
+ /*
program {
name: "albumart_cb_down";
source: "albumart_image";
signal: "mouse,down,1";
- action: RUN_PLUGIN "touch_sound_plugin";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
after: "albumart_cb_after_down";
transition: ACCELERATE 0.02;
- }
+ }*/
+
program { name: "set_pause_icon";
signal: "set_pause";
source: "*";
script{
- emit("hide_play_btn", "edje");
- emit("show_pause_btn", "edje");
+ set_state(PART:"play_btn", "hide", 0.0);
+ set_state(PART:"pause_btn", "default",0.0);
+ set_state(PART:"play_btn_ef", "focus", 0.0);
}
}
program { name: "set_play_icon";
signal: "set_play";
source: "*";
script{
- emit("show_play_btn", "edje");
- emit("hide_pause_btn", "edje");
+ set_state(PART:"play_btn", "default", 0.0);
+ set_state(PART:"pause_btn", "hide",0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
+ program { name: "set_ff_btn_uppressed";
+ signal: "ff_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
+ program { name: "set_rew_btn_uppressed";
+ signal: "rew_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
}
}
+/*
+ program { name: "touch_snd_rew";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+
+ program { name: "touch_snd_ff";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_play_pause";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_shuffle";
+ signal: "mouse,down,1";
+ source: "shuffle_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_close";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_repeat";
+ signal: "mouse,down,1";
+ source: "repeat_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+*/
}
}
group {
name: "video-minicontroller-ld";
images {
- image: MC_IMG_REW_NORMAL COMP;
- image: MC_IMG_REW_PRESSED COMP;
- image: MC_IMG_PLAY_NORMAL COMP;
- image: MC_IMG_PLAY_PRESSED COMP;
- image: MC_IMG_PAUSE_NORMAL COMP;
- image: MC_IMG_PAUSE_PRESSED COMP;
- image: MC_IMG_FF_NORMAL COMP;
- image: MC_IMG_FF_PRESSED COMP;
- image: MC_IMG_CLOSE_NORMAL COMP;
- image: MC_IMG_CLOSE_PRESSED COMP;
- image: MC_IMG_PROGRESS_BG COMP;
- image: MC_IMG_PROGRESS_BAR COMP;
- //image: MC_IMG_ALBUMART_MASK COMP;
+ image: MC_MUSIC_LAGRE_BTN_EF COMP;
+ image: MC_MUSIC_LAGRE_BTN_BG COMP;
+ image: MC_MUSIC_PLAY_BTN COMP;
+ image: MC_MUSIC_PAUSE_BTN COMP;
+ image: MC_MUSIC_SMALL_BTN_EF COMP;
+ image: MC_MUSIC_SMALL_BTN_BG COMP;
+
+ image: MC_MUSIC_CLOSE_BTN COMP;
+ image: MC_MUSIC_PREV_BTN COMP;
+ image: MC_MUSIC_NEXT_BTN COMP;
}
parts {
part{ name: "bg";
fixed: 1 1;
rel1{ relative : 0 0;}
rel2{ relative : 1 1;}
- color : MC_BG;
+ color: MC_BG;
}
}
}
part { name: "padding.left";
- type: SPACER; scale: 1;
+ type: SPACER;
+ scale: 1;
mouse_events: 0;
description { state: "default" 0.0;
rel1 { relative: 0 0; to: "bg"; }
scale: 1;
description { state: "default" 0.0;
rel2 { relative: 1.0 0.0; }
- min: 0 26;
+ min: 0 7;
fixed: 0 1;
align: 0.0 0.0;
}
description { state: "default" 0.0;
rel1 { relative: 0 1; to: "bg"; }
rel2 { relative: 1 1; to: "bg"; }
- min: 0 24;
+ min: 0 7;
fixed: 0 1;
align: 0 1;
}
description { state: "default" 0.0;
rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding_for_albumart.top"; }
rel2 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "padding_for_albumart.bottom"; }
- min: ALBUM_ART_LD_SIZE;
- max: ALBUM_ART_LD_SIZE;
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
fixed: 1 1;
- align: 0.0 0.0;
+ align: 0.0 0.5;
}
}
-
part { name: "albumart_image";
type: SWALLOW;
scale: 1;
mouse_events: 1;
+ clip_to: "albumarmt_bg";
description { state: "default" 0.0;
rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; }
rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; }
- min: ALBUM_ART_LD_SIZE;
- max: ALBUM_ART_LD_SIZE;
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
fixed: 1 1;
align: 0.5 0.5;
}
}
-
- part { name: "mid_area";
- type: SPACER;
+ part { name: "albumarmt_frame";
+ type: IMAGE;
scale: 1;
mouse_events: 0;
description { state: "default" 0.0;
- rel1 { relative: 1.0 0.0; to_x: "albumarmt_bg"; to_y: "bg"; offset: 34 0;}
- rel2 { relative: 822/1280 1.0; to_x: "bg"; to_y: "bg"; }
- align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "albumarmt_bg";}
+ rel2 { relative: 1.0 1.0; to: "albumarmt_bg";}
+ min: ALBUM_ART_SIZE;
+ image.normal: MC_MUSIC_ALBUM_FRAME;
+ color_class:"AO009";
}
}
+ part { name: "right_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "albumarmt_bg"; to_y: "padding.top"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; }
+ align: 0.0 0.0;
+ color:0 255 0 0;
+ }
+ }
part { name: "elm.text"; // title
type: SWALLOW;
- mouse_events: 0;
+ mouse_events: 1;
scale: 1;
description { state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to_x: "mid_area"; to_y: "bg"; offset: 0 82;}
- rel2 { relative: 1.0 0.0; to_x: "mid_area"; to_y: "bg"; offset: 0 82;}
- min: 620 36;
+ rel1 { relative: 0.1 1.0; to_x: "right_area"; to_y: "padding.top";}
+ rel2 { relative: 290/329 1.0; to_x: "right_area"; to_y: "padding.top";}
fixed: 1 1;
- align: 0.0 0.0;
+ align: 0.5 0.0;
}
}
- part { name: "close_btn_left_padding";
- type: SPACER;
- scale: 1;
+ part { name: "mid_padding";
+ type: RECT;
mouse_events: 0;
- description { state: "default" 0.0;
- rel1 { relative: 1200/1280 1.0; to_x: "bg"; to_y: "padding.top"; }
- rel2 { relative: 0 1.0; to_x: "padding.right"; to_y: "padding.top"; }
- min: BUTTON_CLOSE_SIZE_MAX;
- max: BUTTON_CLOSE_SIZE_MAX;
+ scale: 1;
+ description
+ { state: "default" 0.0;
+ //min: 323 3;
+ //max: 323 3;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 40 0; }
+ rel2 { relative: 1.0 1.0; to_x: "right_area"; to_y: "elm.text"; }
fixed: 1 1;
align: 0.0 0.0;
+ color: 255 0 0 0;
}
}
- MC_PART_AREA_FROM_LEFT("close_btn_area", "close_btn_left_padding", BUTTON_CLOSE_SIZE_MAX, BUTTON_CLOSE_SIZE_MAX)
- MC_PART_ICON_BTN("close_btn", "close_btn_area", MC_IMG_CLOSE_NORMAL, MC_IMG_CLOSE_PRESSED, BUTTON_CLOSE_SIZE_MAX)
- /* progress bg image */
- part {
- name: "progress_bg";
- type: IMAGE;
- mouse_events: 0;
+ part { name: "close_btn_area";
+ type: SPACER;
scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0;
- visible:1;
- image { normal: MC_IMG_PROGRESS_BG; }
- min: 642 8;
- max: 642 8;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "elm.text";offset: -30 15;}
+ rel2 { relative: 0.0 0.0; to: "padding.right";to_y: "elm.text"; offset: -30 15;}
+ min: BUTTON_CLOSE_SIZE_MAX;
+ max: BUTTON_CLOSE_SIZE_MAX;
fixed: 1 1;
- rel1 { relative: 0.0 1.0; to_x: "mid_area"; to_y: "elm.text"; offset: 0 12; }
- rel2 { relative: 1.0 1.0; to_x: "mid_area"; to_y: "elm.text";}
}
}
- /* progress */
- MC_PART_RECT("progress_area", "progress_bg", 0, 0, 1, 1)
- MC_PART_SWALLOW("progress_box", "progress_area", 0, 0, 1, 1)
+ MC_IMAGE_PART("close_btn","close_btn_area",MC_MUSIC_CLOSE_BTN,61,185,204,255,61,185,204,255,BUTTON_CLOSE_SIZE_MAX)
+ part { name: "close_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { to: "close_btn_area"; offset: -7 -7;}
+ rel2 { to: "close_btn_area"; offset: 7 7;}
+ color: 0 0 0 0;
+ }
+ }
part { name: "button_area";
type: RECT;
scale: 1;
description { state: "default" 0.0;
- rel1 { relative: 1 0; to_x: "mid_area"; to_y: "bg"; offset: 68 60;}
- rel2 { relative: 1 0; to_x: "mid_area"; to_y: "bg"; offset: 68 60;}
- align: 0.5 0.0;
- min: 0 108;
- fixed: 0 1;
- visible: 0;
+ rel1 { relative: 0 1; to_x:"elm.text"; to_y: "mid_padding";}
+ rel2 { relative: 1 0; to_x: "elm.text"; to_y: "padding.bottom"; }
+ visible: 1;
+ color: 0 255 0 0;
}
}
part { name: "rew_btn_area";
- type: SPACER;
+ type: RECT;
scale: 1;
- mouse_events: 0;
+ mouse_events: 1;
description { state: "default" 0.0;
- rel1 { relative: 0.0 0.5; to: "button_area";}
- rel2 { relative: 0.0 0.5; to: "button_area";}
+ rel1 { relative: 0.2 0.5; to: "button_area"; offset: 10 0;}
+ rel2 { relative: 0.2 0.5; to: "button_area"; offset: 10 -16;}
min: BUTTON_SIZE_MIN_MAX;
fixed: 1 1;
align: 0.0 0.5;
+ visible: 0;
}
}
- MC_PART_ICON_BTN("rew_btn", "rew_btn_area", MC_IMG_REW_NORMAL, MC_IMG_REW_PRESSED, BUTTON_SIZE_MIN_MAX)
- MC_PART_AREA_FROM_LEFT("rew_right_padding", "rew_btn_area", 21, 102)
- MC_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 102, 102)
- MC_PART_ICON_BTN("play_btn", "play_pause_btn_area", MC_IMG_PLAY_NORMAL, MC_IMG_PLAY_PRESSED, BIG_BTN_SIZE_MIN_MAX)
- MC_PART_ICON_BTN("pause_btn", "play_pause_btn_area", MC_IMG_PAUSE_NORMAL, MC_IMG_PAUSE_PRESSED, BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn_bg","rew_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn_ef","rew_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn","rew_btn_area",MC_MUSIC_PREV_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "rew_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "rew_btn_area"; }
+ rel2 { to: "rew_btn_area";}
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("rew_btn", "rew_btn_area");
- MC_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", 21, 86)
- MC_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 80, 80)
- MC_PART_ICON_BTN("ff_btn", "ff_btn_area", MC_IMG_FF_NORMAL, MC_IMG_FF_PRESSED, BUTTON_SIZE_MIN_MAX)
- }
+ part { name: "play_pause_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "button_area";offset: 0 0;}
+ rel2 { relative: 0.5 0.5; to: "button_area";offset: 0 -16;}
+ min: PLAY_BTN_SIZE_MIN_MAX;
+ max: PLAY_BTN_SIZE_MIN_MAX;
+ fixed: 1 1;
+ }
+ }
+
+
+ MC_IMAGE_PART("play_btn_bg","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_BG,61,185,204,255,34,104,115,255,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART_FOCUS("play_btn_ef","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_EF,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("play_btn","play_pause_btn_area",MC_MUSIC_PLAY_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("pause_btn","play_pause_btn_area",MC_MUSIC_PAUSE_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ part { name: "play_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "play_pause_btn_area"; }
+ rel2 { to: "play_pause_btn_area";}
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ MC_FOCUSED_COVER("play_pause", "play_pause_btn_area");
+
+
+ part { name: "ff_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.7 0.5; to: "button_area";offset: -10 0;}
+ rel2 { relative: 0.7 0.5; to: "button_area";offset: -10 -16;}
+ min: FF_BTN_SIZE_MIN_MAX;
+ max: FF_BTN_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align:0.0 0.5;
+ }
+ }
+
+ MC_IMAGE_PART("ff_btn_bg","ff_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn_ef","ff_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn","ff_btn_area",MC_MUSIC_NEXT_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "ff_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "ff_btn_area"; }
+ rel2 { to: "ff_btn_area";}
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ MC_FOCUSED_COVER("ff_btn", "ff_btn_area");
+ }
programs {
- MC_PROGRAM_BTN_ACTION("rew_btn", "rew_btn_down", "edje", "rew_btn_up", "edje", "rew_btn_clicked", "edje")
- MC_PROGRAM_BTN_ACTION("play_btn", "play_btn_down", "edje", "play_btn_up", "edje", "play_btn_clicked", "edje")
- MC_PROGRAM_BTN_VISIBLE("play_btn", "show_play_btn", "hide_play_btn")
+ MC_PROGRAM_IMAGE_VISIBLE("play_btn", "show_play_btn", "hide_play_btn")
+ MC_PROGRAM_IMAGE_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn")
+
+ program { name: "play_pause_btn_area_press";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "pressed", 0.0);
+ set_state(PART:"play_btn_ef", "pressed", 0.0);
+ }
+ }
+
+ program { name: "play_pause_btn_area_up";
+ signal: "mouse,up,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "default", 0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
+
+ program { name: "rew_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "pressed", 0.0);
+ set_state(PART:"rew_btn_ef", "pressed", 0.0);
+ set_state(PART:"rew_btn", "pressed", 0.0);
+ }
+ }
- MC_PROGRAM_BTN_ACTION("pause_btn", "pause_btn_down", "edje", "pause_btn_up", "edje", "pause_btn_clicked", "edje")
- MC_PROGRAM_BTN_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn")
+ program { name: "rew_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
+ }
- MC_PROGRAM_BTN_ACTION("ff_btn", "ff_btn_down", "edje", "ff_btn_up", "edje", "rew_btn_clicked", "edje")
+ program { name: "ff_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "pressed", 0.0);
+ set_state(PART:"ff_btn_ef", "pressed", 0.0);
+ set_state(PART:"ff_btn", "pressed", 0.0);
+ }
+ }
- MC_PROGRAM_BTN_ACTION("close_btn", "close_btn_down", "edje", "close_btn_up", "edje", "close_btn_clicked", "edje")
+ program { name: "ff_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
program { name: "albumart_cb";
signal: "mouse,clicked,1";
signal: "mouse,down,1";
transition: ACCELERATE 0.02;
}
+ /*
program {
name: "albumart_cb_down";
source: "albumart_image";
signal: "mouse,down,1";
- action: RUN_PLUGIN "touch_sound_plugin";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
after: "albumart_cb_after_down";
transition: ACCELERATE 0.02;
}
+*/
+ program { name: "close_area_btn_down";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "pressed", 0.0);
+ emit("close_btn_down", "edje");
+ }
+ }
+
+ program { name: "close_area_btn_up";
+ signal: "mouse,up,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "default", 0.0);
+ emit("close_btn_up", "edje");
+ }
+ }
+
+ program { name: "close_area_btn_clicked";
+ signal: "mouse,up,1";
+ source: "close_btn_touch_area";
+ script{
+ emit("close_btn_clicked", "edje");
+ }
+ }
+
program { name: "set_pause_icon";
signal: "set_pause";
source: "*";
script{
- emit("hide_play_btn", "edje");
- emit("show_pause_btn", "edje");
+ set_state(PART:"play_btn", "hide", 0.0);
+ set_state(PART:"pause_btn", "default",0.0);
+ set_state(PART:"play_btn_ef", "focus", 0.0);
}
}
program { name: "set_play_icon";
signal: "set_play";
source: "*";
script{
- emit("show_play_btn", "edje");
- emit("hide_pause_btn", "edje");
+ set_state(PART:"play_btn", "default", 0.0);
+ set_state(PART:"pause_btn", "hide",0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
}
}
- }
-
-}
-
-
-group {
- name: "minicontroller_progress_box";
- parts {
- part { name: "bg";
- type : RECT;
- scale: 1;
- mouse_events: 1;
- description { state: "default" 0.0;
- visible: 1;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color : 0 0 0 0;
- }
+ program { name: "set_ff_btn_uppressed";
+ signal: "ff_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
}
-
- MC_PART_RECT("progress_bar_area", "bg", 0, 0, 1, 1)
-
- part {
- name: "progress_bar";
- mouse_events: 1;
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- visible: 1;
- fixed: 1 1;
- rel1 {
- relative: 0 0;
- to: "progress_bar_area";
- }
- rel2 {
- relative: 1 1;
- to: "progress_bar_area";
- }
- color: 248 246 239 255;
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
+ program { name: "set_rew_btn_uppressed";
+ signal: "rew_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
}
- }
+ /*
+ program { name: "touch_snd_rew";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+
+ program { name: "touch_snd_ff";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_play_pause";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_shuffle";
+ signal: "mouse,down,1";
+ source: "shuffle_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_close";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_repeat";
+ signal: "mouse,down,1";
+ source: "repeat_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+*/
+ }
}
-// prgress
-#define MC_PLAYER_PROGRESSBAR_H 8
-#define MC_PLAYER_CIRCLE_W 50
-#define MC_PLAYER_CIRCLE_H 50
-
-
-group { name: "mc_player_progressbar";
-
- images {
- image: MC_IMG_PROGRESS_BG COMP;
- image: MC_IMG_PROGRESS_BAR COMP;
- }
-
- parts {
- part { name: "bg";
- type: RECT;
- mouse_events: 1;
- scale: 1;
- description {
- color: 0 0 0 0;
- }
- }
- part { name: "progressbar_bg";
- type: IMAGE;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; to: "bg";}
- rel2 { relative: 1.0 0.5; to: "bg";}
- image { normal: MC_IMG_PROGRESS_BG; border: 5 5 0 0; }
- min: 0 MC_PLAYER_PROGRESSBAR_H;
- fixed: 0 1;
- align: 0.5 0.5;
- }
- }
-
- part { name: "progressbar_current";
- type: IMAGE;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; to: "progressbar_bg"; }
- rel2 { relative: 0.5 0.5; to_x: "progressbar_playing"; to_y: "progressbar_bg"; }
- image { normal: MC_IMG_PROGRESS_BAR; border: 5 5 0 0; }
- min: 0 MC_PLAYER_PROGRESSBAR_H;
- fixed: 0 1;
- align: 0.5 0.5;
- }
- }
-
- part { name: "progressbar_playing_confine_rect";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- rel1 { relative: 0.0 0.5; offset: (-MC_PLAYER_CIRCLE_W/2) 0; to: "progressbar_bg"; }
- rel2 { relative: 1.0 0.5; offset: (MC_PLAYER_CIRCLE_W/2) 0; to: "progressbar_bg"; }
- min: 0 MC_PLAYER_CIRCLE_H;
- fixed: 0 1;
- align: 0.5 0.5;
- }
- }
-
- part { name: "progressbar_playing";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: MC_PLAYER_CIRCLE_W MC_PLAYER_CIRCLE_H;
- fixed: 1 1;
- visible: 0;
- }
- dragable {
- confine: "progressbar_playing_confine_rect";
- x: 1 1 1;
- }
- }
- }
-}
} // collection
#define VP_PLAY_BRIGHTNESS_POPUP_EDJ_PATH "pv-brightness-popup.edj"
#define VP_PLAY_ZOOM_GUIDE_EDJ_PATH "pv-zoom-guide.edj"
+#define MINICON_EDJ_NAME "pv-minicontroller.edj"
+#define LOCKSCREENMINI_EDJ_NAME "pv-lockscreenmini.edj"
#define VP_PLAY_SUBTITLE_EDJ_PATH "pv-subtitle.edj"
#include "vp-play-view-priv.h"
+#include "vp-mm-player.h"
typedef enum
{
//db
void vp_play_normal_view_db_change(normal_view_handle pViewHandle);
+vp_mm_player_state_t vp_play_normal_view_get_player_state(PlayView *pPlayView);
+void vp_play_normal_view_on_controller_button_press(void *pUserData, int btn);
+bool vp_play_normal_view_is_audio_only(PlayView *pPlayView);
Ecore_Timer *pHwKeyLongPressTimer;// for longpress HW key
Ecore_Timer *pDbUpdateTimer; //db Update
connection_h connection;
+
+ /*minicontroller*/
+ Evas_Object *win_minicon;
+ Evas_Object *minicontroller_layout;
+ Evas_Object *minicon_icon;
+ Ecore_Timer *minicon_button_timer;
+ bool b_minicontroller_show;
+ bool minicon_visible;
+
+ /*lockscreen mini*/
+ Evas_Object *win_lockmini;
+ Evas_Object *lockmini_layout;
+ Evas_Object *lsicon_icon;
+ Ecore_Timer *lockmini_button_timer;
+ bool lockmini_visible;
+ bool b_lockmini_show;
+
} PlayView;
#include "vp-play-volume.h"
#include "vp-play-volume-popup.h"
#include "vp-play-brightness-popup.h"
+#include "vp-play-minicontroller.h"
+#include "vp-play-lockscreenmc.h"
#include "vp-image-util.h"
#include "vp-media-contents.h"
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
video_sound_alive_t nSAType = (video_sound_alive_t)nType;
vp_sound_alive_destroy(pNormalView->pSAHandle);
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_play_volume_update_value(pNormalView->pVolumeHandle);
vp_sound_path_destroy(pNormalView->pSoundPathHandle);
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
-
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("play Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_setting_destroy(pNormalView->pSettingHandle);
pNormalView->pSettingHandle = NULL;
pNormalView->bIsPopupShow = FALSE;
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (nType != -1) {
pNormalView->bCaptureMode = (bool)nType;
}
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
return;
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_play_speed_popup_destroy(pNormalView->pPlaySpeedPopup);
pNormalView->pPlaySpeedPopup = NULL;
pNormalView->bIsPopupShow = FALSE;
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Play Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
}
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_subtitle_size_destroy(pNormalView->pSubtitleSizePopup);
pNormalView->pSubtitleSizePopup = NULL;
pNormalView->bIsPopupShow = FALSE;
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (!strcmp(option, "settings")) {
_vp_play_normal_view_on_subtitle_popup(pNormalView);
} else {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
char *szSubtitle = NULL;
vp_subtitle_select_destroy(pNormalView->pSubtitleSelectPopup);
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (pNormalView->bManualPause == FALSE) {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("resume Fail");
}
-
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (bPause) {
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
_vp_play_normal_view_create_layout_hide_timer(pNormalView);
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
Elm_Gesture_Taps_Info *pEvent = (Elm_Gesture_Taps_Info *) pEventInfo;
if (pNormalView->bZoomEnable && pEvent->n == 1) {
}
if (nState == VP_MM_PLAYER_STATE_PLAYING) {
vp_mm_player_pause(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
pNormalView->bManualPause = TRUE;
} else {
bool bSpeedMode = FALSE;
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Resume Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
VP_EVAS_IDLER_DEL(pNormalView->pControlIdler);
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
return;
}
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
VideoLogWarning("Mouse Down");
if (pNormalView->bIsRealize == FALSE) {
}
if (nState == VP_MM_PLAYER_STATE_PLAYING) {
vp_mm_player_pause(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
VideoLogInfo("nState:%d", nState);
if (nState == VP_MM_PLAYER_STATE_PLAYING) {
vp_mm_player_pause(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
}
}
VideoLogWarning("");
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (pNormalView->bSpeedDown) {
pNormalView->nSpeedValue++;
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
} else {
vp_mm_player_play(pNormalView->pPlayerHandle);
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
if (!vp_mm_player_set_subtitle_position(pNormalView->pPlayerHandle, pNormalView->fSubtitleSyncValue * 1000)) {
VideoLogError("vp_mm_player_set_subtitle_position is fail");
if (nState == VP_MM_PLAYER_STATE_PLAYING) {
vp_mm_player_pause(pNormalView->pPlayerHandle);
_vp_play_normal_view_set_play_state(pNormalView);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
}
pNormalView->nStartPosition = 0;
pNormalView->bIsRealize = TRUE;
vp_mm_player_play(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
//_vp_play_normal_view_show_layout(pNormalView);
pNormalView->bProgressDown == FALSE &&
!pNormalView->pSpeedTimer && !_vp_play_normal_view_check_during_call(pNormalView)) {
vp_mm_player_play(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
VideoLogWarning("== %d ==", nCode);
if (nCode == VP_MM_PLAYER_INTERRUPTED_COMPLETED) {
if (pNormalView->bManualPause == FALSE) {
vp_mm_player_play(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
} else if (nCode == VP_MM_PLAYER_INTERRUPTED_BY_MEDIA) {
pNormalView->bManualPause = TRUE;
if (pNormalView->bDeviceRemoveInterrupt) {
if (pNormalView->bManualPause == FALSE) {
vp_mm_player_play(pNormalView->pPlayerHandle);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
pNormalView->bDeviceRemoveInterrupt = FALSE;
}
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (nPercent == 100) {
VideoLogError("Buffering complete");
pNormalView->bBufferingComplete = TRUE;
} else {
vp_mm_player_play(pNormalView->pPlayerHandle);
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
NormalView *pNormalView = (NormalView *)pUserData;
VP_EVAS_DEL(pNormalView->pCtxPopup);
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+
if(pNormalView->bAudioOnly == TRUE)
{
pNormalView->bAudioOnly = FALSE;
+
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_destroy(pPlayView);
+ }
+ if (pPlayView->win_lockmini) {
+ vp_lockscreenmini_destroy(pPlayView);
+ }
}
else
{
pNormalView->bAudioOnly = TRUE;
vp_play_util_status_noti_show(VP_PLAY_STRING_AUDIO_ONLY_PLAYBACK_MSG);
+
+ if (!pPlayView->win_minicon) {
+ vp_minicontroller_create(pPlayView);
+ } else {
+ vp_minicontroller_show(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_create(pPlayView);
+ } else if (!pPlayView->b_lockmini_show) {
+ vp_lockscreenmini_show(pPlayView);
+ }
}
_vp_play_normal_view_set_play_state(pNormalView);
+
}
static void __vp_normal_ctx_popup_subtitle_cb(void *pUserData, Evas_Object *pObj, void *pEventInfo)
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
VP_EVAS_DEL(pNormalView->pCtxPopup);
vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE;
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
vp_mm_player_pause(pNormalView->pPlayerHandle);
pNormalView->bManualPause = TRUE;
}
+ if (vPlayview->win_minicon) {
+ vp_minicontroller_update_control(vPlayview);
+ }
+ if (!vPlayview->win_lockmini) {
+ vp_lockscreenmini_update_control(vPlayview);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
vp_mm_player_play(pNormalView->pPlayerHandle);
pNormalView->bManualPause = FALSE;
}
+ if (vPlayview->win_minicon) {
+ vp_minicontroller_update_control(vPlayview);
+ }
+ if (!vPlayview->win_lockmini) {
+ vp_lockscreenmini_update_control(vPlayview);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
pNormalView->bManualPause = TRUE;
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
} else if (pObj == pNormalView->pResumeBtn) {
VideoLogWarning("Resume button");
vp_util_lock_cpu();
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
pNormalView->bManualPause = FALSE;
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
} else if (pObj == pNormalView->pPlayFocusBtn) {
VideoLogWarning("pPlayFocusBtn click");
Evas_Object *pObj = elm_object_part_content_get(pNormalView->pControlLayout, VP_PLAY_SWALLOW_NORMAL_PLAY);
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
VP_EVAS_IDLER_DEL(pNormalView->pControlIdler);
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Resume Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
VP_EVAS_IDLER_DEL(pNormalView->pControlIdler);
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
_vp_play_normal_view_on_prev_play(pNormalView, TRUE, FALSE);
}
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update(pPlayView, true);
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update(pPlayView);
+ }
} else if (pObj == pNormalView->pNextBtn) {
VideoLogWarning("Next button");
if (pNormalView->bHLSMode == FALSE) {
_vp_play_normal_view_on_next_play(pNormalView, TRUE);
}
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update(pPlayView, true);
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update(pPlayView);
+ }
} else if (pObj == pNormalView->pRotateBtn) {
VideoLogWarning("Rotate button");
}
}
+
+void vp_play_normal_view_on_controller_button_press(void *pUserData, int btn) {
+
+ if (!pUserData) {
+ VideoLogError("pUserData is NULL");
+ return;
+ }
+
+ NormalView *pNormalView = (NormalView *)pUserData;
+ Evas_Object *pObj = NULL;
+
+ if(btn == CONTROLLER_PAUSE_BUTTON) {
+ pObj = pNormalView->pPauseBtn;
+ } else if(btn == CONTROLLER_PLAY_BUTTON) {
+ pObj = pNormalView->pResumeBtn;
+ } else if(btn == CONTROLLER_FF_BUTTON) {
+ pObj = pNormalView->pNextBtn;
+ } else if(btn == CONTROLLER_REW_BUTTON) {
+ pObj = pNormalView->pPrevBtn;
+ } else {
+ VideoLogError("Unknown Button!");
+ }
+ __vp_normal_control_btn_clicked_cb(pNormalView, pObj, NULL);
+}
+
static void __vp_normal_control_btn_press_cb(void *pUserData, Evas_Object *pObj, void *pEvent)
{
if (!pUserData) {
}
NormalView *pNormalView = (NormalView *)pUserData;
+ PlayView *pPlayView = pNormalView->pPlayView;
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (pNormalView->bSharepopup) {
VideoLogWarning("bSharepopup is TRUE");
return;
}
pNormalView->bManualPause = TRUE;
}
-
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
}
pNormalView->bManualPause = FALSE;
}
-
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
} else {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogError("play Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
pNormalView->bManualPause = FALSE;
}
VideoLogError("Pause Fail");
}
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
pNormalView->bManualPause = TRUE;
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
NormalView *pNormalView = (NormalView *)pViewHandle;
+ PlayView *pPlayView = pNormalView->pPlayView;
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (pNormalView->pSpeedTimer == NULL && bRelease == FALSE) {
if (bFFseek) {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogError("play Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
pNormalView->bManualPause = FALSE;
}
NormalView *pNormalView = (NormalView *)pViewHandle;
+ PlayView *pPlayView = pNormalView->pPlayView;
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE;
if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) {
vp_mm_player_play(pNormalView->pPlayerHandle);
pNormalView->bManualPause = FALSE;
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
if (nState != VP_MM_PLAYER_STATE_PLAYING) {
vp_mm_player_play(pNormalView->pPlayerHandle);
pNormalView->bManualPause = FALSE;
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
if (nState != VP_MM_PLAYER_STATE_PLAYING) {
vp_mm_player_play(pNormalView->pPlayerHandle);
pNormalView->bManualPause = FALSE;
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
pNormalView->bSharePanelPause = FALSE;
VideoLogError("pNormalView is NULL");
return;
}
+
+ PlayView *pPlayView = pNormalView->pPlayView;
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE;
if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) {
VideoLogWarning("vp_mm_player_get_state is fail");
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
vp_audio_track_destroy(pNormalView->pAudioTrackHandle);
pNormalView->pAudioTrackHandle = NULL;
- PlayView *pPlayView = pNormalView->pPlayView;
-
- if (!pPlayView) {
- VideoLogError("pPlayView is NULL");
- return;
- }
pNormalView->pAudioTrackHandle = vp_audio_track_create(pPlayView->pWin,
__vp_normal_audio_track_popup_close_cb,
pNormalView->nDefaultAudioTrackIndex);
VideoLogError("pNormalView is NULL");
return;
}
+
+ PlayView *pPlayView = pNormalView->pPlayView;
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE;
if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) {
VideoLogWarning("vp_mm_player_get_state is fail");
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
vp_subtitle_track_destroy(pNormalView->pSubtitleTrackHandle);
pNormalView->pSubtitleTrackHandle = NULL;
- PlayView *pPlayView = pNormalView->pPlayView;
-
- if (!pPlayView) {
- VideoLogError("pPlayView is NULL");
- return;
- }
#ifdef _SUBTITLE_MULTI_LANGUAGE
pNormalView->pSubtitleTrackHandle = vp_subtitle_track_create(pPlayView->pWin,
__vp_normal_subtitle_track_popup_close_cb);
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
}
// to do
NormalView *pNormalView = (NormalView *)pUserData;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_subtitle_edge_destroy(pNormalView->pSubtitleEdgePopup);
pNormalView->pSubtitleEdgePopup = NULL;
pNormalView->bIsPopupShow = FALSE;
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogError("Pause Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
}
VideoLogError("vp_mm_player_set_subtitle_position is fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
_vp_play_normal_view_on_capture_mode(pNormalView);
}
NormalView *pNormalView = (NormalView *)pViewHandle;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ } else {
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_destroy(pPlayView);
+ }
+ }
elm_access_object_unregister(pNormalView->pMainLayout);
elm_object_focus_allow_set(pNormalView->pNaviFrame, EINA_FALSE);
elm_object_tree_focus_allow_set(pNormalView->pNaviFrame, EINA_FALSE);
}
NormalView *pNormalView = (NormalView *)pViewHandle;
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_mm_player_pause(pNormalView->pPlayerHandle);
_vp_play_normal_view_set_play_state(pNormalView);
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
return TRUE;
}
}
NormalView *pNormalView = (NormalView *)pViewHandle;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if (pNormalView->pPlayerHandle && pNormalView->bIsRealize) {
_vp_play_normal_view_all_close_popup(pNormalView);
}
if (nState != VP_MM_PLAYER_STATE_PLAYING) {
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogError("Unable to play!");
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
}
_vp_play_normal_view_set_play_state(pNormalView);
}
}
NormalView *pNormalView = (NormalView *)pViewHandle;
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE;
if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) {
break;
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
_vp_play_normal_view_set_play_state(pNormalView);
return TRUE;
}
NormalView *pNormalView = (NormalView *)pViewHandle;
+ PlayView *pPlayView = pNormalView->pPlayView;
VideoLogWarning(" == NORMAL VIEW UPDATE ==");
}
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
+
return TRUE;
}
NormalView *pNormalView = (NormalView *)pViewHandle;
+ if (pNormalView->bAudioOnly) {
+ VideoLogDebug("Audio only mode is on hence lock feature disabled");
+ return FALSE;
+ }
+
pNormalView->bLockScreen = bLock;
VP_EVAS_TIMER_DEL(pNormalView->pLockScreenTimer);
VideoLogError("pViewHandle is NULL");
return FALSE;
}
-
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
VideoLogWarning("Pause button");
if (!vp_mm_player_pause(pNormalView->pPlayerHandle)) {
VideoLogWarning("Pause Fail");
}
-
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
VP_EVAS_IDLER_DEL(pNormalView->pControlIdler);
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
pNormalView->bManualPause = TRUE;
VideoLogError("pViewHandle is NULL");
return FALSE;
}
+ PlayView *pPlayView = pNormalView->pPlayView;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
if(_vp_play_normal_view_check_during_call(pNormalView)) {
return FALSE;
}
if (!vp_mm_player_play(pNormalView->pPlayerHandle)) {
VideoLogWarning("Resume Fail");
}
+ if (pPlayView->win_minicon) {
+ vp_minicontroller_update_control(pPlayView);
+ }
+ if (!pPlayView->win_lockmini) {
+ vp_lockscreenmini_update_control(pPlayView);
+ }
VP_EVAS_IDLER_DEL(pNormalView->pControlIdler);
pNormalView->pControlIdler = ecore_idler_add(__vp_normal_control_idler_cb, (void *)pNormalView);
pNormalView->bManualPause = FALSE;
VP_FREE(pVideoId);
}
}
+
+vp_mm_player_state_t vp_play_normal_view_get_player_state(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+
+ NormalView *pNormalView = (NormalView *)pPlayView->pNormalView;
+ vp_mm_player_state_t nState = VP_MM_PLAYER_STATE_NONE;
+
+ if (!vp_mm_player_get_state(pNormalView->pPlayerHandle, &nState)) {
+ VideoLogWarning("vp_mm_player_get_state is fail");
+ }
+
+ return nState;
+}
+
+bool vp_play_normal_view_is_audio_only(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return FALSE;
+ }
+
+ NormalView *pNormalView = (NormalView *)pPlayView->pNormalView;
+
+ if (pNormalView->bAudioOnly == TRUE) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+
+ return FALSE;
+}
#include "vp-play-view-priv.h"
#include "vp-play-normal-view.h"
+#include "vp-play-minicontroller.h"
+#include "vp-play-lockscreenmc.h"
#include "vp-play-popup.h"
#include "vp-play-button.h"
if (pPlayView->nRotate != nRotate) {
vp_play_view_set_rotate(pPlayView, nRotate);
}
+ if(pPlayView->win_minicon) {
+ vp_minicontroller_rotate(pPlayView, nRotate);
+ }
}
static void __vp_play_view_realize_cb(void *pUserData)
vp_play_normal_check_detail_view(pPlayView->pNormalView);
bool bPause = FALSE;
vp_play_normal_view_get_pause_status(pPlayView->pNormalView, &bPause);
- if (bPause) {
+ if (bPause && !vp_play_normal_view_is_audio_only(pPlayView)) {
vp_play_util_set_lock_power_key();
+ } else {
+ VideoLogDebug("Lock feature disabled");
}
return EINA_TRUE;
pPlayView->pParent = pParent;
pPlayView->nPlayMode = nMode;
pPlayView->nLaunchingType = nLaunchingType;
+ pPlayView->minicontroller_layout = NULL;
+ pPlayView->win_minicon = NULL;
+ pPlayView->lockmini_layout = NULL;
+ pPlayView->win_lockmini = NULL;
/* init preference */
vp_play_preference_init();
--- /dev/null
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#ifndef VP_PLAY_LOCKSCREENMC_H_
+#define VP_PLAY_LOCKSCREENMC_H_
+
+//#include "mp-ta.h"
+//#include "music.h"
+//#include "mp-item.h"
+//#include "mp-player-control.h"
+//#include "mp-common.h"
+//#include "mp-player-mgr.h"
+//#include "mp-player-debug.h"
+//
+//#ifdef MP_FEATURE_LOCKSCREEN
+#include "vp-play-view-priv.h"
+enum vp_lc_controller_button_type {
+ LC_CONTROLLER_PLAY_BUTTON = 0,
+ LC_CONTROLLER_PAUSE_BUTTON,
+ LC_CONTROLLER_FF_BUTTON,
+ LC_CONTROLLER_REW_BUTTON
+};
+
+int vp_lockscreenmini_create(PlayView *pPlayView);
+//int mp_lockscreenmini_hide(struct appdata *ad);
+int vp_lockscreenmini_show(PlayView *pPlayView);
+int vp_lockscreenmini_destroy(PlayView *pPlayView);
+void vp_lockscreenmini_update_control(PlayView *pPlayView);
+void vp_lockscreenmini_update(PlayView *pPlayView);
+//void mp_lockscreenmini_visible_set(struct appdata *ad, bool visible);
+//bool mp_lockscreenmini_visible_get(struct appdata *ad);
+//void mp_lockscreenmini_on_lcd_event(struct appdata *ad, bool lcd_on);
+//
+//#endif
+
+#endif /* VP_PLAY_LOCKSCREENMC_H_ */
--- /dev/null
+/*
+ /*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef VP_PLAY_MINICONTROLLER_H_
+#define VP_PLAY_MINICONTROLLER_H_
+
+#include "vp-play-view-priv.h"
+
+enum vp_controller_button_type {
+ CONTROLLER_PLAY_BUTTON = 0,
+ CONTROLLER_PAUSE_BUTTON,
+ CONTROLLER_FF_BUTTON,
+ CONTROLLER_REW_BUTTON
+};
+
+int vp_minicontroller_create(PlayView *pPlayView);
+//int vp_minicontroller_hide(struct appdata *ad);
+int vp_minicontroller_show(PlayView *pPlayView);
+int vp_minicontroller_destroy(PlayView *pPlayView);
+void vp_minicontroller_update_control(PlayView *pPlayView);
+void vp_minicontroller_update(PlayView *pPlayView, bool with_title);
+void vp_minicontroller_rotate(PlayView *pPlayView, video_play_rotate_t angle);
+//void vp_minicontroller_visible_set(struct appdata *ad, bool visible);
+//bool vp_minicontroller_visible_get(struct appdata *ad);
+//void vp_minicontroller_on_lcd_event(struct appdata *ad, bool lcd_on);
+
+#endif /* VP_PLAY_MINICONTROLLER_H_ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <runtime_info.h>
+#include <network/wifi.h>
+#include <media_key.h>
+#include <sound_manager.h>
+#include <sys/time.h>
+#include <minicontrol-provider.h>
+#include <minicontrol-type.h>
+#include <device/display.h>
+#include <device/callback.h>
+
+#include "vp-play-type-define.h"
+#include "vp-play-string-define.h"
+#include "vp-play-value-define.h"
+#include "vp-play-macro-define.h"
+
+#include "vp-play-lockscreenmc.h"
+#include "vp-play-minicontroller.h"
+#include "vp-play-view.h"
+#include "vp-play-view-priv.h"
+#include "vp-play-normal-view.h"
+#include "vp-mm-player.h"
+#include "vp-play-util.h"
+#include "vp-media-contents.h"
+/* check temp */
+#include "vp-play-log.h"
+#include "vp-util.h"
+#include "vp-file-util.h"
+#include "vp-avrcp.h"
+#include "Ecore.h"
+//#include <sys/time.h>
+//#include <minicontrol-provider.h>
+//#include <minicontrol-type.h>
+//#include "mp-lockscreenmini.h"
+//#include "mp-player-control.h"
+//#include "mp-play.h"
+//#include "Ecore.h"
+//#include "mp-player-mgr.h"
+//#include "mp-util.h"
+//#include "mp-widget.h"
+//#include "mp-setting-ctrl.h"
+//#include "mp-player-view.h"
+//#include <device/display.h>
+//#include <device/callback.h>
+//
+//#ifdef MP_FEATURE_LOCKSCREEN
+//
+int LOCKSCREEN_MINI_CONTROLLER_WIDTH;
+#define LOCKSCREEN_MINI_CONTROLLER_HEIGHT (93)
+//
+////#define LOCKSCREEN_MSG_DOMAIN_CONTROL_ACCESS (int)ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL
+
+static time_t press_time;
+static time_t release_time;
+static Evas_Object *_load_edj(Evas_Object * parent, const char *file, const char *group);
+static void _load_lockscreenmini(PlayView *pPlayView);
+static void _vp_lockscreenmini_update_layout(PlayView *pPlayView, bool landscape);
+
+//static bool _mp_lockscreenmini_is_long_press()
+//{
+// bool result = false;
+// VideoLogDebug("press time is %s", ctime(&press_time));
+// VideoLogDebug("release time is %s", ctime(&release_time));
+// if (difftime(release_time, press_time) > 1.0) {
+// result = true;
+// }
+//
+// memset(&release_time, 0, sizeof(time_t));
+// memset(&press_time, 0, sizeof(time_t));
+//
+// VideoLogDebug("is %s long press", result ? "" : "not");
+// return result;
+//}
+
+static Evas_Object *
+_load_edj(Evas_Object *parent, const char *file, const char *group)
+{
+ Evas_Object *eo;
+ int r;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ char edje_path[1024] ={0};
+ char * path = app_get_resource_path();
+
+ if (path == NULL) {
+ VideoLogError("path is null");
+ return NULL;
+ }
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file);
+
+ r = elm_layout_file_set(eo, edje_path, group);
+ free(path);
+
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(parent, eo);
+ evas_object_show(eo);
+ }
+
+ return eo;
+}
+
+static void _lockscreen_cb(minicontrol_viewer_event_e event_type, bundle *event_arg)
+{
+ /*Need to handle events*/
+}
+
+static void
+_load_lockscreenmini(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ Evas_Object *win = NULL;
+
+ win = minicontrol_create_window("video-minicontrol.LOCKSCREEN", MINICONTROL_TARGET_VIEWER_STOCK_LOCK_SCREEN, _lockscreen_cb);
+
+ if (!win) {
+ return;
+ }
+ elm_win_alpha_set(win, EINA_TRUE);
+
+ pPlayView->win_lockmini = win;
+
+ /* load edje */
+ _vp_lockscreenmini_update_layout(pPlayView, false);
+
+ /*evas_object_show(eo);*/
+
+ return;
+}
+
+//static void
+//_mp_lockscreenmini_register_reader(void *data)
+//{
+// struct appdata *pPlayView = data;
+// MP_CHECK(pPlayView);
+//}
+
+void vp_lockscreenmini_update_winmini_size(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+
+ double scale = elm_config_scale_get();
+ VideoLogDebug("scale: %f", scale);
+
+ if ((scale - 1.7) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 318;
+ } else if ((scale - 1.8) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 267;
+ } else if ((scale - 2.4) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300;
+ } else if ((scale - 2.6) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300;
+ } else if ((scale - 2.8) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300;
+ }
+
+ evas_object_resize(pPlayView->win_lockmini, LOCKSCREEN_MINI_CONTROLLER_WIDTH * scale, LOCKSCREEN_MINI_CONTROLLER_HEIGHT * scale);
+
+ return;
+}
+
+int
+vp_lockscreenmini_create(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+ if (!(pPlayView->lockmini_layout && pPlayView->win_lockmini)) {
+ _load_lockscreenmini(pPlayView);
+ if (pPlayView->lockmini_layout == NULL) {
+ VideoLogError("layout not made");
+ return -1;
+ }
+// _vp_lockscreenmini_register_reader(pPlayView);
+ }
+
+ vp_lockscreenmini_update_winmini_size(pPlayView);
+
+ vp_lockscreenmini_show(pPlayView);
+ return 0;
+}
+
+
+int vp_lockscreenmini_show(PlayView *pPlayView)
+{
+ VideoLogDebug("minicontroller view show!!");
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+ if (!pPlayView->win_lockmini) {
+ VideoLogError("pPlayView->win_lockmini is NULL");
+ return -1;
+ }
+ //MP_CHECK_VAL(!pPlayView->is_lcd_off, -1);
+
+ pPlayView->b_lockmini_show = TRUE;
+ vp_lockscreenmini_update(pPlayView);
+
+// FILE *fp = fopen(MP_LSCR_CONTROL, "w");
+// if (fp) {
+// fclose(fp);
+// }
+
+ evas_object_show(pPlayView->win_lockmini);
+ return 0;
+}
+
+static void _vp_lockscreenmini_update_btn(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_lockmini) {
+ VideoLogError("pPlayView->win_lockmini is NULL");
+ return;
+ }
+
+ //MP_CHECK(!pPlayView->is_lcd_off);
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+
+ VideoLogInfo("nState:%d", nState);
+ if (nState == VP_MM_PLAYER_STATE_PAUSED) {
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_visible", "play_btn");
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_invisible", "pause_btn");
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_invisible", "play_btn");
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_visible", "pause_btn");
+ }
+}
+
+static Eina_Bool
+_vp_lockscreenmini_btn_update_timer(void *data)
+{
+ PlayView *pPlayView = (PlayView *)data;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
+
+ _vp_lockscreenmini_update_btn(pPlayView);
+
+ pPlayView->lockmini_button_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _vp_lockscreenmini_update_playpause_btn(PlayView *pPlayView)
+{
+ VP_EVAS_TIMER_DEL(pPlayView->lockmini_button_timer);
+
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+
+ VideoLogInfo("nState:%d", nState);
+ if (nState == VP_MM_PLAYER_STATE_PLAYING || nState == VP_MM_PLAYER_STATE_PAUSED) {
+ _vp_lockscreenmini_update_btn(pPlayView);
+ } else {
+ pPlayView->lockmini_button_timer = ecore_timer_add(1.0, _vp_lockscreenmini_btn_update_timer, (void *)pPlayView);
+ }
+}
+
+void vp_lockscreenmini_update_control(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_lockmini) {
+ VideoLogError("pPlayView->win_lockmini is NULL");
+ return;
+ }
+// MP_CHECK(!pPlayView->is_lcd_off);
+
+ _vp_lockscreenmini_update_playpause_btn(pPlayView);
+}
+
+static void _vp_lockscreenmini_play_pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("play/pause button clicked");
+
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+ VideoLogInfo("nState:%d", nState);
+ if (nState == VP_MM_PLAYER_STATE_PLAYING) {
+ /*if playing state then on click it should pause and set button for play*/
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_invisible", "play_btn");
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_visible", "pause_btn");
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_PAUSE_BUTTON);
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "play_btn_visible", "play_btn");
+ edje_object_signal_emit(elm_layout_edje_get(pPlayView->lockmini_layout), "pause_btn_invisible", "pause_btn");
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_PLAY_BUTTON);
+ }
+}
+
+static void _vp_lockscreenmini_ff_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("ff button pressed");
+ time(&press_time);
+// char *source = (char *)data;
+// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+// vp_play_control_ff(true, false, false);
+// } else {
+// vp_play_control_rew(true, false, false);
+// }
+}
+
+static void _vp_lockscreenmini_ff_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("ff button unpressed");
+ time(&release_time);
+
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if(!pPlayView->lockmini_layout) {
+ VideoLogError("pPlayView->lockmini_layout is NULL");
+ return;
+ }
+
+ //vp_play_control_ff(false, false, false);
+ elm_object_signal_emit(pPlayView->lockmini_layout, "signal.button.unpressed", "ff_btn");
+}
+
+static void _vp_lockscreenmini_ff_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("ff button clicked");
+// if (_vp_minicontroller_is_long_press()) {
+// return;
+// }
+//
+// char *source = (char *)data;
+// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+// vp_play_control_ff(false, false, true);
+// } else {
+// vp_play_control_rew(false, false, true);
+// }
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_FF_BUTTON);
+}
+
+static void _vp_lockscreenmini_rew_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("rew button pressed");
+ time(&press_time);
+// char *source = (char *)data;
+// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+// vp_play_control_ff(true, false, false);
+// } else {
+// vp_play_control_rew(true, false, false);
+// }
+}
+
+static void _vp_lockscreenmini_rew_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("rew button unpressed");
+ time(&release_time);
+
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if(!pPlayView->lockmini_layout) {
+ VideoLogError("pPlayView->lockmini_layout is NULL");
+ return;
+ }
+
+ // vp_play_control_rew(false, false, false);
+ elm_object_signal_emit(pPlayView->lockmini_layout, "signal.button.unpressed", "rew_btn");
+
+}
+
+static void _vp_lockscreenmini_rew_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("rew button clicked");
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, LC_CONTROLLER_REW_BUTTON);
+}
+
+/*end of focused UI callbacks*/
+
+static void
+_vp_lockscreenmini_update_layout(PlayView *pPlayView, bool landscape)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+
+ VP_EVAS_TIMER_DEL(pPlayView->lockmini_button_timer);
+
+ if(pPlayView->lockmini_layout) {
+ evas_object_del(pPlayView->lockmini_layout);
+ }
+ pPlayView->lockmini_layout = _load_edj(pPlayView->win_lockmini, LOCKSCREENMINI_EDJ_NAME, "video-lockscreenmini");
+
+ if (!pPlayView->lockmini_layout) {
+ VideoLogError("layout making failed");
+ return ;
+ }
+
+ elm_win_resize_object_add(pPlayView->win_lockmini, pPlayView->lockmini_layout);
+
+ /*add focused UI related*/
+ pPlayView->lsicon_icon = elm_image_add(pPlayView->minicontroller_layout);
+ evas_object_size_hint_align_set(pPlayView->lsicon_icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(pPlayView->lsicon_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_image_fill_outside_set(pPlayView->lsicon_icon, true);
+ elm_object_part_content_set(pPlayView->minicontroller_layout, "albumart_image", pPlayView->lsicon_icon);
+ elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, pPlayView->lsicon_icon, NULL);
+ elm_object_focus_allow_set(pPlayView->lsicon_icon, EINA_TRUE);
+
+ /*-------> REW button ------->*/
+ Evas_Object *rew_focus_btn = elm_button_add(pPlayView->lockmini_layout);
+ elm_object_style_set(rew_focus_btn, "focus");
+ elm_object_part_content_set(pPlayView->lockmini_layout, "rew_focus", rew_focus_btn);
+ elm_object_focus_custom_chain_append(pPlayView->lockmini_layout, rew_focus_btn, NULL);
+ evas_object_smart_callback_add(rew_focus_btn, "clicked", _vp_lockscreenmini_rew_btn_clicked_cb, pPlayView);
+ evas_object_smart_callback_add(rew_focus_btn, "pressed", _vp_lockscreenmini_rew_btn_pressed_cb, pPlayView);
+ evas_object_smart_callback_add(rew_focus_btn, "unpressed", _vp_lockscreenmini_rew_btn_unpressed_cb, pPlayView);
+
+ /*-------> play/pause button ------->*/
+ Evas_Object *play_pause_focus_btn = elm_button_add(pPlayView->lockmini_layout);
+ elm_object_style_set(play_pause_focus_btn, "focus");
+ elm_object_part_content_set(pPlayView->lockmini_layout, "play_pause_focus", play_pause_focus_btn);
+ elm_object_focus_custom_chain_append(pPlayView->lockmini_layout, play_pause_focus_btn, NULL);
+ evas_object_smart_callback_add(play_pause_focus_btn, "clicked", _vp_lockscreenmini_play_pause_btn_clicked_cb, pPlayView);
+
+ /*------->FF button ------->*/
+ Evas_Object *ff_focus_btn = elm_button_add(pPlayView->lockmini_layout);
+ elm_object_style_set(ff_focus_btn, "focus");
+ elm_object_part_content_set(pPlayView->lockmini_layout, "ff_focus", ff_focus_btn);
+ elm_object_focus_custom_chain_append(pPlayView->lockmini_layout, ff_focus_btn, NULL);
+ evas_object_smart_callback_add(ff_focus_btn, "clicked", _vp_lockscreenmini_ff_btn_clicked_cb, pPlayView);
+ evas_object_smart_callback_add(ff_focus_btn, "pressed", _vp_lockscreenmini_ff_btn_pressed_cb, pPlayView);
+ evas_object_smart_callback_add(ff_focus_btn, "unpressed", _vp_lockscreenmini_ff_btn_unpressed_cb, pPlayView);
+
+ _vp_lockscreenmini_update_btn(pPlayView);
+}
+
+static void
+_vp_lockscreenmini_title_set(PlayView *pPlayView)
+{
+ VideoLogDebug("title set");
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ Evas_Object *label = elm_object_part_content_get(pPlayView->lockmini_layout, "elm.text");
+
+ char *markup_title = elm_entry_utf8_to_markup(vp_play_util_get_title_from_path(pPlayView->szMediaURL));
+ //char *markup_artist = elm_entry_utf8_to_markup(current_item->artist);
+
+ char *title_shadow = g_strdup_printf("far_shadow,bottom shadow_color=#00000080");
+ char *title_format = "<align=center><style=%s><font_size=%d><color=#%s><color_class=%s>%s</font></color_class></font_size></style></align>";
+ char *title = NULL;
+ char *title_format_left = "<align=left><style=%s><font_size=%d><color=#%s><color_class=%s>%s</font></color_class></font_size></style></align>";
+
+ if (markup_title) {
+ if (strlen(markup_title) + 3 <= 50) {
+ title = g_strdup_printf(title_format, title_shadow, 30, "FFFFFFFF", "ATO003", markup_title);
+ } else {
+ title = g_strdup_printf(title_format_left, title_shadow, 30, "FFFFFFFF", "ATO003", markup_title);
+ }
+ }
+
+ /*edje_object_part_text_set(_EDJ(pPlayView->lockmini_layout), "artist.text", markup_artist);*/
+ if (!label) {
+ label = elm_label_add(pPlayView->lockmini_layout);
+ elm_object_style_set(label, "slide_roll");
+
+ // set the label for the title slide mode
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_wrap_width_set(label, 1);
+ // set the label text
+ elm_object_text_set(label, title);
+ evas_object_show(label);
+ elm_object_part_content_set(pPlayView->lockmini_layout, "elm.text", label);
+ } else {
+ elm_object_text_set(label, title);
+ }
+
+ if (pPlayView->lockmini_visible) {
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_ALWAYS);
+ elm_label_slide_go(label);
+ } else {
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_NONE);
+ elm_label_slide_go(label);
+ }
+
+ VP_FREE(title);
+ VP_FREE(markup_title);
+ evas_object_show(label);
+}
+
+void vp_lockscreenmini_update(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_lockmini) {
+ VideoLogError("pPlayView->win_lockmini is NULL");
+ return;
+ }
+ //MP_CHECK(!pPlayView->is_lcd_off);
+
+ /*thumbnail set*/
+ char *thumbnail_path = NULL;
+ vp_media_contents_get_video_thumbnail_path(pPlayView->szMediaURL, &thumbnail_path);
+ VideoLogInfo("thumbnail = %s:%s", pPlayView->szMediaURL, thumbnail_path);
+ elm_image_file_set(pPlayView->lsicon_icon, thumbnail_path, NULL);
+
+ vp_lockscreenmini_update_control(pPlayView);
+ _vp_lockscreenmini_title_set(pPlayView);
+ evas_object_show(pPlayView->lockmini_layout);
+
+}
+
+//int
+//mp_lockscreenmini_hide(struct appdata *pPlayView)
+//{
+// VideoLogDebug("lockscreenmini view hide!!\n");
+// mp_retvm_if(pPlayView == NULL, -1, "appdata is NULL");
+// MP_CHECK_VAL(pPlayView->win_lockmini, -1);
+//
+// evas_object_hide(pPlayView->win_lockmini);
+// pPlayView->b_lockmini_show = FALSE;
+//
+// mp_ecore_timer_del(pPlayView->lockmini_progress_timer);
+// mp_ecore_timer_del(pPlayView->lockmini_button_timer);
+//
+// return 0;
+//
+//}
+
+int
+vp_lockscreenmini_destroy(PlayView *pPlayView)
+{
+ VideoLogDebug("lockscreenmini view destroy!!");
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+ if (!pPlayView->win_lockmini) {
+ VideoLogError("pPlayView->win_lockmini is NULL");
+ return -1;
+ }
+
+ if (pPlayView->lockmini_layout != NULL) {
+ pPlayView->b_lockmini_show = FALSE;
+ }
+
+ evas_object_hide(pPlayView->win_lockmini);
+ VP_EVAS_TIMER_DEL(pPlayView->lockmini_button_timer);
+ pPlayView->lockmini_visible = false;
+
+// ecore_file_remove(MP_LSCR_CONTROL);
+ return 0;
+}
+
+//void
+//mp_lockscreenmini_visible_set(struct appdata *pPlayView, bool visible)
+//{
+// VideoLogDebug("visible: %d", visible);
+// MP_CHECK(pPlayView);
+// MP_CHECK(pPlayView->win_lockmini);
+//
+// pPlayView->lockmini_visible = visible;
+// _mp_lockscreenmini_title_set(pPlayView);
+// mp_lockscreenmini_update_control(pPlayView);
+//
+// if (visible) {
+//#ifdef LOCKSCREEN_ENABLE_PROGRESS
+// _lockscreenmini_progress_timer_add(pPlayView);
+//#endif
+// } else {
+// display_state_e lock_state;
+// int ret = device_display_get_state(&lock_state);
+// if (ret == DEVICE_ERROR_NONE) {
+// ERROR_TRACE("[SUCCESSFULL] Return value is %d", ret);
+// } else {
+// ERROR_TRACE("[ERROR] Return value is %d", ret);
+// }
+// if (lock_state == DISPLAY_STATE_SCREEN_OFF || lock_state == DISPLAY_STATE_SCREEN_DIM) {
+// ERROR_TRACE("timer locks deleted");
+// mp_ecore_timer_del(pPlayView->lockmini_progress_timer);
+// }
+// }
+//}
+//
+//bool
+//mp_lockscreenmini_visible_get(struct appdata *pPlayView)
+//{
+// MP_CHECK_FALSE(pPlayView);
+// MP_CHECK_FALSE(pPlayView->win_lockmini);
+//
+// return pPlayView->lockmini_visible;
+//}
+//
+//void mp_lockscreenmini_on_lcd_event(struct appdata *pPlayView, bool lcd_on)
+//{
+// VideoLogDebug("lcd_on [%d]", lcd_on);
+// MP_CHECK(pPlayView);
+//
+// if (lcd_on && mp_util_is_now_active_player()) {
+// if (pPlayView->player_state == PLAY_STATE_PLAYING) {
+// mp_lockscreenmini_show(pPlayView);
+// }
+// }
+//
+// mp_lockscreenmini_visible_set(pPlayView, lcd_on);
+//}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <runtime_info.h>
+#include <network/wifi.h>
+#include <media_key.h>
+#include <sound_manager.h>
+#include <sys/time.h>
+#include <minicontrol-provider.h>
+#include <minicontrol-type.h>
+
+#include "vp-play-type-define.h"
+#include "vp-play-string-define.h"
+#include "vp-play-value-define.h"
+#include "vp-play-macro-define.h"
+
+#include "vp-play-minicontroller.h"
+#include "vp-play-view.h"
+#include "vp-play-view-priv.h"
+#include "vp-play-normal-view.h"
+#include "vp-mm-player.h"
+#include "vp-play-util.h"
+#include "vp-media-contents.h"
+#include "vp-play-lockscreenmc.h"
+
+/* check temp */
+#include "vp-play-log.h"
+#include "vp-util.h"
+#include "vp-file-util.h"
+#include "vp-avrcp.h"
+
+#define MINI_CONTROLLER_HEIGHT (93)
+#define WL_INDI_H 27 //Window Layout Indicator Height
+#define PAUSE_TIME_OUT 120.
+
+static time_t press_time;
+static time_t release_time;
+int MINI_CONTROLLER_WIDTH;
+int MINI_CONTROLLER_WIDTH_LANDSCAPE;
+
+static void _minicontroller_action_cb(void *data, Evas_Object * obj, const char *emission, const char *source);
+static Evas_Object *_load_edj(Evas_Object * parent, const char *file, const char *group);
+static void _load_minicontroller(PlayView *pPlayView);
+static void _vp_minicontroller_update_layout(PlayView *pPlayView, bool landscape);
+static void _vp_minicontroller_title_set(PlayView *pPlayView);
+
+static bool _vp_minicontroller_is_long_press()
+{
+ bool result = false;
+ VideoLogDebug("press time is %s", ctime(&press_time));
+ VideoLogDebug("release time is %s", ctime(&release_time));
+ if (difftime(release_time, press_time) > 1.0) {
+ result = true;
+ }
+
+ memset(&release_time, 0, sizeof(time_t));
+ memset(&press_time, 0, sizeof(time_t));
+
+ VideoLogDebug("is %s long press", result ? "" : "not");
+ return result;
+}
+
+static bool
+_vp_minicontroller_landscape_is(PlayView *pPlayView, video_play_rotate_t angle)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return false;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return false;
+ }
+
+ bool landscape = false;
+ if (angle == VIDEO_PLAY_ROTATE_90 || angle == VIDEO_PLAY_ROTATE_270) {
+ landscape = true;
+ } else {
+ landscape = false;
+ }
+ return landscape;
+}
+
+//static void
+//_vp_minicontroller_action_show_player_view(struct appdata *ad)
+//{
+// startfunc;
+// MP_CHECK(ad);
+//#ifndef MP_SOUND_PLAYER
+// if (GET_PLAYER_VIEW != vp_view_mgr_get_top_view(GET_VIEW_MGR)) {
+// if (!ad->is_focus_out) {
+// minicontrol_send_event(ad->win_minicon, MINICONTROL_EVENT_REQUEST_HIDE, NULL);
+// } else {
+// vp_util_app_resume();
+// }
+// vp_common_show_player_view(MP_PLAYER_NORMAL, true, false, true);
+// } else
+//#endif
+// {
+// if (!ad->is_focus_out) {
+// minicontrol_send_event(ad->win_minicon, MINICONTROL_EVENT_REQUEST_HIDE, NULL);
+// } else {
+// vp_util_app_resume();
+// }
+// }
+//}
+
+static void
+_minicontroller_action_cb(void *data, Evas_Object * obj, const char *emission, const char *source)
+{
+ PlayView *pPlayView = (PlayView *)data;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
+ if (emission) {
+ if (!g_strcmp0(emission, "close_btn_clicked")) {
+ vp_minicontroller_destroy(pPlayView);
+ } else if (!g_strcmp0(emission, "albumart_clicked")) {
+ // EVENT_TRACE("albumart");
+ // _vp_minicontroller_action_show_player_view(ad);
+ return;
+ }
+ }
+
+}
+
+static Evas_Object *
+_load_edj(Evas_Object * parent, const char *file, const char *group)
+{
+ Evas_Object *eo;
+ int r;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ char edje_path[1024] ={0};
+ char * path = app_get_resource_path();
+
+ if (path == NULL) {
+ VideoLogError("path is null");
+ return NULL;
+ }
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file);
+
+ r = elm_layout_file_set(eo, edje_path, group);
+ free(path);
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(parent, eo);
+ evas_object_show(eo);
+ }
+
+ return eo;
+}
+
+static void _quick_panel_cb(minicontrol_viewer_event_e event_type, bundle *event_arg)
+{
+// startfunc;
+// struct appdata *ad = vp_util_get_appdata();
+// if (event_type == MINICONTROL_EVENT_REQUEST_HIDE) {
+// DEBUG_TRACE("CLOSE");
+// if (!vp_util_is_other_player_playing()) {
+// int ret_set = 0;
+// ret_set = preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF);
+// if (ret_set) {
+// ERROR_TRACE("set preference failed");
+// }
+// }
+// vp_play_control_reset_ff_rew();
+// xD = 0;
+// yD = 0;
+// xDMove = 0;
+// yDMove = 0;
+// xU = 0;
+// yU = 0;
+// if (!ad->is_sdcard_removed) {
+// elm_exit();
+// }
+// ad->is_sdcard_removed = false;
+// }
+}
+
+static void
+_load_minicontroller(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ Evas_Object *win = NULL;
+ win = minicontrol_create_window("musicplayer-mini", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, _quick_panel_cb);
+
+ if (!win) {
+ VideoLogError("window is NULL");
+ return;
+ }
+
+ elm_win_alpha_set(win, EINA_TRUE);
+
+ pPlayView->win_minicon = win;
+
+ /*check initial rotation*/
+ int nAngle = elm_win_rotation_get((Evas_Object *)pPlayView->pWin);
+ video_play_rotate_t nRotate = VIDEO_PLAY_ROTATE_NONE;
+
+ switch (nAngle) {
+ case 0:
+ nRotate = VIDEO_PLAY_ROTATE_NONE;
+ break;
+ case 90:
+ nRotate = VIDEO_PLAY_ROTATE_90;
+ break;
+ case 180:
+ nRotate = VIDEO_PLAY_ROTATE_180;
+ break;
+ case 270:
+ nRotate = VIDEO_PLAY_ROTATE_270;
+ break;
+ }
+ bool landscape = _vp_minicontroller_landscape_is(pPlayView, nAngle);
+ VideoLogDebug("landscape ========== %d",landscape);
+ _vp_minicontroller_update_layout(pPlayView, landscape);
+
+ //evas_object_show(eo);
+
+ return;
+}
+
+//static void
+//_vp_minicontroller_register_reader(void *data)
+//{
+// struct appdata *ad = data;
+// MP_CHECK(ad);
+//}
+//
+
+void vp_minicontroller_update_winmini_size(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ int angle = elm_win_rotation_get((Evas_Object *)pPlayView->pWin);
+
+ VideoLogError("angle======================%d",angle);
+ int w = 0;
+ if ((elm_config_scale_get() - 1.7) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 318;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 564;
+ } else if ((elm_config_scale_get() - 1.8) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 267;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 444;
+ } else if ((elm_config_scale_get() - 2.4) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 300;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 533;
+ } else if ((elm_config_scale_get() - 2.6) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 277;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 492;
+ } else if ((elm_config_scale_get() - 2.8) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 257;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 457;
+ }
+
+ if (angle == 90 || angle == 270) {
+ w = MINI_CONTROLLER_WIDTH_LANDSCAPE;
+ } else {
+ w = MINI_CONTROLLER_WIDTH;
+ }
+
+ double scale = elm_config_scale_get();
+ VideoLogDebug("scale: %f and width: %d and height: %d", scale, w, MINI_CONTROLLER_HEIGHT);
+ evas_object_resize(pPlayView->win_minicon, w * scale, MINI_CONTROLLER_HEIGHT * scale);
+
+ return;
+}
+
+int vp_minicontroller_create(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+
+ //MP_CHECK_VAL(!ad->is_lcd_off, -1);
+
+ if (!(pPlayView->minicontroller_layout && pPlayView->win_minicon)) {
+
+ _load_minicontroller(pPlayView);
+ if (pPlayView->minicontroller_layout == NULL) {
+ VideoLogError("ERROR");
+ return -1;
+ }
+
+ //vp_language_mgr_register_object(ad->minicontroller_layout, OBJ_TYPE_EDJE_OBJECT, "elm.text.app_name", "IDS_COM_BODY_MUSIC");
+ //elm_object_part_text_set(ad->minicontroller_layout, "elm.text.app_name", GET_SYS_STR("IDS_COM_BODY_MUSIC"));
+ }
+
+ vp_minicontroller_update_winmini_size(pPlayView);
+
+ vp_minicontroller_show(pPlayView);
+ _vp_minicontroller_title_set(pPlayView);
+
+ return 0;
+}
+
+
+int
+vp_minicontroller_show(PlayView *pPlayView)
+{
+ VideoLogDebug("Showing controller!");
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return -1;
+ }
+// MP_CHECK_VAL(!ad->is_lcd_off, -1);
+// /* Not show minicontrol when current track not exsit */
+// MP_CHECK_VAL(ad->current_track_info, -1);
+//
+ pPlayView->b_minicontroller_show = TRUE;
+ vp_minicontroller_update(pPlayView, true);
+ evas_object_show(pPlayView->win_minicon);
+ return 0;
+
+}
+
+static void _vp_minicontroller_update_btn(PlayView *pPlayView)
+{
+ VideoLogError("Updating play/pause button!!!!!!!!!!!");
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return;
+ }
+ //MP_CHECK(!ad->is_lcd_off);
+
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+
+ VideoLogInfo("nState:%d", nState);
+ if (nState == VP_MM_PLAYER_STATE_PLAYING) {
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "set_pause", "c_source");
+ } else {
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "set_play", "c_source");
+ }
+
+}
+
+static Eina_Bool
+_vp_minicontroller_btn_update_timer(void *data)
+{
+ PlayView *pPlayView = (PlayView *)data;
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ }
+
+ _vp_minicontroller_update_btn(pPlayView);
+
+ pPlayView->minicon_button_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _vp_minicontroller_update_playpause_btn(PlayView *pPlayView)
+{
+ VP_EVAS_TIMER_DEL(pPlayView->minicon_button_timer);
+
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+ VideoLogInfo("nState:%d", nState);
+
+ if (nState == VP_MM_PLAYER_STATE_PLAYING || nState == VP_MM_PLAYER_STATE_PAUSED) {
+ _vp_minicontroller_update_btn(pPlayView);
+ } else {
+ pPlayView->minicon_button_timer = ecore_timer_add(1.0, _vp_minicontroller_btn_update_timer, pPlayView);
+ }
+}
+
+void
+vp_minicontroller_update_control(PlayView *pPlayView)
+{
+ VideoLogDebug("Updating controller!!!!");
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return;
+ }
+// MP_CHECK(!ad->is_lcd_off);
+
+ _vp_minicontroller_update_playpause_btn(pPlayView);
+}
+
+static void _vp_minicontroller_play_pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("play/pause button clicked");
+
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+ VideoLogInfo("nState:%d", nState);
+ if (nState == VP_MM_PLAYER_STATE_PLAYING) {
+ /*if playing state then on click it should pause and set button for play*/
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "set_play", "c_source");
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_PAUSE_BUTTON);
+ } else {
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "set_pause", "c_source");
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_PLAY_BUTTON);
+ }
+}
+
+static void _vp_minicontroller_ff_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("ff button pressed");
+ time(&press_time);
+// char *source = (char *)data;
+// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+// vp_play_control_ff(true, false, false);
+// } else {
+// vp_play_control_rew(true, false, false);
+// }
+}
+
+static void _vp_minicontroller_ff_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("ff button unpressed");
+ time(&release_time);
+
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if(!pPlayView->minicontroller_layout) {
+ VideoLogError("pPlayView->minicontroller_layout is NULL");
+ return;
+ }
+
+ //vp_play_control_ff(false, false, false);
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "ff_btn_unpressed", "c_source");
+}
+
+static void _vp_minicontroller_ff_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("ff button clicked");
+// if (_vp_minicontroller_is_long_press()) {
+// return;
+// }
+//
+// char *source = (char *)data;
+// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+// vp_play_control_ff(false, false, true);
+// } else {
+// vp_play_control_rew(false, false, true);
+// }
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_FF_BUTTON);
+}
+
+static void
+_vp_minicontroller_ff_btn_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+// startfunc;
+// vp_play_control_reset_ff_rew();
+}
+
+static void _vp_minicontroller_rew_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("rew button pressed");
+ time(&press_time);
+// char *source = (char *)data;
+// if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+// vp_play_control_ff(true, false, false);
+// } else {
+// vp_play_control_rew(true, false, false);
+// }
+}
+
+static void _vp_minicontroller_rew_btn_unpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("rew button unpressed");
+ time(&release_time);
+
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if(!pPlayView->minicontroller_layout) {
+ VideoLogError("pPlayView->minicontroller_layout is NULL");
+ return;
+ }
+
+ // vp_play_control_rew(false, false, false);
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "rew_btn_unpressed", "c_source");
+
+}
+
+static void _vp_minicontroller_rew_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ VideoLogDebug("rew button clicked");
+// if (_vp_minicontroller_is_long_press()) {
+// return;
+// }
+ PlayView *pPlayView = (PlayView *)data;
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_REW_BUTTON);
+}
+
+static void
+_vp_minicontroller_rew_btn_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+// startfunc;
+// vp_play_control_reset_ff_rew();
+}
+
+/*end of focused UI callbacks*/
+
+static void
+_vp_minicontroller_update_layout(PlayView *pPlayView, bool landscape)
+{
+ if(!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+
+ VP_EVAS_TIMER_DEL(pPlayView->minicon_button_timer);
+
+ //vp_evas_object_del(pPlayView->minicontroller_layout);
+
+ if (landscape) {
+ VideoLogDebug("angle: 90 or 270");
+ pPlayView->minicontroller_layout = _load_edj(pPlayView->win_minicon, MINICON_EDJ_NAME, "video-minicontroller-ld");
+ } else {
+ VideoLogDebug("angle: 0");
+ pPlayView->minicontroller_layout = _load_edj(pPlayView->win_minicon, MINICON_EDJ_NAME, "video-minicontroller");
+ }
+
+ if (!pPlayView->minicontroller_layout) {
+ return ;
+ }
+
+ elm_win_resize_object_add(pPlayView->win_minicon, pPlayView->minicontroller_layout);
+
+ /*add focused UI related*/
+ pPlayView->minicon_icon = elm_image_add(pPlayView->minicontroller_layout);
+ evas_object_size_hint_align_set(pPlayView->minicon_icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(pPlayView->minicon_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_image_fill_outside_set(pPlayView->minicon_icon, true);
+ elm_object_part_content_set(pPlayView->minicontroller_layout, "albumart_image", pPlayView->minicon_icon);
+ elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, pPlayView->minicon_icon, NULL);
+ elm_object_focus_allow_set(pPlayView->minicon_icon, EINA_TRUE);
+
+ /*-------> REW button ------->*/
+ Evas_Object *rew_focus_btn = elm_button_add(pPlayView->minicontroller_layout);
+ elm_object_style_set(rew_focus_btn, "focus");
+ elm_object_part_content_set(pPlayView->minicontroller_layout, "rew_btn_focus", rew_focus_btn);
+
+ elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, rew_focus_btn, NULL);
+ evas_object_smart_callback_add(rew_focus_btn, "clicked", _vp_minicontroller_rew_btn_clicked_cb, pPlayView);
+ evas_object_smart_callback_add(rew_focus_btn, "pressed", _vp_minicontroller_rew_btn_pressed_cb, pPlayView);
+ evas_object_smart_callback_add(rew_focus_btn, "unpressed", _vp_minicontroller_rew_btn_unpressed_cb, pPlayView);
+ evas_object_event_callback_add(rew_focus_btn, EVAS_CALLBACK_DEL, _vp_minicontroller_rew_btn_del_cb, NULL);
+
+ /*-------> play/pause button ------->*/
+ Evas_Object *play_pause_focus_btn = elm_button_add(pPlayView->minicontroller_layout);
+ elm_object_style_set(play_pause_focus_btn, "focus");
+ elm_object_part_content_set(pPlayView->minicontroller_layout, "play_pause_focus", play_pause_focus_btn);
+ elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, play_pause_focus_btn, NULL);
+ evas_object_smart_callback_add(play_pause_focus_btn, "clicked", _vp_minicontroller_play_pause_btn_clicked_cb, pPlayView);
+
+ /*------->FF button ------->*/
+ Evas_Object *ff_focus_btn = elm_button_add(pPlayView->minicontroller_layout);
+ elm_object_style_set(ff_focus_btn, "focus");
+ elm_object_part_content_set(pPlayView->minicontroller_layout, "ff_btn_focus", ff_focus_btn);
+
+ elm_object_focus_custom_chain_append(pPlayView->minicontroller_layout, ff_focus_btn, NULL);
+ evas_object_smart_callback_add(ff_focus_btn, "clicked", _vp_minicontroller_ff_btn_clicked_cb, pPlayView);
+ evas_object_smart_callback_add(ff_focus_btn, "pressed", _vp_minicontroller_ff_btn_pressed_cb, pPlayView);
+ evas_object_smart_callback_add(ff_focus_btn, "unpressed", _vp_minicontroller_ff_btn_unpressed_cb, pPlayView);
+ evas_object_event_callback_add(ff_focus_btn, EVAS_CALLBACK_DEL, _vp_minicontroller_ff_btn_del_cb, NULL);
+
+ /*-------> close button ------->*/
+ edje_object_signal_callback_add(_EDJ(pPlayView->minicontroller_layout), "*", "*", _minicontroller_action_cb, pPlayView);
+ _vp_minicontroller_update_btn(pPlayView);
+// _vp_minicontroller_register_reader(pPlayView);
+
+}
+
+static void
+_vp_minicontroller_title_set(PlayView *pPlayView)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is null");
+ return;
+ }
+ if (!pPlayView->minicontroller_layout) {
+ VideoLogError("pPlayView->minicontroller_layout is null");
+ return;
+ }
+ Evas_Object *label = elm_object_part_content_get(pPlayView->minicontroller_layout, "elm.text");
+
+ int r = 0;
+ int g = 0;
+ int b = 0;
+ int a = 255;
+
+ //pTitle = vp_play_util_get_title_from_path(pPlayView->szMediaURL);
+ char *markup_title = elm_entry_utf8_to_markup(vp_play_util_get_title_from_path(pPlayView->szMediaURL));
+ //char *markup_artist = elm_entry_utf8_to_markup(current_item->artist);
+ char *title_format = "<align=left><font_size=%d><color=#%02x%02x%02x%02x>%s</color></font_size></align>";
+ char *title = NULL;
+ if ((markup_title == NULL || strlen(markup_title) == 0) ){
+ // && (markup_artist == NULL || strlen(markup_artist) == 0)) {
+ title = NULL;
+ } else {
+ title = g_strdup_printf(title_format, 24, r, g, b, a, markup_title);
+ }
+
+ if (!label) {
+ label = elm_label_add(pPlayView->minicontroller_layout);
+ elm_object_style_set(label, "slide_roll");
+
+ // set the label for the title slide mode
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_wrap_width_set(label, 1);
+ // set the label text
+ elm_object_text_set(label, title);
+ evas_object_show(label);
+ elm_object_part_content_set(pPlayView->minicontroller_layout, "elm.text", label);
+ } else {
+ elm_object_text_set(label, title);
+ }
+
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_slide_go(label);
+
+ VP_FREE(title);
+ VP_FREE(markup_title);
+// SAFE_FREE(markup_artist);
+ evas_object_show(label);
+
+}
+
+void
+vp_minicontroller_update(PlayView *pPlayView, bool with_title)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return;
+ }
+// MP_CHECK(!ad->is_lcd_off);
+
+ //_vp_minicontroller_update_btn(pPlayView);
+ VideoLogDebug("Updating thumbnail!!!!!!!!!!!!!!");
+ char *thumbnail_path = NULL;
+ vp_media_contents_get_video_thumbnail_path(pPlayView->szMediaURL, &thumbnail_path);
+ VideoLogInfo("thumbnail = %s:%s", pPlayView->szMediaURL, thumbnail_path);
+ elm_image_file_set(pPlayView->minicon_icon, thumbnail_path, NULL);
+ evas_object_show(pPlayView->minicon_icon);
+
+ if (with_title) {
+ VideoLogDebug("Updating title!!!!!!!!!!!!!!");
+ _vp_minicontroller_title_set(pPlayView);
+ }
+
+ evas_object_show(pPlayView->minicontroller_layout);
+}
+/*
+int
+vp_minicontroller_hide(struct appdata *ad)
+{
+ DEBUG_TRACE("minicontroller view hide!!\n");
+ vp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_minicon, -1);
+
+ evas_object_hide(ad->win_minicon);
+ ad->b_minicontroller_show = FALSE;
+
+ vp_ecore_timer_del(ad->minicon_progress_timer);
+ vp_ecore_timer_del(ad->minicon_button_timer);
+
+ return 0;
+
+}
+*/
+int vp_minicontroller_destroy(PlayView *pPlayView)
+{
+ VideoLogDebug("minicontroller view destroy!!");
+
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return -1;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return -1;
+ }
+ /*stop playing before destroy*/
+ vp_mm_player_state_t nState = vp_play_normal_view_get_player_state(pPlayView);
+ if (nState == VP_MM_PLAYER_STATE_PLAYING) {
+ /*if playing state then on click it should pause and set button for play*/
+ elm_object_signal_emit(pPlayView->minicontroller_layout, "set_pause", "c_source");
+ vp_play_normal_view_on_controller_button_press(pPlayView->pNormalView, CONTROLLER_PAUSE_BUTTON);
+ }
+
+ if (pPlayView->win_lockmini) {
+ vp_lockscreenmini_destroy(pPlayView);
+ }
+
+ if (pPlayView->minicontroller_layout != NULL) {
+ evas_object_hide(pPlayView->minicontroller_layout);
+ evas_object_del(pPlayView->minicontroller_layout);
+ pPlayView->minicontroller_layout = NULL;
+ pPlayView->b_minicontroller_show = FALSE;
+ }
+ if (pPlayView->win_minicon)
+ {
+ evas_object_hide(pPlayView->win_minicon);
+ evas_object_del(pPlayView->win_minicon);
+ pPlayView->win_minicon = NULL;
+ }
+ //VP_EVAS_TIMER_DEL(pPlayView->minicon_progress_timer);
+ VP_EVAS_TIMER_DEL(pPlayView->minicon_button_timer);
+
+ pPlayView->minicon_visible = false;
+
+ return 0;
+}
+
+void vp_minicontroller_rotate(PlayView *pPlayView, video_play_rotate_t angle)
+{
+ if (!pPlayView) {
+ VideoLogError("pPlayView is NULL");
+ return;
+ }
+ if (!pPlayView->win_minicon) {
+ VideoLogError("pPlayView->win_minicon is NULL");
+ return;
+ }
+ if (!pPlayView->minicontroller_layout) {
+ VideoLogError("pPlayView->minicontroller_layout is NULL");
+ return;
+ }
+
+ int w = 0;
+ const char *signal = NULL;
+ bool landscape = _vp_minicontroller_landscape_is(pPlayView, angle);
+ if (landscape) {
+ VideoLogError("llllllllllllllllllllllllllllllllllll-====%d",landscape);
+ signal = "sig_set_landscape_mode";
+ w = MINI_CONTROLLER_WIDTH_LANDSCAPE;
+ landscape = true;
+ } else {
+ signal = "sig_set_portrait_mode";
+ w = MINI_CONTROLLER_WIDTH;
+ landscape = false;
+ }
+
+ elm_object_signal_emit(pPlayView->minicontroller_layout, signal, "c_source");
+
+ double scale = elm_config_scale_get();
+ evas_object_resize(pPlayView->win_minicon, w * scale, MINI_CONTROLLER_HEIGHT * scale);
+// _vp_minicontroller_update_layout(pPlayView, landscape);
+ vp_minicontroller_update(pPlayView, true);
+}
+
+//void
+//vp_minicontroller_visible_set(struct appdata *ad, bool visible)
+//{
+// DEBUG_TRACE("visible: %d", visible);
+// MP_CHECK(ad);
+// MP_CHECK(ad->win_minicon);
+// MP_CHECK(ad->minicontroller_layout);
+//
+// ad->minicon_visible = visible;
+// _vp_minicontroller_title_set(ad);
+// vp_minicontroller_update_control(ad);
+//
+// if (visible) {
+//#ifdef MINICONTROLLER_ENABLE_PROGRESS
+// _minicontroller_progress_timer_add(ad);
+//#endif
+// } else {
+// display_state_e lock_state;
+// int ret = device_display_get_state(&lock_state);
+// if (ret == DEVICE_ERROR_NONE) {
+// ERROR_TRACE("[SUCCESSFULL] return value %d", ret);
+// } else {
+// ERROR_TRACE("[ERROR] Return value is %d", ret);
+// }
+//
+// DEBUG_TRACE("lock_state: %d", lock_state);
+// if (lock_state == DISPLAY_STATE_SCREEN_OFF || lock_state == DISPLAY_STATE_SCREEN_DIM) {
+// ERROR_TRACE("Timer deleted");
+// vp_ecore_timer_del(ad->minicon_progress_timer);
+// }
+// }
+//}
+//
+//bool
+//vp_minicontroller_visible_get(struct appdata *ad)
+//{
+// MP_CHECK_FALSE(ad);
+// MP_CHECK_FALSE(ad->win_minicon);
+//
+// return ad->minicon_visible;
+//}
+//
+//void vp_minicontroller_on_lcd_event(struct appdata *ad, bool lcd_on)
+//{
+// DEBUG_TRACE("lcd_on [%d]", lcd_on);
+// MP_CHECK(ad);
+// MP_CHECK(ad->win_minicon);
+//
+// if (lcd_on && vp_util_is_now_active_player()) {
+// vp_minicontroller_show(ad);
+// }
+//
+// vp_minicontroller_visible_set(ad, lcd_on);
+//}
+//
+//void vp_minicontroller_update_progressbar(struct appdata *ad)
+//{
+//#ifdef MINICONTROLLER_ENABLE_PROGRESS
+// _vp_minicontroller_update_elapsed_time(ad, false);
+//#endif
+//}
profile = mobile-3.0
# C Sources
-USER_SRCS = playview/src/widget/vp-play-more.c playview/src/core/vp-avrcp.c playview/src/widget/vp-play-button.c src/common/mp-rotate-ctrl.c src/feature/mp-util-move.c src/common/mp-util-preference.c playview/src/feature/vp-subtitle-size.c src/view/mp-video-list-view-normal.c src/common/mp-video-info-ctrl.c src/viewMgr/videos-view-mgr.c playview/src/feature/vp-subtitle-color.c playview/src/core/vp-hollic.c src/view/mp-video-list-view-thumbnail.c src/view/mp-video-list-folder-share-via-view.c common/src/vp-chapter-db.c playview/src/core/vp-image-util.c playview/src/core/vp-multi-path.c playview/src/feature/vp-subtitle-edge.c src/view/mp-video-list-view-folder.c playview/src/widget/vp-play-volume-popup.c src/common/mp-util-media-service.c playview/src/core/vp-media-contents.c playview/src/feature/vp-play-speed.c src/widget/mp-video-list-sort-ctrl.c src/widget/mp-external-ug.c src/widget/mp-footer-toolbar.c playview/src/feature/vp-repeat.c playview/src/feature/vp-subtitle-bg-color.c common/src/vp-preview-db.c playview/src/core/vp-sensor.c src/widget/mp-video-view-popup-ctrl.c src/view/mp-video-list-view-main.c playview/src/core/vp-device.c src/feature/mp-launching-video-displayer.c playview/src/feature/vp-audio-track.c src/view/mp-video-list-view-item-of-folder.c playview/src/feature/vp-subtitle.c playview/src/feature/vp-share.c common/src/vp-thumb-db.c playview/src/feature/vp-detail.c src/view/mp-video-list-personal-view.c playview/src/feature/vp-capture.c playview/src/core/vp-media-key.c src/common/mp-util.c playview/src/widget/vp-play-loading-ani.c src/common/mp-drm-ctrl.c playview/src/widget/vp-play-progressbar.c src/video-player.c src/view/mp-video-list-share-via-view.c src/common/mp-util-config.c playview/src/view/vp-play-normal-view.c src/view/mp-video-list-remove-view.c src/widget/mp-util-widget-ctrl.c playview/src/widget/vp-play-subtitle.c common/src/vp-util.c src/view/mp-video-list-view-select.c playview/src/feature/vp-setting.c core/src/vp-drm.c video-downloader/src/VppDownload.c src/view/mp-video-list-personal-ctrl.c src/widget/mp-video-list-option-ctrl.c src/common/mp-video-sound-manager.c playview/src/common/vp-play-util.c playview/src/widget/vp-play-popup.c playview/src/common/vp-play-ug.c playview/src/vp-play-view.c common/src/vp-file-util.c playview/src/feature/vp-sound-path.c playview/src/common/vp-play-preference.c common/src/vp-pinch-zoom.c src/view/mp-video-list-remove-ctrl.c src/view/mp-library-view-mgr.c common/src/vp-media-content-util.c common/src/vp-db-util.c playview/src/widget/vp-play-bookmark.c playview/src/feature/vp-subtitle-select.c playview/src/widget/vp-play-volume.c src/view/mp-video-detail-view.c playview/src/feature/vp-zoom-guide.c src/view/mp-video-search-view.c playview/src/feature/vp-subtitle-font.c feature/src/vp-thumb-gen.c src/common/mp-video-util-db-controller.c playview/src/core/vp-mm-player.c feature/src/vp-feature-util.c playview/src/feature/vp-subtitle-track.c src/widget/mp-video-rename-ctrl.c playview/src/core/vp-device-language.c playview/src/core/vp-sound.c playview/src/feature/vp-subtitle-alignment.c src/widget/mp-video-list-view-as-ctrl.c playview/src/widget/vp-play-brightness-popup.c playview/src/feature/vp-sound-alive.c playview/src/common/vp-play-config.c src/view/mp-video-list-view-common.c playview/src/feature/vp-subtitle-sync.c src/widget/mp-video-nocontent-layout.c src/widget/mp-video-list-auto-play-ctrl.c
+USER_SRCS = playview/src/widget/vp-play-more.c playview/src/core/vp-avrcp.c playview/src/widget/vp-play-button.c src/common/mp-rotate-ctrl.c src/feature/mp-util-move.c src/common/mp-util-preference.c playview/src/feature/vp-subtitle-size.c src/view/mp-video-list-view-normal.c src/common/mp-video-info-ctrl.c src/viewMgr/videos-view-mgr.c playview/src/feature/vp-subtitle-color.c playview/src/core/vp-hollic.c src/view/mp-video-list-view-thumbnail.c src/view/mp-video-list-folder-share-via-view.c common/src/vp-chapter-db.c playview/src/core/vp-image-util.c playview/src/core/vp-multi-path.c playview/src/feature/vp-subtitle-edge.c src/view/mp-video-list-view-folder.c playview/src/widget/vp-play-volume-popup.c src/common/mp-util-media-service.c playview/src/core/vp-media-contents.c playview/src/feature/vp-play-speed.c src/widget/mp-video-list-sort-ctrl.c src/widget/mp-external-ug.c src/widget/mp-footer-toolbar.c playview/src/feature/vp-repeat.c playview/src/feature/vp-subtitle-bg-color.c common/src/vp-preview-db.c playview/src/core/vp-sensor.c src/widget/mp-video-view-popup-ctrl.c src/view/mp-video-list-view-main.c playview/src/core/vp-device.c src/feature/mp-launching-video-displayer.c playview/src/feature/vp-audio-track.c src/view/mp-video-list-view-item-of-folder.c playview/src/feature/vp-subtitle.c playview/src/feature/vp-share.c common/src/vp-thumb-db.c playview/src/feature/vp-detail.c src/view/mp-video-list-personal-view.c playview/src/feature/vp-capture.c playview/src/core/vp-media-key.c src/common/mp-util.c playview/src/widget/vp-play-loading-ani.c src/common/mp-drm-ctrl.c playview/src/widget/vp-play-progressbar.c src/video-player.c src/view/mp-video-list-share-via-view.c src/common/mp-util-config.c playview/src/view/vp-play-normal-view.c src/view/mp-video-list-remove-view.c src/widget/mp-util-widget-ctrl.c playview/src/widget/vp-play-subtitle.c common/src/vp-util.c src/view/mp-video-list-view-select.c playview/src/feature/vp-setting.c core/src/vp-drm.c video-downloader/src/VppDownload.c src/view/mp-video-list-personal-ctrl.c src/widget/mp-video-list-option-ctrl.c src/common/mp-video-sound-manager.c playview/src/common/vp-play-util.c playview/src/widget/vp-play-popup.c playview/src/common/vp-play-ug.c playview/src/vp-play-view.c common/src/vp-file-util.c playview/src/feature/vp-sound-path.c playview/src/common/vp-play-preference.c common/src/vp-pinch-zoom.c src/view/mp-video-list-remove-ctrl.c src/view/mp-library-view-mgr.c common/src/vp-media-content-util.c common/src/vp-db-util.c playview/src/widget/vp-play-bookmark.c playview/src/feature/vp-subtitle-select.c playview/src/widget/vp-play-volume.c src/view/mp-video-detail-view.c playview/src/feature/vp-zoom-guide.c src/view/mp-video-search-view.c playview/src/feature/vp-subtitle-font.c feature/src/vp-thumb-gen.c src/common/mp-video-util-db-controller.c playview/src/core/vp-mm-player.c feature/src/vp-feature-util.c playview/src/feature/vp-subtitle-track.c src/widget/mp-video-rename-ctrl.c playview/src/core/vp-device-language.c playview/src/core/vp-sound.c playview/src/feature/vp-subtitle-alignment.c src/widget/mp-video-list-view-as-ctrl.c playview/src/widget/vp-play-brightness-popup.c playview/src/feature/vp-sound-alive.c playview/src/common/vp-play-config.c src/view/mp-video-list-view-common.c playview/src/feature/vp-subtitle-sync.c src/widget/mp-video-nocontent-layout.c src/widget/mp-video-list-auto-play-ctrl.c playview/src/widget/vp-play-minicontroller.c playview/src/widget/vp-play-lockscreenmc.c
# EDC Sources
USER_EDCS =
# EDC Flags
USER_EXT_EDC_KEYS = EDC0
-USER_EXT_EDC0_EDCS = res/edje/vp-custom-winset-style.edc playview/res/edje/pv-brightness-popup.edc playview/res/edje/pv-normal-top-control.edc res/edje/vp-main-listview-internal.edc playview/res/edje/pv-speed-popup.edc res/edje/vp-remove-list-internal.edc res/edje/vp-ctxpopup-option.edc res/edje/vp-device-list-internal.edc res/edje/vp-search-view-internal.edc playview/res/edje/pv-chapter-main-new.edc res/edje/vp-thumbnail-view.edc playview/res/edje/pv-trim-control.edc playview/res/edje/pv-volume.edc playview/res/edje/pv-progressbar.edc res/edje/vp-images.edc playview/res/edje/pv-normal-control.edc playview/res/edje/pv-tag-buddy.edc playview/res/edje/pv-gesture.edc playview/res/edje/pv-volume-popup.edc playview/res/edje/pv-multi-main.edc playview/res/edje/pv-minicontroller.edc playview/res/edje/pv-zoom-guide.edc res/edje/landscape_thumbnail.edc playview/res/edje/pv-subtitle-color-popup.edc playview/res/edje/pv-popup.edc res/shared/res/video.edc res/edje/panel.edc playview/res/edje/pv-sensor-popup.edc playview/res/edje/pv-bookmark-item.edc res/edje/vp-main-layout.edc playview/res/edje/pv-subtitle.edc res/edje/vp-motion-popup.edc res/edje/popup_progressbar.edc playview/res/edje/pv-custom-winset.edc res/edje/vp-main-listview-preview.edc res/edje/vp-naviframe.edc playview/res/edje/pv-resource.edc playview/res/edje/pv-bookmark.edc playview/res/edje/pv-trim-item.edc playview/res/edje/pv-normal-function.edc res/edje/vp-speedbox-popup.edc playview/res/edje/pv-trim-top-control.edc playview/res/edje/pv-normal-main.edc playview/res/edje/pv-tag-preview.edc playview/res/edje/pv-trim-main.edc res/edje/vp-genlist-no-item.edc playview/res/edje/pv-colorselector.edc
+USER_EXT_EDC0_EDCS = res/edje/vp-custom-winset-style.edc playview/res/edje/pv-brightness-popup.edc playview/res/edje/pv-normal-top-control.edc res/edje/vp-main-listview-internal.edc playview/res/edje/pv-speed-popup.edc res/edje/vp-remove-list-internal.edc res/edje/vp-ctxpopup-option.edc res/edje/vp-device-list-internal.edc res/edje/vp-search-view-internal.edc playview/res/edje/pv-chapter-main-new.edc res/edje/vp-thumbnail-view.edc playview/res/edje/pv-trim-control.edc playview/res/edje/pv-volume.edc playview/res/edje/pv-progressbar.edc res/edje/vp-images.edc playview/res/edje/pv-normal-control.edc playview/res/edje/pv-tag-buddy.edc playview/res/edje/pv-gesture.edc playview/res/edje/pv-volume-popup.edc playview/res/edje/pv-multi-main.edc playview/res/edje/pv-minicontroller.edc playview/res/edje/pv-zoom-guide.edc res/edje/landscape_thumbnail.edc playview/res/edje/pv-subtitle-color-popup.edc playview/res/edje/pv-popup.edc res/shared/res/video.edc res/edje/panel.edc playview/res/edje/pv-sensor-popup.edc playview/res/edje/pv-bookmark-item.edc res/edje/vp-main-layout.edc playview/res/edje/pv-subtitle.edc res/edje/vp-motion-popup.edc res/edje/popup_progressbar.edc playview/res/edje/pv-custom-winset.edc res/edje/vp-main-listview-preview.edc res/edje/vp-naviframe.edc playview/res/edje/pv-resource.edc playview/res/edje/pv-bookmark.edc playview/res/edje/pv-trim-item.edc playview/res/edje/pv-normal-function.edc res/edje/vp-speedbox-popup.edc playview/res/edje/pv-trim-top-control.edc playview/res/edje/pv-normal-main.edc playview/res/edje/pv-tag-preview.edc playview/res/edje/pv-trim-main.edc res/edje/vp-genlist-no-item.edc playview/res/edje/pv-colorselector.edc playview/res/edje/pv-lockscreenmini.edc
USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images playview/res/edje/images res/images
USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS =
USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds res/edje
profile = mobile-3.0
# C Sources
-USER_SRCS = src/serviceParser/vp-service-parser.c src/vp-main.c ../playview/src/core/vp-media-key.c ../src/view/mp-library-view-mgr.c ../playview/src/feature/vp-subtitle-size.c ../playview/src/feature/vp-share.c ../common/src/vp-pinch-zoom.c ../src/view/mp-video-list-remove-ctrl.c ../playview/src/feature/vp-audio-track.c ../playview/src/widget/vp-play-brightness-popup.c ../src/widget/mp-video-view-popup-ctrl.c ../playview/src/core/vp-image-util.c ../src/widget/mp-external-ug.c ../src/view/mp-video-list-view-common.c ../playview/src/core/vp-multi-path.c ../src/feature/mp-launching-video-displayer.c ../src/view/mp-video-list-view-thumbnail.c ../playview/src/common/vp-play-config.c ../src/view/mp-video-list-personal-view.c ../src/view/mp-video-detail-view.c ../playview/src/feature/vp-sound-alive.c ../src/view/mp-video-list-view-folder.c ../playview/src/vp-play-view.c ../src/view/mp-video-list-view-item-of-folder.c ../playview/src/feature/vp-subtitle-sync.c ../playview/src/feature/vp-sound-path.c ../common/src/vp-media-content-util.c ../playview/src/common/vp-play-preference.c ../playview/src/widget/vp-play-volume-popup.c ../playview/src/core/vp-media-contents.c ../common/src/vp-db-util.c ../src/widget/mp-video-list-option-ctrl.c ../playview/src/feature/vp-repeat.c ../playview/src/core/vp-avrcp.c ../playview/src/feature/vp-subtitle-alignment.c ../src/common/mp-video-sound-manager.c ../playview/src/widget/vp-play-subtitle.c ../common/src/vp-util.c ../src/widget/mp-video-list-sort-ctrl.c ../src/view/mp-video-list-personal-ctrl.c ../common/src/vp-file-util.c ../playview/src/feature/vp-subtitle-bg-color.c ../src/common/mp-util-media-service.c ../playview/src/widget/vp-play-bookmark.c ../playview/src/feature/vp-subtitle-select.c ../src/widget/mp-util-widget-ctrl.c ../playview/src/feature/vp-subtitle-font.c ../common/src/vp-chapter-db.c ../src/view/mp-video-list-view-normal.c ../src/common/mp-util-config.c ../playview/src/common/vp-play-util.c ../playview/src/widget/vp-play-popup.c ../src/common/mp-rotate-ctrl.c ../src/common/mp-util-preference.c ../playview/src/feature/vp-detail.c ../playview/src/widget/vp-play-progressbar.c ../playview/src/feature/vp-subtitle-edge.c ../src/widget/mp-video-nocontent-layout.c ../src/view/mp-video-list-share-via-view.c ../src/viewMgr/videos-view-mgr.c ../src/widget/mp-footer-toolbar.c ../playview/src/core/vp-sound.c ../playview/src/common/vp-play-ug.c ../playview/src/core/vp-device-language.c ../playview/src/feature/vp-play-speed.c ../src/view/mp-video-list-folder-share-via-view.c ../playview/src/feature/vp-subtitle-track.c ../playview/src/feature/vp-subtitle-color.c ../playview/src/core/vp-hollic.c ../src/view/mp-video-list-view-select.c ../playview/src/core/vp-mm-player.c ../src/view/mp-video-list-remove-view.c ../playview/src/widget/vp-play-volume.c ../playview/src/widget/vp-play-loading-ani.c ../playview/src/view/vp-play-normal-view.c ../playview/src/core/vp-device.c ../src/view/mp-video-list-view-main.c ../playview/src/widget/vp-play-button.c ../playview/src/widget/vp-play-more.c ../src/widget/mp-video-rename-ctrl.c ../common/src/vp-preview-db.c ../src/widget/mp-video-list-view-as-ctrl.c ../src/widget/mp-video-list-auto-play-ctrl.c ../src/feature/mp-util-move.c ../src/view/mp-video-search-view.c ../playview/src/feature/vp-capture.c ../src/common/mp-drm-ctrl.c ../src/common/mp-video-info-ctrl.c ../playview/src/feature/vp-subtitle.c ../src/common/mp-video-util-db-controller.c ../common/src/vp-thumb-db.c ../src/common/mp-util.c ../playview/src/core/vp-sensor.c ../playview/src/feature/vp-zoom-guide.c ../playview/src/feature/vp-setting.c
+USER_SRCS = src/serviceParser/vp-service-parser.c src/vp-main.c ../playview/src/core/vp-media-key.c ../src/view/mp-library-view-mgr.c ../playview/src/feature/vp-subtitle-size.c ../playview/src/feature/vp-share.c ../common/src/vp-pinch-zoom.c ../src/view/mp-video-list-remove-ctrl.c ../playview/src/feature/vp-audio-track.c ../playview/src/widget/vp-play-brightness-popup.c ../src/widget/mp-video-view-popup-ctrl.c ../playview/src/core/vp-image-util.c ../src/widget/mp-external-ug.c ../src/view/mp-video-list-view-common.c ../playview/src/core/vp-multi-path.c ../src/feature/mp-launching-video-displayer.c ../src/view/mp-video-list-view-thumbnail.c ../playview/src/common/vp-play-config.c ../src/view/mp-video-list-personal-view.c ../src/view/mp-video-detail-view.c ../playview/src/feature/vp-sound-alive.c ../src/view/mp-video-list-view-folder.c ../playview/src/vp-play-view.c ../src/view/mp-video-list-view-item-of-folder.c ../playview/src/feature/vp-subtitle-sync.c ../playview/src/feature/vp-sound-path.c ../common/src/vp-media-content-util.c ../playview/src/common/vp-play-preference.c ../playview/src/widget/vp-play-volume-popup.c ../playview/src/core/vp-media-contents.c ../common/src/vp-db-util.c ../src/widget/mp-video-list-option-ctrl.c ../playview/src/feature/vp-repeat.c ../playview/src/core/vp-avrcp.c ../playview/src/feature/vp-subtitle-alignment.c ../src/common/mp-video-sound-manager.c ../playview/src/widget/vp-play-subtitle.c ../common/src/vp-util.c ../src/widget/mp-video-list-sort-ctrl.c ../src/view/mp-video-list-personal-ctrl.c ../common/src/vp-file-util.c ../playview/src/feature/vp-subtitle-bg-color.c ../src/common/mp-util-media-service.c ../playview/src/widget/vp-play-bookmark.c ../playview/src/feature/vp-subtitle-select.c ../src/widget/mp-util-widget-ctrl.c ../playview/src/feature/vp-subtitle-font.c ../common/src/vp-chapter-db.c ../src/view/mp-video-list-view-normal.c ../src/common/mp-util-config.c ../playview/src/common/vp-play-util.c ../playview/src/widget/vp-play-minicontroller.c ../playview/src/widget/vp-play-lockscreenmc.c ../playview/src/widget/vp-play-popup.c ../src/common/mp-rotate-ctrl.c ../src/common/mp-util-preference.c ../playview/src/feature/vp-detail.c ../playview/src/widget/vp-play-progressbar.c ../playview/src/feature/vp-subtitle-edge.c ../src/widget/mp-video-nocontent-layout.c ../src/view/mp-video-list-share-via-view.c ../src/viewMgr/videos-view-mgr.c ../src/widget/mp-footer-toolbar.c ../playview/src/core/vp-sound.c ../playview/src/common/vp-play-ug.c ../playview/src/core/vp-device-language.c ../playview/src/feature/vp-play-speed.c ../src/view/mp-video-list-folder-share-via-view.c ../playview/src/feature/vp-subtitle-track.c ../playview/src/feature/vp-subtitle-color.c ../playview/src/core/vp-hollic.c ../src/view/mp-video-list-view-select.c ../playview/src/core/vp-mm-player.c ../src/view/mp-video-list-remove-view.c ../playview/src/widget/vp-play-volume.c ../playview/src/widget/vp-play-loading-ani.c ../playview/src/view/vp-play-normal-view.c ../playview/src/core/vp-device.c ../src/view/mp-video-list-view-main.c ../playview/src/widget/vp-play-button.c ../playview/src/widget/vp-play-more.c ../src/widget/mp-video-rename-ctrl.c ../common/src/vp-preview-db.c ../src/widget/mp-video-list-view-as-ctrl.c ../src/widget/mp-video-list-auto-play-ctrl.c ../src/feature/mp-util-move.c ../src/view/mp-video-search-view.c ../playview/src/feature/vp-capture.c ../src/common/mp-drm-ctrl.c ../src/common/mp-video-info-ctrl.c ../playview/src/feature/vp-subtitle.c ../src/common/mp-video-util-db-controller.c ../common/src/vp-thumb-db.c ../src/common/mp-util.c ../playview/src/core/vp-sensor.c ../playview/src/feature/vp-zoom-guide.c ../playview/src/feature/vp-setting.c
# EDC Sources
USER_EDCS =
# EDC Flags
USER_EXT_EDC_KEYS = EDC0
-USER_EXT_EDC0_EDCS = res/edje/pv-trim-control.edc res/edje/pv-custom-winset.edc res/edje/custom/pv-custom-image.edc res/edje/pv-sensor-popup.edc res/edje/custom/pv-custom-define.edc res/edje/pv-bookmark-item.edc res/edje/pv-normal-control.edc res/edje/pv-normal-top-control.edc res/edje/pv-tag-buddy.edc res/edje/pv-volume.edc res/edje/pv-progressbar.edc res/edje/pv-macro.edc res/edje/pv-multi-main.edc res/edje/pv-trim-main.edc res/edje/pv-colorselector.edc res/edje/pv-minicontroller.edc res/edje/pv-brightness-popup.edc res/edje/pv-speed-popup.edc res/edje/pv-tag-preview.edc res/edje/pv-zoom-guide.edc res/edje/pv-normal-main.edc res/edje/pv-popup.edc res/edje/pv-gesture.edc res/edje/pv-trim-top-control.edc res/edje/pv-subtitle.edc res/edje/pv-subtitle-color-popup.edc res/edje/pv-volume-popup.edc res/edje/pv-image.edc res/edje/pv-resource.edc res/edje/pv-normal-function.edc res/edje/pv-chapter-main-new.edc res/edje/pv-trim-item.edc res/edje/pv-bookmark.edc
+USER_EXT_EDC0_EDCS = res/edje/pv-trim-control.edc res/edje/pv-custom-winset.edc res/edje/custom/pv-custom-image.edc res/edje/pv-sensor-popup.edc res/edje/custom/pv-custom-define.edc res/edje/pv-bookmark-item.edc res/edje/pv-normal-control.edc res/edje/pv-normal-top-control.edc res/edje/pv-tag-buddy.edc res/edje/pv-volume.edc res/edje/pv-progressbar.edc res/edje/pv-macro.edc res/edje/pv-multi-main.edc res/edje/pv-trim-main.edc res/edje/pv-colorselector.edc res/edje/pv-lockscreenmini.edc res/edje/pv-minicontroller.edc res/edje/pv-brightness-popup.edc res/edje/pv-speed-popup.edc res/edje/pv-tag-preview.edc res/edje/pv-zoom-guide.edc res/edje/pv-normal-main.edc res/edje/pv-popup.edc res/edje/pv-gesture.edc res/edje/pv-trim-top-control.edc res/edje/pv-subtitle.edc res/edje/pv-subtitle-color-popup.edc res/edje/pv-volume-popup.edc res/edje/pv-image.edc res/edje/pv-resource.edc res/edje/pv-normal-function.edc res/edje/pv-chapter-main-new.edc res/edje/pv-trim-item.edc res/edje/pv-bookmark.edc
USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images
USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = $(workspace_loc)/playview/res/edje/images
USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds