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