X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Feditpanel.h;h=5a2bafe4a23e5953e33481b7fd8528df9c06657a;hp=c5064dd0e9a9ded4abca01e6a5534917bccefd5b;hb=c9c0e07706fad701a70ee0d1ffb0fcb6304f138c;hpb=e1e5dee5935f9f416a31014906a7e0dfacb10c02 diff --git a/cinelerra-5.1/cinelerra/editpanel.h b/cinelerra-5.1/cinelerra/editpanel.h index c5064dd0..5a2bafe4 100644 --- a/cinelerra-5.1/cinelerra/editpanel.h +++ b/cinelerra-5.1/cinelerra/editpanel.h @@ -367,6 +367,7 @@ public: EditPanelScopeDialog(MWindow *mwindow, EditPanel *panel); ~EditPanelScopeDialog(); + void handle_close_event(int result); void handle_done_event(int result); BC_Window* new_gui(); void process(VFrame *output_frame); @@ -378,6 +379,21 @@ public: VFrame *output_frame; }; +class EditPanelGangTracks : public BC_Button +{ + static VFrame **gang_images[TOTAL_GANGS]; + static const char *gang_tips[TOTAL_GANGS]; +public: + EditPanelGangTracks(MWindow *mwindow, EditPanel *panel, int x, int y); + ~EditPanelGangTracks(); + VFrame **get_images(MWindow *mwindow); + void update(int gang); + int handle_event(); + EditPanel *panel; + MWindow *mwindow; +}; + + class EditPanelScope : public BC_Toggle { public: @@ -388,6 +404,71 @@ public: MWindow *mwindow; }; +class EditPanelTimecode : public BC_Button +{ +public: + EditPanelTimecode(MWindow *mwindow, EditPanel *panel, int x, int y); + ~EditPanelTimecode(); + int handle_event(); + MWindow *mwindow; + EditPanel *panel; + EditPanelTcDialog *tc_dialog; +}; + +class EditPanelTcDialog : public BC_DialogThread +{ +public: + EditPanelTcDialog(MWindow *mwindow, EditPanel *panel); + ~EditPanelTcDialog(); + BC_Window *new_gui(); + void start_dialog(int px, int py); + void handle_done_event(int result); + + MWindow *mwindow; + EditPanel *panel; + EditPanelTcWindow *tc_gui; + int px, py; +}; + +class EditPanelTcWindow : public BC_Window +{ +public: + EditPanelTcWindow(EditPanelTcDialog *tc_dialog, int x, int y); + ~EditPanelTcWindow(); + void create_objects(); + double get_timecode(); + void update(double timecode); + + EditPanelTcDialog *tc_dialog; + EditPanelTcInt *hours; + EditPanelTcInt *minutes; + EditPanelTcInt *seconds; + EditPanelTcInt *frames; +}; + +class EditPanelTcInt : public BC_TextBox +{ +public: + EditPanelTcInt(EditPanelTcWindow *window, int x, int y, int w, + int max, const char *format); + ~EditPanelTcInt(); + int handle_event(); + int keypress_event(); + void update(int v); + + EditPanelTcWindow *window; + int max, digits; + const char *format; +}; + +class EditPanelTcReset : public BC_Button +{ +public: + EditPanelTcReset(EditPanelTcWindow *window, int x, int y); + int handle_event(); + + EditPanelTcWindow *window; +}; class EditPanel { @@ -411,7 +492,9 @@ public: int use_commerical, int use_goto, int use_clk2play, - int use_scope); + int use_scope, + int use_gang_tracks, + int use_timecode); ~EditPanel(); void set_meters(MeterPanel *meter_panel); @@ -449,6 +532,7 @@ public: virtual void panel_set_auto_keyframes(int v) = 0; virtual void panel_set_span_keyframes(int v) = 0; virtual void panel_set_labels_follow_edits(int v) = 0; + virtual void panel_set_gang_tracks(int mode) = 0; MWindow *mwindow; BC_WindowBase *subwindow; @@ -474,6 +558,8 @@ public: int use_goto; int use_clk2play; int use_scope; + int use_gang_tracks; + int use_timecode; EditFit *fit; EditFitAutos *fit_autos; @@ -489,6 +575,7 @@ public: EditManualGoto *mangoto; EditClick2Play *click2play; EditPanelScope *scope; + EditPanelTimecode *timecode; EditPanelScopeDialog *scope_dialog; EditCopy *copy; EditPaste *paste; @@ -497,6 +584,7 @@ public: EditNextLabel *nextlabel; EditPrevEdit *prevedit; EditNextEdit *nextedit; + EditPanelGangTracks *gang_tracks; EditUndo *undo; EditRedo *redo; MeterShow *meters;