mirror of
https://github.com/love2d/love.git
synced 2026-08-16 00:02:12 +02:00
EFX implemented
--HG-- branch : minor
This commit is contained in:
@@ -143,7 +143,16 @@ float Audio::getDopplerScale() const
|
||||
{
|
||||
return 1.0f;
|
||||
}
|
||||
/*
|
||||
void setMeter(float)
|
||||
{
|
||||
}
|
||||
|
||||
float getMeter() const
|
||||
{
|
||||
return 1.0f;
|
||||
}
|
||||
*/
|
||||
const std::vector<love::audio::RecordingDevice*> &Audio::getRecordingDevices()
|
||||
{
|
||||
return capture;
|
||||
@@ -159,6 +168,36 @@ void Audio::setDistanceModel(DistanceModel distanceModel)
|
||||
this->distanceModel = distanceModel;
|
||||
}
|
||||
|
||||
bool Audio::setSceneEffect(int, Effect::Type, std::vector<float> &)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Audio::setSceneEffect(int)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Audio::getSceneEffect(int, Effect::Type &, std::vector<float> &)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int Audio::getMaxSceneEffects() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Audio::getMaxSourceEffects() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool Audio::isEFXsupported() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
} // null
|
||||
} // audio
|
||||
} // love
|
||||
|
||||
@@ -70,12 +70,21 @@ public:
|
||||
|
||||
void setDopplerScale(float scale);
|
||||
float getDopplerScale() const;
|
||||
//void setMeter(float scale);
|
||||
//float getMeter() const;
|
||||
|
||||
const std::vector<love::audio::RecordingDevice*> &getRecordingDevices();
|
||||
|
||||
DistanceModel getDistanceModel() const;
|
||||
void setDistanceModel(DistanceModel distanceModel);
|
||||
|
||||
bool setSceneEffect(int slot, Effect::Type type, std::vector<float> ¶ms);
|
||||
bool setSceneEffect(int slot);
|
||||
bool getSceneEffect(int slot, Effect::Type &type, std::vector<float> ¶ms);
|
||||
int getMaxSceneEffects() const;
|
||||
int getMaxSourceEffects() const;
|
||||
bool isEFXsupported() const;
|
||||
|
||||
private:
|
||||
float volume;
|
||||
DistanceModel distanceModel;
|
||||
|
||||
@@ -128,18 +128,20 @@ void Source::getDirection(float *) const
|
||||
{
|
||||
}
|
||||
|
||||
void Source::setCone(float innerAngle, float outerAngle, float outerVolume)
|
||||
void Source::setCone(float innerAngle, float outerAngle, float outerVolume, float outerHighGain)
|
||||
{
|
||||
coneInnerAngle = innerAngle;
|
||||
coneOuterAngle = outerAngle;
|
||||
coneOuterVolume = outerVolume;
|
||||
coneOuterHighGain = outerHighGain;
|
||||
}
|
||||
|
||||
void Source::getCone(float &innerAngle, float &outerAngle, float &outerVolume) const
|
||||
void Source::getCone(float &innerAngle, float &outerAngle, float &outerVolume, float &outerHighGain) const
|
||||
{
|
||||
innerAngle = coneInnerAngle;
|
||||
outerAngle = coneOuterAngle;
|
||||
outerVolume = coneOuterVolume;
|
||||
outerHighGain = coneOuterHighGain;
|
||||
}
|
||||
|
||||
void Source::setRelative(bool enable)
|
||||
@@ -212,6 +214,16 @@ float Source::getMaxDistance() const
|
||||
return this->maxDistance;
|
||||
}
|
||||
|
||||
void Source::setAirAbsorptionFactor(float factor)
|
||||
{
|
||||
absorptionFactor = factor;
|
||||
}
|
||||
|
||||
float Source::getAirAbsorptionFactor() const
|
||||
{
|
||||
return absorptionFactor;
|
||||
}
|
||||
|
||||
int Source::getChannels() const
|
||||
{
|
||||
return 2;
|
||||
@@ -242,6 +254,26 @@ bool Source::getFilter(love::audio::Filter::Type &, std::vector<float> &)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Source::setSceneEffect(int, int)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Source::setSceneEffect(int, int, love::audio::Filter::Type, std::vector<float> &)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Source::setSceneEffect(int)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Source::getSceneEffect(int, int &, love::audio::Filter::Type &, std::vector<float> &)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
} // null
|
||||
} // audio
|
||||
} // love
|
||||
|
||||
@@ -59,8 +59,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 setCone(float innerAngle, float outerAngle, float outerVolume, float outerHighGain);
|
||||
virtual void getCone(float &innerAngle, float &outerAngle, float &outerVolume, float &outerHighGain) const;
|
||||
virtual void setRelative(bool enable);
|
||||
virtual bool isRelative() const;
|
||||
void setLooping(bool looping);
|
||||
@@ -75,6 +75,8 @@ public:
|
||||
virtual float getRolloffFactor() const;
|
||||
virtual void setMaxDistance(float distance);
|
||||
virtual float getMaxDistance() const;
|
||||
virtual void setAirAbsorptionFactor(float factor);
|
||||
virtual float getAirAbsorptionFactor() const;
|
||||
virtual int getChannels() const;
|
||||
|
||||
virtual int getFreeBufferCount() const;
|
||||
@@ -84,6 +86,11 @@ public:
|
||||
virtual bool setFilter();
|
||||
virtual bool getFilter(love::audio::Filter::Type &type, std::vector<float> ¶ms);
|
||||
|
||||
virtual bool setSceneEffect(int slot, int effect);
|
||||
virtual bool setSceneEffect(int slot, int effect, love::audio::Filter::Type type, std::vector<float> ¶ms);
|
||||
virtual bool setSceneEffect(int slot);
|
||||
virtual bool getSceneEffect(int slot, int &effect, love::audio::Filter::Type &type, std::vector<float> ¶ms);
|
||||
|
||||
private:
|
||||
|
||||
float pitch;
|
||||
@@ -91,6 +98,7 @@ private:
|
||||
float coneInnerAngle;
|
||||
float coneOuterAngle;
|
||||
float coneOuterVolume;
|
||||
float coneOuterHighGain;
|
||||
bool relative;
|
||||
bool looping;
|
||||
float minVolume;
|
||||
@@ -98,6 +106,7 @@ private:
|
||||
float referenceDistance;
|
||||
float rolloffFactor;
|
||||
float maxDistance;
|
||||
float absorptionFactor;
|
||||
|
||||
}; // Source
|
||||
|
||||
|
||||
Reference in New Issue
Block a user