Loading...
Searching...
No Matches
MidiExecutor.hpp
1#pragma once
2#include <Process/Execution/ProcessComponent.hpp>
3#include <Process/ExecutionContext.hpp>
4
5#include <Midi/MidiNote.hpp>
6
7#include <ossia/dataflow/node_process.hpp>
8#include <ossia/detail/flat_set.hpp>
9#include <ossia/editor/scenario/time_process.hpp>
10namespace ossia::nodes
11{
12struct note_data;
13}
14
15namespace Device
16{
17class DeviceList;
18}
19namespace Midi
20{
21class ProcessModel;
22namespace Executor
23{
24class Component final
25 : public ::Execution::ProcessComponent_T<Midi::ProcessModel, ossia::node_process>
26 , public Nano::Observer
27{
28 COMPONENT_METADATA("6d5334a5-7b8c-45df-9805-11d1b4472cdf")
29public:
30 static const constexpr bool is_unique = true;
31 Component(Midi::ProcessModel& element, const Execution::Context& ctx, QObject* parent);
32 ~Component() override;
33
34 void on_noteAdded(const Midi::Note&);
35 void on_noteRemoved(const Midi::Note&);
36 void on_notesReplaced();
37
38 ossia::nodes::note_data to_note(const NoteData& n);
39};
40
42}
43}
Definition Process/Execution/ProcessComponent.hpp:119
Definition MidiExecutor.hpp:27
The Note class.
Definition MidiNote.hpp:59
Definition MidiProcess.hpp:15
Manipulation of Devices from Qt.
Definition AddressSettings.cpp:14
Definition ExecutionContext.hpp:76
Definition Process/Execution/ProcessComponent.hpp:89
Definition MidiNote.hpp:11