refactor(core/audio): moure constants UI/tuning a Defaults::Audio (HC-01)
VOLUME_STEP, FREQUENCY i DEFAULT_CROSSFADE_MS vivien com a membres
constexpr d'Audio. Eren valors de configuració — no invariants de la
classe — i la convenció del projecte és que tots els paràmetres
ajustables visquin a utils/defaults.hpp.
Passen a Defaults::Audio::{VOLUME_STEP, FREQUENCY, CROSSFADE_MS}. L'únic
ús intern (Ja::init al constructor d'Audio) es reapunta al Defaults. Cap
ús extern dels tres símbols.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
8b73198209
commit
6f0626c31f
4 files changed
+7
-6
No files matched your search
@@ -21,7 +21,7 @@ Los IDs se mantienen estables una vez asignados. Cada entrada apunta al(los) fic
|
|||||||
| COUP-01 | Encapsular globals `Ja::` en clase (engine sin estado global) | PENDING |
|
| COUP-01 | Encapsular globals `Ja::` en clase (engine sin estado global) | PENDING |
|
||||||
| HC-02 | Formato/canales/freq hardcodeado en 3+ sitios | PENDING |
|
| HC-02 | Formato/canales/freq hardcodeado en 3+ sitios | PENDING |
|
||||||
| INCONS-02 | Doble `MusicState` + `getRealMusicState` como cache paralelo | PENDING |
|
| INCONS-02 | Doble `MusicState` + `getRealMusicState` como cache paralelo | PENDING |
|
||||||
| HC-01 | Parámetros de audio no configurables (viola convención del proyecto) | PENDING |
|
| HC-01 | Parámetros de audio no configurables (viola convención del proyecto) | DONE |
|
||||||
| PATCH-01 | `toggleEnabled/toggleSound/toggleMusic` no reaplican volumen | PENDING |
|
| PATCH-01 | `toggleEnabled/toggleSound/toggleMusic` no reaplican volumen | PENDING |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -40,7 +40,7 @@ Los IDs se mantienen estables una vez asignados. Cada entrada apunta al(los) fic
|
|||||||
|
|
||||||
| ID | Fichero:línea | Hallazgo | Severidad | Estado | Notas |
|
| ID | Fichero:línea | Hallazgo | Severidad | Estado | Notas |
|
||||||
|----|---------------|----------|-----------|--------|-------|
|
|----|---------------|----------|-----------|--------|-------|
|
||||||
| HC-01 | `audio.hpp:53-55` | `VOLUME_STEP`, `FREQUENCY`, `DEFAULT_CROSSFADE_MS` viven en la clase, no en `Defaults::Audio` | Importante | PENDING | Mover a `utils/defaults.hpp` |
|
| HC-01 | `audio.hpp:53-55` | `VOLUME_STEP`, `FREQUENCY`, `DEFAULT_CROSSFADE_MS` viven en la clase, no en `Defaults::Audio` | Importante | DONE | Movidos a `Defaults::Audio::{VOLUME_STEP, FREQUENCY, CROSSFADE_MS}` en `utils/defaults.hpp` |
|
||||||
| HC-02 | `jail_audio.hpp:57,76,110` + `audio.cpp:208` | `{SDL_AUDIO_S16, 2, 48000}` literal en 3 sitios; `S16LE` vs `S16` inconsistente | Importante | PENDING | Constantes `DEFAULT_FORMAT/CHANNELS/FREQ` compartidas |
|
| HC-02 | `jail_audio.hpp:57,76,110` + `audio.cpp:208` | `{SDL_AUDIO_S16, 2, 48000}` literal en 3 sitios; `S16LE` vs `S16` inconsistente | Importante | PENDING | Constantes `DEFAULT_FORMAT/CHANNELS/FREQ` compartidas |
|
||||||
| HC-03 | `jail_audio.hpp:53-54` | `MAX_SIMULTANEOUS_CHANNELS=20`, `MAX_GROUPS=2` fijos sin justificación | Menor | PENDING | `Defaults::Audio::MAX_CHANNELS/MAX_GROUPS` + `static_assert` |
|
| HC-03 | `jail_audio.hpp:53-54` | `MAX_SIMULTANEOUS_CHANNELS=20`, `MAX_GROUPS=2` fijos sin justificación | Menor | PENDING | `Defaults::Audio::MAX_CHANNELS/MAX_GROUPS` + `static_assert` |
|
||||||
| HC-04 | `jail_audio.hpp:131,134` | `MUSIC_CHUNK_SHORTS=8192`, `MUSIC_LOW_WATER_SECONDS=0.5F` tuning hidden | Menor | PENDING | Mover a `Defaults::Audio` |
|
| HC-04 | `jail_audio.hpp:131,134` | `MUSIC_CHUNK_SHORTS=8192`, `MUSIC_LOW_WATER_SECONDS=0.5F` tuning hidden | Menor | PENDING | Mover a `Defaults::Audio` |
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include "core/audio/audio_adapter.hpp" // Para AudioResource::getMusic/getSound
|
#include "core/audio/audio_adapter.hpp" // Para AudioResource::getMusic/getSound
|
||||||
#include "core/audio/jail_audio.hpp" // Para Ja::* (engine jailgames)
|
#include "core/audio/jail_audio.hpp" // Para Ja::* (engine jailgames)
|
||||||
|
#include "utils/defaults.hpp" // Para Defaults::Audio::FREQUENCY
|
||||||
|
|
||||||
// Singleton
|
// Singleton
|
||||||
std::unique_ptr<Audio> Audio::instance;
|
std::unique_ptr<Audio> Audio::instance;
|
||||||
@@ -205,7 +206,7 @@ void Audio::initSDLAudio() {
|
|||||||
if (!SDL_Init(SDL_INIT_AUDIO)) {
|
if (!SDL_Init(SDL_INIT_AUDIO)) {
|
||||||
std::cout << "SDL_AUDIO could not initialize! SDL Error: " << SDL_GetError() << '\n';
|
std::cout << "SDL_AUDIO could not initialize! SDL Error: " << SDL_GetError() << '\n';
|
||||||
} else {
|
} else {
|
||||||
Ja::init(FREQUENCY, SDL_AUDIO_S16LE, 2);
|
Ja::init(Defaults::Audio::FREQUENCY, SDL_AUDIO_S16LE, 2);
|
||||||
sound_enabled_ = config_.sound_enabled;
|
sound_enabled_ = config_.sound_enabled;
|
||||||
music_enabled_ = config_.music_enabled;
|
music_enabled_ = config_.music_enabled;
|
||||||
enable(config_.enabled);
|
enable(config_.enabled);
|
||||||
|
|||||||
@@ -50,9 +50,6 @@ class Audio {
|
|||||||
// --- Constantes ---
|
// --- Constantes ---
|
||||||
static constexpr float MAX_VOLUME = 1.0F; // Volumen máximo (float 0..1)
|
static constexpr float MAX_VOLUME = 1.0F; // Volumen máximo (float 0..1)
|
||||||
static constexpr float MIN_VOLUME = 0.0F; // Volumen mínimo (float 0..1)
|
static constexpr float MIN_VOLUME = 0.0F; // Volumen mínimo (float 0..1)
|
||||||
static constexpr float VOLUME_STEP = 0.05F; // Pas estàndard per a UI (5%)
|
|
||||||
static constexpr int FREQUENCY = 48000; // Frecuencia de audio
|
|
||||||
static constexpr int DEFAULT_CROSSFADE_MS = 1500; // Duració del crossfade per defecte (ms)
|
|
||||||
|
|
||||||
// --- Singleton ---
|
// --- Singleton ---
|
||||||
static void init(const Config& config); // Inicialitza amb la configuració rebuda
|
static void init(const Config& config); // Inicialitza amb la configuració rebuda
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ namespace Defaults {
|
|||||||
constexpr float MUSIC_VOLUME = 0.8F;
|
constexpr float MUSIC_VOLUME = 0.8F;
|
||||||
constexpr bool SOUND_ENABLED = true;
|
constexpr bool SOUND_ENABLED = true;
|
||||||
constexpr float SOUND_VOLUME = 1.0F;
|
constexpr float SOUND_VOLUME = 1.0F;
|
||||||
|
constexpr float VOLUME_STEP = 0.05F; // Pas estàndard per a la UI (5%).
|
||||||
|
constexpr int FREQUENCY = 48000; // Freqüència de mostreig del dispositiu (Hz).
|
||||||
|
constexpr int CROSSFADE_MS = 1500; // Durada per defecte del crossfade entre pistes (ms).
|
||||||
} // namespace Audio
|
} // namespace Audio
|
||||||
|
|
||||||
namespace KeysGame {
|
namespace KeysGame {
|
||||||
|
|||||||
Reference in new issue
Block a user