home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / player / ahi / developer / examples / harddiskrecord / harddiskrecord.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-17  |  1.6 KB  |  57 lines

  1. /* AIFF and AIFC defines was taken from Olaf `Olsen' Barthel's AIFF DataType. */
  2.  
  3.     // 80 bit IEEE Standard 754 floating point number
  4.  
  5. typedef struct {
  6.     unsigned short    exponent;        // Exponent, bit #15 is sign bit for mantissa
  7.     unsigned long    mantissa[2];        // 64 bit mantissa
  8. } extended;
  9.  
  10.     // Audio Interchange Format chunk data
  11.  
  12. #define ID_AIFF MAKE_ID('A','I','F','F')
  13. #define ID_AIFC MAKE_ID('A','I','F','C')
  14.  
  15. #define ID_FVER MAKE_ID('F','V','E','R')
  16. #define ID_COMM MAKE_ID('C','O','M','M')
  17. #define ID_SSND MAKE_ID('S','S','N','D')
  18.  
  19.     // "COMM" chunk header
  20.  
  21. typedef struct {
  22.     short        numChannels;        // Number of channels
  23.     unsigned long    numSampleFrames;    // Number of sample frames
  24.     short        sampleSize;        // Number of bits per sample point
  25.     extended    sampleRate;        // Replay rate in samples per second
  26. } CommonChunk;
  27.  
  28.     // The same for "AIFC" type files
  29.  
  30. #define NO_COMPRESSION MAKE_ID('N','O','N','E') // No sound compression
  31.  
  32. typedef struct {
  33.     short        numChannels;        // Number of channels
  34.     unsigned long    numSampleFrames;    // Number of sample frames
  35.     short        sampleSize;        // Number of bits per sample point
  36.     extended    sampleRate;        // Replay rate in samples per second
  37.     unsigned long    compressionType;    // Compression type
  38.     char        compressionName[(sizeof("not compressed")+1)&(~1)];
  39. } ExtCommonChunk;
  40.  
  41.  
  42.     // "SSND" chunk header
  43.  
  44. typedef struct {
  45.     unsigned long    offset,         // Offset to sound data, for block alignment
  46.             blockSize;        // Size of block data is aligned to
  47. } SampledSoundHeader;
  48.  
  49.     // "FVER" chunk header
  50.  
  51. typedef struct {
  52.     long        timestamp;        // Format version creation date
  53. } FormatVersionHeader;
  54.  
  55. #define AIFCVersion1 0xA2805140         // "AIFC" file format version #1
  56.  
  57.