home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 1 / GoldFishApril1994_CD1.img / d1xx / d101 / midi / dev / midi.i < prev    next >
Text File  |  1987-09-05  |  3KB  |  170 lines

  1. ; midi/midi.i
  2.  
  3.     ifnd    MIDI_MIDI_I
  4. MIDI_MIDI_I set 1
  5.  
  6.     ifnd    EXEC_LISTS_I
  7.     include "exec/lists.i"
  8.     endc
  9.  
  10. MIDINAME macro
  11.      dc.b     'midi.library',0
  12.      endm
  13.  
  14. MIDIVERSION equ 1
  15.  
  16.     STRUCTURE    MSource,LN_SIZE
  17.     APTR    ms_Image
  18.     STRUCT    ms_RPList,MLH_SIZE
  19.     APTR    ms_UserData
  20.     LABEL    sizeof_MSource
  21.  
  22. ; Node Types for MSource nodes
  23. NT_MSOURCE    equ  $20
  24. NT_PERMMSOURCE    equ  $21
  25.  
  26.     STRUCTURE    MDest,LN_SIZE
  27.     APTR    md_Image
  28.     STRUCT    md_RPList,MLH_SIZE
  29.     APTR    md_DestPort
  30.     APTR    md_UserData
  31.     LABEL    sizeof_MDest
  32.  
  33. ; Node Types for MDest nodes
  34. NT_MDEST    equ  $22
  35. NT_PERMMDEST    equ  $23
  36.  
  37.     STRUCTURE    RIMatch,0
  38.     UBYTE    rim_count
  39.     STRUCT    rim_match,3
  40.     LABEL    sizeof_RIMatch
  41.  
  42.     STRUCTURE    MRouteInfo,0
  43.     UWORD    ri_MsgFlags
  44.     UWORD    ri_ChanFlags
  45.     BYTE    ri_ChanOffset
  46.     BYTE    ri_NoteOffset
  47.     STRUCT    ri_SysExMatch,sizeof_RIMatch
  48.     STRUCT    ri_CtrlMatch,sizeof_RIMatch
  49.     LABEL    sizeof_MRouteInfo
  50.  
  51. ; Midi Msg Type Flags for RouteInfo and returned by MidiMsgType
  52.  
  53. MMF_CHAN       equ  $00ff
  54. MMF_NOTEOFF    equ  $0001
  55. MMF_NOTEON     equ  $0002
  56. MMF_POLYPRESS  equ  $0004
  57. MMF_CTRL       equ  $0008
  58. MMF_PROG       equ  $0010
  59. MMF_CHANPRESS  equ  $0020
  60. MMF_PITCHBEND  equ  $0040
  61. MMF_MODE       equ  $0080
  62.  
  63. MMF_SYSCOM     equ  $0100
  64. MMF_SYSRT      equ  $0200
  65. MMF_SYSEX      equ  $0400
  66.  
  67.     STRUCTURE    MRoutePtr,MLN_SIZE
  68.     APTR    rp_Route
  69.     LABEL    sizeof_MRoutePtr
  70.  
  71.     STRUCTURE    MRoute,0
  72.     APTR    mr_Source
  73.     APTR    mr_Dest
  74.     STRUCT    mr_SRoutePtr,sizeof_MRoutePtr
  75.     STRUCT    mr_DRoutePtr,sizeof_MRoutePtr
  76.     STRUCT    mr_RouteInfo,sizeof_MRouteInfo
  77.     LABEL    sizeof_MRoute
  78.  
  79.  
  80. ; MIDI message defines - based on IMA MIDI Spec 1.0 except where noted
  81.  
  82. ; Status Bytes
  83.  
  84.    ; Channel Voice Messages (1sssnnnn)
  85. MS_NOTEOFF    equ $80
  86. MS_NOTEON     equ $90
  87. MS_POLYPRESS  equ $A0
  88. MS_CTRL       equ $B0
  89. MS_MODE       equ $B0
  90. MS_PROG       equ $C0
  91. MS_CHANPRESS  equ $D0
  92. MS_PITCHBEND  equ $E0
  93.  
  94.    ; System Common Messages
  95. MS_SYSEX      equ $F0
  96. MS_SONGPOS    equ $F2
  97. MS_SONGSELECT equ $F3
  98. MS_TUNEREQ    equ $F6
  99. MS_EOX          equ $F7
  100.  
  101.    ; System Real Time Messages
  102. MS_CLOCK      equ $F8
  103. MS_START      equ $FA
  104. MS_CONTINUE   equ $FB
  105. MS_STOP       equ $FC
  106. MS_ACTVSENSE  equ $FE
  107. MS_RESET      equ $FF
  108.  
  109.  
  110. ; Standard Controllers (from MMA - 8-86)
  111.  
  112.    ; proportional MSB - 0-31, LSB - 32-63
  113. MC_MODWHEEL  equ 1
  114. MC_BREATH    equ 2
  115. MC_FOOT      equ 4
  116. MC_PORTATIME equ 5
  117. MC_DATAENTRY equ 6
  118. MC_VOLUME    equ 7
  119. MC_BALANCE   equ 8
  120. MC_PAN         equ 10
  121.  
  122.    ; switches/pedals - either on(7F) or off(00)
  123. MC_SUSTAIN   equ 64
  124. MC_PORTA     equ 65
  125. MC_SUSTENUTO equ 66
  126. MC_SOFTPEDAL equ 67
  127. MC_HOLD2     equ 69
  128. MC_DATAINCR  equ 96
  129. MC_DATADECR  equ 97
  130.  
  131. ; Channel Modes
  132.  
  133. MM_LOCAL   equ 122
  134. MM_ALLOFF  equ 123
  135. MM_OMNIOFF equ 124
  136. MM_OMNION  equ 125
  137. MM_MONO    equ 126
  138. MM_POLY    equ 127
  139.  
  140.  
  141. ; Sys/Ex ID numbers (from MMA as described in IMA bulletin)
  142.  
  143. MID_SCI      equ $01
  144. MID_BIGBRIAR equ $02
  145. MID_OCTAVEPLATEAU equ $03
  146. MID_MOOG     equ $04
  147. MID_PASSPORT equ $05
  148. MID_LEXICON  equ $06
  149.  
  150. MID_OBERHEIM equ $10
  151. MID_PAIA     equ $11
  152. MID_SIMMONS  equ $12
  153. MID_FAIRLIGHT equ $14
  154.  
  155. MID_BONTEMPI equ $20
  156. MID_SIEL     equ $21
  157. MID_SYNTHAXE equ $23
  158.  
  159. MID_KAWAI    equ $40
  160. MID_ROLAND   equ $41
  161. MID_KORG     equ $42
  162. MID_YAMAHA   equ $43
  163.  
  164. ; special Sys/Ex ID numbers: Non-Commercial, Non-Real Time, Real Time
  165. MID_NC    equ $7d
  166. MID_NRT equ $7e
  167. MID_RT    equ $7f
  168.  
  169.     endc
  170.