11 #include <nap/service.h>
12 #include <concurrentqueue.h>
15 #include "midievent.h"
21 class MidiInputComponentInstance;
37 bool init(
nap::utility::ErrorState& errorState) override;
42 void enqueueEvent(std::unique_ptr<
MidiEvent> event) { mEventQueue.enqueue(std::move(event)); }
47 void update(
double deltaTime)
override;
54 void unregisterInputComponent(MidiInputComponentInstance& component) { mInputComponents.erase(&component); }
56 std::set<MidiInputComponentInstance*> mInputComponents;
61 moodycamel::ConcurrentQueue<std::unique_ptr<MidiEvent>> mEventQueue;