X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrack.h;h=c267eb5b3b58e2d2e8ae6a3873e3f4b96d66cd29;hp=a23f664806cd95ca6f7f284335d847103b17081e;hb=b384d47608e07b9f5b6ce5fe1d0d76d9bda38202;hpb=9a75aafbc51be29b49351a51e9084bb34d255c0d diff --git a/cinelerra-5.1/cinelerra/track.h b/cinelerra-5.1/cinelerra/track.h index a23f6648..c267eb5b 100644 --- a/cinelerra-5.1/cinelerra/track.h +++ b/cinelerra-5.1/cinelerra/track.h @@ -91,6 +91,8 @@ public: // Speed curve in use int has_speed(); +// length when speed is applied + int64_t speed_length(int64_t start, int64_t end); // Get length of track in seconds double get_length(); // Get dimensions of source for convenience functions @@ -169,10 +171,12 @@ public: Plugin *plugin_exists(int plugin_id); Track *gang_master(); int is_hidden(); + int in_gang(Track *track); int is_armed(); int is_ganged(); int armed_gang(Track *track); int index_in(Mixer *mixer); + int plays(); EDL *edl; Tracks *tracks; @@ -242,8 +246,8 @@ public: virtual int copy_automation_derived(AutoConf *auto_conf, double selectionstart, double selectionend, FileXML *file) { return 0; }; - int paste_automation(double selectionstart, double total_length, - double frame_rate, int64_t sample_rate, FileXML *file, + int paste_automation(FileXML *file, + double selectionstart, double src_length, double src_rate, int default_only, int active_only); virtual int paste_automation_derived(double selectionstart, double selectionend, double total_length, FileXML *file, int shift_autos, int ¤t_pan) { return 0; }; @@ -319,6 +323,7 @@ public: // If the edit under position is playable. // Used by PlayableTracks::is_playable. int playable_edit(int64_t position, int direction); + void create_keyframes(double position, int mask, int mode); // ===================================== for handles, titles, etc