still do cycle_start() & cycle_end() calls when freewheeling
git-svn-id: svn://localhost/ardour2/branches/3.0@3440 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
9a37f4a7be
commit
0a8e5093c3
@ -321,6 +321,13 @@ AudioEngine::process_callback (nframes_t nframes)
|
||||
return 0;
|
||||
}
|
||||
|
||||
boost::shared_ptr<Ports> p = ports.reader();
|
||||
|
||||
// Prepare ports (ie read data if necessary)
|
||||
for (Ports::iterator i = p->begin(); i != p->end(); ++i) {
|
||||
(*i)->cycle_start (nframes, 0);
|
||||
}
|
||||
|
||||
if (_freewheeling) {
|
||||
/* emit the Freewheel signal and stop freewheeling in the event of trouble */
|
||||
if (Freewheel (nframes)) {
|
||||
@ -328,18 +335,11 @@ AudioEngine::process_callback (nframes_t nframes)
|
||||
_freewheeling = false;
|
||||
jack_set_freewheel (_jack, false);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
boost::shared_ptr<Ports> p = ports.reader();
|
||||
|
||||
// Prepare ports (ie read data if necessary)
|
||||
for (Ports::iterator i = p->begin(); i != p->end(); ++i) {
|
||||
(*i)->cycle_start (nframes, 0);
|
||||
}
|
||||
|
||||
if (session) {
|
||||
session->process (nframes);
|
||||
} else {
|
||||
if (session) {
|
||||
session->process (nframes);
|
||||
}
|
||||
}
|
||||
|
||||
// Finalize ports (ie write data if necessary)
|
||||
@ -348,6 +348,10 @@ AudioEngine::process_callback (nframes_t nframes)
|
||||
(*i)->cycle_end (nframes, 0);
|
||||
}
|
||||
|
||||
if (_freewheeling) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!_running) {
|
||||
_processed_frames = next_processed_frames;
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user