42c14fae59
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.2 KiB
2.2 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, example, tested, tests, test_file_path, file_path, params, output
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | example | tested | tests | test_file_path | file_path | params | output | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| audio_engine | function | cpp | gamedev | 0.1.0 | impure | engine_init() -> Engine; engine_shutdown(Engine&); engine_set_volume(Engine&, float) | Lifecycle del engine de audio basado en miniaudio (single-header, public domain). Inicializa device default, expone master volume, y libera recursos. Cross-platform: Windows/Linux/macOS via WASAPI/ALSA/CoreAudio y WebAudio bajo emscripten. Issue 0072b — runtime gamedev nucleo. Esta TU es la unica del proyecto que define MINIAUDIO_IMPLEMENTATION. |
|
false | error_go_core | fn::audio::Engine eng = fn::audio::engine_init(); if (!eng.ok) { /* fallback silencioso */ } fn::audio::engine_set_volume(eng, 0.8f); // ... loop principal ... fn::audio::engine_shutdown(eng); | false | cpp/functions/gamedev/audio_engine.cpp |
|
Engine con impl=ma_engine* y ok=true si MA_SUCCESS, ok=false en cualquier fallo (malloc o init de miniaudio). engine_shutdown deja ok=false e impl=nullptr — llamadas posteriores son no-op seguros. |
audio_engine
Wrapper minimo del engine de miniaudio (v0.11.25, single-header, public domain / MIT-0). Vendored en cpp/vendor/miniaudio/.
Por que
Audio cross-platform sin depender de SDL_mixer / OpenAL / FMOD. Compila en Windows/Linux/macOS y WASM (emscripten) desde el mismo source. Sin excepciones, sin RTTI, sin std::string.
Notas
- Estado de fallo se reporta via
Engine.ok=false. No hayerror_typeporque no devolvemoserror_go_core-style; el consumidor revisaokantes de operar. MINIAUDIO_IMPLEMENTATIONse define UNICAMENTE enaudio_engine.cpp. Otras TU que usen miniaudio deben hacer solo#include "miniaudio.h".- Memoria via
malloc/free(nonew) para mantener compat con-fno-exceptions.