X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.h;h=d01f9ddb1299ec93dda1c127704148b9a6242e3c;hp=afbf356471ead585b07cc91929f5391c918d7792;hb=9ffdfbe8e6fa7daaad4dcfdd46b6ac7b6e7a47e8;hpb=32a609a6bd1181993569399ab51f314dc7cb4fba diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index afbf3564..d01f9ddb 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -112,8 +112,10 @@ class StackItem public: EDL *edl, *new_edl; Indexable *idxbl; + Edit *edit; MainUndo *undo; int64_t mtime; + double duration; }; class Stack : public ArrayList @@ -144,6 +146,17 @@ public: }; +class DrawTrackMovement : public Thread +{ +public: + DrawTrackMovement(MWindow *mwindow); + ~DrawTrackMovement(); + void run(); + + MWindow *mwindow; +}; + + class MWindow : public Thread { public: @@ -169,13 +182,17 @@ public: int load_defaults(); int save_defaults(); int set_filename(const char *filename); + int set_titlebar(const char *filename); // Total vertical pixels in timeline int get_tracks_height(); // Total horizontal pixels in timeline int get_tracks_width(); // session stack - void stack_push(EDL *edl, Indexable *idxbl); + void stack_push(EDL *edl, Indexable *idxbl, Edit *edit=0); void stack_pop(); + int save(EDL *edl, char *filename, int stat); + int save(int save_as); + void show_plugins(); void clip_to_media(); void media_to_clip(); int create_ref(Asset *asset, EDL *ref); @@ -224,6 +241,9 @@ public: int edit_plugins, int edit_autos, int overwrite); + void collect_effects(); + void paste_effects(); + // Reset everything for a load void update_project(int load_mode); void update_preferences(Preferences *prefs); @@ -265,12 +285,14 @@ public: void close_mixers(int result=1); void open_mixers(); ZWindow *get_mixer(Mixer *&mixer); - void del_mixer(ZWindow *zwindow); + ZWindow *get_mixer(int idx); + void close_mixer(ZWindow *zwindow); int mixer_track_active(Track *track); void update_mixer_tracks(); void start_mixer(); int select_zwindow(ZWindow *zwindow); void tile_mixers(); + void set_gang_tracks(int v); int load_filenames(ArrayList *filenames, int load_mode = LOADMODE_REPLACE, int edl_mode = LOADMODE_EDL_CLIP, @@ -284,6 +306,8 @@ public: int interrupt_indexes(); // Stop index building int redraw_time_dependancies(); // after reconfiguring the time format, sample rate, frame rate + void draw_trackmovement(); // after reconfiguring tracks/patchbay guis + DrawTrackMovement *redraw_tracks; // =========================================== movement @@ -296,7 +320,8 @@ public: int zoom_sample(int64_t zoom_sample); void zoom_autos(float min, float max); void zoom_amp(int64_t zoom_amp); - void zoom_track(int64_t zoom_track); + void zoom_atrack(int64_t zoom); + void zoom_vtrack(int64_t zoom); int fit_sample(); int move_left(int64_t distance = 0); int move_right(int64_t distance = 0); @@ -318,6 +343,7 @@ public: int prev_edit_handle(int shift_down); // seek to keyframes int nearest_plugin_keyframe(int shift_down, int dir); + int nearest_auto_keyframe(int shift_down, int dir); // offset is pixels to add to track_start void trackmovement(int offset, int pane_number); // view_start is pixels @@ -340,6 +366,7 @@ public: void load_backup(); void show_plugin(Plugin *plugin); void hide_plugin(Plugin *plugin, int lock); + void hide_plugin(int plugin_id, int lock); void hide_plugins(); void delete_plugin(PluginServer *plugin); // Update plugins with configuration changes. @@ -432,7 +459,7 @@ public: // TrackCanvas calls this to insert multiple effects from the drag_pluginservers // into pluginset_highlighted. - void insert_effects_canvas(double start, double length); + void insert_effects_canvas(Track *dest_track, double start, double length); // CWindow calls this to insert multiple effects from // the drag_pluginservers array. @@ -549,6 +576,7 @@ public: void redo_entry(BC_WindowBase *calling_window_gui); void save_undo_data(); void load_undo_data(); + void remove_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); @@ -587,6 +615,7 @@ public: void dump_edl(FILE *fp=stdout); void dump_undo(FILE *fp=stdout); void dump_exe(FILE *fp=stdout); + void dump_caches(FILE *fp=stdout); static void trap_hook(FILE *fp, void *vp); void reset_android_remote(); @@ -596,7 +625,7 @@ public: 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); + float beep, int to_proxy, int remove_originals); void finish_convert(int remove_originals); ConvertRender *convert_render; @@ -790,6 +819,8 @@ public: void speed_before(); int speed_after(int done); int normalize_speed(EDL *old_edl, EDL *new_edl); + int get_cpus(int out_w, int out_h); + int get_cpus(); // void clean_indexes(); // TimeBomb timebomb;