refactor(core/audio): remove engine enable flags (INCONS-05)
Ja::Engine tenia music_enabled_ i sound_enabled_ com a membres amb el
seu propi enableMusic/enableSound setter, i disseminava checks
`if (!music_enabled_)` / `if (!sound_enabled_)` per gairebé totes les
operacions. Després del commit 3, ningú crida aquests setters: Audio
gestiona el gating per gain (effectiveVolume retorna 0 quan
music_enabled_/sound_enabled_ d'Audio són false). L'usuari ha confirmat
que vol mantenir aquesta semàntica (silenciar per gain, no parar).
Es retira tot el camí mort:
- Membres music_enabled_ / sound_enabled_ eliminats.
- Mètodes Engine::enableMusic(bool) / Engine::enableSound(bool)
eliminats.
- Checks `if (!music_enabled_)` / `if (!sound_enabled_)` eliminats de
playMusic, pauseMusic, resumeMusic, fadeOutMusic, crossfadeMusic,
updateCurrentMusic, playSound, playSoundOnChannel, pauseChannel,
resumeChannel, updateSoundChannels.
- Enum MusicState::DISABLED eliminat (inabastable sense el flag).
- Enum ChannelState::INVALID i SOUND_DISABLED eliminats (no usats
després de DEAD-04).
- Audio::getMusicState treu el case DISABLED del switch.
Audio::enableMusic/enableSound i els seus flags music_enabled_/
sound_enabled_ d'Audio romanen — són ells els qui porten la decisió al
motor via setXxxVolume(config_.X_volume) → effectiveVolume → gain.
Tanca la meitat restant d'INCONS-05.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
961a59c460
commit
4e0dcfe739
3 files changed
+6
-34
No files matched your search
@@ -32,19 +32,16 @@ namespace Ja {
|
||||
|
||||
// --- Public Enums ---
|
||||
enum class ChannelState : std::uint8_t {
|
||||
INVALID,
|
||||
FREE,
|
||||
PLAYING,
|
||||
PAUSED,
|
||||
SOUND_DISABLED,
|
||||
};
|
||||
|
||||
enum class MusicState : std::uint8_t {
|
||||
INVALID,
|
||||
INVALID, // Music carregat però mai play-ejat
|
||||
PLAYING,
|
||||
PAUSED,
|
||||
STOPPED,
|
||||
DISABLED,
|
||||
};
|
||||
|
||||
// --- Constants ---
|
||||
@@ -136,7 +133,6 @@ namespace Ja {
|
||||
void crossfadeMusic(Music* music, int crossfade_ms, int loop = -1);
|
||||
[[nodiscard]] auto getMusicState() const -> MusicState;
|
||||
auto setMusicVolume(float volume) -> float;
|
||||
void enableMusic(bool value);
|
||||
// Notifica al motor que un Music s'està destruint: si és el current_music
|
||||
// s'atura abans que els seus recursos (stream/vorbis) deixin de ser vàlids.
|
||||
void onMusicDeleted(const Music* music);
|
||||
@@ -148,7 +144,6 @@ namespace Ja {
|
||||
void resumeChannel(int channel);
|
||||
void stopChannel(int channel);
|
||||
auto setSoundVolume(float volume, int group = -1) -> float;
|
||||
void enableSound(bool value);
|
||||
// Notifica al motor que un Sound s'està destruint: els canals que el
|
||||
// referenciïn es paren abans d'alliberar el buffer.
|
||||
void onSoundDeleted(const Sound* sound);
|
||||
@@ -168,8 +163,6 @@ namespace Ja {
|
||||
SDL_AudioSpec audio_spec_{DEFAULT_SPEC};
|
||||
float music_volume_{1.0F};
|
||||
float sound_volume_[MAX_GROUPS]{};
|
||||
bool music_enabled_{true};
|
||||
bool sound_enabled_{true};
|
||||
SDL_AudioDeviceID sdl_audio_device_{0};
|
||||
OutgoingMusic outgoing_music_;
|
||||
FadeState incoming_fade_;
|
||||
|
||||
Reference in new issue
Block a user