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();
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.
// 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();
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<Edit*>*, int);
+ void delete_edit_labels(ArrayList<Edit*> *edits, int collapse);
+ void move_edit_labels(ArrayList<Edit*> *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);
int insert_clips(ArrayList<EDL*> *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<SharedLocation*> *plugin_locations,
int omit_recordable, int data_type);
void add_proxy(int use_scaler,
ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets);
Asset *get_proxy_asset();
+ Track *add_new_track(int data_type);
// Titles of all subfolders
BinFolders folders;