Code Search for Developers
 
 
  

AIFF.h from guliverkli at Krugle


Show AIFF.h syntax highlighted

/*
     File:       AIFF.h
 
     Contains:   Definition of AIFF file format components.
 
     Version:    Technology: System 8.5
                 Release:    QuickTime 6.0.2
 
     Copyright:  (c) 1989-2001 by Apple Computer, Inc., all rights reserved.
 
     Bugs?:      For bug reports, consult the following page on
                 the World Wide Web:
 
                     http://developer.apple.com/bugreporter/
 
*/
#ifndef __AIFF__
#define __AIFF__

#ifndef __MACTYPES__
#include "MacTypes.h"
#endif




#if PRAGMA_ONCE
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if PRAGMA_IMPORT
#pragma import on
#endif

#if PRAGMA_STRUCT_ALIGN
    #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
    #pragma pack(2)
#endif

enum {
    AIFFID                      = FOUR_CHAR_CODE('AIFF'),
    AIFCID                      = FOUR_CHAR_CODE('AIFC'),
    FormatVersionID             = FOUR_CHAR_CODE('FVER'),
    CommonID                    = FOUR_CHAR_CODE('COMM'),
    FORMID                      = FOUR_CHAR_CODE('FORM'),
    SoundDataID                 = FOUR_CHAR_CODE('SSND'),
    MarkerID                    = FOUR_CHAR_CODE('MARK'),
    InstrumentID                = FOUR_CHAR_CODE('INST'),
    MIDIDataID                  = FOUR_CHAR_CODE('MIDI'),
    AudioRecordingID            = FOUR_CHAR_CODE('AESD'),
    ApplicationSpecificID       = FOUR_CHAR_CODE('APPL'),
    CommentID                   = FOUR_CHAR_CODE('COMT'),
    NameID                      = FOUR_CHAR_CODE('NAME'),
    AuthorID                    = FOUR_CHAR_CODE('AUTH'),
    CopyrightID                 = FOUR_CHAR_CODE('(c) '),
    AnnotationID                = FOUR_CHAR_CODE('ANNO')
};

enum {
    NoLooping                   = 0,
    ForwardLooping              = 1,
    ForwardBackwardLooping      = 2
};

enum {
                                                                /* AIFF-C Versions */
    AIFCVersion1                = (long)0xA2805140
};



/* Compression Names */
#define NoneName "\pnot compressed"
#define ACE2to1Name "\pACE 2-to-1"
#define ACE8to3Name "\pACE 8-to-3"
#define MACE3to1Name "\pMACE 3-to-1"
#define MACE6to1Name "\pMACE 6-to-1"

enum {
                                                                /* Compression Types */
    NoneType                    = FOUR_CHAR_CODE('NONE'),
    ACE2Type                    = FOUR_CHAR_CODE('ACE2'),
    ACE8Type                    = FOUR_CHAR_CODE('ACE8'),
    MACE3Type                   = FOUR_CHAR_CODE('MAC3'),
    MACE6Type                   = FOUR_CHAR_CODE('MAC6')
};

typedef unsigned long                   ID;
typedef short                           MarkerIdType;

struct ChunkHeader {
    ID                              ckID;
    long                            ckSize;
};
typedef struct ChunkHeader              ChunkHeader;

struct ContainerChunk {
    ID                              ckID;
    long                            ckSize;
    ID                              formType;
};
typedef struct ContainerChunk           ContainerChunk;

struct FormatVersionChunk {
    ID                              ckID;
    long                            ckSize;
    unsigned long                   timestamp;
};
typedef struct FormatVersionChunk       FormatVersionChunk;
typedef FormatVersionChunk *            FormatVersionChunkPtr;

struct CommonChunk {
    ID                              ckID;
    long                            ckSize;
    short                           numChannels;
    unsigned long                   numSampleFrames;
    short                           sampleSize;
    extended80                      sampleRate;
};
typedef struct CommonChunk              CommonChunk;
typedef CommonChunk *                   CommonChunkPtr;

struct ExtCommonChunk {
    ID                              ckID;
    long                            ckSize;
    short                           numChannels;
    unsigned long                   numSampleFrames;
    short                           sampleSize;
    extended80                      sampleRate;
    ID                              compressionType;
    char                            compressionName[1];         /* variable length array, Pascal string */
};
typedef struct ExtCommonChunk           ExtCommonChunk;
typedef ExtCommonChunk *                ExtCommonChunkPtr;

struct SoundDataChunk {
    ID                              ckID;
    long                            ckSize;
    unsigned long                   offset;
    unsigned long                   blockSize;
};
typedef struct SoundDataChunk           SoundDataChunk;
typedef SoundDataChunk *                SoundDataChunkPtr;

struct Marker {
    MarkerIdType                    id;
    unsigned long                   position;
    Str255                          markerName;
};
typedef struct Marker                   Marker;

struct MarkerChunk {
    ID                              ckID;
    long                            ckSize;
    unsigned short                  numMarkers;
    Marker                          Markers[1];                 /* variable length array */
};
typedef struct MarkerChunk              MarkerChunk;
typedef MarkerChunk *                   MarkerChunkPtr;

struct AIFFLoop {
    short                           playMode;
    MarkerIdType                    beginLoop;
    MarkerIdType                    endLoop;
};
typedef struct AIFFLoop                 AIFFLoop;

struct InstrumentChunk {
    ID                              ckID;
    long                            ckSize;
    UInt8                           baseFrequency;
    UInt8                           detune;
    UInt8                           lowFrequency;
    UInt8                           highFrequency;
    UInt8                           lowVelocity;
    UInt8                           highVelocity;
    short                           gain;
    AIFFLoop                        sustainLoop;
    AIFFLoop                        releaseLoop;
};
typedef struct InstrumentChunk          InstrumentChunk;
typedef InstrumentChunk *               InstrumentChunkPtr;

struct MIDIDataChunk {
    ID                              ckID;
    long                            ckSize;
    UInt8                           MIDIdata[1];                /* variable length array */
};
typedef struct MIDIDataChunk            MIDIDataChunk;
typedef MIDIDataChunk *                 MIDIDataChunkPtr;

struct AudioRecordingChunk {
    ID                              ckID;
    long                            ckSize;
    UInt8                           AESChannelStatus[24];
};
typedef struct AudioRecordingChunk      AudioRecordingChunk;
typedef AudioRecordingChunk *           AudioRecordingChunkPtr;

struct ApplicationSpecificChunk {
    ID                              ckID;
    long                            ckSize;
    OSType                          applicationSignature;
    UInt8                           data[1];                    /* variable length array */
};
typedef struct ApplicationSpecificChunk ApplicationSpecificChunk;
typedef ApplicationSpecificChunk *      ApplicationSpecificChunkPtr;

struct Comment {
    unsigned long                   timeStamp;
    MarkerIdType                    marker;
    unsigned short                  count;
    char                            text[1];                    /* variable length array, Pascal string */
};
typedef struct Comment                  Comment;

struct CommentsChunk {
    ID                              ckID;
    long                            ckSize;
    unsigned short                  numComments;
    Comment                         comments[1];                /* variable length array */
};
typedef struct CommentsChunk            CommentsChunk;
typedef CommentsChunk *                 CommentsChunkPtr;

struct TextChunk {
    ID                              ckID;
    long                            ckSize;
    char                            text[1];                    /* variable length array, Pascal string */
};
typedef struct TextChunk                TextChunk;
typedef TextChunk *                     TextChunkPtr;

#if PRAGMA_STRUCT_ALIGN
    #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
    #pragma pack()
#endif

#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif

#ifdef __cplusplus
}
#endif

#endif /* __AIFF__ */





See more files for this project here

guliverkli

Home of VobSub, Media Player Classic (MPC) and other misc utils.

Project homepage: http://sourceforge.net/projects/guliverkli
Programming language(s): C,C++,PHP
License: other

  ADSP.h
  ADSPSecure.h
  AEDataModel.h
  AEObjects.h
  AEPackObject.h
  AERegistry.h
  AEUserTermTypes.h
  AGP.h
  AIFF.h
  ASDebugging.h
  ASRegistry.h
  ATA.h
  ATSLayoutTypes.h
  ATSTypes.h
  ATSUnicode.h
  AVComponents.h
  AVLTree.h
  Aliases.h
  Appearance.h
  AppleEvents.h
  AppleGuide.h
  AppleScript.h
  AppleTalk.h
  Balloons.h
  CFArray.h
  CFBag.h
  CFBase.h
  CFBundle.h
  CFCharacterSet.h
  CFData.h
  CFDate.h
  CFDictionary.h
  CFNumber.h
  CFPlugIn.h
  CFPreferences.h
  CFPropertyList.h
  CFSet.h
  CFString.h
  CFStringEncodingExt.h
  CFTimeZone.h
  CFURL.h
  CFURLAccess.h
  CMAcceleration.h
  CMApplication.h
  CMCalibrator.h
  CMComponent.h
  CMConversions.h
  CMICCProfile.h
  CMMComponent.h
  CMPRComponent.h
  CMScriptingPlugin.h
  CRMSerialDevices.h
  CTBUtilities.h
  CarbonEvents.h
  CardServices.h
  CodeFragments.h
  Collections.h
  ColorPicker.h
  ColorPickerComponents.h
  CommResources.h
  Components.h
  ConditionalMacros.h
  ConnectionTools.h
  Connections.h
  ControlDefinitions.h
  ControlStrip.h
  Controls.h
  CoreFoundation.h
  CryptoMessageSyntax.h
  CursorDevices.h
  DatabaseAccess.h
  DateTimeUtils.h
  Debugging.h
  DeskBus.h
  DeviceControl.h
  Devices.h
  Dialogs.h
  Dictionary.h
  DigitalSignature.h
  DiskInit.h
  Disks.h
  Displays.h
  Drag.h
  DrawSprocket.h
  DriverFamilyMatching.h
  DriverGestalt.h
  DriverServices.h
  DriverSupport.h
  DriverSynchronization.h
  ENET.h
  EPPC.h
  Editions.h
  Endian.h
  Events.h
  FSM.h
  FileSigning.h
  FileTransferTools.h
  FileTransfers.h
  FileTypesAndCreators.h
  Files.h