]> git.mxchange.org Git - simgear.git/commitdiff
Update to the latestaienwave.hpp header file
authorErik Hofman <erik@ehofman.com>
Tue, 26 Jul 2016 13:22:09 +0000 (15:22 +0200)
committerRoland Haeder <roland@mxchange.org>
Sat, 13 Aug 2016 08:21:16 +0000 (10:21 +0200)
simgear/sound/sample_group.cxx
simgear/sound/sample_group.hxx
simgear/sound/soundmgr_aeonwave.cxx
simgear/sound/soundmgr_aeonwave.hxx

index 2a922619e6d451b6d8b3d9a99f6dab2de840c83c..e45165a3f71c26333094e7873064c6b755588ba3 100644 (file)
@@ -69,9 +69,10 @@ SGSampleGroup::~SGSampleGroup ()
     _smgr = 0;
 }
 
+#include <stdio.h>
 void SGSampleGroup::cleanup_removed_samples()
 {
-    // Delete any OpenAL buffers that might still be in use.
+    // Delete any buffers that might still be in use.
     unsigned int size = _removed_samples.size();
     for (unsigned int i=0; i<size; ) {
         SGSoundSample *sample = _removed_samples[i];
@@ -104,7 +105,6 @@ void SGSampleGroup::start_playing_sample(SGSoundSample *sample)
 void SGSampleGroup::check_playing_sample(SGSoundSample *sample)
 {
     // check if the sound has stopped by itself
-    
     if (_smgr->is_sample_stopped(sample)) {
         // sample is stopped because it wasn't looping
         sample->stop();
@@ -128,7 +128,7 @@ void SGSampleGroup::update( double dt ) {
 
     if ( !_active || _pause ) return;
 
-    testForALError("start of update!!\n");
+    testForMgrError("start of update!!\n");
 
     cleanup_removed_samples();
     
@@ -140,6 +140,7 @@ void SGSampleGroup::update( double dt ) {
 
     sample_map_iterator sample_current = _samples.begin();
     sample_map_iterator sample_end = _samples.end();
+    size_t i = 0;
     for ( ; sample_current != sample_end; ++sample_current ) {
         SGSoundSample *sample = sample_current->second;
 
@@ -149,7 +150,7 @@ void SGSampleGroup::update( double dt ) {
         } else if ( sample->is_valid_source() ) {
             check_playing_sample(sample);
         }
-        testForALError("update");
+        testForMgrError("update");
     }
 }
 
@@ -237,7 +238,7 @@ SGSampleGroup::suspend ()
             _smgr->sample_suspend( sample );
 #endif
         }
-        testForALError("suspend");
+        testForMgrError("suspend");
     }
 }
 
@@ -253,7 +254,7 @@ SGSampleGroup::resume ()
             SGSoundSample *sample = sample_current->second;
             _smgr->sample_resume( sample );
         }
-        testForALError("resume");
+        testForMgrError("resume");
 #endif
         _pause = false;
     }
@@ -390,9 +391,9 @@ bool SGSampleGroup::testForError(void *p, std::string s)
    return false;
 }
 
-bool SGSampleGroup::testForALError(std::string s)
+bool SGSampleGroup::testForMgrError(std::string s)
 {
-    _smgr->testForError(s, _refname);
+    _smgr->testForError(s+" (sample group)", _refname);
     return false;
 }
 
index 30fcebbe5588fc90e38dd044a80f5af4d9421615..8db767ff5f00e334b4db1b4633d153340dad8716 100644 (file)
@@ -22,8 +22,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
 
-#ifndef _SG_SAMPLE_GROUP_OPENAL_HXX
-#define _SG_SAMPLE_GROUP_OPENAL_HXX 1
+#ifndef _SG_SAMPLE_GROUP_HXX
+#define _SG_SAMPLE_GROUP_HXX 1
 
 
 #include <string>
@@ -76,7 +76,7 @@ public:
 
     /**
      * Update function.
-     * Call this function periodically to update the OpenAL state of all
+     * Call this function periodically to update the state of all
      * samples associated with this class. None op the configuration changes
      * take place without a call to this function.
      */
@@ -225,7 +225,7 @@ private:
     sample_map _samples;
     std::vector< SGSharedPtr<SGSoundSample> > _removed_samples;
 
-    bool testForALError(std::string s);
+    bool testForMgrError(std::string s);
     bool testForError(void *p, std::string s);
 
     void update_pos_and_orientation();
index f60eef1bacbe3fb995e6ae5a522cadd9ba3d430f..8d4826bf06843f23cdb115bbcb5eb1ab4e056b26 100644 (file)
 #include <simgear/misc/sg_path.hxx>
 
 
-typedef std::map < unsigned int,aax::Emitter > source_map;
+// We keep track of the emitters ourselves.
+typedef std::map < unsigned int, aax::Emitter > source_map;
 typedef source_map::iterator source_map_iterator;
-typedef source_map::const_iterator  const_source_map_iterator;
+typedef source_map::const_iterator const_source_map_iterator;
 
-typedef std::map < unsigned int,aax::Buffer& > buffer_map;
+// The AeonWave class keeps track of the buffers, so use a reference instead.
+typedef std::map < unsigned int, aax::Buffer& > buffer_map;
 typedef buffer_map::iterator buffer_map_iterator;
-typedef buffer_map::const_iterator  const_buffer_map_iterator;
+typedef buffer_map::const_iterator const_buffer_map_iterator;
 
 typedef std::map < std::string, SGSharedPtr<SGSampleGroup> > sample_group_map;
 typedef sample_group_map::iterator sample_group_map_iterator;
@@ -409,7 +411,11 @@ void SGSoundMgr::set_volume( float v )
 unsigned int SGSoundMgr::request_source()
 {
     unsigned int id = d->_source_id++;
-    d->_sources.insert( std::make_pair(id,aax::Emitter()) );
+#if 0
+    d->_sources.insert( std::make_pair(id, aax::Emitter(AAX_ABSOLUTE)) );
+#else
+    d->_sources[id] = aax::Emitter(AAX_ABSOLUTE);
+#endif
     return id;
 }
 
index a680b4463d2efae24b84216ca0645f3a37af7a7f..5336da08e37b441f9680a27ac1a7fb84bdd88da0 100644 (file)
@@ -35,8 +35,8 @@
 #include <map>
 #include <memory> // for std::auto_ptr
 
-#include <aax/Matrix>
-#include <aax/AeonWave>
+#include <aax/matrix.hpp>
+#include <aax/aeonwave.hpp>
 
 #include <simgear/compiler.h>
 #include <simgear/structure/subsystem_mgr.hxx>
@@ -329,11 +329,11 @@ private:
     float _volume;
 
     // Position of the listener.
-    AAX::Vector64 _offset_pos;
+    aax::Vector64 _offset_pos;
     SGGeod _geod_pos;
 
     // Velocity of the listener.
-    AAX::Vector64 _velocity;
+    aax::Vector64 _velocity;
 
     bool testForError(void *p, std::string s);