CoolFace
Apppublic

sourav-das/stem-separator

sourceHugging Facemitupdated 6mo agoView on Hugging Face
3likes
renderer-utils.d.ts127 linesDownload Raw Back to dist
1import type { WaveSurferOptions } from './wavesurfer.js';2export type ChannelData = Array<Float32Array | number[]>;3export type BarSegment = {4    x: number;5    y: number;6    width: number;7    height: number;8};9export type LinePath = Array<{10    x: number;11    y: number;12}>;13export declare const DEFAULT_HEIGHT = 128;14export declare const MAX_CANVAS_WIDTH = 8000;15export declare const MAX_NODES = 10;16export declare function clampToUnit(value: number): number;17export declare function calculateBarRenderConfig({ width, height, length, options, pixelRatio, }: {18    width: number;19    height: number;20    length: number;21    options: WaveSurferOptions;22    pixelRatio: number;23}): {24    halfHeight: number;25    barWidth: number;26    barGap: number;27    barRadius: number;28    barMinHeight: number;29    barIndexScale: number;30    barSpacing: number;31};32export declare function calculateBarHeights({ maxTop, maxBottom, halfHeight, vScale, barMinHeight, barAlign, }: {33    maxTop: number;34    maxBottom: number;35    halfHeight: number;36    vScale: number;37    barMinHeight?: number;38    barAlign?: WaveSurferOptions['barAlign'];39}): {40    topHeight: number;41    totalHeight: number;42};43export declare function resolveBarYPosition({ barAlign, halfHeight, topHeight, totalHeight, canvasHeight, }: {44    barAlign: WaveSurferOptions['barAlign'];45    halfHeight: number;46    topHeight: number;47    totalHeight: number;48    canvasHeight: number;49}): number;50export declare function calculateBarSegments({ channelData, barIndexScale, barSpacing, barWidth, halfHeight, vScale, canvasHeight, barAlign, barMinHeight, }: {51    channelData: ChannelData;52    barIndexScale: number;53    barSpacing: number;54    barWidth: number;55    halfHeight: number;56    vScale: number;57    canvasHeight: number;58    barAlign: WaveSurferOptions['barAlign'];59    barMinHeight: number;60}): BarSegment[];61export declare function getRelativePointerPosition(rect: DOMRect, clientX: number, clientY: number): [number, number];62export declare function resolveChannelHeight({ optionsHeight, optionsSplitChannels, parentHeight, numberOfChannels, defaultHeight, }: {63    optionsHeight?: WaveSurferOptions['height'];64    optionsSplitChannels?: WaveSurferOptions['splitChannels'];65    parentHeight: number;66    numberOfChannels: number;67    defaultHeight?: number;68}): number;69export declare function getPixelRatio(devicePixelRatio?: number): number;70export declare function shouldRenderBars(options: WaveSurferOptions): boolean;71export declare function resolveColorValue(color: WaveSurferOptions['waveColor'], devicePixelRatio: number, canvasHeight?: number): string | CanvasGradient;72export declare function calculateWaveformLayout({ duration, minPxPerSec, parentWidth, fillParent, pixelRatio, }: {73    duration: number;74    minPxPerSec?: number;75    parentWidth: number;76    fillParent?: boolean;77    pixelRatio: number;78}): {79    scrollWidth: number;80    isScrollable: boolean;81    useParentWidth: boolean;82    width: number;83};84export declare function clampWidthToBarGrid(width: number, options: WaveSurferOptions): number;85export declare function calculateSingleCanvasWidth({ clientWidth, totalWidth, options, }: {86    clientWidth: number;87    totalWidth: number;88    options: WaveSurferOptions;89}): number;90export declare function sliceChannelData({ channelData, offset, clampedWidth, totalWidth, }: {91    channelData: ChannelData;92    offset: number;93    clampedWidth: number;94    totalWidth: number;95}): ChannelData;96export declare function shouldClearCanvases(currentNodeCount: number): boolean;97export declare function getLazyRenderRange({ scrollLeft, totalWidth, numCanvases, }: {98    scrollLeft: number;99    totalWidth: number;100    numCanvases: number;101}): number[];102export declare function calculateVerticalScale({ channelData, barHeight, normalize, maxPeak, }: {103    channelData: ChannelData;104    barHeight?: WaveSurferOptions['barHeight'];105    normalize?: WaveSurferOptions['normalize'];106    maxPeak?: WaveSurferOptions['maxPeak'];107}): number;108export declare function calculateLinePaths({ channelData, width, height, vScale, }: {109    channelData: ChannelData;110    width: number;111    height: number;112    vScale: number;113}): LinePath[];114/**115 * @deprecated Use calculateScrollPercentages from './reactive/scroll-stream.js' instead.116 * This function is maintained for backward compatibility but will be removed in a future version.117 */118export declare function calculateScrollPercentages({ scrollLeft, clientWidth, scrollWidth, }: {119    scrollLeft: number;120    clientWidth: number;121    scrollWidth: number;122}): {123    startX: number;124    endX: number;125};126export declare function roundToHalfAwayFromZero(value: number): number;127