X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=inline;f=gtk2_ardour%2Fardour_ui.h;h=d6b897a42f4e812c2c0787b0f2ddf3347011f89e;hb=d0286d3df184f7ca05c148a2045d18cfb3113a68;hp=637cc117103242ac23f33bf86c064fb5ec475277;hpb=8fd4d32789b5abea974d7fe482e516d6437fcb44;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 637cc11710..d6b897a42f 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -73,9 +73,12 @@ #include "add_route_dialog.h" #include "ardour_button.h" #include "ardour_dialog.h" +#include "ardour_spacer.h" #include "ardour_window.h" #include "editing.h" #include "enums.h" +#include "mini_timeline.h" +#include "shuttle_control.h" #include "visibility_group.h" #include "window_manager.h" @@ -115,6 +118,7 @@ class GlobalPortMatrixWindow; class VideoTimeLine; class ArdourKeyboard; +class ArdourVSpacer; class AudioClock; class ButtonJoiner; class ConnectionEditor; @@ -126,7 +130,6 @@ class PublicEditor; class SaveAsDialog; class SessionDialog; class SessionOptionEditorWindow; -class ShuttleControl; class Splash; class TimeInfoBox; class Meterbridge; @@ -254,8 +257,6 @@ public: void focus_on_clock (); AudioClock* big_clock; - TimeInfoBox* time_info_box; - VideoTimeLine *video_timeline; void store_clock_modes (); @@ -272,9 +273,6 @@ public: void start_duplicate_routes (); - void add_lua_script (); - void remove_lua_script (); - void add_video (Gtk::Window* float_window); void remove_video (); void start_video_server_menu (Gtk::Window* float_window); @@ -391,6 +389,8 @@ protected: bool ignore_dual_punch; void toggle_punch_in (); void toggle_punch_out (); + void toggle_session_monitoring_in (); + void toggle_session_monitoring_disk (); void show_loop_punch_ruler_and_disallow_hide (); void reenable_hide_loop_punch_ruler_if_appropriate (); void toggle_auto_return (); @@ -473,19 +473,13 @@ private: /* Transport Control */ + Gtk::Table transport_table; Gtk::Frame transport_frame; Gtk::HBox transport_hbox; - Gtk::Fixed transport_base; - Gtk::Fixed transport_button_base; - Gtk::Frame transport_button_frame; - Gtk::HBox transport_button_hbox; - Gtk::VBox transport_button_vbox; - Gtk::HBox transport_option_button_hbox; - Gtk::VBox transport_option_button_vbox; - Gtk::HBox transport_clock_hbox; - Gtk::VBox transport_clock_vbox; - Gtk::HBox primary_clock_hbox; - Gtk::HBox secondary_clock_hbox; + + ArdourVSpacer *secondary_clock_spacer; + void repack_transport_hbox (); + void update_clock_visibility (); struct TransportControllable : public PBD::Controllable { enum ToggleType { @@ -526,16 +520,33 @@ private: ArdourButton auto_loop_button; ArdourButton play_selection_button; ArdourButton rec_button; + ArdourButton punch_in_button; + ArdourButton punch_out_button; + ArdourButton layered_button; + + ArdourVSpacer recpunch_spacer; + ArdourVSpacer monitoring_spacer; + + ArdourButton monitor_in_button; + ArdourButton monitor_disk_button; + ArdourButton auto_input_button; + + Gtk::Label punch_label; + Gtk::Label layered_label; + + Gtk::Label punch_space; + Gtk::Label mon_space; void toggle_external_sync (); void toggle_time_master (); void toggle_video_sync (); - ShuttleControl* shuttle_box; + ShuttleControl shuttle_box; + MiniTimeline mini_timeline; + TimeInfoBox *time_info_box; ArdourButton auto_return_button; ArdourButton follow_edits_button; - ArdourButton auto_input_button; ArdourButton click_button; ArdourButton sync_button; @@ -571,10 +582,11 @@ private: void _auditioning_changed (bool); bool solo_alert_press (GdkEventButton* ev); - bool audition_alert_press (GdkEventButton* ev); - bool feedback_alert_press (GdkEventButton *); + void audition_alert_clicked (); bool error_alert_press (GdkEventButton *); + void layered_button_clicked (); + void big_clock_value_changed (); void primary_clock_value_changed (); void secondary_clock_value_changed (); @@ -640,6 +652,7 @@ private: void edit_metadata (); void import_metadata (); + void set_loop_sensitivity (); void set_transport_sensitivity (bool); //stuff for ProTools-style numpad @@ -660,6 +673,8 @@ private: void transport_roll (); void transport_play_selection(); void transport_play_preroll(); + void transport_rec_preroll(); + void transport_rec_count_in(); void transport_forward (int option); void transport_rewind (int option); void transport_loop (); @@ -794,7 +809,6 @@ private: std::vector positional_sync_strings; - void toggle_send_midi_feedback (); void toggle_use_mmc (); void toggle_send_mmc (); void toggle_send_mtc (); @@ -833,6 +847,8 @@ private: int ambiguous_file (std::string file, std::vector hits); bool click_button_clicked (GdkEventButton *); + bool click_button_scroll (GdkEventScroll *); + bool sync_button_clicked (GdkEventButton *); VisibilityGroup _status_bar_visibility; @@ -894,6 +910,9 @@ private: void escape (); void close_current_dialog (); void pre_release_dialog (); + + bool bind_lua_action_script (GdkEventButton*, int); + void update_action_script_btn (int i, const std::string&); }; #endif /* __ardour_gui_h__ */