// 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
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;
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; };
// 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