25namespace juce::universal_midi_packets
38 virtual void reset() = 0;
39 virtual void pushMidiData (
const uint32_t* begin,
const uint32_t* end,
double time) = 0;
51 : input (i), callback (c), dispatcher (2048) {}
68 if (callback !=
nullptr)
69 return std::make_unique<U32ToBytestreamHandler> (i, *callback);
79 void reset()
override { dispatcher.
reset(); }
81 void pushMidiData (
const uint32_t* begin,
const uint32_t* end,
double time)
override
90 MidiInputCallback& callback;
91 ToBytestreamDispatcher dispatcher;
103 : recipient (c), converter (protocol) {}
116 : protocol (p), callback (c) {}
120 return std::make_unique<U32ToUMPHandler> (protocol, callback);
124 PacketProtocol protocol;
128 void reset()
override
134 void pushMidiData (
const uint32_t* begin,
const uint32_t* end,
double time)
override
146 Dispatcher dispatcher;
147 GenericUMPConverter converter;
void dispatch(const uint32_t *begin, const uint32_t *end, double timeStamp, PacketCallbackFunction &&callback)
void dispatch(const uint32_t *begin, const uint32_t *end, double timestamp, BytestreamMessageCallback &&callback)
virtual void packetReceived(const View &packet, double time)=0