Home | History | Annotate | Download | only in lib_src

Lines Matching refs:voices

200     /* ignore muting voices */
233 /* ignore muting voices */
298 InitVoice(&pVoiceMgr->voices[i]);
420 * We also force all voices to mute quickly.
422 * is, we do not ramp the voices down from this routine, but instead, we
424 * down samples to the output buffer. After we are sure that all voices
430 * force - force reset even if voices are active
436 * - force all voices to update their envelope states to mute
447 /* force voices to off state - may cause audio artifacts */
457 /* don't reset if voices are still playing */
480 /* handle reset after voices are muted */
569 /* update all voices on this channel */
593 if (pVoiceMgr->voices[i].voiceState != eVoiceStateStolen)
595 if (GET_VSYNTH(pVoiceMgr->voices[i].channel) == vSynthNum)
596 InitVoice(&pVoiceMgr->voices[i]);
600 if (GET_VSYNTH(pVoiceMgr->voices[i].nextChannel) == vSynthNum)
601 InitVoice(&pVoiceMgr->voices[i]);
618 pVoice = &pVoiceMgr->voices[voiceNum];
639 S_SYNTH_VOICE *pVoice = &pVoiceMgr->voices[voiceNum];
647 /* stolen voices should just be muted */
652 GetSynthPtr(voiceNum)->pfReleaseVoice(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum], GetAdjustedVoiceNum(voiceNum));
741 /* mute any voices on muted channels, and count unmuted voices */
745 /* ignore free voices */
746 if (pVoiceMgr->voices[i].voiceState == eVoiceStateFree)
750 if (pVoiceMgr->voices[i].voiceState != eVoiceStateStolen)
752 vSynthNum = GET_VSYNTH(pVoiceMgr->voices[i].channel);
753 channel = GET_CHANNEL(pVoiceMgr->voices[i].channel);
757 vSynthNum = GET_VSYNTH(pVoiceMgr->voices[i].nextChannel);
758 channel = GET_CHANNEL(pVoiceMgr->voices[i].nextChannel);
761 /* ignore voices on other synths */
765 /* count voices */
771 /* mute stolen voices scheduled to play on this channel */
772 if (pVoiceMgr->voices[i].voiceState == eVoiceStateStolen)
773 pVoiceMgr->voices[i].voiceState = eVoiceStateMuting;
775 /* release voices that aren't already muting */
776 else if (pVoiceMgr->voices[i].voiceState != eVoiceStateMuting)
795 * on the MIP setting and calculates the voices allocated for each
862 * This forces all voices to mute quickly.
870 * - forces all voices to update their envelope states to mute
879 { /* dpp: EAS_ReportEx(_EAS_SEVERITY_INFO, "VMMuteAllVoices: about to mute all voices!!\n"); */ }
884 /* for stolen voices, check new channel */
885 if (pVoiceMgr->voices[i].voiceState == eVoiceStateStolen)
887 if (GET_VSYNTH(pVoiceMgr->voices[i].nextChannel) == pSynth->vSynthNum)
891 else if (pSynth->vSynthNum == GET_VSYNTH(pVoiceMgr->voices[i].channel))
901 * This ensures all voices are either in release (because we received their
911 * - forces all voices to update their envelope states to release or mute
929 /* release all voices */
933 switch (pVoiceMgr->voices[i].voiceState)
937 /* only release voices on this synth */
938 if (GET_VSYNTH(pVoiceMgr->voices[i].channel) == pSynth->vSynthNum)
943 if (GET_VSYNTH(pVoiceMgr->voices[i].nextChannel) == pSynth->vSynthNum)
956 pVoiceMgr->voices[i].voiceState); */ }
976 * - forces all voices on this channel to update their envelope states to mute
1001 pVoice = &pVoiceMgr->voices[voiceNum];
1028 * voices that have had deferred note-off requests are now put into release
1044 if (pVoiceMgr->voices[voiceNum].voiceFlags & VOICE_FLAG_DEFER_MIDI_NOTE_OFF)
1047 if (pVoiceMgr->voices[voiceNum].voiceState == eVoiceStateStolen)
1070 pVoiceMgr->voices[voiceNum].nextChannel,
1071 pVoiceMgr->voices[voiceNum].note); */ }
1074 if (0 != pVoiceMgr->voices[voiceNum].gain)
1084 pVoiceMgr->voices[voiceNum].voiceFlags ^=
1090 pVoiceMgr->voices[voiceNum].nextChannel,
1091 pVoiceMgr->voices[voiceNum].note); */ }
1094 channel = pVoiceMgr->voices[voiceNum].channel & 15;
1099 GetSynthPtr(voiceNum)->pfSustainPedal(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum], &pSynth->channels[channel], GetAdjustedVoiceNum(voiceNum));
1157 /* find all the voices assigned to this channel */
1162 pVoice = &pVoiceMgr->voices[voiceNum];
1217 /* find all the voices assigned to this channel */
1220 if (channel == pVoiceMgr->voices[voiceNum].channel)
1222 if (eVoiceStateRelease == pVoiceMgr->voices[voiceNum].voiceState)
1223 GetSynthPtr(voiceNum)->pfSustainPedal(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum], &pSynth->channels[channel], GetAdjustedVoiceNum(voiceNum));
1232 * Increment the note age for all of the active voices.
1240 * m_nAge for all voices is incremented
1249 if (age - pVoiceMgr->voices[i].age > 0)
1250 pVoiceMgr->voices[i].age++;
1273 S_SYNTH_VOICE *pVoice = &pVoiceMgr->voices[voiceNum];
1279 GetSynthPtr(voiceNum)->pfMuteVoice(pVoiceMgr, pVoiceMgr->pSynth[GET_VSYNTH(pVoice->channel)], &pVoiceMgr->voices[voiceNum], GetAdjustedVoiceNum(voiceNum));
1309 * pool of free voices
1343 { /* dpp: EAS_ReportEx(_EAS_SEVERITY_INFO, "VMFreeVoice: free voice %d\n", pVoice - pVoiceMgr->voices); */ }
1373 pVoice = &pVoiceMgr->voices[voiceNum];
1390 VMFreeVoice(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum]);
1424 GetSynthPtr(voiceNum)->pfStartVoice(pVoiceMgr, pNextSynth, &pVoiceMgr->voices[voiceNum], GetAdjustedVoiceNum(voiceNum), pVoice->regionIndex);
1455 /* need to check all voices in case this is a layered sound */
1459 if (pVoiceMgr->voices[voiceNum].voiceState != eVoiceStateStolen)
1462 if (channel == pVoiceMgr->voices[voiceNum].channel)
1465 voices[voiceNum].regionIndex);
1473 if (pVoiceMgr->voices[voiceNum].voiceFlags & VOICE_FLAG_NO_SAMPLES_SYNTHESIZED_YET)
1474 pVoiceMgr->voices[voiceNum].voiceFlags |= VOICE_FLAG_DEFER_MUTE;
1487 if (channel == pVoiceMgr->voices[voiceNum].nextChannel)
1490 pRegion = GetRegionPtr(pSynth, pVoiceMgr->voices[voiceNum].nextRegionIndex);
1498 if (pVoiceMgr->voices[voiceNum].voiceFlags & VOICE_FLAG_NO_SAMPLES_SYNTHESIZED_YET)
1499 pVoiceMgr->voices[voiceNum].voiceFlags |= VOICE_FLAG_DEFER_MUTE;
1516 * E.g., if we are asked to start note 36, and there are already two voices
1554 if (pVoiceMgr->voices[voiceNum].voiceState != eVoiceStateStolen)
1558 if ((channel == pVoiceMgr->voices[voiceNum].channel) && (note == pVoiceMgr->voices[voiceNum].note))
1561 age = pVoiceMgr->age - pVoiceMgr->voices[voiceNum].age;
1572 /* handle stolen voices */
1576 if ((channel == pVoiceMgr->voices[voiceNum].nextChannel) && (note == pVoiceMgr->voices[voiceNum].nextNote))
1592 { /* dpp: EAS_ReportEx(_EAS_SEVERITY_DETAIL, "VMCheckPolyphonyLimiting: polyphony limiting requires shutting down note %d \n", pVoiceMgr->voices[oldestVoiceNum].note); */ }
1648 /* other voices in pool, check for key group and poly limiting */
1671 /* any free voices? */
1676 S_SYNTH_VOICE *pVoice = &pVoiceMgr->voices[voiceNum];
1692 pVoiceMgr->voices[voiceNum].channel = VSynthToChannel(pSynth, channel);
1693 pVoiceMgr->voices[voiceNum].note = note;
1694 pVoiceMgr->voices[voiceNum].velocity = velocity;
1697 pVoiceMgr->voices[voiceNum].age = pVoiceMgr->age++;
1700 pVoiceMgr->voices[voiceNum].voiceState = eVoiceStateStart;
1707 GetSynthPtr(voiceNum)->pfStartVoice(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum], GetAdjustedVoiceNum(voiceNum), regionIndex);
1711 /* no free voices, we have to steal one using appropriate algorithm */
1897 if (eVoiceStateStolen != pVoiceMgr->voices[voiceNum].voiceState)
1901 if ((channel == pVoiceMgr->voices[voiceNum].channel) && (note == pVoiceMgr->voices[voiceNum].note))
1911 pVoiceMgr->voices[voiceNum].voiceFlags |= VOICE_FLAG_SUSTAIN_PEDAL_DEFER_NOTE_OFF;
1916 if (pVoiceMgr->voices[voiceNum].voiceFlags & VOICE_FLAG_NO_SAMPLES_SYNTHESIZED_YET)
1921 pVoiceMgr->voices
1933 else if ((channel == pVoiceMgr->voices[voiceNum].nextChannel) && (note == pVoiceMgr->voices[voiceNum].nextNote))
1940 pVoiceMgr->voices[voiceNum].voiceFlags |= VOICE_FLAG_DEFER_MIDI_NOTE_OFF;
1968 if ( pVoiceMgr->voices[voiceNum].voiceState == eVoiceStateFree)
1993 * In one pass through all the voices, figure out which voice to steal
1996 * Number of voices over the polyphony allocation for voice's MIDI channel
1999 * Key velocity (for voices that haven't been started yet)
2030 pCurrVoice = &pVoiceMgr->voices[voiceNum];
2032 /* ignore free voices */
2036 /* for stolen voices, use the new parameters, not the old */
2050 /* ignore voices that are higher priority */
2098 /* may happen if all voices are allocated to a higher priority virtual synth */
2109 if (pVoiceMgr->voices[bestCandidate].voiceState == eVoiceStateStolen)
2113 pVoiceMgr->voices[bestCandidate].nextChannel,
2114 pVoiceMgr->voices[bestCandidate].nextNote,
2115 pVoiceMgr->voices[bestCandidate].nextVelocity); */ }
2148 for all the voices associated with this channel
2190 for all the voices associated with this channel
2221 for all the voices associated with this channel
2765 for all the voices associated with this channel
2783 * number of voices rendered
2809 /* retarget stolen voices */
2810 if ((pVoiceMgr->voices[voiceNum].voiceState == eVoiceStateStolen) && (pVoiceMgr->voices[voiceNum].gain <= 0))
2814 pSynth = pVoiceMgr->pSynth[pVoiceMgr->voices[voiceNum].channel >> 4];
2816 /* synthesize active voices */
2817 if (pVoiceMgr->voices[voiceNum].voiceState != eVoiceStateFree)
2819 done = GetSynthPtr(voiceNum)->pfUpdateVoice(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum], GetAdjustedVoiceNum(voiceNum), pMixBuffer, numSamples);
2826 if (pVoiceMgr->voices[voiceNum].voiceState == eVoiceStateStolen)
2827 pVoiceMgr->voices[voiceNum].gain = 0;
2831 VMFreeVoice(pVoiceMgr, pSynth, &pVoiceMgr->voices[voiceNum]);
2835 if (pVoiceMgr->voices[voiceNum].voiceFlags & VOICE_FLAG_DEFER_MUTE)
2837 pVoiceMgr->voices[voiceNum].voiceFlags &= ~(VOICE_FLAG_DEFER_MUTE | VOICE_FLAG_DEFER_MIDI_NOTE_OFF);
2842 if (pVoiceMgr->voices[voiceNum].voiceState == eVoiceStateStart)
2843 pVoiceMgr->voices[voiceNum].voiceState = eVoiceStatePlay;
2860 * pVoicesRendered - number of voices rendered this frame
2889 * If flag is set, that means one or more voices are expecting deferred
2910 all voices have muted
3002 * Returns the number of active voices in the synthesizer.
3008 * Returns the number of active voices
3103 /* count the number of active voices */
3109 if ((pVoiceMgr->voices[i].voiceState != eVoiceStateFree) && (pVoiceMgr->voices[i].voiceState != eVoiceStateMuting))
3113 /* we may have to mute voices to reach new target */
3126 pVoice = &pVoiceMgr->voices[i];
3128 /* ignore free and muting voices */
3224 * all available voices).
3271 /* count the number of active voices */
3276 if (GET_VSYNTH(pVoiceMgr->voices[i].nextChannel) != pSynth->vSynthNum)
3280 if ((pVoiceMgr->voices[i].voiceState != eVoiceStateFree) && (pVoiceMgr->voices[i].voiceState != eVoiceStateMuting))
3284 /* we may have to mute voices to reach new target */
3295 pVoice = &pVoiceMgr->voices[i];
3813 /* init counter for voices starts in split architecture */
3868 /* iterate through all voices */
3871 pVoice = &pEASData->pVoiceMgr->voices[i];
3924 /* count free voices */