X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FSound.hh;h=982e9b4065eeca659601fd9015846407a2936fab;hp=4e80fbe783771864e807fddf99607f837b999b8b;hb=8a1acac01b444dccf8b57cedf08392ada2e473c1;hpb=bffc879fc8ee8167bb123310d39fad4e2f426ffd diff --git a/src/Moof/Sound.hh b/src/Moof/Sound.hh index 4e80fbe..982e9b4 100644 --- a/src/Moof/Sound.hh +++ b/src/Moof/Sound.hh @@ -50,9 +50,6 @@ typedef boost::shared_ptr SoundP; class Sound : public Resource { - class Impl; - boost::shared_ptr mImpl; - public: static SoundP alloc(const std::string& name) @@ -60,13 +57,14 @@ public: return SoundP(new Sound(name)); } + Sound(); explicit Sound(const std::string& name); void play(); void stream(); - // TODO - this API sucks + // TODO this API sucks... refactor me!! void stop(); void pause(); @@ -91,32 +89,10 @@ public: static std::string getPath(const std::string& name); +private: - struct Exception : public Mf::Exception - { - enum - { - BAD_AUDIO_FORMAT = 1024 - }; - - explicit Exception(unsigned error) : - Mf::Exception(error) {} - - void raise() - { - throw *this; - } - - const char* what() const throw() - { - switch (code) - { - case BAD_AUDIO_FORMAT: - return "unknown audio format"; - } - return Mf::Exception::what(); - } - }; + class Impl; + boost::shared_ptr mImpl; };