summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-11 03:22:41 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-11 03:22:41 +0000
commit55b143d013166cf5c869f589b4f1ee3539ac5f09 (patch)
tree016712040db0921dde049067e86c9481f4a1c6d3 /libs/ardour/audio_track.cc
parent90263f9a6dcec5de1bf6cd305d194118333a81ef (diff)
fix reload of region gain envelopes, freeze works from start ... end instead of zero ... end; prep for bouncing-before-tape-mode
git-svn-id: svn://localhost/ardour2/trunk@1105 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r--libs/ardour/audio_track.cc20
1 files changed, 15 insertions, 5 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 9c5020e9aa..46a843784c 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -89,6 +89,19 @@ AudioTrack::set_mode (TrackMode m)
return 0;
}
+bool
+AudioTrack::can_use_mode (TrackMode m, bool& bounce_required)
+{
+ switch (m) {
+ case Normal:
+ bounce_required = false;
+ return true;
+
+ case Destructive:
+ return _diskstream->can_become_destructive (bounce_required);
+ }
+}
+
int
AudioTrack::deprecated_use_diskstream_connections ()
{
@@ -810,7 +823,7 @@ AudioTrack::freeze (InterThreadInfo& itt)
return;
}
- if (_session.write_one_audio_track (*this, 0, _session.current_end_frame(), true, srcs, itt)) {
+ if (_session.write_one_audio_track (*this, _session.current_start_frame(), _session.current_end_frame(), true, srcs, itt)) {
return;
}
@@ -830,9 +843,6 @@ AudioTrack::freeze (InterThreadInfo& itt)
frii->id = insert->id();
-#ifdef FIX_ME_TO_WORK_WITHOUT_STATE_MANAGER
- frii->memento = (*r)->get_memento();
-#endif
_freeze_record.insert_info.push_back (frii);
/* now deactivate the insert */
@@ -853,7 +863,7 @@ AudioTrack::freeze (InterThreadInfo& itt)
false));
new_playlist->set_orig_diskstream_id (diskstream->id());
- new_playlist->add_region (region, 0);
+ new_playlist->add_region (region, _session.current_start_frame());
new_playlist->set_frozen (true);
region->set_locked (true);