50 #ifndef __CU_MUSIC_H__
51 #define __CU_MUSIC_H__
52 #include <cugl/base/CUBase.h>
84 CU_DISALLOW_COPY_AND_ASSIGN(
Music);
89 impl::AudioStream* _buffer;
120 #pragma mark Constructors
127 Music() : _source(
""), _buffer(nullptr) {}
158 bool init(
const std::string& source);
176 bool init(
const char* source) {
177 return init(std::string(source));
181 #pragma mark Static Constructors
198 static std::shared_ptr<Music>
alloc(
const std::string& source) {
199 std::shared_ptr<Music> result = std::make_shared<Music>();
200 return (result->init(source) ? result :
nullptr);
219 static std::shared_ptr<Music>
alloc(
const char* source) {
220 std::shared_ptr<Music> result = std::make_shared<Music>();
221 return (result->init(source) ? result :
nullptr);
224 #pragma mark Attributes
230 const std::string&
getSource()
const {
return _source; }
241 size_t pos = _source.rfind(
".");
242 return (pos == std::string::npos ?
"" : _source.substr(pos));
Type
Definition: CUMusic.h:101
Music()
Definition: CUMusic.h:127
static std::shared_ptr< Music > alloc(const std::string &source)
Definition: CUMusic.h:198
double getDuration() const
std::string getSuffix() const
Definition: CUMusic.h:240
bool init(const std::string &source)
bool init(const char *source)
Definition: CUMusic.h:176
friend class MusicQueue
Definition: CUMusic.h:285
static std::shared_ptr< Music > alloc(const char *source)
Definition: CUMusic.h:219
float getVolume() const
Definition: CUMusic.h:271
Definition: CUAnimationNode.h:52
~Music()
Definition: CUMusic.h:132
const std::string & getSource() const
Definition: CUMusic.h:230
void setVolume(float volume)