fix(core/audio): recuperar el nom del Ja::Music::filename (PATCH-02)
L'overload playMusic(Ja::Music*, ...) buidava music_.name a cegues, així que getCurrentMusicName() mentia després d'aquest camí tot i que el Ja::Music que li passaves podia portar filename (Ja::loadMusic té un overload que l'accepta). Ara copiem music->filename — si el caller va usar l'overload amb filename, el nom es conserva; si no, queda buit i el contracte és explícit al comentari. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
66c5801725
commit
a917f6660a
2 files changed
+5
-2
No files matched your search
@@ -51,7 +51,7 @@ Los IDs se mantienen estables una vez asignados. Cada entrada apunta al(los) fic
|
||||
| ID | Fichero:línea | Hallazgo | Severidad | Estado | Notas |
|
||||
|----|---------------|----------|-----------|--------|-------|
|
||||
| PATCH-01 | `audio.hpp:98,105,111` | `toggleEnabled/toggleSound/toggleMusic` sólo flipan el flag; no reaplican volúmenes | Importante | DONE | `toggle*()` i variants sense bool passen per `enable[Sound|Music](bool)`. Aquestes funcions ara reapliquen el volum cap a `Ja::` perquè els canals actius responguin al toggle |
|
||||
| PATCH-02 | `audio.cpp:98` | `music_.name.clear()` en overload por puntero → `getCurrentMusicName()` miente | Importante | PENDING | Derivar nombre de `Ja::Music::filename` |
|
||||
| PATCH-02 | `audio.cpp:98` | `music_.name.clear()` en overload por puntero → `getCurrentMusicName()` miente | Importante | DONE | `music_.name = music->filename`. Si `Ja::Music` va ser carregat amb filename, `getCurrentMusicName()` ara retorna el nom correcte; si no, queda buit (contracte explícit) |
|
||||
| PATCH-03 | `audio.cpp:14-21` | `#undef L,C,R,PLAYBACK_*` workaround para macros filtradas por stb_vorbis | Importante | WONTFIX | Documentado; aislar stb_vorbis en TU propio sería más invasivo — se hará con COUP-01 |
|
||||
| PATCH-04 | `jail_audio.hpp:501-507` | `setMusicPosition`/`getMusicPosition` stubs no-op | Importante | PENDING | Borrar si nadie los llama |
|
||||
| PATCH-05 | `jail_audio.hpp:532-535` | "No hay canal libre → canal 0" robo de voz arbitrario | Importante | DEFERRED | Política de voice-stealing es una feature; se documenta |
|
||||
|
||||
@@ -80,7 +80,10 @@ void Audio::playMusic(Ja::Music* music, const int loop, const int crossfade_ms)
|
||||
if (!music_enabled_ || music == nullptr) { return; }
|
||||
|
||||
playMusicInternal(music, loop, crossfade_ms);
|
||||
music_.name.clear(); // nom desconegut quan es passa per punter (PATCH-02 el recuperarà de music->filename)
|
||||
// Si el Ja::Music es va crear amb filename (loadMusic amb 3 arguments), el
|
||||
// recuperem perquè getCurrentMusicName() no menteixi. Si no, music_.name
|
||||
// queda buit — el contracte d'aquest overload no garanteix el nom.
|
||||
music_.name = music->filename;
|
||||
}
|
||||
|
||||
// Camí comú dels dos overloads: fa el dispatch crossfade vs stop+play i
|
||||
|
||||
Reference in new issue
Block a user