updates for the aeonwave.hpp header changes

This commit is contained in:
Erik Hofman
2016-07-25 11:40:40 +02:00
parent 068745617c
commit 7cc9a1753c
+38 -38
View File
@@ -46,11 +46,11 @@
#include <simgear/misc/sg_path.hxx> #include <simgear/misc/sg_path.hxx>
typedef std::map < unsigned int,AAX::Emitter > source_map; typedef std::map < unsigned int,aax::Emitter > source_map;
typedef source_map::iterator source_map_iterator; 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; typedef std::map < unsigned int,aax::Buffer& > buffer_map;
typedef buffer_map::iterator buffer_map_iterator; 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;
@@ -81,7 +81,7 @@ public:
} }
void init() { void init() {
_mtx64 = AAX::Matrix64(); _mtx64 = aax::Matrix64();
} }
void update_pos_and_orientation() void update_pos_and_orientation()
@@ -91,16 +91,16 @@ public:
_mtx64.set(_base_pos.data(), sgv_at.data(), sgv_up.data()); _mtx64.set(_base_pos.data(), sgv_at.data(), sgv_up.data());
} }
AAX::AeonWave _aax; aax::AeonWave _aax;
AAX::Matrix64 _mtx64; aax::Matrix64 _mtx64;
SGVec3d _base_pos; SGVec3d _base_pos;
SGQuatd _orientation; SGQuatd _orientation;
unsigned int _buffer_id; unsigned int _buffer_id;
buffer_map _buffers; buffer_map _buffers;
AAX::Buffer nullBuffer; aax::Buffer nullBuffer;
AAX::Buffer& get_buffer(unsigned int id) { aax::Buffer& get_buffer(unsigned int id) {
buffer_map_iterator buffer_it = _buffers.find(id); buffer_map_iterator buffer_it = _buffers.find(id);
if ( buffer_it != _buffers.end() ) return buffer_it->second; if ( buffer_it != _buffers.end() ) return buffer_it->second;
SG_LOG(SG_SOUND, SG_ALERT, "unknown buffer id requested."); SG_LOG(SG_SOUND, SG_ALERT, "unknown buffer id requested.");
@@ -109,8 +109,8 @@ public:
unsigned int _source_id; unsigned int _source_id;
source_map _sources; source_map _sources;
AAX::Emitter nullEmitter; aax::Emitter nullEmitter;
AAX::Emitter& get_source(unsigned int id) { aax::Emitter& get_source(unsigned int id) {
source_map_iterator source_it = _sources.find(id); source_map_iterator source_it = _sources.find(id);
if ( source_it != _sources.end() ) return source_it->second; if ( source_it != _sources.end() ) return source_it->second;
SG_LOG(SG_SOUND, SG_ALERT, "unknown source id requested."); SG_LOG(SG_SOUND, SG_ALERT, "unknown source id requested.");
@@ -162,15 +162,15 @@ void SGSoundMgr::init()
d->_source_id = 0; d->_source_id = 0;
d->_sources.clear(); d->_sources.clear();
AAX::DSP dsp; aax::dsp dsp;
if (!_device_name.empty()) { if (!_device_name.empty()) {
// try non-default device // try non-default device
d->_aax = AAX::AeonWave(_device_name.c_str()); d->_aax = aax::AeonWave(_device_name.c_str());
} }
else else
{ {
testForError(d->_aax, "Audio device not available, trying default."); testForError(d->_aax, "Audio device not available, trying default.");
d->_aax = AAX::AeonWave(AAX_MODE_WRITE_STEREO); d->_aax = aax::AeonWave(AAX_MODE_WRITE_STEREO);
if (testForError(d->_aax, "Default audio device not available.") ) { if (testForError(d->_aax, "Default audio device not available.") ) {
return; return;
} }
@@ -183,15 +183,15 @@ void SGSoundMgr::init()
d->_aax.set(AAX_INITIALIZED); d->_aax.set(AAX_INITIALIZED);
testForError("initialization"); testForError("initialization");
dsp = AAX::DSP(d->_aax, AAX_VOLUME_FILTER); dsp = aax::dsp(d->_aax, AAX_VOLUME_FILTER);
dsp.set(AAX_GAIN, 0.0f); dsp.set(AAX_GAIN, 0.0f);
d->_aax.set(dsp); d->_aax.set(dsp);
dsp = AAX::DSP(d->_aax, AAX_DISTANCE_FILTER); dsp = aax::dsp(d->_aax, AAX_DISTANCE_FILTER);
dsp.set(AAX_AL_INVERSE_DISTANCE_CLAMPED); dsp.set(AAX_AL_INVERSE_DISTANCE_CLAMPED);
d->_aax.set(dsp); d->_aax.set(dsp);
dsp = AAX::DSP(d->_aax, AAX_VELOCITY_EFFECT); dsp = aax::dsp(d->_aax, AAX_VELOCITY_EFFECT);
dsp.set(AAX_DOPPLER_FACTOR, 1.0f); dsp.set(AAX_DOPPLER_FACTOR, 1.0f);
dsp.set(AAX_SOUND_VELOCITY, 340.3f); dsp.set(AAX_SOUND_VELOCITY, 340.3f);
d->_aax.set(dsp); d->_aax.set(dsp);
@@ -311,7 +311,7 @@ void SGSoundMgr::update( double dt )
} }
if (_changed) { if (_changed) {
AAX::DSP dsp = d->_aax.get(AAX_VOLUME_FILTER); aax::dsp dsp = d->_aax.get(AAX_VOLUME_FILTER);
dsp.set(AAX_GAIN, _volume); dsp.set(AAX_GAIN, _volume);
d->_aax.set(dsp); d->_aax.set(dsp);
@@ -328,10 +328,10 @@ void SGSoundMgr::update( double dt )
velocity = SGVec3d( _velocity*SG_FEET_TO_METER ); velocity = SGVec3d( _velocity*SG_FEET_TO_METER );
velocity = hlOr.backTransform(velocity); velocity = hlOr.backTransform(velocity);
} }
AAX::Vector vel(velocity.data()); aax::Vector vel(velocity.data());
d->_aax.sensor_velocity(vel); d->_aax.sensor_velocity(vel);
AAX::Matrix mtx = d->_mtx64.toMatrix(); aax::Matrix mtx = d->_mtx64.toMatrix();
d->_aax.sensor_matrix(mtx); d->_aax.sensor_matrix(mtx);
testForError("update"); testForError("update");
@@ -409,7 +409,7 @@ void SGSoundMgr::set_volume( float v )
unsigned int SGSoundMgr::request_source() unsigned int SGSoundMgr::request_source()
{ {
unsigned int id = d->_source_id++; unsigned int id = d->_source_id++;
d->_sources.insert( std::make_pair(id,AAX::Emitter()) ); d->_sources.insert( std::make_pair(id,aax::Emitter()) );
return id; return id;
} }
@@ -419,7 +419,7 @@ void SGSoundMgr::release_source( unsigned int source )
source_map_iterator source_it = d->_sources.find(source); source_map_iterator source_it = d->_sources.find(source);
if ( source_it != d->_sources.end() ) if ( source_it != d->_sources.end() )
{ {
AAX::Emitter& emitter = source_it->second; aax::Emitter& emitter = source_it->second;
emitter.set(AAX_STOPPED); emitter.set(AAX_STOPPED);
emitter.remove_buffer(); emitter.remove_buffer();
d->_sources.erase(source_it); d->_sources.erase(source_it);
@@ -436,7 +436,7 @@ unsigned int SGSoundMgr::request_buffer(SGSoundSample *sample)
// sample was not yet loaded or removed again // sample was not yet loaded or removed again
std::string sample_name = sample->get_sample_name(); std::string sample_name = sample->get_sample_name();
AAX::Buffer& buf = d->_aax.buffer(sample_name); aax::Buffer& buf = d->_aax.buffer(sample_name);
if (!buf) { if (!buf) {
SG_LOG(SG_SOUND, SG_ALERT, SG_LOG(SG_SOUND, SG_ALERT,
"Unable to create buffer: " << sample_name); "Unable to create buffer: " << sample_name);
@@ -445,7 +445,7 @@ unsigned int SGSoundMgr::request_buffer(SGSoundSample *sample)
} }
buffer = d->_buffer_id++; buffer = d->_buffer_id++;
d->_buffers.insert( std::make_pair<unsigned int,AAX::Buffer&>(buffer,buf) ); d->_buffers.insert( std::make_pair<unsigned int,aax::Buffer&>(buffer,buf) );
if ( !sample->is_file() ) { if ( !sample->is_file() ) {
enum aaxFormat format = AAX_FORMAT_NONE; enum aaxFormat format = AAX_FORMAT_NONE;
@@ -510,7 +510,7 @@ void SGSoundMgr::release_buffer(SGSoundSample *sample)
{ {
sample->no_valid_buffer(); sample->no_valid_buffer();
#ifdef ENABLE_SOUND #ifdef ENABLE_SOUND
AAX::Buffer& buffer = buffer_it->second; aax::Buffer& buffer = buffer_it->second;
d->_aax.destroy(buffer); d->_aax.destroy(buffer);
#endif #endif
d->_buffers.erase(buffer_it); d->_buffers.erase(buffer_it);
@@ -522,7 +522,7 @@ void SGSoundMgr::release_buffer(SGSoundSample *sample)
void SGSoundMgr::sample_suspend( SGSoundSample *sample ) void SGSoundMgr::sample_suspend( SGSoundSample *sample )
{ {
if ( sample->is_valid_source() && sample->is_playing() ) { if ( sample->is_valid_source() && sample->is_playing() ) {
AAX::Emitter& emitter = d->get_source(sample->get_source()); aax::Emitter& emitter = d->get_source(sample->get_source());
emitter.set(AAX_SUSPENDED); emitter.set(AAX_SUSPENDED);
} }
} }
@@ -530,7 +530,7 @@ void SGSoundMgr::sample_suspend( SGSoundSample *sample )
void SGSoundMgr::sample_resume( SGSoundSample *sample ) void SGSoundMgr::sample_resume( SGSoundSample *sample )
{ {
if ( sample->is_valid_source() && sample->is_playing() ) { if ( sample->is_valid_source() && sample->is_playing() ) {
AAX::Emitter& emitter = d->get_source(sample->get_source()); aax::Emitter& emitter = d->get_source(sample->get_source());
emitter.set(AAX_PLAYING); emitter.set(AAX_PLAYING);
} }
} }
@@ -545,14 +545,14 @@ void SGSoundMgr::sample_init( SGSoundSample *sample )
void SGSoundMgr::sample_play( SGSoundSample *sample ) void SGSoundMgr::sample_play( SGSoundSample *sample )
{ {
#ifdef ENABLE_SOUND #ifdef ENABLE_SOUND
AAX::Emitter& emitter = d->get_source(sample->get_source()); aax::Emitter& emitter = d->get_source(sample->get_source());
if ( !sample->is_queue() ) { if ( !sample->is_queue() ) {
unsigned int buffer = request_buffer(sample); unsigned int buffer = request_buffer(sample);
emitter.add( d->get_buffer(buffer) ); emitter.add( d->get_buffer(buffer) );
} }
AAX::DSP dsp = emitter.get(AAX_DISTANCE_FILTER); aax::dsp dsp = emitter.get(AAX_DISTANCE_FILTER);
dsp.set(AAX_ROLLOFF_FACTOR, 0.3f); dsp.set(AAX_ROLLOFF_FACTOR, 0.3f);
emitter.set(dsp); emitter.set(dsp);
@@ -570,7 +570,7 @@ void SGSoundMgr::sample_stop( SGSoundSample *sample )
bool stopped = is_sample_stopped(sample); bool stopped = is_sample_stopped(sample);
if ( sample->is_looping() && !stopped) { if ( sample->is_looping() && !stopped) {
#ifdef ENABLE_SOUND #ifdef ENABLE_SOUND
AAX::Emitter& emitter = d->get_source(source); aax::Emitter& emitter = d->get_source(source);
emitter.set(AAX_STOPPED); emitter.set(AAX_STOPPED);
#endif #endif
stopped = is_sample_stopped(sample); stopped = is_sample_stopped(sample);
@@ -589,7 +589,7 @@ void SGSoundMgr::sample_destroy( SGSoundSample *sample )
#ifdef ENABLE_SOUND #ifdef ENABLE_SOUND
unsigned int source = sample->get_source(); unsigned int source = sample->get_source();
if ( sample->is_playing() ) { if ( sample->is_playing() ) {
AAX::Emitter& emitter = d->get_source(source); aax::Emitter& emitter = d->get_source(source);
emitter.set(AAX_STOPPED); emitter.set(AAX_STOPPED);
} }
release_source( source ); release_source( source );
@@ -607,7 +607,7 @@ bool SGSoundMgr::is_sample_stopped(SGSoundSample *sample)
{ {
#ifdef ENABLE_SOUND #ifdef ENABLE_SOUND
assert(sample->is_valid_source()); assert(sample->is_valid_source());
AAX::Emitter& emitter = d->get_source(sample->get_source()); aax::Emitter& emitter = d->get_source(sample->get_source());
int result = emitter.state(); int result = emitter.state();
return (result == AAX_STOPPED); return (result == AAX_STOPPED);
#else #else
@@ -617,14 +617,14 @@ bool SGSoundMgr::is_sample_stopped(SGSoundSample *sample)
void SGSoundMgr::update_sample_config( SGSoundSample *sample, SGVec3d& position, SGVec3f& orientation, SGVec3f& velocity ) void SGSoundMgr::update_sample_config( SGSoundSample *sample, SGVec3d& position, SGVec3f& orientation, SGVec3f& velocity )
{ {
AAX::Emitter& emitter = d->get_source(sample->get_source()); aax::Emitter& emitter = d->get_source(sample->get_source());
AAX::DSP dsp; aax::dsp dsp;
AAX::Vector64 pos = position.data(); aax::Vector64 pos = position.data();
AAX::Vector64 ori = orientation.data(); aax::Vector64 ori = orientation.data();
AAX::Vector vel = velocity.data(); aax::Vector vel = velocity.data();
d->_mtx64.set(pos, ori); d->_mtx64.set(pos, ori);
AAX::Matrix mtx = d->_mtx64; aax::Matrix mtx = d->_mtx64;
emitter.matrix(mtx); emitter.matrix(mtx);
emitter.velocity(vel); emitter.velocity(vel);
@@ -686,10 +686,10 @@ bool SGSoundMgr::testForError(void *p, std::string s)
bool SGSoundMgr::testForError(std::string s, std::string name) bool SGSoundMgr::testForError(std::string s, std::string name)
{ {
#ifdef ENABLE_SOUND #ifdef ENABLE_SOUND
enum aaxErrorType error = d->_aax.error_no(); enum aaxErrorType error = aax::error_no();
if (error != AAX_ERROR_NONE) { if (error != AAX_ERROR_NONE) {
SG_LOG( SG_SOUND, SG_ALERT, "AeonWave Error (" << name << "): " SG_LOG( SG_SOUND, SG_ALERT, "AeonWave Error (" << name << "): "
<< d->_aax.error(error) << " at " << s); << aax::error(error) << " at " << s);
return true; return true;
} }
#endif #endif