Index: /orxonox/branches/openAL/src/Makefile.am
===================================================================
--- /orxonox/branches/openAL/src/Makefile.am	(revision 4194)
+++ /orxonox/branches/openAL/src/Makefile.am	(revision 4195)
@@ -9,4 +9,5 @@
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/graphics/importer
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/graphics/particles
+AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/sound
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/gui
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/gui/gui
@@ -78,4 +79,5 @@
 		 lib/graphics/particles/particle_system.cc \
 		 lib/graphics/particles/particle_emitter.cc \
+		 lib/sound/sound_engine.cc \
 		 lib/lang/base_entity.cc \
 		 lib/lang/base_object.cc \
@@ -143,4 +145,5 @@
 		 lib/graphics/particles/particle_system.h \
 		 lib/graphics/particles/particle_emitter.h \
+		 lib/sound/sound_engine.h \
 		 lib/data/data_tank.h \
 		 lib/lang/base_entity.h \
Index: /orxonox/branches/openAL/src/Makefile.in
===================================================================
--- /orxonox/branches/openAL/src/Makefile.in	(revision 4194)
+++ /orxonox/branches/openAL/src/Makefile.in	(revision 4195)
@@ -86,8 +86,9 @@
 	texture.$(OBJEXT) particle_engine.$(OBJEXT) \
 	particle_system.$(OBJEXT) particle_emitter.$(OBJEXT) \
-	base_entity.$(OBJEXT) base_object.$(OBJEXT) \
-	ini_parser.$(OBJEXT) list.$(OBJEXT) resource_manager.$(OBJEXT) \
-	vector.$(OBJEXT) curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT) \
-	tinyxml.$(OBJEXT) tinystr.$(OBJEXT) tinyxmlerror.$(OBJEXT) \
+	sound_engine.$(OBJEXT) base_entity.$(OBJEXT) \
+	base_object.$(OBJEXT) ini_parser.$(OBJEXT) list.$(OBJEXT) \
+	resource_manager.$(OBJEXT) vector.$(OBJEXT) curve.$(OBJEXT) \
+	glmenu_imagescreen.$(OBJEXT) tinyxml.$(OBJEXT) \
+	tinystr.$(OBJEXT) tinyxmlerror.$(OBJEXT) \
 	tinyxmlparser.$(OBJEXT) benchmark.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
@@ -136,4 +137,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/satellite.Po ./$(DEPDIR)/skybox.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/skysphere.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/sound_engine.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/story_entity.Po ./$(DEPDIR)/terrain.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/test_bullet.Po ./$(DEPDIR)/test_gun.Po \
@@ -273,5 +275,5 @@
 target_vendor = @target_vendor@
 MAINSRCDIR = .
-AM_CXXFLAGS = -I$(MAINSRCDIR) -I$(MAINSRCDIR)/world_entities -I$(MAINSRCDIR)/story_entities -I$(MAINSRCDIR)/lib -I$(MAINSRCDIR)/lib/coord -I$(MAINSRCDIR)/lib/data -I$(MAINSRCDIR)/lib/graphics -I$(MAINSRCDIR)/lib/graphics/importer -I$(MAINSRCDIR)/lib/graphics/particles -I$(MAINSRCDIR)/lib/gui -I$(MAINSRCDIR)/lib/gui/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -I$(MAINSRCDIR)/defs -I$(MAINSRCDIR)/font -I$(MAINSRCDIR)/network -I$(MAINSRCDIR)/glmenu -I$(MAINSRCDIR)/ai -I$(MAINSRCDIR)/util -I$(MAINSRCDIR)/util/animation -I$(MAINSRCDIR)/util/common -I$(MAINSRCDIR)/subprojects
+AM_CXXFLAGS = -I$(MAINSRCDIR) -I$(MAINSRCDIR)/world_entities -I$(MAINSRCDIR)/story_entities -I$(MAINSRCDIR)/lib -I$(MAINSRCDIR)/lib/coord -I$(MAINSRCDIR)/lib/data -I$(MAINSRCDIR)/lib/graphics -I$(MAINSRCDIR)/lib/graphics/importer -I$(MAINSRCDIR)/lib/graphics/particles -I$(MAINSRCDIR)/lib/sound -I$(MAINSRCDIR)/lib/gui -I$(MAINSRCDIR)/lib/gui/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -I$(MAINSRCDIR)/defs -I$(MAINSRCDIR)/font -I$(MAINSRCDIR)/network -I$(MAINSRCDIR)/glmenu -I$(MAINSRCDIR)/ai -I$(MAINSRCDIR)/util -I$(MAINSRCDIR)/util/animation -I$(MAINSRCDIR)/util/common -I$(MAINSRCDIR)/subprojects
 noinst_LIBRARIES = libORXgui.a
 orxonox_DEPENDENCIES = libORXgui.a
@@ -321,4 +323,5 @@
 		 lib/graphics/particles/particle_system.cc \
 		 lib/graphics/particles/particle_emitter.cc \
+		 lib/sound/sound_engine.cc \
 		 lib/lang/base_entity.cc \
 		 lib/lang/base_object.cc \
@@ -386,4 +389,5 @@
 		 lib/graphics/particles/particle_system.h \
 		 lib/graphics/particles/particle_emitter.h \
+		 lib/sound/sound_engine.h \
 		 lib/data/data_tank.h \
 		 lib/lang/base_entity.h \
@@ -557,4 +561,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skybox.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skysphere.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/story_entity.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@
@@ -1325,4 +1330,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particle_emitter.obj `if test -f 'lib/graphics/particles/particle_emitter.cc'; then $(CYGPATH_W) 'lib/graphics/particles/particle_emitter.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/particles/particle_emitter.cc'; fi`
+
+sound_engine.o: lib/sound/sound_engine.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sound_engine.o -MD -MP -MF "$(DEPDIR)/sound_engine.Tpo" -c -o sound_engine.o `test -f 'lib/sound/sound_engine.cc' || echo '$(srcdir)/'`lib/sound/sound_engine.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/sound_engine.Tpo" "$(DEPDIR)/sound_engine.Po"; else rm -f "$(DEPDIR)/sound_engine.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/sound/sound_engine.cc' object='sound_engine.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/sound_engine.Po' tmpdepfile='$(DEPDIR)/sound_engine.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sound_engine.o `test -f 'lib/sound/sound_engine.cc' || echo '$(srcdir)/'`lib/sound/sound_engine.cc
+
+sound_engine.obj: lib/sound/sound_engine.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sound_engine.obj -MD -MP -MF "$(DEPDIR)/sound_engine.Tpo" -c -o sound_engine.obj `if test -f 'lib/sound/sound_engine.cc'; then $(CYGPATH_W) 'lib/sound/sound_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/sound/sound_engine.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/sound_engine.Tpo" "$(DEPDIR)/sound_engine.Po"; else rm -f "$(DEPDIR)/sound_engine.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/sound/sound_engine.cc' object='sound_engine.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/sound_engine.Po' tmpdepfile='$(DEPDIR)/sound_engine.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sound_engine.obj `if test -f 'lib/sound/sound_engine.cc'; then $(CYGPATH_W) 'lib/sound/sound_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/sound/sound_engine.cc'; fi`
 
 base_entity.o: lib/lang/base_entity.cc
@@ -1656,5 +1677,5 @@
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/data $(distdir)/lib/graphics $(distdir)/lib/graphics/particles $(distdir)/lib/gui/gui $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/common $(distdir)/world_entities
+	$(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/data $(distdir)/lib/graphics $(distdir)/lib/graphics/particles $(distdir)/lib/gui/gui $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/sound $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/common $(distdir)/world_entities
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
Index: /orxonox/branches/openAL/src/lib/sound/sound_engine.cc
===================================================================
--- /orxonox/branches/openAL/src/lib/sound/sound_engine.cc	(revision 4195)
+++ /orxonox/branches/openAL/src/lib/sound/sound_engine.cc	(revision 4195)
@@ -0,0 +1,55 @@
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+
+#include "sound_engine.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+SoundEngine::SoundEngine () 
+{
+   this->setClassName ("SoundEngine");
+
+}
+
+/**
+   \brief the singleton reference to this class
+*/
+SoundEngine* SoundEngine::singletonRef = NULL;
+
+/**
+   \returns a Pointer to this Class
+*/
+SoundEngine* SoundEngine::getInstance(void)
+{
+  if (!SoundEngine::singletonRef)
+    SoundEngine::singletonRef = new SoundEngine();
+  return SoundEngine::singletonRef;
+}
+
+/**
+   \brief standard deconstructor
+
+*/
+SoundEngine::~SoundEngine () 
+{
+  SoundEngine::singletonRef = NULL;
+
+}
Index: /orxonox/branches/openAL/src/lib/sound/sound_engine.h
===================================================================
--- /orxonox/branches/openAL/src/lib/sound/sound_engine.h	(revision 4195)
+++ /orxonox/branches/openAL/src/lib/sound/sound_engine.h	(revision 4195)
@@ -0,0 +1,26 @@
+/*! 
+    \file sound_engine.h
+    \brief Definition of the SoundEngine singleton Class
+    
+*/
+
+#ifndef _SOUND_ENGINE_H
+#define _SOUND_ENGINE_H
+
+#include "base_object.h"
+
+// FORWARD DEFINITION
+
+//! A Class that handles audio via the openAudioLibrary
+class SoundEngine : public BaseObject {
+
+ public:
+  static SoundEngine* getInstance(void);
+  virtual ~SoundEngine(void);
+
+ private:
+  SoundEngine(void);
+  static SoundEngine* singletonRef;
+};
+
+#endif /* _SOUND_ENGINE_H */
