X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsoundscape.cpp;h=cc07285bfdded63e99909852f259764847a103ef;hb=12d27761bc8a24677b52a67bff0e8cbfca14a902;hp=e12f39befacded7c6fe2809100e012e5e91e77dc;hpb=14008b157c64752ba7c1cef831124992c35c4646;p=libs%2Fal.git diff --git a/source/soundscape.cpp b/source/soundscape.cpp index e12f39b..cc07285 100644 --- a/source/soundscape.cpp +++ b/source/soundscape.cpp @@ -6,12 +6,23 @@ using namespace std; namespace Msp { namespace AL { +SoundScape::SoundScape(): + gain(1) +{ } + SoundScape::~SoundScape() { for(list::iterator i=sources.begin(); i!=sources.end(); ++i) delete *i; } +void SoundScape::set_gain(float g) +{ + gain = g; + for(list::iterator i=sources.begin(); i!=sources.end(); ++i) + (*i)->set_gain(gain); +} + void SoundScape::add_source(Source &src) { sources.push_back(&src); @@ -23,6 +34,7 @@ Source &SoundScape::play(const Buffer &buf, float x, float y, float z) add_source(*src); src->set_buffer(buf); src->set_position(x, y, z); + src->set_gain(gain); src->play(); return *src; }