Shkyera Engine
Easy to use, game engine for Python
Loading...
Searching...
No Matches
Audio.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <memory>
5
6// Forward declaration of miniaudio decoder
7class ma_decoder;
8
9namespace shkyera {
10
12class Audio {
13 public:
15 explicit Audio(const std::filesystem::path& path);
16 ~Audio();
17
18 // Delete copy operations
19 Audio(const Audio&) = delete;
20 Audio& operator=(const Audio&) = delete;
21
22 // Add move operations
23 Audio(Audio&& other) noexcept;
24 Audio& operator=(Audio&& other) noexcept;
25
27 ma_decoder* getDecoder();
28
29 private:
31 std::unique_ptr<ma_decoder> _decoder;
32};
33
34} // namespace shkyera
Audio asset that manages a single audio file.
Definition Audio.hpp:12
Audio & operator=(const Audio &)=delete
ma_decoder * getDecoder()
Definition Audio.cpp:38
~Audio()
Definition Audio.cpp:19
std::unique_ptr< ma_decoder > _decoder
Internal miniaudio decoder.
Definition Audio.hpp:31
Audio(const Audio &)=delete
Definition Asset.hpp:6