#include "add_route_dialog.h"
#include "ardour_dialog.h"
#include "ardour_window.h"
-#include "dsp_load_indicator.h"
-#include "disk_space_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; }
void toggle_monitor_section_visibility ();
void toggle_keep_tearoffs();
+ void toggle_vca_pane();
+#ifdef MIXBUS
+ void toggle_mixbus_pane();
+#endif
+
void reset_focus (Gtk::Widget*);
static PublicEditor* _instance;
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 ();
ShuttleControl shuttle_box;
MiniTimeline mini_timeline;
TimeInfoBox* time_info_box;
- DspLoadIndicator dsp_load_indicator;
- DiskSpaceIndicator disk_space_indicator;
- ArdourWidgets::ArdourVSpacer status_spacer;
+
+ 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*);