This commit is contained in:
Nyx
2025-08-26 11:39:30 -06:00
5 changed files with 88 additions and 10 deletions

View File

@@ -5,6 +5,8 @@
#include <godot_cpp/classes/wrapped.hpp>
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/godot.hpp>
#include <godot_cpp/classes/thread.hpp>
#include <godot_cpp/classes/mutex.hpp>
#include <phonon.h>
#include <steam_audio.hpp>
#include "steam_audio_dynamic_mesh.hpp"
@@ -17,12 +19,32 @@ using namespace godot;
class SteamAudioServer : public Object {
GDCLASS(SteamAudioServer, Object) // Godot class declaration macro
private:
IPLContext ctx=nullptr;
IPLContextSettings ctxSettings;
IPLAudioSettings audioSettings;
IPLEmbreeDevice *embreeDevice=nullptr;
IPLEmbreeDeviceSettings embreeDeviceSettings;
IPLScene *scene=nullptr;
IPLSceneSettings sceneSettings;
IPLSimulator simulator;
IPLSimulationSettings simulationSettings;
IPLHRTF hrtf;
IPLHRTFSettings hrtfSettings;
ProjectSettings *proj_settings = ProjectSettings::get_singleton();
Ref<Thread> directThread;
Ref<Thread> indirectThread;
public:
SteamAudioServer(); // Constructor
~SteamAudioServer() override; // Destructor
void _notification(int p_what);
protected:
static void _bind_methods(); // Bind methods to Godot
static void _bind_methods();
void initialize();
void shutdown();
void start_direct_thread();
void start_indirect_thread();
};