// This file is part of the 64k demo project. // It implements the mock audio backend for testing. // Records voice trigger events with precise timestamps. #include "mock_audio_backend.h" #if !defined(STRIP_ALL) MockAudioBackend::MockAudioBackend() : current_time_sec_(0.0f) { } MockAudioBackend::~MockAudioBackend() { } void MockAudioBackend::init() { // No-op for mock backend } void MockAudioBackend::start() { // No-op for mock backend } void MockAudioBackend::shutdown() { // No-op for mock backend } void MockAudioBackend::on_voice_triggered(float timestamp, int spectrogram_id, float volume, float pan) { // Record the event with the timestamp provided by synth VoiceTriggerEvent event; event.timestamp_sec = timestamp; event.spectrogram_id = spectrogram_id; event.volume = volume; event.pan = pan; recorded_events_.push_back(event); } void MockAudioBackend::on_frames_rendered(int num_frames) { // Update internal time based on frames rendered // This is called by audio_render_silent() for seek/fast-forward simulation const float delta_sec = (float)num_frames / (float)kSampleRate; current_time_sec_ += delta_sec; } #endif /* !defined(STRIP_ALL) */