home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / shareware / gms / gmsdev / includes / sound / sound.i < prev   
Text File  |  1998-06-08  |  5KB  |  194 lines

  1.     IFND SOUND_SOUND_I
  2. SOUND_SOUND_I  SET  1
  3.  
  4. **
  5. **    $VER: sound.i V1.0
  6. **
  7. **    Sound Definitions.
  8. **
  9. **    (C) Copyright 1996-1998 DreamWorld Productions.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND    DPKERNEL_I
  14.     include 'dpkernel/dpkernel.i'
  15.     ENDC
  16.  
  17. *****************************************************************************
  18. * Module definitions.
  19.  
  20. Snd_ModVersion  = 1
  21. Snd_ModRevision = 0
  22.  
  23. *****************************************************************************
  24. * Sound object.
  25.  
  26. VER_SOUND  =    1
  27. TAGS_SOUND =    (ID_SPCTAGS<<16)|ID_SOUND
  28.  
  29.    STRUCTURE    SND,HEAD_SIZEOF
  30.     WORD    SND_emp          ;
  31.     WORD    SND_Priority     ;Priority.
  32.     APTR    SND_Data         ;Address of sample data.
  33.     LONG    SND_Length       ;Length of sample data in bytes.
  34.     WORD    SND_Octave       ;Octave/Note setting.
  35.     WORD    SND_Volume       ;Volume of sample (1 - 100).
  36.     LONG    SND_Attrib       ;Sound attributes.
  37.     APTR    SND_Source       ;Where the sound comes from.
  38.     LONG    SND_Frequency    ;Frequency of sampled sound.
  39.     APTR    SND_Pair         ;Pair a sound for modulation.
  40.  
  41.         *** Private fields start now ***
  42.  
  43.     APTR    SNDP_Header      ;Sample info header, if any.
  44.     BYTE    SNDP_AFlags      ;Private.
  45.     BYTE    SNDP_Pad         ;Private.
  46.     WORD    SNDP_LastChannel ;Last channel to play through.
  47.  
  48. * Sound Tags.
  49.  
  50. SA_Priority  = (TWORD|SND_Priority)
  51. SA_Data      = (TLONG|SND_Data)
  52. SA_Length    = (TLONG|SND_Length)
  53. SA_Octave    = (TWORD|SND_Octave)
  54. SA_Volume    = (TWORD|SND_Volume)
  55. SA_Attrib    = (TLONG|SND_Attrib)
  56. SA_Source    = (TLONG|SND_Source)
  57. SA_Frequency = (TLONG|SND_Frequency)
  58. SA_Pair      = (TAPTR|SND_Pair)
  59.  
  60. *** Flags for SND_Attrib.
  61.  
  62. SDB_SBIT16   = 0
  63. SDB_MODVOL   = 1
  64. SDB_MODPER   = 2
  65. SDB_REPEAT   = 3
  66. SDB_EMPTY    = 4
  67. SDB_LEFT     = 5
  68. SDB_RIGHT    = 6
  69. SDB_FORCE    = 7
  70. SDB_STOPLAST = 8
  71.  
  72. ;SDF_BIT8     = 0               ;Sound data is 8 bit.
  73. ;SDF_BIT16    = 1<<SDB_SBIT16   ;Sound data is 16 bit.
  74. SDF_MODVOL   = 1<<SDB_MODVOL    ;Modulate volume with next channel.
  75. SDF_MODPER   = 1<<SDB_MODPER    ;Modulate period with next channel.
  76. SDF_REPEAT   = 1<<SDB_REPEAT    ;Repeat sample forever.
  77. SDF_EMPTY    = 1<<SDB_EMPTY     ;Only play if a channel is empty.
  78. SDF_LEFT     = 1<<SDB_LEFT      ;Preferably play through left speaker.
  79. SDF_RIGHT    = 1<<SDB_RIGHT     ;Preferably play through right speaker.
  80. SDF_FORCE    = 1<<SDB_FORCE     ;Only play through selected speaker.
  81. SDF_STOPLAST = 1<<SDB_STOPLAST  ;Only play through specified channel.
  82.  
  83. *****************************************************************************
  84. * Octave definitions for SND_Octave.  An 'S' at the end of an octave
  85. * definition indicates a sharp note.  The comments on the right tell
  86. * you the period resulting from the octant used.  This is good if
  87. * you are converting an old program that programmed the periods
  88. * directly.
  89.  
  90. OCT_G0S    =  0    ;068
  91. OCT_G0    =  2    ;072
  92. OCT_F0S    =  4    ;076
  93. OCT_F0    =  6    ;080
  94. OCT_E0    =  8    ;085
  95. OCT_D0S    =  10    ;090
  96. OCT_D0    =  12    ;095
  97. OCT_C0S    =  14    ;101
  98. OCT_C0  =  16    ;107
  99. OCT_B0    =  18    ;113
  100. OCT_A0S    =  20    ;120
  101. OCT_A0    =  22    ;127
  102.  
  103. OCT_G1S    =  24    ;135
  104. OCT_G1    =  26    ;143
  105. OCT_F1S    =  28    ;151
  106. OCT_F1    =  30    ;160
  107. OCT_E1    =  32    ;170
  108. OCT_D1S    =  34    ;180
  109. OCT_D1    =  36    ;190
  110. OCT_C1S    =  38    ;202
  111. OCT_C1    =  40    ;214
  112. OCT_B1    =  42    ;226
  113. OCT_A1S    =  44    ;240
  114. OCT_A1    =  46    ;254
  115.  
  116. OCT_G2S    =  48    ;269
  117. OCT_G2    =  50    ;285
  118. OCT_F2S    =  52    ;302
  119. OCT_F2    =  54    ;320
  120. OCT_E2    =  56    ;339
  121. OCT_D2S    =  58    ;360
  122. OCT_D2    =  60    ;381
  123. OCT_C2S    =  62    ;404
  124. OCT_C2    =  64    ;428
  125. OCT_B2    =  66    ;453
  126. OCT_A2S    =  68    ;480
  127. OCT_A2    =  70    ;508
  128.  
  129. OCT_G3S    =  72    ;538
  130. OCT_G3    =  74    ;570
  131. OCT_F3S    =  76    ;604
  132. OCT_F3    =  78    ;640
  133. OCT_E3    =  80    ;678
  134. OCT_D3S    =  82    ;720
  135. OCT_D3    =  84    ;762
  136. OCT_C3S    =  86    ;808
  137. OCT_C3    =  88    ;856
  138. OCT_B3    =  90    ;906
  139. OCT_A3S    =  92    ;960
  140. OCT_A3    =  94    ;1016
  141.  
  142. OCT_G4S =  96    ;1076
  143. OCT_G4  =  98    ;1140
  144. OCT_F4S =  100    ;1208
  145. OCT_F4  =  102    ;1280
  146. OCT_E4  =  104    ;1356
  147. OCT_D4S =  106    ;1440
  148. OCT_D4  =  108    ;1524
  149. OCT_C4S =  110    ;1616
  150. OCT_C4  =  112    ;1712
  151. OCT_B4  =  114    ;1812
  152. OCT_A4S =  116    ;1920
  153. OCT_A4  =  118    ;2032
  154.  
  155. OCT_G5S =  120    ;2152
  156. OCT_G5  =  122    ;2280
  157. OCT_F5S =  124    ;2416
  158. OCT_F5  =  126    ;2560
  159. OCT_E5  =  128    ;2712
  160. OCT_D5S =  130    ;2880
  161. OCT_D5  =  132    ;3048
  162. OCT_C5S =  134    ;3232
  163. OCT_C5  =  136    ;3424
  164. OCT_B5  =  138    ;3624
  165. OCT_A5S =  140    ;3840
  166. OCT_A5  =  142    ;4064
  167.  
  168. OCT_G6S =  144    ;4304
  169. OCT_G6  =  146    ;4560
  170. OCT_F6S =  148    ;4832
  171. OCT_F6  =  150    ;5120
  172. OCT_E6  =  152    ;5424
  173. OCT_D6S =  154    ;5760
  174. OCT_D6  =  156    ;6096
  175. OCT_C6S =  158    ;6464
  176. OCT_C6  =  160    ;6848
  177. OCT_B6  =  162    ;7248
  178. OCT_A6S =  164    ;7680
  179. OCT_A6  =  166    ;8128
  180.  
  181. OCT_G7S =  168    ;8608
  182. OCT_G7  =  170    ;9120
  183. OCT_F7S =  172    ;9664
  184. OCT_F7  =  174    ;10240
  185. OCT_E7  =  176    ;10848
  186. OCT_D7S =  178    ;11520
  187. OCT_D7  =  180    ;12192
  188. OCT_C7S =  182    ;12928
  189. OCT_C7  =  184    ;13696
  190. OCT_B7  =  186    ;14496
  191. OCT_A7S =  188    ;15360
  192.  
  193.     ENDC    ;SOUND_SOUND_I
  194.