summaryrefslogtreecommitdiffstats
path: root/src/server/events
AgeCommit message (Collapse)AuthorFilesLines
2016-10-14Fix communication with connected sequence portsDavid Robillard2-7/+26
2016-10-13Clean up protocol documentationDavid Robillard1-28/+0
2016-10-06Add plugin state savingDavid Robillard1-5/+17
This only works with a server-side save, so the GUI now uses that if the server is not running remotely, where "remotely" is defined as "via TCP". This isn't perfect, since running ingen via TCP locally is a perfectly valid thing to do, but it will do for now.
2016-10-02Fix sending UI events to sequence portsDavid Robillard1-1/+0
2016-10-02Fix properties of control/notify portsDavid Robillard1-6/+7
2016-10-02Fix loading a graph by copying from the filesystemDavid Robillard1-1/+1
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard28-69/+124
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 Robillard1-4/+8
2016-10-02Add parallelism-aware graph traversalDavid Robillard9-22/+42
2016-10-01Fix OSX buildDavid Robillard1-1/+1
2016-09-29Atomic bundle executionDavid Robillard2-2/+28
2016-09-18Fix undo after redoDavid Robillard1-3/+4
2016-09-18Add fancy communication loggingDavid Robillard2-24/+2
2016-09-13Fix misleading commentDavid Robillard1-1/+5
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard27-37/+33
2016-09-11Clarify connect and disconnect logicDavid Robillard2-3/+5
2016-08-17Rename main graph and control/notify portsDavid Robillard2-4/+5
2016-08-02Make graph control ports support patch:MessageDavid Robillard1-0/+1
2016-08-01Fix compilation on OSXDavid Robillard1-2/+0
2016-07-31Support thread-safe state restorationDavid Robillard1-1/+1
2016-07-30Add undo supportDavid Robillard24-26/+396
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 Robillard1-9/+3
Fix the semantics of PUT events for existing objects to match the documentation.
2016-07-27Add unit tests for CopyDavid Robillard1-1/+1
2015-11-23Fix crash when request contains invalid path URIDavid Robillard1-1/+6
Fixes #1108
2015-10-30Update clients when plugins are unloaded/reloadedDavid Robillard6-161/+28
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-26Use a set for providers and dependantsDavid Robillard2-14/+8
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 Robillard1-1/+1
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-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-25Create all graphs the same wayDavid Robillard5-24/+109
This ensures that subgraphs always have the standard control ports, so they are valid Ingen graphs on their own.. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5783 a436a847-0d15-0410-975c-d299462d15a1
2015-10-25Fix status code when port existsDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5782 a436a847-0d15-0410-975c-d299462d15a1
2015-10-25Document protocolDavid Robillard4-56/+3
Fix invalid use of patch:request (use patch:sequenceNumber instead). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5781 a436a847-0d15-0410-975c-d299462d15a1
2015-10-24Zero-copy to/from driver ports where possibleDavid Robillard4-27/+44
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5778 a436a847-0d15-0410-975c-d299462d15a1
2015-10-23Speed up multi-deletionDavid Robillard2-8/+2
Take only a fine-grained lock on the store for deletion. IIRC, the long lock was to avoid conflict with Get which accesses the store in post_process(), but this issue has been fixed and events only access the store in pre_process(). I believe it is now safe to only lock Delete during pre_process() as a result. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5771 a436a847-0d15-0410-975c-d299462d15a1
2015-09-04Fix various atom conversion issues.David Robillard4-20/+26
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5719 a436a847-0d15-0410-975c-d299462d15a1
2015-08-29Avoid map::emplace to accomodate old GCC.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5714 a436a847-0d15-0410-975c-d299462d15a1
2015-08-29Set properties uniquely for set method.David Robillard1-4/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5712 a436a847-0d15-0410-975c-d299462d15a1
2015-08-12Fix URI comparison issues.David Robillard1-1/+1
Fixes issue #1074. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5704 a436a847-0d15-0410-975c-d299462d15a1
2015-08-12Server-side presets.David Robillard4-13/+91
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5703 a436a847-0d15-0410-975c-d299462d15a1
2015-07-25Fix crash when loading presets with invalid ports.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5698 a436a847-0d15-0410-975c-d299462d15a1
2015-06-09Server side loading.David Robillard2-56/+97
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5692 a436a847-0d15-0410-975c-d299462d15a1
2015-05-30Preliminary server-side save support.David Robillard2-16/+66
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5690 a436a847-0d15-0410-975c-d299462d15a1
2015-05-25Use ingen:/ as base URI on the wire.David Robillard1-1/+1
This allows referring to non-graph items, which are converted to bundle-relative URIs on save, resolving issue #1049. Change root graph URI to ingen:/graph. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5687 a436a847-0d15-0410-975c-d299462d15a1
2015-05-14Fix ingen:prototype compatibility.David Robillard1-3/+3
Fixes issue #1048. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5678 a436a847-0d15-0410-975c-d299462d15a1
2015-04-04Update copyright dates.David Robillard22-22/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5653 a436a847-0d15-0410-975c-d299462d15a1
2015-04-03Use lv2:prototype and deprecate ingen:prototype.David Robillard2-5/+21
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5652 a436a847-0d15-0410-975c-d299462d15a1