25 lines
583 B
C++
25 lines
583 B
C++
#pragma once
|
|
|
|
#include <assets/asset_loader.h>
|
|
#include <assets/io/asset_file_system.h>
|
|
#include <assets/music.h>
|
|
|
|
namespace extra2d {
|
|
|
|
class MusicLoader : public AssetLoader<Music> {
|
|
public:
|
|
MusicLoader() = default;
|
|
explicit MusicLoader(AssetFileSystem fileSystem);
|
|
|
|
Ptr<Music> load(const std::string &path) override;
|
|
Ptr<Music> loadFromMemory(const uint8_t *data, size_t size) override;
|
|
std::vector<std::string> getExtensions() const override {
|
|
return {".mp3", ".ogg", ".wav", ".flac", ".mod"};
|
|
}
|
|
|
|
private:
|
|
AssetFileSystem fileSystem_;
|
|
};
|
|
|
|
} // namespace extra2d
|