X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=633cdd06a6756614e1a0077502718e0f448fb233;hb=154f9825ff72d691ba550de573948424b81a09a6;hp=f714e031343c1069b0847c984e2e721b7a92d6dc;hpb=aab787f686e6287a06ba94ed8c87b524c4690f0f;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index f714e03134..633cdd06a6 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -87,6 +87,7 @@ #include "about.h" #include "add_video_dialog.h" #include "big_clock_window.h" +#include "big_transport_window.h" #include "bundle_manager.h" #include "engine_dialog.h" #include "export_video_dialog.h" @@ -95,16 +96,19 @@ #include "keyeditor.h" #include "location_ui.h" #include "lua_script_manager.h" +#include "plugin_dspload_window.h" #include "rc_option_editor.h" #include "route_dialogs.h" #include "route_params_ui.h" #include "session_option_editor.h" #include "speaker_dialog.h" +#include "transport_masters_dialog.h" #else class About; class AddRouteDialog; class AddVideoDialog; class BigClockWindow; +class BigTransportWindow; class BundleManager; class EngineControl; class ExportVideoDialog; @@ -117,6 +121,8 @@ class SessionOptionEditor; class SpeakerDialog; class GlobalPortMatrixWindow; class IdleOMeter; +class PluginDSPLoadWindow; +class TransportMastersWindow; #endif class VideoTimeLine; @@ -159,6 +165,8 @@ namespace ArdourWidgets { class Tabbable; } +#define MAX_LUA_ACTION_SCRIPTS 12 + class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr, public TransportControlProvider { public: @@ -187,7 +195,6 @@ public: void finish(); int load_session (const std::string& path, const std::string& snapshot, std::string mix_template = std::string()); - bool session_loaded; bool session_load_in_progress; int build_session (const std::string& path, const std::string& snapshot, ARDOUR::BusProfile*); bool session_is_new() const { return _session_is_new; } @@ -196,6 +203,9 @@ public: bool get_smart_mode () const; + RCOptionEditor* get_rc_option_editor() { return rc_option_editor; } + void show_tabbable (ArdourWidgets::Tabbable*); + int get_session_parameters (bool quit_on_cancel, bool should_be_new = false, std::string load_template = ""); int build_session_from_dialog (SessionDialog&, const std::string& session_name, const std::string& session_path); bool ask_about_loading_existing_session (const std::string& session_path); @@ -221,8 +231,6 @@ public: void new_midi_tracer_window (); void toggle_editing_space(); void toggle_mixer_space(); - void toggle_mixer_list(); - void toggle_monitor_section_visibility (); void toggle_keep_tearoffs(); void reset_focus (Gtk::Widget*); @@ -284,7 +292,8 @@ public: void flush_videotimeline_cache (bool localcacheonly=false); void export_video (bool range = false); - void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool, ARDOUR::PresentationInfo::order_t order); + void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *, + uint32_t, std::string const &, bool, ARDOUR::PresentationInfo::order_t order); void session_add_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*, uint32_t, std::string const &, bool strict_io, @@ -299,6 +308,8 @@ public: ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*, ARDOUR::PresentationInfo::order_t order); + void session_add_foldback_bus (uint32_t, std::string const &); + void display_insufficient_ports_message (); void attach_to_engine (); @@ -345,8 +356,6 @@ public: bool tabbed_window_state_event_handler (GdkEventWindowState*, void* object); bool key_event_handler (GdkEventKey*, Gtk::Window* window); - Gtkmm2ext::ActionMap global_actions; - ARDOUR::PresentationInfo::order_t translate_order (RouteDialogs::InsertAt); std::map route_setup_info (const std::string& script_path); @@ -354,6 +363,11 @@ public: protected: friend class PublicEditor; + void toggle_use_monitor_section (); + void monitor_dim_all (); + void monitor_cut_all (); + void monitor_mono (); + void toggle_auto_play (); void toggle_auto_input (); void toggle_punch (); @@ -388,7 +402,6 @@ private: bool _initial_verbose_plugin_scan; bool first_time_engine_run; - void show_tabbable (ArdourWidgets::Tabbable*); void hide_tabbable (ArdourWidgets::Tabbable*); void detach_tabbable (ArdourWidgets::Tabbable*); void attach_tabbable (ArdourWidgets::Tabbable*); @@ -481,9 +494,13 @@ private: void toggle_time_master (); void toggle_video_sync (); - ShuttleControl shuttle_box; - MiniTimeline mini_timeline; - TimeInfoBox *time_info_box; + ShuttleControl shuttle_box; + MiniTimeline mini_timeline; + TimeInfoBox* time_info_box; + + + ArdourWidgets::ArdourVSpacer meterbox_spacer; + ArdourWidgets::ArdourVSpacer meterbox_spacer2; ArdourWidgets::ArdourButton auto_return_button; ArdourWidgets::ArdourButton follow_edits_button; @@ -494,11 +511,11 @@ private: ArdourWidgets::ArdourButton feedback_alert_button; ArdourWidgets::ArdourButton error_alert_button; - ArdourWidgets::ArdourButton action_script_call_btn[10]; + ArdourWidgets::ArdourButton action_script_call_btn[MAX_LUA_ACTION_SCRIPTS]; Gtk::Table action_script_table; Gtk::VBox alert_box; - Gtk::VBox meter_box; + Gtk::Table editor_meter_table; ArdourWidgets::ArdourButton editor_meter_peak_display; LevelMeterHBox * editor_meter; float editor_meter_max_peak; @@ -553,24 +570,19 @@ private: Gtk::Label wall_clock_label; gint update_wall_clock (); - Gtk::Label disk_space_label; + Gtk::Label disk_space_label; void update_disk_space (); + void format_disk_space_label (float); Gtk::Label timecode_format_label; void update_timecode_format (); - Gtk::Label cpu_load_label; + Gtk::Label dsp_load_label; void update_cpu_load (); - Gtk::Label xrun_label; - void update_xrun_count (); - Gtk::Label peak_thread_work_label; void update_peak_thread_work (); - Gtk::Label buffer_load_label; - void update_buffer_load (); - Gtk::Label sample_rate_label; void update_sample_rate (ARDOUR::samplecnt_t); @@ -672,6 +684,8 @@ private: WM::Proxy export_video_dialog; WM::Proxy lua_script_window; WM::Proxy idleometer; + WM::Proxy plugin_dsp_load_window; + WM::Proxy transport_masters_window; /* Windows/Dialogs that require a creator method */ @@ -679,6 +693,7 @@ private: WM::ProxyWithConstructor add_video_dialog; WM::ProxyWithConstructor bundle_manager; WM::ProxyWithConstructor big_clock_window; + WM::ProxyWithConstructor big_transport_window; WM::ProxyWithConstructor audio_port_matrix; WM::ProxyWithConstructor midi_port_matrix; WM::ProxyWithConstructor key_editor; @@ -689,6 +704,7 @@ private: BundleManager* create_bundle_manager (); AddVideoDialog* create_add_video_dialog (); BigClockWindow* create_big_clock_window(); + BigTransportWindow* create_big_transport_window(); GlobalPortMatrixWindow* create_global_port_matrix (ARDOUR::DataType); KeyEditor* create_key_editor (); @@ -773,9 +789,7 @@ private: void audioengine_setup (); - void display_message (const char *prefix, gint prefix_len, - Glib::RefPtr ptag, Glib::RefPtr mtag, - const char *msg); + void display_message (const char* prefix, gint prefix_len, Glib::RefPtr, Glib::RefPtr, const char* msg); Gtk::Label status_bar_label; bool status_bar_button_press (GdkEventButton*); @@ -847,7 +861,6 @@ private: bool main_window_delete_event (GdkEventAny*); bool idle_ask_about_quit (); - void load_bindings (); bool tabbable_visibility_button_press (GdkEventButton* ev, std::string const& tabbable_name); void step_up_through_tabs ();