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; } |