galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
Media.cpp
Go to the documentation of this file.
1
7
8#include "Media.hpp"
9
10namespace galaxy
11{
12 namespace resource
13 {
14 std::unique_ptr<media::Sound> SoundLoader::operator()(const std::string& file)
15 {
16 auto resource = std::make_unique<media::Sound>();
17 if (!resource->load(media::SoundType::SFX, file))
18 {
19 GALAXY_LOG(GALAXY_FATAL, "Failed to load resource '{0}'.", file);
20 return nullptr;
21 }
22
23 return resource;
24 }
25
26 std::unique_ptr<media::Sound> MusicLoader::operator()(const std::string& file)
27 {
28 auto resource = std::make_unique<media::Sound>();
29 if (!resource->load(media::SoundType::MUSIC, file))
30 {
31 GALAXY_LOG(GALAXY_FATAL, "Failed to load resource '{0}'.", file);
32 return nullptr;
33 }
34
35 return resource;
36 }
37
38 std::unique_ptr<media::Sound> VoiceLoader::operator()(const std::string& file)
39 {
40 auto resource = std::make_unique<media::Sound>();
41 if (!resource->load(media::SoundType::VOICE, file))
42 {
43 GALAXY_LOG(GALAXY_FATAL, "Failed to load resource '{0}'.", file);
44 return nullptr;
45 }
46
47 return resource;
48 }
49 } // namespace resource
50} // namespace galaxy
#define GALAXY_LOG(level, msg,...)
Definition Log.hpp:29
#define GALAXY_FATAL
Definition Log.hpp:26
Timer.hpp galaxy.
Definition Async.hpp:17
std::unique_ptr< media::Sound > operator()(const std::string &file)
Overloaded operator() used to load a resource.
Definition Media.cpp:26
std::unique_ptr< media::Sound > operator()(const std::string &file)
Overloaded operator() used to load a resource.
Definition Media.cpp:14
std::unique_ptr< media::Sound > operator()(const std::string &file)
Overloaded operator() used to load a resource.
Definition Media.cpp:38