X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=3eeab1c85fce15e4054c68f4925f4fdca9c2c72d;hb=b998b8f761aaf1b8e61633f6054a6e9aa5d6c204;hp=0b22928c568ac05ac2a41e4eb504630bd9b41011;hpb=e77b5261d2811a1ad139afc29250e3a3337c455d;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 0b22928c56..3eeab1c85f 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -64,9 +64,12 @@ #include "ardour/session_handle.h" #include "ardour_dialog.h" +#include "ardour_button.h" #include "editing.h" #include "ui_config.h" #include "window_proxy.h" +#include "enums.h" +#include "visibility_group.h" class About; class AddRouteDialog; @@ -90,6 +93,7 @@ class TimeInfoBox; class MidiTracer; class WindowProxyBase; class GlobalPortMatrixWindow; +class GUIObjectState; namespace Gtkmm2ext { class TearOff; @@ -102,6 +106,7 @@ namespace ARDOUR { class Route; class RouteGroup; class Location; + class ProcessThread; } class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr @@ -193,10 +198,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void xrun_handler (framepos_t); void create_xrun_marker (framepos_t); + GUIObjectState* gui_object_state; + AudioClock* primary_clock; AudioClock* secondary_clock; - AudioClock* preroll_clock; - AudioClock* postroll_clock; TimeInfoBox* time_info_box; @@ -261,6 +266,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void add_window_proxy (WindowProxyBase *); void remove_window_proxy (WindowProxyBase *); + void get_process_buffers (); + void drop_process_buffers (); + protected: friend class PublicEditor; @@ -292,9 +300,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void toggle_mixer_window (); void toggle_mixer_on_top (); - Gtk::ToggleButton preroll_button; - Gtk::ToggleButton postroll_button; - int setup_windows (); void setup_transport (); void setup_clock (); @@ -398,8 +403,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void set_value (double); double get_value (void) const; - void set_id (const std::string&); - ARDOUR_UI& ui; ToggleType type; }; @@ -417,14 +420,14 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void set_transport_controllable_state (const XMLNode&); XMLNode& get_transport_controllable_state (); - BindableButton roll_button; - BindableButton stop_button; - BindableButton goto_start_button; - BindableButton goto_end_button; - BindableButton auto_loop_button; - BindableButton play_selection_button; - BindableButton rec_button; - BindableToggleButton join_play_range_button; + ArdourButton roll_button; + ArdourButton stop_button; + ArdourButton goto_start_button; + ArdourButton goto_end_button; + ArdourButton auto_loop_button; + ArdourButton play_selection_button; + ArdourButton rec_button; + ArdourButton join_play_range_button; void toggle_external_sync (); void toggle_time_master (); @@ -432,23 +435,22 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr ShuttleControl* shuttle_box; - Gtkmm2ext::StatefulToggleButton punch_in_button; - Gtkmm2ext::StatefulToggleButton punch_out_button; - Gtkmm2ext::StatefulToggleButton auto_return_button; - Gtkmm2ext::StatefulToggleButton auto_play_button; - Gtkmm2ext::StatefulToggleButton auto_input_button; - Gtkmm2ext::StatefulToggleButton click_button; - Gtkmm2ext::StatefulToggleButton time_master_button; - Gtkmm2ext::StatefulToggleButton sync_button; + ArdourButton auto_return_button; + ArdourButton auto_play_button; + ArdourButton auto_input_button; + ArdourButton click_button; + ArdourButton sync_button; - Gtk::ToggleButton auditioning_alert_button; - Gtk::ToggleButton solo_alert_button; + ArdourButton auditioning_alert_button; + ArdourButton solo_alert_button; + ArdourButton feedback_alert_button; Gtk::VBox alert_box; void solo_blink (bool); void sync_blink (bool); void audition_blink (bool); + void feedback_blink (bool); void soloing_changed (bool); void auditioning_changed (bool); @@ -456,6 +458,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr bool solo_alert_press (GdkEventButton* ev); bool audition_alert_press (GdkEventButton* ev); + bool feedback_alert_press (GdkEventButton *); void big_clock_value_changed (); void primary_clock_value_changed (); @@ -522,6 +525,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr Gtk::EventBox sample_rate_box; void update_sample_rate (ARDOUR::framecnt_t); + Gtk::Label format_label; + Gtk::EventBox format_box; + void update_format (); + gint every_second (); gint every_point_one_seconds (); gint every_point_zero_one_seconds (); @@ -573,6 +580,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr guint32 last_key_press_time; void snapshot_session (bool switch_to_it); + void rename_session (); Mixer_UI *mixer; int create_mixer (); @@ -675,6 +683,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void toggle_use_osc (); void parameter_changed (std::string); + void session_parameter_changed (std::string); bool first_idle (); @@ -700,10 +709,14 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void step_edit_status_change (bool); + void platform_specific (); + void platform_setup (); + /* these are used only in response to a platform-specific "ShouldQuit" signal */ bool idle_finish (); void queue_finish (); + void fontconfig_dialog (); std::list _window_proxies; @@ -711,6 +724,23 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr int ambiguous_file (std::string file, std::string path, std::vector hits); bool click_button_clicked (GdkEventButton *); + + VisibilityGroup _status_bar_visibility; + + /** A ProcessThread so that we have some thread-local buffers for use by + * PluginEqGui::impulse_analysis (). + */ + ARDOUR::ProcessThread* _process_thread; + + void feedback_detected (); + + ArdourButton midi_panic_button; + void midi_panic (); + + void successful_graph_sort (); + bool _feedback_exists; + + void resize_text_widgets (); }; #endif /* __ardour_gui_h__ */