/[svn]/linuxsampler/trunk/src/drivers/midi/MidiInputPort.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/drivers/midi/MidiInputPort.cpp

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

revision 774 by schoenebeck, Wed Jun 22 22:09:28 2005 UTC revision 775 by schoenebeck, Wed Sep 21 14:30:43 2005 UTC
# Line 24  Line 24 
24  #include "MidiInputPort.h"  #include "MidiInputPort.h"
25    
26  #include "../../Sampler.h"  #include "../../Sampler.h"
27    #include "../../engines/EngineFactory.h"
28    
29  namespace LinuxSampler {  namespace LinuxSampler {
30    
# Line 148  namespace LinuxSampler { Line 149  namespace LinuxSampler {
149      }      }
150    
151      void MidiInputPort::DispatchSysex(void* pData, uint Size) {      void MidiInputPort::DispatchSysex(void* pData, uint Size) {
152          // dispatch event for engines listening to the same MIDI channel          // dispatch event to all engine instances
153          {          std::set<Engine*>::iterator engineiter = EngineFactory::EngineInstances().begin();
154              for (uint MidiChannel = 0; MidiChannel <= 16; MidiChannel++) {          std::set<Engine*>::iterator end        = EngineFactory::EngineInstances().end();
155                  std::set<EngineChannel*>::iterator engineiter = MidiChannelMap[MidiChannel].begin();          for (; engineiter != end; engineiter++) (*engineiter)->SendSysex(pData, Size);
                 std::set<EngineChannel*>::iterator end        = MidiChannelMap[MidiChannel].end();  
                 for (; engineiter != end; engineiter++) {  
                     Engine* pEngine = (*engineiter)->GetEngine();  
                     if (pEngine) pEngine->SendSysex(pData, Size);  
                 }  
             }  
         }  
         // dispatch event for engines listening to ALL MIDI channels  
         {  
             for (uint MidiChannel = 0; MidiChannel <= 16; MidiChannel++) {  
                 std::set<EngineChannel*>::iterator engineiter = MidiChannelMap[midi_chan_all].begin();  
                 std::set<EngineChannel*>::iterator end        = MidiChannelMap[midi_chan_all].end();  
                 for (; engineiter != end; engineiter++) {  
                     Engine* pEngine = (*engineiter)->GetEngine();  
                     if (pEngine) pEngine->SendSysex(pData, Size);  
                 }  
             }  
         }  
156      }      }
157    
158      void MidiInputPort::DispatchProgramChange(uint8_t Program, uint MidiChannel) {      void MidiInputPort::DispatchProgramChange(uint8_t Program, uint MidiChannel) {

Legend:
Removed from v.774  
changed lines
  Added in v.775

  ViewVC Help
Powered by ViewVC