summaryrefslogtreecommitdiffstats
path: root/src/server
AgeCommit message (Collapse)AuthorFilesLines
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard35-81/+225
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-02Use more efficient std::lock_guard where possibleDavid Robillard6-6/+6
2016-10-02Show audio and load information in status lineDavid Robillard5-11/+137
2016-10-02Add parallel graph executionDavid Robillard15-155/+452
2016-10-02Add parallelism-aware graph traversalDavid Robillard17-117/+428
2016-10-02Replace Delay internal with simpler BlockDelayDavid Robillard8-239/+120
2016-10-01Fix OSX buildDavid Robillard5-6/+16
2016-10-01Fix plugin versioningDavid Robillard1-1/+1
2016-09-29Atomic bundle executionDavid Robillard8-13/+94
2016-09-20Use C++11 thread_localDavid Robillard2-5/+4
2016-09-18Fix undo of deletions with both blocks and arcsDavid Robillard1-3/+3
Also probably other cases of dependent events that must be executed in the correct order for undo to make sense.
2016-09-18Fix undo after redoDavid Robillard2-4/+6
2016-09-18Clean up codeDavid Robillard9-25/+34
2016-09-18Add fancy communication loggingDavid Robillard6-54/+62
2016-09-13Fix misleading commentDavid Robillard1-1/+5
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard77-383/+315
2016-09-11Clarify connect and disconnect logicDavid Robillard2-3/+5
2016-09-11Fix buffer copying for various typesDavid Robillard3-10/+13
2016-08-17Rename main graph and control/notify portsDavid Robillard4-8/+9
2016-08-02Make graph control ports support patch:MessageDavid Robillard1-0/+1
2016-08-01Fix compilation on OSXDavid Robillard1-2/+0
2016-08-01Implement LV2 log extension as hostDavid Robillard1-1/+0
Only print color logs if output is a terminal.
2016-07-31Support thread-safe state restorationDavid Robillard8-26/+80
2016-07-31Reduce duplicated codeDavid Robillard3-22/+5
2016-07-30Add undo supportDavid Robillard36-60/+912
2016-07-30Fix stall by making PreProcessor tick periodicallyDavid Robillard1-1/+5
I am not sure exactly what scenarios cause this to happen, every event should post to the semaphore, but having the PreProcessor thread tick idly doesn't hurt anything and resolves the issue.
2016-07-30Fix mismatched include guardDavid Robillard1-3/+3
2016-07-29Use more Turtley debug dump outputDavid Robillard1-5/+5
2016-07-29Use more terse patch:Put for canvas positionsDavid Robillard2-16/+5
Fix the semantics of PUT events for existing objects to match the documentation.
2016-07-29Remove Forge dependency from AtomReaderDavid Robillard1-1/+0
2016-07-27Add unit tests for CopyDavid Robillard1-1/+1
2016-07-25Support test coverage with LLVMDavid Robillard1-2/+1
2016-03-14Load default plugin stateDavid Robillard3-0/+22
Based on a patch from Hanspeter Portner.
2016-01-17Fix CPU overload with some CV to control arcsDavid Robillard1-11/+11
2016-01-16Fix CV to control connectionsDavid Robillard1-9/+21
This needs a more sophisticated fix, since splitting cycles on every CV value change isn't feasible much/most of the timel
2015-11-30Use jack_port_rename() if availableDavid Robillard1-0/+5
Closes #1075.
2015-11-23Fix crash when request contains invalid path URIDavid Robillard1-1/+6
Fixes #1108
2015-11-08Add support for instance-access and data-accessDavid Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5815 a436a847-0d15-0410-975c-d299462d15a1
2015-11-08Gracefully handle UNIX socket after a crashDavid Robillard1-3/+59
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5814 a436a847-0d15-0410-975c-d299462d15a1
2015-10-30Update clients when plugins are unloaded/reloadedDavid Robillard16-182/+349
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5808 a436a847-0d15-0410-975c-d299462d15a1
2015-10-30Add protocol for loading and unloading bundlesDavid Robillard2-2/+66
Currently this is only really useful for refreshing updated bundles. It will trigger the appropriate load and unload in the Lilv world, but the set of plugins and presets is not updated and clients will not be notified of any changes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5807 a436a847-0d15-0410-975c-d299462d15a1
2015-10-29Fix bypass where mixing is requiredDavid Robillard1-0/+6
Fixes #1058 git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5804 a436a847-0d15-0410-975c-d299462d15a1
2015-10-26Fix uninitialized buffer pointerDavid Robillard1-0/+1
Fixes #1103. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5793 a436a847-0d15-0410-975c-d299462d15a1
2015-10-26Use a set for providers and dependantsDavid Robillard3-19/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5790 a436a847-0d15-0410-975c-d299462d15a1
2015-10-26Use consistant names for incident portsDavid Robillard2-53/+53
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5789 a436a847-0d15-0410-975c-d299462d15a1
2015-10-26Use URIDs almost everywhereDavid Robillard4-5/+4
This fixes some issues where types are lost after saving and re-loading many times. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5788 a436a847-0d15-0410-975c-d299462d15a1
2015-10-26Fix include guardDavid Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5787 a436a847-0d15-0410-975c-d299462d15a1
2015-10-25Fix explicit sequence port monitoringDavid Robillard1-1/+1
Patch from Robin Gareus. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5786 a436a847-0d15-0410-975c-d299462d15a1
2015-10-25Fix saving and loading of copy-pasted blocksDavid Robillard2-13/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5785 a436a847-0d15-0410-975c-d299462d15a1
2015-10-25Fix audio=>control connectionsDavid Robillard1-5/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5784 a436a847-0d15-0410-975c-d299462d15a1