diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drone.c | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/src/drone.c b/src/drone.c index b00e492..4fa9ddb 100644 --- a/src/drone.c +++ b/src/drone.c @@ -357,6 +357,46 @@ error_xas_seq_add:      return -1;  } +int xas_drone_seq_beep(xas_drone *drone, +                         xas_seq *seq, +                         enum xas_drone_mood mood, +                         struct timeval *now) { +    static struct timeval duration = { 1, 0 }, +                          tmp; + +    if (xas_seq_add_set_type(seq, +                               &drone->obj, +                               *now, +                               XAS_DRONE_INDEX_BEEP, +                               mood) < 0) { +        goto error_seq; +    } + +    if (xas_seq_add_event_on(seq, +                               &drone->obj, +                               *now, +                               XAS_DRONE_INDEX_BEEP) < 0) { +        goto error_seq; +    } + +    timeradd(now, &duration, &tmp); + +    now->tv_sec  = tmp.tv_sec; +    now->tv_usec = tmp.tv_usec; + +    if (xas_seq_add_event_off(seq, +                                &drone->obj, +                                *now, +                                XAS_DRONE_INDEX_BEEP) < 0) { +        goto error_seq; +    } + +    return 0; + +error_seq: +    return -1; +} +  int xas_drone_vox_set_voice(xas_drone *drone, const char *voice) {      return xas_vox_set_voice(drone->vox, voice);  } | 
 
    