Add support for toggling audio output spatialization (HRTF). Disabled by default.

Add love.audio.setOutputSpatialization(enable [, filtername]).
Add enabled, filtername = love.audio.getOutputSpatialization().
Add filterlist = love.audio.getOutputSpatializationFilters().

Additional filters (HRTFs) can currently be added via the data files and search paths OpenAL Soft uses.

Resolves #1699.
This commit is contained in:
Sasha Szpakowski
2025-05-06 22:41:12 -03:00
parent f50558bb1d
commit d2d91430ed
6 changed files with 185 additions and 10 deletions
+15
View File
@@ -199,6 +199,21 @@ bool Audio::isEFXsupported() const
return false;
}
bool Audio::setOutputSpatialization(bool, const char *)
{
return false;
}
bool Audio::getOutputSpatialization(const char *&filter) const
{
filter = nullptr;
return false;
}
void Audio::getOutputSpatializationFilters(std::vector<std::string> &) const
{
}
void Audio::pauseContext()
{
}
+4
View File
@@ -83,6 +83,10 @@ public:
int getMaxSourceEffects() const;
bool isEFXsupported() const;
bool setOutputSpatialization(bool enable, const char *filter = nullptr) override;
bool getOutputSpatialization(const char *&filter) const override;
void getOutputSpatializationFilters(std::vector<std::string> &list) const override;
void pauseContext();
void resumeContext();