Update docstring to include new warp modes; save sample server for a separate PR

This commit is contained in:
Aria
2025-08-28 16:28:33 -05:00
parent d1869c18ba
commit fe46e1da53
2 changed files with 15 additions and 34 deletions
+2 -8
View File
@@ -110,14 +110,8 @@ export const { wtWarp, wavetableWarp } = registerControl('wtWarp', 'wavetableWar
/**
* Amount of warp (alteration of the waveform) to apply to the wavetable oscillator.
*
* The current options are:
* 0 = asym
* 1 = mirror
* 2 = bend+
* 3 = bend-
* 4 = bend+/-
* 5 = sync
* 6 = quantize
* The current options are: none, asym, bendp, bendm, bendmp, sync, quant, fold, pwm, orbit,
* spin, chaos, primes, binary, brownian, reciprocal, wormhole, logistic, sigmoid, fractal, flip
*
* @name wtWarpMode
* @param {number | Pattern} mode Warp mode: an integer
+13 -26
View File
@@ -1,10 +1,10 @@
#!/usr/bin/env node
import cowsay from 'cowsay';
import { createReadStream, existsSync, writeFileSync } from 'fs';
import { createReadStream, existsSync } from 'fs';
import { readdir } from 'fs/promises';
import http from 'http';
import { join, sep, resolve } from 'path';
import { join, sep } from 'path';
import os from 'os';
// eslint-disable-next-line
@@ -36,19 +36,17 @@ async function getFilesInDirectory(directory) {
return files;
}
async function getBanks(directory, flat = false) {
async function getBanks(directory) {
let files = await getFilesInDirectory(directory);
let banks = {};
directory = directory.split(sep).join('/');
files = files.map((path) => {
path = path.split(sep).join('/');
const subDir = path.replace(directory, '');
const subDirFlat = subDir.replaceAll('/', '_').slice(1); // remove initial underscore
const subDirFlatStem = subDirFlat.replace(/\.[^.]+$/, ''); // remove extension
let bank = flat ? subDirFlatStem : subDir.split('/')[0];
const [bank] = path.split('/').slice(-2);
banks[bank] = banks[bank] || [];
banks[bank].push(subDir);
return subDir;
const relativeUrl = path.replace(directory, '');
banks[bank].push(relativeUrl);
return relativeUrl;
});
banks._base = `http://localhost:5432`;
return { banks, files };
@@ -56,25 +54,14 @@ async function getBanks(directory, flat = false) {
const args = process.argv.slice(2);
function getArgValue(flag) {
const i = args.indexOf(flag);
if (i !== -1) {
const nextIsFlag = args[i + 1]?.startsWith('--') ?? true;
if (nextIsFlag) return true;
return args[i + 1];
}
}
// eslint-disable-next-line
let directory = getArgValue('--dir') || process.cwd();
directory = resolve(directory);
const directory = process.cwd();
if (args.includes('--json')) {
const { banks } = await getBanks(directory, getArgValue('--flat'));
const { banks, files } = await getBanks(directory);
const json = JSON.stringify(banks);
const outFile = resolve(directory, 'strudel.json');
writeFileSync(outFile, json, 'utf8');
console.log(`Wrote json to ${outFile}`);
console.log(json);
process.exit(0);
}
console.log(
@@ -87,7 +74,7 @@ console.log(
const server = http.createServer(async (req, res) => {
res.setHeader('Access-Control-Allow-Origin', '*');
const { banks, files } = await getBanks(directory, getArgValue('--flat'));
const { banks, files } = await getBanks(directory);
if (req.url === '/') {
res.setHeader('Content-Type', 'application/json');
return res.end(JSON.stringify(banks));
@@ -95,7 +82,7 @@ const server = http.createServer(async (req, res) => {
let subpath = decodeURIComponent(req.url);
const filePath = join(directory, subpath.split('/').join(sep));
// console.log('GET:', filePath);
//console.log('GET:', filePath);
const isFound = existsSync(filePath);
if (!isFound) {
res.statusCode = 404;