87 lines
1.7 KiB
TypeScript
87 lines
1.7 KiB
TypeScript
|
import { IGetToken } from 'strtok3/lib/core';
|
|||
|
/**
|
|||
|
* Common interface for the common chunk DSD header
|
|||
|
*/
|
|||
|
export interface IChunkHeader {
|
|||
|
/**
|
|||
|
* Chunk ID
|
|||
|
*/
|
|||
|
id: string;
|
|||
|
/**
|
|||
|
* Chunk size
|
|||
|
*/
|
|||
|
size: bigint;
|
|||
|
}
|
|||
|
/**
|
|||
|
* Common chunk DSD header: the 'chunk name (Four-CC)' & chunk size
|
|||
|
*/
|
|||
|
export declare const ChunkHeader: IGetToken<IChunkHeader>;
|
|||
|
/**
|
|||
|
* Interface to DSD payload chunk
|
|||
|
*/
|
|||
|
export interface IDsdChunk {
|
|||
|
/**
|
|||
|
* Total file size
|
|||
|
*/
|
|||
|
fileSize: bigint;
|
|||
|
/**
|
|||
|
* If Metadata doesn’t exist, set 0. If the file has ID3v2 tag, then set the pointer to it.
|
|||
|
* ID3v2 tag should be located in the end of the file.
|
|||
|
*/
|
|||
|
metadataPointer: bigint;
|
|||
|
}
|
|||
|
/**
|
|||
|
* Common chunk DSD header: the 'chunk name (Four-CC)' & chunk size
|
|||
|
*/
|
|||
|
export declare const DsdChunk: IGetToken<IDsdChunk>;
|
|||
|
export declare enum ChannelType {
|
|||
|
mono = 1,
|
|||
|
stereo = 2,
|
|||
|
channels = 3,
|
|||
|
quad = 4,
|
|||
|
'4 channels' = 5,
|
|||
|
'5 channels' = 6,
|
|||
|
'5.1 channels' = 7
|
|||
|
}
|
|||
|
/**
|
|||
|
* Interface to format chunk payload chunk
|
|||
|
*/
|
|||
|
export interface IFormatChunk {
|
|||
|
/**
|
|||
|
* Version of this file format
|
|||
|
*/
|
|||
|
formatVersion: number;
|
|||
|
/**
|
|||
|
* Format ID
|
|||
|
*/
|
|||
|
formatID: number;
|
|||
|
/**
|
|||
|
* Channel Type
|
|||
|
*/
|
|||
|
channelType: ChannelType;
|
|||
|
/**
|
|||
|
* Channel num
|
|||
|
*/
|
|||
|
channelNum: number;
|
|||
|
/**
|
|||
|
* Sampling frequency
|
|||
|
*/
|
|||
|
samplingFrequency: number;
|
|||
|
/**
|
|||
|
* Bits per sample
|
|||
|
*/
|
|||
|
bitsPerSample: number;
|
|||
|
/**
|
|||
|
* Sample count
|
|||
|
*/
|
|||
|
sampleCount: bigint;
|
|||
|
/**
|
|||
|
* Block size per channel
|
|||
|
*/
|
|||
|
blockSizePerChannel: number;
|
|||
|
}
|
|||
|
/**
|
|||
|
* Common chunk DSD header: the 'chunk name (Four-CC)' & chunk size
|
|||
|
*/
|
|||
|
export declare const FormatChunk: IGetToken<IFormatChunk>;
|