From cc719507eafdd4b3184b0018694e37a48cc2a43f Mon Sep 17 00:00:00 2001 From: Brandon Lewis Date: Thu, 1 Jul 2010 18:50:30 +0200 Subject: [PATCH] move and rename TRANSITION_VTYPE into enums.h and rename --- ges/ges-enums.c | 376 +++++++++++++++++++++++++++++++ ges/ges-enums.h | 160 ++++++++++++- ges/ges-timeline-transition.c | 317 +------------------------- ges/ges-timeline-transition.h | 12 +- ges/ges-track-video-transition.c | 10 +- tests/check/ges/simplelayer.c | 10 +- tests/check/ges/transition.c | 22 +- tools/ges-launch.c | 2 +- 8 files changed, 567 insertions(+), 342 deletions(-) diff --git a/ges/ges-enums.c b/ges/ges-enums.c index c247714b9f..f811b1142e 100644 --- a/ges/ges-enums.c +++ b/ges/ges-enums.c @@ -45,3 +45,379 @@ ges_track_type_get_type (void) g_once (&once, (GThreadFunc) register_ges_track_type_select_result, &id); return id; } + +GEnumValue transition_types[] = { + { + 1, + "A bar moves from left to right", + "bar-wipe-lr"} + , + { + 2, + "A bar moves from top to bottom", + "bar-wipe-tb"} + , + { + 3, + "A box expands from the upper-left corner to the lower-right corner", + "box-wipe-tl"} + , + { + 4, + "A box expands from the upper-right corner to the lower-left corner", + "box-wipe-tr"} + , + { + 5, + "A box expands from the lower-right corner to the upper-left corner", + "box-wipe-br"} + , + { + 6, + "A box expands from the lower-left corner to the upper-right corner", + "box-wipe-bl"} + , + { + 7, + "A box shape expands from each of the four corners toward the center", + "four-box-wipe-ci"} + , + { + 8, + "A box shape expands from the center of each quadrant toward the corners of each quadrant", + "four-box-wipe-co"} + , + { + 21, + "A central, vertical line splits and expands toward the left and right edges", + "barndoor-v"} + , + { + 22, + "A central, horizontal line splits and expands toward the top and bottom edges", + "barndoor-h"} + , + { + 23, + "A box expands from the top edge's midpoint to the bottom corners", + "box-wipe-tc"} + , + { + 24, + "A box expands from the right edge's midpoint to the left corners", + "box-wipe-rc"} + , + { + 25, + "A box expands from the bottom edge's midpoint to the top corners", + "box-wipe-bc"} + , + { + 26, + "A box expands from the left edge's midpoint to the right corners", + "box-wipe-lc"} + , + { + 41, + "A diagonal line moves from the upper-left corner to the lower-right corner", + "diagonal-tl"} + , + { + 42, + "A diagonal line moves from the upper right corner to the lower-left corner", + "diagonal-tr"} + , + { + 43, + "Two wedge shapes slide in from the top and bottom edges toward the center", + "bowtie-v"} + , + { + 44, + "Two wedge shapes slide in from the left and right edges toward the center", + "bowtie-h"} + , + { + 45, + "A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners", + "barndoor-dbl"} + , + { + 46, + "A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners", + "barndoor-dtl"} + , + { + 47, + "Four wedge shapes split from the center and retract toward the four edges", + "misc-diagonal-dbd"} + , + { + 48, + "A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges", + "misc-diagonal-dd"} + , + { + 61, + "A wedge shape moves from top to bottom", + "vee-d"} + , + { + 62, + "A wedge shape moves from right to left", + "vee-l"} + , + { + 63, + "A wedge shape moves from bottom to top", + "vee-u"} + , + { + 64, + "A wedge shape moves from left to right", + "vee-r"} + , + { + 65, + "A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", + "barnvee-d"} + , + { + 66, + "A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", + "barnvee-l"} + , + { + 67, + "A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", + "barnvee-u"} + , + { + 68, + "A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", + "barnvee-r"} + , + { + 101, + "A rectangle expands from the center.", + "iris-rect"} + , + { + 201, + "A radial hand sweeps clockwise from the twelve o'clock position", + "clock-cw12"} + , + { + 202, + "A radial hand sweeps clockwise from the three o'clock position", + "clock-cw3"} + , + { + 203, + "A radial hand sweeps clockwise from the six o'clock position", + "clock-cw6"} + , + { + 204, + "A radial hand sweeps clockwise from the nine o'clock position", + "clock-cw9"} + , + { + 205, + "Two radial hands sweep clockwise from the twelve and six o'clock positions", + "pinwheel-tbv"} + , + { + 206, + "Two radial hands sweep clockwise from the nine and three o'clock positions", + "pinwheel-tbh"} + , + { + 207, + "Four radial hands sweep clockwise", + "pinwheel-fb"} + , + { + 211, + "A fan unfolds from the top edge, the fan axis at the center", + "fan-ct"} + , + { + 212, + "A fan unfolds from the right edge, the fan axis at the center", + "fan-cr"} + , + { + 213, + "Two fans, their axes at the center, unfold from the top and bottom", + "doublefan-fov"} + , + { + 214, + "Two fans, their axes at the center, unfold from the left and right", + "doublefan-foh"} + , + { + 221, + "A radial hand sweeps clockwise from the top edge's midpoint", + "singlesweep-cwt"} + , + { + 222, + "A radial hand sweeps clockwise from the right edge's midpoint", + "singlesweep-cwr"} + , + { + 223, + "A radial hand sweeps clockwise from the bottom edge's midpoint", + "singlesweep-cwb"} + , + { + 224, + "A radial hand sweeps clockwise from the left edge's midpoint", + "singlesweep-cwl"} + , + { + 225, + "Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints", + "doublesweep-pv"} + , + { + 226, + "Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints", + "doublesweep-pd"} + , + { + 227, + "Two radial hands attached at the top and bottom edges' midpoints sweep from right to left", + "doublesweep-ov"} + , + { + 228, + "Two radial hands attached at the left and right edges' midpoints sweep from top to bottom", + "doublesweep-oh"} + , + { + 231, + "A fan unfolds from the bottom, the fan axis at the top edge's midpoint", + "fan-t"} + , + { + 232, + "A fan unfolds from the left, the fan axis at the right edge's midpoint", + "fan-r"} + , + { + 233, + "A fan unfolds from the top, the fan axis at the bottom edge's midpoint", + "fan-b"} + , + { + 234, + "A fan unfolds from the right, the fan axis at the left edge's midpoint", + "fan-l"} + , + { + 235, + "Two fans, their axes at the top and bottom, unfold from the center", + "doublefan-fiv"} + , + { + 236, + "Two fans, their axes at the left and right, unfold from the center", + "doublefan-fih"} + , + { + 241, + "A radial hand sweeps clockwise from the upper-left corner", + "singlesweep-cwtl"} + , + { + 242, + "A radial hand sweeps counter-clockwise from the lower-left corner.", + "singlesweep-cwbl"} + , + { + 243, + "A radial hand sweeps clockwise from the lower-right corner", + "singlesweep-cwbr"} + , + { + 244, + "A radial hand sweeps counter-clockwise from the upper-right corner", + "singlesweep-cwtr"} + , + { + 245, + "Two radial hands attached at the upper-left and lower-right corners sweep down and up", + "doublesweep-pdtl"} + , + { + 246, + "Two radial hands attached at the lower-left and upper-right corners sweep down and up", + "doublesweep-pdbl"} + , + { + 251, + "Two radial hands attached at the upper-left and upper-right corners sweep down", + "saloondoor-t"} + , + { + 252, + "Two radial hands attached at the upper-left and lower-left corners sweep to the right", + "saloondoor-l"} + , + { + 253, + "Two radial hands attached at the lower-left and lower-right corners sweep up", + "saloondoor-b"} + , + { + 254, + "Two radial hands attached at the upper-right and lower-right corners sweep to the left", + "saloondoor-r"} + , + { + 261, + "Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left", + "windshield-r"} + , + { + 262, + "Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom", + "windshield-u"} + , + { + 263, + "Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top", + "windshield-v"} + , + { + 264, + "Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left", + "windshield-h"} + , + { + GES_VIDEO_TRANSITION_TYPE_CROSSFADE, + "Crossfade between two clips", + "crossfade"} + , + {0, NULL, NULL} +}; + +GType +ges_video_transition_type_get_type (void) +{ + static GType the_type = 0; + static gsize once = 0; + + if (g_once_init_enter (&once)) { + g_assert (!once); + + the_type = g_enum_register_static ("GESVideoTransitionType", + transition_types); + g_once_init_leave (&once, 1); + } + + return the_type; +} diff --git a/ges/ges-enums.h b/ges/ges-enums.h index c409009215..00a563d028 100644 --- a/ges/ges-enums.h +++ b/ges/ges-enums.h @@ -23,7 +23,10 @@ #include +G_BEGIN_DECLS + #define GES_TYPE_TRACK_TYPE (ges_track_type_get_type ()) +GType ges_track_type_get_type (void); /** * GESTrackType: @@ -49,9 +52,162 @@ typedef enum { GES_TRACK_TYPE_CUSTOM = 1 << 4, } GESTrackType; -G_BEGIN_DECLS +/** + * GESVideoTransitionType: + * @GES_VIDEO_TRANSITION_TYPE_BAR_WIPE_LR: A bar moves from left to right, + * @GES_VIDEO_TRANSITION_TYPE_BAR_WIPE_TB: A bar moves from top to bottom, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_TL: A box expands from the upper-left corner to the lower-right corner, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_TR: A box expands from the upper-right corner to the lower-left corner, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_BR: A box expands from the lower-right corner to the upper-left corner, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_BL: A box expands from the lower-left corner to the upper-right corner, + * @GES_VIDEO_TRANSITION_TYPE_FOUR_BOX_WIPE_CI: A box shape expands from each of the four corners toward the center, + * @GES_VIDEO_TRANSITION_TYPE_FOUR_BOX_WIPE_CO: A box shape expands from the center of each quadrant toward the corners of each quadrant, + * @GES_VIDEO_TRANSITION_TYPE_BARNDOOR_V: A central, vertical line splits and expands toward the left and right edges, + * @GES_VIDEO_TRANSITION_TYPE_BARNDOOR_H: A central, horizontal line splits and expands toward the top and bottom edges, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_TC: A box expands from the top edge's midpoint to the bottom corners, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_RC: A box expands from the right edge's midpoint to the left corners, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_BC: A box expands from the bottom edge's midpoint to the top corners, + * @GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_LC: A box expands from the left edge's midpoint to the right corners, + * @GES_VIDEO_TRANSITION_TYPE_DIAGONAL_TL: A diagonal line moves from the upper-left corner to the lower-right corner, + * @GES_VIDEO_TRANSITION_TYPE_DIAGONAL_TR: A diagonal line moves from the upper right corner to the lower-left corner, + * @GES_VIDEO_TRANSITION_TYPE_BOWTIE_V: Two wedge shapes slide in from the top and bottom edges toward the center, + * @GES_VIDEO_TRANSITION_TYPE_BOWTIE_H: Two wedge shapes slide in from the left and right edges toward the center, + * @GES_VIDEO_TRANSITION_TYPE_BARNDOOR_DBL: A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners, + * @GES_VIDEO_TRANSITION_TYPE_BARNDOOR_DTL: A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners, + * @GES_VIDEO_TRANSITION_TYPE_MISC_DIAGONAL_DBD: Four wedge shapes split from the center and retract toward the four edges, + * @GES_VIDEO_TRANSITION_TYPE_MISC_DIAGONAL_DD: A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges, + * @GES_VIDEO_TRANSITION_TYPE_VEE_D: A wedge shape moves from top to bottom, + * @GES_VIDEO_TRANSITION_TYPE_VEE_L: A wedge shape moves from right to left, + * @GES_VIDEO_TRANSITION_TYPE_VEE_U: A wedge shape moves from bottom to top, + * @GES_VIDEO_TRANSITION_TYPE_VEE_R: A wedge shape moves from left to right, + * @GES_VIDEO_TRANSITION_TYPE_BARNVEE_D: A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges, + * @GES_VIDEO_TRANSITION_TYPE_BARNVEE_L: A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges, + * @GES_VIDEO_TRANSITION_TYPE_BARNVEE_U: A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges, + * @GES_VIDEO_TRANSITION_TYPE_BARNVEE_R: A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges, + * @GES_VIDEO_TRANSITION_TYPE_IRIS_RECT: A rectangle expands from the center., + * @GES_VIDEO_TRANSITION_TYPE_CLOCK_CW12: A radial hand sweeps clockwise from the twelve o'clock position, + * @GES_VIDEO_TRANSITION_TYPE_CLOCK_CW3: A radial hand sweeps clockwise from the three o'clock position, + * @GES_VIDEO_TRANSITION_TYPE_CLOCK_CW6: A radial hand sweeps clockwise from the six o'clock position, + * @GES_VIDEO_TRANSITION_TYPE_CLOCK_CW9: A radial hand sweeps clockwise from the nine o'clock position, + * @GES_VIDEO_TRANSITION_TYPE_PINWHEEL_TBV: Two radial hands sweep clockwise from the twelve and six o'clock positions, + * @GES_VIDEO_TRANSITION_TYPE_PINWHEEL_TBH: Two radial hands sweep clockwise from the nine and three o'clock positions, + * @GES_VIDEO_TRANSITION_TYPE_PINWHEEL_FB: Four radial hands sweep clockwise, + * @GES_VIDEO_TRANSITION_TYPE_FAN_CT: A fan unfolds from the top edge, the fan axis at the center, + * @GES_VIDEO_TRANSITION_TYPE_FAN_CR: A fan unfolds from the right edge, the fan axis at the center, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FOV: Two fans, their axes at the center, unfold from the top and bottom, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FOH: Two fans, their axes at the center, unfold from the left and right, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWT: A radial hand sweeps clockwise from the top edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWR: A radial hand sweeps clockwise from the right edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWB: A radial hand sweeps clockwise from the bottom edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWL: A radial hand sweeps clockwise from the left edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PV: Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PD: Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_OV: Two radial hands attached at the top and bottom edges' midpoints sweep from right to left, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_OH: Two radial hands attached at the left and right edges' midpoints sweep from top to bottom, + * @GES_VIDEO_TRANSITION_TYPE_FAN_T: A fan unfolds from the bottom, the fan axis at the top edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_FAN_R: A fan unfolds from the left, the fan axis at the right edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_FAN_B: A fan unfolds from the top, the fan axis at the bottom edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_FAN_L: A fan unfolds from the right, the fan axis at the left edge's midpoint, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FIV: Two fans, their axes at the top and bottom, unfold from the center, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FIH: Two fans, their axes at the left and right, unfold from the center, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWTL: A radial hand sweeps clockwise from the upper-left corner, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWBL: A radial hand sweeps counter-clockwise from the lower-left corner., + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWBR: A radial hand sweeps clockwise from the lower-right corner, + * @GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWTR: A radial hand sweeps counter-clockwise from the upper-right corner, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PDTL: Two radial hands attached at the upper-left and lower-right corners sweep down and up, + * @GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PDBL: Two radial hands attached at the lower-left and upper-right corners sweep down and up, + * @GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_T: Two radial hands attached at the upper-left and upper-right corners sweep down, + * @GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_L: Two radial hands attached at the upper-left and lower-left corners sweep to the right, + * @GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_B: Two radial hands attached at the lower-left and lower-right corners sweep up, + * @GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_R: Two radial hands attached at the upper-right and lower-right corners sweep to the left, + * @GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_R: Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left, + * @GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_U: Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom, + * @GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_V: Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top, + * @GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_H: Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left, + * @GES_VIDEO_TRANSITION_TYPE_CROSSFADE: Crossfade + * + */ -GType ges_track_type_get_type (void); +typedef enum { + GES_VIDEO_TRANSITION_TYPE_BAR_WIPE_LR = 1, + GES_VIDEO_TRANSITION_TYPE_BAR_WIPE_TB = 2, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_TL = 3, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_TR = 4, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_BR = 5, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_BL = 6, + GES_VIDEO_TRANSITION_TYPE_FOUR_BOX_WIPE_CI = 7, + GES_VIDEO_TRANSITION_TYPE_FOUR_BOX_WIPE_CO = 8, + GES_VIDEO_TRANSITION_TYPE_BARNDOOR_V = 21, + GES_VIDEO_TRANSITION_TYPE_BARNDOOR_H = 22, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_TC = 23, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_RC = 24, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_BC = 25, + GES_VIDEO_TRANSITION_TYPE_BOX_WIPE_LC = 26, + GES_VIDEO_TRANSITION_TYPE_DIAGONAL_TL = 41, + GES_VIDEO_TRANSITION_TYPE_DIAGONAL_TR = 42, + GES_VIDEO_TRANSITION_TYPE_BOWTIE_V = 43, + GES_VIDEO_TRANSITION_TYPE_BOWTIE_H = 44, + GES_VIDEO_TRANSITION_TYPE_BARNDOOR_DBL = 45, + GES_VIDEO_TRANSITION_TYPE_BARNDOOR_DTL = 46, + GES_VIDEO_TRANSITION_TYPE_MISC_DIAGONAL_DBD = 47, + GES_VIDEO_TRANSITION_TYPE_MISC_DIAGONAL_DD = 48, + GES_VIDEO_TRANSITION_TYPE_VEE_D = 61, + GES_VIDEO_TRANSITION_TYPE_VEE_L = 62, + GES_VIDEO_TRANSITION_TYPE_VEE_U = 63, + GES_VIDEO_TRANSITION_TYPE_VEE_R = 64, + GES_VIDEO_TRANSITION_TYPE_BARNVEE_D = 65, + GES_VIDEO_TRANSITION_TYPE_BARNVEE_L = 66, + GES_VIDEO_TRANSITION_TYPE_BARNVEE_U = 67, + GES_VIDEO_TRANSITION_TYPE_BARNVEE_R = 68, + GES_VIDEO_TRANSITION_TYPE_IRIS_RECT = 101, + GES_VIDEO_TRANSITION_TYPE_CLOCK_CW12 = 201, + GES_VIDEO_TRANSITION_TYPE_CLOCK_CW3 = 202, + GES_VIDEO_TRANSITION_TYPE_CLOCK_CW6 = 203, + GES_VIDEO_TRANSITION_TYPE_CLOCK_CW9 = 204, + GES_VIDEO_TRANSITION_TYPE_PINWHEEL_TBV = 205, + GES_VIDEO_TRANSITION_TYPE_PINWHEEL_TBH = 206, + GES_VIDEO_TRANSITION_TYPE_PINWHEEL_FB = 207, + GES_VIDEO_TRANSITION_TYPE_FAN_CT = 211, + GES_VIDEO_TRANSITION_TYPE_FAN_CR = 212, + GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FOV = 213, + GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FOH = 214, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWT = 221, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWR = 222, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWB = 223, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWL = 224, + GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PV = 225, + GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PD = 226, + GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_OV = 227, + GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_OH = 228, + GES_VIDEO_TRANSITION_TYPE_FAN_T = 231, + GES_VIDEO_TRANSITION_TYPE_FAN_R = 232, + GES_VIDEO_TRANSITION_TYPE_FAN_B = 233, + GES_VIDEO_TRANSITION_TYPE_FAN_L = 234, + GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FIV = 235, + GES_VIDEO_TRANSITION_TYPE_DOUBLEFAN_FIH = 236, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWTL = 241, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWBL = 242, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWBR = 243, + GES_VIDEO_TRANSITION_TYPE_SINGLESWEEP_CWTR = 244, + GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PDTL = 245, + GES_VIDEO_TRANSITION_TYPE_DOUBLESWEEP_PDBL = 246, + GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_T = 251, + GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_L = 252, + GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_B = 253, + GES_VIDEO_TRANSITION_TYPE_SALOONDOOR_R = 254, + GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_R = 261, + GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_U = 262, + GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_V = 263, + GES_VIDEO_TRANSITION_TYPE_WINDSHIELD_H = 264, + GES_VIDEO_TRANSITION_TYPE_CROSSFADE = 512 +} GESVideoTransitionType; + +extern GEnumValue transition_types[]; + +#define GES_VIDEO_TRANSITION_TYPE_TYPE \ + (ges_video_transition_type_get_type()) + +GType ges_video_transition_type_get_type (void); G_END_DECLS diff --git a/ges/ges-timeline-transition.c b/ges/ges-timeline-transition.c index ec76dca3c7..c475a339f8 100644 --- a/ges/ges-timeline-transition.c +++ b/ges/ges-timeline-transition.c @@ -42,10 +42,6 @@ #include "ges-track-video-transition.h" #include "ges-track-audio-transition.h" -#define GES_TYPE_TIMELINE_TRANSITION_VTYPE_TYPE \ - (ges_type_timeline_transition_vtype_get_type()) - -static GType ges_type_timeline_transition_vtype_get_type (void); enum { @@ -138,12 +134,12 @@ ges_timeline_transition_class_init (GESTimelineTransitionClass * klass) /** * GESTimelineTransition:vtype * - * The SMPTE wipe to use, or 0 for crossfade. + * a #GESVideoTransitionType representing the wipe to use */ g_object_class_install_property (object_class, PROP_VTYPE, g_param_spec_enum ("vtype", "VType", "The SMPTE video wipe to use, or 0 for crossfade", - GES_TYPE_TIMELINE_TRANSITION_VTYPE_TYPE, VTYPE_CROSSFADE, + GES_VIDEO_TRANSITION_TYPE_TYPE, GES_VIDEO_TRANSITION_TYPE_CROSSFADE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); @@ -154,7 +150,7 @@ ges_timeline_transition_class_init (GESTimelineTransitionClass * klass) static void ges_timeline_transition_init (GESTimelineTransition * self) { - self->vtype = VTYPE_CROSSFADE; + self->vtype = GES_VIDEO_TRANSITION_TYPE_CROSSFADE; } static GESTrackObject * @@ -183,311 +179,6 @@ ges_tl_transition_create_track_object (GESTimelineObject * obj, return res; } -static GEnumValue transition_types[] = { - { - 1, - "A bar moves from left to right", - "bar-wipe-lr"}, - { - 2, - "A bar moves from top to bottom", - "bar-wipe-tb"}, - { - 3, - "A box expands from the upper-left corner to the lower-right corner", - "box-wipe-tl"}, - { - 4, - "A box expands from the upper-right corner to the lower-left corner", - "box-wipe-tr"}, - { - 5, - "A box expands from the lower-right corner to the upper-left corner", - "box-wipe-br"}, - { - 6, - "A box expands from the lower-left corner to the upper-right corner", - "box-wipe-bl"}, - { - 7, - "A box shape expands from each of the four corners toward the center", - "four-box-wipe-ci"}, - { - 8, - "A box shape expands from the center of each quadrant toward the corners of each quadrant", - "four-box-wipe-co"}, - { - 21, - "A central, vertical line splits and expands toward the left and right edges", - "barndoor-v"}, - { - 22, - "A central, horizontal line splits and expands toward the top and bottom edges", - "barndoor-h"}, - { - 23, - "A box expands from the top edge's midpoint to the bottom corners", - "box-wipe-tc"}, - { - 24, - "A box expands from the right edge's midpoint to the left corners", - "box-wipe-rc"}, - { - 25, - "A box expands from the bottom edge's midpoint to the top corners", - "box-wipe-bc"}, - { - 26, - "A box expands from the left edge's midpoint to the right corners", - "box-wipe-lc"}, - { - 41, - "A diagonal line moves from the upper-left corner to the lower-right corner", - "diagonal-tl"}, - { - 42, - "A diagonal line moves from the upper right corner to the lower-left corner", - "diagonal-tr"}, - { - 43, - "Two wedge shapes slide in from the top and bottom edges toward the center", - "bowtie-v"}, - { - 44, - "Two wedge shapes slide in from the left and right edges toward the center", - "bowtie-h"}, - { - 45, - "A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners", - "barndoor-dbl"}, - { - 46, - "A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners", - "barndoor-dtl"}, - { - 47, - "Four wedge shapes split from the center and retract toward the four edges", - "misc-diagonal-dbd"}, - { - 48, - "A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges", - "misc-diagonal-dd"}, - { - 61, - "A wedge shape moves from top to bottom", - "vee-d"}, - { - 62, - "A wedge shape moves from right to left", - "vee-l"}, - { - 63, - "A wedge shape moves from bottom to top", - "vee-u"}, - { - 64, - "A wedge shape moves from left to right", - "vee-r"}, - { - 65, - "A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", - "barnvee-d"}, - { - 66, - "A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", - "barnvee-l"}, - { - 67, - "A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", - "barnvee-u"}, - { - 68, - "A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", - "barnvee-r"}, - { - 101, - "A rectangle expands from the center.", - "iris-rect"}, - { - 201, - "A radial hand sweeps clockwise from the twelve o'clock position", - "clock-cw12"}, - { - 202, - "A radial hand sweeps clockwise from the three o'clock position", - "clock-cw3"}, - { - 203, - "A radial hand sweeps clockwise from the six o'clock position", - "clock-cw6"}, - { - 204, - "A radial hand sweeps clockwise from the nine o'clock position", - "clock-cw9"}, - { - 205, - "Two radial hands sweep clockwise from the twelve and six o'clock positions", - "pinwheel-tbv"}, - { - 206, - "Two radial hands sweep clockwise from the nine and three o'clock positions", - "pinwheel-tbh"}, - { - 207, - "Four radial hands sweep clockwise", - "pinwheel-fb"}, - { - 211, - "A fan unfolds from the top edge, the fan axis at the center", - "fan-ct"}, - { - 212, - "A fan unfolds from the right edge, the fan axis at the center", - "fan-cr"}, - { - 213, - "Two fans, their axes at the center, unfold from the top and bottom", - "doublefan-fov"}, - { - 214, - "Two fans, their axes at the center, unfold from the left and right", - "doublefan-foh"}, - { - 221, - "A radial hand sweeps clockwise from the top edge's midpoint", - "singlesweep-cwt"}, - { - 222, - "A radial hand sweeps clockwise from the right edge's midpoint", - "singlesweep-cwr"}, - { - 223, - "A radial hand sweeps clockwise from the bottom edge's midpoint", - "singlesweep-cwb"}, - { - 224, - "A radial hand sweeps clockwise from the left edge's midpoint", - "singlesweep-cwl"}, - { - 225, - "Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints", - "doublesweep-pv"}, - { - 226, - "Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints", - "doublesweep-pd"}, - { - 227, - "Two radial hands attached at the top and bottom edges' midpoints sweep from right to left", - "doublesweep-ov"}, - { - 228, - "Two radial hands attached at the left and right edges' midpoints sweep from top to bottom", - "doublesweep-oh"}, - { - 231, - "A fan unfolds from the bottom, the fan axis at the top edge's midpoint", - "fan-t"}, - { - 232, - "A fan unfolds from the left, the fan axis at the right edge's midpoint", - "fan-r"}, - { - 233, - "A fan unfolds from the top, the fan axis at the bottom edge's midpoint", - "fan-b"}, - { - 234, - "A fan unfolds from the right, the fan axis at the left edge's midpoint", - "fan-l"}, - { - 235, - "Two fans, their axes at the top and bottom, unfold from the center", - "doublefan-fiv"}, - { - 236, - "Two fans, their axes at the left and right, unfold from the center", - "doublefan-fih"}, - { - 241, - "A radial hand sweeps clockwise from the upper-left corner", - "singlesweep-cwtl"}, - { - 242, - "A radial hand sweeps counter-clockwise from the lower-left corner.", - "singlesweep-cwbl"}, - { - 243, - "A radial hand sweeps clockwise from the lower-right corner", - "singlesweep-cwbr"}, - { - 244, - "A radial hand sweeps counter-clockwise from the upper-right corner", - "singlesweep-cwtr"}, - { - 245, - "Two radial hands attached at the upper-left and lower-right corners sweep down and up", - "doublesweep-pdtl"}, - { - 246, - "Two radial hands attached at the lower-left and upper-right corners sweep down and up", - "doublesweep-pdbl"}, - { - 251, - "Two radial hands attached at the upper-left and upper-right corners sweep down", - "saloondoor-t"}, - { - 252, - "Two radial hands attached at the upper-left and lower-left corners sweep to the right", - "saloondoor-l"}, - { - 253, - "Two radial hands attached at the lower-left and lower-right corners sweep up", - "saloondoor-b"}, - { - 254, - "Two radial hands attached at the upper-right and lower-right corners sweep to the left", - "saloondoor-r"}, - { - 261, - "Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left", - "windshield-r"}, - { - 262, - "Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom", - "windshield-u"}, - { - 263, - "Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top", - "windshield-v"}, - { - 264, - "Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left", - "windshield-h"}, - { - VTYPE_CROSSFADE, - "Crossfade between two clips", - "crossfade"}, - {0, NULL, NULL} -}; - -static GType -ges_type_timeline_transition_vtype_get_type (void) -{ - static GType the_type = 0; - static gsize once = 0; - - if (g_once_init_enter (&once)) { - g_assert (!once); - - the_type = g_enum_register_static ("GESTimelineTransitionVType", - transition_types); - g_once_init_leave (&once, 1); - } - - return the_type; -} - /** * ges_timeline_transition_new: * @vtype: the type of transition to create @@ -495,7 +186,7 @@ ges_type_timeline_transition_vtype_get_type (void) */ GESTimelineTransition * -ges_timeline_transition_new (gint vtype) +ges_timeline_transition_new (GESVideoTransitionType vtype) { GESTimelineTransition *ret; diff --git a/ges/ges-timeline-transition.h b/ges/ges-timeline-transition.h index 4331d8463a..8027674e41 100644 --- a/ges/ges-timeline-transition.h +++ b/ges/ges-timeline-transition.h @@ -45,13 +45,14 @@ G_BEGIN_DECLS /** * GESTimelineTransition: - * @vtype: a #GEnumValue indicating the type of video transition to apply. + * @vtype: a #GESVideoTransitionType indicating the type of video transition + * to apply. * */ struct _GESTimelineTransition { GESTimelineObject parent; /*< public >*/ - gint vtype; + GESVideoTransitionType vtype; }; /** @@ -67,14 +68,9 @@ struct _GESTimelineTransitionClass { GType ges_timeline_transition_get_type (void); -GESTimelineTransition *ges_timeline_transition_new (gint vtype); +GESTimelineTransition *ges_timeline_transition_new (GESVideoTransitionType vtype); GESTimelineTransition *ges_timeline_transition_new_for_nick (char *nick); G_END_DECLS -enum -{ - VTYPE_CROSSFADE = 512, -}; - #endif /* _GES_TIMELINE_TRANSITION */ diff --git a/ges/ges-track-video-transition.c b/ges/ges-track-video-transition.c index a72d5e9f8d..29fb83c588 100644 --- a/ges/ges-track-video-transition.c +++ b/ges/ges-track-video-transition.c @@ -180,7 +180,7 @@ ges_track_video_transition_create_element (GESTrackTransition * object) g_object_set (G_OBJECT (mixer), "background", 1, NULL); gst_bin_add (GST_BIN (topbin), mixer); - if (self->type != VTYPE_CROSSFADE) { + if (self->type != GES_VIDEO_TRANSITION_TYPE_CROSSFADE) { self->sinka = (GstPad *) link_element_to_mixer_with_smpte (GST_BIN (topbin), iconva, mixer, self->type, NULL); @@ -321,14 +321,16 @@ ges_track_video_transition_duration_changed (GESTrackTransition * object, void ges_track_video_transition_set_type (GESTrackVideoTransition * self, gint type) { - if (((type == VTYPE_CROSSFADE) && (self->type != VTYPE_CROSSFADE)) || - ((type != VTYPE_CROSSFADE) && (self->type = VTYPE_CROSSFADE))) { + if (((type == GES_VIDEO_TRANSITION_TYPE_CROSSFADE) + && (self->type != GES_VIDEO_TRANSITION_TYPE_CROSSFADE)) + || ((type != GES_VIDEO_TRANSITION_TYPE_CROSSFADE) + && (self->type = GES_VIDEO_TRANSITION_TYPE_CROSSFADE))) { GST_WARNING ("Changing between 'crossfade' and other types is not supported\n"); } self->type = type; - if (self->smpte && (type != VTYPE_CROSSFADE)) + if (self->smpte && (type != GES_VIDEO_TRANSITION_TYPE_CROSSFADE)) g_object_set (self->smpte, "type", (gint) type, NULL); } diff --git a/tests/check/ges/simplelayer.c b/tests/check/ges/simplelayer.c index 90dc5294fb..e50eef0fcb 100644 --- a/tests/check/ges/simplelayer.c +++ b/tests/check/ges/simplelayer.c @@ -224,23 +224,23 @@ GST_START_TEST (test_gsl_with_transitions) #define HALF_SECOND ((guint64) (0.5 * GST_SECOND)) #define SECOND(a) ((guint64) (a * GST_SECOND)) - tr1 = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr1 = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); g_object_set (tr1, "duration", HALF_SECOND, "start", (guint64) 42, NULL); fail_unless_equals_uint64 (GES_TIMELINE_OBJECT_DURATION (tr1), HALF_SECOND); - tr2 = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr2 = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); g_object_set (tr2, "duration", HALF_SECOND, "start", (guint64) 42, NULL); fail_unless_equals_uint64 (GES_TIMELINE_OBJECT_DURATION (tr2), HALF_SECOND); - tr3 = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr3 = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); g_object_set (tr3, "duration", HALF_SECOND, "start", (guint64) 42, NULL); fail_unless_equals_uint64 (GES_TIMELINE_OBJECT_DURATION (tr3), HALF_SECOND); - tr4 = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr4 = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); g_object_set (tr4, "duration", HALF_SECOND, "start", (guint64) 42, NULL); fail_unless_equals_uint64 (GES_TIMELINE_OBJECT_DURATION (tr4), HALF_SECOND); - tr5 = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr5 = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); g_object_set (tr5, "duration", HALF_SECOND, "start", (guint64) 42, NULL); fail_unless_equals_uint64 (GES_TIMELINE_OBJECT_DURATION (tr5), HALF_SECOND); diff --git a/tests/check/ges/transition.c b/tests/check/ges/transition.c index 18c107d627..23c16ade6d 100644 --- a/tests/check/ges/transition.c +++ b/tests/check/ges/transition.c @@ -38,9 +38,9 @@ GST_START_TEST (test_transition_basic) track = ges_track_video_raw_new (); fail_unless (track != 0); - tr1 = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr1 = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); fail_unless (tr1 != 0); - fail_unless (tr1->vtype == VTYPE_CROSSFADE); + fail_unless (tr1->vtype == GES_VIDEO_TRANSITION_TYPE_CROSSFADE); tr2 = ges_timeline_transition_new_for_nick ((gchar *) "bar-wipe-lr"); fail_unless (tr2 != 0); @@ -87,7 +87,9 @@ GST_START_TEST (test_transition_properties) ges_init (); - object = GES_TIMELINE_OBJECT (ges_timeline_transition_new (VTYPE_CROSSFADE)); + object = + GES_TIMELINE_OBJECT (ges_timeline_transition_new + (GES_VIDEO_TRANSITION_TYPE_CROSSFADE)); track = ges_track_video_raw_new (); fail_unless (track != NULL); @@ -126,20 +128,22 @@ GST_START_TEST (test_transition_properties) gnl_object_check (trackobject->gnlobject, 420, 510, 120, 510, 0, TRUE); /* test changing vtype */ - g_object_set (object, "vtype", VTYPE_CROSSFADE, NULL); - assert_equals_int (GES_TIMELINE_TRANSITION (object)->vtype, VTYPE_CROSSFADE); + g_object_set (object, "vtype", GES_VIDEO_TRANSITION_TYPE_CROSSFADE, NULL); + assert_equals_int (GES_TIMELINE_TRANSITION (object)->vtype, + GES_VIDEO_TRANSITION_TYPE_CROSSFADE); assert_equals_int (GES_TRACK_VIDEO_TRANSITION (trackobject)->type, - VTYPE_CROSSFADE); + GES_VIDEO_TRANSITION_TYPE_CROSSFADE); g_object_set (object, "vtype", 1, NULL); assert_equals_int (GES_TIMELINE_TRANSITION (object)->vtype, 1); assert_equals_int (GES_TRACK_VIDEO_TRANSITION (trackobject)->type, 1); g_object_set (object, "vtype", 8, NULL); assert_equals_int (GES_TIMELINE_TRANSITION (object)->vtype, 8); assert_equals_int (GES_TRACK_VIDEO_TRANSITION (trackobject)->type, 8); - g_object_set (object, "vtype", VTYPE_CROSSFADE, NULL); - assert_equals_int (GES_TIMELINE_TRANSITION (object)->vtype, VTYPE_CROSSFADE); + g_object_set (object, "vtype", GES_VIDEO_TRANSITION_TYPE_CROSSFADE, NULL); + assert_equals_int (GES_TIMELINE_TRANSITION (object)->vtype, + GES_VIDEO_TRANSITION_TYPE_CROSSFADE); assert_equals_int (GES_TRACK_VIDEO_TRANSITION (trackobject)->type, - VTYPE_CROSSFADE); + GES_VIDEO_TRANSITION_TYPE_CROSSFADE); ges_timeline_object_release_track_object (object, trackobject); diff --git a/tools/ges-launch.c b/tools/ges-launch.c index 75b7c61b12..c6125dd789 100644 --- a/tools/ges-launch.c +++ b/tools/ges-launch.c @@ -295,7 +295,7 @@ print_transition_list (void) GParamSpec *pspec; GEnumValue *v; - tr = ges_timeline_transition_new (VTYPE_CROSSFADE); + tr = ges_timeline_transition_new (GES_VIDEO_TRANSITION_TYPE_CROSSFADE); klass = GES_TIMELINE_TRANSITION_GET_CLASS (tr); pspec = g_object_class_find_property (G_OBJECT_CLASS (klass), "vtype"); -- 2.34.1