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
+14
View File
@@ -135,6 +135,20 @@ void Source::getDirection(float *) const
{
}
void Source::setCone(float innerAngle, float outerAngle, float outerVolume)
{
coneInnerAngle = innerAngle;
coneOuterAngle = outerAngle;
coneOuterVolume = outerVolume;
}
void Source::getCone(float &innerAngle, float &outerAngle, float &outerVolume) const
{
innerAngle = coneInnerAngle;
outerAngle = coneOuterAngle;
outerVolume = coneOuterVolume;
}
void Source::setRelativePosition(bool relative)
{
relativePosition = relative;
+5
View File
@@ -60,6 +60,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);
@@ -80,6 +82,9 @@ private:
float pitch;
float volume;
float coneInnerAngle;
float coneOuterAngle;
float coneOuterVolume;
bool relativePosition;
bool looping;
float minVolume;