Skip to content

Ideas 2012:FIFE SoundManager

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

Implementation of the FIFE SoundManager python extension in C++

Our problem

Currently the FIFE sound manager is implemented mostly in python. FIFE provides some basic interfaces to OpenAL to play sounds through the engine itself but it's lacking a lot of features which is why the python sound manager exists in the first place. We would like the python sound manager to be replaced by a re-engineered C++ version which would exist within FIFE itself allowing much more flexibility for clients like UH.

Our idea

Some features we would like to see implemented, but not limited to are:

  • Multiple types of sounds (sound fx, music, etc etc)
  • Better positional sounds
  • More accurate information about a playing sound (total length of the clip in seconds, total time played, total time remaining)
  • Callbacks when a sound has completed playing (including regular sound clips and not only streams. Stream callbacks aren't very accurate at the moment and would need to be fixed)
  • Better management of the OpenAL emitters (e.g. play the same clip multiple times at the same time and only a defined number of sounds can play at once)
  • BONUS: You can completely re-design the sound manager if you see fit

What you need

  • Some python programming skills
  • Strong C++ skills (must)
  • Ideas and features you want to implement (must)
  • Finding problems and solutions to them independently (generally important)
  • Experience with OpenAL (must)
  • Estimated difficulty: Medium

What we provide

  • Existing base implementation (includes people having experience with that)

As a pre-GSoC task you could try some of the following:

  • Any of the ideas

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!

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:

  • More features
  • Complete re-design of the SoundManager

Who looks after you

Your mentors for this task will probably be: vtchill, prock

These devs might also help out if your mentors are not around right now: helios

Clone this wiki locally