Torque3D/Engine/lib/openal-soft/utils/sofa-support.h
AzaezelX 3603188b7f update openal-soft
sync point: master-ac5d40e40a0155351fe1be4aab30017b6a13a859
2021-01-26 13:01:35 -06:00

31 lines
634 B
C++

#ifndef UTILS_SOFA_SUPPORT_H
#define UTILS_SOFA_SUPPORT_H
#include <cstddef>
#include <memory>
#include <vector>
#include "mysofa.h"
struct MySofaDeleter {
void operator()(MYSOFA_HRTF *sofa) { mysofa_free(sofa); }
};
using MySofaHrtfPtr = std::unique_ptr<MYSOFA_HRTF,MySofaDeleter>;
// Per-field measurement info.
struct SofaField {
using uint = unsigned int;
double mDistance{0.0};
uint mEvCount{0u};
uint mEvStart{0u};
std::vector<uint> mAzCounts;
};
const char *SofaErrorStr(int err);
std::vector<SofaField> GetCompatibleLayout(const size_t m, const float *xyzs);
#endif /* UTILS_SOFA_SUPPORT_H */