|
|
|
@ -1147,7 +1147,6 @@ static const Ecore_Getopt optdesc = { |
|
|
|
|
ECORE_GETOPT_STORE_TRUE('C', "compare", "Compare given files (images files or objects eet files)."), |
|
|
|
|
ECORE_GETOPT_STORE_TRUE(0, "show-only-diffs", "Show only differences during comparison."), |
|
|
|
|
ECORE_GETOPT_STORE_TRUE(0, "stabilize", "Stabilize after the given shot number in --shot."), |
|
|
|
|
ECORE_GETOPT_STORE_TRUE(0, "optimize", "Optimize the given recording into the given output."), |
|
|
|
|
ECORE_GETOPT_STORE_STR('o', "output", "Output."), |
|
|
|
|
ECORE_GETOPT_STORE_USHORT('s', "shot", "Select a specific shot (1 = 1st shot...)."), |
|
|
|
|
|
|
|
|
@ -1171,7 +1170,6 @@ main(int argc, char *argv[]) |
|
|
|
|
Eina_Bool write_file = EINA_FALSE; |
|
|
|
|
Eina_Bool want_quit, clean = EINA_FALSE, list_get = EINA_FALSE, compare_files = EINA_FALSE; |
|
|
|
|
Eina_Bool stabilize = EINA_FALSE, show_only_diffs = EINA_FALSE, gui_needed = EINA_TRUE; |
|
|
|
|
Eina_Bool optimize = EINA_FALSE; |
|
|
|
|
|
|
|
|
|
Ecore_Getopt_Value values[] = { |
|
|
|
|
ECORE_GETOPT_VALUE_USHORT(delay), |
|
|
|
@ -1180,7 +1178,6 @@ main(int argc, char *argv[]) |
|
|
|
|
ECORE_GETOPT_VALUE_BOOL(compare_files), |
|
|
|
|
ECORE_GETOPT_VALUE_BOOL(show_only_diffs), |
|
|
|
|
ECORE_GETOPT_VALUE_BOOL(stabilize), |
|
|
|
|
ECORE_GETOPT_VALUE_BOOL(optimize), |
|
|
|
|
ECORE_GETOPT_VALUE_STR(output), |
|
|
|
|
ECORE_GETOPT_VALUE_USHORT(shot), |
|
|
|
|
|
|
|
|
@ -1246,7 +1243,7 @@ main(int argc, char *argv[]) |
|
|
|
|
} |
|
|
|
|
_show_only_diffs = show_only_diffs; |
|
|
|
|
|
|
|
|
|
if (clean || delay || list_get || stabilize || optimize) |
|
|
|
|
if (clean || delay || list_get || stabilize) |
|
|
|
|
{ |
|
|
|
|
const char *src_file = NULL; |
|
|
|
|
src_file = argv[args]; |
|
|
|
@ -1356,56 +1353,6 @@ main(int argc, char *argv[]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (optimize) |
|
|
|
|
{ |
|
|
|
|
Eina_List *itr, *itr2; |
|
|
|
|
Exactness_Action_Type last_action_type = EXACTNESS_ACTION_STABILIZE; |
|
|
|
|
Eina_Bool no_remove = EINA_FALSE; |
|
|
|
|
Exactness_Action *act = calloc(1, sizeof(*act)); |
|
|
|
|
act->type = EXACTNESS_ACTION_STABILIZE; |
|
|
|
|
act->delay_ms = 200; |
|
|
|
|
unit->actions = eina_list_prepend(unit->actions, act); |
|
|
|
|
EINA_LIST_FOREACH_SAFE(unit->actions, itr, itr2, act) |
|
|
|
|
{ |
|
|
|
|
switch (act->type) |
|
|
|
|
{ |
|
|
|
|
case EXACTNESS_ACTION_MULTI_MOVE: |
|
|
|
|
{ |
|
|
|
|
Exactness_Action *next_act = eina_list_data_get(itr2); |
|
|
|
|
/* Don't remove the last MOVE before DOWN */ |
|
|
|
|
if (next_act && next_act->type == EXACTNESS_ACTION_MULTI_DOWN) break; |
|
|
|
|
/* Don't remove MOVE between DOWN and UP */ |
|
|
|
|
if (no_remove) break; |
|
|
|
|
unit->actions = eina_list_remove(unit->actions, act); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case EXACTNESS_ACTION_MULTI_DOWN: case EXACTNESS_ACTION_MULTI_UP: |
|
|
|
|
{ |
|
|
|
|
no_remove = (act->type == EXACTNESS_ACTION_MULTI_DOWN); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case EXACTNESS_ACTION_TAKE_SHOT: |
|
|
|
|
{ |
|
|
|
|
if (last_action_type != EXACTNESS_ACTION_STABILIZE) |
|
|
|
|
{ |
|
|
|
|
Exactness_Action *act2 = calloc(1, sizeof(*act2)); |
|
|
|
|
act2->type = EXACTNESS_ACTION_STABILIZE; |
|
|
|
|
unit->actions = eina_list_prepend_relative( |
|
|
|
|
unit->actions, act2, act); |
|
|
|
|
} |
|
|
|
|
act->delay_ms = 0; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
default: |
|
|
|
|
{ |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
last_action_type = act->type; |
|
|
|
|
} |
|
|
|
|
write_file = EINA_TRUE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (list_get) |
|
|
|
|
{ |
|
|
|
|
Exactness_Action *act; |
|
|
|
|