int load(FileXML *xml,
int &track_offset,
uint32_t load_flags);
- void move_edits(ArrayList<Edit*> *edits,
- Track *track,
- double position,
- int edit_labels,
- int edit_plugins,
- int edit_autos,
- int behaviour);
- void move_effect(Plugin *plugin,
- Track *track,
- int64_t position);
- void move_effect(Plugin *plugin,
- PluginSet *plugin_set,
- int64_t position);
+ void move_edits(ArrayList<Edit*> *edits, Track *track, double position,
+ int edit_labels, int edit_plugins, int edit_autos, int mode);
+ void move_group(EDL *group, Track *first_track, double position, int overwrite);
+ void move_effect(Plugin *plugin, Track *track, int64_t position);
+ void move_effect(Plugin *plugin, PluginSet *plugin_set, int64_t position);
// Construct a list of all the recordable edits which start on position
- void get_affected_edits(ArrayList<Edit*> *drag_edits,
- double position,
- Track *start_track);
+ void clear_selected_edits();
+ 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);
+ int del_group(int id);
void get_automation_extents(float *min,
float *max,
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,
int popup_transition(int cursor_x, int cursor_y);
int select_auto(int cursor_x, int cursor_y);
int move_auto(int cursor_x, int cursor_y, int shift_down);
- int modify_edithandles(double &oldposition,
- double &newposition,
- int currentend,
- int handle_mode,
- int edit_labels,
- int edit_plugins,
- int edit_autos);
+ int modify_edithandles(double &oldposition, double &newposition,
+ int currentend, int handle_mode, int edit_labels,
+ int edit_plugins, int edit_autos, int group_id);
int modify_pluginhandles(double &oldposition,
double &newposition,
int currentend,
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:
};