2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
8 #include <proto/utility.h>
9 #include <proto/exec.h>
11 #include "camd_intern.h"
14 /*****************************************************************************
18 AROS_LH2(ULONG
, GetMidiAttrsA
,
21 AROS_LHA(struct MidiNode
*, midinode
, A0
),
22 AROS_LHA(struct TagItem
*, tags
, A1
),
25 struct CamdBase
*, CamdBase
, 10, Camd
)
34 If you are not the owner of the midinode, you should lock
35 Camd before calling to ensure that it wont go away.
47 2001-01-12 ksvalast first created
48 2007-07-01 Lyle Hazelwood fixed Tag <-> Data bug.
51 *****************************************************************************/
56 struct TagItem
*tstate
=tags
;
60 ObtainSemaphoreShared(CB(CamdBase
)->CLSemaphore
);
62 while((tag
=NextTagItem(&tstate
))){
64 where
=(IPTR
*)tag
->ti_Data
;
67 *where
=(IPTR
)midinode
->mi_Node
.ln_Name
;
70 *where
=(IPTR
)midinode
->mi_SigTask
;
73 *where
=(IPTR
)midinode
->mi_ReceiveHook
;
76 *where
=(IPTR
)midinode
->mi_ParticipantHook
;
79 *where
=(IPTR
)midinode
->mi_ReceiveSigBit
;
82 *where
=(IPTR
)midinode
->mi_ParticipantSigBit
;
85 *where
=(IPTR
)midinode
->mi_MsgQueueSize
;
88 *where
=(IPTR
)midinode
->mi_SysExQueueSize
;
91 *where
=(IPTR
)midinode
->mi_TimeStamp
;
94 *where
=(IPTR
)midinode
->mi_ErrFilter
;
97 *where
=(IPTR
)midinode
->mi_ClientType
;
100 *where
=(IPTR
)midinode
->mi_Image
;
108 ReleaseSemaphore(CB(CamdBase
)->CLSemaphore
);
118 ULONG VARARGS68K
GetMidiAttrs(
119 struct CamdIFace
*Self
,
120 struct MidiNode
* mi
,
125 struct TagItem
* varargs
;
126 va_startlinear(ap
, mi
);
127 varargs
= va_getlinearva(ap
, struct TagItem
*);
128 return Self
->GetMidiAttrsA(