changes to help strp silence
[ardour.git] / gtk2_ardour / automation_streamview.cc
index c36085a77cd4d151272565404e3644d52bdf05f9..2591f6d8dd2a932e5a042e14aeb4e44012e12f9c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2001-2007 Paul Davis 
+    Copyright (C) 2001-2007 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
@@ -70,7 +70,7 @@ AutomationStreamView::~AutomationStreamView ()
 
 
 RegionView*
-AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region, bool wfd, bool recording)
+AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region, bool wfd, bool /*recording*/)
 {
        if ( ! region) {
                cerr << "No region" << endl;
@@ -98,7 +98,7 @@ AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region
 
        for (i = region_views.begin(); i != region_views.end(); ++i) {
                if ((*i)->region() == region) {
-                       
+
                        /* great. we already have an AutomationRegionView for this Region. use it again. */
                        AutomationRegionView* arv = dynamic_cast<AutomationRegionView*>(*i);;
 
@@ -111,14 +111,14 @@ AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region
                        return NULL;
                }
        }
-       
+
        region_view = new AutomationRegionView (canvas_group, _automation_view, region,
                        _controller->controllable()->parameter(), list,
                        _samples_per_unit, region_color);
-               
+
        region_view->init (region_color, false);
        region_views.push_front (region_view);
-       
+
        /* follow global waveform setting */
 
        if (wfd) {
@@ -129,8 +129,8 @@ AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region
        display_region(region_view);
 
        /* catch regionview going away */
-       region->GoingAway.connect (bind (mem_fun (*this, &AutomationStreamView::remove_region_view), region));
-       
+       region->DropReferences.connect (*this, boost::bind (&AutomationStreamView::remove_region_view, this, boost::weak_ptr<Region>(region)), gui_context());
+
        RegionViewAdded (region_view);
 
        return region_view;
@@ -167,9 +167,10 @@ AutomationStreamView::redisplay_diskstream ()
        // Add and display region views, and flag them as valid
        if (_trackview.is_track()) {
                _trackview.get_diskstream()->playlist()->foreach_region (
-                       static_cast<StreamView*>(this), &StreamView::add_region_view);
+                       sigc::hide_return (sigc::mem_fun (*this, &StreamView::add_region_view))
+                       );
        }
-       
+
        // Stack regions by layer, and remove invalid regions
        layer_regions();
 }
@@ -181,7 +182,7 @@ AutomationStreamView::setup_rec_box ()
 }
 
 void
-AutomationStreamView::update_rec_regions (nframes_t start, nframes_t dur)
+AutomationStreamView::update_rec_regions (nframes_t /*start*/, nframes_t /*dur*/)
 {
 }
 
@@ -189,9 +190,9 @@ void
 AutomationStreamView::rec_data_range_ready (jack_nframes_t start, jack_nframes_t dur)
 {
        // this is called from the butler thread for now
-       
-       ENSURE_GUI_THREAD(bind (mem_fun (*this, &AutomationStreamView::rec_data_range_ready), start, dur));
-       
+
+       ENSURE_GUI_THREAD (*this, &AutomationStreamView::rec_data_range_ready, start, dur)
+
        this->update_rec_regions (start, dur);
 }
 
@@ -200,7 +201,7 @@ AutomationStreamView::color_handler ()
 {
        /*if (_trackview.is_midi_track()) {
                canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiTrackBase.get();
-       } 
+       }
 
        if (!_trackview.is_midi_track()) {
                canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiBusBase.get();;