diff options
author | Carl Hetherington <carl@carlh.net> | 2011-07-19 00:22:08 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-07-19 00:22:08 +0000 |
commit | 79898b7aa7aca9bcfbc187cf02acc8c333fabaec (patch) | |
tree | efc046992667b89a2fd847f174f6e81707c50c31 /libs/ardour/audioregion.cc | |
parent | 711d344188317cf82a012a2d55c5a61de4498334 (diff) |
Make _read_at take notice of its srcs parameter; fixes part of #3908.
git-svn-id: svn://localhost/ardour2/branches/3.0@9900 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audioregion.cc')
-rw-r--r-- | libs/ardour/audioregion.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index 808d45bbad..c0de894e7d 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -369,7 +369,7 @@ AudioRegion::master_read_at (Sample *buf, Sample *mixdown_buffer, float *gain_bu } framecnt_t -AudioRegion::_read_at (const SourceList& /*srcs*/, framecnt_t limit, +AudioRegion::_read_at (const SourceList& srcs, framecnt_t limit, Sample *buf, Sample *mixdown_buffer, float *gain_buffer, framepos_t position, framecnt_t cnt, @@ -421,7 +421,7 @@ AudioRegion::_read_at (const SourceList& /*srcs*/, framecnt_t limit, if (chan_n < n_channels()) { - boost::shared_ptr<AudioSource> src = audio_source(chan_n); + boost::shared_ptr<AudioSource> src = boost::dynamic_pointer_cast<AudioSource> (srcs[chan_n]); if (src->read (mixdown_buffer, _start + internal_offset, to_read) != to_read) { return 0; /* "read nothing" */ } @@ -441,7 +441,7 @@ AudioRegion::_read_at (const SourceList& /*srcs*/, framecnt_t limit, */ uint32_t channel = n_channels() % chan_n; - boost::shared_ptr<AudioSource> src = audio_source (channel); + boost::shared_ptr<AudioSource> src = boost::dynamic_pointer_cast<AudioSource> (srcs[channel]); if (src->read (mixdown_buffer, _start + internal_offset, to_read) != to_read) { return 0; /* "read nothing" */ |