- BPM display use BPM calculation from LFO
- LFO: fixed S&H waveforms git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@737 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+12
-2
@@ -178,7 +178,9 @@ void Sync_processV(lfo_t* pObj, int len)
|
||||
for (int i=0; i < len; i++)
|
||||
{
|
||||
pObj->pPhase[i].phase = pSync->phase;
|
||||
synth_float_t phase = pSync->phase;
|
||||
pSync->phase = Sync_mod(pSync->phase + omega_base);
|
||||
pObj->pPhase[i].is_cycle_start = (phase > pSync->phase);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -188,7 +190,9 @@ void Sync_processV(lfo_t* pObj, int len)
|
||||
for (int i=0; i < len; i++)
|
||||
{
|
||||
pObj->pPhase[i].phase = pSync->phase;
|
||||
synth_float_t phase = pSync->phase;
|
||||
pSync->phase = Sync_mod(pSync->phase + pSync->omega);
|
||||
pObj->pPhase[i].is_cycle_start = (phase > pSync->phase);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -197,7 +201,10 @@ void Sync_processV(lfo_t* pObj, int len)
|
||||
{
|
||||
for (int i=0; i < len; i++)
|
||||
{
|
||||
pObj->pPhase[i].phase = pObj->pPhase[i].phase_int;
|
||||
synth_float_t phase = pSync->phase;
|
||||
pSync->phase = pObj->pPhase[i].phase_int;
|
||||
pObj->pPhase[i].is_cycle_start = (phase > pSync->phase);
|
||||
pObj->pPhase[i].phase = pSync->phase;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -292,11 +299,14 @@ void LFO_Reset(lfo_t *pObj, synth_float_t initial_phase)
|
||||
|
||||
}
|
||||
|
||||
void LFO_sync(lfo_t *pObj, synth_float_t phase_ref)
|
||||
synth_float_t LFO_sync(lfo_t *pObj, synth_float_t phase_ref)
|
||||
{
|
||||
synth_float_t note_1_x = pObj->param[LFO_PARAM2_MIDISYNC_BEATDIV];
|
||||
phase_ref = Sync_mod(note_1_x*phase_ref);
|
||||
Sync_phase_update(&pObj->sync, phase_ref);
|
||||
|
||||
// Return BPM
|
||||
return 4*60*pObj->fs*pObj->sync.omega/note_1_x;
|
||||
}
|
||||
|
||||
void LFO_Param2Set(lfo_t *pObj, UINT32 type, synth_float_t value)
|
||||
|
||||
+1
-1
@@ -123,7 +123,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);
|
||||
synth_float_t 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);
|
||||
void Sync_processV(lfo_t *pObj, int len);
|
||||
|
||||
Reference in New Issue
Block a user