Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::dsp::MidiTimelineDataCache Class Reference

MIDI-specific timeline data cache. More...

#include <src/dsp/timeline_data_cache.h>

Inheritance diagram for zrythm::dsp::MidiTimelineDataCache:
Collaboration diagram for zrythm::dsp::MidiTimelineDataCache:

Public Member Functions

void add_midi_sequence (IntervalType interval, const juce::MidiMessageSequence &sequence)
 Adds a MIDI sequence for the given interval.
const juce::MidiMessageSequence & get_midi_events () const
 Gets the cached MIDI events.
void clear () override
 Clears all cached data.
void remove_sequences_matching_interval (IntervalType interval) override
 Removes cached data matching the given interval.
void finalize_changes () override
 Finalizes changes and prepares cached data for access.
bool has_content () const override
 Checks if the cache has any content.

Additional Inherited Members

Public Types inherited from zrythm::dsp::TimelineDataCache
using IntervalType = std::pair<units::sample_t, units::sample_t>

Detailed Description

MIDI-specific timeline data cache.

Handles caching of MIDI sequences with thread-safe access and range-based updates.

Definition at line 62 of file timeline_data_cache.h.

Member Function Documentation

◆ add_midi_sequence()

void zrythm::dsp::MidiTimelineDataCache::add_midi_sequence ( IntervalType interval,
const juce::MidiMessageSequence & sequence )

Adds a MIDI sequence for the given interval.

Parameters
intervalThe time interval (in samples).
sequenceThe MIDI message sequence.

◆ clear()

void zrythm::dsp::MidiTimelineDataCache::clear ( )
overridevirtual

Clears all cached data.

Implements zrythm::dsp::TimelineDataCache.

◆ finalize_changes()

void zrythm::dsp::MidiTimelineDataCache::finalize_changes ( )
overridevirtual

Finalizes changes and prepares cached data for access.

This should be called after all modifications are complete to prepare the cached data for real-time access.

Implements zrythm::dsp::TimelineDataCache.

◆ get_midi_events()

const juce::MidiMessageSequence & zrythm::dsp::MidiTimelineDataCache::get_midi_events ( ) const
inline

Gets the cached MIDI events.

Returns
Reference to the merged MIDI message sequence.

Definition at line 80 of file timeline_data_cache.h.

◆ has_content()

bool zrythm::dsp::MidiTimelineDataCache::has_content ( ) const
overridevirtual

Checks if the cache has any content.

Returns
True if the cache contains any data, false otherwise.

Implements zrythm::dsp::TimelineDataCache.

◆ remove_sequences_matching_interval()

void zrythm::dsp::MidiTimelineDataCache::remove_sequences_matching_interval ( IntervalType interval)
overridevirtual

Removes cached data matching the given interval.

Parameters
intervalThe time interval to remove (in samples).

Implements zrythm::dsp::TimelineDataCache.


The documentation for this class was generated from the following file: