cposer/viewer btn1/2/3 fwd/rev/frm playback, misc fixes, leaks, cleanup
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edl.h
index 69494c2552b698ada884e7377a6a1292a76f4102..e59556640eda8d440927af15e4af87d66f95df88 100644 (file)
@@ -50,6 +50,7 @@
 #include "theme.inc"
 #include "tracks.inc"
 #include "vedit.inc"
+#include "zwindow.h"
 
 // Loading and saving are built on load and copy except for automation:
 
@@ -94,9 +95,13 @@ public:
                int direction,
                PlayableTracks *playable_tracks);
 
-// Convert position to frames if cursor alignment is enabled
+// Convert position to frame boundry times
+       double frame_align(double position, int round);
+// frame align if cursor alignment is enabled
        double align_to_frame(double position, int round);
 
+// increase track w/h to at least session w/h
+       void retrack();
 // Scale all sample values since everything is locked to audio
        void rechannel();
        void resample(double old_rate, double new_rate, int data_type);
@@ -108,6 +113,7 @@ public:
        int copy_all(EDL *edl);
        void copy_assets(EDL *edl);
        void copy_clips(EDL *edl);
+       void copy_mixers(EDL *edl);
 // Copy pan and fade settings from edl
        void synchronize_params(EDL *edl);
 // Determine if the positions are equivalent if they're within half a frame
@@ -121,15 +127,19 @@ public:
 // This is used by BRender + BatchRender.
        double equivalent_output(EDL *edl);
 // Set project path for filename prefixes in the assets
-       void set_path(char *path);
+       void set_path(const char *path);
 // Set points and labels
        void set_inpoint(double position);
        void set_outpoint(double position);
+       void unset_inoutpoint();
 // Redraw resources during index builds
        void set_index_file(Indexable *indexable);
 // Add assets from the src to the destination
        void update_assets(EDL *src);
        void optimize();
+// return next/prev edit starting from position
+       double next_edit(double position);
+       double prev_edit(double position);
 // Debug
        int dump(FILE *fp=stdout);
        static int next_id();
@@ -179,11 +189,13 @@ public:
                int edit_autos);
        void remove_from_project(ArrayList<Indexable*> *assets);
        void remove_from_project(ArrayList<EDL*> *clips);
+       int blade(double position);
        int clear(double start,
                double end,
                int clear_labels,
                int clear_plugins,
                int edit_autos);
+       void deglitch(double position);
 // Insert the asset at a point in the EDL
        void insert_asset(Asset *asset,
                EDL *nested_edl,
@@ -239,6 +251,7 @@ public:
        ArrayList<EDL*> vwindow_edls;
 // is the vwindow_edl shared and therefore should not be deleted in destructor
 //     int vwindow_edl_shared;
+       Mixers mixers;
 
 // Media files
 // Shared between all EDLs