plugin/transtions gang operations, commercial compile fix, segv in select_asset,...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / track.h
index 679c3a4997aeda50662464f5cbbdc5d113d721b0..a23f664806cd95ca6f7f284335d847103b17081e 100644 (file)
@@ -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<Track>
 {
 public:
        Track(EDL *edl, Tracks *tracks);
-       Track();
        virtual ~Track();
 
        void create_objects();
@@ -141,7 +141,8 @@ 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.
@@ -166,6 +167,12 @@ public:
        void change_plugins(SharedLocation &old_location, SharedLocation &new_location, int do_swap);
        void change_modules(int old_location, int new_location, int do_swap);
        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