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

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

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

revision 2072 by persson, Sat Mar 20 11:37:52 2010 UTC revision 2565 by schoenebeck, Tue May 20 12:21:39 2014 UTC
# Line 109  namespace LinuxSampler { namespace gig { Line 109  namespace LinuxSampler { namespace gig {
109          ProcessFxSendControllers(pChannel, itControlChangeEvent);          ProcessFxSendControllers(pChannel, itControlChangeEvent);
110      }      }
111    
112        void Engine::ProcessChannelPressure(LinuxSampler::EngineChannel* pEngineChannel, Pool<Event>::Iterator& itChannelPressureEvent) {
113            // if required: engine global aftertouch handling (apart from the per voice handling)
114        }
115    
116        void Engine::ProcessPolyphonicKeyPressure(LinuxSampler::EngineChannel* pEngineChannel, Pool<Event>::Iterator& itNotePressureEvent) {
117            // if required: engine global aftertouch handling (apart from the per voice handling)
118        }
119    
120      DiskThread* Engine::CreateDiskThread() {      DiskThread* Engine::CreateDiskThread() {
121          return new DiskThread (          return new DiskThread (
122              iMaxDiskStreams,              iMaxDiskStreams,
# Line 169  namespace LinuxSampler { namespace gig { Line 177  namespace LinuxSampler { namespace gig {
177          // if nothing defined for this key          // if nothing defined for this key
178          if (!pRegion) return Pool<Voice>::Iterator(); // nothing to do          if (!pRegion) return Pool<Voice>::Iterator(); // nothing to do
179    
180          // only mark the first voice of a layered voice (group) to be in a          int iKeyGroup = pRegion->KeyGroup;
181          // key group, so the layered voices won't kill each other          // only need to send a group event from the first voice in a layered region,
182          int iKeyGroup = (iLayer == 0 && !ReleaseTriggerVoice) ? pRegion->KeyGroup : 0;          // as all layers in a region always belongs to the same key group
183            if (HandleKeyGroupConflicts && iLayer == 0) pChannel->HandleKeyGroupConflicts(iKeyGroup, itNoteOnEvent);
         if (HandleKeyGroupConflicts) pChannel->HandleKeyGroupConflicts(iKeyGroup, itNoteOnEvent);  
184    
185          Voice::type_t VoiceType = Voice::type_normal;          Voice::type_t VoiceType = Voice::type_normal;
186    
# Line 291  namespace LinuxSampler { namespace gig { Line 298  namespace LinuxSampler { namespace gig {
298          // return if this is a release triggered voice and there is no          // return if this is a release triggered voice and there is no
299          // releasetrigger dimension (could happen if an instrument          // releasetrigger dimension (could happen if an instrument
300          // change has occured between note on and off)          // change has occured between note on and off)
301          if (ReleaseTriggerVoice && VoiceType != Voice::type_release_trigger) return Pool<Voice>::Iterator();          if (ReleaseTriggerVoice && !(VoiceType & Voice::type_release_trigger)) return Pool<Voice>::Iterator();
302    
303          ::gig::DimensionRegion* pDimRgn = pRegion->GetDimensionRegionByValue(DimValues);          ::gig::DimensionRegion* pDimRgn = pRegion->GetDimensionRegionByValue(DimValues);
304            if (!pDimRgn) return Pool<Voice>::Iterator(); // error (could not resolve dimension region)
305    
306          // no need to continue if sample is silent          // no need to continue if sample is silent
307          if (!pDimRgn->pSample || !pDimRgn->pSample->SamplesTotal) return Pool<Voice>::Iterator();          if (!pDimRgn->pSample || !pDimRgn->pSample->SamplesTotal) return Pool<Voice>::Iterator();
# Line 319  namespace LinuxSampler { namespace gig { Line 327  namespace LinuxSampler { namespace gig {
327      }      }
328    
329      String Engine::Version() {      String Engine::Version() {
330          String s = "$Revision: 1.108 $";          String s = "$Revision$";
331          return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword          return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword
332      }      }
333    

Legend:
Removed from v.2072  
changed lines
  Added in v.2565

  ViewVC Help
Powered by ViewVC