home *** CD-ROM | disk | FTP | other *** search
- ; midi/midi.i
-
- ifnd MIDI_MIDI_I
- MIDI_MIDI_I set 1
-
- ifnd EXEC_LISTS_I
- include "exec/lists.i"
- endc
-
-
- ; Definitions pertaining to MIDI are derived from MIDI 1.0 Detailed
- ; Specification (published by the Internation MIDI Association) and is
- ; current as of 12-Feb-87.
-
- ; v1.5 - 22-Apr-88
-
-
- MIDINAME macro
- dc.b 'midi.library',0
- endm
-
- MIDIVERSION equ 3
-
- STRUCTURE MSource,LN_SIZE
- APTR ms_Image
- STRUCT ms_RPList,MLH_SIZE
- APTR ms_UserData
- LABEL sizeof_MSource
-
- ; Node Types for MSource nodes
- NT_MSOURCE equ $20
- NT_PERMMSOURCE equ $21
-
- STRUCTURE MDest,LN_SIZE
- APTR md_Image
- STRUCT md_RPList,MLH_SIZE
- APTR md_DestPort
- APTR md_UserData
- LABEL sizeof_MDest
-
- ; Node Types for MDest nodes
- NT_MDEST equ $22
- NT_PERMMDEST equ $23
-
-
- ; Route Stuff
-
- RIM_MAXCOUNT equ 3
-
- STRUCTURE RIMatch,0
- UBYTE rim_flags ; flag bits defined below
- STRUCT rim_match,RIM_MAXCOUNT
- LABEL sizeof_RIMatch
-
-
- RIMF_COUNTBITS equ $03 ; mask for # of match values (0 for match all)
-
- BITDEF RIM,EXTID,6 ; indicates all 3 bytes of rim_match = one 3 byte manuf. id
- BITDEF RIM,EXCLUDE,7 ; reverses logic of RIMatch so that all except those specified pass
-
-
- STRUCTURE MRouteInfo,0
- UWORD ri_MsgFlags
- UWORD ri_ChanFlags
- BYTE ri_ChanOffset
- BYTE ri_NoteOffset
- STRUCT ri_SysExMatch,sizeof_RIMatch
- STRUCT ri_CtrlMatch,sizeof_RIMatch
- LABEL sizeof_MRouteInfo
-
- ; Midi Msg Type Flags for RouteInfo and returned by MidiMsgType
-
- MMF_CHAN equ $00ff
-
- BITDEF MM,NOTEOFF,0
- BITDEF MM,NOTEON,1
- BITDEF MM,POLYPRESS,2
- BITDEF MM,CTRL,3
- BITDEF MM,PROG,4
- BITDEF MM,CHANPRESS,5
- BITDEF MM,PITCHBEND,6
- BITDEF MM,MODE,7
-
- BITDEF MM,SYSCOM,8
- BITDEF MM,SYSRT,9
- BITDEF MM,SYSEX,10
-
-
- STRUCTURE MRoutePtr,MLN_SIZE
- APTR rp_Route
- LABEL sizeof_MRoutePtr
-
- STRUCTURE MRoute,0
- APTR mr_Source
- APTR mr_Dest
- STRUCT mr_SRoutePtr,sizeof_MRoutePtr
- STRUCT mr_DRoutePtr,sizeof_MRoutePtr
- STRUCT mr_RouteInfo,sizeof_MRouteInfo
- LABEL sizeof_MRoute
-
-
- ; MIDI message definitions
-
- ; Status Bytes
-
- ; Channel Voice Messages (1sssnnnn)
- MS_NOTEOFF equ $80
- MS_NOTEON equ $90
- MS_POLYPRESS equ $A0
- MS_CTRL equ $B0
- MS_MODE equ $B0
- MS_PROG equ $C0
- MS_CHANPRESS equ $D0
- MS_PITCHBEND equ $E0
-
- ; System Common Messages
- MS_SYSEX equ $F0
- MS_QTRFRAME equ $F1
- MS_SONGPOS equ $F2
- MS_SONGSELECT equ $F3
- MS_TUNEREQ equ $F6
- MS_EOX equ $F7
-
- ; System Real Time Messages
- MS_CLOCK equ $F8
- MS_START equ $FA
- MS_CONTINUE equ $FB
- MS_STOP equ $FC
- MS_ACTVSENSE equ $FE
- MS_RESET equ $FF
-
-
- ; Note Numbers
-
- MIDDLEC equ 60
-
-
- ; Standard Controllers
-
- ; continuous 14 bit - MSB: 0-1f, LSB: 20-3f
- MC_MODWHEEL equ $01
- MC_BREATH equ $02
- MC_FOOT equ $04
- MC_PORTATIME equ $05
- MC_DATAENTRY equ $06
- MC_VOLUME equ $07
- MC_BALANCE equ $08
- MC_PAN equ $0a
- MC_EXPRESSION equ $0b
- MC_GENERAL1 equ $10
- MC_GENERAL2 equ $11
- MC_GENERAL3 equ $12
- MC_GENERAL4 equ $13
-
- ; continuous 7 bit (switches: 0-3f=off, 40-7f=on)
- MC_SUSTAIN equ $40
- MC_PORTA equ $41
- MC_SUSTENUTO equ $42
- MC_SOFTPEDAL equ $43
- MC_HOLD2 equ $45
- MC_GENERAL5 equ $50
- MC_GENERAL6 equ $51
- MC_GENERAL7 equ $52
- MC_GENERAL8 equ $53
- MC_TREMOLODEPTH equ $5c
- MC_CHORUSDEPTH equ $5d
- MC_CELESTEDEPTH equ $5e
- MC_PHASERDEPTH equ $5f
-
- ; parameters
- MC_DATAINCR equ $60
- MC_DATADECR equ $61
- MC_NRPNL equ $62
- MC_NRPNH equ $63
- MC_RPNL equ $64
- MC_RPNH equ $65
-
-
- ; Channel Modes
- ; updated from IMA Bulletin V4 06 (July 87)
-
- MM_RESETCTRL equ $79
- MM_LOCAL equ $7a
- MM_ALLOFF equ $7b
- MM_OMNIOFF equ $7c
- MM_OMNION equ $7d
- MM_MONO equ $7e
- MM_POLY equ $7f
-
-
- ; Registered Parameter Numbers
-
- ; These are 16 bit values that need to be separated into two bytes for use
- ; with the MC_RPNH & MC_RPNL messages using 8 bit math (as opposed to 7
- ; bit math). This is done so that the defines match the numbers from the
- ; MMA. See MIDI 1.0 Detailed Spec p50 for more info.
-
- ; updated from IMA Bulletin V4 06 (July 87)
-
- MRP_PBSENS equ $0000
- MRP_FINETUNE equ $0001
- MRP_COURSETUNE equ $0002
-
-
- ; Sys/Ex ID numbers
-
- ; Now includes 3 byte extension for North America. This new format uses a
- ; $00 as the sys/ex id followed by two additional bytes that actually
- ; identify the manufacturer. These new extended id constants are 16 bit
- ; values (as opposed to 14 bit) that you will have to break apart yourself
- ; (like with the RPN's above). Again, these are defined this way so that
- ; they match the MMA's listings.
-
- ; The extended id's cannot be used in sys/ex number filtering (since it's
- ; only designed to handle single byte id's). You can however use the
- ; MID_EXTENSION to filter only those manufactures that have one of the new
- ; id's.
-
- ; updated from IMA Bulletin V4 10 (Nov 87)
-
-
- ; North America
- MID_EXTENSION equ $00
- MID_SEQUENTIAL equ $01
- MID_IDP equ $02
- MID_OCTAVEPLATEAU equ $03
- MID_MOOG equ $04
- MID_PASSPORT equ $05
- MID_LEXICON equ $06
- MID_KURZWEIL equ $07
- MID_FENDER equ $08
- MID_AKG equ $0a
- MID_VOYCE equ $0b
- MID_WAVEFRAME equ $0c
- MID_ADA equ $0d
- MID_GARFIELD equ $0e
- MID_ENSONIQ equ $0f
- MID_OBERHEIM equ $10
- MID_APPLE equ $11
- MID_GREYMATTER equ $12
- MID_PALMTREE equ $14
- MID_JLCOOPER equ $15
- MID_LOWREY equ $16
- MID_ADAMSSMITH equ $17
- MID_EMU equ $18
- MID_HARMONY equ $19
- MID_ART equ $1a
- MID_BALDWIN equ $1b
- MID_EVENTIDE equ $1c
- MID_INVENTRONICS equ $1d
- MID_CLARITY equ $1f
-
- ; Europe
- MID_SIEL equ $21
- MID_SYNTHAXE equ $22
- MID_STEPP equ $23
- MID_HOHNER equ $24
- MID_TWISTER equ $25
- MID_SOLTON equ $26
- MID_JELLINGHAUS equ $27
- MID_SOUTHWORTH equ $28
- MID_PPG equ $29
- MID_JEN equ $2a
- MID_SSL equ $2b
- MID_AUDIOVERITRIEB equ $2c
- MID_ELKA equ $2f
- MID_DYNACORD equ $30
-
- ; Japan
- MID_KAWAI equ $40
- MID_ROLAND equ $41
- MID_KORG equ $42
- MID_YAMAHA equ $43
- MID_CASIO equ $44
- MID_KAMIYA equ $46
- MID_AKAI equ $47
- MID_JAPANVICTOR equ $48
- MID_MESOSHA equ $49
-
- ; special Sys/Ex ID numbers: Non-Commercial, Non-Real Time, Real Time
- MID_NC equ $7d
- MID_NRT equ $7e
- MID_RT equ $7f
-
- endc
-