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

Audio-specific timeline data cache. More...

#include <src/dsp/timeline_data_cache.h>

Inheritance diagram for zrythm::dsp::AudioTimelineDataCache:
Collaboration diagram for zrythm::dsp::AudioTimelineDataCache:

Data Structures

struct  AudioRegionEntry
 Audio region entry for caching. More...

Public Member Functions

void add_audio_region (IntervalType interval, const juce::AudioSampleBuffer &audio_buffer)
 Adds an audio region for the given interval.
const std::vector< AudioRegionEntry > & get_audio_regions () const
 Gets the cached audio regions.
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

Audio-specific timeline data cache.

Handles caching of audio regions with thread-safe access and range-based updates.

Definition at line 115 of file timeline_data_cache.h.

Member Function Documentation

◆ add_audio_region()

void zrythm::dsp::AudioTimelineDataCache::add_audio_region ( IntervalType interval,
const juce::AudioSampleBuffer & audio_buffer )

Adds an audio region for the given interval.

Parameters
intervalThe time interval (in samples).
audio_bufferThe audio sample buffer to copy.

◆ clear()

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

Clears all cached data.

Implements zrythm::dsp::TimelineDataCache.

◆ finalize_changes()

void zrythm::dsp::AudioTimelineDataCache::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_audio_regions()

const std::vector< AudioRegionEntry > & zrythm::dsp::AudioTimelineDataCache::get_audio_regions ( ) const
inline

Gets the cached audio regions.

Returns
Reference to the vector of audio region entries.

Definition at line 152 of file timeline_data_cache.h.

◆ has_content()

bool zrythm::dsp::AudioTimelineDataCache::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::AudioTimelineDataCache::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: