X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Feditpanel.h;h=2f3b40edb2a30284b72990c6bfa29673ad660b49;hb=a6b1f3c0c5c17c3a26758abc46bcb46100308c66;hp=9e0d3bcb3725c5d48a624e6d7c887a6c8b16453c;hpb=b5bfe3e40a7255ae60a21d885587ada6e145e3d5;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/editpanel.h b/cinelerra-5.1/cinelerra/editpanel.h index 9e0d3bcb..2f3b40ed 100644 --- a/cinelerra-5.1/cinelerra/editpanel.h +++ b/cinelerra-5.1/cinelerra/editpanel.h @@ -25,6 +25,7 @@ #include "bcdialog.h" #include "guicast.h" #include "editpanel.inc" +#include "localsession.inc" #include "meterpanel.inc" #include "mwindow.inc" #include "manualgoto.inc" @@ -355,6 +356,7 @@ public: void toggle_event(); int translation_event(); int resize_event(int w, int h); + void update_scope(); MWindow *mwindow; EditPanelScopeDialog *dialog; @@ -366,6 +368,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); @@ -377,6 +380,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: @@ -387,6 +405,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 { @@ -410,7 +493,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); @@ -448,6 +533,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; @@ -473,6 +559,8 @@ public: int use_goto; int use_clk2play; int use_scope; + int use_gang_tracks; + int use_timecode; EditFit *fit; EditFitAutos *fit_autos; @@ -488,6 +576,7 @@ public: EditManualGoto *mangoto; EditClick2Play *click2play; EditPanelScope *scope; + EditPanelTimecode *timecode; EditPanelScopeDialog *scope_dialog; EditCopy *copy; EditPaste *paste; @@ -496,6 +585,7 @@ public: EditNextLabel *nextlabel; EditPrevEdit *prevedit; EditNextEdit *nextedit; + EditPanelGangTracks *gang_tracks; EditUndo *undo; EditRedo *redo; MeterShow *meters;