diff options
author | David Robillard <d@drobilla.net> | 2010-03-06 21:15:14 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-03-06 21:15:14 +0000 |
commit | 32ed8eb92f194d0cce1b0617d0686147d4be09c0 (patch) | |
tree | aecbd03f668bf87a8863cd441ddeecf298dbc02b /src/engine/EventSource.cpp | |
parent | 2bfa0960c87e569d4efdb5bd7db896b2dfdb9e8b (diff) | |
download | ingen-32ed8eb92f194d0cce1b0617d0686147d4be09c0.tar.gz ingen-32ed8eb92f194d0cce1b0617d0686147d4be09c0.tar.bz2 ingen-32ed8eb92f194d0cce1b0617d0686147d4be09c0.zip |
Fully load patch in LV2 instantiate method.
Actually connect to LV2 buffers.
Ingen confirmed working as an LV2 plugin doing audio I/O in lv2_jack_host and Ardour.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2536 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/EventSource.cpp')
-rw-r--r-- | src/engine/EventSource.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/engine/EventSource.cpp b/src/engine/EventSource.cpp index 9e1f2741..271bb0a1 100644 --- a/src/engine/EventSource.cpp +++ b/src/engine/EventSource.cpp @@ -61,7 +61,7 @@ EventSource::push_queued(QueuedEvent* const ev) * Executed events will be pushed to @a dest. */ void -EventSource::process(PostProcessor& dest, ProcessContext& context) +EventSource::process(PostProcessor& dest, ProcessContext& context, bool limit) { ThreadManager::assert_thread(THREAD_PROCESS); @@ -82,7 +82,8 @@ EventSource::process(PostProcessor& dest, ProcessContext& context) while (ev && ev->is_prepared() && ev->time() < context.end()) { ev->execute(context); new_head = new_head->next(); - if (++num_events_processed > MAX_QUEUED_EVENTS) + ++num_events_processed; + if (limit && num_events_processed > MAX_QUEUED_EVENTS) break; ev = (new_head ? (QueuedEvent*)new_head->elem() : NULL); } @@ -105,8 +106,6 @@ EventSource::_whipped() QueuedEvent* const ev = (QueuedEvent*)pb->elem(); assert(ev); - if (!ev) - return; assert(!ev->is_prepared()); ev->pre_process(); |