X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracks.h;h=cc1486d828f8dd32d852612ab4271a812d02cafb;hp=4d3bef901665b06644c0af5d94abbf33823554ef;hb=1db0dacec8f9d7f5687e582bd282d9bf83bd58f0;hpb=e23393f4ff9f772ac8f47926cf490dc87a630ed4;ds=sidebyside diff --git a/cinelerra-5.1/cinelerra/tracks.h b/cinelerra-5.1/cinelerra/tracks.h index 4d3bef90..cc1486d8 100644 --- a/cinelerra-5.1/cinelerra/tracks.h +++ b/cinelerra-5.1/cinelerra/tracks.h @@ -50,15 +50,16 @@ public: 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_group(EDL *group, Track *first_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 clear_selected_edits(); - void select_affected_edits(double position, Track *start_track); + 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); @@ -72,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 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); @@ -100,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); @@ -111,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; @@ -160,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, @@ -217,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, @@ -247,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 @@ -263,7 +268,6 @@ public: Track* number(int number); // pointer to track number Track *get(int idx, int data_type); - private: };