- initial import
git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@37 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
// --------------------------------------------------------------
|
||||
// --------------------------------------------------------------
|
||||
#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, 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 *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_
|
||||
Reference in New Issue
Block a user