Catalogue des sons : nom d'événement → fichier (relatif à Source/Elements/Audio/).
More...
#include <SoundCatalog.h>
|
| std::optional< std::string > | resolve (std::string_view eventId) const |
| | Résout le fichier assigné à un événement.
|
| std::vector< std::string > | eventIds () const |
| void | assign (const std::string &eventId, std::string file) |
| | Assigne un fichier à un événement, en écrasant une assignation existante.
|
|
| static constexpr int | FORMAT_VERSION = 1 |
| | Version du format écrite dans le fichier, et plus élevée qui soit lue.
|
|
| std::map< std::string, std::string, std::less<> > | _sounds |
Catalogue des sons : nom d'événement → fichier (relatif à Source/Elements/Audio/).
Logique pure (aucune dépendance Qt/périphérique), testable en isolation (EX-NFR-010) — la résolution de chemin est séparée de la lecture, qui appartient à hmi::AudioEngine. Aucune lecture ne lève d'exception vers l'appelant (EX-NFR-040) : toute erreur est décrite dans un hmi::SoundCatalogResult.
Même patron que hmi::SkinCatalog (LOT-42) : un fichier absent produit un catalogue vide (cas légitime), une entrée malformée fait échouer le chargement entier plutôt que d'être devinée ou silencieusement ignorée.
◆ assign()
| void hmi::SoundCatalog::assign |
( |
const std::string & | eventId, |
|
|
std::string | file ) |
Assigne un fichier à un événement, en écrasant une assignation existante.
◆ eventIds()
| std::vector< std::string > hmi::SoundCatalog::eventIds |
( |
| ) |
const |
|
nodiscard |
- Returns
- Les identifiants d'événement connus, par ordre alphabétique (ordre stable).
◆ fromDocument()
Construit le catalogue depuis l'enveloppe déjà lue par core::readJsonObject.
Le JSON bien formé, la racine objet et la garde de version sont vérifiés avant d'arriver ici : c'est la brique partagée du LOT-79 qui s'en charge (EX-CNT-012), et ce catalogue n'a plus à les réimplémenter pour son compte.
◆ loadFromFile()
Lit un catalogue depuis un fichier.
Un fichier absent produit un échec de code FileNotFound : c'est à l'appelant de décider qu'un catalogue vide est un état de départ légitime.
- Parameters
-
- Returns
- Le catalogue, ou une erreur décrite. Ne lève jamais.
◆ loadFromString()
Lit un catalogue depuis une chaîne JSON.
- Parameters
-
- Returns
- Le catalogue, ou une erreur décrite. Ne lève jamais.
◆ resolve()
| std::optional< std::string > hmi::SoundCatalog::resolve |
( |
std::string_view | eventId | ) |
const |
|
nodiscard |
Résout le fichier assigné à un événement.
- Parameters
-
| eventId | Identifiant logique de l'événement (ex. "saut"). |
- Returns
- Le nom de fichier (relatif à Source/Elements/Audio/), ou std::nullopt si l'événement n'est pas dans le catalogue — l'appelant reste silencieux (EX-NFR-040), il n'affiche ni ne journalise rien à chaque déclenchement.
◆ _sounds
| std::map<std::string, std::string, std::less<> > hmi::SoundCatalog::_sounds |
|
private |
◆ FORMAT_VERSION
| int hmi::SoundCatalog::FORMAT_VERSION = 1 |
|
staticconstexpr |
Version du format écrite dans le fichier, et plus élevée qui soit lue.
The documentation for this class was generated from the following files:
- /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Audio/SoundCatalog.h
- /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Audio/SoundCatalog.cpp