Home | History | Annotate | Download | only in lib_src

Lines Matching refs:pRegion

160 static EAS_BOOL FM_SynthIsOutputOperator (const S_FM_REGION *pRegion, EAS_INT operIndex)
164 if ((pRegion->oper[operIndex].gain & 0xfc) == 0)
168 switch (pRegion->region.keyGroupAndFlags & 7)
202 pRegion->region.keyGroupAndFlags & 7); */ }
257 const S_FM_REGION *pRegion;
261 pRegion = GetFMRegionPtr(pSynth, pVoice);
262 if (pRegion->region.keyGroupAndFlags & REGION_FLAG_ONE_SHOT)
274 fmReleaseTable[pRegion->oper[operIndex].velocityRelease & 0x0f],
275 fmScaleTable[pRegion->oper[operIndex].egKeyScale >> 4]);
327 const S_FM_REGION *pRegion;
331 pRegion = GetFMRegionPtr(pSynth, pVoice);
339 if (((pRegion->oper[operIndex].gain & 0xfc) == 0) ||
346 if (pFMVoice->oper[operIndex].envGain >= ((EAS_U16) (pRegion->oper[operIndex].sustain & 0xfc) << 7))
354 fmDecayTable[pRegion->oper[operIndex].attackDecay & 0x0f],
355 fmScaleTable[pRegion->oper[operIndex].egKeyScale >> 4]);
400 const S_FM_REGION *pRegion;
408 pRegion = GetFMRegionPtr(pSynth, pVoice);
417 pFMVoice->lfoDelay = (EAS_U16) (fmScaleTable[pRegion->lfoFreqDelay & 0x0f] >> 1);
423 temp += (EAS_I32) pRegion->pan;
444 pFMVoice->oper[operIndex].outputGain = EAS_LogToLinear16(((EAS_I16) (pRegion->oper[operIndex].gain & 0xfc) - 0xfc) << 7);
448 if (pRegion->oper[operIndex].flags & FM_OPER_FLAG_LINEAR_VELOCITY)
455 temp = (temp * (EAS_I32)(pRegion->oper[operIndex].velocityRelease & 0xf0)) >> 7;
458 temp -= ((EAS_I32) pVoice->note - KEY_SCALE_PIVOT_POINT) * (EAS_I32) fmScaleTable[pRegion->oper[operIndex].egKeyScale & 0x0f];
470 fmDecayTable[pRegion->oper[operIndex].attackDecay & 0x0f],
471 fmScaleTable[pRegion->oper[operIndex].egKeyScale >> 4]);
474 if ((pRegion
578 static void FM_UpdateLFO (S_FM_VOICE *pFMVoice, const S_FM_REGION *pRegion)
585 pFMVoice->lfoPhase = pFMVoice->lfoPhase + (EAS_U16) (-fmControlTable[((15 - (pRegion->lfoFreqDelay >> 4)) << 3) + 4]);
588 if (pRegion->region.keyGroupAndFlags & REGION_FLAG_SQUARE_WAVE)
728 static EAS_BOOL FM_UpdateDynamic (S_SYNTH_VOICE *pVoice, S_FM_VOICE *pFMVoice, const S_FM_REGION *pRegion, S_SYNTH_CHANNEL *pChannel)
737 FM_UpdateLFO(pFMVoice, pRegion);
743 temp = (fmScaleTable[pRegion->vibTrem >> 4] >> 1) + pChannel->lfoAmt;
757 temp = pRegion->oper[operIndex].tuning +
761 if ((pRegion->oper[operIndex].flags & FM_OPER_FLAG_NO_VIBRATO) == 0)
765 if (pRegion->oper[operIndex].flags & FM_OPER_FLAG_MONOTONE)
772 bTemp = FM_UpdateEG(pVoice, &pFMVoice->oper[operIndex], &pRegion->oper[operIndex], pRegion->region.keyGroupAndFlags & REGION_FLAG_ONE_SHOT);
775 if (FM_SynthIsOutputOperator(pRegion, operIndex))
802 const S_FM_REGION *pRegion;
813 pRegion = GetFMRegionPtr(pSynth, pVoice);
828 vCfg.feedback = pRegion->feedback;
836 vCfg.flags = pRegion->region.keyGroupAndFlags & 7;
846 if (pRegion->oper[oper].flags & FM_OPER_FLAG_NOISE)
861 done = FM_UpdateDynamic(pVoice, pFMVoice, pRegion, pChannel);
865 temp = ((fmScaleTable[pRegion->vibTrem & 0x0f] >> 1) * pFMVoice->lfoValue) >> FM_LFO_GAIN_SHIFT;
894 if (FM_SynthIsOutputOperator(pRegion, oper))