summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delta.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-5/+8
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 parallelism-aware graph traversalDavid Robillard1-2/+5
2016-09-18Add fancy communication loggingDavid Robillard1-22/+0
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-1/+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 Robillard1-7/+50
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.
2015-11-23Fix crash when request contains invalid path URIDavid Robillard1-1/+6
Fixes #1108
2015-10-30Update clients when plugins are unloaded/reloadedDavid Robillard1-4/+21
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 Robillard1-1/+64
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-25Create all graphs the same wayDavid Robillard1-1/+1
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-09-04Fix various atom conversion issues.David Robillard1-13/+17
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5719 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-12Server-side presets.David Robillard1-5/+49
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-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-19Server side presets.David Robillard1-1/+62
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5587 a436a847-0d15-0410-975c-d299462d15a1
2015-02-09Fix broadcasting to several clients.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5550 a436a847-0d15-0410-975c-d299462d15a1
2015-02-08Server-side copy paste with LV2 state support.David Robillard1-31/+36
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5541 a436a847-0d15-0410-975c-d299462d15a1
2015-02-06Remove gthread dependency from engine.David Robillard1-8/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5533 a436a847-0d15-0410-975c-d299462d15a1
2015-01-15Node bypass.David Robillard1-6/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5515 a436a847-0d15-0410-975c-d299462d15a1
2014-02-02Don't cut feedback for put events, fixing initial placement of subgraph modules.David Robillard1-2/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5334 a436a847-0d15-0410-975c-d299462d15a1
2014-02-01Make SetPortValue event for ingen:activity.David Robillard1-1/+1
This probably needs a bit of renaming and saner implementation... git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5329 a436a847-0d15-0410-975c-d299462d15a1
2014-01-31Subscribe to ports before instantiating plugin UIs (fix #954).David Robillard1-6/+17
Respond to put/set/patch with the same type of event (not set=>delta). Don't feed back changes to originating client. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5326 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Fix various whitespace and formatting issues.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5325 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Don't take poly lock when creating nodes.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5322 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Remove redundant and unnecessary properties from saved graphs and protocol.David Robillard1-2/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5321 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Update for latest LV2 Atom Object simplifications.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5319 a436a847-0d15-0410-975c-d299462d15a1
2014-01-18Consolidate URIs.David Robillard1-5/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5316 a436a847-0d15-0410-975c-d299462d15a1
2014-01-18Fix crashes when LV2 host changes polyphony rapidly.David Robillard1-0/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5315 a436a847-0d15-0410-975c-d299462d15a1
2013-12-25Fix handling setting of several special properties per request.David Robillard1-5/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5208 a436a847-0d15-0410-975c-d299462d15a1
2013-11-01Remove unused typedefs.David Robillard1-2/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5167 a436a847-0d15-0410-975c-d299462d15a1
2013-02-23Move Atom implementation out of Raul so it can depend on LV2.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5076 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02More generic Atom class.David Robillard1-10/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5024 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02Add option to enable/disable canvas animation (fix/avoid #879).David Robillard1-3/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5016 a436a847-0d15-0410-975c-d299462d15a1
2013-01-22Fix compilation with Delta debug dumping enabled.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5005 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-9/+9
Use project local short type aliases for shared_ptr and friends. Move Raul::Disposable and Raul::Manageable into Raul::Maid. Use sets to store machina nodes and edges to avoid O(n) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4939 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Use range-based for loops where possible.David Robillard1-20/+18
Mmm, shiny. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4919 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Use type safe enumerations.David Robillard1-30/+31
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4918 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Fix memory leaks.David Robillard1-2/+1
Add missing library dependencies. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4880 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Add Broadcaster::Transfer for scoped recursion-safe reply bundling.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4868 a436a847-0d15-0410-975c-d299462d15a1
2012-11-18Fix learn for Trigger and Internal nodes.David Robillard1-2/+9
Set value property for inputs when a notification is sent so model is consistent (and learned values are saved correctly). Don't redundantly store value atom in PortModel, just use property directly. Fix incorrect use of lv2:integer as a predicate. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4835 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19GraphObject => NodeDavid Robillard1-7/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4722 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19Patch => GraphDavid Robillard1-20/+20
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4721 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Node => BlockDavid Robillard1-13/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4720 a436a847-0d15-0410-975c-d299462d15a1
2012-08-17Implement real logging system, LV2 log extension support, and purge ↵David Robillard1-11/+11
evil/ugly/untranslatable C++ stream printing. Remove coloured log stuff from Raul. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4717 a436a847-0d15-0410-975c-d299462d15a1
2012-08-15Rewrite Raul::Maid and eliminate Raul:List.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4702 a436a847-0d15-0410-975c-d299462d15a1
2012-08-14Replace use of old Raul Table stuff with std::map.David Robillard1-4/+4
Move most Store functionality into Ingen::Store and eliminate EngineStore. Much cleaner delete and move implementations. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4696 a436a847-0d15-0410-975c-d299462d15a1