void equivalent_output(Track *track, double *result);
int get_mixer_id();
+ void get_fauto_xyz(int fauto, float &x, float &y, float &z);
+ void set_fauto_xyz(int fauto, float x, float y, float z);
+ void get_projector(float &x, float &y, float &z);
+ void set_projector(float x, float y, float z);
+ void get_camera(float &x, float &y, float &z);
+ void set_camera(float x, float y, float z);
+
virtual void copy_from(Track *track);
Track& operator=(Track& track);
virtual PluginSet* new_plugins() { return 0; };
double edl_length);
void shuffle_edits(double start, double end, int first_track);
void reverse_edits(double start, double end, int first_track);
- void align_edits(double start, double end, ArrayList<double> *times);
+ void align_edits(double start, double end, Track *master_track);
// Optimize editing
void optimize();
int is_muted(int64_t position, int direction); // Test muting status
// Called by playable tracks to test for playable server.
// Descends the plugin tree without creating a virtual console.
// Used by PlayableTracks::is_playable.
- int is_synthesis(int64_t position, int direction);
+ int is_synthesis(int64_t position, int direction, int depth=0);
// Used by PlayableTracks::is_playable
// Returns 1 if the track is in the output boundaries.
void shift_effects(int64_t position, int64_t length, int edit_autos, Edits *trim_edits);
void change_plugins(SharedLocation &old_location, SharedLocation &new_location, int do_swap);
void change_modules(int old_location, int new_location, int do_swap);
- int plugin_exists(Plugin *plugin);
+ Plugin *plugin_exists(int plugin_id);
EDL *edl;
Tracks *tracks;
char title[BCTEXTLEN];
int play;
int record;
+// mask enable bit flags
+ int masks;
// Nudge in track units. Positive shifts track earlier in time. This way
// the position variables only need to add the nudge.
int64_t nudge;