mirror of
https://github.com/elliotnunn/boot3.git
synced 2024-06-01 11:42:10 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
223 lines
4.2 KiB
OpenEdge ABL
223 lines
4.2 KiB
OpenEdge ABL
|
|
{
|
|
Created: Tuesday, February 5, 1991 at 4:32 PM
|
|
AIFF.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1990-1991
|
|
All rights reserved
|
|
|
|
This file is used in these builds: ROM System
|
|
|
|
Change History (most recent first):
|
|
|
|
<5> 2/17/92 MH change extended SampleRate to extended80 SampleRate (2
|
|
instances)
|
|
<4> 9/23/91 MH Swap the comments: Compression Types, and Compression Names so
|
|
that they apply to the appropriate declarations
|
|
<3> 8/8/91 JL Changed Arrays of Byte to Packed Arrays of Bytes - want bytes
|
|
not words. Packed InstrumentChunk Record too.
|
|
<2> 7/23/91 JL Fixed NoneName. Took "p" off of beginning.
|
|
|
|
To Do:
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT AIFF;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingAIFF}
|
|
{$SETC UsingAIFF := 1}
|
|
|
|
{$I+}
|
|
{$SETC AIFFIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I $$Shell(PInterfaces)Types.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := AIFFIncludes}
|
|
|
|
CONST
|
|
AIFFID = 'AIFF';
|
|
AIFCID = 'AIFC';
|
|
FormatVersionID = 'FVER';
|
|
CommonID = 'COMM';
|
|
FORMID = 'FORM';
|
|
SoundDataID = 'SSND';
|
|
MarkerID = 'MARK';
|
|
InstrumentID = 'INST';
|
|
MIDIDataID = 'MIDI';
|
|
AudioRecordingID = 'AESD';
|
|
ApplicationSpecificID = 'APPL';
|
|
CommentID = 'COMT';
|
|
NameID = 'NAME';
|
|
AuthorID = 'AUTH';
|
|
CopyrightID = '(c) ';
|
|
AnnotationID = 'ANNO';
|
|
NoLooping = 0;
|
|
ForwardLooping = 1;
|
|
ForwardBackwardLooping = 2;
|
|
|
|
{ AIFF-C Versions }
|
|
AIFCVersion1 = $A2805140;
|
|
|
|
{ Compression Names }
|
|
NoneName = 'not compressed';
|
|
ACE2to1Name = 'ACE 2-to-1';
|
|
ACE8to3Name = 'ACE 8-to-3';
|
|
MACE3to1Name = 'MACE 3-to-1';
|
|
MACE6to1Name ='MACE 6-to-1';
|
|
|
|
{ Compression Types }
|
|
NoneType = 'NONE';
|
|
ACE2Type = 'ACE2';
|
|
ACE8Type = 'ACE8';
|
|
MACE3Type = 'MAC3';
|
|
MACE6Type = 'MAC6';
|
|
|
|
TYPE
|
|
ID = LONGINT;
|
|
MarkerIdType = INTEGER;
|
|
|
|
ChunkHeader = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
END;
|
|
|
|
ContainerChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
formType: ID;
|
|
END;
|
|
|
|
FormatVersionChunkPtr = ^FormatVersionChunk;
|
|
FormatVersionChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
timestamp: LONGINT;
|
|
END;
|
|
|
|
CommonChunkPtr = ^CommonChunk;
|
|
CommonChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
numChannels: INTEGER;
|
|
numSampleFrames: LONGINT;
|
|
sampleSize: INTEGER;
|
|
sampleRate: Extended80;
|
|
END;
|
|
|
|
ExtCommonChunkPtr = ^ExtCommonChunk;
|
|
ExtCommonChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
numChannels: INTEGER;
|
|
numSampleFrames: LONGINT;
|
|
sampleSize: INTEGER;
|
|
sampleRate: Extended80;
|
|
compressionType: ID;
|
|
compressionName: PACKED ARRAY [0..0] OF Byte;
|
|
END;
|
|
|
|
SoundDataChunkPtr = ^SoundDataChunk;
|
|
SoundDataChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
offset: LONGINT;
|
|
blockSize: LONGINT;
|
|
END;
|
|
|
|
Marker = RECORD
|
|
id: MarkerIdType;
|
|
position: LONGINT;
|
|
markerName: Str255;
|
|
END;
|
|
|
|
MarkerChunkPtr = ^MarkerChunk;
|
|
MarkerChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
numMarkers: INTEGER;
|
|
Markers: ARRAY [0..0] OF Marker;
|
|
END;
|
|
|
|
AIFFLoop = RECORD
|
|
playMode: INTEGER;
|
|
beginLoop: MarkerIdType;
|
|
endLoop: MarkerIdType;
|
|
END;
|
|
|
|
InstrumentChunkPtr = ^InstrumentChunk;
|
|
InstrumentChunk = PACKED RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
baseFrequency: Byte;
|
|
detune: Byte;
|
|
lowFrequency: Byte;
|
|
highFrequency: Byte;
|
|
lowVelocity: Byte;
|
|
highVelocity: Byte;
|
|
gain: INTEGER;
|
|
sustainLoop: AIFFLoop;
|
|
releaseLoop: AIFFLoop;
|
|
END;
|
|
|
|
MIDIDataChunkPtr = ^MIDIDataChunk;
|
|
MIDIDataChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
MIDIdata: PACKED ARRAY [0..0] OF SignedByte;
|
|
END;
|
|
|
|
AudioRecordingChunkPtr = ^AudioRecordingChunk;
|
|
AudioRecordingChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
AESChannelStatus: PACKED ARRAY [0..23] OF SignedByte;
|
|
END;
|
|
|
|
ApplicationSpecificChunkPtr = ^ApplicationSpecificChunk;
|
|
ApplicationSpecificChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
applicationSignature: OSType;
|
|
data: PACKED ARRAY [0..0] OF Byte;
|
|
END;
|
|
|
|
Comment = RECORD
|
|
timeStamp: LONGINT;
|
|
marker: MarkerIdType;
|
|
count: INTEGER;
|
|
text: PACKED ARRAY [0..0] OF Byte;
|
|
END;
|
|
|
|
CommentsChunkPtr = ^CommentsChunk;
|
|
CommentsChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
numComments: INTEGER;
|
|
comments: ARRAY [0..0] OF Comment;
|
|
END;
|
|
|
|
TextChunkPtr = ^TextChunk;
|
|
TextChunk = RECORD
|
|
ckID: ID;
|
|
ckSize: LONGINT;
|
|
text: PACKED ARRAY [0..0] OF Byte;
|
|
END;
|
|
|
|
|
|
|
|
{$ENDC} { UsingAIFF }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|