X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedl.h;h=5d08285bd5ddd2abf726c73c68618a55c009b6de;hp=b1c4fd3f405257dd30480a43ec0877331896fe87;hb=b2d226c1f41e84bbb3af93ebc0aa89f98ec0fd52;hpb=da1e39d85e138b0d552e932d875c05e8dc743244 diff --git a/cinelerra-5.1/cinelerra/edl.h b/cinelerra-5.1/cinelerra/edl.h index b1c4fd3f..5d08285b 100644 --- a/cinelerra-5.1/cinelerra/edl.h +++ b/cinelerra-5.1/cinelerra/edl.h @@ -25,6 +25,7 @@ #include #include +#include "arraylist.h" #include "asset.inc" #include "assets.inc" #include "autoconf.inc" @@ -47,7 +48,7 @@ #include "pluginserver.h" #include "preferences.inc" #include "recordlabel.inc" -#include "sharedlocation.inc" +#include "sharedlocation.h" #include "theme.inc" #include "tracks.inc" #include "vedit.inc" @@ -196,9 +197,11 @@ public: int copy_assets(int copy_flags, double start, double end, FileXML *file, const char *output_path); void copy_indexables(EDL *edl); - EDL *new_nested(EDL *edl, const char *path); + EDL *new_nested_clip(EDL *edl, const char *path); + EDL *get_nested_edl(const char *path); EDL *create_nested_clip(EDL *nested); void create_nested(EDL *nested); + void overwrite_clip(EDL *clip); void paste_silence(double start, double end, int edit_labels /* = 1 */, int edit_plugins, @@ -220,6 +223,9 @@ public: RecordLabels *labels = 0); // Insert the clip at a point in the EDL int insert_clips(ArrayList *new_edls, int load_mode, Track *first_track = 0); +// copy/paste group of effects + int collect_effects(EDL *&group); + int insert_effects(EDL *group, Track *first_track=0); // Add a copy of EDL* to the clip array. Returns the copy. EDL* add_clip(EDL *edl); EDL *selected_edits_to_clip(int packed, @@ -230,6 +236,7 @@ public: void paste_edits(EDL *clip, Track *first_track, double position, int overwrite, int edit_edits, int edit_labels, int edit_autos, int edit_plugins); void paste_edits(EDL *clip, Track *first_track, double position, int overwrite); + void replace_assets(ArrayList &orig_idxbls, ArrayList &new_assets); // resequence group ids starting at next_id int regroup(int next_id); @@ -238,8 +245,9 @@ public: void get_shared_tracks(Track *track, ArrayList *module_locations, int omit_recordable, int data_type); - int get_tracks_height(Theme *theme); - int64_t get_tracks_width(); + int get_tracks_height(Theme *theme); + int64_t get_tracks_width(); + // Return dimensions for canvas if smaller dimensions has zoom of 1 void calculate_conformed_dimensions(int single_channel, float &w, float &h); // Get the total output size scaled to aspect ratio @@ -269,8 +277,7 @@ public: void rescale_proxy(int orig_scale, int new_scale); void set_proxy(int new_scale, int use_scaler, ArrayList *orig_assets, ArrayList *proxy_assets); - void add_proxy(int use_scaler, - ArrayList *orig_assets, ArrayList *proxy_assets); + void add_proxy(ArrayList *orig_assets, ArrayList *proxy_assets); Asset *get_proxy_asset(); Track *add_new_track(int data_type); @@ -299,4 +306,12 @@ public: EDL *parent_edl; }; +// remap plugin shares in collect/paste effects +class edl_shared : public ArrayList { public: int trk; }; +class edl_shared_list : public ArrayList {}; +class edl_SharedLocations : public ArrayList { +public: + void add(int trk, int plg); +}; + #endif