Home | History | Annotate | Download | only in lib_src

Lines Matching refs:pDLSArt

56     const S_DLS_ARTICULATION *pDLSArt;
59 pDLSArt = &pSynth->pDLS->pDLSArticulations[pWTVoice->artIndex];
69 pWTVoice->eg1Increment = pDLSArt->eg1ShutdownTime;
71 pWTVoice->eg2Increment = pDLSArt->eg2.releaseTime;
84 const S_DLS_ARTICULATION *pDLSArt;
87 pDLSArt = &pSynth->pDLS->pDLSArticulations[pWTVoice->artIndex];
97 pWTVoice->eg1Increment = pDLSArt->eg1.releaseTime;
101 pWTVoice->eg2Increment = pDLSArt->eg2.releaseTime;
115 const S_DLS_ARTICULATION *pDLSArt;
118 pDLSArt = &pSynth->pDLS->pDLSArticulations[pWTVoice->artIndex];
121 if (pWTVoice->eg1Value < pDLSArt->eg1.sustainLevel)
140 static EAS_I32 DLS_UpdatePhaseInc (S_WT_VOICE *pWTVoice, const S_DLS_ARTICULATION *pDLSArt, S_SYNTH_CHANNEL *pChannel, EAS_I32 pitchCents)
145 temp = pDLSArt->modLFOToPitch;
149 temp += ((pDLSArt->modLFOCC1ToPitch * pChannel->modWheel) >> 7);
153 temp += ((pDLSArt->modLFOChanPressToPitch * pChannel->channelPressure) >> 7);
159 temp = pDLSArt->vibLFOToPitch;
163 temp += ((pDLSArt->vibLFOCC1ToPitch * pChannel->modWheel) >> 7);
167 temp += ((pDLSArt->vibLFOChanPressToPitch * pChannel->channelPressure) >> 7);
173 pitchCents += FMUL_15x15(pDLSArt->eg2ToPitch, pWTVoice->eg2Value);
185 static EAS_I32 DLS_UpdateGain (S_WT_VOICE *pWTVoice, const S_DLS_ARTICULATION *pDLSArt, S_SYNTH_CHANNEL *pChannel, EAS_I32 gain, EAS_U8 velocity)
190 temp = pDLSArt->modLFOToGain;
194 temp += ((pDLSArt->modLFOCC1ToGain * pChannel->modWheel) >> 7);
198 temp += ((pDLSArt->modLFOChanPressToGain * pChannel->channelPressure) >> 7);
230 if (pDLSArt->filterQandFlags & FLAG_DLS_VELOCITY_SENSITIVE)
247 static void DLS_UpdateFilter (S_SYNTH_VOICE *pVoice, S_WT_VOICE *pWTVoice, S_WT_INT_FRAME *pIntFrame, S_SYNTH_CHANNEL *pChannel, const S_DLS_ARTICULATION *pDLSArt)
253 if (pDLSArt->filterCutoff == DEFAULT_DLS_FILTER_CUTOFF_FREQUENCY)
260 cutoff = pDLSArt->filterCutoff;
263 temp = pDLSArt->modLFOToFc;
267 temp += ((pDLSArt->modLFOCC1ToFc * pChannel->modWheel) >> 7);
271 temp += ((pDLSArt->modLFOChanPressToFc* pChannel->channelPressure) >> 7);
277 cutoff += FMUL_15x15(pWTVoice->eg2Value, pDLSArt->eg2ToFc);
281 cutoff += (pVoice->velocity * pDLSArt->velToFc) >> 7;
285 cutoff += (pVoice->note * pDLSArt->keyNumToFc) >> 7;
296 WT_SetFilterCoeffs(pIntFrame, cutoff, pDLSArt->filterQandFlags & FILTER_Q_MASK);
309 const S_DLS_ARTICULATION *pDLSArt;
320 pDLSArt = &pSynth->pDLS->pDLSArticulations[pWTVoice->artIndex];
324 DLS_UpdateEnvelope(pVoice, pChannel, &pDLSArt->eg1, &pWTVoice->eg1Value, &pWTVoice->eg1Increment, &pWTVoice->eg1State);
326 DLS_UpdateEnvelope(pVoice, pChannel, &pDLSArt->eg2, &pWTVoice->eg2Value, &pWTVoice->eg2Increment, &pWTVoice->eg2State);
330 pWTVoice->modLFO.lfoPhase = pDLSArt->modLFO.lfoDelay;
332 pWTVoice->vibLFO.lfoPhase = pDLSArt->vibLFO.lfoDelay;
335 DLS_UpdateEnvelope(pVoice, pChannel, &pDLSArt->eg1, &pWTVoice->eg1Value, &pWTVoice->eg1Increment, &pWTVoice->eg1State);
336 DLS_UpdateEnvelope(pVoice, pChannel, &pDLSArt->eg2, &pWTVoice->eg2Value, &pWTVoice->eg2Increment, &pWTVoice->eg2State);
337 pVoice->gain = (EAS_I16) DLS_UpdateGain(pWTVoice, pDLSArt, pChannel, pDLSRegion->wtRegion.gain, pVoice->velocity);
340 EAS_CalcPanControl((EAS_INT) pChannel->pan - 64 + (EAS_INT) pDLSArt->pan, &pWTVoice->gainLeft, &pWTVoice->gainRight);
383 const S_DLS_ARTICULATION *pDLSArt;
392 pDLSArt = &pSynth->pDLS->pDLSArticulations[pWTVoice->artIndex];
395 DLS_UpdateEnvelope(pVoice, pChannel, &pDLSArt->eg1, &pWTVoice->eg1Value, &pWTVoice->eg1Increment, &pWTVoice->eg1State);
396 DLS_UpdateEnvelope(pVoice, pChannel, &pDLSArt->eg2, &pWTVoice->eg2Value, &pWTVoice->eg2Increment, &pWTVoice->eg2State);
399 WT_UpdateLFO(&pWTVoice->modLFO, pDLSArt->modLFO.lfoFreq);
400 WT_UpdateLFO(&pWTVoice->vibLFO, pDLSArt->vibLFO.lfoFreq);
403 temp = pDLSArt->tuning + pChannel->staticPitch + pDLSRegion->wtRegion.tuning +
404 (((EAS_I32) pVoice->note * (EAS_I32) pDLSArt->keyNumToPitch) >> 7);
411 intFrame.frame.phaseIncrement = DLS_UpdatePhaseInc(pWTVoice, pDLSArt, pChannel, temp);
414 intFrame.frame.gainTarget = DLS_UpdateGain(pWTVoice, pDLSArt, pChannel, pDLSRegion->wtRegion.gain, pVoice->velocity);
417 DLS_UpdateFilter(pVoice, pWTVoice, &intFrame, pChannel, pDLSArt);