fix audio clock restore, provide XMLNode::property (string) and speed up the property...
[ardour.git] / gtk2_ardour / mixer_ui.h
index 35320b3a48483ed720917ce0a830d94044afcefd..2a5b416ae0b995e8428cd72b5f60d117c31e2f19 100644 (file)
@@ -33,8 +33,9 @@
 #include <gtkmm/menu.h>
 #include <gtkmm/treeview.h>
 
+#include <pbd/stateful.h>
+
 #include <ardour/ardour.h>
-#include <ardour/stateful.h>
 #include <ardour/io.h>
 
 #include "keyboard_target.h"
@@ -45,7 +46,7 @@ namespace ARDOUR {
        class Route;
        class RouteGroup;
        class Session;
-       class DiskStream;
+       class AudioDiskstream;
        class AudioEngine;
 };
 
@@ -72,6 +73,7 @@ class Mixer_UI : public Gtk::Window
        int set_state (const XMLNode& );
 
        void show_window ();
+       bool hide_window (GdkEventAny *ev);
        void show_strip (MixerStrip *);
        void hide_strip (MixerStrip *);
 
@@ -82,6 +84,8 @@ class Mixer_UI : public Gtk::Window
   private:
        ARDOUR::AudioEngine&     engine;
        ARDOUR::Session         *session;
+
+       bool _visible;
        
        Gtk::HBox                global_hpacker;
        Gtk::VBox                global_vpacker;
@@ -110,7 +114,7 @@ class Mixer_UI : public Gtk::Window
 
        bool strip_scroller_button_release (GdkEventButton*);
 
-       void add_strip (ARDOUR::Route*);
+       void add_strip (ARDOUR::Session::RouteList&);
        void remove_strip (MixerStrip *);
 
        void hide_all_strips (bool with_select);
@@ -193,7 +197,7 @@ class Mixer_UI : public Gtk::Window
            }
            Gtk::TreeModelColumn<bool>           visible;
            Gtk::TreeModelColumn<Glib::ustring>  text;
-           Gtk::TreeModelColumn<ARDOUR::Route*> route;
+           Gtk::TreeModelColumn<boost::shared_ptr<ARDOUR::Route> > route;
            Gtk::TreeModelColumn<MixerStrip*>    strip;
        };