From 546e07855b117b22ae3a5053a5dcfef1183b0718 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Tue, 15 Mar 2022 16:39:46 -0400 Subject: You know who deserves to have moods? Drones. --- include/xas/drone.h | 17 ++++++++++++++++- src/drone.c | 8 ++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) 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; } -- cgit v1.2.3