X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.h;h=b0e7877257dbffe458926bacbc536082340b0715;hp=3add4e79cb38ac02a7a0eec06164992059c3225c;hb=0e6cf5b52d1ebce9272270144bcf43df4683507e;hpb=4710b00debcb86b8ff626c4af3473afe338408ae diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index 3add4e79..b0e78772 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -39,6 +39,7 @@ #include "channel.inc" #include "channeldb.inc" #include "commercials.inc" +#include "convert.inc" #include "cwindow.inc" #include "bchash.inc" #include "devicedvbinput.inc" @@ -62,6 +63,7 @@ #include "mainsession.inc" #include "mainundo.inc" #include "maxchannels.h" +#include "mixersalign.inc" #include "mutex.inc" #include "mwindow.inc" #include "mwindowgui.inc" @@ -70,6 +72,7 @@ #include "playback3d.inc" #include "playbackengine.inc" #include "plugin.inc" +#include "pluginclient.inc" #include "pluginfclient.inc" #include "pluginserver.inc" #include "pluginset.inc" @@ -87,7 +90,6 @@ #include "thread.h" #include "threadloader.inc" #include "timebar.inc" -#include "timebomb.h" #include "tipwindow.inc" #include "track.inc" #include "tracking.inc" @@ -114,6 +116,7 @@ public: void create_objects(int want_gui, int want_new, char *config_path); + int uses_opengl(); void show_splash(); void hide_splash(); void start(); @@ -179,13 +182,10 @@ public: int overwrite); // Reset everything for a load void update_project(int load_mode); + void update_preferences(Preferences *prefs); void update_vwindow(); // Fit selected time to horizontal display range void fit_selection(); - EDL *selected_edits_to_clip(int packed, - double *start_position, Track **start_track, - int edit_labels, int edit_autos, int edit_plugins); - void selected_edits_to_clipboard(int packed); // Fit selected autos to the vertical display range void fit_autos(int all); void change_currentautorange(int autogrouptype, int increment, int changemax); @@ -214,8 +214,8 @@ public: void handle_mixers(EDL *edl, int command, int wait_tracking, int use_inout, int toggle_audio, int loop_play, float speed); - ZWindow *create_mixer(Indexable *indexable); - void create_mixers(); + ZWindow *create_mixer(Indexable *indexable, double position); + void create_mixers(double position = 0); void refresh_mixers(int dir=1); void stop_mixers(); void close_mixers(int destroy=1); @@ -227,14 +227,12 @@ public: void start_mixer(); int select_zwindow(ZWindow *zwindow); void tile_mixers(); - int load_filenames(ArrayList *filenames, int load_mode = LOADMODE_REPLACE, // Cause the project filename on the top of the window to be updated. // Not wanted for loading backups. int update_filename = 1); - // Print out plugins which are referenced in the EDL but not loaded. void test_plugins(EDL *new_edl, char *path); @@ -289,7 +287,7 @@ public: int zoom_in_t(); void split_x(); void split_y(); - void crop_video(); + void crop_video(int mode); void update_plugins(); // Call after every edit operation void save_backup(); @@ -307,6 +305,10 @@ public: // Searches for matching plugin and renders data in it. void render_plugin_gui(void *data, Plugin *plugin); void render_plugin_gui(void *data, int size, Plugin *plugin); + void reset_plugin_gui_frames(Plugin *plugin); + void render_plugin_gui_frames(PluginClientFrames *frames, Plugin *plugin); + double get_tracking_position(); + int get_tracking_direction(); // Called from PluginVClient::process_buffer // Returns 1 if a GUI for the plugin is open so OpenGL routines can determine if @@ -351,6 +353,9 @@ public: void clear(int clear_handle); void clear_labels(); int clear_labels(double start, double end); + void clear_hard_edges(); + int clear_hard_edges(double start, double end); + void clear_select(); void concatenate_tracks(); int copy_flags(int copy_flags=COPY_CLIPBOARD); void copy(); @@ -369,7 +374,6 @@ public: // Calculate defaults path static void create_defaults_path(char *string, const char *config_file); - void delete_track(); void delete_track(Track *track); void delete_tracks(); int feather_edits(int64_t feather_samples, int audio, int video); @@ -409,8 +413,7 @@ public: // Move edit to new position void move_edits(ArrayList *edits, Track *track, double position, int mode); // mode: 0 - mute and overwrite, 1 - cut and paste - void paste_edits(EDL *clip, Track *first_track, double position, int overwrite, - int edit_edits, int edit_labels, int edit_autos, int edit_plugins); + void selected_edits_to_clipboard(int packed); void paste_clipboard(Track *first_track, double position, int overwrite, int edit_edits, int edit_labels, int edit_autos, int edit_plugins); void move_group(EDL *group, Track *first_track, double position, int overwrite); @@ -468,8 +471,7 @@ public: // Asset removal from caches void reset_caches(); void remove_asset_from_caches(Asset *asset); - void remove_assets_from_project(int push_undo /* = 0 */, - int redraw /* 1 */, + void remove_assets_from_project(int push_undo, int redraw, int delete_indexes, ArrayList *drag_assets /* mwindow->session->drag_assets */, ArrayList *drag_clips /* mwindow->session->drag_clips */); void remove_assets_from_disk(); @@ -478,6 +480,7 @@ public: void set_automation_mode(int mode); void set_keyframe_type(int mode); void set_auto_keyframes(int value); + void set_span_keyframes(int value); void set_auto_visibility(Autos *autos, int value); void set_labels_follow_edits(int value); @@ -524,9 +527,8 @@ public: int modify_pluginhandles(); void finish_modify_handles(); void rescale_proxy(EDL *clip, int orig_scale, int new_scale); - void add_proxy(int use_scaler, - ArrayList *orig_assets, - ArrayList *proxy_assets); + void add_proxy(ArrayList *orig_assets, + ArrayList *proxy_assets); int render_proxy(ArrayList &new_idxbls); void beep(double freq, double secs, double gain); int enable_proxy(); @@ -545,6 +547,11 @@ public: // Send new EDL to caches void age_caches(); int optimize_assets(); // delete unused assets from the cache and assets +// render edl assets to specified format, then replace in edl + void start_convert(Asset *format_asset, const char *suffix, + float beep, int remove_originals); + void finish_convert(int remove_originals); + ConvertRender *convert_render; void select_point(double position); int set_loop_boundaries(); // toggle loop playback and set boundaries for loop playback @@ -585,7 +592,6 @@ public: ArrayList colormodels; ArrayList interlace_project_modes; ArrayList interlace_asset_modes; - ArrayList interlace_asset_fixmethods; int reset_meters(); void resync_guis(); @@ -603,7 +609,7 @@ public: static ArrayList *plugindb; // Currently visible plugins int64_t plugin_visibility; - ArrayList *plugin_guis; + PluginGUIs *plugin_guis; // GUI Plugins to delete ArrayList *dead_plugins; // Keyframe editors @@ -635,6 +641,8 @@ public: // Mixer Mutex *zwindows_lock; ArrayList zwindows; + MixersAlign *mixers_align; + // Asset manager AWindow *awindow; // Automation window