28 static constexpr size_t kCapacity = 4096;
33 MidiDeviceBuffer (
const MidiDeviceBuffer &) =
delete;
34 MidiDeviceBuffer &operator= (
const MidiDeviceBuffer &) =
delete;
35 MidiDeviceBuffer (MidiDeviceBuffer &&) =
delete;
36 MidiDeviceBuffer &operator= (MidiDeviceBuffer &&) =
delete;
46 bool push (juce::MidiMessage &&message);
48 bool push (
const juce::MidiMessage &message)
50 return push (juce::MidiMessage (message));
70 juce::MidiBuffer &output,
71 units::sample_rate_t sample_rate,
72 units::sample_u32_t nframes,
73 std::optional<units::precise_second_t> block_start_time =
74 std::nullopt)
noexcept [[clang::nonblocking]];
81 void clear () noexcept [[clang::nonblocking]];
85 std::unique_ptr<Impl> impl_;
void drain(juce::MidiBuffer &output, units::sample_rate_t sample_rate, units::sample_u32_t nframes, std::optional< units::precise_second_t > block_start_time=std::nullopt) noexcept
Drain all queued events into output, converting timestamps to sample offsets within the current audio...