blob: 4024c5474e9eb1cebd9cbfc4c72fd6ebf58f0043 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
{ $Header: /MidiComp/MIDIDEFS.PAS 2 10/06/97 7:33 Davec $ }
{ Written by David Churcher <dchurcher@cix.compulink.co.uk>,
released to the public domain. }
{ Common definitions used by DELPHMID.DPR and the MIDI components.
This must be a separate unit to prevent large chunks of the VCL being
linked into the DLL. }
unit Mididefs;
interface
uses WinProcs, WinTypes, MMsystem, Circbuf;
type
{-------------------------------------------------------------------}
{ This is the information about the control that must be accessed by
the MIDI input callback function in the DLL at interrupt time }
PMidiCtlInfo = ^TMidiCtlInfo;
TMidiCtlInfo = record
hMem: THandle; { Memory handle for this record }
PBuffer: PCircularBuffer; { Pointer to the MIDI input data buffer }
hWindow: HWnd; { Control's window handle }
SysexOnly: Boolean; { Only process System Exclusive input }
end;
{ Information for the output timer callback function, also required at
interrupt time. }
PMidiOutTimerInfo = ^TMidiOutTimerInfo;
TMidiOutTimerInfo = record
hMem: THandle; { Memory handle for this record }
PBuffer: PCircularBuffer; { Pointer to MIDI output data buffer }
hWindow: HWnd; { Control's window handle }
TimeToNextEvent: DWORD; { Delay to next event after timer set }
MIDIHandle: HMidiOut; { MIDI handle to send output to
(copy of component's FMidiHandle property) }
PeriodMin: Word; { Multimedia timer minimum period supported }
PeriodMax: Word; { Multimedia timer maximum period supported }
TimerId: Word; { Multimedia timer ID of current event }
end;
implementation
end.
|