#include "add_route_dialog.h"
#include "ardour_dialog.h"
#include "ardour_window.h"
-#include "dsp_load_indicator.h"
#include "editing.h"
#include "enums.h"
#include "mini_timeline.h"
#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 SpeakerDialog;
class GlobalPortMatrixWindow;
class IdleOMeter;
+class PluginDSPLoadWindow;
+class TransportMastersWindow;
#endif
class VideoTimeLine;
class Tabbable;
}
+#define MAX_LUA_ACTION_SCRIPTS 12
+
class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr, public TransportControlProvider
{
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; }
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);
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*);
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,
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 ();
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<std::string, std::string> route_setup_info (const std::string& script_path);
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 ();
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*);
void toggle_time_master ();
void toggle_video_sync ();
- ShuttleControl shuttle_box;
- MiniTimeline mini_timeline;
- TimeInfoBox* time_info_box;
- DspLoadIndicator dsp_load_indicator;
+ 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;
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;
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);
WM::Proxy<ExportVideoDialog> export_video_dialog;
WM::Proxy<LuaScriptManager> lua_script_window;
WM::Proxy<IdleOMeter> idleometer;
+ WM::Proxy<PluginDSPLoadWindow> plugin_dsp_load_window;
+ WM::Proxy<TransportMastersWindow> transport_masters_window;
/* Windows/Dialogs that require a creator method */
void audioengine_setup ();
- void display_message (const char *prefix, gint prefix_len,
- Glib::RefPtr<Gtk::TextBuffer::Tag> ptag, Glib::RefPtr<Gtk::TextBuffer::Tag> mtag,
- const char *msg);
+ void display_message (const char* prefix, gint prefix_len, Glib::RefPtr<Gtk::TextBuffer::Tag>, Glib::RefPtr<Gtk::TextBuffer::Tag>, const char* msg);
Gtk::Label status_bar_label;
bool status_bar_button_press (GdkEventButton*);
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 ();