add binfolder path relative filters, fix gbrp color model, vwdw timebar tweaks, title...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edl.h
index d523779b8f4637d6e4b8eabcc71926e6b33a8667..8a96155e1933338cc11d3a83e80dacf29f019745 100644 (file)
@@ -29,6 +29,7 @@
 #include "assets.inc"
 #include "autoconf.inc"
 #include "bchash.inc"
+#include "binfolder.h"
 #include "edit.inc"
 #include "edits.inc"
 #include "edl.inc"
@@ -96,20 +97,30 @@ public:
        double frame_align(double position, int round);
 // frame align if cursor alignment is enabled
        double align_to_frame(double position, int round);
+// get position under cursor in pane
+       double get_cursor_position(int cursor_x, int pane_no);
 
 // 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);
+
        int copy(double start, double end, int all,
                FileXML *file, const char *output_path, int rewind_it);
+       int copy(int all, FileXML *file, const char *output_path, int rewind_it);
+
        int copy_clip(double start, double end, int all,
                FileXML *file, const char *output_path, int rewind_it);
+       int copy_clip(int all, FileXML *file, const char *output_path, int rewind_it);
+
        int copy_nested_edl(double start, double end, int all,
                FileXML *file, const char *output_path, int rewind_it);
+       int copy_nested_edl(int all, FileXML *file, const char *output_path, int rewind_it);
+
        int copy_vwindow_edl(double start, double end, int all,
                FileXML *file, const char *output_path, int rewind_it);
+       int copy_vwindow_edl(int all, FileXML *file, const char *output_path, int rewind_it);
 
        void copy_tracks(EDL *edl);
 // Copies project path, folders, EDLSession, and LocalSession from edl argument.
@@ -150,9 +161,13 @@ public:
 // Debug
        int dump(FILE *fp=stdout);
        static int next_id();
-// Create a new folder if it doesn't exist already
-       void new_folder(const char *folder);
-       void delete_folder(const char *folder);
+// folders
+       BinFolder *get_folder(int no);
+       int get_folder_number(const char *title);
+       const char *get_folder_name(int no);
+       int new_folder(const char *title, int is_clips);
+       int delete_folder(const char *title);
+
        void modify_edithandles(double oldposition,
                double newposition,
                int currentend,
@@ -181,9 +196,10 @@ public:
        int copy(double start, double end, int all,
                const char *closer, FileXML *file,
                const char *output_path, int rewind_it);
-       EDL *get_nested(EDL *nested_edl, const char *path);
-       EDL *new_nested(EDL *nested_edl, const char *path);
-       void create_nested(EDL *nested_edl, const char *path);
+       void copy_indexables(EDL *edl);
+       EDL *new_nested(EDL *edl, const char *path);
+       EDL *create_nested_clip(EDL *nested);
+       void create_nested(EDL *nested);
        void paste_silence(double start, double end,
                int edit_labels /* = 1 */,
                int edit_plugins,
@@ -240,9 +256,15 @@ public:
 // Adds to list of EDLs & increase garbage collection counter
 // Does nothing if EDL already exists
        void append_vwindow_edl(EDL *edl, int increase_counter);
+       void rescale_proxy(int orig_scale, int new_scale);
+       void set_proxy(int new_scale, int use_scaler,
+               ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets);
+       void add_proxy(int use_scaler,
+               ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets);
+       Asset *get_proxy_asset();
 
 // Titles of all subfolders
-       ArrayList<char*> folders;
+       BinFolders folders;
 // Clips, Nested EDLs
        ClipEDLs clips, nested_edls;
 // EDLs being shown in VWindows