summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_streamview.cc
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-05-22 22:42:27 +0000
committerDoug McLain <doug@nostar.net>2008-05-22 22:42:27 +0000
commitc271a302734e8a171288d00515c4b1bb30e7e857 (patch)
tree192679d8256c888fac85064c6c0b4d9c61484866 /gtk2_ardour/audio_streamview.cc
parent5439c0c46c6c0c748366d17cbe4255ef446e9c26 (diff)
Remove sigc 2.0.18
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3399 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_streamview.cc')
-rw-r--r--gtk2_ardour/audio_streamview.cc37
1 files changed, 32 insertions, 5 deletions
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc
index 344b8f4734..9666f7a33f 100644
--- a/gtk2_ardour/audio_streamview.cc
+++ b/gtk2_ardour/audio_streamview.cc
@@ -57,6 +57,7 @@ AudioStreamView::AudioStreamView (AudioTimeAxisView& tv)
: StreamView (tv)
{
crossfades_visible = true;
+ outline_region = false;
_waveform_scale = LinearWaveform;
_waveform_shape = Traditional;
@@ -469,7 +470,7 @@ AudioStreamView::set_waveform_scale (WaveformScale scale)
void
AudioStreamView::setup_rec_box ()
{
- // cerr << _trackview.name() << " streamview SRB\n";
+ cerr << _trackview.name() << " streamview SRB region_views.size() = " << region_views.size() << endl;
if (_trackview.session().transport_rolling()) {
@@ -478,7 +479,7 @@ AudioStreamView::setup_rec_box ()
if (!rec_active &&
_trackview.session().record_status() == Session::Recording &&
_trackview.get_diskstream()->record_enabled()) {
-
+ cerr << "rec_active = 0" << endl;
if (_trackview.audio_track()->mode() == Normal && use_rec_regions && rec_regions.size() == rec_rects.size()) {
/* add a new region, but don't bother if they set use_rec_regions mid-record */
@@ -565,11 +566,11 @@ AudioStreamView::setup_rec_box ()
} else if (rec_active &&
(_trackview.session().record_status() != Session::Recording ||
!_trackview.get_diskstream()->record_enabled())) {
-
+ cerr << "rec_active = 1" << endl;
screen_update_connection.disconnect();
rec_active = false;
rec_updating = false;
-
+ outline_region = true;
}
} else {
@@ -656,7 +657,7 @@ void
AudioStreamView::update_rec_regions ()
{
if (use_rec_regions) {
-
+ cerr << "AudioStreamView::update_rec_regions () outline_region = " << outline_region << endl;
uint32_t n = 0;
for (list<boost::shared_ptr<Region> >::iterator iter = rec_regions.begin(); iter != rec_regions.end(); n++) {
@@ -687,6 +688,15 @@ AudioStreamView::update_rec_regions ()
if (nlen != region->length()) {
+ if (outline_region) {
+ for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ if ((*i)->region() == region) {
+ (*i)->outline_entire_box();
+ outline_region = false;
+ }
+ }
+ }
+
region->freeze ();
region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this);
region->set_length (nlen, this);
@@ -695,6 +705,14 @@ AudioStreamView::update_rec_regions ()
if (origlen == 1) {
/* our special initial length */
add_region_view_internal (region, false, true);
+ if (outline_region) {
+ outline_region = false;
+ for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ if ((*i)->region() == region) {
+ (*i)->outline_entire_box();
+ }
+ }
+ }
}
/* also update rect */
@@ -712,6 +730,15 @@ AudioStreamView::update_rec_regions ()
if (region->source(0)->length() >= region->start() + nlen) {
+ if (outline_region) {
+ for (list<RegionView *>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
+ if ((*i)->region() == region) {
+ (*i)->outline_entire_box();
+ outline_region = false;
+ }
+ }
+ }
+
region->freeze ();
region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this);
region->set_length (nlen, this);