#include "global_port_matrix.h"
#include "keyeditor.h"
#include "location_ui.h"
+#include "lua_script_manager.h"
#include "rc_option_editor.h"
#include "route_params_ui.h"
#include "session_option_editor.h"
class ExportVideoDialog;
class KeyEditor;
class LocationUIWindow;
+class LuaScriptManager;
class RCOptionEditor;
class RouteParams_UI;
class SessionOptionEditor;
class PublicEditor;
class SaveAsDialog;
class SessionDialog;
-class SessionOptionEditor;
+class SessionOptionEditorWindow;
class ShuttleControl;
class Splash;
class TimeInfoBox;
class Meterbridge;
+class LuaWindow;
class MidiTracer;
class NSM_Client;
class LevelMeterHBox;
void toggle_monitor_section_visibility ();
void toggle_keep_tearoffs();
+ void lua_script_manager();
+
static PublicEditor* _instance;
/** Emitted frequently with the audible frame, false, and the edit point as
void start_duplicate_routes ();
+ void add_lua_script ();
+ void remove_lua_script ();
+
void add_video (Gtk::Window* float_window);
void remove_video ();
void start_video_server_menu (Gtk::Window* float_window);
ARDOUR::TrackMode mode,
ARDOUR::RouteGroup* route_group,
uint32_t how_many,
- std::string const & name_template
+ std::string const & name_template,
+ bool strict_io
) {
-
- session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many, name_template);
+ session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many, name_template, strict_io);
}
- void session_add_audio_bus (int input_channels, int32_t output_channels, ARDOUR::RouteGroup* route_group,
- uint32_t how_many, std::string const & name_template) {
- session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many, name_template);
+ void session_add_audio_bus (
+ int input_channels,
+ int32_t output_channels,
+ ARDOUR::RouteGroup* route_group,
+ uint32_t how_many,
+ std::string const & name_template,
+ bool strict_io
+ ) {
+ session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many, name_template, strict_io);
}
- void session_add_midi_track (ARDOUR::RouteGroup* route_group, uint32_t how_many, std::string const & name_template,
- ARDOUR::PluginInfoPtr instrument) {
- session_add_midi_route (true, route_group, how_many, name_template, instrument);
+ void session_add_midi_track (
+ ARDOUR::RouteGroup* route_group,
+ uint32_t how_many,
+ std::string const & name_template,
+ bool strict_io,
+ ARDOUR::PluginInfoPtr instrument) {
+ session_add_midi_route (true, route_group, how_many, name_template, strict_io, instrument);
}
- void session_add_mixed_track (const ARDOUR::ChanCount& input, const ARDOUR::ChanCount& output, ARDOUR::RouteGroup* route_group, uint32_t how_many, std::string const & name_template,
- ARDOUR::PluginInfoPtr instrument);
+ void session_add_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr);
+ void session_add_midi_bus (ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr);
+ 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);
- /*void session_add_midi_bus () {
- session_add_midi_route (false);
- }*/
+ void display_insufficient_ports_message ();
- void attach_to_engine ();
+ void attach_to_engine ();
void post_engine ();
gint exit_on_main_window_close (GdkEventAny *);
void hide_tabbable (Gtkmm2ext::Tabbable*);
void detach_tabbable (Gtkmm2ext::Tabbable*);
void attach_tabbable (Gtkmm2ext::Tabbable*);
-
+ 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 ();
+ void toggle_luawindow ();
int setup_windows ();
void setup_transport ();
void edit_metadata ();
void import_metadata ();
- void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *, uint32_t, std::string const &);
- void session_add_midi_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &, ARDOUR::PluginInfoPtr);
-
void set_transport_sensitivity (bool);
//stuff for ProTools-style numpad
int create_mixer ();
int create_editor ();
+ int create_meterbridge ();
+ int create_luawindow ();
Meterbridge *meterbridge;
- int create_meterbridge ();
+ LuaWindow *luawindow;
/* Dialogs that can be created via new<T> */
WM::Proxy<RouteParams_UI> route_params;
WM::Proxy<EngineControl> audio_midi_setup;
WM::Proxy<ExportVideoDialog> export_video_dialog;
+ WM::Proxy<LuaScriptManager> lua_script_window;
/* Windows/Dialogs that require a creator method */
void grab_focus_after_dialog ();
void tabs_switch (GtkNotebookPage*, guint page_number);
+ void tabs_page_added (Gtk::Widget*, guint);
+ void tabs_page_removed (Gtk::Widget*, guint);
ArdourButton editor_visibility_button;
ArdourButton mixer_visibility_button;
ArdourButton prefs_visibility_button;
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 ();
+ void step_down_through_tabs ();
};
#endif /* __ardour_gui_h__ */