From 5ab6ee35ad6f68db860cf2568e89d0c234d9467a Mon Sep 17 00:00:00 2001 From: Andrew Aday Date: Fri, 14 Jun 2024 21:26:51 -0700 Subject: [PATCH] add array setters to chugins API --- src/core/chuck_dl.cpp | 130 ++++++++++++++++++++++++++++++++++++++++++ src/core/chuck_dl.h | 10 ++++ 2 files changed, 140 insertions(+) diff --git a/src/core/chuck_dl.cpp b/src/core/chuck_dl.cpp index 8d9b19e6e..fd5991be0 100644 --- a/src/core/chuck_dl.cpp +++ b/src/core/chuck_dl.cpp @@ -2143,6 +2143,18 @@ static t_CKINT CK_DLL_CALL ck_array_int_get_idx( Chuck_DL_Api::ArrayInt array, t +//----------------------------------------------------------------------------- +// name: ck_array_int_set_idx() +// desc: set an indexed element in an array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_int_set_idx( Chuck_DL_Api::ArrayInt array, t_CKINT idx, t_CKINT value ) +{ + if( array ) array->set( idx, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_int_get_key() // desc: get a keyed element from an array | 1.5.1.3 (nshaheed) added @@ -2158,6 +2170,18 @@ static t_CKBOOL CK_DLL_CALL ck_array_int_get_key( Chuck_DL_Api::ArrayInt array, +//----------------------------------------------------------------------------- +// name: ck_array_int_set_key() +// desc: set a keyed element in an array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_int_set_key( Chuck_DL_Api::ArrayInt array, const char * key, t_CKINT value ) +{ + if( array ) array->set( key, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_int_push_back() // desc: push back an element into an array | 1.5.0.1 (ge) added @@ -2222,6 +2246,18 @@ static t_CKFLOAT CK_DLL_CALL ck_array_float_get_idx( Chuck_DL_Api::ArrayFloat ar +//----------------------------------------------------------------------------- +// name: ck_array_float_set_idx() +// desc: set an indexed element in an array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_float_set_idx( Chuck_DL_Api::ArrayFloat array, t_CKINT idx, t_CKFLOAT value ) +{ + if( array ) array->set( idx, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_float_get_key() // desc: get a keyed element from an array | 1.5.1.8 (nshaheed) added @@ -2237,6 +2273,18 @@ static t_CKBOOL CK_DLL_CALL ck_array_float_get_key( Chuck_DL_Api::ArrayFloat arr +//----------------------------------------------------------------------------- +// name: ck_array_float_set_key() +// desc: set a keyed element in an array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_float_set_key( Chuck_DL_Api::ArrayFloat array, const char * key, t_CKFLOAT value ) +{ + if( array ) array->set( key, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_float_push_back() // desc: push back an element into an array | 1.5.1.8 (nshaheed) added @@ -2303,6 +2351,18 @@ static t_CKVEC2 CK_DLL_CALL ck_array_vec2_get_idx( Chuck_DL_Api::ArrayVec2 array +//----------------------------------------------------------------------------- +// name: ck_array_vec2_set_idx() +// desc: set indexed element in array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_vec2_set_idx( Chuck_DL_Api::ArrayVec2 array, t_CKINT idx, t_CKVEC2 value) +{ + if( array ) array->set( idx, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_vec2_get_key() // desc: get keyed element from array | 1.5.2.0 (ge) added @@ -2318,6 +2378,18 @@ static t_CKBOOL CK_DLL_CALL ck_array_vec2_get_key( Chuck_DL_Api::ArrayVec2 array +//----------------------------------------------------------------------------- +// name: ck_array_vec2_set_key() +// desc: set keyed element in array | 1.5.2.5 (azady) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_vec2_set_key( Chuck_DL_Api::ArrayVec2 array, const char * key, t_CKVEC2 value ) +{ + if( array ) array->set( key, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_vec2_push_back() // desc: push back an element into an array | 1.5.0.1 (ge) added @@ -2382,6 +2454,18 @@ static t_CKVEC3 CK_DLL_CALL ck_array_vec3_get_idx( Chuck_DL_Api::ArrayVec3 array +//----------------------------------------------------------------------------- +// name: ck_array_vec3_set_idx() +// desc: set indexed element in array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_vec3_set_idx( Chuck_DL_Api::ArrayVec3 array, t_CKINT idx, t_CKVEC3 value ) +{ + if( array ) array->set( idx, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_vec3_get_key() // desc: get keyed element from array | 1.5.2.0 (ge) added @@ -2397,6 +2481,18 @@ static t_CKBOOL CK_DLL_CALL ck_array_vec3_get_key( Chuck_DL_Api::ArrayVec3 array +//----------------------------------------------------------------------------- +// name: ck_array_vec3_set_key() +// desc: set keyed element in array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_vec3_set_key( Chuck_DL_Api::ArrayVec3 array, const char * key, t_CKVEC3 value ) +{ + if( array ) array->set( key, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_vec3_push_back() // desc: push back an element into an array | 1.5.0.1 (ge) added @@ -2461,6 +2557,18 @@ static t_CKVEC4 CK_DLL_CALL ck_array_vec4_get_idx( Chuck_DL_Api::ArrayVec4 array +//----------------------------------------------------------------------------- +// name: ck_array_vec4_set_idx() +// desc: set indexed element in array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_vec4_set_idx( Chuck_DL_Api::ArrayVec4 array, t_CKINT idx, t_CKVEC4 value ) +{ + if( array ) array->set( idx, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_vec4_get_key() // desc: get keyed element from array | 1.5.2.0 (ge) added @@ -2476,6 +2584,18 @@ static t_CKBOOL CK_DLL_CALL ck_array_vec4_get_key( Chuck_DL_Api::ArrayVec4 array +//----------------------------------------------------------------------------- +// name: ck_array_vec4_set_key() +// desc: set keyed element in array | 1.5.2.5 (azaday) added +//----------------------------------------------------------------------------- +static void CK_DLL_CALL ck_array_vec4_set_key( Chuck_DL_Api::ArrayVec4 array, const char * key, t_CKVEC4 value ) +{ + if( array ) array->set( key, value ); +} + + + + //----------------------------------------------------------------------------- // name: ck_array_vec4_push_back() // desc: push back an element into an array | 1.5.0.1 (ge) added @@ -2552,27 +2672,37 @@ set_string(ck_string_set), str(ck_string_get), array_int_size(ck_array_int_size), array_int_get_idx(ck_array_int_get_idx), +array_int_set_idx(ck_array_int_set_idx), array_int_get_key(ck_array_int_get_key), +array_int_set_key(ck_array_int_set_key), array_int_push_back(ck_array_int_push_back), array_int_clear(ck_array_int_clear), array_float_size(ck_array_float_size), array_float_get_idx(ck_array_float_get_idx), +array_float_set_idx(ck_array_float_set_idx), array_float_get_key(ck_array_float_get_key), +array_float_set_key(ck_array_float_set_key), array_float_push_back(ck_array_float_push_back), array_float_clear( ck_array_float_clear ), array_vec2_size(ck_array_vec2_size), array_vec2_get_idx(ck_array_vec2_get_idx), +array_vec2_set_idx(ck_array_vec2_set_idx), array_vec2_get_key(ck_array_vec2_get_key), +array_vec2_set_key(ck_array_vec2_set_key), array_vec2_push_back(ck_array_vec2_push_back), array_vec2_clear( ck_array_vec2_clear ), array_vec3_size(ck_array_vec3_size), array_vec3_get_idx(ck_array_vec3_get_idx), +array_vec3_set_idx(ck_array_vec3_set_idx), array_vec3_get_key(ck_array_vec3_get_key), +array_vec3_set_key(ck_array_vec3_set_key), array_vec3_push_back(ck_array_vec3_push_back), array_vec3_clear( ck_array_vec3_clear ), array_vec4_size(ck_array_vec4_size), array_vec4_get_idx(ck_array_vec4_get_idx), +array_vec4_set_idx(ck_array_vec4_set_idx), array_vec4_get_key(ck_array_vec4_get_key), +array_vec4_set_key(ck_array_vec4_set_key), array_vec4_push_back(ck_array_vec4_push_back), array_vec4_clear( ck_array_vec4_clear ) { } diff --git a/src/core/chuck_dl.h b/src/core/chuck_dl.h index 5a87dc041..967c89bfc 100644 --- a/src/core/chuck_dl.h +++ b/src/core/chuck_dl.h @@ -1024,31 +1024,41 @@ struct Chuck_DL_Api // array_int operations t_CKINT (CK_DLL_CALL * const array_int_size)( ArrayInt array ); t_CKINT (CK_DLL_CALL * const array_int_get_idx)( ArrayInt array, t_CKINT idx ); + void (CK_DLL_CALL *const array_int_set_idx)( ArrayInt array, t_CKINT idx, t_CKINT value ); t_CKBOOL (CK_DLL_CALL * const array_int_get_key)( ArrayInt array, const char * key, t_CKINT & value ); + void (CK_DLL_CALL *const array_int_set_key)( ArrayInt array, const char *key, t_CKINT value ); t_CKBOOL (CK_DLL_CALL * const array_int_push_back)( ArrayInt array, t_CKINT value ); void (CK_DLL_CALL * const array_int_clear)( ArrayInt array ); // array_float operations t_CKINT (CK_DLL_CALL * const array_float_size)( ArrayFloat array ); t_CKFLOAT (CK_DLL_CALL * const array_float_get_idx)( ArrayFloat array, t_CKINT idx ); + void (CK_DLL_CALL *const array_float_set_idx)( ArrayFloat array, t_CKINT idx, t_CKFLOAT value ); t_CKBOOL (CK_DLL_CALL * const array_float_get_key)( ArrayFloat array, const char * key, t_CKFLOAT & value ); + void (CK_DLL_CALL *const array_float_set_key)( ArrayFloat array, const char *key, t_CKFLOAT value ); t_CKBOOL (CK_DLL_CALL * const array_float_push_back)( ArrayFloat array, t_CKFLOAT value ); void (CK_DLL_CALL * const array_float_clear)(ArrayFloat array); // array_vec2/complex/polar/16 operations | 1.5.2.0 (ge) added t_CKINT (CK_DLL_CALL * const array_vec2_size)( ArrayVec2 array ); t_CKVEC2 (CK_DLL_CALL * const array_vec2_get_idx)( ArrayVec2 array, t_CKINT idx ); + void (CK_DLL_CALL *const array_vec2_set_idx)( ArrayVec2 array, t_CKINT idx, t_CKVEC2 value ); t_CKBOOL (CK_DLL_CALL * const array_vec2_get_key)( ArrayVec2 array, const char * key, t_CKVEC2 & value ); + void (CK_DLL_CALL *const array_vec2_set_key)( ArrayVec2 array, const char *key, t_CKVEC2 value ); t_CKBOOL (CK_DLL_CALL * const array_vec2_push_back)( ArrayVec2 array, const t_CKVEC2 & value ); void (CK_DLL_CALL * const array_vec2_clear)(ArrayVec2 array); // array_vec3/24 operations | 1.5.2.0 (ge) added t_CKINT (CK_DLL_CALL * const array_vec3_size)( ArrayVec3 array ); t_CKVEC3 (CK_DLL_CALL * const array_vec3_get_idx)( ArrayVec3 array, t_CKINT idx ); + void (CK_DLL_CALL *const array_vec3_set_idx)( ArrayVec3 array, t_CKINT idx, t_CKVEC3 value ); t_CKBOOL (CK_DLL_CALL * const array_vec3_get_key)( ArrayVec3 array, const char * key, t_CKVEC3 & value ); + void (CK_DLL_CALL *const array_vec3_set_key)( ArrayVec3 array, const char *key, t_CKVEC3 value ); t_CKBOOL (CK_DLL_CALL * const array_vec3_push_back)( ArrayVec3 array, const t_CKVEC3 & value ); void (CK_DLL_CALL * const array_vec3_clear)(ArrayVec3 array); // array_vec4/32 operations | 1.5.2.0 (ge) added t_CKINT (CK_DLL_CALL * const array_vec4_size)( ArrayVec4 array ); t_CKVEC4 (CK_DLL_CALL * const array_vec4_get_idx)( ArrayVec4 array, t_CKINT idx ); + void (CK_DLL_CALL *const array_vec4_set_idx)( ArrayVec4 array, t_CKINT idx, t_CKVEC4 value ); t_CKBOOL (CK_DLL_CALL * const array_vec4_get_key)( ArrayVec4 array, const char * key, t_CKVEC4 & value ); + void (CK_DLL_CALL *const array_vec4_set_key)( ArrayVec4 array, const char *key, t_CKVEC4 value ); t_CKBOOL (CK_DLL_CALL * const array_vec4_push_back)( ArrayVec4 array, const t_CKVEC4 & value ); void (CK_DLL_CALL * const array_vec4_clear)(ArrayVec4 array); // (UNSAFE) get c++ vector pointers from chuck arrays | 1.5.2.0