prologue SDK  v1.1-0
Classes | Macros | Enumerations
Modulation Effect Instance (modfx)

Macros

#define __sdram   __attribute__((section(".sdram")))
 This macro can be used to declare a memory buffer in SDRAM space. More...
 

Enumerations

enum  user_modfx_param_id_t { k_user_modfx_param_time = 0, k_user_modfx_param_depth, k_num_user_modfx_param_id }
 User facing parameters. More...
 

Core API

void _hook_init (uint32_t platform, uint32_t api)
 Initialization callback. More...
 
void _hook_process (const float *main_xn, float *main_yn, const float *sub_xn, float *sub_yn, uint32_t frames)
 Processing callback. More...
 
void _hook_suspend (void)
 Suspend callback. More...
 
void _hook_resume (void)
 Resume callback. More...
 
void _hook_param (uint8_t index, int32_t value)
 Parameter change callback. More...
 
#define MODFX_INIT   __attribute__((used)) _hook_init
 
#define MODFX_PROCESS   __attribute__((used)) _hook_process
 
#define MODFX_SUSPEND   __attribute__((used)) _hook_suspend
 
#define MODFX_RESUME   __attribute__((used)) _hook_resume
 
#define MODFX_PARAM   __attribute__((used)) _hook_param
 

Detailed Description

Macro Definition Documentation

◆ __sdram

#define __sdram   __attribute__((section(".sdram")))

This macro can be used to declare a memory buffer in SDRAM space.

E.g.: float g_my_buffer[1024] __sdram;

Definition at line 63 of file usermodfx.h.

Enumeration Type Documentation

◆ user_modfx_param_id_t

User facing parameters.

Enumerator
k_user_modfx_param_time 

Time parameter.

k_user_modfx_param_depth 

Depth parameter.

Definition at line 68 of file usermodfx.h.

68  {
73  k_num_user_modfx_param_id

Function Documentation

◆ _hook_init()

void _hook_init ( uint32_t  platform,
uint32_t  api 
)

Initialization callback.

Must be implemented by your custom effect.

Parameters
platformCurrent target platform/module. See userprg.h
apiCurrent API version. See userprg.h

◆ _hook_param()

void _hook_param ( uint8_t  index,
int32_t  value 
)

Parameter change callback.

Must be implemented by your custom effect.

Parameters
indexParameter ID. See user_modfx_param_id_t.
indexParameter value.
Note
All parameters have 10 bit resolution.

◆ _hook_process()

void _hook_process ( const float *  main_xn,
float *  main_yn,
const float *  sub_xn,
float *  sub_yn,
uint32_t  frames 
)

Processing callback.

Must be implemented by your custom effect.

Parameters
main_xnInput sample buffer for main timbre
main_ynOutput sample buffer for main timbre
sub_xnInput sample buffer for sub timbre
sub_ynOutput sample buffer for sub timbre
framesSize of buffers. (2 samples per frames)
Note
Implementation must support at least up to 64 frames.
Optimize for powers of two.
On platforms that do not have a sub timbre the sub_xn / sub_yn parameters can be ignored.

◆ _hook_resume()

void _hook_resume ( void  )

Resume callback.

Must be implemented by your custom effect.

Called before calls to processing callback resume after being suspended.

◆ _hook_suspend()

void _hook_suspend ( void  )

Suspend callback.

Must be implemented by your custom effect.

Called before effect gets suspended. While suspended the processing callback will not be called.

k_user_modfx_param_time
Time parameter.
Definition: usermodfx.h:70
k_user_modfx_param_depth
Depth parameter.
Definition: usermodfx.h:72
user_modfx_param_id_t
user_modfx_param_id_t
User facing parameters.
Definition: usermodfx.h:68