summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-04-20 21:02:46 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-04-20 21:02:46 +0000
commit0d36301907afd612f93a7bfa53724cc9a17724de (patch)
tree620c096be24ebc38b5762493d6ad79e839420395 /libs/ardour/audio_track.cc
parentf19c01bbb42f4e80769adb8e3e1015724fe9d6c6 (diff)
3 notable patches from lincoln (a) non-layered track mode (NOTE: this is broken for loop recording right now) (b) trim region to previous/next region (c) region push/pull trimming. work on these 3 features should be assumed to be still slightly ongoing (eg. default bindings and more). great stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@4994 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r--libs/ardour/audio_track.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 8f37ea2239..25161ea249 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -77,7 +77,10 @@ AudioTrack::use_new_diskstream ()
if (_mode == Destructive) {
dflags = AudioDiskstream::Flag (dflags | AudioDiskstream::Destructive);
+ } else if (_mode == NonLayered){
+ dflags = AudioDiskstream::Flag(dflags | AudioDiskstream::NonLayered);
}
+
boost::shared_ptr<AudioDiskstream> ds (new AudioDiskstream (_session, name(), dflags));
@@ -94,7 +97,8 @@ AudioTrack::set_mode (TrackMode m)
if (_diskstream->set_destructive (m == Destructive)) {
return -1;
}
-
+
+ _diskstream->set_non_layered (m == NonLayered);
_mode = m;
TrackModeChanged (); /* EMIT SIGNAL */
@@ -107,6 +111,7 @@ bool
AudioTrack::can_use_mode (TrackMode m, bool& bounce_required)
{
switch (m) {
+ case NonLayered:
case Normal:
bounce_required = false;
return true;
@@ -177,6 +182,7 @@ AudioTrack::set_diskstream (boost::shared_ptr<AudioDiskstream> ds, void *src)
_diskstream = ds;
_diskstream->set_io (*this);
_diskstream->set_destructive (_mode == Destructive);
+ _diskstream->set_non_layered (_mode == NonLayered);
if (audio_diskstream()->deprecated_io_node) {