|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
MIDI-specific timeline data provider. More...
#include <src/structure/arrangement/timeline_data_provider.h>


Public Member Functions | |
| void | process_midi_events (const EngineProcessTimeInfo &time_nfo, dsp::ITransport::PlayState transport_state, dsp::MidiEventVector &output_buffer) noexcept |
| Process MIDI events for the given time range. | |
| void | clear_all_caches () override |
| void | remove_sequences_matching_interval_from_all_caches (IntervalType interval) override |
| const juce::MidiMessageSequence & | get_midi_events () const |
| void | generate_midi_events (const dsp::TempoMap &tempo_map, RangeOf< const arrangement::MidiRegion * > auto midi_regions, utils::ExpandableTickRange affected_range) |
| Generate the MIDI event sequence to be used during realtime processing. | |
| void | generate_midi_events (const dsp::TempoMap &tempo_map, RangeOf< const arrangement::ChordRegion * > auto chord_regions, utils::ExpandableTickRange affected_range) |
| Generate the MIDI event sequence to be used during realtime processing. | |
| Public Member Functions inherited from zrythm::structure::arrangement::TimelineDataProvider | |
| template<RegionObject RegionType> | |
| void | generate_events (this auto &self, const dsp::TempoMap &tempo_map, RangeOf< const RegionType * > auto regions, utils::ExpandableTickRange affected_range) |
| Generate the event sequence to be used during realtime processing. | |
Protected Member Functions | |
| dsp::TimelineDataCache * | get_base_cache () override |
Friends | |
| class | TimelineDataProvider |
Additional Inherited Members | |
| Public Types inherited from zrythm::structure::arrangement::TimelineDataProvider | |
| using | IntervalType = std::pair<units::sample_t, units::sample_t> |
| Protected Attributes inherited from zrythm::structure::arrangement::TimelineDataProvider | |
| dsp::ITransport::PlayState | last_seen_transport_state_ |
| Last transport state we've seen. | |
| units::sample_t | next_expected_transport_position_ |
| Next expected transport position (for detecting jumps). | |
MIDI-specific timeline data provider.
Handles caching of MIDI sequences with thread-safe access and range-based updates.
Definition at line 140 of file timeline_data_provider.h.
|
overridevirtual |
|
inline |
Generate the MIDI event sequence to be used during realtime processing.
To be called as needed from the UI thread when a new cache is requested.
| tempo_map | The tempo map for timing conversion. |
| chord_regions | The Chord regions to process. |
| affected_range | The range of ticks to process. |
Definition at line 190 of file timeline_data_provider.h.
|
inline |
Generate the MIDI event sequence to be used during realtime processing.
To be called as needed from the UI thread when a new cache is requested.
| tempo_map | The tempo map for timing conversion. |
| midi_regions | The MIDI regions to process. |
| affected_range | The range of ticks to process. |
Definition at line 170 of file timeline_data_provider.h.
|
inlineoverrideprotectedvirtual |
Implements zrythm::structure::arrangement::TimelineDataProvider.
Definition at line 201 of file timeline_data_provider.h.
|
overridevirtual |
|
friend |
Definition at line 142 of file timeline_data_provider.h.