X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.h;h=d7e54b1cba31e3cd1d144ae34ba5463e2f5648e5;hp=d6d3a42998c8e5faf470a16c7565b672d322d466;hb=45a8ba3455cf252332c03533a7590df5267ce9aa;hpb=bddf34d0b865e2a0df03926eae45caa038d4f787 diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index d6d3a429..d7e54b1c 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,29 @@ public: }; +class DrawTrackMovement : public Thread +{ +public: + DrawTrackMovement(MWindow *mwindow); + ~DrawTrackMovement(); + void run(); + + MWindow *mwindow; +}; + +class ConfirmRefWindow : public BC_Window +{ +public: + ConfirmRefWindow(MWindow *mwindow, char *path, + int px, int py, int cw, int ch); + ~ConfirmRefWindow(); + void create_objects(); + + MWindow *mwindow; + const char *path; +}; + + class MWindow : public Thread { public: @@ -228,6 +253,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); @@ -269,12 +297,16 @@ 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(); + int masters_to_mixers(); + void mix_masters(); + void set_gang_tracks(int v); int load_filenames(ArrayList *filenames, int load_mode = LOADMODE_REPLACE, int edl_mode = LOADMODE_EDL_CLIP, @@ -288,6 +320,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 @@ -300,7 +334,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); @@ -311,6 +346,9 @@ public: void toggle_projector_xyz(); double get_position(); void set_position(double position); + double get_timecode_offset(); + void set_timecode_offset(double offset); + void align_timecodes(); // seek to labels // shift_down must be passed by the caller because different windows call @@ -387,13 +425,13 @@ public: AUDIO_5_1_TO_2, AUDIO_1_TO_1 }; - void add_audio_track_entry(int above, Track *dst); - int add_audio_track(int above, Track *dst); void add_clip_to_edl(EDL *edl); - void add_video_track_entry(Track *dst = 0); - int add_video_track(int above, Track *dst); - void add_subttl_track_entry(Track *dst = 0); - int add_subttl_track(int above, Track *dst); + void add_audio_track_entry(int above, Track *dst); + Track *add_audio_track(int above, Track *dst); + void add_video_track_entry(int above, Track *dst); + Track *add_video_track(int above, Track *dst); + void add_subttl_track_entry(int above, Track *dst); + Track *add_subttl_track(int above, Track *dst); void asset_to_all(); void asset_to_size(); @@ -409,6 +447,7 @@ public: void clear_hard_edges(); int clear_hard_edges(double start, double end); void clear_select(); + void select_edits(); void concatenate_tracks(); int copy_flags(int copy_flags=COPY_CLIPBOARD); void copy(); @@ -438,7 +477,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. @@ -479,6 +518,10 @@ public: void move_tracks_down(); void move_track_up(Track *track); void move_tracks_up(); + void swap_track_down(Track *track); + void swap_tracks_down(); + void swap_track_up(Track *track); + void swap_tracks_up(); void mute_selection(); void new_folder(const char *new_folder, int is_clips); void delete_folder(char *folder); @@ -522,7 +565,7 @@ public: void remove_indexfile(Indexable *indexable); void rebuild_indices(); // Asset removal from caches - void reset_caches(); + void reset_caches(int locked); void remove_from_caches(Indexable *idxbl); void remove_assets_from_project(int push_undo, int redraw, int delete_indexes, ArrayList *drag_assets /* mwindow->session->drag_assets */, @@ -571,6 +614,7 @@ public: // in the clipboard. int paste_default_keyframe(); int clear_default_keyframe(); + void create_keyframes(int mask, int mode); FloatAuto* get_float_auto(PatchGUI *patch,int idx); IntAuto* get_int_auto(PatchGUI *patch,int idx); @@ -594,6 +638,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(); @@ -795,8 +840,8 @@ public: 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); + int speed_after(int done, int edit_speed); + int normalize_speed(EDL *old_edl, EDL *new_edl, int edit_speed); int get_cpus(int out_w, int out_h); int get_cpus(); //