summaryrefslogtreecommitdiffstats
path: root/src/server/events/Connect.hpp
AgeCommit message (Collapse)AuthorFilesLines
2023-09-22Use a regular unique_ptr for compiled graphsDavid Robillard1-1/+1
Since these are always swapped by events which already have the ability to delete things after execution (by deleting them along with the event itself after processing), we can avoid the complexity and overhead of Raul::managed_ptr here by swapping the old graph for the new, retaining the owning reference to the old CompiledGraph in the event.
2022-08-18Use default member initializationDavid Robillard1-2/+2
2021-01-02Update for latest raulDavid Robillard1-2/+2
2020-12-15Clean up includes in core and serverDavid Robillard1-1/+3
2020-08-03Clean up includesDavid Robillard1-0/+8
As directed by include-what-you-use. Unfortunately, it is still confused by quite a few things, but this gets a lot closer to a clean report, and at least makes the output more tolerable to manually check.
2020-08-02Remove Raul::managed_ptr aliasDavid Robillard1-11/+11
2020-08-02Remove std::shared_ptr aliasDavid Robillard1-14/+18
2020-08-02Use consistent naming for context parametersDavid Robillard1-1/+1
2019-12-08Cleanup: Avoid parameter copying overheadDavid Robillard1-4/+4
2019-03-09Clean up includes and forward declarationsDavid Robillard1-6/+0
2018-09-23Use override specifiersDavid Robillard1-4/+4
2018-09-23Use lowercase namespace namesDavid Robillard1-8/+8
2017-12-16Make events take the corresponding message directlyDavid Robillard1-8/+5
2017-12-16Make CompiledGraph::compile a free functionDavid Robillard1-1/+1
2017-02-15Move Properties out of ResourceDavid Robillard1-4/+4
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-11/+11
2016-12-13Remove virtual inheritance from Port hierarchyDavid Robillard1-1/+0
This was confusing stoat, and is questionable design anyway. The OutputPort functionality has been moved to PortImpl, which is a basic port with buffers suitable for use as an output, and is overridden by InputPort and DuplexPort where necessary.
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-04-04Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5653 a436a847-0d15-0410-975c-d299462d15a1
2014-01-12Combine port buffers and set state into a single voice object.David Robillard1-12/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5309 a436a847-0d15-0410-975c-d299462d15a1
2013-06-09Inherit certain properties from ports connected to patch ports.David Robillard1-0/+4
This is a bit too hard-edged at present, but does the right thing when building a patch from scratch at least. Something needs to be done about removing the properties, but this is hard for outputs since the arcs aren't keyed that way. The main problem here is that Ardour barfs on plugins with MIDI input for audio tracks, so if you *ever* connect the control input to a MIDI anything, it will stick and not work in an Ardour audio track. Maybe it should be just implemented for inputs as a stop gap... git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5136 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-7/+7
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-12-29"edge" => "arc".David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4897 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-07-30Shrink events.David Robillard1-11/+6
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-6/+6
#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/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4455 a436a847-0d15-0410-975c-d299462d15a1
2012-05-23Clean up CreatePatch polyphony stuff.David Robillard1-6/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4450 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-11"Connection" => "Edge"David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4345 a436a847-0d15-0410-975c-d299462d15a1
2012-04-28Use "tail" and "head" terminology instead of "src_port" and "dst_port".David Robillard1-4/+4
Use the same types for connect() and disconnect() parameters. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4292 a436a847-0d15-0410-975c-d299462d15a1
2012-04-23Localise buffer reference stuff.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4252 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
2012-03-12Unify event response mechanism and make it more appropriate for wire ↵David Robillard1-10/+0
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-5/+6
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-06Use an intrusive linked list for InputPort connections.David Robillard1-2/+1
This simplifies the code and avoids the overhead of allocating list nodes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3532 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Remove concept of "blocking" events in favour of store RWLock.David Robillard1-1/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3488 a436a847-0d15-0410-975c-d299462d15a1
2011-04-20Rename Ingen::Engine to Ingen::Server (hopefully avoid odd name clases and ↵David Robillard1-0/+88
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1