Fix typo in 952b8e1d74
[ardour.git] / gtk2_ardour / ardour_ui.h
index 43a77fe523fae6514e82e18e5edfce1a22b5d58c..ae1cd9c1320a5f050490c4f657f77c07dc0bf17b 100644 (file)
@@ -47,6 +47,8 @@
 #include <gtkmm/eventbox.h>
 #include <gtkmm/menu.h>
 #include <gtkmm/menuitem.h>
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/notebook.h>
 #include <gtkmm/button.h>
 #include <gtkmm/togglebutton.h>
 #include <gtkmm/treeview.h>
@@ -55,9 +57,6 @@
 #include <gtkmm/adjustment.h>
 
 #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,12 +121,10 @@ 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 SessionDialog;
@@ -155,7 +152,8 @@ namespace Gtk {
        class ProgressBar;
 }
 
-namespace Gtkmm2ext {
+namespace ArdourWidgets {
+       class Prompter;
        class Tabbable;
 }
 
@@ -189,7 +187,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 +282,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 ();
@@ -418,15 +383,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 +619,12 @@ private:
 
        void open_session ();
        void open_recent_session ();
-       bool process_save_template_prompter (ArdourPrompter& prompter);
+       bool process_save_template_prompter (ArdourWidgets::Prompter& prompter);
        void save_template ();
        void manage_templates ();
 
+       void meta_session_setup (const std::string& script_path);
+
        void edit_metadata ();
        void import_metadata ();
 
@@ -699,7 +666,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