X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.h;h=c6db8e7ebc4039067d8f77bcff510673c4188ce4;hb=568bf4145a8bc66472ea3625741dacbd3b56ccc0;hp=dfce9b11abc171c760a87fad8d63a44e1f762db6;hpb=4a90ef3ae46465c0634f81916b79e279e4bd9961;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index dfce9b11..c6db8e7e 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -75,6 +75,7 @@ #include "pluginset.inc" #include "preferences.inc" #include "preferencesthread.inc" +#include "proxy.inc" #include "record.inc" #include "recordlabel.inc" #include "render.inc" @@ -204,10 +205,11 @@ 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 close_mixers(int destroy=1); void open_mixers(); ZWindow *get_mixer(Mixer *&mixer); void del_mixer(ZWindow *zwindow); @@ -350,8 +352,6 @@ public: // Calculate defaults path static void create_defaults_path(char *string, const char *config_file); - void delete_folder(char *folder); - void delete_track(); void delete_track(Track *track); void delete_tracks(); @@ -413,25 +413,19 @@ public: void move_track_up(Track *track); void move_tracks_up(); void mute_selection(); - void new_folder(const char *new_folder); - void overwrite(EDL *source); + void new_folder(const char *new_folder, int is_clips); + void delete_folder(char *folder); // 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,21 @@ 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 copy_target(const char *path, const char *target); + int link_target(const char *real_path, const char *link_path, int relative); + void save_project(const char *dir, int save_mode, int overwrite, int reload); int cut_automation(); int copy_automation(); @@ -513,13 +510,16 @@ public: int modify_edithandles(); int modify_pluginhandles(); void finish_modify_handles(); - void set_proxy(int use_scaler, int new_scale, int auto_scale, - ArrayList *orig_assets, - ArrayList *proxy_assets); + void rescale_proxy(EDL *clip, int orig_scale, int new_scale); void add_proxy(int use_scaler, ArrayList *orig_assets, ArrayList *proxy_assets); - void render_proxy(ArrayList &new_idxbls); + int render_proxy(ArrayList &new_idxbls); + void beep(double freq, double secs, double gain); + int enable_proxy(); + int disable_proxy(); + int to_proxy(Asset *asset, int new_scale, int new_use_scaler); + ProxyBeep *proxy_beep; void dump_plugins(FILE *fp=stdout); void dump_edl(FILE *fp=stdout); @@ -563,6 +563,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 colormodels; @@ -637,10 +639,8 @@ public: Mutex *keyframe_gui_lock; // Lock during creation and destruction of brender so playback doesn't use it. 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(); void init_render(); @@ -661,6 +661,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(); @@ -684,14 +685,17 @@ public: static void init_plugin_index(MWindow *mwindow, Preferences *preferences, FILE *fp, const char *plugin_dir); static int init_ladspa_index(MWindow *mwindow, Preferences *preferences, - const char *index_path, const char *plugin_dir); + FILE *fp, const char *plugin_dir); static void scan_plugin_index(MWindow *mwindow, Preferences *preferences, FILE *fp, const char *plug_dir, const char *plug_path, int &idx); static void init_ffmpeg(); static void init_ffmpeg_index(MWindow *mwindow, Preferences *preferences, FILE *fp); - static int load_plugin_index(MWindow *mwindow, const char *index_path, - const char *plugin_dir); - static PluginServer* new_ffmpeg_server(MWindow *mwindow, const char *name); + static int load_plugin_index(MWindow *mwindow, FILE *fp, const char *plugin_dir); + static PluginServer *new_ffmpeg_server(MWindow *mwindow, const char *name); + static int init_lv2_index(MWindow *mwindow, Preferences *preferences, FILE *fp); + static PluginServer *new_lv2_server(MWindow *mwindow, const char *name); + static void remove_plugin_index(); + void init_preferences(); void init_signals(); void init_theme(); @@ -708,6 +712,9 @@ public: void init_commercials(); static void add_plugins(ArrayList &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;