X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=637cc117103242ac23f33bf86c064fb5ec475277;hb=bc38f2c48969be068b93525bdbcce6c1ff4e1d7c;hp=737cb110af0ed8c2f43059818e158e026375a126;hpb=9197116a1a20a2db32dc071aaf9bbac84204b86b;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 737cb110af..637cc11710 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -91,6 +91,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" @@ -202,6 +203,12 @@ public: static ARDOUR_UI *instance () { return theArdourUI; } + /* signal emitted when escape key is pressed. All UI components that + need to respond to Escape in some way (e.g. break drag, clear + selection, etc) should connect to and handle this. + */ + PBD::Signal0 Escape; + PublicEditor& the_editor() { return *editor;} Mixer_UI* the_mixer() { return mixer; } @@ -212,6 +219,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 @@ -226,6 +235,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; @@ -255,6 +265,7 @@ 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 (); @@ -274,6 +285,7 @@ public: void session_add_vca (std::string const &, uint32_t); + 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_track ( int input_channels, int32_t output_channels, @@ -281,9 +293,10 @@ public: ARDOUR::RouteGroup* route_group, uint32_t how_many, std::string const & name_template, - bool strict_io + bool strict_io, + ARDOUR::PresentationInfo::order_t order ) { - session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many, name_template, strict_io); + session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many, name_template, strict_io, order); } void session_add_audio_bus ( @@ -292,9 +305,10 @@ public: ARDOUR::RouteGroup* route_group, uint32_t how_many, std::string const & name_template, - bool strict_io + bool strict_io, + ARDOUR::PresentationInfo::order_t order ) { - session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many, name_template, strict_io); + session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many, name_template, strict_io, order); } void session_add_midi_track ( @@ -303,15 +317,20 @@ public: std::string const & name_template, bool strict_io, ARDOUR::PluginInfoPtr instrument, - ARDOUR::Plugin::PresetRecord* preset = NULL) { - session_add_midi_route (true, route_group, how_many, name_template, strict_io, instrument, preset); + ARDOUR::Plugin::PresetRecord* preset, + ARDOUR::PresentationInfo::order_t order + ) { + session_add_midi_route (true, route_group, how_many, name_template, strict_io, instrument, preset, order); } - void session_add_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*); - void session_add_midi_bus (ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*); - void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool); - void session_add_midi_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*); - + void session_add_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, + ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord* pset, + ARDOUR::PresentationInfo::order_t order); + void session_add_midi_bus (ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord* pset, + ARDOUR::PresentationInfo::order_t order); + void session_add_midi_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool, + ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*, + ARDOUR::PresentationInfo::order_t order); void display_insufficient_ports_message (); void attach_to_engine (); @@ -360,6 +379,8 @@ public: Gtkmm2ext::ActionMap global_actions; + ARDOUR::PresentationInfo::order_t translate_order (RouteDialogs::InsertAt); + protected: friend class PublicEditor; @@ -401,7 +422,7 @@ private: void button_change_tabbable_visibility (Gtkmm2ext::Tabbable*); void key_change_tabbable_visibility (Gtkmm2ext::Tabbable*); void toggle_editor_and_mixer (); - + void tabbable_state_change (Gtkmm2ext::Tabbable&); void toggle_meterbridge (); @@ -663,8 +684,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 (); - void setup_order_hint (AddRouteDialog::InsertAt); int create_mixer (); int create_editor (); @@ -720,7 +741,7 @@ private: void install_actions (); - void toggle_record_enable (uint32_t); + void toggle_record_enable (uint16_t); uint32_t rec_enabled_streams; void count_recenabled_streams (ARDOUR::Route&); @@ -869,6 +890,10 @@ private: void step_up_through_tabs (); void step_down_through_tabs (); + + void escape (); + void close_current_dialog (); + void pre_release_dialog (); }; #endif /* __ardour_gui_h__ */