blob: e97a862706beee10bccdde50f9b44dc0aa0df3a6 (
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
48
49
50
51
52
53
54
55
|
{ $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
{$IFDEF FPC}
{$MODE Delphi}
{$H+} // use AnsiString
{$ENDIF}
uses
Windows,
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.
|