rexglue-skate3/include/rex/audio/sdl/sdl_audio_system.h
2026-05-18 22:41:13 +01:00

35 lines
1.2 KiB
C++

/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2020 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*
* @modified Tom Clay, 2026 - Adapted for ReXGlue runtime
*/
#pragma once
#include <rex/audio/audio_system.h>
namespace rex::audio::sdl {
class SDLAudioSystem : public AudioSystem {
public:
explicit SDLAudioSystem(runtime::FunctionDispatcher* function_dispatcher);
~SDLAudioSystem() override;
static bool IsAvailable() { return true; }
static std::unique_ptr<AudioSystem> Create(runtime::FunctionDispatcher* function_dispatcher);
X_STATUS CreateDriver(size_t index, rex::thread::Semaphore* semaphore,
AudioDriver** out_driver) override;
void DestroyDriver(AudioDriver* driver) override;
protected:
void Initialize() override;
};
} // namespace rex::audio::sdl