clean up new region list management maps to avoid dangling shared ptrs and more ...
[ardour.git] / gtk2_ardour / return_ui.h
index 08c6bba5baba8d99c80ad45fb4e3c000f507b58e..8c9e87074c518f7549d1d289cc86d969f9cf45a5 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2002 Paul Davis 
+    Copyright (C) 2002 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 namespace ARDOUR {
        class Return;
-       class Session;
        class IOProcessor;
 }
 
 class IOSelector;
 
-class ReturnUI : public Gtk::HBox
+class ReturnUI : public Gtk::HBox 
 {
   public:
-       ReturnUI (boost::shared_ptr<ARDOUR::Return>, ARDOUR::Session&);
+       ReturnUI (Gtk::Window *,boost::shared_ptr<ARDOUR::Return>, ARDOUR::Session*);
        ~ReturnUI();
 
        void update ();
@@ -47,21 +46,21 @@ class ReturnUI : public Gtk::HBox
 
   private:
        boost::shared_ptr<ARDOUR::Return> _return;
-       ARDOUR::Session&                  _session;
        GainMeter                         _gpm;
        Gtk::VBox                         _vbox;
        Gtk::VBox                         _hbox;
 
        sigc::connection screen_update_connection;
        sigc::connection fast_screen_update_connection;
-               
+       PBD::ScopedConnection input_change_connection;
+
        void ins_changed (ARDOUR::IOChange, void*);
 };
 
 class ReturnUIWindow : public ArdourDialog
 {
   public:
-       ReturnUIWindow(boost::shared_ptr<ARDOUR::Return>, ARDOUR::Session&);
+       ReturnUIWindow(boost::shared_ptr<ARDOUR::Return>, ARDOUR::Session*);
        ~ReturnUIWindow();
 
        ReturnUI* ui;
@@ -70,7 +69,7 @@ class ReturnUIWindow : public ArdourDialog
        Gtk::HBox hpacker;
 
        void return_going_away ();
-       sigc::connection going_away_connection;
+       PBD::ScopedConnection going_away_connection;
 };
 
 #endif /* __ardour_gtk_return_ui_h__ */