X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=93a9a0ef73b2da7dfa61335dd75a908521bcc3d9;hb=7c6a62452dcbfa2196fee44fa411c27c65505c3b;hp=de658ff477d1d1c4325e77757e3df85a342ae6d0;hpb=58124e7544a3e65139f9c44f5fe5d650da7df631;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index de658ff477..93a9a0ef73 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -73,9 +73,11 @@ #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" @@ -88,6 +90,7 @@ #include "engine_dialog.h" #include "export_video_dialog.h" #include "global_port_matrix.h" +#include "idleometer.h" #include "keyeditor.h" #include "location_ui.h" #include "lua_script_manager.h" @@ -112,10 +115,12 @@ class RouteParams_UI; class SessionOptionEditor; class SpeakerDialog; class GlobalPortMatrixWindow; +class IdleOMeter; #endif class VideoTimeLine; class ArdourKeyboard; +class ArdourVSpacer; class AudioClock; class ButtonJoiner; class ConnectionEditor; @@ -128,7 +133,7 @@ class SaveAsDialog; class SessionDialog; class SessionOptionEditorWindow; class Splash; -class MiniTimeline; +class TimeInfoBox; class Meterbridge; class LuaWindow; class MidiTracer; @@ -253,7 +258,6 @@ public: MainClock* secondary_clock; void focus_on_clock (); AudioClock* big_clock; - MiniTimeline* mini_timeline; VideoTimeLine *video_timeline; @@ -271,9 +275,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); @@ -390,6 +391,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 (); @@ -431,8 +434,6 @@ private: void setup_transport (); void setup_clock (); - bool transport_expose (GdkEventExpose*); - static ARDOUR_UI *theArdourUI; SessionDialog *_session_dialog; @@ -478,6 +479,10 @@ private: Gtk::Frame transport_frame; Gtk::HBox transport_hbox; + ArdourVSpacer *secondary_clock_spacer; + void repack_transport_hbox (); + void update_clock_visibility (); + struct TransportControllable : public PBD::Controllable { enum ToggleType { Roll = 0, @@ -521,18 +526,29 @@ private: 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; + 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; @@ -551,6 +567,11 @@ private: ArdourButton editor_meter_peak_display; bool editor_meter_peak_button_release (GdkEventButton*); + bool editor_meter_button_press (GdkEventButton* ev); + void popup_editor_meter_menu (GdkEventButton* ev); + void add_editor_meter_type_item (Gtk::Menu_Helpers::MenuList&, Gtk::RadioMenuItem::Group&, std::string const &, ARDOUR::MeterType); + bool _suspend_editor_meter_callbacks; + void blink_handler (bool); sigc::connection blink_connection; @@ -638,6 +659,7 @@ private: void edit_metadata (); void import_metadata (); + void set_loop_sensitivity (); void set_transport_sensitivity (bool); //stuff for ProTools-style numpad @@ -658,6 +680,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 (); @@ -707,6 +731,7 @@ private: WM::Proxy audio_midi_setup; WM::Proxy export_video_dialog; WM::Proxy lua_script_window; + WM::Proxy idleometer; /* Windows/Dialogs that require a creator method */ @@ -792,7 +817,6 @@ private: std::vector positional_sync_strings; - void toggle_send_midi_feedback (); void toggle_use_mmc (); void toggle_send_mmc (); void toggle_send_mtc (); @@ -819,6 +843,7 @@ private: PBD::ScopedConnectionList forever_connections; PBD::ScopedConnection halt_connection; + PBD::ScopedConnection editor_meter_connection; void step_edit_status_change (bool); @@ -831,6 +856,7 @@ 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; @@ -893,6 +919,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__ */