mostly restore VCA state on session loading.
[ardour.git] / gtk2_ardour / ardour_ui.h
index 6d2cb636e3d2f0c92fc7fcc48978a85345b15ff5..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"
@@ -270,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,
@@ -298,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 ();
 
@@ -376,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;
@@ -664,6 +669,7 @@ private:
        int         create_editor ();
        int         create_meterbridge ();
        int         create_luawindow ();
+       int         create_masters ();
 
        Meterbridge  *meterbridge;
        LuaWindow    *luawindow;