diff options
| author | XANTRONIX Development | 2022-03-14 00:41:23 -0400 | 
|---|---|---|
| committer | XANTRONIX Development | 2022-03-14 00:41:23 -0400 | 
| commit | 37d07f3f657c879dc2b024ebbb981174ba6ab569 (patch) | |
| tree | f47ca2d9b136f87c41d24b2a4cf86e76e4db7f0a | |
| parent | 815ee7a10f4af1242bc0cd2d288132274615375a (diff) | |
| download | xas-37d07f3f657c879dc2b024ebbb981174ba6ab569.tar.gz xas-37d07f3f657c879dc2b024ebbb981174ba6ab569.tar.bz2 xas-37d07f3f657c879dc2b024ebbb981174ba6ab569.zip | |
Implement xas_drone_record_sample()
| -rw-r--r-- | include/xas/drone.h | 5 | ||||
| -rw-r--r-- | src/drone.c | 22 | 
2 files changed, 27 insertions, 0 deletions
| diff --git a/include/xas/drone.h b/include/xas/drone.h index 70eacfb..f134cdc 100644 --- a/include/xas/drone.h +++ b/include/xas/drone.h @@ -57,6 +57,11 @@ void xas_drone_destroy(xas_drone *drone);  xas_spatial_object *xas_drone_get_spatial_object(xas_drone *drone); +ssize_t xas_drone_record_sample(xas_drone *drone, +                                  xas_audio_stream *source, +                                  size_t sample_index, +                                  size_t sample_len); +  int xas_drone_speech_import(xas_drone *drone,                                const char *voice,                                float speed, diff --git a/src/drone.c b/src/drone.c index 1534e76..e7f5bfe 100644 --- a/src/drone.c +++ b/src/drone.c @@ -51,6 +51,28 @@ xas_spatial_object *xas_drone_get_spatial_object(xas_drone *drone) {      return drone->obj;  } +ssize_t xas_drone_record_sample(xas_drone *drone, +                                  xas_audio_stream *source, +                                  size_t sample_index, +                                  size_t sample_len) { +    if (sample_index >= drone->bank->entry_count +     || sample_len > drone->bank->entry_size) { +        errno = EINVAL; + +        goto error_invalid; +    } + +    return xas_bank_record(drone->bank, +                             source, +                             sample_index, +                             sample_len); + +    return 0; + +error_invalid: +    return -1; +} +  int xas_drone_speech_import(xas_drone *drone,                                const char *voice,                                float speed, | 
 
    