feat: run prettier

This commit is contained in:
JellyBrick
2023-11-30 11:59:27 +09:00
parent 44c42310f1
commit a3104fda4b
116 changed files with 2928 additions and 1254 deletions

View File

@ -10,24 +10,43 @@ declare module 'butterchurn' {
}
class Visualizer {
constructor(audioContext: AudioContext, canvas: HTMLCanvasElement, opts: ButterchurnOptions);
constructor(
audioContext: AudioContext,
canvas: HTMLCanvasElement,
opts: ButterchurnOptions,
);
loseGLContext(): void;
connectAudio(audioNode: AudioNode): void;
disconnectAudio(audioNode: AudioNode): void;
static overrideDefaultVars(baseValsDefaults: unknown, baseVals: unknown): unknown;
static overrideDefaultVars(
baseValsDefaults: unknown,
baseVals: unknown,
): unknown;
createQVars(): Record<string, WebAssembly.Global>;
createTVars(): Record<string, WebAssembly.Global>;
createPerFramePool(baseVals: unknown): Record<string, WebAssembly.Global>;
createPerPixelPool(baseVals: unknown): Record<string, WebAssembly.Global>;
createCustomShapePerFramePool(baseVals: unknown): Record<string, WebAssembly.Global>;
createCustomWavePerFramePool(baseVals: unknown): Record<string, WebAssembly.Global>;
static makeShapeResetPool(pool: Record<string, WebAssembly.Global>, variables: string[], idx: number): Record<string, WebAssembly.Global>;
createCustomShapePerFramePool(
baseVals: unknown,
): Record<string, WebAssembly.Global>;
createCustomWavePerFramePool(
baseVals: unknown,
): Record<string, WebAssembly.Global>;
static makeShapeResetPool(
pool: Record<string, WebAssembly.Global>,
variables: string[],
idx: number,
): Record<string, WebAssembly.Global>;
static base64ToArrayBuffer(base64: string): ArrayBuffer;
loadPreset(presetMap: unknown, blendTime?: number): Promise<void>;
async loadWASMPreset(preset: unknown, blendTime: number): Promise<void>;
loadJSPreset(preset: unknown, blendTime: number): void;
loadExtraImages(imageData: unknown): void;
setRendererSize(width: number, height: number, opts?: VisualizerOptions): void;
setRendererSize(
width: number,
height: number,
opts?: VisualizerOptions,
): void;
setInternalMeshSize(width: number, height: number): void;
setOutputAA(useAA: boolean): void;
setCanvas(canvas: HTMLCanvasElement): void;
@ -44,7 +63,11 @@ declare module 'butterchurn' {
}
export default class Butterchurn {
static createVisualizer(audioContext: AudioContext, canvas: HTMLCanvasElement, options?: ButterchurnOptions): Visualizer;
static createVisualizer(
audioContext: AudioContext,
canvas: HTMLCanvasElement,
options?: ButterchurnOptions,
): Visualizer;
}
}

View File

@ -4,7 +4,7 @@ import { Visualizer } from './visualizers/visualizer';
import {
ButterchurnVisualizer as butterchurn,
VudioVisualizer as vudio,
WaveVisualizer as wave
WaveVisualizer as wave,
} from './visualizers';
type WaveColor = {
@ -19,7 +19,7 @@ export type VisualizerPluginConfig = {
preset: string;
renderingFrequencyInMs: number;
blendTimeInSeconds: number;
},
};
vudio: {
effect: string;
accuracy: number;
@ -35,7 +35,7 @@ export type VisualizerPluginConfig = {
horizontalAlign: string;
verticalAlign: string;
dottify: boolean;
}
};
};
wave: {
animations: {
@ -51,7 +51,7 @@ export type VisualizerPluginConfig = {
lineColor?: string | WaveColor;
radius?: number;
frequencyBand?: string;
}
};
}[];
};
};
@ -151,7 +151,7 @@ export default createPlugin({
const config = await getConfig();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let visualizerType: { new(...args: any[]): Visualizer<unknown> } = vudio;
let visualizerType: { new (...args: any[]): Visualizer<unknown> } = vudio;
if (config.type === 'wave') {
visualizerType = wave;
@ -162,12 +162,15 @@ export default createPlugin({
document.addEventListener(
'audioCanPlay',
(e) => {
const video = document.querySelector<HTMLVideoElement & { captureStream(): MediaStream; }>('video');
const video = document.querySelector<
HTMLVideoElement & { captureStream(): MediaStream }
>('video');
if (!video) {
return;
}
const visualizerContainer = document.querySelector<HTMLElement>('#player');
const visualizerContainer =
document.querySelector<HTMLElement>('#player');
if (!visualizerContainer) {
return;
}
@ -210,7 +213,10 @@ export default createPlugin({
resizeVisualizer(canvas.width, canvas.height);
const visualizerContainerObserver = new ResizeObserver((entries) => {
for (const entry of entries) {
resizeVisualizer(entry.contentRect.width, entry.contentRect.height);
resizeVisualizer(
entry.contentRect.width,
entry.contentRect.height,
);
}
});
visualizerContainerObserver.observe(visualizerContainer);

View File

@ -30,14 +30,10 @@ class ButterchurnVisualizer extends Visualizer<Butterchurn> {
options,
);
this.visualizer = Butterchurn.createVisualizer(
audioContext,
canvas,
{
width: canvas.width,
height: canvas.height,
}
);
this.visualizer = Butterchurn.createVisualizer(audioContext, canvas, {
width: canvas.width,
height: canvas.height,
});
const preset = ButterchurnPresets[options.butterchurn.preset];
this.visualizer.loadPreset(preset, options.butterchurn.blendTimeInSeconds);

View File

@ -45,8 +45,7 @@ class VudioVisualizer extends Visualizer<Vudio> {
});
}
render() {
}
render() {}
}
export default VudioVisualizer;

View File

@ -3,6 +3,7 @@ import { Wave } from '@foobar404/wave';
import { Visualizer } from './visualizer';
import type { VisualizerPluginConfig } from '../index';
class WaveVisualizer extends Visualizer<Wave> {
name = 'wave';
@ -32,7 +33,10 @@ class WaveVisualizer extends Visualizer<Wave> {
canvas,
);
for (const animation of options.wave.animations) {
const TargetVisualizer = this.visualizer.animations[animation.type as keyof typeof this.visualizer.animations];
const TargetVisualizer =
this.visualizer.animations[
animation.type as keyof typeof this.visualizer.animations
];
this.visualizer.addAnimation(
new TargetVisualizer(animation.config as never), // Magic of Typescript
@ -40,11 +44,9 @@ class WaveVisualizer extends Visualizer<Wave> {
}
}
resize(_: number, __: number) {
}
resize(_: number, __: number) {}
render() {
}
render() {}
}
export default WaveVisualizer;

View File

@ -9,7 +9,7 @@ declare module 'vudio/umd/vudio' {
fadeSide?: boolean;
}
interface WaveformOptions extends NoneWaveformOptions{
interface WaveformOptions extends NoneWaveformOptions {
horizontalAlign: 'left' | 'center' | 'right';
verticalAlign: 'top' | 'middle' | 'bottom';
}
@ -19,11 +19,15 @@ declare module 'vudio/umd/vudio' {
accuracy?: number;
width?: number;
height?: number;
waveform?: WaveformOptions
waveform?: WaveformOptions;
}
class Vudio {
constructor(audio: HTMLAudioElement | MediaStream, canvas: HTMLCanvasElement, options: VudioOptions = {});
constructor(
audio: HTMLAudioElement | MediaStream,
canvas: HTMLCanvasElement,
options: VudioOptions = {},
);
dance(): void;
pause(): void;