Added a first version of the Sound F-Curve Modifier, not really usable yet, but you...
[blender.git] / source / blender / makesdna / DNA_anim_types.h
index 195d68d63ff19414773bbc1f5a9a2f804bb41869..c6330861fd2e546e418f337255399a6a9b7ed790 100644 (file)
@@ -36,6 +36,7 @@ extern "C" {
 #include "DNA_listBase.h"
 #include "DNA_action_types.h"
 #include "DNA_curve_types.h"
+#include "DNA_sound_types.h"
 
 /* ************************************************ */
 /* F-Curve DataTypes */
@@ -73,6 +74,7 @@ typedef enum eFModifier_Types {
        FMODIFIER_TYPE_FILTER,          /* unimplemented - for applying: fft, high/low pass filters, etc. */
        FMODIFIER_TYPE_PYTHON,  
        FMODIFIER_TYPE_LIMITS,
+       FMODIFIER_TYPE_SOUND,
        
        /* NOTE: all new modifiers must be added above this line */
        FMODIFIER_NUM_TYPES
@@ -230,6 +232,25 @@ typedef enum eFMod_Noise_Modifications {
        FCM_NOISE_MODIF_MULTIPLY,               /* Multiply the curve by noise */
 } eFMod_Noise_Modifications;
 
+/* sound modifier data */
+typedef struct FMod_Sound {
+       float strength;
+       float delay;
+
+       short modification;
+       short pad[3];
+
+       bSound *sound;
+} FMod_Sound;
+
+/* modification modes */
+typedef enum eFMod_Sound_Modifications {
+       FCM_SOUND_MODIF_REPLACE = 0,    /* Modify existing curve, matching it's shape */
+       FCM_SOUND_MODIF_ADD,                    /* Add amplitude to the curve */
+       FCM_SOUND_MODIF_SUBTRACT,               /* Subtract amplitude from the curve */
+       FCM_SOUND_MODIF_MULTIPLY,               /* Multiply the curve by amplitude */
+} eFMod_Sound_Modifications;
+
 /* Drivers -------------------------------------- */
 
 /* Driver Target