aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/midi/MidiType.pas
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/midi/MidiType.pas')
-rw-r--r--src/lib/midi/MidiType.pas87
1 files changed, 42 insertions, 45 deletions
diff --git a/src/lib/midi/MidiType.pas b/src/lib/midi/MidiType.pas
index 14157dbe..30e043ab 100644
--- a/src/lib/midi/MidiType.pas
+++ b/src/lib/midi/MidiType.pas
@@ -1,9 +1,8 @@
-{ $Header: /MidiComp/MidiType.pas 2 10/06/97 7:33 Davec $ }
+{ $Header: /MidiComp/MidiType.pas 2 10/06/97 7:33 Davec $ }
{ Written by David Churcher <dchurcher@cix.compulink.co.uk>,
released to the public domain. }
-
unit MidiType;
interface
@@ -22,32 +21,32 @@ uses
CircBuf;
type
- {-------------------------------------------------------------------}
- { A MIDI input/output event }
- TMyMidiEvent = class(TPersistent)
- public
- MidiMessage: Byte; { MIDI message status byte }
- Data1: Byte; { MIDI message data 1 byte }
- Data2: Byte; { MIDI message data 2 byte }
- Time: DWORD; { Time in ms since midiInOpen }
- SysexLength: Word; { Length of sysex data (0 if none) }
- Sysex: PChar; { Pointer to sysex data buffer }
- destructor Destroy; override; { Frees sysex data buffer if nec. }
- end;
- PMyMidiEvent = ^TMyMidiEvent;
-
- {-------------------------------------------------------------------}
- { Encapsulates the MIDIHDR with its memory handle and sysex buffer }
- PMyMidiHdr = ^TMyMidiHdr;
- TMyMidiHdr = class(TObject)
- public
- hdrHandle: THandle;
- hdrPointer: PMIDIHDR;
- sysexHandle: THandle;
- sysexPointer: Pointer;
- constructor Create(BufferSize: Word);
- destructor Destroy; override;
- end;
+ {-------------------------------------------------------------------}
+ { A MIDI input/output event }
+ TMyMidiEvent = class(TPersistent)
+ public
+ MidiMessage: byte; { MIDI message status byte }
+ Data1: byte; { MIDI message data 1 byte }
+ Data2: byte; { MIDI message data 2 byte }
+ Time: dword; { Time in ms since midiInOpen }
+ SysexLength: word; { Length of sysex data (0 if none) }
+ Sysex: Pchar; { Pointer to sysex data buffer }
+ destructor Destroy; override; { Frees sysex data buffer if nec. }
+ end;
+ PMyMidiEvent = ^TMyMidiEvent;
+
+ {-------------------------------------------------------------------}
+ { Encapsulates the MIDIHDR with its memory handle and sysex buffer }
+ PMyMidiHdr = ^TMyMidiHdr;
+ TMyMidiHdr = class(TObject)
+ public
+ hdrHandle: THandle;
+ hdrPointer: PMIDIHDR;
+ sysexHandle: THandle;
+ sysexPointer: pointer;
+ constructor Create(BufferSize: word);
+ destructor Destroy; override;
+ end;
implementation
@@ -55,36 +54,34 @@ implementation
{ Free any sysex buffer associated with the event }
destructor TMyMidiEvent.Destroy;
begin
- if (Sysex <> Nil) then
- Freemem(Sysex, SysexLength);
+ if (Sysex <> nil) then
+ Freemem(Sysex, SysexLength);
- inherited Destroy;
+ inherited Destroy;
end;
{-------------------------------------------------------------------}
{ Allocate memory for the sysex header and buffer }
-constructor TMyMidiHdr.Create(BufferSize:Word);
+constructor TMyMidiHdr.Create(BufferSize: word);
begin
- inherited Create;
+ inherited Create;
- if BufferSize > 0 then
- begin
- hdrPointer := GlobalSharedLockedAlloc(sizeof(TMIDIHDR), hdrHandle);
- sysexPointer := GlobalSharedLockedAlloc(BufferSize, sysexHandle);
+ if BufferSize > 0 then
+ begin
+ hdrPointer := GlobalSharedLockedAlloc(sizeof(TMIDIHDR), hdrHandle);
+ sysexPointer := GlobalSharedLockedAlloc(BufferSize, sysexHandle);
- hdrPointer^.lpData := sysexPointer;
- hdrPointer^.dwBufferLength := BufferSize;
- end;
+ hdrPointer^.lpData := sysexPointer;
+ hdrPointer^.dwBufferLength := BufferSize;
+ end;
end;
{-------------------------------------------------------------------}
destructor TMyMidiHdr.Destroy;
begin
- GlobalSharedLockedFree( hdrHandle, hdrPointer );
- GlobalSharedLockedFree( sysexHandle, sysexPointer );
- inherited Destroy;
+ GlobalSharedLockedFree(hdrHandle, hdrPointer);
+ GlobalSharedLockedFree(sysexHandle, sysexPointer);
+ inherited Destroy;
end;
-
-
end.