mostly restore VCA state on session loading.
[ardour.git] / gtk2_ardour / ardour_ui.h
index ab10e80136ea0472d698a41d5ca007a5e77d6766..4227c5fb288d030e7b14ea140a68528be220f49c 100644 (file)
@@ -59,6 +59,7 @@
 #include "gtkmm2ext/stateful_button.h"
 #include "gtkmm2ext/bindable_button.h"
 #include "gtkmm2ext/bindings.h"
+#include "gtkmm2ext/visibility_tracker.h"
 
 #include "ardour/ardour.h"
 #include "ardour/types.h"
@@ -211,8 +212,6 @@ public:
        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
@@ -272,6 +271,8 @@ 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_track (
                int input_channels,
                int32_t output_channels,
@@ -300,14 +301,15 @@ public:
                        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);
+                       ARDOUR::PluginInfoPtr instrument,
+                       ARDOUR::Plugin::PresetRecord* preset = NULL) {
+               session_add_midi_route (true, route_group, how_many, name_template, strict_io, instrument, preset);
        }
 
-       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_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*);
+       void session_add_midi_bus (ARDOUR::RouteGroup*, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*);
        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_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool, ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*);
 
        void display_insufficient_ports_message ();
 
@@ -378,6 +380,7 @@ protected:
 
 private:
        Gtk::Window   _main_window;
+       Gtkmm2ext::VisibilityTracker* main_window_visibility;
        Gtk::VBox      main_vpacker;
        Gtk::HBox      status_bar_hpacker;
        Gtk::Notebook _tabs;
@@ -666,6 +669,7 @@ private:
        int         create_editor ();
        int         create_meterbridge ();
        int         create_luawindow ();
+       int         create_masters ();
 
        Meterbridge  *meterbridge;
        LuaWindow    *luawindow;