2 #include <State/Message.hpp>
4 #include <Process/GenericProcessFactory.hpp>
5 #include <Process/Process.hpp>
7 #include <Explorer/Explorer/DeviceExplorerModel.hpp>
9 #include <ControlSurface/Metadata.hpp>
11 #include <ossia/detail/hash_map.hpp>
15 struct FullAddressAccessorSettings;
24 template <
typename Identifier,
typename Func>
36 &explorer, &Explorer::DeviceExplorerModel::nodeChanged,
this,
38 if(
auto it = available.find(n); it != available.end())
47 auto node = Device::try_getNodeFromAddress(model.rootNode(), addr);
50 available[node] = {std::move(addr), std::move(identifier)};
54 missing.push_back({std::move(addr), std::move(identifier)});
60 auto it = ossia::find_if(
61 available, [&](
const auto& pair) {
return pair.second.accessor == addr; });
62 if(it != available.end())
69 = ossia::find_if(missing, [&](
const auto& p) {
return p.accessor == addr; });
70 if(it != missing.end())
81 ossia::hash_map<Device::Node*, AvailableNode> available;
82 std::vector<AvailableNode> missing;
87 SCORE_SERIALIZE_FRIENDS
92 using address_map = ossia::hash_map<int32_t, State::AddressAccessor>;
95 template <
typename Impl>
96 Model(Impl& vis, QObject* parent)
98 , m_observer{Explorer::deviceExplorerFromObject(*parent), Apply{*
this}}
105 using Process::ProcessModel::inlets;
106 using Process::ProcessModel::outlets;
116 const address_map& outputAddresses()
const noexcept {
return m_outputAddresses; }
119 QString prettyName()
const noexcept
override;
121 void setDurationAndScale(
const TimeVal& newDuration) noexcept
override;
122 void setDurationAndGrow(
const TimeVal& newDuration) noexcept
override;
123 void setDurationAndShrink(
const TimeVal& newDuration) noexcept
override;
125 address_map m_outputAddresses;
Definition: QmlObjects.hpp:114
Definition: score-plugin-controlsurface/ControlSurface/Process.hpp:86
Definition: DeviceExplorerModel.hpp:67
Definition: GenericProcessFactory.hpp:15
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
The id_base_t class.
Definition: Identifier.hpp:57
Manipulation of Devices from Qt.
Definition: AddressSettings.cpp:14
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
@ ControlSurface
The process supports being exposed to the ControlSurface.
Definition: ProcessFlags.hpp:37
Definition: score-plugin-controlsurface/ControlSurface/Process.hpp:76
Definition: score-plugin-controlsurface/ControlSurface/Process.hpp:26
Definition: AddressSettings.hpp:131
Definition: PortForward.hpp:23
Definition: PortForward.hpp:27
Definition: Address.hpp:108
The Address struct.
Definition: Address.hpp:58
Definition: TimeValue.hpp:21