home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD72326282000.psc / DXmidi.bas next >
Encoding:
BASIC Source File  |  2000-06-28  |  1.4 KB  |  57 lines

  1. Attribute VB_Name = "DXmidi"
  2. 'DX midi -by Simon Price
  3.  
  4. 'This module I have made to save myself time
  5. 'when making games. Now, to play music (midi only)
  6. 'in my games I just have to shove in this
  7. 'module and call the play and stop subs
  8. 'when I want. you can use it in your games too,
  9. 'but if you do, leave the module how it is and
  10. 'give me due credit
  11.  
  12. Dim DX As New DirectX7
  13. Dim Perf As DirectMusicPerformance
  14. Dim Perf2 As DirectMusicPerformance
  15. Dim Seg As DirectMusicSegment
  16. Dim SegState As DirectMusicSegmentState
  17. Dim Loader As DirectMusicLoader
  18. Public GetStartTime As Long
  19. Public Offset As Long
  20. Public mtTime As Long
  21. Public mtLength As Double
  22. Public dTempo As Double
  23. Dim TimeSig As DMUS_TIMESIGNATURE
  24. Dim IsPlayingCheck As Boolean
  25. Dim Time As Double
  26. Dim fIsPaused As Boolean
  27.  
  28. Sub CrankItUp()
  29.  
  30. Set Loader = DX.DirectMusicLoaderCreate()
  31.  
  32. Set Perf2 = DX.DirectMusicPerformanceCreate()
  33. Perf2.Init Nothing, 0
  34. Perf2.SetPort -1, 80
  35. Perf2.GetMasterAutoDownload
  36.  
  37. Set Perf = DX.DirectMusicPerformanceCreate()
  38. Perf.Init Nothing, 0
  39. Perf.SetPort -1, 80
  40. Perf.SetMasterAutoDownload True
  41.  
  42. End Sub
  43.  
  44. Sub PlayDaTune(Filename As String)
  45. Set Seg = Loader.LoadSegment(Filename)
  46. Seg.SetStartPoint 0
  47. Set SegState = Perf.PlaySegment(Seg, 0, 0)
  48. End Sub
  49.  
  50. Sub ShutYerNoise()
  51.   Perf.Stop Seg, SegState, 0, 0
  52. End Sub
  53.  
  54. Sub SetVolume(Volume As Integer)
  55.   Perf.SetMasterVolume Volume
  56. End Sub
  57.