x265 update 2.7, findobj upgrade, fix svg init, fix for dragchkbox buttonpress, add...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindow.h
index dfce9b11abc171c760a87fad8d63a44e1f762db6..24210e41e9d776aceae95ff96bbad291891a50ac 100644 (file)
@@ -204,8 +204,9 @@ public:
 
        void queue_mixers(EDL *edl, int command, int wait_tracking,
                int use_inout, int update_refresh, int toggle_audio, int loop_play);
+       ZWindow *create_mixer(Indexable *indexable);
        void create_mixers();
-       void refresh_mixers();
+       void refresh_mixers(int dir=1);
        void stop_mixers();
        void close_mixers();
        void open_mixers();
@@ -414,24 +415,17 @@ public:
        void move_tracks_up();
        void mute_selection();
        void new_folder(const char *new_folder);
-       void overwrite(EDL *source);
 // For clipboard commands
        void paste();
 // For splice and overwrite
-       int paste(double start,
-               double end,
-               FileXML *file,
-               int edit_labels,
-               int edit_plugins,
-               int edit_autos);
-       int paste_output(int64_t startproject,
-                               int64_t endproject,
-                               int64_t startsource_sample,
-                               int64_t endsource_sample,
-                               int64_t startsource_frame,
-                               int64_t endsource_frame,
-                               Asset *asset,
-                               RecordLabels *new_labels);
+       void overwrite(EDL *source, int all);
+       void splice(EDL *source, int all);
+       int paste(double start, double end, FileXML *file,
+               int edit_labels, int edit_plugins, int edit_autos);
+       int paste_output(int64_t startproject, int64_t endproject,
+               int64_t startsource_sample, int64_t endsource_sample,
+               int64_t startsource_frame, int64_t endsource_frame,
+               Asset *asset, RecordLabels *new_labels);
        void paste_silence();
 
 // Detach single transition
@@ -480,18 +474,18 @@ public:
        void set_inpoint(int is_mwindow);
        void set_outpoint(int is_mwindow);
        void unset_inoutpoint(int is_mwindow);
-       void splice(EDL *source);
        void toggle_loop_playback();
        void trim_selection();
 // Synchronize EDL settings with all playback engines depending on current
 // operation.  Doesn't redraw anything.
        void sync_parameters(int change_type = CHANGE_PARAMS);
        void save_clip(EDL *new_edl, const char *txt);
-       void to_clip(EDL *edl, const char *txt);
+       void to_clip(EDL *edl, const char *txt, int all);
        int toggle_label(int is_mwindow);
        void undo_entry(BC_WindowBase *calling_window_gui);
        void redo_entry(BC_WindowBase *calling_window_gui);
-
+       void save_undo_data();
+       void load_undo_data();
 
        int cut_automation();
        int copy_automation();
@@ -563,6 +557,8 @@ public:
        static Commercials *commercials;
        int commercial_active;
        int has_commercials();
+// copy of edl created in speed_before, used in speed_after to normalize_speed
+       EDL *speed_edl;
 
 // Menu items
        ArrayList<ColormodelItem*> colormodels;
@@ -639,7 +635,7 @@ public:
        Mutex *brender_lock;
 
 // Initialize shared memory
-       void init_shm();
+       void init_shm(const char *pfn, int64_t min);
 
 // Initialize channel DB's for playback
        void init_channeldb();
@@ -661,6 +657,7 @@ public:
        void commit_commercial();
        void undo_commercial();
        void cut_commercials();
+       void update_gui(int changed_edl);
        int paste_subtitle_text(char *text, double start, double end);
 
        void init_error();
@@ -708,6 +705,9 @@ public:
        void init_commercials();
        static void add_plugins(ArrayList<PluginServer*> &plugins);
        static void delete_plugins();
+       void speed_before();
+       int speed_after(int done);
+       int normalize_speed(EDL *old_edl, EDL *new_edl);
 //
        void clean_indexes();
 //     TimeBomb timebomb;