summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delete.cpp
AgeCommit message (Collapse)AuthorFilesLines
2023-09-22Use a regular unique_ptr for compiled graphsDavid Robillard1-3/+3
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.
2023-02-03Suppress/fix new warnings in clang-tidy 15David Robillard1-2/+2
2022-12-14Concatenate nested namespacesDavid Robillard1-4/+2
2022-12-14Use std::filesystem and std::make_uniqueDavid Robillard1-0/+1
2022-08-18Use default member initializationDavid Robillard1-2/+0
2022-08-18Use auto when declaring iteratorsDavid Robillard1-1/+1
2021-06-04Switch to C++14 and fix build with GCC 10David Robillard1-3/+2
GCC was having problems with this make_unique overload, but I don't care about C++11 compatibility at this point anyway, so it's easiest to just remove it.
2021-04-01Fix deleting connected ports in subgraphsDavid Robillard1-1/+1
2020-08-03Clean up includesDavid Robillard1-0/+12
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 std::shared_ptr aliasDavid Robillard1-4/+5
2020-08-02Use consistent naming for context parametersDavid Robillard1-5/+5
2020-08-02Remove wrappers for standard memory functionsDavid Robillard1-2/+3
2020-08-01Use modern castsDavid Robillard1-3/+3
2019-12-08Cleanup: Avoid parameter copying overheadDavid Robillard1-4/+4
2019-03-09Clean up includes and forward declarationsDavid Robillard1-5/+13
2019-03-09Use smart pointers over manual memory managementDavid Robillard1-3/+4
2019-03-08Pass World everywhere by referenceDavid Robillard1-2/+2
2018-09-23Use lowercase namespace namesDavid Robillard1-10/+10
2018-01-21Add URI class and remove use of Raul::URIDavid Robillard1-1/+1
2017-12-25Use auto for iteratorsDavid Robillard1-1/+1
2017-12-25Use nullptrDavid Robillard1-3/+3
2017-12-16Make events take the corresponding message directlyDavid Robillard1-12/+11
2017-12-16Adjust indices when ports are deletedDavid Robillard1-0/+38
2017-12-16Fix undo of deletions that remove connectionsDavid Robillard1-1/+1
2017-03-18Don't delete LV2 portsDavid Robillard1-1/+1
2017-02-15Move static path stuff to its own headerDavid Robillard1-2/+2
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-15/+5
2016-12-14Fix real-time safety of control bindingsDavid Robillard1-3/+8
2016-10-14Fix potential store deadlockDavid Robillard1-1/+1
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-8/+13
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 Robillard1-1/+1
2016-10-02Add parallelism-aware graph traversalDavid Robillard1-2/+2
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-1/+1
2016-08-17Rename main graph and control/notify portsDavid Robillard1-1/+1
2016-07-30Add undo supportDavid Robillard1-1/+13
2015-10-23Speed up multi-deletionDavid Robillard1-6/+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-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-08Don't complain about missing ports when deleting things.David Robillard1-3/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5547 a436a847-0d15-0410-975c-d299462d15a1
2015-02-06Remove gthread dependency from engine.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5533 a436a847-0d15-0410-975c-d299462d15a1
2014-03-15Hopefully fix potential deadlocks with mass deletes (fix #962).David Robillard1-3/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5336 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
2013-01-11Use type safe enumerations.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4918 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Strip trailing whitespace.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4883 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-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4868 a436a847-0d15-0410-975c-d299462d15a1
2012-12-20Fix crash on bad delete events.David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4867 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19GraphObject => NodeDavid Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4722 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19Patch => GraphDavid Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4721 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Node => BlockDavid Robillard1-11/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4720 a436a847-0d15-0410-975c-d299462d15a1
2012-08-15Rewrite Raul::Maid and eliminate Raul:List.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4702 a436a847-0d15-0410-975c-d299462d15a1