Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/gameengine/Ketsji/KX_SoundActuator.h')
-rw-r--r--source/gameengine/Ketsji/KX_SoundActuator.h65
1 files changed, 36 insertions, 29 deletions
diff --git a/source/gameengine/Ketsji/KX_SoundActuator.h b/source/gameengine/Ketsji/KX_SoundActuator.h
index adafee0a30b..ddf8330072e 100644
--- a/source/gameengine/Ketsji/KX_SoundActuator.h
+++ b/source/gameengine/Ketsji/KX_SoundActuator.h
@@ -34,17 +34,41 @@
#include "SCA_IActuator.h"
+#include "AUD_C-API.h"
+#include "BKE_sound.h"
+
+typedef struct KX_3DSoundSettings
+{
+ float min_gain;
+ float max_gain;
+ float reference_distance;
+ float max_distance;
+ float rolloff_factor;
+ float cone_inner_angle;
+ float cone_outer_angle;
+ float cone_outer_gain;
+} KX_3DSoundSettings;
+
class KX_SoundActuator : public SCA_IActuator
{
Py_Header;
- bool m_lastEvent;
+// bool m_lastEvent;
bool m_isplaying;
/* just some handles to the audio-data... */
- class SND_SoundObject* m_soundObject;
- class SND_Scene* m_soundScene;
- short m_startFrame;
- short m_endFrame;
- bool m_pino;
+ AUD_Sound* m_sound;
+ float m_volume;
+ float m_pitch;
+ bool m_is3d;
+ KX_3DSoundSettings m_3d;
+ AUD_Handle* m_handle;
+// class SND_SoundObject* m_soundObject;
+// class SND_Scene* m_soundScene;
+// short m_startFrame;
+// short m_endFrame;
+// bool m_pino;
+
+ void play();
+
public:
enum KX_SOUNDACT_TYPE
@@ -62,15 +86,15 @@ public:
KX_SOUNDACT_TYPE m_type;
KX_SoundActuator(SCA_IObject* gameobj,
- class SND_SoundObject* sndobj,
- class SND_Scene* sndscene,
- KX_SOUNDACT_TYPE type,
- short start,
- short end);
+ AUD_Sound* sound,
+ float volume,
+ float pitch,
+ bool is3d,
+ KX_3DSoundSettings settings,
+ KX_SOUNDACT_TYPE type);
~KX_SoundActuator();
- void setSoundObject(class SND_SoundObject* soundobject);
virtual bool Update(double curtime, bool frame);
CValue* GetReplica();
@@ -84,40 +108,23 @@ public:
KX_PYMETHOD_DOC_NOARGS(KX_SoundActuator, pauseSound);
KX_PYMETHOD_DOC_NOARGS(KX_SoundActuator, stopSound);
- static int pyattr_set_filename(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int pyattr_set_gain(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int pyattr_set_pitch(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int pyattr_set_rollOffFactor(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
- static int pyattr_set_looping(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
- static int pyattr_set_position(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
- static int pyattr_set_velocity(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
- static int pyattr_set_orientation(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int pyattr_set_type(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
- static PyObject* pyattr_get_filename(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_gain(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_pitch(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_looping(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_rollOffFactor(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_position(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_velocity(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
- static PyObject* pyattr_get_orientation(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_type(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
// Deprecated ----->
- KX_PYMETHOD_VARARGS(KX_SoundActuator,SetFilename);
- KX_PYMETHOD_NOARGS(KX_SoundActuator,GetFilename);
KX_PYMETHOD_VARARGS(KX_SoundActuator,SetGain);
KX_PYMETHOD_NOARGS(KX_SoundActuator,GetGain);
KX_PYMETHOD_VARARGS(KX_SoundActuator,SetPitch);
KX_PYMETHOD_NOARGS(KX_SoundActuator,GetPitch);
KX_PYMETHOD_VARARGS(KX_SoundActuator,SetRollOffFactor);
KX_PYMETHOD_NOARGS(KX_SoundActuator,GetRollOffFactor);
- KX_PYMETHOD_VARARGS(KX_SoundActuator,SetLooping);
- KX_PYMETHOD_NOARGS(KX_SoundActuator,GetLooping);
- KX_PYMETHOD_VARARGS(KX_SoundActuator,SetPosition);
- KX_PYMETHOD_VARARGS(KX_SoundActuator,SetVelocity);
- KX_PYMETHOD_VARARGS(KX_SoundActuator,SetOrientation);
KX_PYMETHOD_VARARGS(KX_SoundActuator,SetType);
KX_PYMETHOD_NOARGS(KX_SoundActuator,GetType);
// <-----