Skip to content

Ideas 2011:FIFE Sound

Chris Oelmueller edited this page Feb 16, 2013 · 1 revision

Improve FIFE's SoundManager

Our problem

The current FIFE SoundManager along with its Python extension leaves something to be desired. It uses OpenAL as a cross platform sound engine which works well for our purposes but it is lacking some features. See FIFE ticket [F#485] (http://fife.trac.cvsdude.com/engine/ticket/485). We would like the Sound Manager completely re-vamped and the Sound Manager python extension removed completely.

Our idea

List of possible improvements to the SoundManager:

  • some features from the SoundManager Python extension should be implemented in C++ and the SoundManager extension should be removed altogether.
  • have its own update function to be called directly by the engine
  • callbacks when sounds have finished being played (including streamed audio)
  • manage the number of sounds being played and limit if required (must choose which sounds to stop playing)
  • should not rely on timers (the manager should have its own update function as described above)
  • ability to apply sound effects to specific emitters (you can change which clip to play for a specific emitter)
  • manage the creation and deletion of emitters (emitters should be handed out by the engine)
  • manage OpenAL sources

Probably there are more areas that could be improved.

What you need

  • Excellent C++ programming skills
  • Possibly skills in OpenAL
  • Self motivated work, FIFE devs are not always available.
  • Estimated difficulties: Reduce the impact on FIFE clients (keeping the python API changes to a minimum).
  • We expect a hard difficulty: You will need to dig into the FIFE code and python bindings, possibly proposing your own ideas for improvements.

What we provide

What we expect

You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.

  • No milestones from our side. Propose some to your mentors!
  • SoC Deadline: you implemented, documented and tested code which improves the SoundManager.

What you can add

In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.

You are especially free to alter the following parts:

  • List of improvements (especially if you have some better ideas to handle audio)

Who looks after you

Your mentors for this task will be: prock, vtchill

Clone this wiki locally