/[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 1750 by schoenebeck, Thu Jul 10 15:00:38 2008 UTC revision 1751 by schoenebeck, Mon Jul 28 07:36:35 2008 UTC
# Line 953  namespace LinuxSampler { namespace gig { Line 953  namespace LinuxSampler { namespace gig {
953       *       *
954       *  @param pData - pointer to sysex data       *  @param pData - pointer to sysex data
955       *  @param Size  - lenght of sysex data (in bytes)       *  @param Size  - lenght of sysex data (in bytes)
956         *  @param pSender - the MIDI input port on which the SysEx message was
957         *                   received
958       */       */
959      void Engine::SendSysex(void* pData, uint Size) {      void Engine::SendSysex(void* pData, uint Size, MidiInputPort* pSender) {
960          Event event             = pEventGenerator->CreateEvent();          Event event             = pEventGenerator->CreateEvent();
961          event.Type              = Event::type_sysex;          event.Type              = Event::type_sysex;
962          event.Param.Sysex.Size  = Size;          event.Param.Sysex.Size  = Size;
963          event.pEngineChannel    = NULL; // as Engine global event          event.pEngineChannel    = NULL; // as Engine global event
964            event.pMidiInputPort    = pSender;
965          if (pEventQueue->write_space() > 0) {          if (pEventQueue->write_space() > 0) {
966              if (pSysexBuffer->write_space() >= Size) {              if (pSysexBuffer->write_space() >= Size) {
967                  // copy sysex data to input buffer                  // copy sysex data to input buffer
# Line 1953  namespace LinuxSampler { namespace gig { Line 1956  namespace LinuxSampler { namespace gig {
1956                              if (!reader.pop(&map)) goto free_sysex_data;                              if (!reader.pop(&map)) goto free_sysex_data;
1957                              for (int i = 0; i < engineChannels.size(); ++i) {                              for (int i = 0; i < engineChannels.size(); ++i) {
1958                                  EngineChannel* pEngineChannel = engineChannels[i];                                  EngineChannel* pEngineChannel = engineChannels[i];
1959                                  if (pEngineChannel->midiChannel == part ||                                  if (
1960                                      pEngineChannel->midiChannel == midi_chan_all                                      (pEngineChannel->midiChannel == part ||
1961                                         pEngineChannel->midiChannel == midi_chan_all) &&
1962                                        pEngineChannel->GetMidiInputPort() == itSysexEvent->pMidiInputPort
1963                                  ) {                                  ) {
1964                                      try {                                      try {
1965                                          pEngineChannel->SetMidiInstrumentMap(map);                                          pEngineChannel->SetMidiInstrumentMap(map);
# Line 2112  namespace LinuxSampler { namespace gig { Line 2117  namespace LinuxSampler { namespace gig {
2117      }      }
2118    
2119      String Engine::Version() {      String Engine::Version() {
2120          String s = "$Revision: 1.94 $";          String s = "$Revision: 1.95 $";
2121          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
2122      }      }
2123    

Legend:
Removed from v.1750  
changed lines
  Added in v.1751

  ViewVC Help
Powered by ViewVC