OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
midi_node.hpp
1#pragma once
3#include <ossia/network/base/node.hpp>
4
5namespace ossia::net::midi
6{
7class midi_protocol;
8class midi_device;
9class OSSIA_EXPORT midi_node : public ossia::net::node_base
10{
11protected:
12 midi_device& m_device;
13 node_base* m_parent{};
14 std::unique_ptr<parameter_base> m_parameter;
15
16public:
17 using iterator = ossia::ptr_container<ossia::net::node_base>::iterator;
18 using const_iterator = ossia::ptr_container<ossia::net::node_base>::const_iterator;
19 ~midi_node() override;
20 midi_node(midi_device& aDevice, ossia::net::node_base& aParent);
21 midi_node(midi_device& aDevice);
22
23 device_base& get_device() const final override;
24 node_base* get_parent() const final override;
25
26 node_base& set_name(std::string) override;
27
28 parameter_base* get_parameter() const final override;
29 parameter_base* create_parameter(val_type) final override;
30 bool remove_parameter() final override;
31
32 std::unique_ptr<node_base> make_child(const std::string& name) override;
33 void removing_child(node_base& node_base) final override;
34
36 midi_node* add_midi_node(std::unique_ptr<midi_node> n);
37};
38}
The node_base class.
Definition node.hpp:48