X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedit.h;h=95dff778d00883fb3fb16d55da2c4a86fa35948f;hp=ffdd0fe48d4848c9633917a77a7a57f899bcfd03;hb=48a6854a1ca58aa291ffc6fe3a48807492dfbef7;hpb=f4cba337b328ed1842085076c3e2c8244e3a94bd diff --git a/cinelerra-5.1/cinelerra/edit.h b/cinelerra-5.1/cinelerra/edit.h index ffdd0fe4..95dff778 100644 --- a/cinelerra-5.1/cinelerra/edit.h +++ b/cinelerra-5.1/cinelerra/edit.h @@ -54,6 +54,7 @@ public: Indexable* get_source(); // Copy from different EDL virtual void copy_from(Edit *edit); + virtual void clone_from(Edit *edit); // Compare with edit in same EDL virtual int identical(Edit &edit); virtual Edit& operator=(Edit& edit); @@ -65,6 +66,8 @@ public: virtual void synchronize_params(Edit *edit); // Used by Edits::insert_edits to shift plugin keyframes virtual void shift_keyframes(int64_t position) {}; + virtual int is_plugin() { return 0; } + virtual int is_transition() { return 0; } // Get size of frame to draw on timeline double picon_w(); @@ -77,45 +80,22 @@ public: // Shift in time virtual void shift(int64_t difference); - int shift_start_in(int edit_mode, - int64_t newposition, - int64_t oldposition, - int edit_edits, - int edit_labels, - int edit_plugins, - int edit_autos, - Edits *trim_edits); - int shift_start_out(int edit_mode, - int64_t newposition, - int64_t oldposition, - int edit_edits, - int edit_labels, - int edit_plugins, - int edit_autos, - Edits *trim_edits); - int shift_end_in(int edit_mode, - int64_t newposition, - int64_t oldposition, - int edit_edits, - int edit_labels, - int edit_plugins, - int edit_autos, - Edits *trim_edits); - int shift_end_out(int edit_mode, - int64_t newposition, - int64_t oldposition, - int edit_edits, - int edit_labels, - int edit_plugins, - int edit_autos, - Edits *trim_edits); + + void trim(int64_t difference); + int shift_start(int edit_mode, int64_t newposition, int64_t oldposition, + int edit_labels, int edit_autos, int edit_plugins, Edits *trim_edits); + int shift_end(int edit_mode, int64_t newposition, int64_t oldposition, + int edit_labels, int edit_autos, int edit_plugins, Edits *trim_edits); + int follow_edits(int64_t start, int64_t end, int64_t cut_length, + int edits_moved, int rest_moved, int edit_labels, int edit_autos, + int edit_plugins, Edits *trim_edits); void insert_transition(char *title); void detach_transition(); // Determine if silence depending on existance of asset or plugin title virtual int silence(); - void mute(); void set_selected(int v); + void select_affected_edits(int v, int gang); // Media edit information // Units are native units for the track. @@ -129,13 +109,13 @@ public: int64_t length; // Channel or layer of source int channel; -// ID for resource pixmaps - int id; +// ID for resource pixmaps, plugins + int id, orig_id; // ID for selection groups int group_id; // User defined title for timeline char user_title[BCTEXTLEN]; - int is_plugin, is_selected; + int is_selected; // edge cannot be optimized int hard_left, hard_right; // title bar color @@ -145,7 +125,6 @@ public: Transition *transition; Edits *edits; - Track *track; // points to an object in edl->assets if set