home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / MSJV5-6.ZIP / WORDDLL.ZIP / MUSIC.BAS < prev    next >
BASIC Source File  |  1990-11-01  |  1KB  |  38 lines

  1. REM MUSIC -- a WordBasic macro 
  2. Declare Sub SetVoiceQueueSize Lib "sound"(voice As Integer, n As Integer) 
  3. Declare Sub OpenSound Lib "sound"(foo As Integer) 
  4. Declare Sub CloseSound Lib "sound"(foo As Integer) 
  5. Declare Sub StartSound Lib "sound"(foo As Integer) 
  6. Declare Sub StopSound Lib "sound"(foo As Integer) 
  7. Declare Sub SetVoiceNote Lib "sound"(nVoice As Integer, nValue As Integer, 
  8. nlength As Integer, nCdots As Integer) 
  9. Declare Sub SetVoiceSound Lib "sound"(nVoice As Integer, nFreq As Integer, 
  10. nDuration As Integer) 
  11. Declare Sub SetVoiceAccent Lib "sound"(nVoice As Integer, nTempo As Integer, 
  12. nVolume As Integer, nMode As Integer, nPitch As Integer) 
  13. Sub MAIN 
  14. Notes$ = "G1a2bc3d4ef5g6A7BC8D9EF0" 
  15. Song$ = Selection$() 
  16. voice = 1 
  17. OpenSound(1) 
  18. StopSound(1) 
  19. SetVoiceQueueSize(voice, 10 +(Len(song$) * 6)) 
  20. Duration = 8 
  21. For i = 1 To Len(song$) 
  22.    If Mid$(Song$, i, 1) = "+" Then 
  23.         Duration = 4 
  24.    ElseIf(Mid$(song$, i, 1)) = "-" Then 
  25.          Duration = 8 
  26.    ElseIf(Mid$(song$, i, 1)) = "/" Then 
  27.          duration = 16 
  28.    ElseIf InStr(Notes$, Mid$(Song$, i, 1)) <> 0 Then 
  29.          SetVoiceNote(voice, InStr(Notes$, Mid$(Song$, i, 1)) + 19, Duration, 0) 
  30.    End If 
  31. Next i 
  32. StartSound(1) 
  33. REM song1 -- cdeccdecef+g-ef+g/gAgf-ec/gAgf-ec-cG+c-cG+c 
  34. REM song 2 - +cc-cd+e-edef+gg/CCCgggeee+c-gfed+c 
  35. REM song 3 - eefggfedccde+e/d+d-eefggfedccde+d/c+c-ddecd/ef-ecd/ef-
  36. edcd+G-eefggfedccde+d/c+c 
  37. End Sub 
  38.