summaryrefslogtreecommitdiffstats
path: root/src/server/events/Get.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-10-01Defer 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-01Use more efficient std::lock_guard where possibleDavid Robillard1-1/+1
2016-10-01Show audio and load information in status lineDavid Robillard1-4/+8
2015-10-30Update clients when plugins are unloaded/reloadedDavid Robillard1-112/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5808 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-12Server-side presets.David Robillard1-7/+31
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5703 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-09Stable sort update only by depth to preserve port order.David Robillard1-2/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5548 a436a847-0d15-0410-975c-d299462d15a1
2015-02-08Server-side copy paste with LV2 state support.David Robillard1-6/+14
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-3/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5533 a436a847-0d15-0410-975c-d299462d15a1
2014-03-29Eliminate long-term lock from Get event.David Robillard1-70/+86
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5344 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-18Consolidate URIs.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5316 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-5/+5
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-6/+4
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-9/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4918 a436a847-0d15-0410-975c-d299462d15a1
2012-12-29"edge" => "arc".David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4897 a436a847-0d15-0410-975c-d299462d15a1
2012-12-23Use more sensible URI scheme for Ingen paths.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4889 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Add Broadcaster::Transfer for scoped recursion-safe reply bundling.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4868 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19GraphObject => NodeDavid Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4722 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19Patch => GraphDavid Robillard1-18/+18
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4721 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Node => BlockDavid Robillard1-16/+16
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-5/+3
tedious allocated list node juggling. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4700 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-08-12Use ingen:root as the path for the root patch, opening up path space for ↵David Robillard1-7/+8
engine/driver/etc. Strict conversion between Path and URI (Path no longer is-a URI). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4672 a436a847-0d15-0410-975c-d299462d15a1
2012-08-11Considerable DSP performance improvements (mixing overhead, and per-event ↵David Robillard1-0/+1
MIDI overhead with Note/Trigger nodes). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4657 a436a847-0d15-0410-975c-d299462d15a1
2012-08-10Fix various const violations.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4647 a436a847-0d15-0410-975c-d299462d15a1
2012-07-31Merge Ingen::Shared namespace into Ingen namespace and core libingen library.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4579 a436a847-0d15-0410-975c-d299462d15a1
2012-07-26Report subject with errors to client for more meaningful error messages.David Robillard1-19/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4556 a436a847-0d15-0410-975c-d299462d15a1
2012-06-29Fix crashes caused by events attempting to respond to deleted clients (fix ↵David Robillard1-9/+9
#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-22More work on test suite.David Robillard1-7/+5
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-15Remove ClientSender and move code to Get.cpp (the only place it was used).David Robillard1-2/+82
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4421 a436a847-0d15-0410-975c-d299462d15a1
2012-05-15Fix crash when loading patches from the command line.David Robillard1-10/+8
Remove unnecessary fields from CreateNode event. Clean up CreateNode event and fix bugs. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4418 a436a847-0d15-0410-975c-d299462d15a1
2012-05-15Eliminate long-duration event locks by generated responses in pre_process().David Robillard1-10/+9
This also fixes some correctness issues, since the state at pre_process() time is actually the state that needs to be broadcast to clients. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4416 a436a847-0d15-0410-975c-d299462d15a1
2012-05-14Remove Thread context stuff and add a thread-specific variable class, ↵David Robillard1-1/+1
ThreadVar, which can be used for this and many other things. ClientBroadcaster => Broadcaster. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4405 a436a847-0d15-0410-975c-d299462d15a1
2012-05-11Clean up and better document World interface.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4344 a436a847-0d15-0410-975c-d299462d15a1
2012-05-10Work towards translatable strings and a cleaner log interface.David Robillard1-9/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4338 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-16Preliminary work towards native LV2 UI.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4074 a436a847-0d15-0410-975c-d299462d15a1
2012-03-16Merge ClientInterface and ServerInterface.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4067 a436a847-0d15-0410-975c-d299462d15a1
2012-03-16Remove activity from interface and use set_property() instead.David Robillard1-0/+10
Move client registration stuff to Engine and remove corresponding events. Simply response ID interface. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4066 a436a847-0d15-0410-975c-d299462d15a1
2012-03-12Unify event response mechanism and make it more appropriate for wire ↵David Robillard1-4/+4
transmission. The downside being more cryptic error messages until the client side error reporting stuff gets more fancy, but the important part is that belongs client side. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4053 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Merge Request into Event.David Robillard1-16/+16
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-10-21Fix running as an LV2 plugin.David Robillard1-5/+10
Install template bundles for loading Ingen in LV2 hosts. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3555 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Tidy.David Robillard1-12/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3485 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Use store lock to avoid race conditions with Get and create/delete events.David Robillard1-0/+5
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/+84
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1