emotion: test proxy of videos with -R/--reflex option.
Emotion explores some different paths in Evas pipeline as it changes image pixels frequently and sometimes uses different colorspaces. Let's change if it's all working fine using a nice proxy effect that mirrors the playing video. emotion_test --reflex <video.avi> SVN revision: 63071
This commit is contained in:
parent
639bded43a
commit
11bda2bc49
|
@ -1176,5 +1176,492 @@ collections {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
group {
|
||||
name: "video_controller/reflex";
|
||||
parts {
|
||||
// need swallow parts:
|
||||
// "video_swallow"
|
||||
//
|
||||
// need txt parts:
|
||||
// "video_speed_txt"
|
||||
// "video_progress_txt"
|
||||
//
|
||||
// need dragables:
|
||||
// "video_progress" horizontal
|
||||
// "video_speed" vertical
|
||||
part {
|
||||
name: "video_swallow";
|
||||
mouse_events: 0;
|
||||
type: SWALLOW;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_left";
|
||||
relative: 1.0 0.0;
|
||||
offset: -8 23;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_right";
|
||||
relative: 0.0 1.0;
|
||||
offset: 7 -25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "swallow_center";
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
rel1 {
|
||||
to: "video_swallow";
|
||||
relative: 0.5 1.0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_swallow";
|
||||
relative: 0.5 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "swallow_mirror";
|
||||
type: PROXY;
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
source: "video_swallow";
|
||||
rel1 {
|
||||
to: "video_swallow";
|
||||
}
|
||||
rel2 {
|
||||
to: "video_swallow";
|
||||
}
|
||||
perspective {
|
||||
zplane: 0;
|
||||
focal: 1000;
|
||||
}
|
||||
color: 255 255 255 96;
|
||||
map {
|
||||
on: 1;
|
||||
smooth: 0;
|
||||
alpha: 1;
|
||||
rotation {
|
||||
center: "swallow_center";
|
||||
x: 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "video_frame_left";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0.0;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.0 1.0;
|
||||
offset: 32 -1;
|
||||
}
|
||||
image {
|
||||
border: 0 0 33 33;
|
||||
normal: "video_frame_left.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_frame_right";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 1.0 0.0;
|
||||
offset: -32 0;
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
offset: -1 -1;
|
||||
}
|
||||
image {
|
||||
border: 0 0 33 33;
|
||||
normal: "video_frame_right.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_frame_top";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_left";
|
||||
relative: 1.0 0.0;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_right";
|
||||
relative: 0.0 0.0;
|
||||
offset: -1 31;
|
||||
}
|
||||
image {
|
||||
normal: "video_frame_top.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_frame_bottom";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_left";
|
||||
relative: 1.0 1.0;
|
||||
offset: 0 -32;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_right";
|
||||
relative: 0.0 1.0;
|
||||
offset: -1 -1;
|
||||
}
|
||||
image {
|
||||
normal: "video_frame_bottom.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_speed_txt";
|
||||
type: TEXT;
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 0.0 0.0;
|
||||
offset: 0 8;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 1.0 1.0;
|
||||
offset: -1 -13;
|
||||
}
|
||||
color: 0 0 0 255;
|
||||
text {
|
||||
text: "Video Speed";
|
||||
font: "Sans";
|
||||
size: 6;
|
||||
align: 1.0 0.5;
|
||||
};
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_progress_confine";
|
||||
mouse_events: 0;
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 1 18;
|
||||
align: 0.5 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_left";
|
||||
relative: 1.0 1.0;
|
||||
offset: 0 -25;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_right";
|
||||
relative: 0.0 1.0;
|
||||
offset: -1 -25;
|
||||
}
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_progress";
|
||||
type: RECT;
|
||||
mouse_events: 1;
|
||||
dragable {
|
||||
x: 1 1 0;
|
||||
y: 0 0 0;
|
||||
confine: "video_progress_confine";
|
||||
}
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 34 18;
|
||||
rel1 {
|
||||
to: "video_progress_confine";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_progress_confine";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_progress_img";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 42 26;
|
||||
rel1 {
|
||||
to: "video_progress";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_progress";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
image {
|
||||
normal: "h_slider.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_speed_confine";
|
||||
mouse_events: 0;
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_left";
|
||||
relative: 1.0 0.0;
|
||||
offset: 0 24;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_left";
|
||||
relative: 1.0 1.0;
|
||||
offset: 48 -49;
|
||||
}
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_speed";
|
||||
mouse_events: 1;
|
||||
dragable {
|
||||
x: 0 0 0;
|
||||
y: -1 1 0;
|
||||
confine: "video_speed_confine";
|
||||
}
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 24 24;
|
||||
rel1 {
|
||||
to: "video_speed_confine";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_speed_confine";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
image {
|
||||
normal: "knob.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_play";
|
||||
mouse_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 24 24;
|
||||
rel1 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 0.0 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 0.0 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
image {
|
||||
normal: "knob.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_pause";
|
||||
mouse_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 24 24;
|
||||
rel1 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 0.5 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
image {
|
||||
normal: "knob.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_stop";
|
||||
mouse_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 24 24;
|
||||
rel1 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 1.0 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_bottom";
|
||||
relative: 1.0 0.5;
|
||||
offset: 0 0;
|
||||
}
|
||||
image {
|
||||
normal: "knob.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_mover";
|
||||
mouse_events: 1;
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_top";
|
||||
relative: 0.0 0.0;
|
||||
offset: 0 0;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_top";
|
||||
relative: 1.0 1.0;
|
||||
offset: -1 -1;
|
||||
}
|
||||
color: 255 20 20 20;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_resizer";
|
||||
mouse_events: 1;
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
to: "video_frame_right";
|
||||
relative: 0.0 1.0;
|
||||
offset: 0 -31;
|
||||
}
|
||||
rel2 {
|
||||
to: "video_frame_right";
|
||||
relative: 1.0 1.0;
|
||||
offset: -1 -1;
|
||||
}
|
||||
color: 20 20 255 20;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "video_progress_txt";
|
||||
type: TEXT;
|
||||
mouse_events: 0;
|
||||
effect: OUTLINE;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
align: 1.0 1.0;
|
||||
fixed: 1 1;
|
||||
rel1 {
|
||||
relative: 1.0 1.0;
|
||||
offset: -2 -2;
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
offset: -2 -2;
|
||||
}
|
||||
color: 255 255 255 255;
|
||||
color2: 0 0 0 255;
|
||||
text {
|
||||
text: "XX:XX:XX / XX:XX:XX";
|
||||
font: "Sans";
|
||||
size: 10;
|
||||
align: 1.0 1.0;
|
||||
min: 1 1;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
// emit signals:
|
||||
// "video_control" "play"
|
||||
// "video_control" "pause"
|
||||
// "video_control" "stop"
|
||||
// "drag" "video_progress"
|
||||
// "drag" "video_speed"
|
||||
//
|
||||
// get signals:
|
||||
// "video_state" "play"
|
||||
// "video_state" "pause"
|
||||
// "video_state" "stop"
|
||||
program {
|
||||
name: "video_play";
|
||||
signal: "mouse,down,1";
|
||||
source: "video_play";
|
||||
action: SIGNAL_EMIT "video_control" "play";
|
||||
}
|
||||
program {
|
||||
name: "video_pause";
|
||||
signal: "mouse,down,1";
|
||||
source: "video_pause";
|
||||
action: SIGNAL_EMIT "video_control" "pause";
|
||||
}
|
||||
program {
|
||||
name: "video_stop";
|
||||
signal: "mouse,down,1";
|
||||
source: "video_stop";
|
||||
action: SIGNAL_EMIT "video_control" "stop";
|
||||
}
|
||||
program {
|
||||
name: "video_move_start";
|
||||
signal: "mouse,down,*";
|
||||
source: "video_mover";
|
||||
action: SIGNAL_EMIT "frame_move" "start";
|
||||
}
|
||||
program {
|
||||
name: "video_move_stop";
|
||||
signal: "mouse,up,*";
|
||||
source: "video_mover";
|
||||
action: SIGNAL_EMIT "frame_move" "stop";
|
||||
}
|
||||
program {
|
||||
name: "video_resize_start";
|
||||
signal: "mouse,down,*";
|
||||
source: "video_resizer";
|
||||
action: SIGNAL_EMIT "frame_resize" "start";
|
||||
}
|
||||
program {
|
||||
name: "video_resize_stop";
|
||||
signal: "mouse,up,*";
|
||||
source: "video_resizer";
|
||||
action: SIGNAL_EMIT "frame_resize" "stop";
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ static const Ecore_Getopt options = {
|
|||
"emotion_test",
|
||||
"%prog [options] <filename>",
|
||||
"1.0.0",
|
||||
"(C) 2010 Enlightenment",
|
||||
"(C) 2011 Enlightenment",
|
||||
"BSD\nThis is a 3 clause bsd bla bla",
|
||||
"a simple test program for emotion.",
|
||||
1,
|
||||
|
@ -28,6 +28,7 @@ static const Ecore_Getopt options = {
|
|||
ECORE_GETOPT_STORE_STR('b', "backend", "backend to use"),
|
||||
ECORE_GETOPT_STORE_INT('v', "vis", "visualization type"),
|
||||
ECORE_GETOPT_COUNT('v', "verbose", "be more verbose"),
|
||||
ECORE_GETOPT_STORE_TRUE('R', "reflex", "show video reflex effect"),
|
||||
ECORE_GETOPT_VERSION('V', "version"),
|
||||
ECORE_GETOPT_COPYRIGHT('R', "copyright"),
|
||||
ECORE_GETOPT_LICENSE('L', "license"),
|
||||
|
@ -64,6 +65,7 @@ static int starth = 600;
|
|||
|
||||
static Eina_List *video_objs = NULL;
|
||||
static Emotion_Vis vis = EMOTION_VIS_NONE;
|
||||
static unsigned char reflex = 0;
|
||||
|
||||
static void
|
||||
main_resize(Ecore_Evas *ee)
|
||||
|
@ -582,7 +584,10 @@ init_video_object(const char *module_filename, const char *filename)
|
|||
|
||||
oe = edje_object_add(evas);
|
||||
evas_object_data_set(oe, "frame_data", fd);
|
||||
edje_object_file_set(oe, PACKAGE_DATA_DIR"/data/theme.edj", "video_controller");
|
||||
if (reflex)
|
||||
edje_object_file_set(oe, PACKAGE_DATA_DIR"/data/theme.edj", "video_controller/reflex");
|
||||
else
|
||||
edje_object_file_set(oe, PACKAGE_DATA_DIR"/data/theme.edj", "video_controller");
|
||||
edje_extern_object_min_size_set(o, w, h);
|
||||
edje_object_part_swallow(oe, "video_swallow", o);
|
||||
edje_object_size_min_calc(oe, &w, &h);
|
||||
|
@ -673,6 +678,7 @@ main(int argc, char **argv)
|
|||
ECORE_GETOPT_VALUE_STR(backend),
|
||||
ECORE_GETOPT_VALUE_INT(visual),
|
||||
ECORE_GETOPT_VALUE_INT(verbose),
|
||||
ECORE_GETOPT_VALUE_BOOL(reflex),
|
||||
ECORE_GETOPT_VALUE_NONE,
|
||||
ECORE_GETOPT_VALUE_NONE,
|
||||
ECORE_GETOPT_VALUE_NONE,
|
||||
|
|
Loading…
Reference in New Issue