summaryrefslogtreecommitdiff
path: root/src/sound.h
diff options
context:
space:
mode:
authorRui <rui.minetest@gmail.com>2017-06-11 20:58:26 +0900
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-06-11 13:58:26 +0200
commitff73c7a5da6ab8ac0bb678ebf25b83e805397029 (patch)
tree1e91e8226000250c4636bbb188330d105c85d019 /src/sound.h
parent03ff53e16bafe1aaa278625864c546a525d08dfc (diff)
downloadminetest-ff73c7a5da6ab8ac0bb678ebf25b83e805397029.tar.gz
minetest-ff73c7a5da6ab8ac0bb678ebf25b83e805397029.tar.bz2
minetest-ff73c7a5da6ab8ac0bb678ebf25b83e805397029.zip
Sound: Add pitch option (#5960)
* Sound: Add pitch option
Diffstat (limited to 'src/sound.h')
-rw-r--r--src/sound.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/sound.h b/src/sound.h
index 76c0d1be4..9447b77ef 100644
--- a/src/sound.h
+++ b/src/sound.h
@@ -34,16 +34,18 @@ public:
struct SimpleSoundSpec
{
- SimpleSoundSpec(const std::string &name = "", float gain = 1.0, float fade = 0.0)
- : name(name), gain(gain), fade(fade)
+ SimpleSoundSpec(const std::string &name = "", float gain = 1.0f,
+ float fade = 0.0f, float pitch = 1.0f)
+ : name(name), gain(gain), fade(fade), pitch(pitch)
{
}
bool exists() const { return name != ""; }
- std::string name;
- float gain;
- float fade;
+ std::string name = "";
+ float gain = 1.0f;
+ float fade = 0.0f;
+ float pitch = 1.0f;
};
class ISoundManager
@@ -64,9 +66,9 @@ public:
// playSound functions return -1 on failure, otherwise a handle to the
// sound. If name=="", call should be ignored without error.
virtual int playSound(const std::string &name, bool loop, float volume,
- float fade = 0) = 0;
- virtual int playSoundAt(
- const std::string &name, bool loop, float volume, v3f pos) = 0;
+ float fade = 0.0f, float pitch = 1.0f) = 0;
+ virtual int playSoundAt(const std::string &name, bool loop, float volume, v3f pos,
+ float pitch = 1.0f) = 0;
virtual void stopSound(int sound) = 0;
virtual bool soundExists(int sound) = 0;
virtual void updateSoundPosition(int sound, v3f pos) = 0;
@@ -77,11 +79,11 @@ public:
int playSound(const SimpleSoundSpec &spec, bool loop)
{
- return playSound(spec.name, loop, spec.gain, spec.fade);
+ return playSound(spec.name, loop, spec.gain, spec.fade, spec.pitch);
}
int playSoundAt(const SimpleSoundSpec &spec, bool loop, v3f pos)
{
- return playSoundAt(spec.name, loop, spec.gain, pos);
+ return playSoundAt(spec.name, loop, spec.gain, pos, spec.pitch);
}
};
@@ -98,11 +100,13 @@ public:
}
void updateListener(v3f pos, v3f vel, v3f at, v3f up) {}
void setListenerGain(float gain) {}
- int playSound(const std::string &name, bool loop, float volume, float fade)
+ int playSound(const std::string &name, bool loop, float volume, float fade,
+ float pitch)
{
return 0;
}
- int playSoundAt(const std::string &name, bool loop, float volume, v3f pos)
+ int playSoundAt(const std::string &name, bool loop, float volume, v3f pos,
+ float pitch)
{
return 0;
}