Implement a sound manager to allow Ember to have sounds

Registered by Erik Ogenvik

There's already an abandoned effort to provide a SoundServer inside Ember. I haven't done anything to it myself since I was hoping that the developer who actually took it upon himself to implement it would deliver, but alas.
The SoundManager should be independent of Ogre, dealing only with sounds. Things that needs to be solved are:
* Sound resource loading (this is however mostly solved already through the use of a couple of interfaces which allows for transparent loading from the Ogre resource system).
* Sound definition for entities in the world. The Model format should be extended with sound information. There's already some support for defining sounds for different actions, but since this haven't been tested against a working SoundManager these probably need to be revised or extended.
* Sound playing and mixing. We use OpenAL for sound playing, but even though a lot of the intricates of sound playing is taken care of by the internals of OpenAL there are still a lot of settings and tweaking to take care of.
* Prioritizing sounds and making sure that levels are sane. There's a finite number of concurrent sound sources which can be played at once without burdening the CPU too much. Thus there needs to be a mechanism which is able to handle the extreme cases. One such case could be that there's only eight channels available, but the 8 closest entities are eight chicken, each plucking away. And at the same time there's a swords fight a couple of meters away. Obviously we want to hear both the clashing of the swords as well as the chickens, but how will the system know this?
* Allow for background music. While not appropriate in all games and settings, we want to have basic support for this.

Blueprint information

Status:
Complete
Approver:
Erik Ogenvik
Priority:
Medium
Drafter:
Erik Ogenvik
Direction:
Needs approval
Assignee:
romulo fernandes
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Erik Ogenvik
Completed by
Erik Ogenvik

Related branches

Sprints

Whiteboard

Note that the sound manager must be completely separate from Ogre and only use Eris data.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.