mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-11-10 15:01:40 +00:00
Explicit cast for rvoice_event_handler functions (#312)
Explicit casts to avoid narrowing conversion warnings.
This commit is contained in:
parent
4203e10220
commit
5be4f31822
1 changed files with 33 additions and 5 deletions
|
@ -24,34 +24,45 @@
|
|||
#include "fluid_iir_filter.h"
|
||||
#include "fluid_lfo.h"
|
||||
#include "fluid_adsr_env.h"
|
||||
|
||||
/* Calling proc without data parameters */
|
||||
#define EVENTFUNC_0(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing only one real data parameter */
|
||||
#define EVENTFUNC_R1(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
if(event->intparam != 0) { FLUID_LOG(FLUID_DBG, "IR-mismatch"); } \
|
||||
proc((type) event->object, event->realparams[0]); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing pointer parameter */
|
||||
#define EVENTFUNC_PTR(proc, type, type2) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, (type2) event->ptr); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing only int parameter */
|
||||
#define EVENTFUNC_I1(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
if(event->realparams[0] != 0.0f) { FLUID_LOG(FLUID_DBG, "IR-mismatch"); } \
|
||||
proc((type) event->object, event->intparam); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing: int,int data parameters */
|
||||
#define EVENTFUNC_II(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, event->intparam, (int) event->realparams[0]); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing: int,real data parameters */
|
||||
#define EVENTFUNC_IR(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, event->intparam, event->realparams[0]); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing: int,real,real,real,real,real data parameters */
|
||||
#define EVENTFUNC_ALL(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, event->intparam, event->realparams[0], \
|
||||
|
@ -59,6 +70,23 @@
|
|||
event->realparams[4]); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing: int,int,real,real,real,int data parameters */
|
||||
#define EVENTFUNC_IIR3I(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, event->intparam, (int)event->realparams[0], \
|
||||
event->realparams[1], event->realparams[2], event->realparams[3], \
|
||||
(int)event->realparams[4]); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing: int,int,real,real,real,real data parameters */
|
||||
#define EVENTFUNC_IIR4(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, event->intparam, (int)event->realparams[0], \
|
||||
event->realparams[1], event->realparams[2], event->realparams[3], \
|
||||
event->realparams[4]); \
|
||||
return; }
|
||||
|
||||
/* Calling proc passing: int,real,real,real,real data parameters */
|
||||
#define EVENTFUNC_R4(proc, type) \
|
||||
if (event->method == proc) { \
|
||||
proc((type) event->object, event->intparam, event->realparams[0], \
|
||||
|
@ -76,7 +104,7 @@ fluid_rvoice_event_dispatch(fluid_rvoice_event_t* event)
|
|||
EVENTFUNC_0(fluid_rvoice_voiceoff, fluid_rvoice_t*);
|
||||
EVENTFUNC_0(fluid_rvoice_reset, fluid_rvoice_t*);
|
||||
|
||||
EVENTFUNC_ALL(fluid_adsr_env_set_data, fluid_adsr_env_t*);
|
||||
EVENTFUNC_IIR4(fluid_adsr_env_set_data, fluid_adsr_env_t*);
|
||||
|
||||
EVENTFUNC_I1(fluid_lfo_set_delay, fluid_lfo_t*);
|
||||
EVENTFUNC_R1(fluid_lfo_set_incr, fluid_lfo_t*);
|
||||
|
@ -84,7 +112,7 @@ fluid_rvoice_event_dispatch(fluid_rvoice_event_t* event)
|
|||
EVENTFUNC_R1(fluid_iir_filter_set_fres, fluid_iir_filter_t*);
|
||||
EVENTFUNC_R1(fluid_iir_filter_set_q_dB, fluid_iir_filter_t*);
|
||||
|
||||
EVENTFUNC_IR(fluid_rvoice_buffers_set_mapping, fluid_rvoice_buffers_t*);
|
||||
EVENTFUNC_II(fluid_rvoice_buffers_set_mapping, fluid_rvoice_buffers_t*);
|
||||
EVENTFUNC_IR(fluid_rvoice_buffers_set_amp, fluid_rvoice_buffers_t*);
|
||||
|
||||
EVENTFUNC_R1(fluid_rvoice_set_modenv_to_pitch, fluid_rvoice_t*);
|
||||
|
@ -116,9 +144,9 @@ fluid_rvoice_event_dispatch(fluid_rvoice_event_t* event)
|
|||
EVENTFUNC_0(fluid_rvoice_mixer_reset_fx, fluid_rvoice_mixer_t*);
|
||||
EVENTFUNC_0(fluid_rvoice_mixer_reset_reverb, fluid_rvoice_mixer_t*);
|
||||
EVENTFUNC_0(fluid_rvoice_mixer_reset_chorus, fluid_rvoice_mixer_t*);
|
||||
EVENTFUNC_IR(fluid_rvoice_mixer_set_threads, fluid_rvoice_mixer_t*);
|
||||
EVENTFUNC_II(fluid_rvoice_mixer_set_threads, fluid_rvoice_mixer_t*);
|
||||
|
||||
EVENTFUNC_ALL(fluid_rvoice_mixer_set_chorus_params, fluid_rvoice_mixer_t*);
|
||||
EVENTFUNC_IIR3I(fluid_rvoice_mixer_set_chorus_params, fluid_rvoice_mixer_t*);
|
||||
EVENTFUNC_R4(fluid_rvoice_mixer_set_reverb_params, fluid_rvoice_mixer_t*);
|
||||
|
||||
FLUID_LOG(FLUID_ERR, "fluid_rvoice_event_dispatch: Unknown method %p to dispatch!", event->method);
|
||||
|
|
Loading…
Reference in a new issue