home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / audio-video / reaper / reaper2028-install.exe / Effects / schwa / midi_examine < prev    next >
Text File  |  2007-12-03  |  1KB  |  47 lines

  1. desc:Examine midi messages (http://www.midi.org/about-midi/table1.shtml)
  2.  
  3. slider1:0<0,255,1>sample offset within @block
  4. slider2:0<0,255,1>status byte
  5. slider3:0<0,127,1>data byte 1 (often note number)
  6. slider4:0<0,127,1>data byte 2 (often velocity)
  7. slider5:0<0,16,1>status high bits
  8. slider6:0<0,16,1>status low bits (often channel)
  9. slider7:0<0,8,1{-,note off,note on,poly aftertouch,control change,program change,channel aftertouch,pitch wheel,system special}>status high bits interpretation
  10.  
  11. // Data byte high bit is used for system exclusive messages, 
  12. // we're ignoring it here.
  13.  
  14. @block
  15.  
  16.   while (
  17.     midirecv(mpos, msg1, msg23) ? (
  18.   
  19.       status = msg1;
  20.  
  21.       statusHi = (msg1 / 16) | 0;
  22.       statusLo = msg1 - (statusHi * 16);     
  23.  
  24.       data2 = (msg23 / 256) | 0;
  25.       data1 = msg23 - (data2 * 256);
  26.  
  27.       /*
  28.       You could reassemble the message like this.
  29.       msg1 = (statusHi * 16 + statusLo) | 0;
  30.       msg23 = (data2 * 256 + data1) | 0;
  31.       */
  32.  
  33.       slider1 = mpos;
  34.       slider2 = status;
  35.       slider3 = data1;
  36.       slider4 = data2;
  37.       slider5 = statusHi;
  38.       slider6 = statusLo;
  39.       slider7 = statusHi - 7;
  40.  
  41.       sliderchange(255);  // We changed all the sliders.
  42.     );
  43.   );
  44.        
  45.  
  46.  
  47.