diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-03-24 12:55:04 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-03-24 12:55:04 +0000 |
commit | b3a3e66f7755fe35ace4cbb6b19b54a52bb71a2f (patch) | |
tree | 40db98dac2b772b6f98ce3b1fbf1f7c91f944007 /libs/ardour/audio_track.cc | |
parent | f11a5e176951bf6a2b74276512fc4a669aa6ac87 (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.cc | 20 |
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, |