Added Source:setCone(innerAngle, outerAngle, outerVolume). Resolves issue #643.

When combined with Source:setDirection (and Source:setPosition or love.audio.setPosition), the cone parameters allow for directional sound output from a Source.
This commit is contained in:
Alex Szpakowski
2013-10-11 05:30:11 -03:00
parent e2eb99a6af
commit 13ea750454
7 changed files with 89 additions and 1 deletions
+15
View File
@@ -78,6 +78,8 @@ public:
virtual void getVelocity(float *v) const;
virtual void setDirection(float *v);
virtual void getDirection(float *v) const;
virtual void setCone(float innerAngle, float outerAngle, float outerVolume);
virtual void getCone(float &innerAngle, float &outerAngle, float &outerVolume) const;
virtual void setRelativePosition(bool relative);
virtual bool hasRelativePosition() const;
void setLooping(bool looping);
@@ -137,6 +139,19 @@ private:
float rolloffFactor;
float maxDistance;
struct Cone
{
int innerAngle; // degrees
int outerAngle; // degrees
float outerVolume;
Cone()
: innerAngle(360)
, outerAngle(360)
, outerVolume(0.0f)
{}
} cone;
float offsetSamples;
float offsetSeconds;