|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Audio-specific timeline data cache. More...
#include <src/dsp/timeline_data_cache.h>


Data Structures | |
| struct | AudioRegionEntry |
| Audio region entry for caching. More... | |
Public Member Functions | |
| AudioTimelineDataCache (QObject *parent=nullptr) | |
| 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 | remove_sequences_matching_interval (IntervalType interval) override |
| Removes cached data for intervals that truly overlap with the given interval. | |
| bool | has_content () const override |
| Checks if the cache has any content. | |
| Public Member Functions inherited from zrythm::dsp::TimelineDataCache | |
| TimelineDataCache (QObject *parent=nullptr) | |
| void | clear () |
| Clears all cached data and emits cachedRangesChanged. | |
| void | finalize_changes () |
| Finalizes changes, prepares cached data for access, and emits cachedRangesChanged. | |
| Q_SIGNAL void | cachedRangesChanged (std::vector< IntervalType > ranges) const |
| Emitted when the cache content changes (after finalize_changes or clear). | |
Additional Inherited Members | |
| Public Types inherited from zrythm::dsp::TimelineDataCache | |
| using | IntervalType = std::pair<units::sample_t, units::sample_t> |
| Static Protected Member Functions inherited from zrythm::dsp::TimelineDataCache | |
| static bool | intervals_overlap (IntervalType a, IntervalType b) noexcept |
| Returns true if two intervals truly overlap (adjacent intervals do not count). | |
Audio-specific timeline data cache.
Handles caching of audio regions with thread-safe access and range-based updates.
Definition at line 169 of file timeline_data_cache.h.
|
inlineexplicit |
Definition at line 172 of file timeline_data_cache.h.
| void zrythm::dsp::AudioTimelineDataCache::add_audio_region | ( | IntervalType | interval, |
| const juce::AudioSampleBuffer & | audio_buffer ) |
Adds an audio region for the given interval.
| interval | The time interval (in samples). |
| audio_buffer | The audio sample buffer to copy. |
|
inline |
Gets the cached audio regions.
Definition at line 211 of file timeline_data_cache.h.
|
overridevirtual |
Checks if the cache has any content.
Implements zrythm::dsp::TimelineDataCache.
|
overridevirtual |
Removes cached data for intervals that truly overlap with the given interval.
Adjacent intervals (where one's end equals another's start) are NOT considered overlapping, since cache entries use exclusive-end semantics (end = one past the last sample).
| interval | The time interval to remove (in samples). |
Call finalize_changes() after one or more calls to this method.
Implements zrythm::dsp::TimelineDataCache.