summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delete.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-12-16 22:27:22 +0100
committerDavid Robillard <d@drobilla.net>2017-12-16 22:27:22 +0100
commitf2d3c77c9a470f20506c90098ab5cf4d3e5c9eff (patch)
tree38b27fed96f39bd1a3b255206f3af93c8f4708af /src/server/events/Delete.hpp
parentd078741456bacf08e2bc3e5d6cda58c2d16ef029 (diff)
downloadingen-f2d3c77c9a470f20506c90098ab5cf4d3e5c9eff.tar.gz
ingen-f2d3c77c9a470f20506c90098ab5cf4d3e5c9eff.tar.bz2
ingen-f2d3c77c9a470f20506c90098ab5cf4d3e5c9eff.zip
Adjust indices when ports are deleted
Diffstat (limited to 'src/server/events/Delete.hpp')
-rw-r--r--src/server/events/Delete.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/events/Delete.hpp b/src/server/events/Delete.hpp
index 0003e821..03c994fe 100644
--- a/src/server/events/Delete.hpp
+++ b/src/server/events/Delete.hpp
@@ -17,6 +17,9 @@
#ifndef INGEN_EVENTS_DELETE_HPP
#define INGEN_EVENTS_DELETE_HPP
+#include <map>
+#include <vector>
+
#include "ingen/Store.hpp"
#include "CompiledGraph.hpp"
@@ -60,6 +63,9 @@ public:
void undo(Interface& target);
private:
+ using IndexChange = std::pair<uint32_t, uint32_t>;
+ using IndexChanges = std::map<Raul::Path, IndexChange>;
+
Raul::URI _uri;
Raul::Path _path;
SPtr<BlockImpl> _block; ///< Non-NULL iff a block
@@ -69,6 +75,7 @@ private:
MPtr<CompiledGraph> _compiled_graph; ///< Graph's new process order
DisconnectAll* _disconnect_event;
Store::Objects _removed_objects;
+ IndexChanges _port_index_changes;
std::vector<ControlBindings::Binding*> _removed_bindings;
};