1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! # Time and clock abstractions for Rill
//!
//! This module provides timing and synchronization primitives for real-time
//! signal processing. It includes clock sources, tick information, and
//! utilities for sample-accurate timing.
//!
//! ## Key Components
//!
//! - [`ClockTick`]: A single tick of the audio clock with timing information
//! - [`ClockSource`]: Trait for objects that can provide clock ticks
//! - [`SystemClock`]: Software-based clock using system time
//! - [`Clock`]: Legacy clock trait (deprecated, use `ClockSource`)
//!
//! ## Example
//!
//! ```rust
//! use rill_core::time::{SystemClock, ClockSource};
//!
//! let mut clock = SystemClock::with_sample_rate(44100.0);
//! let tick = clock.next_tick(64);
//!
//! println!("Sample position: {}", tick.sample_pos);
//! println!("Time since last tick: {} seconds", tick.delta_seconds());
//! ```
pub use SystemClock;
pub use TimeError;
pub use ClockSource;
pub use ClockTick;
/// Result type for time operations
pub type TimeResult<T> = ;
/// Prelude for convenient imports