boot3/Interfaces/PInterfaces/AIFF.p
Elliot Nunn 5b0f0cc134 Bring in CubeE sources
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.
2017-12-26 10:02:57 +08:00

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}