Files
JaySynth/Source/synth/param_scale.h
T
jens d060c00828 - fixed leakage
- fixed assertion failure
- fixed warnings
- fixed version number

git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@238 b431acfa-c32f-4a4a-93f1-934dc6c82436
2015-02-22 10:05:57 +00:00

189 lines
5.7 KiB
C

// --------------------------------------------------------------
// --------------------------------------------------------------
#ifndef _PARAM_SCALE_H_
#define _PARAM_SCALE_H_
#include "synth_types.h"
enum
{
SYNTH_PARAM_VOLUME = 0,
SYNTH_PARAM_TUNE,
SYNTH_PARAM_TOTAL_NUM_VOICES,
SYNTH_PARAM_VOICE_PAN_SPREAD,
SYNTH_PARAM_HUMANIZE_ENABLE,
SYNTH_PARAM_MONOPHONIC_ENABLE,
SYNTH_PARAM_MONOPHONIC_RETRIGGER_ENABLE,
SYNTH_PARAM_UNISONO_ENABLE,
SYNTH_PARAM_UNISONO_NUM_VOICES,
SYNTH_PARAM_HUMANIZE_VAR_VCO,
SYNTH_PARAM_HUMANIZE_VAR_VCF,
SYNTH_PARAM_HUMANIZE_VAR_ENV,
SYNTH_PARAM_PORTAMENTO_TIME,
SYNTH_PARAM_OSC_0_RESTART_ON_TRIGGER,
SYNTH_PARAM_OSC_1_RESTART_ON_TRIGGER,
SYNTH_PARAM_OSC_0_ENABLE,
SYNTH_PARAM_OSC_1_ENABLE,
SYNTH_PARAM_OSC_0_LEVEL,
SYNTH_PARAM_OSC_1_LEVEL,
SYNTH_PARAM_OSC_0_DUTYCYCLE,
SYNTH_PARAM_OSC_1_DUTYCYCLE,
SYNTH_PARAM_OSC_0_DETUNE,
SYNTH_PARAM_OSC_1_DETUNE,
SYNTH_PARAM_OSC_0_TRANSPOSE,
SYNTH_PARAM_OSC_1_TRANSPOSE,
SYNTH_PARAM_OSC_0_PB_RANGE_MIN,
SYNTH_PARAM_OSC_1_PB_RANGE_MIN,
SYNTH_PARAM_OSC_0_PB_RANGE_MAX,
SYNTH_PARAM_OSC_1_PB_RANGE_MAX,
SYNTH_PARAM_OSC_0_WAVEFORM,
SYNTH_PARAM_OSC_1_WAVEFORM,
SYNTH_PARAM_OSC_0_FM_AMT_0,
SYNTH_PARAM_OSC_1_FM_AMT_0,
SYNTH_PARAM_OSC_0_FM_AMT_1,
SYNTH_PARAM_OSC_1_FM_AMT_1,
SYNTH_PARAM_OSC_0_FM_SRC_0,
SYNTH_PARAM_OSC_1_FM_SRC_0,
SYNTH_PARAM_OSC_0_FM_SRC_1,
SYNTH_PARAM_OSC_1_FM_SRC_1,
SYNTH_PARAM_OSC_0_FM_SRC_OP,
SYNTH_PARAM_OSC_1_FM_SRC_OP,
SYNTH_PARAM_OSC_0_AM_AMT_0,
SYNTH_PARAM_OSC_1_AM_AMT_0,
SYNTH_PARAM_OSC_0_AM_AMT_1,
SYNTH_PARAM_OSC_1_AM_AMT_1,
SYNTH_PARAM_OSC_0_AM_SRC_0,
SYNTH_PARAM_OSC_1_AM_SRC_0,
SYNTH_PARAM_OSC_0_AM_SRC_1,
SYNTH_PARAM_OSC_1_AM_SRC_1,
SYNTH_PARAM_OSC_0_AM_SRC_OP,
SYNTH_PARAM_OSC_1_AM_SRC_OP,
SYNTH_PARAM_OSC_0_PWM_AMT_0,
SYNTH_PARAM_OSC_1_PWM_AMT_0,
SYNTH_PARAM_OSC_0_PWM_AMT_1,
SYNTH_PARAM_OSC_1_PWM_AMT_1,
SYNTH_PARAM_OSC_0_PWM_SRC_0,
SYNTH_PARAM_OSC_1_PWM_SRC_0,
SYNTH_PARAM_OSC_0_PWM_SRC_1,
SYNTH_PARAM_OSC_1_PWM_SRC_1,
SYNTH_PARAM_OSC_0_PWM_SRC_OP,
SYNTH_PARAM_OSC_1_PWM_SRC_OP,
SYNTH_PARAM_NOISE_ENABLE,
SYNTH_PARAM_NOISE_LEVEL,
SYNTH_PARAM_NOISE_SHAPE,
SYNTH_PARAM_VCA_ENV_AMT,
SYNTH_PARAM_VCA_AM_AMT_0,
SYNTH_PARAM_VCA_AM_SRC_0,
SYNTH_PARAM_VCA_PAN_AMT_0,
SYNTH_PARAM_VCA_PAN_SRC_0,
SYNTH_PARAM_ENV_0_A, SYNTH_PARAM_VCF_ENV_A = SYNTH_PARAM_ENV_0_A,
SYNTH_PARAM_ENV_1_A, SYNTH_PARAM_VCA_ENV_A = SYNTH_PARAM_ENV_1_A,
SYNTH_PARAM_ENV_2_A,
SYNTH_PARAM_ENV_3_A,
SYNTH_PARAM_ENV_0_D, SYNTH_PARAM_VCF_ENV_D = SYNTH_PARAM_ENV_0_D,
SYNTH_PARAM_ENV_1_D, SYNTH_PARAM_VCA_ENV_D = SYNTH_PARAM_ENV_1_D,
SYNTH_PARAM_ENV_2_D,
SYNTH_PARAM_ENV_3_D,
SYNTH_PARAM_ENV_0_S, SYNTH_PARAM_VCF_ENV_S = SYNTH_PARAM_ENV_0_S,
SYNTH_PARAM_ENV_1_S, SYNTH_PARAM_VCA_ENV_S = SYNTH_PARAM_ENV_1_S,
SYNTH_PARAM_ENV_2_S,
SYNTH_PARAM_ENV_3_S,
SYNTH_PARAM_ENV_0_R, SYNTH_PARAM_VCF_ENV_R = SYNTH_PARAM_ENV_0_R,
SYNTH_PARAM_ENV_1_R, SYNTH_PARAM_VCA_ENV_R = SYNTH_PARAM_ENV_1_R,
SYNTH_PARAM_ENV_2_R,
SYNTH_PARAM_ENV_3_R,
SYNTH_PARAM_VCF_TYPE,
SYNTH_PARAM_VCF_ORDER,
SYNTH_PARAM_VCF_F,
SYNTH_PARAM_VCF_Q,
SYNTH_PARAM_VCF_ENV_AMT,
SYNTH_PARAM_VCF_F_AMT_0,
SYNTH_PARAM_VCF_F_AMT_1,
SYNTH_PARAM_VCF_F_SRC_0,
SYNTH_PARAM_VCF_F_SRC_1,
SYNTH_PARAM_VCF_F_SRC_OP,
SYNTH_PARAM_VCF_Q_AMT_0,
SYNTH_PARAM_VCF_Q_AMT_1,
SYNTH_PARAM_VCF_Q_SRC_0,
SYNTH_PARAM_VCF_Q_SRC_1,
SYNTH_PARAM_VCF_Q_SRC_OP,
SYNTH_PARAM_LFO_0_SPEED,
SYNTH_PARAM_LFO_1_SPEED,
SYNTH_PARAM_LFO_2_SPEED,
SYNTH_PARAM_LFO_3_SPEED,
SYNTH_PARAM_LFO_0_SMOOTH,
SYNTH_PARAM_LFO_1_SMOOTH,
SYNTH_PARAM_LFO_2_SMOOTH,
SYNTH_PARAM_LFO_3_SMOOTH,
SYNTH_PARAM_LFO_0_DELAY,
SYNTH_PARAM_LFO_1_DELAY,
SYNTH_PARAM_LFO_2_DELAY,
SYNTH_PARAM_LFO_3_DELAY,
SYNTH_PARAM_LFO_0_ATTACK,
SYNTH_PARAM_LFO_1_ATTACK,
SYNTH_PARAM_LFO_2_ATTACK,
SYNTH_PARAM_LFO_3_ATTACK,
SYNTH_PARAM_LFO_0_SHAPE,
SYNTH_PARAM_LFO_1_SHAPE,
SYNTH_PARAM_LFO_2_SHAPE,
SYNTH_PARAM_LFO_3_SHAPE,
SYNTH_PARAM_LFO_0_MODE,
SYNTH_PARAM_LFO_1_MODE,
SYNTH_PARAM_LFO_2_MODE,
SYNTH_PARAM_LFO_3_MODE,
SYNTH_PARAM_LFO_0_SYNC,
SYNTH_PARAM_LFO_1_SYNC,
SYNTH_PARAM_LFO_2_SYNC,
SYNTH_PARAM_LFO_3_SYNC,
SYNTH_PARAM_LFO_0_SYMMETRY,
SYNTH_PARAM_LFO_1_SYMMETRY,
SYNTH_PARAM_LFO_2_SYMMETRY,
SYNTH_PARAM_LFO_3_SYMMETRY,
SYNTH_NUM_PARAMS
};
// --------------------------------------------------------------
// Types
// --------------------------------------------------------------
typedef struct _sparam_info_t
{
UINT32 id;
char *pName;
synth_float_t base, kexp, scenter, pmin, pcenter, pmax, pinterval;
} param_info_t;
// --------------------------------------------------------------
#if defined(__cplusplus)
extern "C" {
#endif
// --------------------------------------------------------------
// Exported functions
// --------------------------------------------------------------
void paramInfoInit(param_info_t *pObj, UINT32 id, const char *pName);
void paramInfoFree(param_info_t *pObj);
void paramInfoSetPMIN(param_info_t *pObj, synth_float_t value);
void paramInfoSetPMAX(param_info_t *pObj, synth_float_t value);
void paramInfoSet(param_info_t *pObj,
synth_float_t base,
synth_float_t kexp,
synth_float_t scenter,
synth_float_t pmin,
synth_float_t pcenter,
synth_float_t pmax,
synth_float_t pinterval);
void paramInfoCopy(param_info_t *pDst, param_info_t const *pSrc);
synth_float_t clampParam(param_info_t *pObj, synth_float_t p);
synth_float_t toParam(param_info_t *pObj, synth_float_t s);
synth_float_t toSlider(param_info_t *pObj, synth_float_t p);
param_info_t* getParamInfo(UINT32 type);
#if defined(__cplusplus)
}
#endif
// --------------------------------------------------------------
#endif // _PARAM_SCALE_H_