X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedl.h;h=361996cae599f1407495444fe22859cf7683e03a;hp=5e184d22965f18bdd76545a315a5c4806971f8e0;hb=ac8f3979437fb45effb135a1bb6bee871f52d635;hpb=c6016b2d08ac0fdda37ee6e1f59dadcfd4335388 diff --git a/cinelerra-5.1/cinelerra/edl.h b/cinelerra-5.1/cinelerra/edl.h index 5e184d22..361996ca 100644 --- a/cinelerra-5.1/cinelerra/edl.h +++ b/cinelerra-5.1/cinelerra/edl.h @@ -93,12 +93,13 @@ public: int direction, PlayableTracks *playable_tracks); -// Convert position to frame boundry times +// Convert position to frame boundary times double frame_align(double position, int round); // frame align if cursor alignment is enabled double align_to_frame(double position, int round); -// get position under cursor in pane +// get position under cursor in pane, and inverse double get_cursor_position(int cursor_x, int pane_no); + int64_t get_position_cursorx(double position, int pane_no); // increase track w/h to at least session w/h void retrack(); @@ -106,21 +107,29 @@ public: void rechannel(); void resample(double old_rate, double new_rate, int data_type); - int copy(double start, double end, int all, + int copy(int copy_flags, double start, double end, FileXML *file, const char *output_path, int rewind_it); - int copy(int all, FileXML *file, const char *output_path, int rewind_it); + int copy(int copy_flags, FileXML *file, const char *output_path, + int rewind_it); - int copy_clip(double start, double end, int all, + int copy_clip(int copy_flags, double start, double end, FileXML *file, const char *output_path, int rewind_it); - int copy_clip(int all, FileXML *file, const char *output_path, int rewind_it); + int copy_clip(int copy_flags, FileXML *file, const char *output_path, + int rewind_it); - int copy_nested_edl(double start, double end, int all, + int copy_nested(int copy_flags, double start, double end, FileXML *file, const char *output_path, int rewind_it); - int copy_nested_edl(int all, FileXML *file, const char *output_path, int rewind_it); + int copy_nested(int copy_flags, FileXML *file, const char *output_path, + int rewind_it); - int copy_vwindow_edl(double start, double end, int all, + int copy_vwindow(int copy_flags, double start, double end, FileXML *file, const char *output_path, int rewind_it); - int copy_vwindow_edl(int all, FileXML *file, const char *output_path, int rewind_it); + int copy_vwindow(int copy_flags, FileXML *file, const char *output_path, + int rewind_it); + + int copy_xml(int copy_flags, double start, double end, + FileXML *file, const char *closer, const char *output_path, + int rewind_it); void copy_tracks(EDL *edl); // Copies project path, folders, EDLSession, and LocalSession from edl argument. @@ -158,6 +167,7 @@ public: // return next/prev edit starting from position double next_edit(double position); double prev_edit(double position); + double skip_silence(double position); // Debug int dump(FILE *fp=stdout); static int next_id(); @@ -167,35 +177,24 @@ public: const char *get_folder_name(int no); int new_folder(const char *title, int is_clips); int delete_folder(const char *title); + void delete_edits(ArrayList*, int); + void delete_edit_labels(ArrayList *edits, int collapse); + void move_edit_labels(ArrayList *edits, double dist); - void modify_edithandles(double oldposition, - double newposition, - int currentend, - int handle_mode, - int edit_labels, - int edit_plugins, - int edit_autos); + void modify_edithandles(double oldposition, double newposition, + int currentend, int handle_mode, int edit_labels, + int edit_plugins, int edit_autos, int group_id); - void modify_pluginhandles(double oldposition, - double newposition, - int currentend, - int handle_mode, - int edit_labels, - int edit_autos, - Edits *trim_edits); - - int trim_selection(double start, - double end, - int edit_labels, - int edit_plugins, - int edit_autos); + void modify_pluginhandles(double oldposition, double newposition, + int currentend, int handle_mode, int edit_labels, + int edit_autos, Edits *trim_edits); + + int trim_selection(double start, double end, + int edit_labels, int edit_plugins, int edit_autos); // Editing functions - int copy_assets(double start, double end, - FileXML *file, int all, const char *output_path); - int copy(double start, double end, int all, - const char *closer, FileXML *file, - const char *output_path, int rewind_it); + 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 *create_nested_clip(EDL *nested); @@ -212,7 +211,7 @@ public: int clear_labels, int clear_plugins, int edit_autos); - void deglitch(double position); + int clear_hard_edges(double start, double end); // Insert the asset at a point in the EDL void insert_asset(Asset *asset, EDL *nested_edl, @@ -223,6 +222,16 @@ public: int insert_clips(ArrayList *new_edls, int load_mode, 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, + double *start_position, Track **start_track, + int edit_labels, int edit_autos, int edit_plugins); + EDL *selected_edits_to_clip(int packed, double *start_position, Track **start_track); + void selected_edits_to_clipboard(int packed); + 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); +// resequence group ids starting at next_id + int regroup(int next_id); void get_shared_plugins(Track *source, ArrayList *plugin_locations, int omit_recordable, int data_type); @@ -260,8 +269,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);