5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
9 /* Some comments are needed in this file. */
11 # include <exec/types.h>
14 # include <exec/lists.h>
16 #ifndef UTILITY_TAGITEM_H
17 # include <utility/tagitem.h>
30 # define mm_Status b[3]
31 # define mm_Data1 b[2]
32 # define mm_Data2 b[1]
35 # define mm_Status b[0]
36 # define mm_Data1 b[1]
37 # define mm_Data2 b[2]
44 WORD mcl_Participants
;
45 struct List mcl_Receivers
;
46 struct List mcl_Senders
;
47 WORD mcl_PublicParticipants
;
53 /* Please use GetMidiLinkAttrsA instead of reading directly, and no
60 struct MinNode ml_OwnerNode
;
61 struct MidiNode
*ml_MidiNode
;
62 struct MidiCluster
*ml_Location
;
63 char *ml_ClusterComment
;
68 ULONG ml_EventTypeMask
;
77 /* Private data may follow. (currently not, but..) */
80 # define sxf_Mode b[3]
85 # define sxf_Mode b[0]
91 #define MLTYPE_Receiver 0
92 #define MLTYPE_Sender 1
93 #define MLTYPE_NTypes 2
96 #define MLF_PartChange 2
97 #define MLF_PrivateLink 4
98 #define MLF_DeviceLink 8
100 #define MLINK_Base (TAG_USER+65)
102 MLINK_Location
=MLINK_Base
,
118 #define SXF_ModeBits 4
119 #define SXF_CountBits 3
124 /* Please use GetMidiAttrsA instead of reading directly, and no
132 struct Image
*mi_Image
;
134 struct MinList mi_OutLinks
;
135 struct MinList mi_InLinks
;
137 struct Task
*mi_SigTask
;
138 struct Hook
*mi_ReceiveHook
;
139 struct Hook
*mi_ParticipantHook
;
140 BYTE mi_ReceiveSigBit
;
141 BYTE mi_ParticipantSigBit
;
149 ULONG mi_MsgQueueSize
;
150 ULONG mi_SysExQueueSize
;
156 #define CCType_Sequencer 1
157 #define CCType_SampleEditor 2
158 #define CCType_PatchEditor 4
159 #define CCType_Notator 8
160 #define CCType_EventProcessor 16
161 #define CCType_EventFilter 32
162 #define CCType_EventRouter 64
163 #define CCType_ToneGenerator 128
164 #define CCType_EventGenerator 256
165 #define CCType_GraphicAnimator 512
167 #define MIDI_Base (TAG_USER+65)
189 #define CME_NoUnit(a) (820+(a))
209 #define CMF_Note (1L<<CMB_Note)
210 #define CMF_Prog (1L<<CMB_Prog)
211 #define CMF_PitchBend (1L<<CMB_PitchBend)
212 #define CMF_CtrlMSB (1L<<CMB_CtrlMSB)
213 #define CMF_CtrlLSB (1L<<CMB_CtrlLSB)
214 #define CMF_CtrlSwitch (1L<<CMB_CtrlSwitch)
215 #define CMF_CtrlByte (1L<<CMB_CtrlByte)
216 #define CMF_CtrlParam (1L<<CMB_CtrlParam)
217 #define CMF_CtrlUndef (1L<<CMB_CtrlUndef)
218 #define CMF_Mode (1L<<CMB_Mode)
219 #define CMF_ChanPress (1L<<CMB_ChanPress)
220 #define CMF_PolyPress (1L<<CMB_PolyPress)
221 #define CMF_RealTime (1L<<CMB_RealTime)
222 #define CMF_SysCom (1L<<CMB_SysCom)
223 #define CMF_SysEx (1L<<CMB_SysEx)
225 #define CMF_Ctrl (CMF_CtrlMSB|CMF_CtrlLSB|CMF_CtrlSwitch|CMF_CtrlByte|CMF_CtrlParam|CMF_CtrlUndef)
226 #define CMF_Channel (CMF_Note|CMF_Prog|CMF_PitchBend|CMF_Ctrl|CMF_Mode|CMF_ChanPress|CMF_PolyPress)
227 #define CMD_All (CMF_Ctrl|CMF_Channel|CMF_SysCom|CMF_SysEx)
229 #define PutMidiMsg(midilink,msg) PutMidi((midilink),(msg)->mm_Msg)
241 #define CMEF_MsgErr (1L<<CMEB_MsgErr)
242 #define CMEF_BufferFull (1L<<CMEB_BufferFull)
243 #define CMEF_SysExFull (1L<<CMEB_SysExFull)
244 #define CMEF_ParseMem (1L<<CMEB_ParseMem)
245 #define CMEF_RecvErr (1L<<CMEB_RecvErr)
246 #define CMEF_RecvOverflow (1L<<CMEB_RecvOverflow)
247 #define CMEF_SysExTooBig (1L<<CMEB_SysExTooBig)
249 #define CMEF_All (CMEF_MsgErr|CMEF_BufferFull|CMEF_SysExFull|CMEF_ParseMem|CMEF_RecvErr|CMEF_RecvOverflow|CMEF_SysExTooBig)
251 struct ClusterNotifyNode
{
252 struct MinNode cnn_Node
;
253 struct Task
*cnn_Task
;