summaryrefslogtreecommitdiff
path: root/gtk2_ardour/crossfade_edit.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/crossfade_edit.cc')
-rw-r--r--gtk2_ardour/crossfade_edit.cc17
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;
}