summaryrefslogtreecommitdiff
path: root/libs/ardour/audioregion.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-07-19 00:22:08 +0000
committerCarl Hetherington <carl@carlh.net>2011-07-19 00:22:08 +0000
commit79898b7aa7aca9bcfbc187cf02acc8c333fabaec (patch)
treeefc046992667b89a2fd847f174f6e81707c50c31 /libs/ardour/audioregion.cc
parent711d344188317cf82a012a2d55c5a61de4498334 (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.cc6
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" */