home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / CONTRSRC.ZIP / SRC / TYPEONE / PLAYINFO.INC < prev    next >
Text File  |  1994-10-18  |  4KB  |  143 lines

  1.  
  2. ;/***************************************************************************\
  3. ;*     struct mpChanInfo
  4. ;*     -----------------
  5. ;* Description:  Module Player channel info structure
  6. ;\***************************************************************************/
  7.  
  8. mpChanInfo STRUCT
  9.     flags        DB    ?    ; bits 0-4 - UNDEFINED
  10.                     ; bit 5 - new note and/or instrument
  11.                     ; bit 6 - new volume (S3M)
  12.                     ; bit 7 - command
  13.     note        DB    ?    ; note number
  14.     instrument    DB    ?    ; instrument number
  15.     volume        DB    ?    ; playing volume
  16.     command     DB    ?    ; command number
  17.     infobyte    DB    ?    ; command infobyte
  18.     volumebar    DB    ?    ; "fake" volume bar
  19.     commandname    DD    ?    ; pointer to command name string,
  20.                     ; ASCIIZ
  21. mpChanInfo ENDS
  22.  
  23.  
  24.  
  25. ;/***************************************************************************\
  26. ;*     struct mpInformation
  27. ;*     --------------------
  28. ;* Description:  Module Player information structure
  29. ;\***************************************************************************/
  30.  
  31. mpInformation STRUCT
  32.     numChannels    DW    ?    ; number of channels. MUST be set by
  33.                     ; the routine calling
  34.                     ; MP->GetInformation()
  35.     setFrame    DW    ?    ; 1 if "set frame", 0 if not
  36.     speed        DW    ?    ; playing speed
  37.     BPM        DW    ?    ; playing BPM tempo
  38.     pos        DW    ?    ; current playing position
  39.     pattern     DW    ?    ; current pattern number
  40.     row        DW    ?    ; current row number
  41.     loopCnt     DW    ?    ; song loop counter
  42.     chans        DD    ?    ; pointer to channel data structures.
  43.                     ; MUST be allocated by the routine
  44.                     ; calling MP->GetInformation()
  45. mpInformation ENDS
  46.  
  47.  
  48.  
  49. ;/****************************************************************************
  50. ;*     struct mpInstrument
  51. ;*     -------------------
  52. ;* Description:  General instrument structure in memory
  53. ;\****************************************************************************
  54.  
  55. mpInstrument STRUCT
  56.     fileName    DB    13 dup (?)
  57.     iname        DB    32 dup (?)
  58.     sample        DD    ?
  59.     lengthh        DW    ?
  60.     loopStart    DW    ?
  61.     loopEnd     DW    ?
  62.     looping     DB    ?
  63.     volume        DB    ?
  64.     c2Rate        DD    ?
  65.     finetune    DB    ?
  66.     sdInstHandle    DW    ?
  67. mpInstrument ENDS
  68.  
  69.  
  70.  
  71. ;/****************************************************************************
  72. ;*     struct mpPattern
  73. ;*     ----------------
  74. ;* Description:  General pattern structure
  75. ;\****************************************************************************
  76.  
  77. mpPattern STRUCT
  78.     lengthh        DW    ?
  79. ;    LABEL        data    BYTE
  80. mpPattern ENDS
  81.  
  82.  
  83.  
  84. ;/****************************************************************************
  85. ;*     struct mpModule
  86. ;*     ---------------
  87. ;* Description:  General Module structure. See MPLAYER.TXT for documentation
  88. ;\****************************************************************************
  89.  
  90. mpModule STRUCT
  91.     ID        DD    ?
  92.     IDnum        DW    ?
  93.     songName    DB    32 dup (?)
  94.     songLength    DW    ?
  95.     numInsts    DW    ?
  96.     numPatts    DW    ?
  97.     numChans    DW    ?
  98.     flags        DW    ?
  99.     masterVol    DB    ?
  100.     speed        DB    ?
  101.     tempo        DB    ?
  102.     masterMult    DB    ?
  103.     stereo        DB    ?
  104.     chanSettings    DB    32 dup (?)
  105.     orders        DD    ?
  106.     insts        DD    ?
  107.     patterns    DD    ?
  108.     pattEMS     DD    ?
  109.     instsUsed    DD    ?
  110. mpModule ENDS
  111.  
  112.  
  113.  
  114. ;/****************************************************************************
  115. ;*     struct ModulePlayer
  116. ;*     -------------------
  117. ;* Description:  Module Player structure
  118. ;\****************************************************************************
  119.  
  120. ModulePlayer STRUCT
  121.     status        DW    ?    ; status (see enum above)
  122.     updRate     DW    ?    ; Play() calling rate, in 100*Hz
  123.  
  124.     Identify    DD    ?
  125.     Init        DD    ?
  126.     Close        DD    ?
  127.  
  128.     LoadModule    DD    ?
  129.     FreeModule    DD    ?
  130.  
  131.     PlayModule    DD    ?
  132.     StopModule    DD    ?
  133.  
  134.     SetInterrupt    DD    ?
  135.     RemoveInterrupt DD    ?
  136.  
  137.     Play        DD    ?
  138.  
  139.     SetPosition    DD    ?
  140.     GetInformation    DD    ?
  141.         SetMasterVolume DD      ?
  142. ModulePlayer ENDS
  143.