MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Vruta::SampleClock Class Reference

Sample-accurate timing system for audio processing domain. More...

#include <Clock.hpp>

+ Inheritance diagram for MayaFlux::Vruta::SampleClock:
+ Collaboration diagram for MayaFlux::Vruta::SampleClock:

Public Member Functions

uint64_t current_position () const override
 Get current position in the domain's timeline.
 
uint64_t current_sample () const
 Gets the current sample position.
 
double current_time () const override
 Converts current sample position to seconds.
 
uint32_t rate () const override
 Get the processing rate for this timing domain.
 
void reset () override
 Reset clock to initial state (position 0)
 
uint32_t sample_rate () const
 Gets the audio sample rate.
 
 SampleClock (uint64_t sample_rate=48000)
 Constructs a SampleClock with the specified sample rate.
 
void tick (uint64_t samples=1) override
 Advances the clock by the specified number of samples.
 
- Public Member Functions inherited from MayaFlux::Vruta::IClock
virtual ~IClock ()=default
 

Private Attributes

uint64_t m_current_sample
 Current sample position counter.
 
uint32_t m_sample_rate
 Audio sample rate in samples per second.
 

Detailed Description

Sample-accurate timing system for audio processing domain.

SampleClock provides precise sample-based timing for audio processing tasks. Unlike wall-clock time which can be imprecise and subject to system load variations, SampleClock advances strictly based on audio samples processed, ensuring perfect synchronization with the audio stream.

Key Characteristics:

  • Sample-Accurate Precision: Time measured in audio samples, not milliseconds
  • Deterministic Timing: Behavior is consistent regardless of system load
  • Audio Stream Synchronization: Advances in lockstep with audio processing
  • Musical Timing: Ideal for precisely timed musical events and audio effects

This sample-based approach is essential for audio applications where precise timing is critical and operations must align perfectly with audio buffer boundaries. SampleClock serves as the authoritative timekeeper for the audio processing domain.

Definition at line 90 of file Clock.hpp.


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