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);
// 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();
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_edl(EDL *edl, const char *path);
+ EDL *get_nested_edl();
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,
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,
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);
+ void replace_assets(ArrayList<Indexable*> &orig_idxbls, ArrayList<Asset*> &new_assets);
// resequence group ids starting at next_id
int regroup(int next_id);
void get_shared_tracks(Track *track, ArrayList<SharedLocation*> *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
void rescale_proxy(int orig_scale, int new_scale);
void set_proxy(int new_scale, int use_scaler,
ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets);
- void add_proxy(int use_scaler,
- ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets);
+ void add_proxy(ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets);
Asset *get_proxy_asset();
Track *add_new_track(int data_type);