X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrack.h;h=a23f664806cd95ca6f7f284335d847103b17081e;hb=26d01a213db5d4f6ee57224cc9a9ea37bd74318c;hp=ada29f21e06c43132402d44183e40ae09b433b28;hpb=33aae273918725085d841a8af927bfccd2aa9364;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/track.h b/cinelerra-5.1/cinelerra/track.h index ada29f21..a23f6648 100644 --- a/cinelerra-5.1/cinelerra/track.h +++ b/cinelerra-5.1/cinelerra/track.h @@ -50,6 +50,7 @@ #include "trackcanvas.inc" #include "tracks.inc" #include "transition.inc" +#include "zwindow.inc" // UNITS ARE SAMPLES FOR ALL @@ -57,7 +58,6 @@ class Track : public ListItem { public: Track(EDL *edl, Tracks *tracks); - Track(); virtual ~Track(); void create_objects(); @@ -112,7 +112,7 @@ public: 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 *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 @@ -141,12 +141,13 @@ public: // detach shared effects referencing module void detach_shared_effects(int module); - +// detach all corresponding effects in gang + void detach_ganged_effects(Plugin *plugin); // 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. @@ -165,7 +166,13 @@ public: 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); + Track *gang_master(); + int is_hidden(); + int is_armed(); + int is_ganged(); + int armed_gang(Track *track); + int index_in(Mixer *mixer); EDL *edl; Tracks *tracks; @@ -177,15 +184,17 @@ public: // Vertical offset from top of timeline int y_pixel; +// Vertical height of the track asset + int data_h; int expand_view; int draw; // There is some debate on whether to expand gang from faders to // dragging operations. This would allow every edit in a column to get dragged // simultaneously. - int gang; + int ganged; char title[BCTEXTLEN]; int play; - int record; + int armed; // mask enable bit flags int masks; // Nudge in track units. Positive shifts track earlier in time. This way @@ -317,7 +326,8 @@ public: int pixel; // pixel position from top of track view // Dimensions of this track if video int track_w, track_h; - int mixer_id; +// mixer set track id, gang master flag + int mixer_id, master; private: // Identification of the track