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


Data Structures | |
| struct | AutomationCacheEntry |
| Automation cache entry for caching. More... | |
Public Member Functions | |
| AutomationTimelineDataCache (QObject *parent=nullptr) | |
| void | add_automation_sequence (IntervalType interval, const std::vector< float > &automation_values) |
| Adds an automation sequence for the given interval. | |
| const std::vector< AutomationCacheEntry > & | get_automation_sequences () const |
| Gets the cached automation sequences. | |
| 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). | |
Automation-specific timeline data cache.
Handles caching of automation sequences with thread-safe access and range-based updates.
Definition at line 238 of file timeline_data_cache.h.
|
inlineexplicit |
Definition at line 241 of file timeline_data_cache.h.
| void zrythm::dsp::AutomationTimelineDataCache::add_automation_sequence | ( | IntervalType | interval, |
| const std::vector< float > & | automation_values ) |
Adds an automation sequence for the given interval.
| interval | The time interval (in samples). |
| automation_values | The automation values. |
|
inline |
Gets the cached automation sequences.
Definition at line 280 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.