X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.h;h=e938b743c8fb7beaa4566bc1e7c16ee1e9a4cdca;hb=5d8a7826b0f80f00622e46baf75453995a76e343;hp=0e6db95ec52ee2dd6489cc674838e20284e451dc;hpb=03fa86e6dc495f9444ae14dad401b1ad6de793fe;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index 0e6db95e..e938b743 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -72,6 +72,7 @@ #include "playback3d.inc" #include "playbackengine.inc" #include "plugin.inc" +#include "pluginclient.inc" #include "pluginfclient.inc" #include "pluginserver.inc" #include "pluginset.inc" @@ -104,6 +105,18 @@ #define FONT_SEARCHPATH "fonts" +class StackItem +{ +public: + EDL *edl, *new_edl; + MainUndo *undo; +}; + +class Stack : public ArrayList +{ +public: +}; + class MWindow : public Thread { @@ -134,6 +147,12 @@ public: int get_tracks_height(); // Total horizontal pixels in timeline int get_tracks_width(); +// session stack + void stack_push(EDL *edl); + void stack_pop(); + void forget_nested_edl(EDL *nested); + void clip_to_media(); + void media_to_clip(); // Show windows void show_vwindow(); void show_awindow(); @@ -181,6 +200,7 @@ 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(); @@ -216,7 +236,7 @@ public: void create_mixers(double position = 0); void refresh_mixers(int dir=1); void stop_mixers(); - void close_mixers(int destroy=1); + void close_mixers(int result=1); void open_mixers(); ZWindow *get_mixer(Mixer *&mixer); void del_mixer(ZWindow *zwindow); @@ -231,7 +251,6 @@ public: // 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); @@ -288,6 +307,7 @@ public: void split_y(); void crop_video(int mode); void update_plugins(); + void get_backup_path(char *path, int len); // Call after every edit operation void save_backup(); void load_backup(); @@ -304,11 +324,16 @@ 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 // they can run. int plugin_gui_open(Plugin *plugin); + void stop_plugin_guis(); void show_keyframe_gui(Plugin *plugin); void hide_keyframe_guis(); @@ -558,6 +583,8 @@ public: // Main undo stack MainUndo *undo; int undo_command; +// session stack + Stack stack; BC_Hash *defaults; Assets *assets;