Just so I don't lose current progress on 2.0...
Some checks failed
Build / Build Game (push) Has been cancelled

This commit is contained in:
2026-01-10 03:07:06 -05:00
parent 1f1ac0db4d
commit 8b2edd1359
31 changed files with 4 additions and 0 deletions

32
src/resource/audio.hpp Normal file
View File

@@ -0,0 +1,32 @@
#pragma once
#include <SDL3_mixer/SDL_mixer.h>
#include <filesystem>
namespace game::resource
{
class Audio
{
MIX_Audio* internal{nullptr};
MIX_Track* track{nullptr};
int* refCount{nullptr};
static MIX_Mixer* mixer_get();
void unload();
void retain();
void release();
public:
Audio() = default;
Audio(const std::filesystem::path&);
Audio(const Audio&);
Audio(Audio&&) noexcept;
Audio& operator=(const Audio&);
Audio& operator=(Audio&&) noexcept;
~Audio();
bool is_valid() const;
void play(bool isLoop = false);
void stop();
bool is_playing() const;
static void set_gain(float vol);
};
}