summaryrefslogtreecommitdiffstats
path: root/src/server/PostProcessor.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-1/+1
This avoids situations like compiling a graph hundreds of times when it is loaded because it has hundreds of nodes and each event triggers a re-compile. This speeds things up dramatically, but exacerbates the theoretical problem of there not being enough time in a cycle to execute a bundle. As far as I can tell, the execute phase of events is very fast, so hundreds or thousands can easily run in a tiny fraction of the process cycle, but this still needs resolution to be truly hard real-time. What probably needs to happen is that all context and state used to process is moved to CompiledGraph and nodes do not access their own fields at all, but have some references into the CompiledGraph. This way, a compiled graph is separate from its "source code", and an old one could continue to be run while a new one is beng applied across several cycles.
2016-10-02Add parallel graph executionDavid Robillard1-5/+5
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-7/+7
2015-04-04Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5653 a436a847-0d15-0410-975c-d299462d15a1
2015-02-17Delete trailing whitespace.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5582 a436a847-0d15-0410-975c-d299462d15a1
2014-08-10Fix some memory leaks.David Robillard1-1/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5451 a436a847-0d15-0410-975c-d299462d15a1
2014-03-31Yet another attempt at fixing event deadlock issues.David Robillard1-25/+31
This time, completely isolate head and tail pointers to read and write methods, and never empty the list. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5355 a436a847-0d15-0410-975c-d299462d15a1
2014-03-30Hopefully fix dead lock issues with locked events.David Robillard1-14/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5346 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Initialise atomics.David Robillard1-0/+2
Unlike the old Raul classes, std::atomic<T*> does not automatically initialise to NULL. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4917 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Use C++11 atomics.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4916 a436a847-0d15-0410-975c-d299462d15a1
2012-08-22Fix warning.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4743 a436a847-0d15-0410-975c-d299462d15a1
2012-08-22Fix occasional crash in event handling.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4739 a436a847-0d15-0410-975c-d299462d15a1
2012-08-20Fix crash (bad assertion) on high event rates (notably fast GUI parameter ↵David Robillard1-1/+0
twiddling). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4730 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Fix notifications when running as LV2.David Robillard1-1/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4665 a436a847-0d15-0410-975c-d299462d15a1
2012-07-26Process notifications when no events are pending (prevent overflow).David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4561 a436a847-0d15-0410-975c-d299462d15a1
2012-07-26Fix post processor ordering to be correctly monotonic between both ↵David Robillard1-16/+14
pre-processed events and notifications. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4560 a436a847-0d15-0410-975c-d299462d15a1
2012-07-18Working bi-directional UI <=> plugin messaging.David Robillard1-1/+0
Rewrite notification system to support variably sized notifications. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4548 a436a847-0d15-0410-975c-d299462d15a1
2012-07-17Wrap notification stuff behind simple API and hide details in Context.David Robillard1-8/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4545 a436a847-0d15-0410-975c-d299462d15a1
2012-05-23Trim unnecessary includes.David Robillard1-4/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4455 a436a847-0d15-0410-975c-d299462d15a1
2012-05-14Tidy.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4410 a436a847-0d15-0410-975c-d299462d15a1
2012-05-12Use compiler checkable ProcessContext parameter rather than runtime context ↵David Robillard1-2/+1
assertions. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4374 a436a847-0d15-0410-975c-d299462d15a1
2012-05-10Work towards translatable strings and a cleaner log interface.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4338 a436a847-0d15-0410-975c-d299462d15a1
2012-05-09Factor audio thread execution stuff out of JackDriver into Engine::run().David Robillard1-9/+6
Towards an Ingen library interface usable on user-provided buffers. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4326 a436a847-0d15-0410-975c-d299462d15a1
2012-05-02Add some assertions to hopefully track down a rare bug.David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4315 a436a847-0d15-0410-975c-d299462d15a1
2012-03-27Squeeze blank lines.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4113 a436a847-0d15-0410-975c-d299462d15a1
2012-03-27Switch to AGPL3+.David Robillard1-16/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4111 a436a847-0d15-0410-975c-d299462d15a1
2012-03-10Delete trailing whitespace.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4041 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Merge QueuedEvent into Event.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3569 a436a847-0d15-0410-975c-d299462d15a1
2011-10-09Attempted blind fix for #778.David Robillard1-4/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3538 a436a847-0d15-0410-975c-d299462d15a1
2011-09-17Fix RingBuffer underrun and consequent execution of uninitialized Notification.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3472 a436a847-0d15-0410-975c-d299462d15a1
2011-09-15Fix control bindings (MIDI learn).David Robillard1-12/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3464 a436a847-0d15-0410-975c-d299462d15a1
2011-09-15Fix crash on client event post-processing (e.g. when rapidly manipulating ↵David Robillard1-16/+16
controls). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3462 a436a847-0d15-0410-975c-d299462d15a1
2011-08-20Fix crash when sending port notifications (fix #741).David Robillard1-9/+7
Use a simpler system for port change notifications (abusing Event, which is virtual and thus can't be ringbuffered safely, was the cause of this crash). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3438 a436a847-0d15-0410-975c-d299462d15a1
2011-05-18Use an intrusive linked list for event queue rather than Raul::List.David Robillard1-18/+37
This avoids the need to allocate list nodes, improving performance (event throughput), and making EventSource::push_queued realtime safe. Remove unused queue_size parameter from EventSource and friends. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3282 a436a847-0d15-0410-975c-d299462d15a1
2011-04-20Rename Ingen::Engine to Ingen::Server (hopefully avoid odd name clases and ↵David Robillard1-0/+92
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1