- added master clock PLL

git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@717 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2020-08-10 16:07:19 +00:00
parent 840b7a3427
commit 6014af2bec
5 changed files with 147 additions and 45 deletions
+34
View File
@@ -40,6 +40,38 @@ enum
LFO_NUM_PARAMS
};
typedef struct _ssync_t
{
synth_float_t phase;
synth_float_t phase_ref;
synth_float_t phase_adjusted;
synth_float_t omega;
synth_float_t klead;
synth_float_t klag;
synth_float_t accu;
int phase_update;
} sync_t;
#if defined(__cplusplus)
extern "C" {
#endif
// --------------------------------------------------------------
// Exported functions
// --------------------------------------------------------------
void Sync_init(sync_t *pObj);
void Sync_phase_update(sync_t *pObj, synth_float_t phase_ref);
int Sync_process(sync_t *pObj);
#if defined(__cplusplus)
}
#endif
// --------------------------------------------------------------
typedef struct _slfo_t
{
synth_float_t param[LFO_NUM_PARAMS];
@@ -53,6 +85,7 @@ typedef struct _slfo_t
UINT32 smooth_is_negative;
synth_float_t delay_x, delay_dx, attack_y, attack_a;
synth_float_t gain, offset;
sync_t sync;
} lfo_t;
@@ -69,6 +102,7 @@ void LFO_Free(lfo_t *pObj);
void LFO_SetFS(lfo_t *pObj, synth_float_t fs);
void LFO_SetBufsize(lfo_t *pObj, UINT32 bufsize);
void LFO_Reset(lfo_t *pObj, synth_float_t initial_phase);
void LFO_sync(lfo_t *pObj, synth_float_t phase);
void LFO_Param2Set(lfo_t *pObj, UINT32 type, synth_float_t value);
synth_float_t* LFO_ProcessDataV(lfo_t *pObj, UINT32 len);