diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-11 03:22:41 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-11 03:22:41 +0000 |
commit | 55b143d013166cf5c869f589b4f1ee3539ac5f09 (patch) | |
tree | 016712040db0921dde049067e86c9481f4a1c6d3 /libs/ardour/audio_track.cc | |
parent | 90263f9a6dcec5de1bf6cd305d194118333a81ef (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.cc | 20 |
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); |