X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=d6b897a42f4e812c2c0787b0f2ddf3347011f89e;hb=e00d35f1e8f71f26e8341b3a26f91adb47b410df;hp=93dc47ff1210d8c430ead39ed48eb823e9683c90;hpb=4cd6d52013dc60d65c2872d9d6e87e83e85cff95;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 93dc47ff12..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" @@ -91,6 +94,7 @@ #include "location_ui.h" #include "lua_script_manager.h" #include "rc_option_editor.h" +#include "route_dialogs.h" #include "route_params_ui.h" #include "session_option_editor.h" #include "speaker_dialog.h" @@ -114,6 +118,7 @@ class GlobalPortMatrixWindow; class VideoTimeLine; class ArdourKeyboard; +class ArdourVSpacer; class AudioClock; class ButtonJoiner; class ConnectionEditor; @@ -125,7 +130,6 @@ class PublicEditor; class SaveAsDialog; class SessionDialog; class SessionOptionEditorWindow; -class ShuttleControl; class Splash; class TimeInfoBox; class Meterbridge; @@ -218,6 +222,8 @@ public: void toggle_monitor_section_visibility (); void toggle_keep_tearoffs(); + void reset_focus (Gtk::Widget*); + static PublicEditor* _instance; /** Emitted frequently with the audible frame, false, and the edit point as @@ -232,6 +238,7 @@ public: XMLNode* main_window_settings() const; XMLNode* editor_settings() const; + XMLNode* preferences_settings() const; XMLNode* mixer_settings () const; XMLNode* keyboard_settings () const; XMLNode* tearoff_settings (const char*) const; @@ -250,8 +257,6 @@ public: void focus_on_clock (); AudioClock* big_clock; - TimeInfoBox* time_info_box; - VideoTimeLine *video_timeline; void store_clock_modes (); @@ -261,15 +266,13 @@ public: void synchronize_sync_source_and_video_pullup (); void add_route (); + void add_route_dialog_finished (int); void add_routes_part_two (); void add_routes_thread (); 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); @@ -374,6 +377,8 @@ public: Gtkmm2ext::ActionMap global_actions; + ARDOUR::PresentationInfo::order_t translate_order (RouteDialogs::InsertAt); + protected: friend class PublicEditor; @@ -384,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 (); @@ -466,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 { @@ -519,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; @@ -564,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 (); @@ -633,6 +652,7 @@ private: void edit_metadata (); void import_metadata (); + void set_loop_sensitivity (); void set_transport_sensitivity (bool); //stuff for ProTools-style numpad @@ -653,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 (); @@ -677,8 +699,8 @@ private: bool save_as_progress_update (float fraction, int64_t cnt, int64_t total, Gtk::Label* label, Gtk::ProgressBar* bar); void save_session_as (); + void archive_session (); void rename_session (); - ARDOUR::PresentationInfo::order_t translate_order (AddRouteDialog::InsertAt); int create_mixer (); int create_editor (); @@ -787,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 (); @@ -826,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; @@ -885,6 +908,11 @@ private: void step_down_through_tabs (); 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__ */