summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-24 12:55:04 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-24 12:55:04 +0000
commitb3a3e66f7755fe35ace4cbb6b19b54a52bb71a2f (patch)
tree40db98dac2b772b6f98ce3b1fbf1f7c91f944007 /libs/ardour/audio_track.cc
parentf11a5e176951bf6a2b74276512fc4a669aa6ac87 (diff)
remove XML constructors for Route, Track, AudioTrack, MidiTrack; make Session::XMLRouteFactory() call a constructor and then set_state(); lots of debugging output (will remove next commit)
git-svn-id: svn://localhost/ardour2/branches/3.0@6789 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r--libs/ardour/audio_track.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 245b122c18..cbfef29b17 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -55,12 +55,6 @@ AudioTrack::AudioTrack (Session& sess, string name, Route::Flag flag, TrackMode
use_new_diskstream ();
}
-AudioTrack::AudioTrack (Session& sess, const XMLNode& node, int /*version*/)
- : Track (sess, node)
-{
- _set_state (node, Stateful::loading_state_version, false);
-}
-
AudioTrack::~AudioTrack ()
{
}
@@ -463,13 +457,12 @@ AudioTrack::roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
}
}
-
if (n_outputs().n_total() == 0 && _processors.empty()) {
return 0;
}
if (!_active) {
- silence (nframes);
+ silence (nframes);
return 0;
}
@@ -523,9 +516,20 @@ AudioTrack::roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
BufferSet& bufs = _session.get_scratch_buffers ();
const size_t blimit = bufs.count().n_audio();
+ if (limit == 0) {
+ /* no inputs, try for diskstream channel count */
+ limit = diskstream->n_channels().n_audio();
+ }
+
uint32_t n;
uint32_t i;
+ cerr << _name << " Input = " << _input->n_ports()
+ << " Output " << _output->n_ports ()
+ << " limit " << limit
+ << " blimit " << blimit
+ << endl;
+
if (limit > blimit) {
/* example case: auditioner configured for stereo output,