merged hv7 mod
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindow.h
index ede2ffe6afe616a712f2b64488eb67115a48fbb0..a7bd7e3d507f38f2df50479d3045ebee65fa6a71 100644 (file)
 #include <stdio.h>
 #include <stdint.h>
 
+#include "apatchgui.h"
 #include "arraylist.h"
 #include "asset.inc"
 #include "assets.inc"
 #include "audiodevice.inc"
+#include "autos.inc"
 #include "awindow.inc"
 #include "batchrender.inc"
 #include "bcwindowbase.inc"
@@ -91,6 +93,7 @@
 #include "transition.inc"
 #include "transportque.inc"
 #include "videowindow.inc"
+#include "vpatchgui.h"
 #include "vwindow.inc"
 #include "wwindow.inc"
 #include "wavecache.inc"
@@ -118,7 +121,7 @@ public:
        int run_script(FileXML *script);
        int new_project();
        int delete_project(int flash = 1);
-       void quit(int unlock);
+       void quit();
        int restart() { return restart_status; }
 
        int load_defaults();
@@ -134,6 +137,7 @@ public:
        void show_lwindow();
        void show_cwindow();
        void show_gwindow();
+       void hide_gwindow();
        int tile_windows(int window_config);
        char *get_cwindow_display();
 //     void set_titles(int value);
@@ -312,13 +316,19 @@ public:
 // Clears active region in EDL.
 // If clear_handle, edit boundaries are cleared if the range is 0.
 // Called by paste, record, menueffects, render, and CWindow drop.
-       void clear(int clear_handle);
+       void clear(int clear_handle, int deglitch);
        void clear_labels();
        int clear_labels(double start, double end);
        void concatenate_tracks();
        void copy();
        int copy(double start, double end);
        void cut();
+       void cut(double start, double end, double new_position=-1);
+// snap off edit from current position to handle/label
+       void snap_left_edit();
+       void snap_right_edit();
+       void snap_left_label();
+       void snap_right_label();
 
 // Calculate aspect ratio from pixel counts
        static int create_aspect_ratio(float &w, float &h, int width, int height);
@@ -448,6 +458,7 @@ public:
        void set_automation_mode(int mode);
        void set_keyframe_type(int mode);
        void set_auto_keyframes(int value, int lock_mwindow, int lock_cwindow);
+       void set_auto_visibility(Autos *autos, int value);
        void set_labels_follow_edits(int value);
 
 // Update the editing mode
@@ -461,7 +472,8 @@ public:
 // Synchronize EDL settings with all playback engines depending on current
 // operation.  Doesn't redraw anything.
        void sync_parameters(int change_type = CHANGE_PARAMS);
-       void to_clip();
+       void save_clip(EDL *new_edl, const char *txt);
+       void to_clip(EDL *edl, const char *txt);
        int toggle_label(int is_mwindow);
        void undo_entry(BC_WindowBase *calling_window_gui);
        void redo_entry(BC_WindowBase *calling_window_gui);
@@ -479,9 +491,20 @@ public:
        int paste_default_keyframe();
        int clear_default_keyframe();
 
+       FloatAuto* get_float_auto(PatchGUI *patch,int idx);
+       IntAuto* get_int_auto(PatchGUI *patch,int idx);
+       PanAuto* get_pan_auto(PatchGUI *patch);
+
        int modify_edithandles();
        int modify_pluginhandles();
        void finish_modify_handles();
+       void set_proxy(int use_scaler, int new_scale, int auto_scale,
+               ArrayList<Indexable*> *orig_assets,
+               ArrayList<Indexable*> *proxy_assets);
+       void add_proxy(int use_scaler,
+               ArrayList<Indexable*> *orig_assets,
+               ArrayList<Indexable*> *proxy_assets);
+       void render_proxy(ArrayList<Indexable *> &new_idxbls);
 
        void dump_plugins(FILE *fp=stdout);
        void dump_edl(FILE *fp=stdout);
@@ -519,6 +542,8 @@ public:
        MainIndexes *mainindexes;
        MainProgress *mainprogress;
        BRender *brender;
+       char cin_lang[4];
+       int brender_active;
        const char *default_standard;
        static Commercials *commercials;
        int commercial_active;
@@ -587,6 +612,7 @@ public:
        int wait_warning();
 // Levels
        LevelWindow *lwindow;
+       Mutex *run_lock;
 // Lock during creation and destruction of GUI
        Mutex *plugin_gui_lock;
        Mutex *dead_plugin_lock;
@@ -611,7 +637,7 @@ public:
 // This one happens asynchronously of the others.  Used by playback to
 // see what frame is background rendered.
        int brender_available(int position);
-       void set_brender_start();
+       void set_brender_active(int v, int update=1);
        int put_commercial();
        void activate_commercial() { commercial_active = 1; }
        void commit_commercial();
@@ -622,6 +648,7 @@ public:
        void init_error();
        void finit_error();
        static void init_defaults(BC_Hash* &defaults, char *config_path);
+       void check_language();
        const char *default_std();
        void fill_preset_defaults(const char *preset, EDLSession *session);
        const char *get_preset_name(int index);
@@ -633,6 +660,7 @@ public:
        static void get_plugin_path(char *path, const char *plug_dir, const char *fs_path);
        static int init_plugins(MWindow *mwindow, Preferences *preferences);
        static int init_ladspa_plugins(MWindow *mwindow, Preferences *preferences);
+       static void init_plugin_tips(ArrayList<PluginServer*> &plugins, const char *lang);
        static int check_plugin_index(ArrayList<PluginServer*> &plugins,
                const char *plug_dir, const char *plug_path);
        static void init_plugin_index(MWindow *mwindow, Preferences *preferences,
@@ -662,7 +690,7 @@ public:
        void init_commercials();
        static void add_plugins(ArrayList<PluginServer*> &plugins);
        static void delete_plugins();
-// 
+//
        void clean_indexes();
 //     TimeBomb timebomb;
        SigHandler *sighandler;