37 ,
public Nano::Observer
48 const std::shared_ptr<ossia::graph_node>& node);
51 const std::shared_ptr<ossia::graph_node>& node);
52 void unregister_node_soft(
54 const std::shared_ptr<ossia::graph_node>& node,
Transaction& vec);
61 const std::shared_ptr<ossia::graph_node>& node);
64 const std::shared_ptr<ossia::graph_node>& node);
66 void unregister_inlet(
67 const Process::Inlet& inlet,
const std::shared_ptr<ossia::graph_node>& node);
68 void unregister_outlet(
69 const Process::Outlet& outlet,
const std::shared_ptr<ossia::graph_node>& node);
74 const std::shared_ptr<ossia::graph_node>& node,
Transaction& vec);
77 const std::shared_ptr<ossia::graph_node>& node,
Transaction& vec);
87 const std::shared_ptr<ossia::graph_node>& node,
Transaction& vec);
90 const std::shared_ptr<ossia::graph_node>& node,
Transaction& vec);
92 void unregister_inlet(
93 const Process::Inlet& inlet,
const std::shared_ptr<ossia::graph_node>& node,
95 void unregister_outlet(
96 const Process::Outlet& outlet,
const std::shared_ptr<ossia::graph_node>& node,
100 const std::shared_ptr<ossia::time_process>& process,
101 const std::shared_ptr<ossia::graph_node>& node,
Transaction& commands);
110 score::hash_map<Process::Outlet*, std::pair<ossia::node_ptr, ossia::outlet_ptr>>
112 score::hash_map<Process::Inlet*, std::pair<ossia::node_ptr, ossia::inlet_ptr>> inlets;
113 score::hash_map<Id<Process::Cable>, std::shared_ptr<ossia::graph_edge>> m_cables;
117 using connections = ossia::small_vector<QMetaObject::Connection, 3>;
118 ossia::flat_map<Id<Process::Port>, connections> inlets;
119 ossia::flat_map<Id<Process::Port>, connections> outlets;
120 void clear()
const noexcept
122 for(
auto& [
id, cons] : inlets)
123 for(
auto& con : cons)
124 QObject::disconnect(con);
125 for(
auto& [
id, cons] : outlets)
126 for(
auto& con : cons)
127 QObject::disconnect(con);
133 score::hash_map<const ossia::graph_node*, const Process::ProcessModel*> proc_map;
136 template <
typename Impl>
137 void register_node_impl(
139 const std::shared_ptr<ossia::graph_node>& node, Impl&&);
141 void follow_published();
144 void rebind(QObject* port);
145 bool m_followsPublished{};
147 template <
typename Port_T,
typename OssiaPort_T,
typename Impl>
149 Port_T& proc_port,
const OssiaPort_T& ossia_port,
150 const std::shared_ptr<ossia::graph_node>& node, RegisteredPorts::connections& cons,
153 template <
typename Impl>
154 void register_inlet_impl(
156 const std::shared_ptr<ossia::graph_node>& node, Impl&&);
158 template <
typename Impl>
159 void register_outlet_impl(
161 const std::shared_ptr<ossia::graph_node>& node, Impl&&);
163 template <
typename Impl>
166 template <
typename Impl>
Definition ExecutionContext.hpp:208
Definition ExecutionSetup.hpp:116
Definition ExecutionSetup.hpp:38