|
iaudio 0.1.0
Contrat audio chargeable : IAudioModule
|
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.
IMusic, diffusee depuis le disque, un flux par instanceISoundBuffer, les echantillons chargesISound, construit depuis un ISoundBufferISoundBuffer 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.