MP3 Info & Convert, Version 1.0a

Zurück zur Übersicht

Datei: MMReg.pas

//==========================================================================;
//
// Copyright (C) Microsoft Corporation, 1991 - 1997
//
// Module Name:
//
//     mmreg.h
//
// Abstract:
//
//     Multimedia Registration
//
// Revision History:
//
//==========================================================================;
//
// Translated to Delphi 1998-03-05 by Volker Siebert, Unna, Germany.
// Partially upgraded to current version 2005-09-09 by Volker Siebert, Unna, Germany.
//
//==========================================================================;

unit MMReg;

interface

uses
  SysUtils, Windows, Messages, MMSystem {, ActiveX};

//***************************************************************************
//  MMREG.H (standard include file for MM defines, like FOURCC and things)
//***************************************************************************

const
  _INC_MMREG = 158;      // version * 100 + revision

const
  // manufacturer IDs
  MM_MICROSOFT                  =  1;  //  Microsoft Corporation
  MM_CREATIVE                   =  2;  //  Creative Labs, Inc
  MM_MEDIAVISION                =  3;  //  Media Vision, Inc.
  MM_FUJITSU                    =  4;  //  Fujitsu Corp.
  MM_PRAGMATRAX                 =  5;  // PRAGMATRAX Software
  MM_CYRIX                      =  6;  // Cyrix Corporation
  MM_PHILIPS_SPEECH_PROCESSING  =  7;  // Philips Speech Processing
  MM_NETXL                      =  8;  // NetXL, Inc.
  MM_ZYXEL                      =  9;  // ZyXEL Communications, Inc.
  MM_BECUBED                    = 10;  // BeCubed Software Inc.
  MM_AARDVARK                   = 11;  // Aardvark Computer Systems, Inc.
  MM_BINTEC                     = 12;  // Bin Tec Communications GmbH
  MM_HEWLETT_PACKARD            = 13;  // Hewlett-Packard Company
  MM_ACULAB                     = 14;  // Aculab plc
  MM_FAITH                      = 15;  // Faith,Inc.
  MM_MITEL                      = 16;  // Mitel Corporation
  MM_QUANTUM3D                  = 17;  // Quantum3D, Inc.
  MM_SNI                        = 18;  // Siemens-Nixdorf
  MM_EMU                        = 19;  // E-mu Systems, Inc.
  MM_ARTISOFT                   = 20;  //  Artisoft, Inc.
  MM_TURTLE_BEACH               = 21;  //  Turtle Beach, Inc.
  MM_IBM                        = 22;  //  IBM Corporation
  MM_VOCALTEC                   = 23;  //  Vocaltec LTD.
  MM_ROLAND                     = 24;  //  Roland
  MM_DSP_SOLUTIONS              = 25;  //  DSP Solutions, Inc.
  MM_NEC                        = 26;  //  NEC
  MM_ATI                        = 27;  //  ATI
  MM_WANGLABS                   = 28;  //  Wang Laboratories, Inc
  MM_TANDY                      = 29;  //  Tandy Corporation
  MM_VOYETRA                    = 30;  //  Voyetra
  MM_ANTEX                      = 31;  //  Antex Electronics Corporation
  MM_ICL_PS                     = 32;  //  ICL Personal Systems
  MM_INTEL                      = 33;  //  Intel Corporation
  MM_GRAVIS                     = 34;  //  Advanced Gravis
  MM_VAL                        = 35;  //  Video Associates Labs, Inc.
  MM_INTERACTIVE                = 36;  //  InterActive Inc
  MM_YAMAHA                     = 37;  //  Yamaha Corporation of America
  MM_EVEREX                     = 38;  //  Everex Systems, Inc
  MM_ECHO                       = 39;  //  Echo Speech Corporation
  MM_SIERRA                     = 40;  //  Sierra Semiconductor Corp
  MM_CAT                        = 41;  //  Computer Aided Technologies
  MM_APPS                       = 42;  //  APPS Software International
  MM_DSP_GROUP                  = 43;  //  DSP Group, Inc
  MM_MELABS                     = 44;  //  microEngineering Labs
  MM_COMPUTER_FRIENDS           = 45;  //  Computer Friends, Inc.
  MM_ESS                        = 46;  //  ESS Technology
  MM_AUDIOFILE                  = 47;  //  Audio, Inc.
  MM_MOTOROLA                   = 48;  //  Motorola, Inc.
  MM_CANOPUS                    = 49;  //  Canopus, co., Ltd.
  MM_EPSON                      = 50;  //  Seiko Epson Corporation
  MM_TRUEVISION                 = 51;  //  Truevision
  MM_AZTECH                     = 52;  //  Aztech Labs, Inc.
  MM_VIDEOLOGIC                 = 53;  //  Videologic
  MM_SCALACS                    = 54;  //  SCALACS
  MM_KORG                       = 55;  //  Toshihiko Okuhura, Korg Inc.
  MM_APT                        = 56;  //  Audio Processing Technology
  MM_ICS                        = 57;  //  Integrated Circuit Systems, Inc.
  MM_ITERATEDSYS                = 58;  //  Iterated Systems, Inc.
  MM_METHEUS                    = 59;  //  Metheus
  MM_LOGITECH                   = 60;  //  Logitech, Inc.
  MM_WINNOV                     = 61;  //  Winnov, Inc.
  MM_NCR                        = 62;  //  NCR Corporation
  MM_EXAN                       = 63;  //  EXAN
  MM_AST                        = 64;  //  AST Research Inc.
  MM_WILLOWPOND                 = 65;  //  Willow Pond Corporation
  MM_SONICFOUNDRY               = 66;  //  Sonic Foundry
  MM_VITEC                      = 67;  //  Vitec Multimedia
  MM_MOSCOM                     = 68;  //  MOSCOM Corporation
  MM_SILICONSOFT                = 69;  //  Silicon Soft, Inc.
  MM_TERRATEC                   = 70;  //  TerraTec Electronic GmbH
  MM_MEDIASONIC                 = 71;  //  MediaSonic Ltd.
  MM_SANYO                      = 72;  //  SANYO Electric Co., Ltd.
  MM_SUPERMAC                   = 73;  //  Supermac
  MM_AUDIOPT                    = 74;  //  Audio Processing Technology
  MM_NOGATECH                   = 75;  // NOGATECH Ltd.
  MM_SPEECHCOMP                 = 76;  //  Speech Compression
  MM_DOLBY                      = 78;  //  Dolby Laboratories
  MM_OKI                        = 79;  //  OKI
  MM_AURAVISION                 = 80;  //  AuraVision Corporation
  MM_OLIVETTI                   = 81;  //  Olivetti
  MM_IOMAGIC                    = 82;  //  I/O Magic Corporation
  MM_MATSUSHITA                 = 83;  //  Matsushita Electric Industrial Co., LTD.
  MM_CONTROLRES                 = 84;  //  Control Resources Limited
  MM_XEBEC                      = 85;  //  Xebec Multimedia Solutions Limited
  MM_NEWMEDIA                   = 86;  //  New Media Corporation
  MM_NMS                        = 87;  //  Natural MicroSystems
  MM_LYRRUS                     = 88;  //  Lyrrus Inc.
  MM_COMPUSIC                   = 89;  //  Compusic
  MM_OPTI                       = 90;  //  OPTi Computers Inc.
  MM_DIALOGIC                   = 93;  //  Dialogic Corporation
  MM_INSOFT                     = 94;  //  InSoft, Inc.
  MM_MPTUS                      = 95;  //  M.P. Technologies, Inc.
  MM_WEITEK                     = 96;  //  Weitek
  MM_LERNOUT_AND_HAUSPIE        = 97;  //  Lernout & Hauspie
  MM_QCIAR                      = 98;  //  Quanta Computer Inc.
  MM_APPLE                      = 99;  //  Apple Computer, Inc.
  MM_DIGITAL                    = 100; //  Digital Equipment Corporation
  MM_MOTU                       = 101; //  Mark of the Unicorn
  MM_WORKBIT                    = 102; //  Workbit Corporation
  MM_OSITECH                    = 103; //  Ositech Communications Inc.
  MM_MIRO                       = 104; //  miro Computer Products AG
  MM_CIRRUSLOGIC                = 105; //  Cirrus Logic
  MM_ISOLUTION                  = 106; //  ISOLUTION  B.V.
  MM_HORIZONS                   = 107; //  Horizons Technology, Inc.
  MM_CONCEPTS                   = 108; //  Computer Concepts Ltd.
  MM_VTG                        = 109; //  Voice Technologies Group, Inc.
  MM_RADIUS                     = 110; //  Radius
  MM_ROCKWELL                   = 111; //  Rockwell International
  MM_XYZ                        = 112; //  Co. XYZ for testing
  MM_OPCODE                     = 113; //  Opcode Systems
  MM_VOXWARE                    = 114; //  Voxware Inc.
  MM_NORTHERN_TELECOM           = 115; //  Northern Telecom Limited
  MM_APICOM                     = 116; //  APICOM
  MM_GRANDE                     = 117; //  Grande Software
  MM_ADDX                       = 118; //  ADDX
  MM_WILDCAT                    = 119; //  Wildcat Canyon Software
  MM_RHETOREX                   = 120; //  Rhetorex Inc.
  MM_BROOKTREE                  = 121; //  Brooktree Corporation
  MM_ENSONIQ                    = 125; //  ENSONIQ Corporation
  MM_FAST                       = 126; //  FAST Multimedia AG
  MM_NVIDIA                     = 127; //  NVidia Corporation
  MM_OKSORI                     = 128; //  OKSORI Co., Ltd.
  MM_DIACOUSTICS                = 129; //  DiAcoustics, Inc.
  MM_GULBRANSEN                 = 130; //  Gulbransen, Inc.
  MM_KAY_ELEMETRICS             = 131; //  Kay Elemetrics, Inc.
  MM_CRYSTAL                    = 132; //  Crystal Semiconductor Corporation
  MM_SPLASH_STUDIOS             = 133; //  Splash Studios
  MM_QUARTERDECK                = 134; //  Quarterdeck Corporation
  MM_TDK                        = 135; //  TDK Corporation
  MM_DIGITAL_AUDIO_LABS         = 136; //  Digital Audio Labs, Inc.
  MM_SEERSYS                    = 137; //  Seer Systems, Inc.
  MM_PICTURETEL                 = 138; //  PictureTel Corporation
  MM_ATT_MICROELECTRONICS       = 139; //  AT&T Microelectronics
  MM_OSPREY                     = 140; //  Osprey Technologies, Inc.
  MM_MEDIATRIX                  = 141; //  Mediatrix Peripherals
  MM_SOUNDESIGNS                = 142; //  SounDesignS M.C.S. Ltd.
  MM_ALDIGITAL                  = 143; //  A.L. Digital Ltd.
  MM_SPECTRUM_SIGNAL_PROCESSING = 144; //  Spectrum Signal Processing, Inc.
  MM_ECS                        = 145; //  Electronic Courseware Systems, Inc.
  MM_AMD                        = 146; //  AMD
  MM_COREDYNAMICS               = 147; //  Core Dynamics
  MM_CANAM                      = 148; //  CANAM Computers
  MM_SOFTSOUND                  = 149; //  Softsound, Ltd.
  MM_NORRIS                     = 150; //  Norris Communications, Inc.
  MM_DDD                        = 151; //  Danka Data Devices
  MM_EUPHONICS                  = 152; //  EuPhonics
  MM_PRECEPT                    = 153; //  Precept Software, Inc.
  MM_CRYSTAL_NET                = 154; //  Crystal Net Corporation
  MM_CHROMATIC                  = 155; //  Chromatic Research, Inc.
  MM_VOICEINFO                  = 156; //  Voice Information Systems, Inc.
  MM_VIENNASYS                  = 157; //  Vienna Systems
  MM_CONNECTIX                  = 158; //  Connectix Corporation
  MM_GADGETLABS                 = 159; //  Gadget Labs LLC
  MM_FRONTIER                   = 160; //  Frontier Design Group LLC
  MM_VIONA                      = 161; //  Viona Development GmbH
  MM_CASIO                      = 162; //  Casio Computer Co., LTD
  MM_DIAMONDMM                  = 163; //  Diamond Multimedia
  MM_S3                         = 164; //  S3
  MM_DVISION                    = 165; //  D-Vision Systems, Inc.
  MM_NETSCAPE                   = 166; //  Netscape Communications
  MM_SOUNDSPACE                 = 167; //  Soundspace Audio
  MM_VANKOEVERING               = 168; //  VanKoevering Company
  MM_QTEAM                      = 169; //  Q-Team
  MM_ZEFIRO                     = 170; //  Zefiro Acoustics
  MM_STUDER                     = 171; //  Studer Professional Audio AG
  MM_FRAUNHOFER_IIS             = 172; //  Fraunhofer IIS
  MM_QUICKNET                   = 173; //  Quicknet Technologies
  MM_ALARIS                     = 174; //  Alaris, Inc.
  MM_SICRESOURCE                = 175; //  SIC Resource Inc.
  MM_NEOMAGIC                   = 176; //  NeoMagic Corporation
  MM_MERGING_TECHNOLOGIES       = 177; //  Merging Technologies S.A.
  MM_XIRLINK                    = 178; //  Xirlink, Inc.
  MM_COLORGRAPH                 = 179; //  Colorgraph (UK) Ltd
  MM_OTI                        = 180; //  Oak Technology, Inc.
  MM_AUREAL                     = 181; //  Aureal Semiconductor
  MM_VIVO                       = 182; //  Vivo Software
  MM_SHARP                      = 183; //  Sharp
  MM_LUCENT                     = 184; //  Lucent Technologies
  MM_ATT                        = 185; //  AT&T Labs, Inc.
  MM_SUNCOM                     = 186; //  Sun Communications, Inc.
  MM_SORVIS                     = 187; //  Sorenson Vision
  MM_INVISION                   = 188; //  InVision Interactive
  MM_BERKOM                     = 189; //  Deutsche Telekom Berkom GmbH
  MM_MARIAN                     = 190; //  Marian GbR Leipzig
  MM_DPSINC                     = 191; //  Digital Processing Systems, Inc.
  MM_BCB                        = 192; //  BCB Holdings Inc.
  MM_MOTIONPIXELS               = 193; //  Motion Pixels
  MM_QDESIGN                    = 194; //  QDesign Corporation
  MM_NMP                        = 195; //  Nokia Mobile Phones
  MM_DATAFUSION                 = 196; //  DataFusion Systems (Pty) (Ltd)
  MM_DUCK                       = 197; //  The Duck Corporation
  MM_FTR                        = 198; //  Future Technology Resources Pty Ltd
  MM_BERCOS                     = 199; //  BERCOS GmbH
  MM_ONLIVE                     = 200; //  OnLive! Technologies, Inc.
  MM_SIEMENS_SBC                = 201; //  Siemens Business Communications Systems
  MM_TERALOGIC                  = 202; //  TeraLogic, Inc.
  MM_PHONET                     = 203; //  PhoNet Communications Ltd.
  MM_WINBOND                    = 204; //  Winbond Electronics Corp
  MM_VIRTUALMUSIC               = 205; //  Virtual Music, Inc.
  MM_ENET                       = 206; //  e-Net, Inc.
  MM_GUILLEMOT                  = 207; //  Guillemot International
  MM_EMAGIC                     = 208; //  Emagic Soft- und Hardware GmbH
  MM_MWM                        = 209; //  MWM Acoustics LLC
  MM_PACIFICRESEARCH            = 210; //  Pacific Research and Engineering Corporation
  MM_SIPROLAB                   = 211; //  Sipro Lab Telecom Inc.
  MM_LYNX                       = 212; //  Lynx Studio Technology, Inc.
  MM_SPECTRUM_PRODUCTIONS       = 213; //  Spectrum Productions
  MM_DICTAPHONE                 = 214; //  Dictaphone Corporation
  MM_QUALCOMM                   = 215; //  QUALCOMM, Inc.
  MM_RZS                        = 216; //  Ring Zero Systems, Inc
  MM_AUDIOSCIENCE               = 217; //  AudioScience Inc.
  MM_PINNACLE                   = 218; //  Pinnacle Systems, Inc.
  MM_EES                        = 219; //  EES Technik für Musik GmbH
  MM_HAFTMANN                   = 220; //  haftmann#software
  MM_LUCID                      = 221; //  Lucid Technology, Symetrix Inc.
  MM_HEADSPACE                  = 222; //  Headspace, Inc
  MM_UNISYS                     = 223; //  UNISYS CORPORATION
  MM_LUMINOSITI                 = 224; //  Luminositi, Inc.
  MM_ACTIVEVOICE                = 225; //  ACTIVE VOICE CORPORATION
  MM_DTS                        = 226; //  Digital Theater Systems, Inc.
  MM_DIGIGRAM                   = 227; //  DIGIGRAM
  MM_SOFTLAB_NSK                = 228; //  Softlab-Nsk
  MM_FORTEMEDIA                 = 229; //  ForteMedia, Inc
  MM_SONORUS                    = 230; //  Sonorus, Inc.
  MM_ARRAY                      = 231; //  Array Microsystems, Inc.
  MM_DATARAN                    = 232; //  Data Translation, Inc.
  MM_I_LINK                     = 233; //  I-link Worldwide
  MM_SELSIUS_SYSTEMS            = 234; //  Selsius Systems Inc.
  MM_ADMOS                      = 235; //  AdMOS Technology, Inc.
  MM_LEXICON                    = 236; //  Lexicon Inc.
  MM_SGI                        = 237; //  Silicon Graphics Inc.
  MM_IPI                        = 238; //  Interactive Product Inc.
  MM_ICE                        = 239; //  IC Ensemble, Inc.
  MM_VQST                       = 240; //  ViewQuest Technologies Inc.
  MM_ETEK                       = 241; //  eTEK Labs Inc.
  MM_CS                         = 242; //  Consistent Software
  MM_ALESIS                     = 243; //  Alesis Studio Electronics
  MM_INTERNET                   = 244; //  INTERNET Corporation
  MM_SONY                       = 245; //  Sony Corporation
  MM_HYPERACTIVE                = 246; //  Hyperactive Audio Systems, Inc.
  MM_UHER_INFORMATIC            = 247; //  UHER informatic GmbH
  MM_SYDEC_NV                   = 248; //  Sydec NV
  MM_FLEXION                    = 249; //  Flexion Systems Ltd.
  MM_VIA                        = 250; //  Via Technologies, Inc.
  MM_MICRONAS                   = 251; //  Micronas Semiconductors, Inc.
  MM_ANALOGDEVICES              = 252; //  Analog Devices, Inc.
  MM_HP                         = 253; //  Hewlett Packard Company
  MM_MATROX_DIV                 = 254; //  Matrox
  MM_QUICKAUDIO                 = 255; //  Quick Audio, GbR
  MM_YOUCOM                     = 256; //  You/Com Audiocommunicatie BV
  MM_RICHMOND                   = 257; //  Richmond Sound Design Ltd.
  MM_IODD                       = 258; //  I-O Data Device, Inc.
  MM_ICCC                       = 259; //  ICCC A/S
  MM_3COM                       = 260; //  3COM Corporation
  MM_MALDEN                     = 261; //  Malden Electronics Ltd.
  MM_3DFX                       = 262; //  3Dfx Interactive, Inc.
  MM_MINDMAKER                  = 263; //  Mindmaker, Inc.
  MM_TELEKOL                    = 264; //  Telekol Corp.
  MM_ST_MICROELECTRONICS        = 265; //  ST Microelectronics
  MM_ALGOVISION                 = 266; //  Algo Vision Systems GmbH

  MM_UNMAPPED                   = $ffff; // extensible MID mapping
  MM_PID_UNMAPPED               = MM_UNMAPPED;  // extensible PID mapping

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// GUID stuff omitted
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  // MM_MICROSOFT product IDs
  MM_MIDI_MAPPER     =  1;  //  Midi Mapper
  MM_WAVE_MAPPER     =  2;  //  Wave Mapper
  MM_SNDBLST_MIDIOUT =  3;  //  Sound Blaster MIDI output port
  MM_SNDBLST_MIDIIN  =  4;  //  Sound Blaster MIDI input port
  MM_SNDBLST_SYNTH   =  5;  //  Sound Blaster internal synth
  MM_SNDBLST_WAVEOUT =  6;  //  Sound Blaster waveform output
  MM_SNDBLST_WAVEIN  =  7;  //  Sound Blaster waveform input
  MM_ADLIB           =  9;  //  Ad Lib Compatible synth
  MM_MPU401_MIDIOUT  = 10;  //  MPU 401 compatible MIDI output port
  MM_MPU401_MIDIIN   = 11;  //  MPU 401 compatible MIDI input port
  MM_PC_JOYSTICK     = 12;  //  Joystick adapter

  MM_PCSPEAKER_WAVEOUT           = 13;  //  PC speaker waveform output
  MM_MSFT_WSS_WAVEIN             = 14;  //  MS Audio Board waveform input
  MM_MSFT_WSS_WAVEOUT            = 15;  //  MS Audio Board waveform output
  MM_MSFT_WSS_FMSYNTH_STEREO     = 16;  //  MS Audio Board  Stereo FM synth
  MM_MSFT_WSS_MIXER              = 17;  //  MS Audio Board Mixer Driver
  MM_MSFT_WSS_OEM_WAVEIN         = 18;  //  MS OEM Audio Board waveform input
  MM_MSFT_WSS_OEM_WAVEOUT        = 19;  //  MS OEM Audio Board waveform output
  MM_MSFT_WSS_OEM_FMSYNTH_STEREO = 20;  //  MS OEM Audio Board Stereo FM Synth
  MM_MSFT_WSS_AUX                = 21;  //  MS Audio Board Aux. Port
  MM_MSFT_WSS_OEM_AUX            = 22;  //  MS OEM Audio Aux Port
  MM_MSFT_GENERIC_WAVEIN         = 23;  //  MS Vanilla driver waveform input
  MM_MSFT_GENERIC_WAVEOUT        = 24;  //  MS Vanilla driver wavefrom output
  MM_MSFT_GENERIC_MIDIIN         = 25;  //  MS Vanilla driver MIDI in
  MM_MSFT_GENERIC_MIDIOUT        = 26;  //  MS Vanilla driver MIDI  external out
  MM_MSFT_GENERIC_MIDISYNTH      = 27;  //  MS Vanilla driver MIDI synthesizer
  MM_MSFT_GENERIC_AUX_LINE       = 28;  //  MS Vanilla driver aux (line in)
  MM_MSFT_GENERIC_AUX_MIC        = 29;  //  MS Vanilla driver aux (mic)
  MM_MSFT_GENERIC_AUX_CD         = 30;  //  MS Vanilla driver aux (CD)
  MM_MSFT_WSS_OEM_MIXER          = 31;  //  MS OEM Audio Board Mixer Driver
  MM_MSFT_MSACM                  = 32;  //  MS Audio Compression Manager
  MM_MSFT_ACM_MSADPCM            = 33;  //  MS ADPCM Codec
  MM_MSFT_ACM_IMAADPCM           = 34;  //  IMA ADPCM Codec
  MM_MSFT_ACM_MSFILTER           = 35;  //  MS Filter
  MM_MSFT_ACM_GSM610             = 36;  //  GSM 610 codec
  MM_MSFT_ACM_G711               = 37;  //  G.711 codec
  MM_MSFT_ACM_PCM                = 38;  //  PCM converter

  // Microsoft Windows Sound System drivers

  MM_WSS_SB16_WAVEIN    = 39;  //  Sound Blaster 16 waveform input
  MM_WSS_SB16_WAVEOUT   = 40;  //  Sound Blaster 16  waveform output
  MM_WSS_SB16_MIDIIN    = 41;  //  Sound Blaster 16 midi-in
  MM_WSS_SB16_MIDIOUT   = 42;  //  Sound Blaster 16 midi out
  MM_WSS_SB16_SYNTH     = 43;  //  Sound Blaster 16 FM Synthesis
  MM_WSS_SB16_AUX_LINE  = 44;  //  Sound Blaster 16 aux (line in)
  MM_WSS_SB16_AUX_CD    = 45;  //  Sound Blaster 16 aux (CD)
  MM_WSS_SB16_MIXER     = 46;  //  Sound Blaster 16 mixer device
  MM_WSS_SBPRO_WAVEIN   = 47;  //  Sound Blaster Pro waveform input
  MM_WSS_SBPRO_WAVEOUT  = 48;  //  Sound Blaster Pro waveform output
  MM_WSS_SBPRO_MIDIIN   = 49;  //  Sound Blaster Pro midi in
  MM_WSS_SBPRO_MIDIOUT  = 50;  //  Sound Blaster Pro midi out
  MM_WSS_SBPRO_SYNTH    = 51;  //  Sound Blaster Pro FM synthesis
  MM_WSS_SBPRO_AUX_LINE = 52;  //  Sound Blaster Pro aux (line in )
  MM_WSS_SBPRO_AUX_CD   = 53;  //  Sound Blaster Pro aux (CD)
  MM_WSS_SBPRO_MIXER    = 54;  //  Sound Blaster Pro mixer

  MM_MSFT_WSS_NT_WAVEIN         = 55;  //  WSS NT wave in
  MM_MSFT_WSS_NT_WAVEOUT        = 56;  //  WSS NT wave out
  MM_MSFT_WSS_NT_FMSYNTH_STEREO = 57;  //  WSS NT FM synth
  MM_MSFT_WSS_NT_MIXER          = 58;  //  WSS NT mixer
  MM_MSFT_WSS_NT_AUX            = 59;  //  WSS NT aux

  MM_MSFT_SB16_WAVEIN    = 60;  //  Sound Blaster 16 waveform input
  MM_MSFT_SB16_WAVEOUT   = 61;  //  Sound Blaster 16  waveform output
  MM_MSFT_SB16_MIDIIN    = 62;  //  Sound Blaster 16 midi-in
  MM_MSFT_SB16_MIDIOUT   = 63;  //  Sound Blaster 16 midi out
  MM_MSFT_SB16_SYNTH     = 64;  //  Sound Blaster 16 FM Synthesis
  MM_MSFT_SB16_AUX_LINE  = 65;  //  Sound Blaster 16 aux (line in)
  MM_MSFT_SB16_AUX_CD    = 66;  //  Sound Blaster 16 aux (CD)
  MM_MSFT_SB16_MIXER     = 67;  //  Sound Blaster 16 mixer device
  MM_MSFT_SBPRO_WAVEIN   = 68;  //  Sound Blaster Pro waveform input
  MM_MSFT_SBPRO_WAVEOUT  = 69;  //  Sound Blaster Pro waveform output
  MM_MSFT_SBPRO_MIDIIN   = 70;  //  Sound Blaster Pro midi in
  MM_MSFT_SBPRO_MIDIOUT  = 71;  //  Sound Blaster Pro midi out
  MM_MSFT_SBPRO_SYNTH    = 72;  //  Sound Blaster Pro FM synthesis
  MM_MSFT_SBPRO_AUX_LINE = 73;  //  Sound Blaster Pro aux (line in )
  MM_MSFT_SBPRO_AUX_CD   = 74;  //  Sound Blaster Pro aux (CD)
  MM_MSFT_SBPRO_MIXER    = 75;  //  Sound Blaster Pro mixer
  MM_MSFT_MSOPL_SYNTH    = 76;  // Yamaha OPL2/OPL3 compatible FM synthesis

  MM_MSFT_VMDMS_LINE_WAVEIN         = 80;  // Voice Modem Serial Line Wave Input
  MM_MSFT_VMDMS_LINE_WAVEOUT        = 81;  // Voice Modem Serial Line Wave Output
  MM_MSFT_VMDMS_HANDSET_WAVEIN      = 82;  // Voice Modem Serial Handset Wave Input
  MM_MSFT_VMDMS_HANDSET_WAVEOUT     = 83;  // Voice Modem Serial Handset Wave Output
  MM_MSFT_VMDMW_LINE_WAVEIN         = 84;  // Voice Modem Wrapper Line Wave Input
  MM_MSFT_VMDMW_LINE_WAVEOUT        = 85;  // Voice Modem Wrapper Line Wave Output
  MM_MSFT_VMDMW_HANDSET_WAVEIN      = 86;  // Voice Modem Wrapper Handset Wave Input
  MM_MSFT_VMDMW_HANDSET_WAVEOUT     = 87;  // Voice Modem Wrapper Handset Wave Output
  MM_MSFT_VMDMW_MIXER               = 88;  // Voice Modem Wrapper Mixer
  MM_MSFT_VMDM_GAME_WAVEOUT         = 89;  // Voice Modem Game Compatible Wave Device
  MM_MSFT_VMDM_GAME_WAVEIN          = 90;  // Voice Modem Game Compatible Wave Device

  MM_MSFT_ACM_MSNAUDIO              = 91;  //
  MM_MSFT_ACM_MSG723                = 92;  //
  MM_MSFT_ACM_MSRT24                = 93;  //

  MM_MSFT_WDMAUDIO_WAVEOUT          = 100;  // Generic id for WDM Audio drivers
  MM_MSFT_WDMAUDIO_WAVEIN           = 101;  // Generic id for WDM Audio drivers
  MM_MSFT_WDMAUDIO_MIDIOUT          = 102;  // Generic id for WDM Audio drivers
  MM_MSFT_WDMAUDIO_MIDIIN           = 103;  // Generic id for WDM Audio drivers
  MM_MSFT_WDMAUDIO_MIXER            = 104;  // Generic id for WDM Audio drivers
  MM_MSFT_WDMAUDIO_AUX              = 105;  // Generic id for WDM Audio drivers

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Vendor media/product ID stuff omitted
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//////////////////////////////////////////////////////////////////////////

const
  // INFO LIST CHUNKS (from the Multimedia Programmer's Reference plus new ones)
  RIFFINFO_IARL = $4c524149;  // 'IARL' Archival location
  RIFFINFO_IART = $544d4349;  // 'IART' Artist
  RIFFINFO_ICMS = $534d4349;  // 'ICMS' Commissioned
  RIFFINFO_ICMT = $544d4349;  // 'ICMT' Comments
  RIFFINFO_ICOP = $504f4349;  // 'ICOP' Copyright
  RIFFINFO_ICRD = $44524349;  // 'ICRD' Creation date of subject
  RIFFINFO_ICRP = $50524349;  // 'ICRP' Cropped
  RIFFINFO_IDIM = $4d494449;  // 'IDIM' Dimensions
  RIFFINFO_IDPI = $49504449;  // 'IDPI' Dots per inch
  RIFFINFO_IENG = $474e4549;  // 'IENG' Engineer
  RIFFINFO_IGNR = $524e4749;  // 'IGNR' Genre
  RIFFINFO_IKEY = $59454b49;  // 'IKEY' Keywords
  RIFFINFO_ILGT = $54474c49;  // 'ILGT' Lightness settings
  RIFFINFO_IMED = $44454d49;  // 'IMED' Medium
  RIFFINFO_INAM = $4d414e49;  // 'INAM' Name of subject
  RIFFINFO_IPLT = $544c5049;  // 'IPLT' Palette Settings. No. of colors requested.
  RIFFINFO_IPRD = $44525049;  // 'IPRD' Product
  RIFFINFO_ISBJ = $4a425349;  // 'ISBJ' Subject description
  RIFFINFO_ISFT = $54465349;  // 'ISFT' Software. Name of package used to create file.
  RIFFINFO_ISHP = $50485349;  // 'ISHP' Sharpness.
  RIFFINFO_ISRC = $43525349;  // 'ISRC' Source.
  RIFFINFO_ISRF = $46525349;  // 'ISRF' Source Form. ie slide, paper
  RIFFINFO_ITCH = $47435449;  // 'ITCH' Technician who digitized the subject.
  RIFFINFO_ISMP = $504d5349;  // 'ISMP' SMPTE time code
  RIFFINFO_IDIT = $54494449;  // 'IDIT' Digitization Time

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

const
  // WAVE form wFormatTag IDs
  WAVE_FORMAT_UNKNOWN               = $0000;  // Microsoft Corporation 
  WAVE_FORMAT_ADPCM                 = $0002;  // Microsoft Corporation
  WAVE_FORMAT_IEEE_FLOAT            = $0003;  // Microsoft Corporation
                                              //  IEEE754: range (+1, -1]
                                              //  32-bit/64-bit format as defined by
                                              //  MSVC++ float/double type
  WAVE_FORMAT_VSELP                 = $0004;  // Compaq Computer Corp. */
  WAVE_FORMAT_IBM_CVSD              = $0005;  // IBM Corporation
  WAVE_FORMAT_ALAW                  = $0006;  // Microsoft Corporation
  WAVE_FORMAT_MULAW                 = $0007;  // Microsoft Corporation
  WAVE_FORMAT_DTS                   = $0008;  // Microsoft Corporation */
  WAVE_FORMAT_DRM                   = $0009;  // Microsoft Corporation */
  WAVE_FORMAT_OKI_ADPCM             = $0010;  // OKI
  WAVE_FORMAT_DVI_ADPCM             = $0011;  // Intel Corporation 
  WAVE_FORMAT_IMA_ADPCM             = WAVE_FORMAT_DVI_ADPCM; // Intel Corporation 
  WAVE_FORMAT_MEDIASPACE_ADPCM      = $0012;  // Videologic
  WAVE_FORMAT_SIERRA_ADPCM          = $0013;  // Sierra Semiconductor Corp 
  WAVE_FORMAT_G723_ADPCM            = $0014;  // Antex Electronics Corporation 
  WAVE_FORMAT_DIGISTD               = $0015;  // DSP Solutions, Inc. 
  WAVE_FORMAT_DIGIFIX               = $0016;  // DSP Solutions, Inc. 
  WAVE_FORMAT_DIALOGIC_OKI_ADPCM    = $0017;  // Dialogic Corporation
  WAVE_FORMAT_MEDIAVISION_ADPCM     = $0018;  // Media Vision, Inc. */
  WAVE_FORMAT_CU_CODEC              = $0019;  // Hewlett-Packard Company */
  WAVE_FORMAT_YAMAHA_ADPCM          = $0020;  // Yamaha Corporation of America
  WAVE_FORMAT_SONARC                = $0021;  // Speech Compression
  WAVE_FORMAT_DSPGROUP_TRUESPEECH   = $0022;  // DSP Group, Inc
  WAVE_FORMAT_ECHOSC1               = $0023;  // Echo Speech Corporation
  WAVE_FORMAT_AUDIOFILE_AF36        = $0024;  //
  WAVE_FORMAT_APTX                  = $0025;  // Audio Processing Technology
  WAVE_FORMAT_AUDIOFILE_AF10        = $0026;  //
  WAVE_FORMAT_PROSODY_1612          = $0027;  // Aculab plc */
  WAVE_FORMAT_LRC                   = $0028;  // Merging Technologies S.A. */
  WAVE_FORMAT_DOLBY_AC2             = $0030;  // Dolby Laboratories
  WAVE_FORMAT_GSM610                = $0031;  // Microsoft Corporation
  WAVE_FORMAT_MSNAUDIO              = $0032;  // Microsoft Corporation */
  WAVE_FORMAT_ANTEX_ADPCME          = $0033;  // Antex Electronics Corporation
  WAVE_FORMAT_CONTROL_RES_VQLPC     = $0034;  // Control Resources Limited
  WAVE_FORMAT_DIGIREAL              = $0035;  // DSP Solutions, Inc.
  WAVE_FORMAT_DIGIADPCM             = $0036;  // DSP Solutions, Inc.
  WAVE_FORMAT_CONTROL_RES_CR10      = $0037;  // Control Resources Limited
  WAVE_FORMAT_NMS_VBXADPCM          = $0038;  // Natural MicroSystems
  WAVE_FORMAT_CS_IMAADPCM           = $0039;  // Crystal Semiconductor IMA ADPCM
  WAVE_FORMAT_ECHOSC3               = $003A;  // Echo Speech Corporation */
  WAVE_FORMAT_ROCKWELL_ADPCM        = $003B;  // Rockwell International */
  WAVE_FORMAT_ROCKWELL_DIGITALK     = $003C;  // Rockwell International */
  WAVE_FORMAT_XEBEC                 = $003D;  // Xebec Multimedia Solutions Limited */
  WAVE_FORMAT_G721_ADPCM            = $0040;  // Antex Electronics Corporation
  WAVE_FORMAT_G728_CELP             = $0041;  // Antex Electronics Corporation */
  WAVE_FORMAT_MSG723                = $0042;  // Microsoft Corporation */
  WAVE_FORMAT_MPEG                  = $0050;  // Microsoft Corporation
  WAVE_FORMAT_RT24                  = $0052;  // InSoft, Inc. */
  WAVE_FORMAT_PAC                   = $0053;  // InSoft, Inc. */
  WAVE_FORMAT_MPEGLAYER3            = $0055;  // ISO/MPEG Layer3 Format Tag */
  WAVE_FORMAT_LUCENT_G723           = $0059;  // Lucent Technologies */
  WAVE_FORMAT_CIRRUS                = $0060;  // Cirrus Logic */
  WAVE_FORMAT_ESPCM                 = $0061;  // ESS Technology */
  WAVE_FORMAT_VOXWARE               = $0062;  // Voxware Inc */
  WAVE_FORMAT_CANOPUS_ATRAC         = $0063;  // Canopus, co., Ltd. */
  WAVE_FORMAT_G726_ADPCM            = $0064;  // APICOM */
  WAVE_FORMAT_G722_ADPCM            = $0065;  // APICOM */
  WAVE_FORMAT_DSAT_DISPLAY          = $0067;  // Microsoft Corporation */
  WAVE_FORMAT_VOXWARE_BYTE_ALIGNED  = $0069;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_AC8           = $0070;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_AC10          = $0071;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_AC16          = $0072;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_AC20          = $0073;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_RT24          = $0074;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_RT29          = $0075;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_RT29HW        = $0076;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_VR12          = $0077;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_VR18          = $0078;  // Voxware Inc */
  WAVE_FORMAT_VOXWARE_TQ40          = $0079;  // Voxware Inc */
  WAVE_FORMAT_SOFTSOUND             = $0080;  // Softsound, Ltd. */
  WAVE_FORMAT_VOXWARE_TQ60          = $0081;  // Voxware Inc */
  WAVE_FORMAT_MSRT24                = $0082;  // Microsoft Corporation */
  WAVE_FORMAT_G729A                 = $0083;  // AT&T Labs, Inc. */
  WAVE_FORMAT_MVI_MVI2              = $0084;  // Motion Pixels */
  WAVE_FORMAT_DF_G726               = $0085;  // DataFusion Systems (Pty) (Ltd) */
  WAVE_FORMAT_DF_GSM610             = $0086;  // DataFusion Systems (Pty) (Ltd) */
  WAVE_FORMAT_ISIAUDIO              = $0088;  // Iterated Systems, Inc. */
  WAVE_FORMAT_ONLIVE                = $0089;  // OnLive! Technologies, Inc. */
  WAVE_FORMAT_SBC24                 = $0091;  // Siemens Business Communications Sys */
  WAVE_FORMAT_DOLBY_AC3_SPDIF       = $0092;  // Sonic Foundry */
  WAVE_FORMAT_MEDIASONIC_G723       = $0093;  // MediaSonic */
  WAVE_FORMAT_PROSODY_8KBPS         = $0094;  // Aculab plc */
  WAVE_FORMAT_ZYXEL_ADPCM           = $0097;  // ZyXEL Communications, Inc. */
  WAVE_FORMAT_PHILIPS_LPCBB         = $0098;  // Philips Speech Processing */
  WAVE_FORMAT_PACKED                = $0099;  // Studer Professional Audio AG */
  WAVE_FORMAT_MALDEN_PHONYTALK      = $00A0;  // Malden Electronics Ltd. */
  WAVE_FORMAT_RHETOREX_ADPCM        = $0100;  // Rhetorex Inc. */
  WAVE_FORMAT_IRAT                  = $0101;  // BeCubed Software Inc. */
  WAVE_FORMAT_VIVO_G723             = $0111;  // Vivo Software */
  WAVE_FORMAT_VIVO_SIREN            = $0112;  // Vivo Software */
  WAVE_FORMAT_DIGITAL_G723          = $0123;  // Digital Equipment Corporation */
  WAVE_FORMAT_SANYO_LD_ADPCM        = $0125;  // Sanyo Electric Co., Ltd. */
  WAVE_FORMAT_SIPROLAB_ACEPLNET     = $0130;  // Sipro Lab Telecom Inc. */
  WAVE_FORMAT_SIPROLAB_ACELP4800    = $0131;  // Sipro Lab Telecom Inc. */
  WAVE_FORMAT_SIPROLAB_ACELP8V3     = $0132;  // Sipro Lab Telecom Inc. */
  WAVE_FORMAT_SIPROLAB_G729         = $0133;  // Sipro Lab Telecom Inc. */
  WAVE_FORMAT_SIPROLAB_G729A        = $0134;  // Sipro Lab Telecom Inc. */
  WAVE_FORMAT_SIPROLAB_KELVIN       = $0135;  // Sipro Lab Telecom Inc. */
  WAVE_FORMAT_G726ADPCM             = $0140;  // Dictaphone Corporation */
  WAVE_FORMAT_QUALCOMM_PUREVOICE    = $0150;  // Qualcomm, Inc. */
  WAVE_FORMAT_QUALCOMM_HALFRATE     = $0151;  // Qualcomm, Inc. */
  WAVE_FORMAT_TUBGSM                = $0155;  // Ring Zero Systems, Inc. */
  WAVE_FORMAT_MSAUDIO1              = $0160;  // Microsoft Corporation */
  WAVE_FORMAT_UNISYS_NAP_ADPCM      = $0170;  // Unisys Corp. */
  WAVE_FORMAT_UNISYS_NAP_ULAW       = $0171;  // Unisys Corp. */
  WAVE_FORMAT_UNISYS_NAP_ALAW       = $0172;  // Unisys Corp. */
  WAVE_FORMAT_UNISYS_NAP_16K        = $0173;  // Unisys Corp. */
  WAVE_FORMAT_CREATIVE_ADPCM        = $0200;  // Creative Labs, Inc
  WAVE_FORMAT_CREATIVE_FASTSPEECH8  = $0202;  // Creative Labs, Inc
  WAVE_FORMAT_CREATIVE_FASTSPEECH10 = $0203;  // Creative Labs, Inc
  WAVE_FORMAT_UHER_ADPCM            = $0210;  // UHER informatic GmbH */
  WAVE_FORMAT_QUARTERDECK           = $0220;  // Quarterdeck Corporation */
  WAVE_FORMAT_ILINK_VC              = $0230;  // I-link Worldwide */
  WAVE_FORMAT_RAW_SPORT             = $0240;  // Aureal Semiconductor */
  WAVE_FORMAT_ESST_AC3              = $0241;  // ESS Technology, Inc. */
  WAVE_FORMAT_IPI_HSX               = $0250;  // Interactive Products, Inc. */
  WAVE_FORMAT_IPI_RPELP             = $0251;  // Interactive Products, Inc. */
  WAVE_FORMAT_CS2                   = $0260;  // Consistent Software */
  WAVE_FORMAT_SONY_SCX              = $0270;  // Sony Corp. */
  WAVE_FORMAT_FM_TOWNS_SND          = $0300;  // Fujitsu Corp.
  WAVE_FORMAT_BTV_DIGITAL           = $0400;  // Brooktree Corporation */
  WAVE_FORMAT_QDESIGN_MUSIC         = $0450;  // QDesign Corporation */
  WAVE_FORMAT_VME_VMPCM             = $0680;  // AT&T Labs, Inc. */
  WAVE_FORMAT_TPC                   = $0681;  // AT&T Labs, Inc. */
  WAVE_FORMAT_OLIGSM                = $1000;  // Ing C. Olivetti & C., S.p.A.
  WAVE_FORMAT_OLIADPCM              = $1001;  // Ing C. Olivetti & C., S.p.A.
  WAVE_FORMAT_OLICELP               = $1002;  // Ing C. Olivetti & C., S.p.A.
  WAVE_FORMAT_OLISBC                = $1003;  // Ing C. Olivetti & C., S.p.A.
  WAVE_FORMAT_OLIOPR                = $1004;  // Ing C. Olivetti & C., S.p.A.
  WAVE_FORMAT_LH_CODEC              = $1100;  // Lernout & Hauspie */
  WAVE_FORMAT_NORRIS                = $1400;  // Norris Communications, Inc. */
  WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS = $1500;  // AT&T Labs, Inc. */
  WAVE_FORMAT_DVM                   = $2000;  // FAST Multimedia AG */

  WAVE_FORMAT_EXTENSIBLE            = $FFFE;  // Microsoft */

  // the WAVE_FORMAT_DEVELOPMENT format tag can be used during the
  // development phase of a new wave format.  Before shipping, you
  // MUST acquire an official format tag from Microsoft.
  WAVE_FORMAT_DEVELOPMENT           = $FFFF;

type
  // Define data for MS ADPCM
  PADPCMCoefSet = ^TADPCMCoefSet;
  TADPCMCoefSet = packed record
    iCoef1: Word;
    iCoef2: Word;
  end;

  PADPCMWaveFormat = ^TADPCMWaveFormat;
  TADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
    wNumCoef: Word;
    aCoef: array [0 .. 0] of TADPCMCoefSet;
  end;

  //  Intel's DVI ADPCM structure definitions
  //      for WAVE_FORMAT_DVI_ADPCM   (0x0011)
  PDVIADPCMWaveFormat = ^TDVIADPCMWaveFormat;
  TDVIADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  //  IMA endorsed ADPCM structure definitions--note that this
  //  is exactly the same format as Intel's DVI ADPCM.
  //  for WAVE_FORMAT_IMA_ADPCM   (0x0011)
  PIMAADPCMWaveFormat = ^TIMAADPCMWaveFormat;
  TIMAADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  // VideoLogic's Media Space ADPCM Structure definitions
  // for  WAVE_FORMAT_MEDIASPACE_ADPCM    (0x0012)
  PMediaSpaceADPCMWaveFormat = ^TMediaSpaceADPCMWaveFormat;
  TMediaSpaceADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
  end;

  //  Sierra Semiconductor
  //  for WAVE_FORMAT_SIERRA_ADPCM   (0x0013)
  PSierraADPCMWaveFormat = ^TSierraADPCMWaveFormat;
  TSierraADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
  end;

  //  Antex Electronics  structure definitions
  //      for WAVE_FORMAT_G723_ADPCM   (0x0014)
  PG723_ADPCMWaveFormat = ^TG723_ADPCMWaveFormat;
  TG723_ADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    cbExtraSize: Word;
    nAuxBlockSize: Word;
  end;

  //  DSP Solutions (formerly DIGISPEECH) structure definitions
  //      for WAVE_FORMAT_DIGISTD   (0x0015)
  PDigiStdWaveFormat = ^TDigiStdWaveFormat;
  TDigiStdWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  DSP Solutions (formerly DIGISPEECH) structure definitions
  //      for WAVE_FORMAT_DIGIFIX   (0x0016)
  PDigiFixWaveFormat = ^TDigiFixWaveFormat;
  TDigiFixWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //   Dialogic Corporation
  // WAVEFORMAT_DIALOGIC_OKI_ADPCM   (0x0017)
  PDialogIkokiADPCMWaveFormat = ^TDialogIkokiADPCMWaveFormat;
  TDialogIkokiADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Yamaha Compression's ADPCM structure definitions
  //      for WAVE_FORMAT_YAMAHA_ADPCM   (0x0020)
  PYamaha_ADPCMWaveFormat = ^TYamaha_ADPCMWaveFormat;
  TYamaha_ADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Speech Compression's Sonarc structure definitions
  //      for WAVE_FORMAT_SONARC   (0x0021)
  PSonarcWaveFormat = ^TSonarcWaveFormat;
  TSonarcWaveFormat = packed record
    wfx: TWaveFormatEx;
    wCompType: Word;
  end;

  //  DSP Groups's TRUESPEECH structure definitions
  //      for WAVE_FORMAT_DSPGROUP_TRUESPEECH   (0x0022)
  PTrueSpeechWaveFormat = ^TTrueSpeechWaveFormat;
  TTrueSpeechWaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
    wSamplesPerBlock: Word;
    abReserved: array [0 .. 27] of Byte;
  end;

  //  Echo Speech Corp structure definitions
  //      for WAVE_FORMAT_ECHOSC1   (0x0023)
  PEchoSC1WaveFormat = ^TEchoSC1WaveFormat;
  TEchoSC1WaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Audiofile Inc.structure definitions
  //      for WAVE_FORMAT_AUDIOFILE_AF36   (0x0024)
  PAudioFile_AF36WaveFormat = ^TAudioFile_AF36WaveFormat;
  TAudioFile_AF36WaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Audio Processing Technology structure definitions
  //      for WAVE_FORMAT_APTX   (0x0025)
  PAPTXWaveFormat = ^TAPTXWaveFormat;
  TAPTXWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Audiofile Inc.structure definitions
  //      for WAVE_FORMAT_AUDIOFILE_AF10   (0x0026)
  PAudioFile_AF10WaveFormat = ^TAudioFile_AF10WaveFormat;
  TAudioFile_AF10WaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  // Dolby's AC-2 wave format structure definition
  //           WAVE_FORMAT_DOLBY_AC2    (0x0030)*/
  PDolbyAC2WaveFormat = ^TDolbyAC2WaveFormat;
  TDolbyAC2WaveFormat = packed record
    wfx: TWaveFormatEx;
    nAuxBitsCode: Word;
  end;

  // Microsoft's
  // WAVE_FORMAT_GSM 610           0x0031
  PGSM610WaveFormat = ^TGSM610WaveFormat;
  TGSM610WaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  // Antex Electronics Corp
  // for WAVE_FORMAT_ADPCME                  (0x0033)
  PADPCMEWaveFormat = ^TADPCMEWaveFormat;
  TADPCMEWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  // Control Resources Limited */
  // WAVE_FORMAT_CONTROL_RES_VQLPC                 0x0034
  PContresVQLPCWaveFormat = ^TContresVQLPCWaveFormat;
  TContresVQLPCWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  // for WAVE_FORMAT_DIGIREAL                   (0x0035)
  PDigiRealWaveFormat = ^TDigiRealWaveFormat;
  TDigiRealWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  //  DSP Solutions
  //      for WAVE_FORMAT_DIGIADPCM   (0x0036)
  PDigiADPCMWaveFormat = ^TDigiADPCMWaveFormat;
  TDigiADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  //       Control Resources Limited */
  // WAVE_FORMAT_CONTROL_RES_CR10          0x0037
  PContResCR10WaveFormat = ^TContResCR10WaveFormat;
  TContResCR10WaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  //  Natural Microsystems
  //      for WAVE_FORMAT_NMS_VBXADPCM   (0x0038)
  PVBXADPCMWaveFormat = ^TVBXADPCMWaveFormat;
  TVBXADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  //  Antex Electronics  structure definitions
  //      for WAVE_FORMAT_G721_ADPCM   (0x0040)
  PG721_ADPCMWaveFormat = ^TG721_ADPCMWaveFormat;
  TG721_ADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wSamplesPerBlock: Word;
  end;

  // Microsoft MPEG audio WAV definition
  //  MPEG-1 audio wave format (audio layer only).   (0x0050)
  PMPEG1WaveFormat = ^TMPEG1WaveFormat;
  TMPEG1WaveFormat = packed record
    wfx: TWaveFormatEx;
    fwHeadLayer: Word;
    dwHeadBitrate: DWORD;
    fwHeadMode: Word;
    fwHeadModeExt: Word;
    wHeadEmphasis: Word;
    fwHeadFlags: Word;
    dwPTSlow: DWORD;
    dwPTShigh: DWORD;
  end;

const
  ACM_MPEG_LAYER1             = $0001;
  ACM_MPEG_LAYER2             = $0002;
  ACM_MPEG_LAYER3             = $0004;
  ACM_MPEG_STEREO             = $0001;
  ACM_MPEG_JOINTSTEREO        = $0002;
  ACM_MPEG_DUALCHANNEL        = $0004;
  ACM_MPEG_SINGLECHANNEL      = $0008;
  ACM_MPEG_PRIVATEBIT         = $0001;
  ACM_MPEG_COPYRIGHT          = $0002;
  ACM_MPEG_ORIGINALHOME       = $0004;
  ACM_MPEG_PROTECTIONBIT      = $0008;
  ACM_MPEG_ID_MPEG1           = $0010;

type
  //  Creative's ADPCM structure definitions
  //      for WAVE_FORMAT_CREATIVE_ADPCM   (0x0200)
  PCreativeADPCMWaveFormat = ^TCreativeADPCMWaveFormat;
  TCreativeADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
  end;

  //    Creative FASTSPEECH
  // WAVEFORMAT_CREATIVE_FASTSPEECH8   (0x0202)
  PCreativeFastSpeech8WaveFormat = ^TCreativeFastSpeech8WaveFormat;
  TCreativeFastSpeech8WaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
  end;

  //    Creative FASTSPEECH
  // WAVEFORMAT_CREATIVE_FASTSPEECH10   (0x0203)
  PCreativeFastSpeech10WaveFormat = ^TCreativeFastSpeech10WaveFormat;
  TCreativeFastSpeech10WaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
  end;

  //  Fujitsu FM Towns 'SND' structure
  //      for WAVE_FORMAT_FMMTOWNS_SND   (0x0300)
  PFMTowns_Snd_WaveFormat = ^TFMTowns_Snd_WaveFormat;
  TFMTowns_Snd_WaveFormat = packed record
    wfx: TWaveFormatEx;
    wRevision: Word;
  end;

  //  Olivetti structure
  //      for WAVE_FORMAT_OLIGSM   (0x1000)
  POliGSMWaveFormat = ^TOliGSMWaveFormat;
  TOliGSMWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Olivetti structure
  //      for WAVE_FORMAT_OLIADPCM   (0x1001)
  POliADPCMWaveFormat = ^TOliADPCMWaveFormat;
  TOliADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Olivetti structure
  //      for WAVE_FORMAT_OLICELP   (0x1002)
  POliCelpWaveFormat = ^TOliCelpWaveFormat;
  TOliCelpWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Olivetti structure
  //      for WAVE_FORMAT_OLISBC   (0x1003)
  POliSbcWaveFormat = ^TOliSbcWaveFormat;
  TOliSbcWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Olivetti structure
  //      for WAVE_FORMAT_OLIOPR   (0x1004)
  POliOprWaveFormat = ^TOliOprWaveFormat;
  TOliOprWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

  //  Crystal Semiconductor IMA ADPCM format
  //      for WAVE_FORMAT_CS_IMAADPCM   (0x0039)
  PCSIMAADPCMWaveFormat = ^TCSIMAADPCMWaveFormat;
  TCSIMAADPCMWaveFormat = packed record
    wfx: TWaveFormatEx;
  end;

//======================================================================

const
//WAVE_FORMAT_MPEGLAYER3           = $55;
  MPEGLAYER3_WFX_EXTRA_BYTES       = 12;

  MPEGLAYER3_ID_UNKNOWN            = 0;
  MPEGLAYER3_ID_MPEG               = 1;
  MPEGLAYER3_ID_CONSTANTFRAMESIZE  = 2;

  MPEGLAYER3_FLAG_PADDING_ISO      = $00000000;
  MPEGLAYER3_FLAG_PADDING_ON       = $00000001;
  MPEGLAYER3_FLAG_PADDING_OFF      = $00000002;

{ Die Encoder unterscheiden sich ein wenig in der Art, wie ein MP3
  "verunstaltet" wird.

  Alle Encoder platzieren vor den originalen (umgewandelten) Samples einen
  Block Stille von einer gewissen Länge. Diese hat mindestens einen Frame
  Länge. In einer Wave-Datei wird die Länge dieser Stille durch das Feld
  nCodecDelay angegeben (in vollen Samples, also ggf. stereo).

  Bei Microsoft und dem Fraunhofer Codec steht dort (immer) der Wert 1393.

    Decoder
      1 Granule Stille:          576
    Encoder
      Standard MDTC Filterbank:  528
      Attenuation (max):         288
                                ====
      Stille am Anfang:         1392

  LAME erzeugt unterschiedliche Werte um die 2257 Samples, allerdings nur
  ~1105 bei VBR (also etwas mehr als eine Framelänge).

                                 CBR    VBR
    Decoder                     ----   ----
      1 Granule Stille:          576    576
    Encoder
      1 Frame Stille:           1152
      Standard MDTC Filterbank:  528    528
                                ====   ====
                                2256   1104

  Außerdem generieren alle Encoder ebenso Stille am Ende der Datei.

  Der MS generiert hier etwa 1/4 Sekunde, der Fraunhofer etwa 1/2 Sekunde.
  LAME ist hier sehr sparsam: der letzte Frame wird abgeschlossen und darauf
  folgen noch zwei leere Frames, bei VBR noch nicht einmal dies: nur der
  letzte Frame wird abgeschlossen.

  Da diese Werte automatisch generiert sind, sind sie in der Sample-Länge,
  die im "fact"-Chunk angegeben wird, nicht enthalten!
}

type
  PMpegLayer3WaveFormat = ^TMpegLayer3WaveFormat;
  TMpegLayer3WaveFormat = packed record
    wfx: TWaveFormatEx;
    wID: word;                  // MPEGLAYER3_ID_MPEG
    fdwFlags: cardinal;         // MPEGLAYER3_FLAG_...
    nBlockSize: word;           // Größe eines MP3-Frames
    nFramesPerBlock: word;      // Norm. 1
    nCodecDelay: word;          // Leere Samples, die der Codec am Beginn hinzugefügt hat
                                // ACM codecs (MS, Fraunhofer): 1393 zu 1152
                                // Lame: 2257 zu 1152
  end;

//==========================================================================;
//  ACM Wave Filters
//==========================================================================;

const
  WAVE_FILTER_UNKNOWN     = $0000;
  WAVE_FILTER_DEVELOPMENT = $FFFF;

type
  PWaveFilter = ^TWaveFilter;
  TWaveFilter = packed record
    cbStruct: DWORD;                      // Size of the filter in bytes
    dwFilterTag: DWORD;                   // filter type
    fdwFilter: DWORD;                     // Flags for the filter (Universal Dfns)
    dwReserved: array [0 .. 4] of DWORD;  // Reserved for system use
  end;

const
  WAVE_FILTER_VOLUME      = $0001;

type
  PVolumeWaveFilter = ^TVolumeWaveFilter;
  TVolumeWaveFilter = packed record
    wfltr: TWaveFilter;
    dwVolume: DWORD;
  end;

const
  WAVE_FILTER_ECHO        = $0002;

type
  PEchoWaveFilter = ^TEchoWaveFilter;
  TEchoWaveFilter = packed record
    wfltr: TWaveFilter;
    dwVolume: DWORD;
    dwDelay: DWORD;
  end;

//////////////////////////////////////////////////////////////////////////
// New RIFF WAVE Chunks

const
  RIFFWAVE_INST = $74736e69;  // 'inst'

type
  Ps_RIFFWAVE_INST = ^Ts_RIFFWAVE_INST;
  Ts_RIFFWAVE_INST = packed record
    bUnshiftedNote: Byte;
    chFineTune: ShortInt;
    chGain: ShortInt;
    bLowNote: Byte;
    bHighNote: Byte;
    bLowVelocity: Byte;
    bHighVelocity: Byte;
  end;

//////////////////////////////////////////////////////////////////////////
// New RIFF Forms

// RIFF AVI
//
// AVI file format is specified in a seperate file (AVIFMT.H),
// which is available in the VfW and Win 32 SDK

// RIFF CPPO

const
  RIFFCPPO      = $4f505043;   // 'CPPO'

  RIFFCPPO_objr = $726a626f;   // 'objr'
  RIFFCPPO_obji = $696a626f;   // 'obji'

  RIFFCPPO_clsr = $72736c63;   // 'clsr'
  RIFFCPPO_clsi = $69736c63;   // 'clsi'

  RIFFCPPO_mbr  = $2072626d;   // 'mbr '

  RIFFCPPO_char = $72616863;   // 'char'

  RIFFCPPO_byte = $65747962;   // 'byte'
  RIFFCPPO_int  = $20746e69;   // 'int '
  RIFFCPPO_word = $64726f77;   // 'word'
  RIFFCPPO_long = $676e6f6c;   // 'long'
  RIFFCPPO_dwrd = $64627764;   // 'dwrd'
  RIFFCPPO_flt  = $20746c66;   // 'flt '
  RIFFCPPO_dbl  = $206c6264;   // 'dbl '
  RIFFCPPO_str  = $20727473;   // 'str '

//////////////////////////////////////////////////////////////////////////
// DIB Compression Defines

const
  BI_BITFIELDS = 3;

  QUERYDIBSUPPORT = 3073;
  QDI_SETDIBITS   = $0001;
  QDI_GETDIBITS   = $0002;
  QDI_DIBTOSCREEN = $0004;
  QDI_STRETCHDIB  = $0008;

type
  // Structure definitions
  PExBmInfoHeader = ^TExBmInfoHeader;
  TExBmInfoHeader = packed record
    bmi: TBitmapInfoHeader;
    // extended BITMAPINFOHEADER fields
    biExtDataOffset: DWORD;
  end;

const
  // New DIB Compression Defines
  BICOMP_IBMULTIMOTION  = $49544c55;  // 'ULTI'
  BICOMP_IBMPHOTOMOTION = $4f4d4850;  // 'PHMO'
  BICOMP_CREATIVEYUV    = $56555943;  // 'cyuv'

  // New DIB Compression Defines
  JPEG_DIB              = $4745504a;  // 'JPEG' Still image JPEG DIB biCompression
  MJPG_DIB              = $4745504d;  // 'MJPG' Motion JPEG DIB biCompression

  // JPEGProcess Definitions
  JPEG_PROCESS_BASELINE = 0;          // Baseline DCT

  // AVI File format extensions
  AVIIF_CONTROLFRAME    = $00000200;  // This is a control frame

{
/* JIF Marker byte pairs in JPEG Interchange Format sequence */
#define JIFMK_SOF0    0xFFC0   /* SOF Huff  - Baseline DCT*/
#define JIFMK_SOF1    0xFFC1   /* SOF Huff  - Extended sequential DCT*/
#define JIFMK_SOF2    0xFFC2   /* SOF Huff  - Progressive DCT*/
#define JIFMK_SOF3    0xFFC3   /* SOF Huff  - Spatial (sequential) lossless*/
#define JIFMK_SOF5    0xFFC5   /* SOF Huff  - Differential sequential DCT*/
#define JIFMK_SOF6    0xFFC6   /* SOF Huff  - Differential progressive DCT*/
#define JIFMK_SOF7    0xFFC7   /* SOF Huff  - Differential spatial*/
#define JIFMK_JPG     0xFFC8   /* SOF Arith - Reserved for JPEG extensions*/
#define JIFMK_SOF9    0xFFC9   /* SOF Arith - Extended sequential DCT*/
#define JIFMK_SOF10   0xFFCA   /* SOF Arith - Progressive DCT*/
#define JIFMK_SOF11   0xFFCB   /* SOF Arith - Spatial (sequential) lossless*/
#define JIFMK_SOF13   0xFFCD   /* SOF Arith - Differential sequential DCT*/
#define JIFMK_SOF14   0xFFCE   /* SOF Arith - Differential progressive DCT*/
#define JIFMK_SOF15   0xFFCF   /* SOF Arith - Differential spatial*/
#define JIFMK_DHT     0xFFC4   /* Define Huffman Table(s) */
#define JIFMK_DAC     0xFFCC   /* Define Arithmetic coding conditioning(s) */
#define JIFMK_RST0    0xFFD0   /* Restart with modulo 8 count 0 */
#define JIFMK_RST1    0xFFD1   /* Restart with modulo 8 count 1 */
#define JIFMK_RST2    0xFFD2   /* Restart with modulo 8 count 2 */
#define JIFMK_RST3    0xFFD3   /* Restart with modulo 8 count 3 */
#define JIFMK_RST4    0xFFD4   /* Restart with modulo 8 count 4 */
#define JIFMK_RST5    0xFFD5   /* Restart with modulo 8 count 5 */
#define JIFMK_RST6    0xFFD6   /* Restart with modulo 8 count 6 */
#define JIFMK_RST7    0xFFD7   /* Restart with modulo 8 count 7 */
#define JIFMK_SOI     0xFFD8   /* Start of Image */
#define JIFMK_EOI     0xFFD9   /* End of Image */
#define JIFMK_SOS     0xFFDA   /* Start of Scan */
#define JIFMK_DQT     0xFFDB   /* Define quantization Table(s) */
#define JIFMK_DNL     0xFFDC   /* Define Number of Lines */
#define JIFMK_DRI     0xFFDD   /* Define Restart Interval */
#define JIFMK_DHP     0xFFDE   /* Define Hierarchical progression */
#define JIFMK_EXP     0xFFDF   /* Expand Reference Component(s) */
#define JIFMK_APP0    0xFFE0   /* Application Field 0*/
#define JIFMK_APP1    0xFFE1   /* Application Field 1*/
#define JIFMK_APP2    0xFFE2   /* Application Field 2*/
#define JIFMK_APP3    0xFFE3   /* Application Field 3*/
#define JIFMK_APP4    0xFFE4   /* Application Field 4*/
#define JIFMK_APP5    0xFFE5   /* Application Field 5*/
#define JIFMK_APP6    0xFFE6   /* Application Field 6*/
#define JIFMK_APP7    0xFFE7   /* Application Field 7*/
#define JIFMK_JPG0    0xFFF0   /* Reserved for JPEG extensions */
#define JIFMK_JPG1    0xFFF1   /* Reserved for JPEG extensions */
#define JIFMK_JPG2    0xFFF2   /* Reserved for JPEG extensions */
#define JIFMK_JPG3    0xFFF3   /* Reserved for JPEG extensions */
#define JIFMK_JPG4    0xFFF4   /* Reserved for JPEG extensions */
#define JIFMK_JPG5    0xFFF5   /* Reserved for JPEG extensions */
#define JIFMK_JPG6    0xFFF6   /* Reserved for JPEG extensions */
#define JIFMK_JPG7    0xFFF7   /* Reserved for JPEG extensions */
#define JIFMK_JPG8    0xFFF8   /* Reserved for JPEG extensions */
#define JIFMK_JPG9    0xFFF9   /* Reserved for JPEG extensions */
#define JIFMK_JPG10   0xFFFA   /* Reserved for JPEG extensions */
#define JIFMK_JPG11   0xFFFB   /* Reserved for JPEG extensions */
#define JIFMK_JPG12   0xFFFC   /* Reserved for JPEG extensions */
#define JIFMK_JPG13   0xFFFD   /* Reserved for JPEG extensions */
#define JIFMK_COM     0xFFFE   /* Comment */
#define JIFMK_TEM     0xFF01   /* for temp private use arith code */
#define JIFMK_RES     0xFF02   /* Reserved */
#define JIFMK_00      0xFF00   /* Zero stuffed byte - entropy data */
#define JIFMK_FF      0xFFFF   /* Fill byte */

/* JPEGColorSpaceID Definitions */
#define JPEG_Y          1       /* Y only component of YCbCr */
#define JPEG_YCbCr      2       /* YCbCr as define by CCIR 601 */
#define JPEG_RGB        3       /* 3 component RGB */
}

type
  // Structure definitions
  PJPEGInfoHeader = ^TJPEGInfoHeader;
  TJPEGInfoHeader = packed record
    // compression-specific fields
    // these fields are defined for 'JPEG' and 'MJPG'
    JPEGSize: DWORD;
    JPEGProcess: DWORD;

    // Process specific fields
    JPEGColorSpaceID: DWORD;
    JPEGBitsPerSample: DWORD;
    JPEGHSubSampling: DWORD;
    JPEGVSubSampling: DWORD;
  end;

const
  // Default DHT Segment
  MJPGDHTSeg: array [0 .. $1a3] of byte = (
    // JPEG DHT Segment for YCrCb omitted from MJPG data
    $FF,$C4,$01,$A2,
    $00,$00,$01,$05,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,
    $01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$01,$00,$03,$01,$01,$01,$01,
    $01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$01,$02,$03,$04,$05,$06,$07,
    $08,$09,$0A,$0B,$10,$00,$02,$01,$03,$03,$02,$04,$03,$05,$05,$04,$04,$00,
    $00,$01,$7D,$01,$02,$03,$00,$04,$11,$05,$12,$21,$31,$41,$06,$13,$51,$61,
    $07,$22,$71,$14,$32,$81,$91,$A1,$08,$23,$42,$B1,$C1,$15,$52,$D1,$F0,$24,
    $33,$62,$72,$82,$09,$0A,$16,$17,$18,$19,$1A,$25,$26,$27,$28,$29,$2A,$34,
    $35,$36,$37,$38,$39,$3A,$43,$44,$45,$46,$47,$48,$49,$4A,$53,$54,$55,$56,
    $57,$58,$59,$5A,$63,$64,$65,$66,$67,$68,$69,$6A,$73,$74,$75,$76,$77,$78,
    $79,$7A,$83,$84,$85,$86,$87,$88,$89,$8A,$92,$93,$94,$95,$96,$97,$98,$99,
    $9A,$A2,$A3,$A4,$A5,$A6,$A7,$A8,$A9,$AA,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,
    $BA,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$D2,$D3,$D4,$D5,$D6,$D7,$D8,$D9,
    $DA,$E1,$E2,$E3,$E4,$E5,$E6,$E7,$E8,$E9,$EA,$F1,$F2,$F3,$F4,$F5,$F6,$F7,
    $F8,$F9,$FA,$11,$00,$02,$01,$02,$04,$04,$03,$04,$07,$05,$04,$04,$00,$01,
    $02,$77,$00,$01,$02,$03,$11,$04,$05,$21,$31,$06,$12,$41,$51,$07,$61,$71,
    $13,$22,$32,$81,$08,$14,$42,$91,$A1,$B1,$C1,$09,$23,$33,$52,$F0,$15,$62,
    $72,$D1,$0A,$16,$24,$34,$E1,$25,$F1,$17,$18,$19,$1A,$26,$27,$28,$29,$2A,
    $35,$36,$37,$38,$39,$3A,$43,$44,$45,$46,$47,$48,$49,$4A,$53,$54,$55,$56,
    $57,$58,$59,$5A,$63,$64,$65,$66,$67,$68,$69,$6A,$73,$74,$75,$76,$77,$78,
    $79,$7A,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$92,$93,$94,$95,$96,$97,$98,
    $99,$9A,$A2,$A3,$A4,$A5,$A6,$A7,$A8,$A9,$AA,$B2,$B3,$B4,$B5,$B6,$B7,$B8,
    $B9,$BA,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$D2,$D3,$D4,$D5,$D6,$D7,$D8,
    $D9,$DA,$E2,$E3,$E4,$E5,$E6,$E7,$E8,$E9,$EA,$F2,$F3,$F4,$F5,$F6,$F7,$F8,
    $F9,$FA
  );

//////////////////////////////////////////////////////////////////////////
// Defined IC types

const
  // Misc. FOURCC registration

  // Sierra Semiconductor: RDSP- Confidential RIFF file format
  //       for the storage and downloading of DSP
  //       code for Audio and communications devices.
  FOURCC_RDSP  = $50534452;  // 'RDSP'

  MIXERCONTROL_CONTROLTYPE_SRS_MTS         = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6;
  MIXERCONTROL_CONTROLTYPE_SRS_ONOFF       = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7;
  MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8;

implementation

end.
Flocke's Garage
Valid HTML 4.01 Transitional Valid CSS!
(C) 2005-2018 Volker Siebert.
Creative Commons-LizenzvertragDer gesamte Inhalt dieser Webseite steht unter einer Creative Commons-Lizenz (sofern nicht anders angegeben).