summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_streamview.cc
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/midi_streamview.cc
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/midi_streamview.cc')
-rw-r--r--gtk2_ardour/midi_streamview.cc33
1 files changed, 12 insertions, 21 deletions
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc
index 77d9afabae..4d0c7fa385 100644
--- a/gtk2_ardour/midi_streamview.cc
+++ b/gtk2_ardour/midi_streamview.cc
@@ -180,7 +180,7 @@ MidiStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wfd,
display_region (region_view, wfd);
/* catch regionview going away */
- region->GoingAway.connect (sigc::bind (sigc::mem_fun (*this, &MidiStreamView::remove_region_view), region));
+ scoped_connect (region->GoingAway, boost::bind (&MidiStreamView::remove_region_view, this, region));
RegionViewAdded (region_view);
@@ -383,10 +383,10 @@ MidiStreamView::setup_rec_box ()
{
// cerr << _trackview.name() << " streamview SRB\n";
- if (_trackview.session().transport_rolling()) {
+ if (_trackview.session()->transport_rolling()) {
if (!rec_active &&
- _trackview.session().record_status() == Session::Recording &&
+ _trackview.session()->record_status() == Session::Recording &&
_trackview.get_diskstream()->record_enabled()) {
if (use_rec_regions && rec_regions.size() == rec_rects.size()) {
@@ -395,19 +395,15 @@ MidiStreamView::setup_rec_box ()
MidiRegion::SourceList sources;
- for (list<sigc::connection>::iterator prc = rec_data_ready_connections.begin();
- prc != rec_data_ready_connections.end(); ++prc) {
- (*prc).disconnect();
- }
- rec_data_ready_connections.clear();
+ rec_data_ready_connections.drop_connections ();
boost::shared_ptr<MidiDiskstream> mds = _trackview.midi_track()->midi_diskstream();
sources.push_back(mds->write_source());
- rec_data_ready_connections.push_back (mds->write_source()->ViewDataRangeReady.connect (sigc::bind (
- sigc::mem_fun (*this, &MidiStreamView::rec_data_range_ready),
- boost::weak_ptr<Source>(mds->write_source()))));
+ rec_data_ready_connections.add_connection (mds->write_source()->ViewDataRangeReady.connect
+ (boost::bind (&MidiStreamView::rec_data_range_ready, this,
+ _1, _2, boost::weak_ptr<Source>(mds->write_source()))));
// handle multi
@@ -422,7 +418,7 @@ MidiStreamView::setup_rec_box ()
assert(region);
region->block_property_changes ();
- region->set_position (_trackview.session().transport_frame(), this);
+ region->set_position (_trackview.session()->transport_frame(), this);
rec_regions.push_back (make_pair(region, (RegionView*)0));
// rec regions are destroyed in setup_rec_box
@@ -455,7 +451,7 @@ MidiStreamView::setup_rec_box ()
RecBoxInfo recbox;
recbox.rectangle = rec_rect;
- recbox.start = _trackview.session().transport_frame();
+ recbox.start = _trackview.session()->transport_frame();
recbox.length = 0;
rec_rects.push_back (recbox);
@@ -467,7 +463,7 @@ MidiStreamView::setup_rec_box ()
rec_active = true;
} else if (rec_active &&
- (_trackview.session().record_status() != Session::Recording ||
+ (_trackview.session()->record_status() != Session::Recording ||
!_trackview.get_diskstream()->record_enabled())) {
screen_update_connection.disconnect();
rec_active = false;
@@ -482,12 +478,7 @@ MidiStreamView::setup_rec_box ()
/* disconnect rapid update */
screen_update_connection.disconnect();
-
- for (list<sigc::connection>::iterator prc = rec_data_ready_connections.begin();
- prc != rec_data_ready_connections.end(); ++prc) {
- (*prc).disconnect();
- }
- rec_data_ready_connections.clear();
+ rec_data_ready_connections.drop_connections ();
rec_updating = false;
rec_active = false;
@@ -575,7 +566,7 @@ MidiStreamView::update_rec_regions (boost::shared_ptr<MidiModel> data, nframes_t
gdouble xend = _trackview.editor().frame_to_pixel (region->position() + region->length());
rect->property_x2() = xend;
- ARDOUR::BeatsFramesConverter tconv(_trackview.session().tempo_map(), region->position());
+ ARDOUR::BeatsFramesConverter tconv(_trackview.session()->tempo_map(), region->position());
const MidiModel::TimeType start_beats = tconv.from(start);
/* draw events */