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

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

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

revision 1715 by schoenebeck, Tue Mar 11 15:20:46 2008 UTC revision 1765 by persson, Sat Sep 6 16:44:42 2008 UTC
# Line 210  namespace LinuxSampler { Line 210  namespace LinuxSampler {
210      }      }
211    
212      String MidiInputDeviceJack::Version() {      String MidiInputDeviceJack::Version() {
213          String s = "$Revision: 1.2 $";          String s = "$Revision: 1.3 $";
214          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
215      }      }
216    
# Line 233  namespace LinuxSampler { Line 233  namespace LinuxSampler {
233  #else  #else
234                  jack_midi_event_get(&ev, port_buffer, i);                  jack_midi_event_get(&ev, port_buffer, i);
235  #endif  #endif
236                  uint8_t* data = ev.buffer;                  port->DispatchRaw(ev.buffer, ev.time);
                 uint8_t channel = data[0] & 0x0f;  
                 switch (data[0] & 0xf0) {  
                     case 0xb0:  
                         if (data[1] == 0) {  
                             port->DispatchBankSelectMsb(data[2], channel);  
                         } else if (data[1] == 32) {  
                             port->DispatchBankSelectLsb(data[2], channel);  
                         }  
                         port->DispatchControlChange(data[1], data[2], channel, ev.time);  
                         break;  
   
                     case 0xd0:  
                         port->DispatchControlChange(128, data[1], channel, ev.time);  
                         break;  
   
                     case 0xe0:  
                         port->DispatchPitchbend(data[1], channel, ev.time);  
                         break;  
   
                     case 0x90:  
                         if (data[2]) {  
                             port->DispatchNoteOn(data[1], data[2], channel, ev.time);  
                         } else {  
                             port->DispatchNoteOff(data[1], data[2], channel, ev.time);  
                         }  
                         break;  
   
                     case 0x80:  
                         port->DispatchNoteOff(data[1], data[2], channel, ev.time);  
                         break;  
   
                     case 0xc0:  
                         port->DispatchProgramChange(data[1], channel);  
                         break;  
                 }  
237              }              }
238          }          }
239      }      }

Legend:
Removed from v.1715  
changed lines
  Added in v.1765

  ViewVC Help
Powered by ViewVC