#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"
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<void> Escape;
+
PublicEditor& the_editor() { return *editor;}
Mixer_UI* the_mixer() { return mixer; }
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
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;
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 flush_videotimeline_cache (bool localcacheonly=false);
void export_video (bool range = false);
- void session_add_vca (std::string const &);
+ 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,
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 (
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 (
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 ();
Gtkmm2ext::ActionMap global_actions;
+ ARDOUR::PresentationInfo::order_t translate_order (RouteDialogs::InsertAt);
+
protected:
friend class PublicEditor;
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 ();
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 ();
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&);
void step_up_through_tabs ();
void step_down_through_tabs ();
+
+ void escape ();
+ void close_current_dialog ();
+ void pre_release_dialog ();
};
#endif /* __ardour_gui_h__ */