home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Extras / MIDI / camd-37.1 / development / include / midi / mididefs.i < prev    next >
Encoding:
Text File  |  1999-10-27  |  7.8 KB  |  305 lines

  1.     ifnd MIDI_MIDIDEFS_I
  2. MIDI_MIDIDEFS_I set 1
  3.  
  4. *************************************************************************
  5. *     C. A. M. D.    (Commodore Amiga MIDI Driver)                   *
  6. *************************************************************************
  7. *                                    *
  8. * Design & Development    - Roger B. Dannenberg                *
  9. *            - Jean-Christophe Dhellemmes            *
  10. *            - Bill Barton                    *
  11. *                       - Darius Taghavy                                *
  12. *                                                                       *
  13. * Copyright 1990-1999 by Amiga, Inc.                                    *
  14. *                                                                       *
  15. *************************************************************************
  16. *
  17. * mididefs.i  - MIDI message definitions
  18. *
  19. * This information is derived from MIDI 1.0 Detailed Specification
  20. * v4.0 published by the Internation MIDI Association and is
  21. * current as of June, 1988.  The Sys/Ex ID numbers are hot off the
  22. * IMA's FAX machine as of Jan 8, 1990.
  23. *
  24. *************************************************************************
  25.  
  26. ****************************************************************
  27. *
  28. *   Status Bytes
  29. *
  30. ****************************************************************
  31.  
  32.     ; Channel Voice Messages (1sssnnnn) (OR with channel number)
  33. MS_NoteOff    equ $80
  34. MS_NoteOn    equ $90
  35. MS_PolyPress    equ $A0
  36. MS_Ctrl     equ $B0
  37. MS_Mode     equ $B0
  38. MS_Prog     equ $C0
  39. MS_ChanPress    equ $D0
  40. MS_PitchBend    equ $E0
  41.  
  42. MS_StatBits    equ $F0
  43. MS_ChanBits    equ $0F
  44.  
  45.     ; System Common Messages (11110sss)
  46. MS_System    equ $F0         ; min system status byte
  47. MS_SysEx    equ $F0
  48. MS_QtrFrame    equ $F1
  49. MS_SongPos    equ $F2
  50. MS_SongSelect    equ $F3
  51. MS_TuneReq    equ $F6
  52. MS_EOX        equ $F7
  53.  
  54.     ; System Real Time Messages (11111sss)
  55. MS_RealTime    equ $F8         ; min real time status byte
  56. MS_Clock    equ $F8
  57. MS_Start    equ $FA
  58. MS_Continue    equ $FB
  59. MS_Stop     equ $FC
  60. MS_ActvSense    equ $FE
  61. MS_Reset    equ $FF
  62.  
  63.  
  64. ****************************************************************
  65. *
  66. *   Standard Controllers
  67. *
  68. ****************************************************************
  69.  
  70.     ; Continuous 14 bit - MSB: 0-1f, LSB: 20-3f
  71. MC_Bank     equ $00
  72. MC_ModWheel    equ $01
  73. MC_Breath    equ $02
  74. MC_Foot     equ $04
  75. MC_PortaTime    equ $05
  76. MC_DataEntry    equ $06
  77. MC_Volume    equ $07
  78. MC_Balance    equ $08
  79. MC_Pan        equ $0a
  80. MC_Expression    equ $0b
  81. MC_General1    equ $10
  82. MC_General2    equ $11
  83. MC_General3    equ $12
  84. MC_General4    equ $13
  85.  
  86.     ; Continuous 7 bit (switches: 0-3f=off, 40-7f=on)
  87. MC_Sustain    equ $40
  88. MC_Porta    equ $41
  89. MC_Sustenuto    equ $42
  90. MC_SoftPedal    equ $43
  91. MC_Hold2    equ $45
  92. MC_General5    equ $50
  93. MC_General6    equ $51
  94. MC_General7    equ $52
  95. MC_General8    equ $53
  96. MC_ExtDepth    equ $5b
  97. MC_TremoloDepth equ $5c
  98. MC_ChorusDepth    equ $5d
  99. MC_CelesteDepth equ $5e
  100. MC_PhaserDepth    equ $5f
  101.  
  102.     ; Parameters
  103. MC_DataIncr    equ $60
  104. MC_DataDecr    equ $61
  105. MC_NRPNL    equ $62
  106. MC_NRPNH    equ $63
  107. MC_RPNL     equ $64
  108. MC_RPNH     equ $65
  109.  
  110. MC_Max        equ $78     ; max controller value
  111.  
  112.  
  113. ****************************************************************
  114. *
  115. *   Channel Modes
  116. *
  117. ****************************************************************
  118.  
  119. MM_Min        equ $79     ; min mode value
  120.  
  121. MM_ResetCtrl    equ $79
  122. MM_Local    equ $7a
  123. MM_AllOff    equ $7b
  124. MM_OmniOff    equ $7c
  125. MM_OmniOn    equ $7d
  126. MM_Mono     equ $7e
  127. MM_Poly     equ $7f
  128.  
  129.  
  130. ****************************************************************
  131. *
  132. *   Registered Parameter Numbers
  133. *
  134. *   These are 16 bit values that need to be separated into two
  135. *   bytes for use with the MC_RPNH & MC_RPNL messages using 8
  136. *   bit math (hi = MRP_ >> 8, lo = MRP_ & equ $ff) as opposed to 7
  137. *   bit math.  This is done so that the defines match the
  138. *   numbers from the MMA.  See MIDI 1.0 Detailed Spec v4.0 pp
  139. *   12, 23 for more info.
  140. *
  141. ****************************************************************
  142.  
  143. MRP_PBSens    equ $0000
  144. MRP_FineTune    equ $0001
  145. MRP_CourseTune    equ $0002
  146.  
  147.  
  148. ****************************************************************
  149. *
  150. *   MTC Quarter Frame messages
  151. *
  152. *   Qtr Frame message is F1 0nnndddd where
  153. *
  154. *    nnn is a message type defined below
  155. *    dddd is 4 bit data nibble for those message types
  156. *
  157. *   Each pair of nibbles is combined by the receiver into a
  158. *   single byte. There are masks and type values defined for
  159. *   some of these data bytes below.
  160. *
  161. ****************************************************************
  162.  
  163.     ; Message Types
  164. MTCQ_FrameL    equ $00
  165. MTCQ_FrameH    equ $10
  166. MTCQ_SecL    equ $20
  167. MTCQ_SecH    equ $30
  168. MTCQ_MinL    equ $40
  169. MTCQ_MinH    equ $50
  170. MTCQ_HourL    equ $60
  171. MTCQ_HourH    equ $70     ; also contains time code type
  172.  
  173.     ; Message Masks
  174. MTCQ_TypeMask    equ $70     ; mask for type bits in message
  175. MTCQ_DataMask    equ $0f     ; mask for data bits in message
  176.  
  177.     ; Hour Byte
  178. MTCH_TypeMask    equ $60     ; mask for time code type
  179. MTCH_HourMask    equ $1f     ; hours mask (range 0-23)
  180.  
  181.     ; Time code type values for hour byte
  182. MTCT_24FPS    equ $00
  183. MTCT_25FPS    equ $20
  184. MTCT_30FPS_Drop equ $40
  185. MTCT_30FPS_NonDrop  equ $60
  186.  
  187.  
  188. ****************************************************************
  189. *
  190. *   Sys/Ex ID numbers
  191. *
  192. *   Now includes 3 byte extension for the American Group.  This
  193. *   new format uses a equ $00 as the sys/ex id followed by two
  194. *   additional bytes that actually identify the manufacturer.
  195. *   These new extended id constants are 32 bit values with 24
  196. *   significant bits.
  197. *
  198. ****************************************************************
  199.  
  200.     ; North American Group (1 byte)
  201. MID_Sequential        equ $01
  202. MID_IDP         equ $02
  203. MID_OctavePlateau   equ $03
  204. MID_Moog        equ $04
  205. MID_Passport        equ $05
  206. MID_Lexicon        equ $06
  207. MID_Kurzweil        equ $07
  208. MID_Fender        equ $08
  209. MID_Gulbransen        equ $09
  210. MID_AKG         equ $0a
  211. MID_Voyce        equ $0b
  212. MID_Waveframe        equ $0c
  213. MID_ADA         equ $0d
  214. MID_Garfield        equ $0e
  215. MID_Ensoniq        equ $0f
  216. MID_Oberheim        equ $10
  217. MID_Apple        equ $11
  218. MID_GreyMatter        equ $12
  219. MID_PalmTree        equ $14
  220. MID_JLCooper        equ $15
  221. MID_Lowrey        equ $16
  222. MID_AdamsSmith        equ $17
  223. MID_Emu         equ $18
  224. MID_Harmony        equ $19
  225. MID_ART         equ $1a
  226. MID_Baldwin        equ $1b
  227. MID_Eventide        equ $1c
  228. MID_Inventronics    equ $1d
  229. MID_Clarity        equ $1f
  230.  
  231.     ; North American Group (3 byte)
  232. MID_XAmerica        equ $00    ; North American 3 byte prefix
  233.  
  234. MIDX_DigitalMusic   equ $000007
  235. MIDX_Iota        equ $000008
  236. MIDX_Artisyn        equ $00000a
  237. MIDX_IVL        equ $00000b
  238. MIDX_SouthernMusic  equ $00000c
  239. MIDX_LakeButler     equ $00000d
  240. MIDX_DOD        equ $000010
  241. MIDX_PerfectFret    equ $000014
  242. MIDX_KAT        equ $000015
  243. MIDX_Opcode        equ $000016
  244. MIDX_Rane        equ $000017
  245. MIDX_SpatialSound   equ $000018
  246. MIDX_KMX        equ $000019
  247. MIDX_Brenell        equ $00001a
  248. MIDX_Peavey        equ $00001b
  249. MIDX_360        equ $00001c
  250. MIDX_Axxes        equ $000020
  251. MIDX_CAE        equ $000026
  252. MIDX_Cannon        equ $00002b
  253. MIDX_BlueSkyLogic   equ $00002e
  254. MIDX_Voce        equ $000031
  255.  
  256.     ; European Group
  257. MID_SIEL        equ $21
  258. MID_Synthaxe        equ $22
  259. MID_Hohner        equ $24
  260. MID_Twister        equ $25
  261. MID_Solton        equ $26
  262. MID_Jellinghaus     equ $27
  263. MID_Southworth        equ $28
  264. MID_PPG         equ $29
  265. MID_JEN         equ $2a
  266. MID_SSL         equ $2b
  267. MID_AudioVeritrieb  equ $2c
  268. MID_Elka        equ $2f
  269. MID_Dynacord        equ $30
  270. MID_Clavia        equ $33
  271. MID_Soundcraft        equ $39
  272.  
  273.     ; Japanese Group
  274. MID_Kawai        equ $40
  275. MID_Roland        equ $41
  276. MID_Korg        equ $42
  277. MID_Yamaha        equ $43
  278. MID_Casio        equ $44
  279. MID_Kamiya        equ $46
  280. MID_Akai        equ $47
  281. MID_JapanVictor     equ $48
  282. MID_Mesosha        equ $49
  283.  
  284.     ; Universal ID Numbers
  285. MID_UNC     equ $7d
  286. MID_UNRT    equ $7e
  287. MID_URT     equ $7f
  288.  
  289.  
  290. ****************************************************************
  291. *
  292. *   Miscellaneous
  293. *
  294. ****************************************************************
  295.  
  296. MiddleC     equ 60        ; Middle C note value
  297. DefaultVelocity equ 64        ; Default Note On or Off velocity
  298. PitchBendCenter equ $2000   ; Pitch bend center position as a 14 bit word
  299. MClksPerQtr    equ 24        ; MIDI clocks per qtr-note
  300. MClksPerSP    equ 6        ; MIDI clocks per song position index
  301. MCCenter    equ 64        ; Center value for controllers like Pan and Balance
  302.  
  303.  
  304.     endc MIDI_MIDIDEFS_I
  305.