// Construct a list of all the recordable edits which start on position
void clear_selected_edits();
- void select_affected_edits(double position, Track *start_track, int sense);
+ int clear_hard_edges(double start, double end);
void get_selected_edits(ArrayList<Edit*> *drag_edits);
+ void select_edits(double start, double end, int v);
int next_group_id();
int new_group(int id);
int set_group_selected(int id, int v);
void equivalent_output(Tracks *tracks, double *result);
- int move_track_up(Track *track); // move recordable tracks up
- int move_track_down(Track *track); // move recordable tracks down
- int move_tracks_up(); // move recordable tracks up
- int move_tracks_down(); // move recordable tracks down
+ void roll_tracks(Track *src, Track *dst, int n);
+ int roll_track_up(Track *track);
+ int roll_track_down(Track *track);
+ int roll_tracks_up();
+ int roll_tracks_down();
+ int move_track_up(Track *track);
+ int move_track_down(Track *track);
+ int move_tracks_up();
+ int move_tracks_down();
void paste_audio_transition(PluginServer *server);
void paste_video_transition(PluginServer *server, int first_track = 0);
// Only tests effects
- int plugin_exists(Plugin *plugin);
+ Plugin *plugin_exists(int plugin_id);
int track_exists(Track *track);
void paste_transition(PluginServer *server, Edit *dest_edit);
// Update y pixels after a zoom
void update_y_pixels(Theme *theme);
// Total number of tracks where the following toggles are selected
- void select_all(int type,
- int value);
- void translate_projector(float offset_x, float offset_y);
- int total_of(int type);
+ void select_all(int type, int value);
+
+ void translate_fauto_xy(int fauto, float dx, float dy, int all);
+ void translate_projector(float dx, float dy, int all=0);
+ void translate_camera(float dx, float dy, int all=0);
+ void crop_resize(float x, float y, float z);
+ void crop_shrink(float x, float y, float z);
+ double align_timecodes();
+
+ int total_of(int type);
+ Track* get_track_by_id(int id);
// add a track
Track* add_audio_track(int above, Track *dst_track);
Track* add_video_track(int above, Track *dst_track);
// Track* add_audio_track(int to_end = 1);
// Track* add_video_track(int to_end = 1);
// delete any track
- int delete_track(Track* track);
+ int delete_track(Track *track, int gang=-1);
// detach shared effects referencing module
int detach_shared_effects(int module);
+// detach all corresponding effects in gang
+ int detach_ganged_effects(Plugin *plugin);
EDL *edl;
void copy_from(Tracks *tracks);
// ================================== EDL editing
- int copy(double start,
- double end,
- int all,
- FileXML *file,
- const char *output_path = "");
-
+ int copy(int copy_flags, double start, double end,
+ FileXML *file, const char *output_path = "");
-
- int copy_assets(FileXML *xml,
- double start,
- double end,
- int all);
+ int copy_assets(int copy_flags, FileXML *xml, double start, double end);
int blade(double position);
int clear(double start, double end, int clear_plugins, int edit_autos);
void clear_automation(double selectionstart,
void set_transition_length(double start, double end, double length);
void set_transition_length(Transition *transition, double length);
void paste_transitions(double start, double end, int track_type, char* title);
+ void update_idxbl_length(int id, double dt);
+ void create_keyframes(double position, int mask, int mode);
// ================================== accounting
Track* number(int number); // pointer to track number
Track *get(int idx, int data_type);
-
private:
};