MayaFlux 0.1.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

 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.
 
uint64_t current_sample () const
 Gets the current sample position.
 
uint64_t current_position () const override
 Get current position in the domain's timeline.
 
double current_time () const override
 Converts current sample position to seconds.
 
uint32_t sample_rate () const
 Gets the audio sample rate.
 
uint32_t rate () const override
 Get the processing rate for this timing domain.
 
void reset () override
 Reset clock to initial state (position 0)
 
- Public Member Functions inherited from MayaFlux::Vruta::IClock
virtual ~IClock ()=default
 

Private Attributes

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

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: