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: CUAction.h:51
 
~Music()
Definition: CUMusic.h:132
 
const std::string & getSource() const 
Definition: CUMusic.h:230
 
void setVolume(float volume)