X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracks.h;h=78d1fe591fe2a4735103804f51da8941f6bba670;hb=166867a58d74619aa11aeb562a994cc364d62231;hp=7ba9826710bfa0d02a21d43178cd1960fc67427e;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/tracks.h b/cinelerra-5.1/cinelerra/tracks.h index 7ba98267..78d1fe59 100644 --- a/cinelerra-5.1/cinelerra/tracks.h +++ b/cinelerra-5.1/cinelerra/tracks.h @@ -49,24 +49,21 @@ public: int load(FileXML *xml, int &track_offset, uint32_t load_flags); - void move_edits(ArrayList *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 *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 *drag_edits, - double position, - Track *start_track); + void clear_selected_edits(); + int clear_hard_edges(double start, double end); + void get_selected_edits(ArrayList *drag_edits); + void select_edits(double start, double end); + 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, @@ -76,15 +73,20 @@ public: 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 move_tracks(Track *src, Track *dst, int n); + int move_track_up(Track *track); + int move_track_down(Track *track); + int move_tracks_up(); + int move_tracks_down(); + int swap_track_up(Track *track); + int swap_track_down(Track *track); + int swap_tracks_up(); + int swap_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); @@ -104,10 +106,17 @@ public: // 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); @@ -115,9 +124,11 @@ public: // 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; @@ -164,18 +175,10 @@ public: 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, @@ -221,13 +224,9 @@ public: 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, @@ -251,6 +250,8 @@ public: 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 @@ -267,7 +268,6 @@ public: Track* number(int number); // pointer to track number Track *get(int idx, int data_type); - private: };