add oversampler
This commit is contained in:
104
oversampling/WDL/eel2/eel_import.h
Normal file
104
oversampling/WDL/eel2/eel_import.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/*******************************************************************************************
|
||||
* imported EEL
|
||||
******************************************************************************************/
|
||||
|
||||
void (*NSEEL_addfunc_ret_type)(const char *name, int np, int ret_type, NSEEL_PPPROC pproc, void *fptr, eel_function_table *destination); // ret_type=-1 for bool, 1 for value, 0 for ptr
|
||||
void (*NSEEL_addfunc_varparm_ex)(const char *name, int min_np, int want_exact, NSEEL_PPPROC pproc, EEL_F (NSEEL_CGEN_CALL *fptr)(void *, INT_PTR, EEL_F **), eel_function_table *destination);
|
||||
|
||||
|
||||
NSEEL_VMCTX (*NSEEL_VM_alloc)(); // return a handle
|
||||
void (*NSEEL_VM_SetGRAM)(NSEEL_VMCTX, void **);
|
||||
void (*NSEEL_VM_free)(NSEEL_VMCTX ctx); // free when done with a VM and ALL of its code have been freed, as well
|
||||
void (*NSEEL_VM_SetFunctionTable)(NSEEL_VMCTX, eel_function_table *tab); // use NULL to use default (global) table
|
||||
EEL_F *(*NSEEL_VM_regvar)(NSEEL_VMCTX ctx, const char *name); // register a variable (before compilation)
|
||||
|
||||
void (*NSEEL_VM_SetCustomFuncThis)(NSEEL_VMCTX ctx, void *thisptr);
|
||||
NSEEL_CODEHANDLE (*NSEEL_code_compile_ex)(NSEEL_VMCTX ctx, const char *code, int lineoffs, int flags);
|
||||
void (*NSEEL_VM_set_var_resolver)(NSEEL_VMCTX ctx, EEL_F *(*res)(void *userctx, const char *name), void *userctx);
|
||||
char *(*NSEEL_code_getcodeerror)(NSEEL_VMCTX ctx);
|
||||
void (*NSEEL_code_execute)(NSEEL_CODEHANDLE code);
|
||||
void (*NSEEL_code_free)(NSEEL_CODEHANDLE code);
|
||||
EEL_F *(*nseel_int_register_var)(compileContext *ctx, const char *name, int isReg, const char **namePtrOut);
|
||||
void (*NSEEL_VM_enumallvars)(NSEEL_VMCTX ctx, int (*func)(const char *name, EEL_F *val, void *ctx), void *userctx);
|
||||
EEL_F *(*NSEEL_VM_getramptr)(NSEEL_VMCTX ctx, unsigned int offs, int *validAmt);
|
||||
void ** (*eel_gmem_attach)(const char *nm, bool is_alloc);
|
||||
void (*eel_fft_register)(eel_function_table*);
|
||||
|
||||
struct eelStringSegmentRec {
|
||||
struct eelStringSegmentRec *_next;
|
||||
const char *str_start; // escaped characters, including opening/trailing characters
|
||||
int str_len;
|
||||
};
|
||||
void (*NSEEL_VM_SetStringFunc)(NSEEL_VMCTX ctx,
|
||||
EEL_F (*onString)(void *caller_this, struct eelStringSegmentRec *list),
|
||||
EEL_F (*onNamedString)(void *caller_this, const char *name));
|
||||
|
||||
// call with NULL to calculate size, or non-null to generate to buffer (returning size used -- will not null terminate, caller responsibility)
|
||||
int (*nseel_stringsegments_tobuf)(char *bufOut, int bufout_sz, struct eelStringSegmentRec *list);
|
||||
|
||||
void *(*NSEEL_PProc_RAM)(void *data, int data_size, struct _compileContext *ctx);
|
||||
void *(*NSEEL_PProc_THIS)(void *data, int data_size, struct _compileContext *ctx);
|
||||
|
||||
void (*eel_enterfp)(int s[2]);
|
||||
void (*eel_leavefp)(int s[2]);
|
||||
|
||||
|
||||
eel_function_table g_eel_function_table;
|
||||
#define NSEEL_ADDFUNC_DESTINATION (&g_eel_function_table)
|
||||
|
||||
//
|
||||
// adds a function that returns a value (EEL_F)
|
||||
#define NSEEL_addfunc_retval(name,np,pproc,fptr) \
|
||||
NSEEL_addfunc_ret_type(name,np,1,pproc,(void *)(fptr),NSEEL_ADDFUNC_DESTINATION)
|
||||
|
||||
// adds a function that returns a pointer (EEL_F*)
|
||||
#define NSEEL_addfunc_retptr(name,np,pproc,fptr) \
|
||||
NSEEL_addfunc_ret_type(name,np,0,pproc,(void *)(fptr),NSEEL_ADDFUNC_DESTINATION)
|
||||
|
||||
// adds a void or bool function
|
||||
#define NSEEL_addfunc_retbool(name,np,pproc,fptr) \
|
||||
NSEEL_addfunc_ret_type(name,np,-1,pproc,(void *)(fptr),NSEEL_ADDFUNC_DESTINATION)
|
||||
|
||||
// adds a function that takes min_np or more parameters (func sig needs to be EEL_F func(void *ctx, INT_PTR np, EEL_F **parms)
|
||||
#define NSEEL_addfunc_varparm(name, min_np, pproc, fptr) \
|
||||
NSEEL_addfunc_varparm_ex(name,min_np,0,pproc,fptr,NSEEL_ADDFUNC_DESTINATION)
|
||||
|
||||
// adds a function that takes np parameters via func: sig needs to be EEL_F func(void *ctx, INT_PTR np, EEL_F **parms)
|
||||
#define NSEEL_addfunc_exparms(name, np, pproc, fptr) \
|
||||
NSEEL_addfunc_varparm_ex(name,np,1,pproc,fptr,NSEEL_ADDFUNC_DESTINATION)
|
||||
|
||||
class eel_string_context_state;
|
||||
|
||||
#define __NS_EELINT_H__
|
||||
|
||||
#define EEL_IMPORT_ALL(IMPORT_FUNC) \
|
||||
IMPORT_FUNC(NSEEL_addfunc_ret_type) \
|
||||
IMPORT_FUNC(NSEEL_addfunc_varparm_ex) \
|
||||
IMPORT_FUNC(NSEEL_VM_free) \
|
||||
IMPORT_FUNC(NSEEL_VM_SetFunctionTable) \
|
||||
IMPORT_FUNC(NSEEL_VM_regvar) \
|
||||
IMPORT_FUNC(NSEEL_VM_SetCustomFuncThis) \
|
||||
IMPORT_FUNC(NSEEL_code_compile_ex) \
|
||||
IMPORT_FUNC(NSEEL_code_getcodeerror) \
|
||||
IMPORT_FUNC(NSEEL_code_execute) \
|
||||
IMPORT_FUNC(NSEEL_code_free) \
|
||||
IMPORT_FUNC(NSEEL_PProc_THIS) \
|
||||
IMPORT_FUNC(NSEEL_PProc_RAM) \
|
||||
IMPORT_FUNC(NSEEL_VM_SetStringFunc) \
|
||||
IMPORT_FUNC(NSEEL_VM_enumallvars) \
|
||||
IMPORT_FUNC(NSEEL_VM_getramptr) \
|
||||
IMPORT_FUNC(NSEEL_VM_SetGRAM) \
|
||||
IMPORT_FUNC(eel_gmem_attach) \
|
||||
IMPORT_FUNC(eel_fft_register) \
|
||||
IMPORT_FUNC(nseel_stringsegments_tobuf) \
|
||||
IMPORT_FUNC(nseel_int_register_var) \
|
||||
IMPORT_FUNC(eel_leavefp) \
|
||||
IMPORT_FUNC(eel_enterfp) \
|
||||
IMPORT_FUNC(NSEEL_VM_set_var_resolver) \
|
||||
IMPORT_FUNC(NSEEL_VM_alloc) /* keep NSEEL_VM_alloc last */
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************************
|
||||
* END of imported EEL
|
||||
******************************************************************************************/
|
||||
Reference in New Issue
Block a user