+ static SoundP alloc(const std::string& name)
+ {
+ return SoundP(new Sound(name));
+ }
+
+ Sound();
+ explicit Sound(const std::string& name);
+
+ virtual ~Sound() {}
+
+ // this implicitly stops the sound if it is playing
+ void setSample(const std::string& name);
+
+ virtual void play();
+ void stop();