diff options
| -rw-r--r-- | include/xas/drone.h | 17 | ||||
| -rw-r--r-- | src/drone.c | 8 | 
2 files changed, 24 insertions, 1 deletions
| diff --git a/include/xas/drone.h b/include/xas/drone.h index 96db18b..d50e305 100644 --- a/include/xas/drone.h +++ b/include/xas/drone.h @@ -14,11 +14,22 @@  #define XAS_DRONE_CHAMBER_BASS_FREQUENCY 20 /* Hz */  #define XAS_DRONE_CHAMBER_BASS_TYPE      XAS_SYNTH_SQUARE +enum xas_drone_mood { +    XAS_DRONE_MOOD_NEUTRAL, +    XAS_DRONE_MOOD_HAPPY, +    XAS_DRONE_MOOD_FLIRTY, +    XAS_DRONE_MOOD_SAD, +    XAS_DRONE_MOOD_ANGRY, +    XAS_DRONE_MOOD_DISTRESSED +}; +  typedef struct _xas_drone {      xas_bank *bank; + +    enum xas_drone_mood mood; +      xas_spatial_scene *scene;      xas_spatial_object *obj; -  } xas_drone;  typedef struct _xas_drone_vox { @@ -55,6 +66,10 @@ xas_drone *xas_drone_new(xas_spatial_scene *scene,  void xas_drone_destroy(xas_drone *drone); +enum xas_drone_mood xas_drone_mood_get(xas_drone *drone); + +void xas_drone_mood_set(xas_drone *drone, enum xas_drone_mood mood); +  xas_spatial_object *xas_drone_get_spatial_object(xas_drone *drone);  ssize_t xas_drone_sample_record(xas_drone *drone, diff --git a/src/drone.c b/src/drone.c index 188f546..4dbb7ed 100644 --- a/src/drone.c +++ b/src/drone.c @@ -49,6 +49,14 @@ void xas_drone_destroy(xas_drone *drone) {      free(drone);  } +enum xas_drone_mood xas_drone_mood_get(xas_drone *drone) { +    return drone->mood; +} + +void xas_drone_mood_set(xas_drone *drone, enum xas_drone_mood mood) { +    drone->mood = mood; +} +  xas_spatial_object *xas_drone_get_spatial_object(xas_drone *drone) {      return drone->obj;  } | 
 
    