still call Port::cycle_start() for output ports; remove otification calls from Playlist::add_region() (torben)
git-svn-id: svn://localhost/ardour2/branches/3.0@3828 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -342,6 +342,18 @@ AudioEngine::process_callback (nframes_t nframes)
|
||||
|
||||
boost::shared_ptr<Ports> p = ports.reader();
|
||||
|
||||
for (Ports::iterator i = p->begin(); i != p->end(); ++i) {
|
||||
|
||||
/* Only run cycle_start() on output ports, because
|
||||
inputs must be done in the correct processing order,
|
||||
which requires interleaving with route processing.
|
||||
*/
|
||||
|
||||
if ((*i)->sends_output()) {
|
||||
(*i)->cycle_start (nframes, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (_freewheeling) {
|
||||
/* emit the Freewheel signal and stop freewheeling in the event of trouble */
|
||||
if (Freewheel (nframes)) {
|
||||
@@ -509,7 +521,9 @@ AudioEngine::set_session (Session *s)
|
||||
boost::shared_ptr<Ports> p = ports.reader();
|
||||
|
||||
for (Ports::iterator i = p->begin(); i != p->end(); ++i) {
|
||||
(*i)->cycle_start (blocksize, 0);
|
||||
if ((*i)->sends_output()) {
|
||||
(*i)->cycle_start (blocksize, 0);
|
||||
}
|
||||
}
|
||||
|
||||
s->process (blocksize);
|
||||
|
||||
@@ -467,7 +467,6 @@ void
|
||||
Playlist::add_region (boost::shared_ptr<Region> region, nframes_t position, float times)
|
||||
{
|
||||
RegionLock rlock (this);
|
||||
delay_notifications();
|
||||
times = fabs (times);
|
||||
|
||||
int itimes = (int) floor (times);
|
||||
@@ -503,7 +502,6 @@ Playlist::add_region (boost::shared_ptr<Region> region, nframes_t position, floa
|
||||
|
||||
|
||||
possibly_splice_unlocked (position, (pos + length) - position, boost::shared_ptr<Region>());
|
||||
release_notifications ();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user