version: 0.1.0
Contrat audio : musiques, sons, buffers d'echantillons.
Un seul contrat, pas deux : aucun vendor n'est force de simuler l'audio
spatial. Un backend stereo qui ignore setPosition() joue quand meme le
son et le jeu reste jouable, donc rien ne justifie un IAudio3Module a
cote.
- music ->
IMusic, diffusee depuis le disque, un flux par instance - sound buffer ->
ISoundBuffer, les echantillons charges - sound ->
ISound, construit depuis unISoundBuffer
ISoundBuffer porte les echantillons, ISound n'en porte qu'une
reference, et N sons peuvent partager un buffer : supprimer tous les sons
ne supprime pas le buffer, seul deleteSoundBuffer() le fait. IMusic n'a
pas de buffer du tout - elle diffuse, il n'y a rien a partager.