2 #include <ossia/detail/config.hpp>
4 #include <ossia/detail/hash_map.hpp>
5 #include <ossia/network/common/parameter_properties.hpp>
6 #include <ossia/network/value/value.hpp>
7 #include <ossia/preset/preset.hpp>
9 #include <nano_observer.hpp>
23 ossia::presets::preset preset;
26 struct selection_filters
28 std::vector<std::string> selection;
29 std::vector<ossia::val_type> type;
30 std::vector<ossia::access_mode> access;
31 std::vector<ossia::bounding_mode> bounding;
32 std::vector<std::string>
tags;
39 std::optional<visibility_t> visibility;
42 class OSSIA_EXPORT cues : Nano::Observer
45 std::vector<cue> m_cues{{.name{
"Init"}}};
49 int size() const noexcept {
return this->m_cues.size(); }
50 cue& current_cue() noexcept {
return this->m_cues[m_current]; }
51 cue* get_cue(
int idx) noexcept
53 return (idx >= 0 && idx < std::ssize(this->m_cues)) ? &this->m_cues[idx] :
nullptr;
55 std::optional<int> find_cue(std::string_view name);
56 int get_cue(std::string_view name);
58 void create(std::string_view name);
60 void update(std::string_view name);
64 void recall(std::string_view name);
68 void remove(std::string_view name);
73 void move(std::string_view name,
int index);
74 void move(
int from,
int to);
76 void output(std::string_view name);
77 void output(std::string_view name, std::string_view pattern);
79 void namespace_select(std::string_view pat);
80 void namespace_deselect(std::string_view pat);
81 void namespace_filter_all(
const selection_filters& pat);
82 void namespace_filter_any(
const selection_filters& pat);
83 void namespace_grab(std::string_view pat);
92 ossia::hash_set<ossia::net::node_base*> m_selection;
Root of a device tree.
Definition: ossia/network/base/device.hpp:58
The node_base class.
Definition: network/base/node.hpp:48
std::vector< std::string > tags
Tags applied to a node: {"model", "interesting", ...}.
Definition: node_attributes.hpp:71