X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=fbe1486736008289c3ded60fb763f32d274a93a6;hb=f90a70e774726a5d67fa462cab06637d4baeabc8;hp=43a77fe523fae6514e82e18e5edfce1a22b5d58c;hpb=5c926136988757f1f11a14c11720ed3daac3195f;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 43a77fe523..fbe1486736 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -47,6 +47,8 @@ #include #include #include +#include +#include #include #include #include @@ -55,9 +57,6 @@ #include #include "gtkmm2ext/gtk_ui.h" -#include "gtkmm2ext/click_box.h" -#include "gtkmm2ext/stateful_button.h" -#include "gtkmm2ext/bindable_button.h" #include "gtkmm2ext/bindings.h" #include "gtkmm2ext/visibility_tracker.h" @@ -122,14 +121,13 @@ class IdleOMeter; class VideoTimeLine; class ArdourKeyboard; class AudioClock; -class ButtonJoiner; class ConnectionEditor; class DuplicateRouteDialog; class MainClock; class Mixer_UI; -class ArdourPrompter; class PublicEditor; class SaveAsDialog; +class SaveTemplateDialog; class SessionDialog; class SessionOptionEditorWindow; class Splash; @@ -155,7 +153,8 @@ namespace Gtk { class ProgressBar; } -namespace Gtkmm2ext { +namespace ArdourWidgets { + class Prompter; class Tabbable; } @@ -189,7 +188,7 @@ public: 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&); + int build_session (const std::string& path, const std::string& snapshot, ARDOUR::BusProfile*); bool session_is_new() const { return _session_is_new; } ARDOUR::Session* the_session() { return _session; } @@ -284,54 +283,21 @@ public: void flush_videotimeline_cache (bool localcacheonly=false); void export_video (bool range = false); - 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::TrackMode mode, - ARDOUR::RouteGroup* route_group, - uint32_t how_many, - std::string const & name_template, - 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, order); - } - - 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, - ARDOUR::PresentationInfo::order_t order - ) { - 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 ( - ARDOUR::RouteGroup* route_group, - uint32_t how_many, - std::string const & name_template, - bool strict_io, - ARDOUR::PluginInfoPtr instrument, - 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, + + 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* 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, + + void session_add_midi_bus (ARDOUR::RouteGroup*, uint32_t, std::string const &, bool strict_io, + 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 (); @@ -382,6 +348,8 @@ public: ARDOUR::PresentationInfo::order_t translate_order (RouteDialogs::InsertAt); + std::map route_setup_info (const std::string& script_path); + protected: friend class PublicEditor; @@ -418,15 +386,15 @@ private: bool _initial_verbose_plugin_scan; bool first_time_engine_run; - void show_tabbable (Gtkmm2ext::Tabbable*); - 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 show_tabbable (ArdourWidgets::Tabbable*); + void hide_tabbable (ArdourWidgets::Tabbable*); + void detach_tabbable (ArdourWidgets::Tabbable*); + void attach_tabbable (ArdourWidgets::Tabbable*); + void button_change_tabbable_visibility (ArdourWidgets::Tabbable*); + void key_change_tabbable_visibility (ArdourWidgets::Tabbable*); void toggle_editor_and_mixer (); - void tabbable_state_change (Gtkmm2ext::Tabbable&); + void tabbable_state_change (ArdourWidgets::Tabbable&); void toggle_meterbridge (); void toggle_luawindow (); @@ -654,10 +622,13 @@ private: void open_session (); void open_recent_session (); - bool process_save_template_prompter (ArdourPrompter& prompter); + void save_template_dialog_response (int response, SaveTemplateDialog* d); void save_template (); void manage_templates (); + void meta_session_setup (const std::string& script_path); + void meta_route_setup (const std::string& script_path); + void edit_metadata (); void import_metadata (); @@ -699,7 +670,7 @@ private: guint32 last_key_press_time; - bool process_snapshot_session_prompter (ArdourPrompter& prompter, bool switch_to_it); + bool process_snapshot_session_prompter (ArdourWidgets::Prompter& prompter, bool switch_to_it); void snapshot_session (bool switch_to_it); void quick_snapshot_session (bool switch_to_it); //does not promtp for name, just makes a timestamped file