Extra2D/include/assets/loaders/music_loader.h

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