-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Andrew Michalik
committed
Sep 13, 2014
1 parent
07527cb
commit b12d4ca
Showing
37 changed files
with
5,764 additions
and
0 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
static BYTE ucBitRev[256] = { | ||
0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, | ||
0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, | ||
0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, | ||
0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, | ||
0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, | ||
0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, | ||
0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, | ||
0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, | ||
0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, | ||
0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, | ||
0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, | ||
0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, | ||
0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, | ||
0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, | ||
0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, | ||
0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, | ||
0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, | ||
0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, | ||
0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, | ||
0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, | ||
0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, | ||
0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, | ||
0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, | ||
0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, | ||
0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, | ||
0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, | ||
0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, | ||
0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, | ||
0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, | ||
0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, | ||
0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, | ||
0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff, | ||
}; |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
/************************************************************************/ | ||
/* Wave File Definitions (DOS): WavFil.h V2.00 07/15/94 */ | ||
/* Copyright (c) 1987-1994 Andrew J. Michalik */ | ||
/* */ | ||
/************************************************************************/ | ||
#define WIOMAXNAM 256 /* Max length of file name */ | ||
#define CHKNAMLEN 4 | ||
#define CHKSIZLEN 4 | ||
|
||
/************************************************************************/ | ||
/* Declarations for Windows KERNEL Functions */ | ||
/************************************************************************/ | ||
#if !(defined (WM_NULL)) /* No Win */ | ||
typedef UINT HTASK; | ||
typedef signed long LONG; | ||
#elif !(defined (WF_ENHANCED)) /* Win 2.x */ | ||
#elif !(defined (WF_PAGING)) /* Win 2 & 3.0 */ | ||
#elif (defined (WF_PAGING)) /* Win 3.1 only */ | ||
#endif | ||
|
||
/************************************************************************/ | ||
/************************************************************************/ | ||
typedef UINT HMMIO; | ||
typedef unsigned long FOURCC; /* a four character code */ | ||
typedef char _huge * HPSTR; /* a huge version of LPSTR */ | ||
typedef void far * LPMMIOPROC; | ||
|
||
/************************************************************************/ | ||
/************************************************************************/ | ||
typedef struct _MMIOINFO | ||
{ | ||
/* general fields */ | ||
DWORD dwFlags; /* general status flags */ | ||
FOURCC fccIOProc; /* pointer to I/O procedure */ | ||
LPMMIOPROC pIOProc; /* pointer to I/O procedure */ | ||
UINT wErrorRet; /* place for error to be returned */ | ||
HTASK htask; /* alternate local task */ | ||
|
||
/* fields maintained by MMIO functions during buffered I/O */ | ||
LONG cchBuffer; /* size of I/O buffer (or 0L) */ | ||
HPSTR pchBuffer; /* start of I/O buffer (or NULL) */ | ||
HPSTR pchNext; /* pointer to next byte to read/write */ | ||
HPSTR pchEndRead; /* pointer to last valid byte to read */ | ||
HPSTR pchEndWrite; /* pointer to last byte to write */ | ||
LONG lBufOffset; /* disk offset of start of buffer */ | ||
|
||
/* fields maintained by I/O procedure */ | ||
LONG lDiskOffset; /* disk offset of next read or write */ | ||
DWORD adwInfo[3]; /* data specific to type of MMIOPROC */ | ||
|
||
/* other fields maintained by MMIO */ | ||
DWORD dwReserved1; /* reserved for MMIO use */ | ||
DWORD dwReserved2; /* reserved for MMIO use */ | ||
HMMIO hmmio; /* handle to open file */ | ||
} MMIOINFO; | ||
|
||
typedef struct _MMCKINFO | ||
{ | ||
FOURCC ckid; /* chunk ID */ | ||
DWORD cksize; /* chunk size */ | ||
FOURCC fccType; /* form type or list type */ | ||
DWORD dwDataOffset; /* offset of data portion of chunk */ | ||
DWORD dwFlags; /* flags used by MMIO functions */ | ||
} MMCKINFO; | ||
|
||
#ifndef _INC_MMREG | ||
#define _INC_MMREG /* #defined if mmreg.h has been included */ | ||
|
||
/* general waveform format structure (information common to all formats) */ | ||
typedef struct pcmwaveformat_tag { | ||
WORD wFormatTag; /* format type */ | ||
WORD nChannels; /* #channels (i.e. mono, stereo, etc.) */ | ||
DWORD nSamplesPerSec; /* sample rate */ | ||
DWORD nAvgBytesPerSec; /* for buffer estimation */ | ||
WORD nBlockAlign; /* block size of data */ | ||
WORD wBitsPerSample; /* sample size */ | ||
} PCMWAVEFORMAT; | ||
typedef struct waveformat_extended_tag { | ||
WORD wFormatTag; /* format type */ | ||
WORD nChannels; /* #channels (i.e. mono, stereo, etc.) */ | ||
DWORD nSamplesPerSec; /* sample rate */ | ||
DWORD nAvgBytesPerSec; /* for buffer estimation */ | ||
WORD nBlockAlign; /* block size of data */ | ||
WORD wBitsPerSample; /* sample size */ | ||
WORD cbSize; /* #bytes of the size of extra info (after cbSize) */ | ||
} WAVEFORMATEX; | ||
typedef struct adpcmcoef_tag { | ||
short iCoef1; | ||
short iCoef2; | ||
} ADPCMCOEFSET; | ||
typedef struct adpcmwaveformat_tag { | ||
WAVEFORMATEX wfx; | ||
WORD wSamplesPerBlock; | ||
WORD wNumCoef; | ||
ADPCMCOEFSET aCoef[]; | ||
} ADPCMWAVEFORMAT; | ||
|
||
typedef PCMWAVEFORMAT FAR *LPPCMWAVEFORMAT; | ||
typedef WAVEFORMATEX FAR *LPWAVEFORMATEX; | ||
typedef ADPCMWAVEFORMAT FAR *LPADPCMWAVEFORMAT; | ||
|
||
#endif /* _INC_MMREG */ | ||
|
||
/************************************************************************/ | ||
/************************************************************************/ | ||
/* MMIO macros */ | ||
#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ | ||
( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \ | ||
( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) ) | ||
|
||
/* standard four character codes */ | ||
#define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') | ||
#define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T') | ||
|
||
/************************************************************************/ | ||
/************************************************************************/ | ||
/* constants for dwFlags field of MMIOINFO */ | ||
#define MMIO_CREATE 0x00001000 /* create new file (or truncate file) */ | ||
#define MMIO_PARSE 0x00000100 /* parse new file returning path */ | ||
#define MMIO_DELETE 0x00000200 /* create new file (or truncate file) */ | ||
#define MMIO_EXIST 0x00004000 /* checks for existence of file */ | ||
#define MMIO_ALLOCBUF 0x00010000 /* mmioOpen() should allocate a buffer */ | ||
#define MMIO_GETTEMP 0x00020000 /* mmioOpen() should retrieve temp name */ | ||
#define MMIO_DIRTY 0x10000000 /* I/O buffer is dirty */ | ||
|
||
|
||
/* read/write mode numbers (bit field MMIO_RWMODE) */ | ||
#define MMIO_READ 0x00000000 /* open file for reading only */ | ||
#define MMIO_WRITE 0x00000001 /* open file for writing only */ | ||
#define MMIO_READWRITE 0x00000002 /* open file for reading and writing */ | ||
|
||
/* various MMIO flags */ | ||
#define MMIO_FINDCHUNK 0x0010 /* mmioDescend: find a chunk by ID */ | ||
#define MMIO_FINDRIFF 0x0020 /* mmioDescend: find a LIST chunk */ | ||
#define MMIO_CREATERIFF 0x0020 /* mmioCreateChunk: make a LIST chunk */ | ||
|
||
/* MMIO error return values */ | ||
#define MMIOERR_BASE 256 | ||
#define MMIOERR_FILENOTFOUND (MMIOERR_BASE + 1) /* file not found */ | ||
#define MMIOERR_OUTOFMEMORY (MMIOERR_BASE + 2) /* out of memory */ | ||
#define MMIOERR_CANNOTOPEN (MMIOERR_BASE + 3) /* cannot open */ | ||
#define MMIOERR_CANNOTCLOSE (MMIOERR_BASE + 4) /* cannot close */ | ||
#define MMIOERR_CANNOTREAD (MMIOERR_BASE + 5) /* cannot read */ | ||
#define MMIOERR_CANNOTWRITE (MMIOERR_BASE + 6) /* cannot write */ | ||
#define MMIOERR_CANNOTSEEK (MMIOERR_BASE + 7) /* cannot seek */ | ||
#define MMIOERR_CANNOTEXPAND (MMIOERR_BASE + 8) /* cannot expand file */ | ||
#define MMIOERR_CHUNKNOTFOUND (MMIOERR_BASE + 9) /* chunk not found */ | ||
#define MMIOERR_UNBUFFERED (MMIOERR_BASE + 10) /* file is unbuffered */ | ||
|
||
#define WAVE_FORMAT_PCM 0x0001 | ||
#define WAVE_FORMAT_ADPCM 0x0002 | ||
#define WAVE_FORMAT_IBM_CVSD 0x0005 | ||
#define WAVE_FORMAT_ALAW 0x0006 | ||
#define WAVE_FORMAT_MULAW 0x0007 | ||
#define WAVE_FORMAT_OKI_ADPCM 0x0010 | ||
#define WAVE_FORMAT_DIGISTD 0x0015 | ||
#define WAVE_FORMAT_DIGIFIX 0x0016 | ||
|
||
/************************************************************************/ | ||
/************************************************************************/ | ||
WORD PASCAL FAR WIOFndNxt (HMMIO, enum _PCMTYP FAR *, VISMEMHDL FAR *, MMCKINFO FAR *); | ||
WORD PASCAL FAR WIOOutIni (HMMIO, enum _PCMTYP, WORD, DWORD, VISMEMHDL FAR *, MMCKINFO FAR *); | ||
DWORD PASCAL FAR WIOFilCop (HMMIO hSrcHdl, HMMIO hDstHdl, DWORD ulReqCnt, | ||
FIOPOLPRC fpLngPolPrc, DWORD ulPolDat); | ||
WORD PASCAL FAR WIOOutEnd (HMMIO, VISMEMHDL FAR *, MMCKINFO FAR *); | ||
|
||
/************************************************************************/ | ||
/************************************************************************/ | ||
HMMIO PASCAL FAR mmioOpen (LPSTR szFileName, MMIOINFO FAR* lpmmioinfo, | ||
DWORD dwOpenFlags); | ||
UINT PASCAL FAR mmioClose (HMMIO hmmio, UINT uFlags); | ||
LONG PASCAL FAR mmioSeek(HMMIO hmmio, LONG lOffset, int iOrigin); | ||
LONG PASCAL FAR mmioRead (HMMIO hmmio, HPSTR pch, LONG cch); | ||
LONG PASCAL FAR mmioWrite (HMMIO hmmio, const char _huge* pch, LONG cch); | ||
UINT PASCAL FAR mmioCreateChunk (HMMIO hmmio, MMCKINFO FAR* lpck, UINT uFlags); | ||
UINT PASCAL FAR mmioDescend (HMMIO hmmio, MMCKINFO FAR* lpck, | ||
const MMCKINFO FAR* lpckParent, UINT uFlags); | ||
UINT PASCAL FAR mmioAscend (HMMIO hmmio, MMCKINFO FAR* lpck, UINT uFlags); | ||
|
||
Oops, something went wrong.