/[svn]/linuxsampler/trunk/src/engines/gig/Voice.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/gig/Voice.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 947 by schoenebeck, Mon Nov 27 21:34:55 2006 UTC revision 1001 by schoenebeck, Wed Dec 27 16:17:08 2006 UTC
# Line 768  namespace LinuxSampler { namespace gig { Line 768  namespace LinuxSampler { namespace gig {
768       *  @param Skip    - number of sample points to skip in output buffer       *  @param Skip    - number of sample points to skip in output buffer
769       */       */
770      void Voice::Synthesize(uint Samples, sample_t* pSrc, uint Skip) {      void Voice::Synthesize(uint Samples, sample_t* pSrc, uint Skip) {
771          finalSynthesisParameters.pOutLeft  = &pEngineChannel->pOutputLeft[Skip];          finalSynthesisParameters.pOutLeft  = &pEngineChannel->pChannelLeft->Buffer()[Skip];
772          finalSynthesisParameters.pOutRight = &pEngineChannel->pOutputRight[Skip];          finalSynthesisParameters.pOutRight = &pEngineChannel->pChannelRight->Buffer()[Skip];
773          finalSynthesisParameters.pSrc      = pSrc;          finalSynthesisParameters.pSrc      = pSrc;
774    
775          RTList<Event>::Iterator itCCEvent = pEngineChannel->pEvents->first();          RTList<Event>::Iterator itCCEvent = pEngineChannel->pEvents->first();
# Line 803  namespace LinuxSampler { namespace gig { Line 803  namespace LinuxSampler { namespace gig {
803              // process transition events (note on, note off & sustain pedal)              // process transition events (note on, note off & sustain pedal)
804              processTransitionEvents(itNoteEvent, iSubFragmentEnd);              processTransitionEvents(itNoteEvent, iSubFragmentEnd);
805    
806              // if the voice was killed in this subfragment switch EG1 to fade out stage              // if the voice was killed in this subfragment, or if the
807              if (itKillEvent && killPos <= iSubFragmentEnd) {              // filter EG is finished, switch EG1 to fade out stage
808                if ((itKillEvent && killPos <= iSubFragmentEnd) ||
809                    (SYNTHESIS_MODE_GET_FILTER(SynthesisMode) &&
810                     EG2.getSegmentType() == EGADSR::segment_end)) {
811                  EG1.enterFadeOutStage();                  EG1.enterFadeOutStage();
812                  itKillEvent = Pool<Event>::Iterator();                  itKillEvent = Pool<Event>::Iterator();
813              }              }

Legend:
Removed from v.947  
changed lines
  Added in v.1001

  ViewVC Help
Powered by ViewVC