dsssp
Version:
React Library for Audio Processing and Visualization
137 lines • 3.71 kB
TypeScript
import { CSSProperties } from 'react';
import { directions } from './components/FrequencyResponseGraph/GraphGradient';
export type GraphGradientDirection = keyof typeof directions;
export declare const filterTypes: {
BYPASS: number;
PEAK: number;
HIGHSHELF1: number;
HIGHSHELF2: number;
LOWSHELF1: number;
LOWSHELF2: number;
HIGHPASS1: number;
HIGHPASS2: number;
LOWPASS1: number;
LOWPASS2: number;
BANDPASS: number;
NOTCH: number;
GAIN: number;
};
export type FilterType = keyof typeof filterTypes;
export declare const filterTypeKeys: FilterType[];
export type Magnitude = {
magnitude: number;
frequency: number;
};
export type GraphPoint = {
x: number;
y: number;
};
export type BiQuadCoefficients = {
A0: number;
A1: number;
A2: number;
B1: number;
B2: number;
};
export type LogScaleFunction = {
x: (value: number) => number;
ticks: (count: number) => number[];
};
export type GraphFilter = {
type: FilterType;
freq: number;
gain: number;
q: number;
};
export type GraphScale = {
sampleRate: number;
minFreq: number;
maxFreq: number;
minGain: number;
maxGain: number;
dbSteps: number;
dbLabels: boolean;
octaveTicks: number;
majorTicks: number[];
octaveLabels: number[];
};
export type GraphThemeFilterColors = {
point?: CSSProperties['color'];
drag?: CSSProperties['color'];
active?: CSSProperties['color'];
background?: CSSProperties['color'];
dragBackground?: CSSProperties['color'];
activeBackground?: CSSProperties['color'];
gradient?: CSSProperties['color'];
curve?: CSSProperties['color'];
};
export type GraphTheme = {
background: {
grid: {
dotted: boolean;
lineColor: CSSProperties['color'];
lineWidth: {
minor: number;
major: number;
center: number;
border: number;
};
};
gradient: {
start: CSSProperties['color'];
stop: CSSProperties['color'];
direction: GraphGradientDirection;
};
label: {
fontSize: number;
fontFamily: string;
color: CSSProperties['color'] | 'inherit';
};
tracker: {
lineWidth: number;
lineColor: CSSProperties['color'];
labelColor: CSSProperties['color'];
backgroundColor: CSSProperties['color'];
};
};
curve: {
width: number;
color: CSSProperties['color'];
opacity: CSSProperties['opacity'];
};
filters: {
curve: {
width: {
normal: number;
active: number;
};
opacity: {
normal: CSSProperties['opacity'];
active: CSSProperties['opacity'];
};
};
point: {
radius: number;
lineWidth: number;
backgroundOpacity: {
drag: CSSProperties['opacity'];
active: CSSProperties['opacity'];
normal: CSSProperties['opacity'];
};
label: {
fontSize: number;
fontFamily: string;
color: CSSProperties['color'] | 'inherit';
};
};
zeroPoint: {
color: CSSProperties['color'];
background: CSSProperties['color'];
};
fill: boolean;
gradientOpacity: CSSProperties['opacity'];
defaultColor: CSSProperties['color'];
colors: GraphThemeFilterColors[];
};
};
//# sourceMappingURL=types.d.ts.map