Difference between revisions of "OpenAL Audio Server"
m (→Future Work) |
(→To-Do) |
||
Line 13: | Line 13: | ||
-- Errors are displayed in bold, warnings are displayed in italics, and informative messages contain no special formatting. <br> | -- Errors are displayed in bold, warnings are displayed in italics, and informative messages contain no special formatting. <br> | ||
− | ==To-Do== | + | ==To-Do (Technical)== |
* Read port information and file cache directory from a config file. | * Read port information and file cache directory from a config file. | ||
* Server needs to be persistent between different connections. | * Server needs to be persistent between different connections. | ||
* Add server support for instructions that modify listener position and orientation. | * Add server support for instructions that modify listener position and orientation. | ||
* Add more goodies to the front-end (i.e. visual and tabular representation of sound sources | * Add more goodies to the front-end (i.e. visual and tabular representation of sound sources | ||
+ | * Refactor threading system so that the main thread has more complete possession of other threads | ||
==Future Work== | ==Future Work== |
Revision as of 16:39, 11 October 2011
Contents |
Project Overview
Rich, 3D environments need sound to provide the user a feeling of complete immersion. When visualization is provided by a cluster of computers, the sound processing can be handled by a dedicated machine that is in turn connected to the speakers and other audio equipment. The OpenAL Audio Server (OAS) provides this functionality via a network interface on a Linux machine. OAS is based loosely on the aging Windows DirectSound AudioServer project by Marc Schreier, and aims to deliver a backwards compatible solution.
Status
- Server Backend
-- The backend of the server is functional. Connections can be made, instructions and audio files can be sent, and audio can be played and stopped.
-- All network input and output is handled by a dedicated thread that parses the input into discrete audio instructions and queues it up.
-- A separate thread retrieves these instructions from the queue and performs the desired action (i.e. play sound, move sound position, etc.)
- Server Frontend
-- The frontend of the server uses FLTK and currently only consists of a log window.
-- The frontend also resides in its own thread, allowing the user interface to operate independently from the backend of the server.
-- Errors are displayed in bold, warnings are displayed in italics, and informative messages contain no special formatting.
To-Do (Technical)
- Read port information and file cache directory from a config file.
- Server needs to be persistent between different connections.
- Add server support for instructions that modify listener position and orientation.
- Add more goodies to the front-end (i.e. visual and tabular representation of sound sources
- Refactor threading system so that the main thread has more complete possession of other threads
Future Work
- Enhance sockets code to add support for multiple connected clients. Asynchronous socket I/O.
Participants
Software Developers:
Project Advisors:
Development Assistance:
- Philip Weber
Initial Concept Base: