namespace AudioCore.Interfaces;

public sealed class PlaybackSpeedSettings
{
    public float Speed { get; set; } = 1.0f; // 0.5x, 1.0x, 1.5x, etc.
}


public interface ITimeStretchEngine
{
    Task Configure(PlaybackSpeedSettings settings, CancellationToken token);

    // Streaming block processing
    Task IsReadyToAccept(CancellationToken token);
    Task Submit(MixedAudioBlock input, CancellationToken token);
    Task<TimeStretchedAudioBlock> Receive(CancellationToken token);
}
