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