home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / m / m003_1 / sdk_dos.ddi / BASIC / MIDI / MIDIOUT.BAS < prev   
Encoding:
BASIC Source File  |  1991-11-13  |  1.3 KB  |  62 lines

  1. ' $INCLUDE: 'SBC.BI'
  2. ' $INCLUDE: 'SBCSYS.BI'
  3. ' $INCLUDE: 'SBMIDI.BI'
  4.  
  5.  
  6.  
  7. REM $DYNAMIC
  8. CLEAR
  9.  
  10. CLS
  11.  
  12. PRINT "SBK Basic MIDI Out Interface Example"
  13.  
  14. DIM pnum  AS INTEGER, delay1 AS INTEGER, delay2 AS INTEGER, note AS INTEGER
  15. DIM dummy AS INTEGER
  16. DIM NOTENUM%(8)
  17.  
  18.  
  19. IF (SBGETENV% = 0) THEN
  20.  
  21.     ' Check for Sound Blaster Card DSP
  22.     IF ((SBCHKCRD% AND 4) = 4) THEN
  23.  
  24.         ' Setup the MIDI note number
  25.         FOR note = 1 TO 8
  26.             READ NOTENUM%(note)
  27.         NEXT
  28.  
  29.         ' Change 5 program number
  30.         FOR pnum = 0 TO 4
  31.  
  32.             ' Program change command
  33.             dummy = MIDIOSM%(&HC0, pnum, (0))
  34.  
  35.             ' Play a scale on channel 0
  36.             FOR note = 1 TO 8
  37.  
  38.                 ' Note On command
  39.                 dummy = MIDIOSM%(&H90, NOTENUM%(note), &H40)
  40.  
  41.                 ' Delay
  42.                 FOR delay1 = 1 TO 100
  43.                     FOR delay2 = 1 TO 4000
  44.                     NEXT
  45.                 NEXT
  46.  
  47.                 ' Note Off command
  48.                 dummy = MIDIOSM%(&H80, NOTENUM%(note), &H40)
  49.  
  50.             NEXT
  51.         NEXT
  52.  
  53.     ELSE
  54.         PRINT "Sound Blaster Card not found or wrong I/O setting"
  55.     ENDIF
  56. ELSE
  57.     PRINT "BLASTER environment variable not set or incomplete or invalid"
  58. ENDIF
  59.  
  60. DATA   60, 62, 64, 65, 67, 69, 71, 72
  61. END
  62.