// This file is part of the 64k demo project. // It defines the public interface for the audio system. // Includes initialization, shutdown, and frame updates. #pragma once #include "generated/assets.h" #include // Forward declaration for backend abstraction class AudioBackend; struct SpecHeader { char magic[4]; int32_t version; int32_t dct_size; int32_t num_frames; }; void audio_init(); void audio_start(); // Starts the audio device callback #if !defined(STRIP_ALL) void audio_render_silent(float duration_sec); // Fast-forwards audio state // Backend injection for testing void audio_set_backend(AudioBackend* backend); AudioBackend* audio_get_backend(); #endif /* !defined(STRIP_ALL) */ void audio_update(); void audio_shutdown(); int register_spec_asset(AssetId id);