summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delete.hpp
AgeCommit message (Collapse)AuthorFilesLines
2017-12-16Make events take the corresponding message directlyDavid Robillard1-6/+5
2017-12-16Adjust indices when ports are deletedDavid Robillard1-0/+7
2017-12-16Make CompiledGraph::compile a free functionDavid Robillard1-2/+2
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-2/+2
2016-12-14Fix real-time safety of control bindingsDavid Robillard1-2/+2
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-09-11Remove last vestiges of multiple run contextsDavid Robillard1-1/+1
2016-07-30Add undo supportDavid Robillard1-1/+2
2015-10-25Document protocolDavid Robillard1-12/+1
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-23Speed up multi-deletionDavid Robillard1-2/+0
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-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-06Remove gthread dependency from engine.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5533 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-16/+16
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
2012-08-19Patch => GraphDavid Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4721 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Node => BlockDavid Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4720 a436a847-0d15-0410-975c-d299462d15a1
2012-08-15Use intrusive lists to store nodes and ports in their parent patch to avoid ↵David Robillard1-10/+9
tedious allocated list node juggling. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4700 a436a847-0d15-0410-975c-d299462d15a1
2012-08-15Simpler and more unified EnginePort implementation.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4699 a436a847-0d15-0410-975c-d299462d15a1
2012-08-14Replace use of old Raul Table stuff with std::map.David Robillard1-3/+3
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
2012-07-30Shrink events.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4574 a436a847-0d15-0410-975c-d299462d15a1
2012-06-29Fix crashes caused by events attempting to respond to deleted clients (fix ↵David Robillard1-5/+5
#842). This one mainly manifested when using ingenish from the command line since the client is so short lived. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4503 a436a847-0d15-0410-975c-d299462d15a1
2012-05-23Trim unnecessary includes.David Robillard1-2/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4455 a436a847-0d15-0410-975c-d299462d15a1
2012-05-22More work on test suite.David Robillard1-1/+1
Clean up, simplify, and shrink event code. Support disconnect_all via Atom protocol. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4432 a436a847-0d15-0410-975c-d299462d15a1
2012-05-14Tidy.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4410 a436a847-0d15-0410-975c-d299462d15a1
2012-05-09DriverPort => EnginePort.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4327 a436a847-0d15-0410-975c-d299462d15a1
2012-04-05Fix end namespace comments to match reality.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4143 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-16Merge ClientInterface and ServerInterface.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4067 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Merge Request into Event.David Robillard1-4/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3574 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Merge QueuedEvent into Event.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3569 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Use store lock to avoid race conditions with Get and create/delete events.David Robillard1-0/+2
Get really shouldn't be reading the store (via ObjectSender) in the post processing thread at all, avoiding that entirely would be a better solution. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3484 a436a847-0d15-0410-975c-d299462d15a1
2011-04-20Rename Ingen::Engine to Ingen::Server (hopefully avoid odd name clases and ↵David Robillard1-0/+95
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1