summaryrefslogtreecommitdiff
path: root/gtk2_ardour/location_ui.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-17 18:24:23 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-17 18:24:23 +0000
commitf6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe (patch)
tree5214c580b9e6c17a499fa587660dbf949e892bf2 /gtk2_ardour/location_ui.h
parentda762129f19c28aff64f833b6ec09fba946faef6 (diff)
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/location_ui.h')
-rw-r--r--gtk2_ardour/location_ui.h27
1 files changed, 9 insertions, 18 deletions
diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h
index 56401f6139..dd735cddba 100644
--- a/gtk2_ardour/location_ui.h
+++ b/gtk2_ardour/location_ui.h
@@ -29,18 +29,20 @@
#include <gtkmm/paned.h>
#include <gtkmm/scrolledwindow.h>
+#include "pbd/scoped_connections.h"
+
#include "ardour/location.h"
+#include "ardour/session_handle.h"
#include "ardour_dialog.h"
#include "audio_clock.h"
namespace ARDOUR {
class LocationStack;
- class Session;
class Location;
}
-class LocationEditRow : public Gtk::HBox
+class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr
{
public:
LocationEditRow (ARDOUR::Session *sess=0, ARDOUR::Location *loc=0, int32_t num=-1);
@@ -66,9 +68,6 @@ class LocationEditRow : public Gtk::HBox
};
ARDOUR::Location *location;
- ARDOUR::Session *session;
-
-
Gtk::Table item_table;
@@ -102,7 +101,6 @@ class LocationEditRow : public Gtk::HBox
Gtk::CheckButton scms_check_button;
Gtk::CheckButton preemph_check_button;
-
guint32 i_am_the_modifier;
int number;
@@ -130,34 +128,27 @@ class LocationEditRow : public Gtk::HBox
void location_changed (ARDOUR::Location *);
void flags_changed (ARDOUR::Location *, void *src);
- sigc::connection start_changed_connection;
- sigc::connection end_changed_connection;
- sigc::connection name_changed_connection;
- sigc::connection changed_connection;
- sigc::connection flags_changed_connection;
-
+ PBD::ScopedConnectionList connections;
};
-class LocationUI : public Gtk::HBox
+class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
{
public:
LocationUI ();
~LocationUI ();
- virtual void set_session (ARDOUR::Session *);
+ void set_session (ARDOUR::Session *);
void add_new_location();
void add_new_range();
void refresh_location_list ();
- void refresh_location_list_s (ARDOUR::Change);
private:
- ARDOUR::Session* session;
ARDOUR::LocationStack* locations;
ARDOUR::Location *newest_location;
- void session_gone();
+ void session_going_away ();
Gtk::VBox location_vpacker;
@@ -212,7 +203,7 @@ class LocationUIWindow : public ArdourDialog
protected:
LocationUI _ui;
bool on_delete_event (GdkEventAny*);
- void session_gone();
+ void session_going_away();
};
#endif // __ardour_location_ui_h__