From 340fdb217c629803eafd4b13731044adf6f5fb3d Mon Sep 17 00:00:00 2001 From: skal Date: Wed, 28 Jan 2026 20:27:25 +0100 Subject: feat(gemini): Add .geminiignore file Propose and add a .geminiignore file to exclude build artifacts, dependency build outputs, archives, temporary files, and IDE configurations from Gemini's analysis and operations. --- tools/editor/dct.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tools/editor/dct.js (limited to 'tools/editor/dct.js') diff --git a/tools/editor/dct.js b/tools/editor/dct.js new file mode 100644 index 0000000..f60f27e --- /dev/null +++ b/tools/editor/dct.js @@ -0,0 +1,29 @@ +// --- Utility Functions for Audio Processing --- +// JavaScript equivalent of C++ idct_512 +function javascript_idct_512(input) { + const output = new Float32Array(dctSize); + const PI = Math.PI; + const N = dctSize; + + for (let n = 0; n < N; ++n) { + let sum = input[0] / 2.0; + for (let k = 1; k < N; ++k) { + sum += input[k] * Math.cos((PI / N) * k * (n + 0.5)); + } + output[n] = sum * (2.0 / N); + } + return output; +} + +// Hanning window for smooth audio transitions (JavaScript equivalent) +function hanningWindow(size) { + const window = new Float32Array(size); + const PI = Math.PI; + for (let i = 0; i < size; i++) { + window[i] = 0.5 * (1 - Math.cos((2 * PI * i) / (size - 1))); + } + return window; +} + +const hanningWindowArray = hanningWindow(dctSize); // Pre-calculate window + -- cgit v1.2.3