diff options
author | David Robillard <d@drobilla.net> | 2008-01-10 21:20:59 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-01-10 21:20:59 +0000 |
commit | bb457bb960c5bd7ed538f9d31477293415739f68 (patch) | |
tree | 84324a63b87c03589cd165b9e474296eaebb4772 /gtk2_ardour/crossfade_edit.cc | |
parent | 73dd9d37e7d715e0d78c0e51569968f9494dac7f (diff) |
Merge libs/ardour and gtk2_ardour with 2.0-ongoing R2837.
git-svn-id: svn://localhost/ardour2/trunk@2883 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/crossfade_edit.cc')
-rw-r--r-- | gtk2_ardour/crossfade_edit.cc | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc index 8e9c4f07dd..b5aebdfb8d 100644 --- a/gtk2_ardour/crossfade_edit.cc +++ b/gtk2_ardour/crossfade_edit.cc @@ -637,9 +637,15 @@ CrossfadeEditor::redraw () for (list<Point*>::iterator i = fade[current].points.begin(); i != fade[current].points.end(); ++i) { fade[current].normative_curve.add ((*i)->x, (*i)->y); - fade[current].gain_curve.add (((*i)->x * len), (*i)->y); + double offset; + if (current==In) + offset = xfade->in()->start(); + else + offset = xfade->out()->start()+xfade->out()->length()-xfade->length(); + fade[current].gain_curve.add (((*i)->x * len) + offset, (*i)->y); } + size_t npoints = (size_t) effective_width(); float vec[npoints]; @@ -1079,6 +1085,11 @@ CrossfadeEditor::make_waves (boost::shared_ptr<AudioRegion> region, WhichFade wh waveview->property_amplitude_above_axis() = 2.0; waveview->property_wave_color() = color; + if (which==In) + waveview->property_region_start() = region->start(); + else + waveview->property_region_start() = region->start()+region->length()-xfade->length(); + waveview->lower_to_bottom(); fade[which].waves.push_back (waveview); } @@ -1110,13 +1121,13 @@ CrossfadeEditor::audition_both () nframes_t left_length; if (preroll_button.get_active()) { - preroll = ARDOUR_UI::instance()->preroll_clock.current_duration (); + preroll = session.frame_rate() * 2; //2 second hardcoded preroll for now } else { preroll = 0; } if (postroll_button.get_active()) { - postroll = ARDOUR_UI::instance()->postroll_clock.current_duration (); + postroll = session.frame_rate() * 2; //2 second hardcoded postroll for now } else { postroll = 0; } |