diff --git a/.eslintignore b/.eslintignore
index 58d3643d..92c95c85 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -19,4 +19,5 @@ vite.config.js
**/dev-dist
**/dist
/src-tauri/target/**/*
-reverbGen.mjs
\ No newline at end of file
+reverbGen.mjs
+hydra.mjs
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7acc619d..467a9391 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -13,7 +13,7 @@ To get in touch with the contributors, either
## Ask a Question
If you have any questions about strudel, make sure you've glanced through the
-[docs](https://strudel.tidalcycles.org/learn/) to find out if it answers your question.
+[docs](https://strudel.cc/learn/) to find out if it answers your question.
If not, use one of the Communication Channels above!
Don't be afraid to ask! Your question might be of great value for other people too.
@@ -31,7 +31,7 @@ Use one of the Communication Channels listed above.
## Improve the Docs
-If you find some weak spots in the [docs](https://strudel.tidalcycles.org/workshop/getting-started/),
+If you find some weak spots in the [docs](https://strudel.cc/workshop/getting-started/),
you can edit each file directly on github via the "Edit this page" link located in the right sidebar.
## Propose a Feature
@@ -83,7 +83,7 @@ Please report any problems you've had with the setup instructions!
To make sure the code changes only where it should, we are using prettier to unify the code style.
-- You can format all files at once by running `pnpm prettier` from the project root
+- You can format all files at once by running `pnpm codeformat` from the project root
- Run `pnpm format-check` from the project root to check if all files are well formatted
If you use VSCode, you can
diff --git a/README.md b/README.md
index 0949b687..037a9162 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,8 @@
An experiment in making a [Tidal](https://github.com/tidalcycles/tidal/) using web technologies. This software is slowly stabilising, but please continue to tread carefully.
-- Try it here:
-- Docs:
+- Try it here:
+- Docs:
- Technical Blog Post:
- 1 Year of Strudel Blog Post:
diff --git a/package.json b/package.json
index 292fc94d..36229611 100644
--- a/package.json
+++ b/package.json
@@ -43,7 +43,7 @@
"bugs": {
"url": "https://github.com/tidalcycles/strudel/issues"
},
- "homepage": "https://strudel.tidalcycles.org",
+ "homepage": "https://strudel.cc",
"dependencies": {
"@strudel.cycles/core": "workspace:*",
"@strudel.cycles/mini": "workspace:*",
diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs
index 8841b4bc..1ca49bb6 100644
--- a/packages/core/controls.mjs
+++ b/packages/core/controls.mjs
@@ -1296,6 +1296,17 @@ generic_params.forEach(([names, ...aliases]) => {
controls.createParams = (...names) =>
names.reduce((acc, name) => Object.assign(acc, { [name]: controls.createParam(name) }), {});
+/**
+ * ADSR envelope: Combination of Attack, Decay, Sustain, and Release.
+ *
+ * @name adsr
+ * @param {number | Pattern} time attack time in seconds
+ * @param {number | Pattern} time decay time in seconds
+ * @param {number | Pattern} gain sustain level (0 to 1)
+ * @param {number | Pattern} time release time in seconds
+ * @example
+ * note("").sound("sawtooth").lpf(600).adsr(".1:.1:.5:.2")
+ */
controls.adsr = register('adsr', (adsr, pat) => {
adsr = !Array.isArray(adsr) ? [adsr] : adsr;
const [attack, decay, sustain, release] = adsr;
diff --git a/packages/core/examples/vite-vanilla-repl-cm6/tunes.mjs b/packages/core/examples/vite-vanilla-repl-cm6/tunes.mjs
index 242a0d4b..73600019 100644
--- a/packages/core/examples/vite-vanilla-repl-cm6/tunes.mjs
+++ b/packages/core/examples/vite-vanilla-repl-cm6/tunes.mjs
@@ -1,6 +1,6 @@
export const bumpStreet = `// froos - "22 bump street", licensed with CC BY-NC-SA 4.0
await samples('github:felixroos/samples/main')
-await samples('https://strudel.tidalcycles.org/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
+await samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
"<[0,<6 7 9>,13,<17 20 22 26>]!2>/2"
// make it 22 edo
@@ -34,7 +34,7 @@ await samples('https://strudel.tidalcycles.org/tidal-drum-machines.json', 'githu
export const trafficFlam = `// froos - "traffic flam", licensed with CC BY-NC-SA 4.0
await samples('github:felixroos/samples/main')
-await samples('https://strudel.tidalcycles.org/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
+await samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
addVoicings('hip', {
m11: ['2M 3m 4P 7m'],
@@ -70,7 +70,7 @@ export const funk42 = `// froos - how to funk in 42 lines of code
// thanks to peach for the transcription: https://www.youtube.com/watch?v=8eiPXvIgda4
await samples('github:felixroos/samples/main')
-await samples('https://strudel.tidalcycles.org/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
+await samples('https://strudel.cc/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/')
setcps(.5)
diff --git a/packages/core/package.json b/packages/core/package.json
index 8fd57242..5a626b0c 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -29,7 +29,7 @@
"bugs": {
"url": "https://github.com/tidalcycles/strudel/issues"
},
- "homepage": "https://strudel.tidalcycles.org",
+ "homepage": "https://strudel.cc",
"dependencies": {
"fraction.js": "^4.2.0"
},
diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs
index 598280bc..dcf5da1b 100644
--- a/packages/core/pattern.mjs
+++ b/packages/core/pattern.mjs
@@ -2100,23 +2100,43 @@ export const { iterBack, iterback } = register(['iterBack', 'iterback'], functio
return _iter(times, pat, true);
});
+/**
+ * Repeats each cycle the given number of times.
+ * @name repeatCycles
+ * @memberof Pattern
+ * @returns Pattern
+ * @example
+ * note(irand(12).add(34)).segment(4).repeatCycles(2).s("gm_acoustic_guitar_nylon")
+ */
+const _repeatCycles = function (n, pat) {
+ return slowcat(...Array(n).fill(pat));
+};
+
+const { repeatCycles } = register('repeatCycles', _repeatCycles);
+
/**
* Divides a pattern into a given number of parts, then cycles through those parts in turn, applying the given function to each part in turn (one part per cycle).
* @name chunk
+ * @synonyms slowChunk, slowchunk
* @memberof Pattern
* @returns Pattern
* @example
* "0 1 2 3".chunk(4, x=>x.add(7)).scale('A minor').note()
*/
-const _chunk = function (n, func, pat, back = false) {
+const _chunk = function (n, func, pat, back = false, fast = false) {
const binary = Array(n - 1).fill(false);
binary.unshift(true);
- const binary_pat = _iter(n, sequence(...binary), back);
+ // Invert the 'back' because we want to shift the pattern forwards,
+ // and so time backwards
+ const binary_pat = _iter(n, sequence(...binary), !back);
+ if (!fast) {
+ pat = pat.repeatCycles(n);
+ }
return pat.when(binary_pat, func);
};
-export const chunk = register('chunk', function (n, func, pat) {
- return _chunk(n, func, pat, false);
+const { chunk, slowchunk, slowChunk } = register(['chunk', 'slowchunk', 'slowChunk'], function (n, func, pat) {
+ return _chunk(n, func, pat, false, false);
});
/**
@@ -2132,6 +2152,21 @@ export const { chunkBack, chunkback } = register(['chunkBack', 'chunkback'], fun
return _chunk(n, func, pat, true);
});
+/**
+ * Like `chunk`, but the cycles of the source pattern aren't repeated
+ * for each set of chunks.
+ * @name fastChunk
+ * @synonyms fastchunk
+ * @memberof Pattern
+ * @returns Pattern
+ * @example
+ * "<0 8> 1 2 3 4 5 6 7".fastChunk(4, x => x.color('red')).slow(4).scale("C2:major").note()
+ .s("folkharp")
+ */
+const { fastchunk, fastChunk } = register(['fastchunk', 'fastChunk'], function (n, func, pat) {
+ return _chunk(n, func, pat, false, true);
+});
+
// TODO - redefine elsewhere in terms of mask
export const bypass = register('bypass', function (on, pat) {
on = Boolean(parseInt(on));
@@ -2217,6 +2252,14 @@ export const chop = register('chop', function (n, pat) {
return pat.squeezeBind(func);
});
+/**
+ * Cuts each sample into the given number of parts, triggering progressive portions of each sample at each loop.
+ * @name striate
+ * @memberof Pattern
+ * @returns Pattern
+ * @example
+ * s("numbers:0 numbers:1 numbers:2").striate(6).slow(6)
+ */
export const striate = register('striate', function (n, pat) {
const slices = Array.from({ length: n }, (x, i) => i);
const slice_objects = slices.map((i) => ({ begin: i / n, end: (i + 1) / n }));
diff --git a/packages/core/repl.mjs b/packages/core/repl.mjs
index b6866b87..67e2812d 100644
--- a/packages/core/repl.mjs
+++ b/packages/core/repl.mjs
@@ -24,6 +24,7 @@ export function repl({
getTime,
onToggle,
});
+ let playPatterns = [];
const setPattern = (pattern, autostart = true) => {
pattern = editPattern?.(pattern) || pattern;
scheduler.setPattern(pattern, autostart);
@@ -35,7 +36,11 @@ export function repl({
}
try {
await beforeEval?.({ code });
+ playPatterns = [];
let { pattern, meta } = await _evaluate(code, transpiler);
+ if (playPatterns.length) {
+ pattern = pattern.stack(...playPatterns);
+ }
logger(`[eval] code updated`);
setPattern(pattern, autostart);
afterEval?.({ code, pattern, meta });
@@ -57,6 +62,11 @@ export function repl({
return pat.loopAtCps(cycles, scheduler.cps);
});
+ const play = register('play', (pat) => {
+ playPatterns.push(pat);
+ return pat;
+ });
+
const fit = register('fit', (pat) =>
pat.withHap((hap) =>
hap.withValue((v) => ({
@@ -70,6 +80,7 @@ export function repl({
evalScope({
loopAt,
fit,
+ play,
setCps,
setcps: setCps,
setCpm,
diff --git a/packages/core/signal.mjs b/packages/core/signal.mjs
index d1408809..f48cc55e 100644
--- a/packages/core/signal.mjs
+++ b/packages/core/signal.mjs
@@ -7,7 +7,7 @@ This program is free software: you can redistribute it and/or modify it under th
import { Hap } from './hap.mjs';
import { Pattern, fastcat, reify, silence, stack, register } from './pattern.mjs';
import Fraction from './fraction.mjs';
-import { id } from './util.mjs';
+import { id, _mod, clamp } from './util.mjs';
export function steady(value) {
// A continuous value
@@ -155,6 +155,52 @@ export const _irand = (i) => rand.fmap((x) => Math.trunc(x * i));
*/
export const irand = (ipat) => reify(ipat).fmap(_irand).innerJoin();
+/**
+ * pick from the list of values (or patterns of values) via the index using the given
+ * pattern of integers
+ * @param {Pattern} pat
+ * @param {*} xs
+ * @returns {Pattern}
+ * @example
+ * note(pick("<0 1 [2!2] 3>", ["g a", "e f", "f g f g" , "g a c d"]))
+ */
+
+export const pick = (pat, xs) => {
+ xs = xs.map(reify);
+ if (xs.length == 0) {
+ return silence;
+ }
+ return pat
+ .fmap((i) => {
+ const key = clamp(Math.round(i), 0, xs.length - 1);
+ return xs[key];
+ })
+ .innerJoin();
+};
+
+/**
+ * pick from the list of values (or patterns of values) via the index using the given
+ * pattern of integers. The selected pattern will be compressed to fit the duration of the selecting event
+ * @param {Pattern} pat
+ * @param {*} xs
+ * @returns {Pattern}
+ * @example
+ * note(squeeze("<0@2 [1!2] 2>", ["g a", "f g f g" , "g a c d"]))
+ */
+
+export const squeeze = (pat, xs) => {
+ xs = xs.map(reify);
+ if (xs.length == 0) {
+ return silence;
+ }
+ return pat
+ .fmap((i) => {
+ const key = _mod(Math.round(i), xs.length);
+ return xs[key];
+ })
+ .squeezeJoin();
+};
+
export const __chooseWith = (pat, xs) => {
xs = xs.map(reify);
if (xs.length == 0) {
diff --git a/packages/core/test/pattern.test.mjs b/packages/core/test/pattern.test.mjs
index c8267306..f4a03110 100644
--- a/packages/core/test/pattern.test.mjs
+++ b/packages/core/test/pattern.test.mjs
@@ -1003,4 +1003,23 @@ describe('Pattern', () => {
);
});
});
+ describe('chunk', () => {
+ it('Processes each cycle of the source pattern multiple times, once for each chunk', () => {
+ expect(sequence(0, 1, 2, 3).slow(2).chunk(2, add(10)).fast(4).firstCycleValues).toStrictEqual([
+ 10, 1, 0, 11, 12, 3, 2, 13,
+ ]);
+ });
+ });
+ describe('fastChunk', () => {
+ it('Unlike chunk, cycles of the source pattern proceed cycle-by-cycle', () => {
+ expect(sequence(0, 1, 2, 3).slow(2).fastChunk(2, add(10)).fast(4).firstCycleValues).toStrictEqual([
+ 10, 1, 2, 13, 10, 1, 2, 13,
+ ]);
+ });
+ });
+ describe('repeatCycles', () => {
+ it('Repeats each cycle of the source pattern the given number of times', () => {
+ expect(slowcat(0, 1).repeatCycles(2).fast(6).firstCycleValues).toStrictEqual([0, 0, 1, 1, 0, 0]);
+ });
+ });
});
diff --git a/packages/core/ui.mjs b/packages/core/ui.mjs
index 141d3c83..9343e062 100644
--- a/packages/core/ui.mjs
+++ b/packages/core/ui.mjs
@@ -46,7 +46,5 @@ export const cleanupUi = () => {
const container = document.getElementById('code');
if (container) {
container.style = '';
- // TODO: find a way to remove that duplication..
- container.className = 'grow flex text-gray-100 relative overflow-auto cursor-text pb-0'; // has to match App.tsx
}
};
diff --git a/packages/embed/embed.js b/packages/embed/embed.js
index dddcd73c..ce2e3b2a 100644
--- a/packages/embed/embed.js
+++ b/packages/embed/embed.js
@@ -6,7 +6,7 @@ class Strudel extends HTMLElement {
setTimeout(() => {
const code = (this.innerHTML + '').replace('', '').trim();
const iframe = document.createElement('iframe');
- const src = `https://strudel.tidalcycles.org/#${encodeURIComponent(btoa(code))}`;
+ const src = `https://strudel.cc/#${encodeURIComponent(btoa(code))}`;
// const src = `http://localhost:3000/#${encodeURIComponent(btoa(code))}`;
iframe.setAttribute('src', src);
iframe.setAttribute('width', '600');
diff --git a/packages/hydra/README.md b/packages/hydra/README.md
new file mode 100644
index 00000000..d300bb88
--- /dev/null
+++ b/packages/hydra/README.md
@@ -0,0 +1,29 @@
+# @strudel/hydra
+
+This package integrates [hydra-synth](https://www.npmjs.com/package/hydra-synth) into strudel.
+
+## Usage in Strudel
+
+This package is imported into strudel by default. To activate Hydra, place this code at the top of your code:
+
+```js
+await initHydra();
+```
+
+Then you can use hydra below!
+
+## Usage via npm
+
+```sh
+npm i @strudel/hydra
+```
+
+Then add the import to your evalScope:
+
+```js
+import { evalScope } from '@strudel.cycles/core';
+
+evalScope(
+ import('@strudel/hydra')
+)
+```
diff --git a/packages/hydra/hydra.mjs b/packages/hydra/hydra.mjs
new file mode 100644
index 00000000..692e4c14
--- /dev/null
+++ b/packages/hydra/hydra.mjs
@@ -0,0 +1,15 @@
+import { getDrawContext } from '@strudel.cycles/core';
+
+export async function initHydra() {
+ if (!document.getElementById('hydra-canvas')) {
+ const { canvas: testCanvas } = getDrawContext();
+ await import('https://unpkg.com/hydra-synth');
+ const hydraCanvas = testCanvas.cloneNode(true);
+ hydraCanvas.id = 'hydra-canvas';
+ testCanvas.after(hydraCanvas);
+ new Hydra({ canvas: hydraCanvas, detectAudio: false });
+ s0.init({ src: testCanvas });
+ }
+}
+
+export const H = (p) => () => p.queryArc(getTime(), getTime())[0].value;
diff --git a/packages/hydra/package.json b/packages/hydra/package.json
new file mode 100644
index 00000000..981c0d53
--- /dev/null
+++ b/packages/hydra/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "@strudel/hydra",
+ "version": "0.9.0",
+ "description": "Hydra integration for strudel",
+ "main": "hydra.mjs",
+ "publishConfig": {
+ "main": "dist/index.js",
+ "module": "dist/index.mjs"
+ },
+ "scripts": {
+ "server": "node server.js",
+ "tidal-sniffer": "node tidal-sniffer.js",
+ "client": "npx serve -p 4321",
+ "build-bin": "npx pkg server.js --targets node16-macos-x64,node16-win-x64,node16-linux-x64 --out-path bin",
+ "build": "vite build",
+ "prepublishOnly": "npm run build"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/tidalcycles/strudel.git"
+ },
+ "keywords": [
+ "tidalcycles",
+ "strudel",
+ "pattern",
+ "livecoding",
+ "algorave"
+ ],
+ "author": "Felix Roos ",
+ "license": "AGPL-3.0-or-later",
+ "bugs": {
+ "url": "https://github.com/tidalcycles/strudel/issues"
+ },
+ "homepage": "https://github.com/tidalcycles/strudel#readme",
+ "dependencies": {
+ "@strudel.cycles/core": "workspace:*",
+ "hydra-synth": "^1.3.29"
+ },
+ "devDependencies": {
+ "pkg": "^5.8.1",
+ "vite": "^4.3.3"
+ }
+}
diff --git a/packages/hydra/vite.config.js b/packages/hydra/vite.config.js
new file mode 100644
index 00000000..9d5114de
--- /dev/null
+++ b/packages/hydra/vite.config.js
@@ -0,0 +1,19 @@
+import { defineConfig } from 'vite';
+import { dependencies } from './package.json';
+import { resolve } from 'path';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [],
+ build: {
+ lib: {
+ entry: resolve(__dirname, 'hydra.mjs'),
+ formats: ['es', 'cjs'],
+ fileName: (ext) => ({ es: 'index.mjs', cjs: 'index.js' }[ext]),
+ },
+ rollupOptions: {
+ external: [...Object.keys(dependencies)],
+ },
+ target: 'esnext',
+ },
+});
diff --git a/packages/mini/README.md b/packages/mini/README.md
index 3135c286..fce7a045 100644
--- a/packages/mini/README.md
+++ b/packages/mini/README.md
@@ -32,7 +32,7 @@ yields:
## Mini Notation API
-See "Mini Notation" in the [Strudel Tutorial](https://strudel.tidalcycles.org/learn/mini-notation)
+See "Mini Notation" in the [Strudel Tutorial](https://strudel.cc/learn/mini-notation)
## Building the Parser
@@ -40,5 +40,5 @@ The parser [krill-parser.js] is generated from [krill.pegjs](./krill.pegjs) usin
To generate the parser, run
```js
-npm build:parser
+npm run build:parser
```
diff --git a/packages/mini/krill-parser.js b/packages/mini/krill-parser.js
index 7831087b..a91e46b8 100644
--- a/packages/mini/krill-parser.js
+++ b/packages/mini/krill-parser.js
@@ -220,8 +220,14 @@ function peg$parse(input, options) {
var peg$r1 = /^[eE]/;
var peg$r2 = /^[0-9]/;
var peg$r3 = /^[ \n\r\t]/;
- var peg$r4 = /^[0-9a-zA-Z~]/;
+ var peg$r4 = /^[0-9~]/;
var peg$r5 = /^[^\n]/;
+ var peg$r6 = /^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/;
+ var peg$r7 = /^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/;
+ var peg$r8 = /^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
+ var peg$r9 = /^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/;
+ var peg$r10 = /^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uFF21-\uFF3A]/;
+ var peg$r11 = /^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/;
var peg$e0 = peg$otherExpectation("number");
var peg$e1 = peg$literalExpectation(".", false);
@@ -237,41 +243,48 @@ function peg$parse(input, options) {
var peg$e11 = peg$literalExpectation("|", false);
var peg$e12 = peg$literalExpectation("\"", false);
var peg$e13 = peg$literalExpectation("'", false);
- var peg$e14 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], "~"], false, false);
- var peg$e15 = peg$literalExpectation("#", false);
- var peg$e16 = peg$literalExpectation("^", false);
- var peg$e17 = peg$literalExpectation("_", false);
- var peg$e18 = peg$literalExpectation("[", false);
- var peg$e19 = peg$literalExpectation("]", false);
- var peg$e20 = peg$literalExpectation("{", false);
- var peg$e21 = peg$literalExpectation("}", false);
- var peg$e22 = peg$literalExpectation("%", false);
- var peg$e23 = peg$literalExpectation("<", false);
- var peg$e24 = peg$literalExpectation(">", false);
- var peg$e25 = peg$literalExpectation("@", false);
- var peg$e26 = peg$literalExpectation("!", false);
- var peg$e27 = peg$literalExpectation("(", false);
- var peg$e28 = peg$literalExpectation(")", false);
- var peg$e29 = peg$literalExpectation("/", false);
- var peg$e30 = peg$literalExpectation("*", false);
- var peg$e31 = peg$literalExpectation("?", false);
- var peg$e32 = peg$literalExpectation(":", false);
- var peg$e33 = peg$literalExpectation("..", false);
- var peg$e34 = peg$literalExpectation("struct", false);
- var peg$e35 = peg$literalExpectation("target", false);
- var peg$e36 = peg$literalExpectation("euclid", false);
- var peg$e37 = peg$literalExpectation("slow", false);
- var peg$e38 = peg$literalExpectation("rotL", false);
- var peg$e39 = peg$literalExpectation("rotR", false);
- var peg$e40 = peg$literalExpectation("fast", false);
- var peg$e41 = peg$literalExpectation("scale", false);
- var peg$e42 = peg$literalExpectation("//", false);
- var peg$e43 = peg$classExpectation(["\n"], true, false);
- var peg$e44 = peg$literalExpectation("cat", false);
- var peg$e45 = peg$literalExpectation("$", false);
- var peg$e46 = peg$literalExpectation("setcps", false);
- var peg$e47 = peg$literalExpectation("setbpm", false);
- var peg$e48 = peg$literalExpectation("hush", false);
+ var peg$e14 = peg$otherExpectation("a letter, a number, \"-\", \"#\", \".\", \"^\", \"_\"");
+ var peg$e15 = peg$classExpectation([["0", "9"], "~"], false, false);
+ var peg$e16 = peg$literalExpectation("#", false);
+ var peg$e17 = peg$literalExpectation("^", false);
+ var peg$e18 = peg$literalExpectation("_", false);
+ var peg$e19 = peg$literalExpectation("[", false);
+ var peg$e20 = peg$literalExpectation("]", false);
+ var peg$e21 = peg$literalExpectation("{", false);
+ var peg$e22 = peg$literalExpectation("}", false);
+ var peg$e23 = peg$literalExpectation("%", false);
+ var peg$e24 = peg$literalExpectation("<", false);
+ var peg$e25 = peg$literalExpectation(">", false);
+ var peg$e26 = peg$literalExpectation("@", false);
+ var peg$e27 = peg$literalExpectation("!", false);
+ var peg$e28 = peg$literalExpectation("(", false);
+ var peg$e29 = peg$literalExpectation(")", false);
+ var peg$e30 = peg$literalExpectation("/", false);
+ var peg$e31 = peg$literalExpectation("*", false);
+ var peg$e32 = peg$literalExpectation("?", false);
+ var peg$e33 = peg$literalExpectation(":", false);
+ var peg$e34 = peg$literalExpectation("..", false);
+ var peg$e35 = peg$literalExpectation("struct", false);
+ var peg$e36 = peg$literalExpectation("target", false);
+ var peg$e37 = peg$literalExpectation("euclid", false);
+ var peg$e38 = peg$literalExpectation("slow", false);
+ var peg$e39 = peg$literalExpectation("rotL", false);
+ var peg$e40 = peg$literalExpectation("rotR", false);
+ var peg$e41 = peg$literalExpectation("fast", false);
+ var peg$e42 = peg$literalExpectation("scale", false);
+ var peg$e43 = peg$literalExpectation("//", false);
+ var peg$e44 = peg$classExpectation(["\n"], true, false);
+ var peg$e45 = peg$literalExpectation("cat", false);
+ var peg$e46 = peg$literalExpectation("$", false);
+ var peg$e47 = peg$literalExpectation("setcps", false);
+ var peg$e48 = peg$literalExpectation("setbpm", false);
+ var peg$e49 = peg$literalExpectation("hush", false);
+ var peg$e50 = peg$classExpectation([["a", "z"], "\xB5", ["\xDF", "\xF6"], ["\xF8", "\xFF"], "\u0101", "\u0103", "\u0105", "\u0107", "\u0109", "\u010B", "\u010D", "\u010F", "\u0111", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B", "\u011D", "\u011F", "\u0121", "\u0123", "\u0125", "\u0127", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131", "\u0133", "\u0135", ["\u0137", "\u0138"], "\u013A", "\u013C", "\u013E", "\u0140", "\u0142", "\u0144", "\u0146", ["\u0148", "\u0149"], "\u014B", "\u014D", "\u014F", "\u0151", "\u0153", "\u0155", "\u0157", "\u0159", "\u015B", "\u015D", "\u015F", "\u0161", "\u0163", "\u0165", "\u0167", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173", "\u0175", "\u0177", "\u017A", "\u017C", ["\u017E", "\u0180"], "\u0183", "\u0185", "\u0188", ["\u018C", "\u018D"], "\u0192", "\u0195", ["\u0199", "\u019B"], "\u019E", "\u01A1", "\u01A3", "\u01A5", "\u01A8", ["\u01AA", "\u01AB"], "\u01AD", "\u01B0", "\u01B4", "\u01B6", ["\u01B9", "\u01BA"], ["\u01BD", "\u01BF"], "\u01C6", "\u01C9", "\u01CC", "\u01CE", "\u01D0", "\u01D2", "\u01D4", "\u01D6", "\u01D8", "\u01DA", ["\u01DC", "\u01DD"], "\u01DF", "\u01E1", "\u01E3", "\u01E5", "\u01E7", "\u01E9", "\u01EB", "\u01ED", ["\u01EF", "\u01F0"], "\u01F3", "\u01F5", "\u01F9", "\u01FB", "\u01FD", "\u01FF", "\u0201", "\u0203", "\u0205", "\u0207", "\u0209", "\u020B", "\u020D", "\u020F", "\u0211", "\u0213", "\u0215", "\u0217", "\u0219", "\u021B", "\u021D", "\u021F", "\u0221", "\u0223", "\u0225", "\u0227", "\u0229", "\u022B", "\u022D", "\u022F", "\u0231", ["\u0233", "\u0239"], "\u023C", ["\u023F", "\u0240"], "\u0242", "\u0247", "\u0249", "\u024B", "\u024D", ["\u024F", "\u0293"], ["\u0295", "\u02AF"], "\u0371", "\u0373", "\u0377", ["\u037B", "\u037D"], "\u0390", ["\u03AC", "\u03CE"], ["\u03D0", "\u03D1"], ["\u03D5", "\u03D7"], "\u03D9", "\u03DB", "\u03DD", "\u03DF", "\u03E1", "\u03E3", "\u03E5", "\u03E7", "\u03E9", "\u03EB", "\u03ED", ["\u03EF", "\u03F3"], "\u03F5", "\u03F8", ["\u03FB", "\u03FC"], ["\u0430", "\u045F"], "\u0461", "\u0463", "\u0465", "\u0467", "\u0469", "\u046B", "\u046D", "\u046F", "\u0471", "\u0473", "\u0475", "\u0477", "\u0479", "\u047B", "\u047D", "\u047F", "\u0481", "\u048B", "\u048D", "\u048F", "\u0491", "\u0493", "\u0495", "\u0497", "\u0499", "\u049B", "\u049D", "\u049F", "\u04A1", "\u04A3", "\u04A5", "\u04A7", "\u04A9", "\u04AB", "\u04AD", "\u04AF", "\u04B1", "\u04B3", "\u04B5", "\u04B7", "\u04B9", "\u04BB", "\u04BD", "\u04BF", "\u04C2", "\u04C4", "\u04C6", "\u04C8", "\u04CA", "\u04CC", ["\u04CE", "\u04CF"], "\u04D1", "\u04D3", "\u04D5", "\u04D7", "\u04D9", "\u04DB", "\u04DD", "\u04DF", "\u04E1", "\u04E3", "\u04E5", "\u04E7", "\u04E9", "\u04EB", "\u04ED", "\u04EF", "\u04F1", "\u04F3", "\u04F5", "\u04F7", "\u04F9", "\u04FB", "\u04FD", "\u04FF", "\u0501", "\u0503", "\u0505", "\u0507", "\u0509", "\u050B", "\u050D", "\u050F", "\u0511", "\u0513", "\u0515", "\u0517", "\u0519", "\u051B", "\u051D", "\u051F", "\u0521", "\u0523", "\u0525", "\u0527", "\u0529", "\u052B", "\u052D", "\u052F", ["\u0560", "\u0588"], ["\u10D0", "\u10FA"], ["\u10FD", "\u10FF"], ["\u13F8", "\u13FD"], ["\u1C80", "\u1C88"], ["\u1D00", "\u1D2B"], ["\u1D6B", "\u1D77"], ["\u1D79", "\u1D9A"], "\u1E01", "\u1E03", "\u1E05", "\u1E07", "\u1E09", "\u1E0B", "\u1E0D", "\u1E0F", "\u1E11", "\u1E13", "\u1E15", "\u1E17", "\u1E19", "\u1E1B", "\u1E1D", "\u1E1F", "\u1E21", "\u1E23", "\u1E25", "\u1E27", "\u1E29", "\u1E2B", "\u1E2D", "\u1E2F", "\u1E31", "\u1E33", "\u1E35", "\u1E37", "\u1E39", "\u1E3B", "\u1E3D", "\u1E3F", "\u1E41", "\u1E43", "\u1E45", "\u1E47", "\u1E49", "\u1E4B", "\u1E4D", "\u1E4F", "\u1E51", "\u1E53", "\u1E55", "\u1E57", "\u1E59", "\u1E5B", "\u1E5D", "\u1E5F", "\u1E61", "\u1E63", "\u1E65", "\u1E67", "\u1E69", "\u1E6B", "\u1E6D", "\u1E6F", "\u1E71", "\u1E73", "\u1E75", "\u1E77", "\u1E79", "\u1E7B", "\u1E7D", "\u1E7F", "\u1E81", "\u1E83", "\u1E85", "\u1E87", "\u1E89", "\u1E8B", "\u1E8D", "\u1E8F", "\u1E91", "\u1E93", ["\u1E95", "\u1E9D"], "\u1E9F", "\u1EA1", "\u1EA3", "\u1EA5", "\u1EA7", "\u1EA9", "\u1EAB", "\u1EAD", "\u1EAF", "\u1EB1", "\u1EB3", "\u1EB5", "\u1EB7", "\u1EB9", "\u1EBB", "\u1EBD", "\u1EBF", "\u1EC1", "\u1EC3", "\u1EC5", "\u1EC7", "\u1EC9", "\u1ECB", "\u1ECD", "\u1ECF", "\u1ED1", "\u1ED3", "\u1ED5", "\u1ED7", "\u1ED9", "\u1EDB", "\u1EDD", "\u1EDF", "\u1EE1", "\u1EE3", "\u1EE5", "\u1EE7", "\u1EE9", "\u1EEB", "\u1EED", "\u1EEF", "\u1EF1", "\u1EF3", "\u1EF5", "\u1EF7", "\u1EF9", "\u1EFB", "\u1EFD", ["\u1EFF", "\u1F07"], ["\u1F10", "\u1F15"], ["\u1F20", "\u1F27"], ["\u1F30", "\u1F37"], ["\u1F40", "\u1F45"], ["\u1F50", "\u1F57"], ["\u1F60", "\u1F67"], ["\u1F70", "\u1F7D"], ["\u1F80", "\u1F87"], ["\u1F90", "\u1F97"], ["\u1FA0", "\u1FA7"], ["\u1FB0", "\u1FB4"], ["\u1FB6", "\u1FB7"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FC7"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FD7"], ["\u1FE0", "\u1FE7"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FF7"], "\u210A", ["\u210E", "\u210F"], "\u2113", "\u212F", "\u2134", "\u2139", ["\u213C", "\u213D"], ["\u2146", "\u2149"], "\u214E", "\u2184", ["\u2C30", "\u2C5E"], "\u2C61", ["\u2C65", "\u2C66"], "\u2C68", "\u2C6A", "\u2C6C", "\u2C71", ["\u2C73", "\u2C74"], ["\u2C76", "\u2C7B"], "\u2C81", "\u2C83", "\u2C85", "\u2C87", "\u2C89", "\u2C8B", "\u2C8D", "\u2C8F", "\u2C91", "\u2C93", "\u2C95", "\u2C97", "\u2C99", "\u2C9B", "\u2C9D", "\u2C9F", "\u2CA1", "\u2CA3", "\u2CA5", "\u2CA7", "\u2CA9", "\u2CAB", "\u2CAD", "\u2CAF", "\u2CB1", "\u2CB3", "\u2CB5", "\u2CB7", "\u2CB9", "\u2CBB", "\u2CBD", "\u2CBF", "\u2CC1", "\u2CC3", "\u2CC5", "\u2CC7", "\u2CC9", "\u2CCB", "\u2CCD", "\u2CCF", "\u2CD1", "\u2CD3", "\u2CD5", "\u2CD7", "\u2CD9", "\u2CDB", "\u2CDD", "\u2CDF", "\u2CE1", ["\u2CE3", "\u2CE4"], "\u2CEC", "\u2CEE", "\u2CF3", ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", "\uA641", "\uA643", "\uA645", "\uA647", "\uA649", "\uA64B", "\uA64D", "\uA64F", "\uA651", "\uA653", "\uA655", "\uA657", "\uA659", "\uA65B", "\uA65D", "\uA65F", "\uA661", "\uA663", "\uA665", "\uA667", "\uA669", "\uA66B", "\uA66D", "\uA681", "\uA683", "\uA685", "\uA687", "\uA689", "\uA68B", "\uA68D", "\uA68F", "\uA691", "\uA693", "\uA695", "\uA697", "\uA699", "\uA69B", "\uA723", "\uA725", "\uA727", "\uA729", "\uA72B", "\uA72D", ["\uA72F", "\uA731"], "\uA733", "\uA735", "\uA737", "\uA739", "\uA73B", "\uA73D", "\uA73F", "\uA741", "\uA743", "\uA745", "\uA747", "\uA749", "\uA74B", "\uA74D", "\uA74F", "\uA751", "\uA753", "\uA755", "\uA757", "\uA759", "\uA75B", "\uA75D", "\uA75F", "\uA761", "\uA763", "\uA765", "\uA767", "\uA769", "\uA76B", "\uA76D", "\uA76F", ["\uA771", "\uA778"], "\uA77A", "\uA77C", "\uA77F", "\uA781", "\uA783", "\uA785", "\uA787", "\uA78C", "\uA78E", "\uA791", ["\uA793", "\uA795"], "\uA797", "\uA799", "\uA79B", "\uA79D", "\uA79F", "\uA7A1", "\uA7A3", "\uA7A5", "\uA7A7", "\uA7A9", "\uA7AF", "\uA7B5", "\uA7B7", "\uA7B9", "\uA7FA", ["\uAB30", "\uAB5A"], ["\uAB60", "\uAB65"], ["\uAB70", "\uABBF"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], ["\uFF41", "\uFF5A"]], false, false);
+ var peg$e51 = peg$classExpectation([["\u02B0", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", "\u0374", "\u037A", "\u0559", "\u0640", ["\u06E5", "\u06E6"], ["\u07F4", "\u07F5"], "\u07FA", "\u081A", "\u0824", "\u0828", "\u0971", "\u0E46", "\u0EC6", "\u10FC", "\u17D7", "\u1843", "\u1AA7", ["\u1C78", "\u1C7D"], ["\u1D2C", "\u1D6A"], "\u1D78", ["\u1D9B", "\u1DBF"], "\u2071", "\u207F", ["\u2090", "\u209C"], ["\u2C7C", "\u2C7D"], "\u2D6F", "\u2E2F", "\u3005", ["\u3031", "\u3035"], "\u303B", ["\u309D", "\u309E"], ["\u30FC", "\u30FE"], "\uA015", ["\uA4F8", "\uA4FD"], "\uA60C", "\uA67F", ["\uA69C", "\uA69D"], ["\uA717", "\uA71F"], "\uA770", "\uA788", ["\uA7F8", "\uA7F9"], "\uA9CF", "\uA9E6", "\uAA70", "\uAADD", ["\uAAF3", "\uAAF4"], ["\uAB5C", "\uAB5F"], "\uFF70", ["\uFF9E", "\uFF9F"]], false, false);
+ var peg$e52 = peg$classExpectation(["\xAA", "\xBA", "\u01BB", ["\u01C0", "\u01C3"], "\u0294", ["\u05D0", "\u05EA"], ["\u05EF", "\u05F2"], ["\u0620", "\u063F"], ["\u0641", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u0800", "\u0815"], ["\u0840", "\u0858"], ["\u0860", "\u086A"], ["\u08A0", "\u08B4"], ["\u08B6", "\u08BD"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0972", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], "\u09FC", ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], "\u0C80", ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D54", "\u0D56"], ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E45"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u1100", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16F1", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17DC", ["\u1820", "\u1842"], ["\u1844", "\u1878"], ["\u1880", "\u1884"], ["\u1887", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C77"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u2135", "\u2138"], ["\u2D30", "\u2D67"], ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u3006", "\u303C", ["\u3041", "\u3096"], "\u309F", ["\u30A1", "\u30FA"], "\u30FF", ["\u3105", "\u312F"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FEF"], ["\uA000", "\uA014"], ["\uA016", "\uA48C"], ["\uA4D0", "\uA4F7"], ["\uA500", "\uA60B"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], "\uA66E", ["\uA6A0", "\uA6E5"], "\uA78F", "\uA7F7", ["\uA7FB", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", ["\uA8FD", "\uA8FE"], ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], ["\uA9E0", "\uA9E4"], ["\uA9E7", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA6F"], ["\uAA71", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADC"], ["\uAAE0", "\uAAEA"], "\uAAF2", ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uABC0", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF66", "\uFF6F"], ["\uFF71", "\uFF9D"], ["\uFFA0", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false);
+ var peg$e53 = peg$classExpectation(["\u01C5", "\u01C8", "\u01CB", "\u01F2", ["\u1F88", "\u1F8F"], ["\u1F98", "\u1F9F"], ["\u1FA8", "\u1FAF"], "\u1FBC", "\u1FCC", "\u1FFC"], false, false);
+ var peg$e54 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], "\u0100", "\u0102", "\u0104", "\u0106", "\u0108", "\u010A", "\u010C", "\u010E", "\u0110", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A", "\u011C", "\u011E", "\u0120", "\u0122", "\u0124", "\u0126", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130", "\u0132", "\u0134", "\u0136", "\u0139", "\u013B", "\u013D", "\u013F", "\u0141", "\u0143", "\u0145", "\u0147", "\u014A", "\u014C", "\u014E", "\u0150", "\u0152", "\u0154", "\u0156", "\u0158", "\u015A", "\u015C", "\u015E", "\u0160", "\u0162", "\u0164", "\u0166", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172", "\u0174", "\u0176", ["\u0178", "\u0179"], "\u017B", "\u017D", ["\u0181", "\u0182"], "\u0184", ["\u0186", "\u0187"], ["\u0189", "\u018B"], ["\u018E", "\u0191"], ["\u0193", "\u0194"], ["\u0196", "\u0198"], ["\u019C", "\u019D"], ["\u019F", "\u01A0"], "\u01A2", "\u01A4", ["\u01A6", "\u01A7"], "\u01A9", "\u01AC", ["\u01AE", "\u01AF"], ["\u01B1", "\u01B3"], "\u01B5", ["\u01B7", "\u01B8"], "\u01BC", "\u01C4", "\u01C7", "\u01CA", "\u01CD", "\u01CF", "\u01D1", "\u01D3", "\u01D5", "\u01D7", "\u01D9", "\u01DB", "\u01DE", "\u01E0", "\u01E2", "\u01E4", "\u01E6", "\u01E8", "\u01EA", "\u01EC", "\u01EE", "\u01F1", "\u01F4", ["\u01F6", "\u01F8"], "\u01FA", "\u01FC", "\u01FE", "\u0200", "\u0202", "\u0204", "\u0206", "\u0208", "\u020A", "\u020C", "\u020E", "\u0210", "\u0212", "\u0214", "\u0216", "\u0218", "\u021A", "\u021C", "\u021E", "\u0220", "\u0222", "\u0224", "\u0226", "\u0228", "\u022A", "\u022C", "\u022E", "\u0230", "\u0232", ["\u023A", "\u023B"], ["\u023D", "\u023E"], "\u0241", ["\u0243", "\u0246"], "\u0248", "\u024A", "\u024C", "\u024E", "\u0370", "\u0372", "\u0376", "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u038F"], ["\u0391", "\u03A1"], ["\u03A3", "\u03AB"], "\u03CF", ["\u03D2", "\u03D4"], "\u03D8", "\u03DA", "\u03DC", "\u03DE", "\u03E0", "\u03E2", "\u03E4", "\u03E6", "\u03E8", "\u03EA", "\u03EC", "\u03EE", "\u03F4", "\u03F7", ["\u03F9", "\u03FA"], ["\u03FD", "\u042F"], "\u0460", "\u0462", "\u0464", "\u0466", "\u0468", "\u046A", "\u046C", "\u046E", "\u0470", "\u0472", "\u0474", "\u0476", "\u0478", "\u047A", "\u047C", "\u047E", "\u0480", "\u048A", "\u048C", "\u048E", "\u0490", "\u0492", "\u0494", "\u0496", "\u0498", "\u049A", "\u049C", "\u049E", "\u04A0", "\u04A2", "\u04A4", "\u04A6", "\u04A8", "\u04AA", "\u04AC", "\u04AE", "\u04B0", "\u04B2", "\u04B4", "\u04B6", "\u04B8", "\u04BA", "\u04BC", "\u04BE", ["\u04C0", "\u04C1"], "\u04C3", "\u04C5", "\u04C7", "\u04C9", "\u04CB", "\u04CD", "\u04D0", "\u04D2", "\u04D4", "\u04D6", "\u04D8", "\u04DA", "\u04DC", "\u04DE", "\u04E0", "\u04E2", "\u04E4", "\u04E6", "\u04E8", "\u04EA", "\u04EC", "\u04EE", "\u04F0", "\u04F2", "\u04F4", "\u04F6", "\u04F8", "\u04FA", "\u04FC", "\u04FE", "\u0500", "\u0502", "\u0504", "\u0506", "\u0508", "\u050A", "\u050C", "\u050E", "\u0510", "\u0512", "\u0514", "\u0516", "\u0518", "\u051A", "\u051C", "\u051E", "\u0520", "\u0522", "\u0524", "\u0526", "\u0528", "\u052A", "\u052C", "\u052E", ["\u0531", "\u0556"], ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u13A0", "\u13F5"], ["\u1C90", "\u1CBA"], ["\u1CBD", "\u1CBF"], "\u1E00", "\u1E02", "\u1E04", "\u1E06", "\u1E08", "\u1E0A", "\u1E0C", "\u1E0E", "\u1E10", "\u1E12", "\u1E14", "\u1E16", "\u1E18", "\u1E1A", "\u1E1C", "\u1E1E", "\u1E20", "\u1E22", "\u1E24", "\u1E26", "\u1E28", "\u1E2A", "\u1E2C", "\u1E2E", "\u1E30", "\u1E32", "\u1E34", "\u1E36", "\u1E38", "\u1E3A", "\u1E3C", "\u1E3E", "\u1E40", "\u1E42", "\u1E44", "\u1E46", "\u1E48", "\u1E4A", "\u1E4C", "\u1E4E", "\u1E50", "\u1E52", "\u1E54", "\u1E56", "\u1E58", "\u1E5A", "\u1E5C", "\u1E5E", "\u1E60", "\u1E62", "\u1E64", "\u1E66", "\u1E68", "\u1E6A", "\u1E6C", "\u1E6E", "\u1E70", "\u1E72", "\u1E74", "\u1E76", "\u1E78", "\u1E7A", "\u1E7C", "\u1E7E", "\u1E80", "\u1E82", "\u1E84", "\u1E86", "\u1E88", "\u1E8A", "\u1E8C", "\u1E8E", "\u1E90", "\u1E92", "\u1E94", "\u1E9E", "\u1EA0", "\u1EA2", "\u1EA4", "\u1EA6", "\u1EA8", "\u1EAA", "\u1EAC", "\u1EAE", "\u1EB0", "\u1EB2", "\u1EB4", "\u1EB6", "\u1EB8", "\u1EBA", "\u1EBC", "\u1EBE", "\u1EC0", "\u1EC2", "\u1EC4", "\u1EC6", "\u1EC8", "\u1ECA", "\u1ECC", "\u1ECE", "\u1ED0", "\u1ED2", "\u1ED4", "\u1ED6", "\u1ED8", "\u1EDA", "\u1EDC", "\u1EDE", "\u1EE0", "\u1EE2", "\u1EE4", "\u1EE6", "\u1EE8", "\u1EEA", "\u1EEC", "\u1EEE", "\u1EF0", "\u1EF2", "\u1EF4", "\u1EF6", "\u1EF8", "\u1EFA", "\u1EFC", "\u1EFE", ["\u1F08", "\u1F0F"], ["\u1F18", "\u1F1D"], ["\u1F28", "\u1F2F"], ["\u1F38", "\u1F3F"], ["\u1F48", "\u1F4D"], "\u1F59", "\u1F5B", "\u1F5D", "\u1F5F", ["\u1F68", "\u1F6F"], ["\u1FB8", "\u1FBB"], ["\u1FC8", "\u1FCB"], ["\u1FD8", "\u1FDB"], ["\u1FE8", "\u1FEC"], ["\u1FF8", "\u1FFB"], "\u2102", "\u2107", ["\u210B", "\u210D"], ["\u2110", "\u2112"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u2130", "\u2133"], ["\u213E", "\u213F"], "\u2145", "\u2183", ["\u2C00", "\u2C2E"], "\u2C60", ["\u2C62", "\u2C64"], "\u2C67", "\u2C69", "\u2C6B", ["\u2C6D", "\u2C70"], "\u2C72", "\u2C75", ["\u2C7E", "\u2C80"], "\u2C82", "\u2C84", "\u2C86", "\u2C88", "\u2C8A", "\u2C8C", "\u2C8E", "\u2C90", "\u2C92", "\u2C94", "\u2C96", "\u2C98", "\u2C9A", "\u2C9C", "\u2C9E", "\u2CA0", "\u2CA2", "\u2CA4", "\u2CA6", "\u2CA8", "\u2CAA", "\u2CAC", "\u2CAE", "\u2CB0", "\u2CB2", "\u2CB4", "\u2CB6", "\u2CB8", "\u2CBA", "\u2CBC", "\u2CBE", "\u2CC0", "\u2CC2", "\u2CC4", "\u2CC6", "\u2CC8", "\u2CCA", "\u2CCC", "\u2CCE", "\u2CD0", "\u2CD2", "\u2CD4", "\u2CD6", "\u2CD8", "\u2CDA", "\u2CDC", "\u2CDE", "\u2CE0", "\u2CE2", "\u2CEB", "\u2CED", "\u2CF2", "\uA640", "\uA642", "\uA644", "\uA646", "\uA648", "\uA64A", "\uA64C", "\uA64E", "\uA650", "\uA652", "\uA654", "\uA656", "\uA658", "\uA65A", "\uA65C", "\uA65E", "\uA660", "\uA662", "\uA664", "\uA666", "\uA668", "\uA66A", "\uA66C", "\uA680", "\uA682", "\uA684", "\uA686", "\uA688", "\uA68A", "\uA68C", "\uA68E", "\uA690", "\uA692", "\uA694", "\uA696", "\uA698", "\uA69A", "\uA722", "\uA724", "\uA726", "\uA728", "\uA72A", "\uA72C", "\uA72E", "\uA732", "\uA734", "\uA736", "\uA738", "\uA73A", "\uA73C", "\uA73E", "\uA740", "\uA742", "\uA744", "\uA746", "\uA748", "\uA74A", "\uA74C", "\uA74E", "\uA750", "\uA752", "\uA754", "\uA756", "\uA758", "\uA75A", "\uA75C", "\uA75E", "\uA760", "\uA762", "\uA764", "\uA766", "\uA768", "\uA76A", "\uA76C", "\uA76E", "\uA779", "\uA77B", ["\uA77D", "\uA77E"], "\uA780", "\uA782", "\uA784", "\uA786", "\uA78B", "\uA78D", "\uA790", "\uA792", "\uA796", "\uA798", "\uA79A", "\uA79C", "\uA79E", "\uA7A0", "\uA7A2", "\uA7A4", "\uA7A6", "\uA7A8", ["\uA7AA", "\uA7AE"], ["\uA7B0", "\uA7B4"], "\uA7B6", "\uA7B8", ["\uFF21", "\uFF3A"]], false, false);
+ var peg$e55 = peg$classExpectation([["\u16EE", "\u16F0"], ["\u2160", "\u2182"], ["\u2185", "\u2188"], "\u3007", ["\u3021", "\u3029"], ["\u3038", "\u303A"], ["\uA6E6", "\uA6EF"]], false, false);
var peg$f0 = function() { return parseFloat(text()); };
var peg$f1 = function() { return parseInt(text()); };
@@ -832,60 +845,69 @@ function peg$parse(input, options) {
}
function peg$parsestep_char() {
- var s0;
+ var s0, s1;
- if (peg$r4.test(input.charAt(peg$currPos))) {
- s0 = input.charAt(peg$currPos);
- peg$currPos++;
- } else {
- s0 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e14); }
- }
+ peg$silentFails++;
+ s0 = peg$parseunicode_letter();
if (s0 === peg$FAILED) {
- if (input.charCodeAt(peg$currPos) === 45) {
- s0 = peg$c1;
+ if (peg$r4.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e4); }
+ if (peg$silentFails === 0) { peg$fail(peg$e15); }
}
if (s0 === peg$FAILED) {
- if (input.charCodeAt(peg$currPos) === 35) {
- s0 = peg$c8;
+ if (input.charCodeAt(peg$currPos) === 45) {
+ s0 = peg$c1;
peg$currPos++;
} else {
s0 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e15); }
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
}
if (s0 === peg$FAILED) {
- if (input.charCodeAt(peg$currPos) === 46) {
- s0 = peg$c0;
+ if (input.charCodeAt(peg$currPos) === 35) {
+ s0 = peg$c8;
peg$currPos++;
} else {
s0 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e1); }
+ if (peg$silentFails === 0) { peg$fail(peg$e16); }
}
if (s0 === peg$FAILED) {
- if (input.charCodeAt(peg$currPos) === 94) {
- s0 = peg$c9;
+ if (input.charCodeAt(peg$currPos) === 46) {
+ s0 = peg$c0;
peg$currPos++;
} else {
s0 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
+ if (peg$silentFails === 0) { peg$fail(peg$e1); }
}
if (s0 === peg$FAILED) {
- if (input.charCodeAt(peg$currPos) === 95) {
- s0 = peg$c10;
+ if (input.charCodeAt(peg$currPos) === 94) {
+ s0 = peg$c9;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e17); }
}
+ if (s0 === peg$FAILED) {
+ if (input.charCodeAt(peg$currPos) === 95) {
+ s0 = peg$c10;
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
+ }
+ }
}
}
}
}
}
+ peg$silentFails--;
+ if (s0 === peg$FAILED) {
+ s1 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
+ }
return s0;
}
@@ -927,7 +949,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s2 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parsews();
@@ -939,7 +961,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s6 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
}
if (s6 !== peg$FAILED) {
s7 = peg$parsews();
@@ -971,7 +993,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s2 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parsews();
@@ -983,7 +1005,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s6 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
+ if (peg$silentFails === 0) { peg$fail(peg$e22); }
}
if (s6 !== peg$FAILED) {
s7 = peg$parsepolymeter_steps();
@@ -1018,7 +1040,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
+ if (peg$silentFails === 0) { peg$fail(peg$e23); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parseslice();
@@ -1047,7 +1069,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s2 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parsews();
@@ -1059,7 +1081,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s6 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
}
if (s6 !== peg$FAILED) {
s7 = peg$parsews();
@@ -1136,7 +1158,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
+ if (peg$silentFails === 0) { peg$fail(peg$e26); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsenumber();
@@ -1164,7 +1186,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsenumber();
@@ -1192,7 +1214,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1220,7 +1242,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s13 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
}
if (s13 !== peg$FAILED) {
peg$savedPos = s0;
@@ -1258,7 +1280,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parseslice();
@@ -1286,7 +1308,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e30); }
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parseslice();
@@ -1314,7 +1336,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
+ if (peg$silentFails === 0) { peg$fail(peg$e32); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsenumber();
@@ -1340,7 +1362,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e32); }
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parseslice();
@@ -1368,7 +1390,7 @@ function peg$parse(input, options) {
peg$currPos += 2;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parseslice();
@@ -1642,7 +1664,7 @@ function peg$parse(input, options) {
peg$currPos += 6;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1671,7 +1693,7 @@ function peg$parse(input, options) {
peg$currPos += 6;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1712,7 +1734,7 @@ function peg$parse(input, options) {
peg$currPos += 6;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1753,7 +1775,7 @@ function peg$parse(input, options) {
peg$currPos += 4;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1782,7 +1804,7 @@ function peg$parse(input, options) {
peg$currPos += 4;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1811,7 +1833,7 @@ function peg$parse(input, options) {
peg$currPos += 4;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e39); }
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1840,7 +1862,7 @@ function peg$parse(input, options) {
peg$currPos += 4;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1869,7 +1891,7 @@ function peg$parse(input, options) {
peg$currPos += 5;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1919,7 +1941,7 @@ function peg$parse(input, options) {
peg$currPos += 2;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
}
if (s1 !== peg$FAILED) {
s2 = [];
@@ -1928,7 +1950,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s3 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
}
while (s3 !== peg$FAILED) {
s2.push(s3);
@@ -1937,7 +1959,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s3 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
}
}
s1 = [s1, s2];
@@ -1959,7 +1981,7 @@ function peg$parse(input, options) {
peg$currPos += 3;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -1968,7 +1990,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s3 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parsews();
@@ -2014,7 +2036,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s8 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
@@ -2079,7 +2101,7 @@ function peg$parse(input, options) {
peg$currPos++;
} else {
s3 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
+ if (peg$silentFails === 0) { peg$fail(peg$e46); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parsews();
@@ -2162,7 +2184,7 @@ function peg$parse(input, options) {
peg$currPos += 6;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e46); }
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -2191,7 +2213,7 @@ function peg$parse(input, options) {
peg$currPos += 6;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parsews();
@@ -2220,7 +2242,7 @@ function peg$parse(input, options) {
peg$currPos += 4;
} else {
s1 = peg$FAILED;
- if (peg$silentFails === 0) { peg$fail(peg$e48); }
+ if (peg$silentFails === 0) { peg$fail(peg$e49); }
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
@@ -2242,6 +2264,113 @@ function peg$parse(input, options) {
return s0;
}
+ function peg$parseunicode_letter() {
+ var s0;
+
+ s0 = peg$parseLu();
+ if (s0 === peg$FAILED) {
+ s0 = peg$parseLl();
+ if (s0 === peg$FAILED) {
+ s0 = peg$parseLt();
+ if (s0 === peg$FAILED) {
+ s0 = peg$parseLm();
+ if (s0 === peg$FAILED) {
+ s0 = peg$parseLo();
+ if (s0 === peg$FAILED) {
+ s0 = peg$parseNl();
+ }
+ }
+ }
+ }
+ }
+
+ return s0;
+ }
+
+ function peg$parseLl() {
+ var s0;
+
+ if (peg$r6.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
+ }
+
+ return s0;
+ }
+
+ function peg$parseLm() {
+ var s0;
+
+ if (peg$r7.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
+ }
+
+ return s0;
+ }
+
+ function peg$parseLo() {
+ var s0;
+
+ if (peg$r8.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
+ }
+
+ return s0;
+ }
+
+ function peg$parseLt() {
+ var s0;
+
+ if (peg$r9.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
+ }
+
+ return s0;
+ }
+
+ function peg$parseLu() {
+ var s0;
+
+ if (peg$r10.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
+ }
+
+ return s0;
+ }
+
+ function peg$parseNl() {
+ var s0;
+
+ if (peg$r11.test(input.charAt(peg$currPos))) {
+ s0 = input.charAt(peg$currPos);
+ peg$currPos++;
+ } else {
+ s0 = peg$FAILED;
+ if (peg$silentFails === 0) { peg$fail(peg$e55); }
+ }
+
+ return s0;
+ }
+
var AtomStub = function(source)
{
diff --git a/packages/mini/krill.pegjs b/packages/mini/krill.pegjs
index f52743bf..448d291e 100644
--- a/packages/mini/krill.pegjs
+++ b/packages/mini/krill.pegjs
@@ -103,7 +103,8 @@ quote = '"' / "'"
// ------------------ steps and cycles ---------------------------
// single step definition (e.g bd)
-step_char = [0-9a-zA-Z~] / "-" / "#" / "." / "^" / "_"
+step_char "a letter, a number, \"-\", \"#\", \".\", \"^\", \"_\"" =
+ unicode_letter / [0-9~] / "-" / "#" / "." / "^" / "_"
step = ws chars:step_char+ ws { return new AtomStub(chars.join("")) }
// define a sub cycle e.g. [1 2, 3 [4]]
@@ -265,3 +266,25 @@ hush = "hush"
// ---------------------- statements ----------------------------
statement = mini_definition / command
+
+// ---------------------- unicode ----------------------------
+
+unicode_letter = Lu / Ll / Lt / Lm / Lo / Nl
+
+// Letter, Lowercase
+Ll = [\u0061-\u007A\u00B5\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]
+
+// Letter, Modifier
+Lm = [\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]
+
+// Letter, Other
+Lo = [\u00AA\u00BA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]
+
+// Letter, Titlecase
+Lt = [\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]
+
+// Letter, Uppercase
+Lu = [\u0041-\u005A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uFF21-\uFF3A]
+
+// Number, Letter
+Nl = [\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]
\ No newline at end of file
diff --git a/packages/osc/README.md b/packages/osc/README.md
index cab6d629..824d79a4 100644
--- a/packages/osc/README.md
+++ b/packages/osc/README.md
@@ -34,6 +34,6 @@ Now open the REPL and type:
s(" hh").osc()
```
-or just [click here](https://strudel.tidalcycles.org/#cygiPGJkIHNkPiBoaCIpLm9zYygp)...
+or just [click here](https://strudel.cc/#cygiPGJkIHNkPiBoaCIpLm9zYygp)...
-You can read more about [how to use Superdirt with Strudel the Tutorial](https://strudel.tidalcycles.org/learn/input-output/#superdirt-api)
+You can read more about [how to use Superdirt with Strudel the Tutorial](https://strudel.cc/learn/input-output/#superdirt-api)
diff --git a/packages/osc/osc.mjs b/packages/osc/osc.mjs
index 586da8e3..f77f0ac5 100644
--- a/packages/osc/osc.mjs
+++ b/packages/osc/osc.mjs
@@ -37,7 +37,7 @@ function connect() {
/**
*
* Sends each hap as an OSC message, which can be picked up by SuperCollider or any other OSC-enabled software.
- * For more info, read [MIDI & OSC in the docs](https://strudel.tidalcycles.org/learn/input-output)
+ * For more info, read [MIDI & OSC in the docs](https://strudel.cc/learn/input-output)
*
* @name osc
* @memberof Pattern
diff --git a/packages/react/README.md b/packages/react/README.md
index f65f48b0..4b55adbb 100644
--- a/packages/react/README.md
+++ b/packages/react/README.md
@@ -21,12 +21,12 @@ import { samples, initAudioOnFirstClick } from '@strudel.cycles/webaudio';
async function prebake() {
await samples(
- 'https://strudel.tidalcycles.org/tidal-drum-machines.json',
+ 'https://strudel.cc/tidal-drum-machines.json',
'github:ritchse/tidal-drum-machines/main/machines/'
);
await samples(
- 'https://strudel.tidalcycles.org/EmuSP12.json',
- 'https://strudel.tidalcycles.org/EmuSP12/'
+ 'https://strudel.cc/EmuSP12.json',
+ 'https://strudel.cc/EmuSP12/'
);
}
diff --git a/packages/react/package.json b/packages/react/package.json
index deef95d8..df017d91 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -33,12 +33,17 @@
"homepage": "https://github.com/tidalcycles/strudel#readme",
"dependencies": {
"@codemirror/autocomplete": "^6.6.0",
+ "@codemirror/commands": "^6.0.0",
"@codemirror/lang-javascript": "^6.1.7",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
"@codemirror/state": "^6.2.0",
"@codemirror/view": "^6.10.0",
"@lezer/highlight": "^1.1.4",
"@replit/codemirror-emacs": "^6.0.1",
"@replit/codemirror-vim": "^6.0.14",
+ "@replit/codemirror-vscode-keymap": "^6.0.2",
"@strudel.cycles/core": "workspace:*",
"@strudel.cycles/transpiler": "workspace:*",
"@strudel.cycles/webaudio": "workspace:*",
diff --git a/packages/react/src/components/CodeMirror6.jsx b/packages/react/src/components/CodeMirror6.jsx
index a5af5312..63d4d5a1 100644
--- a/packages/react/src/components/CodeMirror6.jsx
+++ b/packages/react/src/components/CodeMirror6.jsx
@@ -1,8 +1,10 @@
import { autocompletion } from '@codemirror/autocomplete';
+import { Prec } from '@codemirror/state';
import { javascript, javascriptLanguage } from '@codemirror/lang-javascript';
-import { EditorView } from '@codemirror/view';
+import { ViewPlugin, EditorView, keymap } from '@codemirror/view';
import { emacs } from '@replit/codemirror-emacs';
import { vim } from '@replit/codemirror-vim';
+import { vscodeKeymap } from '@replit/codemirror-vscode-keymap';
import _CodeMirror from '@uiw/react-codemirror';
import React, { useCallback, useMemo } from 'react';
import strudelTheme from '../themes/strudel-theme';
@@ -61,11 +63,25 @@ export default function CodeMirror({
[onSelectionChange],
);
+ const vscodePlugin = ViewPlugin.fromClass(
+ class {
+ constructor(view) {}
+ },
+ {
+ provide: (plugin) => {
+ return Prec.highest(keymap.of([...vscodeKeymap]));
+ },
+ },
+ );
+
+ const vscodeExtension = (options) => [vscodePlugin].concat(options ?? []);
+
const extensions = useMemo(() => {
let _extensions = [...staticExtensions];
let bindings = {
vim,
emacs,
+ vscode: vscodeExtension,
};
if (bindings[keybindings]) {
@@ -78,6 +94,8 @@ export default function CodeMirror({
_extensions.push(autocompletion({ override: [] }));
}
+ _extensions.push([keymap.of({})]);
+
if (isLineWrappingEnabled) {
_extensions.push(EditorView.lineWrapping);
}
diff --git a/packages/superdough/README.md b/packages/superdough/README.md
index ac46f69e..c5950dbf 100644
--- a/packages/superdough/README.md
+++ b/packages/superdough/README.md
@@ -1,7 +1,7 @@
# superdough
superdough is a simple web audio sampler and synth, intended for live coding.
-It is the default output of [strudel](https://strudel.tidalcycles.org/).
+It is the default output of [strudel](https://strudel.cc/).
This package has no ties to strudel and can be used to quickly bake your own music system on the web.
## Install
diff --git a/packages/superdough/sampler.mjs b/packages/superdough/sampler.mjs
index a7e9c3a3..d0733b14 100644
--- a/packages/superdough/sampler.mjs
+++ b/packages/superdough/sampler.mjs
@@ -147,7 +147,12 @@ function getSamplesPrefixHandler(url) {
* sd: '808sd/SD0010.WAV'
* }, 'https://raw.githubusercontent.com/tidalcycles/Dirt-Samples/master/');
* s("[bd ~]*2, [~ hh]*2, ~ sd")
- *
+ * @example
+ * samples('shabda:noise,chimp:2')
+ * s("noise ")
+ * @example
+ * samples('shabda/speech/fr-FR/f:chocolat')
+ * s("chocolat*4")
*/
export const samples = async (sampleMap, baseUrl = sampleMap._base || '', options = {}) => {
@@ -162,6 +167,21 @@ export const samples = async (sampleMap, baseUrl = sampleMap._base || '', option
path = path.endsWith('/') ? path.slice(0, -1) : path;
sampleMap = `https://raw.githubusercontent.com/${path}/strudel.json`;
}
+ if (sampleMap.startsWith('shabda:')) {
+ let [_, path] = sampleMap.split('shabda:');
+ sampleMap = `https://shabda.ndre.gr/${path}.json?strudel=1`;
+ }
+ if (sampleMap.startsWith('shabda/speech')) {
+ let [_, path] = sampleMap.split('shabda/speech');
+ path = path.startsWith('/') ? path.substring(1) : path;
+ let [params, words] = path.split(':');
+ let gender = 'f';
+ let language = 'en-GB';
+ if (params) {
+ [language, gender] = params.split('/');
+ }
+ sampleMap = `https://shabda.ndre.gr/speech/${words}.json?gender=${gender}&language=${language}&strudel=1'`;
+ }
if (typeof fetch !== 'function') {
// not a browser
return;
diff --git a/packages/superdough/synth.mjs b/packages/superdough/synth.mjs
index 24d1d5ef..dafc2e7c 100644
--- a/packages/superdough/synth.mjs
+++ b/packages/superdough/synth.mjs
@@ -73,13 +73,13 @@ export function waveformN(partials, type) {
const ac = getAudioContext();
const osc = ac.createOscillator();
- const amplitudes = {
- sawtooth: (n) => 1 / n,
- square: (n) => (n % 2 === 0 ? 0 : 1 / n),
- triangle: (n) => (n % 2 === 0 ? 0 : 1 / (n * n)),
+ const terms = {
+ sawtooth: (n) => [0, -1 / n],
+ square: (n) => [0, n % 2 === 0 ? 0 : 1 / n],
+ triangle: (n) => [n % 2 === 0 ? 0 : 1 / (n * n), 0],
};
- if (!amplitudes[type]) {
+ if (!terms[type]) {
throw new Error(`unknown wave type ${type}`);
}
@@ -87,8 +87,9 @@ export function waveformN(partials, type) {
imag[0] = 0;
let n = 1;
while (n <= partials) {
- real[n] = amplitudes[type](n);
- imag[n] = 0;
+ const [r, i] = terms[type](n);
+ real[n] = r;
+ imag[n] = i;
n++;
}
diff --git a/packages/tonal/README.md b/packages/tonal/README.md
index 1825346b..0bb344fd 100644
--- a/packages/tonal/README.md
+++ b/packages/tonal/README.md
@@ -31,4 +31,4 @@ yields:
## Tonal API
-See "Tonal API" in the [Strudel Tutorial](https://strudel.tidalcycles.org/learn/tonal)
+See "Tonal API" in the [Strudel Tutorial](https://strudel.cc/learn/tonal)
diff --git a/packages/tonal/tonal.mjs b/packages/tonal/tonal.mjs
index 99a11c53..3b6fe41e 100644
--- a/packages/tonal/tonal.mjs
+++ b/packages/tonal/tonal.mjs
@@ -7,6 +7,19 @@ This program is free software: you can redistribute it and/or modify it under th
import { Note, Interval, Scale } from '@tonaljs/tonal';
import { register, _mod } from '@strudel.cycles/core';
+const octavesInterval = (octaves) => (octaves <= 0 ? -1 : 1) + octaves * 7 + 'P';
+
+function scaleStep(step, scale) {
+ scale = scale.replaceAll(':', ' ');
+ step = Math.ceil(step);
+ const { intervals, tonic } = Scale.get(scale);
+ const { pc, oct = 3 } = Note.get(tonic);
+ const octaveOffset = Math.floor(step / intervals.length);
+ const scaleStep = _mod(step, intervals.length);
+ const interval = Interval.add(intervals[scaleStep], octavesInterval(octaveOffset));
+ return Note.transpose(pc + oct, interval);
+}
+
// transpose note inside scale by offset steps
// function scaleOffset(scale: string, offset: number, note: string) {
function scaleOffset(scale, offset, note) {
@@ -155,11 +168,7 @@ export const scale = register('scale', function (scale, pat) {
}
const asNumber = Number(note);
if (!isNaN(asNumber)) {
- // TODO: worth keeping for supporting ':' in (non-mininotation) strings?
- scale = scale.replaceAll(':', ' ');
- let [tonic, scaleName] = Scale.tokenize(scale);
- const { pc, oct = 3 } = Note.get(tonic);
- note = scaleOffset(pc + ' ' + scaleName, asNumber, pc + oct);
+ note = scaleStep(asNumber, scale);
}
return hap.withValue(() => (isObject ? { ...hap.value, note } : note)).setContext({ ...hap.context, scale });
});
diff --git a/packages/web/README.md b/packages/web/README.md
index f1ed2bbc..8189b34e 100644
--- a/packages/web/README.md
+++ b/packages/web/README.md
@@ -51,7 +51,7 @@ document.getElementById('play').addEventListener('click',
)
```
-You can learn [more about the `samples` function here](https://strudel.tidalcycles.org/learn/samples#loading-custom-samples).
+You can learn [more about the `samples` function here](https://strudel.cc/learn/samples#loading-custom-samples).
### Evaluating Code
@@ -72,7 +72,7 @@ document.getElementById('play').addEventListener('stop',
### Double vs Single Quotes
-There is a tiny difference between the [Strudel REPL](https://strudel.tidalcycles.org/) and `@strudel/web`.
+There is a tiny difference between the [Strudel REPL](https://strudel.cc/) and `@strudel/web`.
In the REPL you can use 'single quotes' for regular JS strings and "double quotes" for mini notation patterns.
In `@strudel/web`, it does not matter which types of quotes you're using.
There will probably be an escapte hatch for that in the future.
diff --git a/packages/web/examples/repl-example/index.html b/packages/web/examples/repl-example/index.html
index 12003e4b..ad404e7e 100644
--- a/packages/web/examples/repl-example/index.html
+++ b/packages/web/examples/repl-example/index.html
@@ -2,7 +2,7 @@
-
+
@strudel/web REPL Example
diff --git a/packages/webaudio/README.md b/packages/webaudio/README.md
index 3eb64593..8f974a25 100644
--- a/packages/webaudio/README.md
+++ b/packages/webaudio/README.md
@@ -33,4 +33,4 @@ document.getElementById("stop").addEventListener("click", () => scheduler.stop()
[Play with the example codesandbox](https://codesandbox.io/s/amazing-dawn-gclfwg?file=/src/index.js).
-Read more in the docs about [samples](https://strudel.tidalcycles.org/learn/samples/), [synths](https://strudel.tidalcycles.org/learn/synths/) and [effects](https://strudel.tidalcycles.org/learn/effects/).
+Read more in the docs about [samples](https://strudel.cc/learn/samples/), [synths](https://strudel.cc/learn/synths/) and [effects](https://strudel.cc/learn/effects/).
diff --git a/packages/webaudio/scope.mjs b/packages/webaudio/scope.mjs
index cfde80ce..9f052e8e 100644
--- a/packages/webaudio/scope.mjs
+++ b/packages/webaudio/scope.mjs
@@ -25,7 +25,7 @@ export function drawTimeScope(
for (let i = triggerIndex; i < bufferSize; i++) {
const v = dataArray[i] + 1;
- const y = (scale * (v - 1) + pos) * canvas.height;
+ const y = (1 - (scale * (v - 1) + pos)) * canvas.height;
if (i === 0) {
ctx.moveTo(x, y);
diff --git a/paper/demo-preprocessed.md b/paper/demo-preprocessed.md
index c7b316f6..e22823d9 100644
--- a/paper/demo-preprocessed.md
+++ b/paper/demo-preprocessed.md
@@ -199,7 +199,7 @@ interfaces.
# Links
-The Strudel REPL is available at ,
+The Strudel REPL is available at ,
including an interactive tutorial. The repository is at
, all the code is open source
under the GPL-3.0 License.
diff --git a/paper/demo.md b/paper/demo.md
index 9e3e5237..23fe2775 100644
--- a/paper/demo.md
+++ b/paper/demo.md
@@ -127,7 +127,7 @@ For the future, it is planned to integrate alternative sound engines such as Gli
# Links
-The Strudel REPL is available at , including an interactive tutorial.
+The Strudel REPL is available at , including an interactive tutorial.
The repository is at , all the code is open source under the GPL-3.0 License.
# Acknowledgments
diff --git a/paper/iclc2023.html b/paper/iclc2023.html
index d2f1fb77..a83e075a 100644
--- a/paper/iclc2023.html
+++ b/paper/iclc2023.html
@@ -717,8 +717,8 @@ fun ahead.
Links
The Strudel REPL is available at https://strudel.tidalcycles.org, including an
+href="https://strudel.cc"
+class="uri">https://strudel.cc, including an
interactive tutorial. The repository is at https://github.com/tidalcycles/strudel, all the code is
diff --git a/paper/iclc2023.md b/paper/iclc2023.md
index ac744bb5..3afb2782 100644
--- a/paper/iclc2023.md
+++ b/paper/iclc2023.md
@@ -450,7 +450,7 @@ While Haskell's type system makes it a great language for the ongoing developmen
# Links
-The Strudel REPL is available at , including an interactive tutorial.
+The Strudel REPL is available at , including an interactive tutorial.
The repository is at , all the code is open source under the AGPL-3.0 License.
# Acknowledgments
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9f222a20..92a7dfec 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -95,7 +95,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/core:
dependencies:
@@ -105,10 +105,10 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
vitest:
specifier: ^0.33.0
- version: 0.33.0(@vitest/ui@0.28.0)
+ version: 0.33.0
packages/core/examples/vite-vanilla-repl:
dependencies:
@@ -130,7 +130,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/core/examples/vite-vanilla-repl-cm6:
dependencies:
@@ -158,13 +158,13 @@ importers:
devDependencies:
vite:
specifier: ^4.3.2
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/csound:
dependencies:
'@csound/browser':
specifier: 6.18.7
- version: 6.18.7(eslint@8.39.0)
+ version: 6.18.7
'@strudel.cycles/core':
specifier: workspace:*
version: link:../core
@@ -174,7 +174,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/desktopbridge:
dependencies:
@@ -187,6 +187,22 @@ importers:
packages/embed: {}
+ packages/hydra:
+ dependencies:
+ '@strudel.cycles/core':
+ specifier: workspace:*
+ version: link:../core
+ hydra-synth:
+ specifier: ^1.3.29
+ version: 1.3.29
+ devDependencies:
+ pkg:
+ specifier: ^5.8.1
+ version: 5.8.1
+ vite:
+ specifier: ^4.3.3
+ version: 4.4.5
+
packages/midi:
dependencies:
'@strudel.cycles/core':
@@ -201,7 +217,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/mini:
dependencies:
@@ -214,10 +230,10 @@ importers:
version: 3.0.2
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
vitest:
specifier: ^0.33.0
- version: 0.33.0(@vitest/ui@0.28.0)
+ version: 0.33.0
packages/osc:
dependencies:
@@ -233,16 +249,28 @@ importers:
version: 5.8.1
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/react:
dependencies:
'@codemirror/autocomplete':
specifier: ^6.6.0
- version: 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(@lezer/common@1.0.2)
+ version: 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@codemirror/commands':
+ specifier: ^6.0.0
+ version: 6.2.4
'@codemirror/lang-javascript':
specifier: ^6.1.7
version: 6.1.7
+ '@codemirror/language':
+ specifier: ^6.0.0
+ version: 6.6.0
+ '@codemirror/lint':
+ specifier: ^6.0.0
+ version: 6.1.0
+ '@codemirror/search':
+ specifier: ^6.0.0
+ version: 6.2.3
'@codemirror/state':
specifier: ^6.2.0
version: 6.2.0
@@ -258,6 +286,9 @@ importers:
'@replit/codemirror-vim':
specifier: ^6.0.14
version: 6.0.14(@codemirror/commands@6.2.4)(@codemirror/language@6.6.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@replit/codemirror-vscode-keymap':
+ specifier: ^6.0.2
+ version: 6.0.2(@codemirror/autocomplete@6.6.0)(@codemirror/commands@6.2.4)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
'@strudel.cycles/core':
specifier: workspace:*
version: link:../core
@@ -275,7 +306,7 @@ importers:
version: 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
'@uiw/react-codemirror':
specifier: ^4.19.16
- version: 4.19.16(@babel/runtime@7.20.13)(@codemirror/autocomplete@6.6.0)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.0)(@codemirror/view@6.10.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0)
+ version: 4.19.16(@codemirror/autocomplete@6.6.0)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(react-dom@18.2.0)(react@18.2.0)
react-hook-inview:
specifier: ^4.5.0
version: 4.5.0(react-dom@18.2.0)(react@18.2.0)
@@ -306,7 +337,7 @@ importers:
version: 3.3.2
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/react/examples/nano-repl:
dependencies:
@@ -361,7 +392,7 @@ importers:
version: 3.3.2
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/serial:
dependencies:
@@ -371,7 +402,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/soundfonts:
dependencies:
@@ -393,7 +424,7 @@ importers:
version: 3.3.1
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/superdough:
dependencies:
@@ -403,7 +434,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/superdough/example:
dependencies:
@@ -413,7 +444,7 @@ importers:
devDependencies:
vite:
specifier: ^4.4.5
- version: 4.4.5(@types/node@18.16.3)
+ version: 4.4.5
packages/tonal:
dependencies:
@@ -432,10 +463,10 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
vitest:
specifier: ^0.33.0
- version: 0.33.0(@vitest/ui@0.28.0)
+ version: 0.33.0
packages/transpiler:
dependencies:
@@ -457,10 +488,10 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
vitest:
specifier: ^0.33.0
- version: 0.33.0(@vitest/ui@0.28.0)
+ version: 0.33.0
packages/web:
dependencies:
@@ -482,7 +513,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/web/examples/repl-example:
dependencies:
@@ -492,7 +523,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.2
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/webaudio:
dependencies:
@@ -505,7 +536,7 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
packages/xen:
dependencies:
@@ -515,10 +546,10 @@ importers:
devDependencies:
vite:
specifier: ^4.3.3
- version: 4.3.3(@types/node@18.16.3)
+ version: 4.3.3
vitest:
specifier: ^0.33.0
- version: 0.33.0(@vitest/ui@0.28.0)
+ version: 0.33.0
website:
dependencies:
@@ -527,7 +558,7 @@ importers:
version: 4.17.0
'@astrojs/mdx':
specifier: ^0.19.0
- version: 0.19.0(astro@2.3.2)(rollup@3.28.0)
+ version: 0.19.0(astro@2.3.2)
'@astrojs/react':
specifier: ^2.1.1
version: 2.1.1(@types/react-dom@18.2.1)(@types/react@18.2.0)(react-dom@18.2.0)(react@18.2.0)
@@ -594,6 +625,9 @@ importers:
'@strudel/desktopbridge':
specifier: workspace:*
version: link:../packages/desktopbridge
+ '@strudel/hydra':
+ specifier: workspace:*
+ version: link:../packages/hydra
'@supabase/supabase-js':
specifier: ^2.21.0
version: 2.21.0
@@ -617,7 +651,7 @@ importers:
version: 18.2.1
'@uiw/codemirror-themes-all':
specifier: ^4.19.16
- version: 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ version: 4.19.16
astro:
specifier: ^2.3.2
version: 2.3.2(@types/node@18.16.3)
@@ -659,17 +693,17 @@ importers:
version: 3.3.2
devDependencies:
'@vite-pwa/astro':
- specifier: ^0.0.5
- version: 0.0.5(astro@2.3.2)(vite-plugin-pwa@0.14.7)
+ specifier: ^0.1.4
+ version: 0.1.4(astro@2.3.2)(vite-plugin-pwa@0.16.5)
html-escaper:
specifier: ^3.0.3
version: 3.0.3
vite-plugin-pwa:
- specifier: ^0.14.7
- version: 0.14.7(vite@4.4.5)(workbox-build@6.5.4)(workbox-window@6.5.4)
+ specifier: ^0.16.5
+ version: 0.16.5(workbox-window@7.0.0)
workbox-window:
- specifier: ^6.5.4
- version: 6.5.4
+ specifier: ^7.0.0
+ version: 7.0.0
packages:
@@ -887,14 +921,14 @@ packages:
transitivePeerDependencies:
- supports-color
- /@astrojs/mdx@0.19.0(astro@2.3.2)(rollup@3.28.0):
+ /@astrojs/mdx@0.19.0(astro@2.3.2):
resolution: {integrity: sha512-McFpMV+npinIEKnY5t9hsdzLd76g78GgIRUPxem2OeXPNB8xr2pNS28GeU0+6Pn5STnB+sgcyyeqXLgzauOlMQ==}
engines: {node: '>=16.12.0'}
dependencies:
'@astrojs/markdown-remark': 2.1.4(astro@2.3.2)
'@astrojs/prism': 2.1.1
'@mdx-js/mdx': 2.3.0
- '@mdx-js/rollup': 2.3.0(rollup@3.28.0)
+ '@mdx-js/rollup': 2.3.0
acorn: 8.8.2
es-module-lexer: 1.2.1
estree-util-visit: 1.2.1
@@ -987,16 +1021,10 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.18.6
- dev: true
-
- /@babel/compat-data@7.20.14:
- resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==}
- engines: {node: '>=6.9.0'}
/@babel/compat-data@7.21.5:
resolution: {integrity: sha512-M+XAiQ7GzQ3FDPf0KOLkugzptnIypt0X0ma0wmlTKPR3IchgNFdx2JXxZdvd18JY5s7QkaFD/qyX0dsMpog/Ug==}
engines: {node: '>=6.9.0'}
- dev: true
/@babel/core@7.20.12:
resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==}
@@ -1068,13 +1096,12 @@ packages:
'@jridgewell/gen-mapping': 0.3.2
'@jridgewell/trace-mapping': 0.3.17
jsesc: 2.5.2
- dev: true
/@babel/helper-annotate-as-pure@7.18.6:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@babel/helper-builder-binary-assignment-operator-visitor@7.18.9:
resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==}
@@ -1090,10 +1117,10 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.20.14
+ '@babel/compat-data': 7.21.5
'@babel/core': 7.20.12
- '@babel/helper-validator-option': 7.18.6
- browserslist: 4.21.4
+ '@babel/helper-validator-option': 7.21.0
+ browserslist: 4.21.5
lru-cache: 5.1.1
semver: 6.3.0
@@ -1106,7 +1133,7 @@ packages:
'@babel/compat-data': 7.21.5
'@babel/core': 7.21.5
'@babel/helper-validator-option': 7.21.0
- browserslist: 4.21.4
+ browserslist: 4.21.5
lru-cache: 5.1.1
semver: 6.3.0
dev: true
@@ -1164,7 +1191,6 @@ packages:
/@babel/helper-environment-visitor@7.21.5:
resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==}
engines: {node: '>=6.9.0'}
- dev: true
/@babel/helper-explode-assignable-expression@7.18.6:
resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==}
@@ -1178,7 +1204,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.20.7
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@babel/helper-function-name@7.21.0:
resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
@@ -1186,13 +1212,12 @@ packages:
dependencies:
'@babel/template': 7.20.7
'@babel/types': 7.21.5
- dev: true
/@babel/helper-hoist-variables@7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@babel/helper-member-expression-to-functions@7.20.7:
resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==}
@@ -1205,27 +1230,26 @@ packages:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@babel/helper-module-imports@7.21.4:
resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.5
- dev: true
/@babel/helper-module-transforms@7.20.11:
resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-module-imports': 7.18.6
- '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-environment-visitor': 7.21.5
+ '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-simple-access': 7.21.5
'@babel/helper-split-export-declaration': 7.18.6
'@babel/helper-validator-identifier': 7.19.1
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.5
+ '@babel/types': 7.21.5
transitivePeerDependencies:
- supports-color
@@ -1285,18 +1309,11 @@ packages:
- supports-color
dev: true
- /@babel/helper-simple-access@7.20.2:
- resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.7
-
/@babel/helper-simple-access@7.21.5:
resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.21.5
- dev: true
/@babel/helper-skip-transparent-expression-wrappers@7.20.0:
resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
@@ -1309,7 +1326,7 @@ packages:
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@babel/helper-string-parser@7.19.4:
resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
@@ -1318,20 +1335,14 @@ packages:
/@babel/helper-string-parser@7.21.5:
resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==}
engines: {node: '>=6.9.0'}
- dev: true
/@babel/helper-validator-identifier@7.19.1:
resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-option@7.18.6:
- resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
- engines: {node: '>=6.9.0'}
-
/@babel/helper-validator-option@7.21.0:
resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
engines: {node: '>=6.9.0'}
- dev: true
/@babel/helper-wrap-function@7.20.5:
resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==}
@@ -1350,8 +1361,8 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.5
+ '@babel/types': 7.21.5
transitivePeerDependencies:
- supports-color
@@ -1387,7 +1398,7 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@babel/parser@7.21.4:
resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==}
@@ -1402,7 +1413,6 @@ packages:
hasBin: true
dependencies:
'@babel/types': 7.21.5
- dev: true
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.5):
resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
@@ -2276,9 +2286,9 @@ packages:
resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.21.4
- '@babel/types': 7.20.7
+ '@babel/code-frame': 7.21.4
+ '@babel/parser': 7.21.5
+ '@babel/types': 7.21.5
/@babel/traverse@7.20.13:
resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==}
@@ -2313,7 +2323,6 @@ packages:
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- dev: true
/@babel/types@7.19.0:
resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==}
@@ -2339,15 +2348,13 @@ packages:
'@babel/helper-string-parser': 7.21.5
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
- dev: true
- /@codemirror/autocomplete@6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(@lezer/common@1.0.2):
+ /@codemirror/autocomplete@6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
resolution: {integrity: sha512-SjbgWSwNKbyQOiVXtG8DXG2z29zTbmzpGccxMqakVo+vqK8fx3Ai0Ee7is3JqX6dxJOoK0GfP3LfeUK53Ltv7w==}
peerDependencies:
'@codemirror/language': ^6.0.0
'@codemirror/state': ^6.0.0
'@codemirror/view': ^6.0.0
- '@lezer/common': ^1.0.0
dependencies:
'@codemirror/language': 6.6.0
'@codemirror/state': 6.2.0
@@ -2367,7 +2374,7 @@ packages:
/@codemirror/lang-javascript@6.1.7:
resolution: {integrity: sha512-KXKqxlZ4W6t5I7i2ScmITUD3f/F5Cllk3kj0De9P9mFeYVfhOVOWuDLgYiLpk357u7Xh4dhqjJAnsNPPoTLghQ==}
dependencies:
- '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(@lezer/common@1.0.2)
+ '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
'@codemirror/language': 6.6.0
'@codemirror/lint': 6.1.0
'@codemirror/state': 6.2.0
@@ -2424,11 +2431,11 @@ packages:
w3c-keyname: 2.2.6
dev: false
- /@csound/browser@6.18.7(eslint@8.39.0):
+ /@csound/browser@6.18.7:
resolution: {integrity: sha512-pHC83n1fzV9xp7hkFNBTWYsqkBnOS3qNAA9AJNnu3ZCG35a4rMZ5ydOuFi3qqfkLwRTd+frazabxM/lu0+u0qw==}
dependencies:
comlink: 4.3.1
- eslint-plugin-n: 15.6.1(eslint@8.39.0)
+ eslint-plugin-n: 15.6.1
eventemitter3: 4.0.7
google-closure-compiler: 20221102.0.1
google-closure-library: 20221102.0.0
@@ -2867,10 +2874,12 @@ packages:
dependencies:
eslint: 8.39.0
eslint-visitor-keys: 3.4.0
+ dev: true
/@eslint-community/regexpp@4.5.1:
resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
/@eslint/eslintrc@2.0.2:
resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==}
@@ -2887,10 +2896,12 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
+ dev: true
/@eslint/js@8.39.0:
resolution: {integrity: sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
/@gar/promisify@1.1.3:
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
@@ -2925,13 +2936,16 @@ packages:
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
+ dev: true
/@humanwhocodes/module-importer@1.0.1:
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
+ dev: true
/@humanwhocodes/object-schema@1.2.1:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ dev: true
/@hutson/parse-repository-url@3.0.2:
resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==}
@@ -2961,14 +2975,14 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
+ '@jridgewell/sourcemap-codec': 1.4.15
/@jridgewell/gen-mapping@0.3.2:
resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
+ '@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.17
/@jridgewell/resolve-uri@3.1.0:
@@ -2991,7 +3005,6 @@ packages:
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
/@jridgewell/trace-mapping@0.3.17:
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
@@ -3178,14 +3191,13 @@ packages:
- supports-color
dev: false
- /@mdx-js/rollup@2.3.0(rollup@3.28.0):
+ /@mdx-js/rollup@2.3.0:
resolution: {integrity: sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA==}
peerDependencies:
rollup: '>=2'
dependencies:
'@mdx-js/mdx': 2.3.0
- '@rollup/pluginutils': 5.0.2(rollup@3.28.0)
- rollup: 3.28.0
+ '@rollup/pluginutils': 5.0.2
source-map: 0.7.4
vfile: 5.3.6
transitivePeerDependencies:
@@ -3757,7 +3769,7 @@ packages:
'@codemirror/state': ^6.0.1
'@codemirror/view': ^6.3.0
dependencies:
- '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(@lezer/common@1.0.2)
+ '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
'@codemirror/commands': 6.2.4
'@codemirror/search': 6.2.3
'@codemirror/state': 6.2.0
@@ -3780,6 +3792,26 @@ packages:
'@codemirror/view': 6.10.0
dev: false
+ /@replit/codemirror-vscode-keymap@6.0.2(@codemirror/autocomplete@6.6.0)(@codemirror/commands@6.2.4)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ resolution: {integrity: sha512-j45qTwGxzpsv82lMD/NreGDORFKSctMDVkGRopaP+OrzSzv+pXDQuU3LnFvKpasyjVT0lf+PKG1v2DSCn/vxxg==}
+ peerDependencies:
+ '@codemirror/autocomplete': ^6.0.0
+ '@codemirror/commands': ^6.0.0
+ '@codemirror/language': ^6.0.0
+ '@codemirror/lint': ^6.0.0
+ '@codemirror/search': ^6.0.0
+ '@codemirror/state': ^6.0.0
+ '@codemirror/view': ^6.0.0
+ dependencies:
+ '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@codemirror/commands': 6.2.4
+ '@codemirror/language': 6.6.0
+ '@codemirror/lint': 6.1.0
+ '@codemirror/search': 6.2.3
+ '@codemirror/state': 6.2.0
+ '@codemirror/view': 6.10.0
+ dev: false
+
/@rollup/plugin-babel@5.3.1(@babel/core@7.21.5)(rollup@2.79.1):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
@@ -3822,20 +3854,6 @@ packages:
rollup: 2.79.1
dev: true
- /@rollup/plugin-replace@5.0.2(rollup@3.12.0):
- resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- dependencies:
- '@rollup/pluginutils': 5.0.2(rollup@3.12.0)
- magic-string: 0.27.0
- rollup: 3.12.0
- dev: true
-
/@rollup/pluginutils@3.1.0(rollup@2.79.1):
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
@@ -3848,7 +3866,7 @@ packages:
rollup: 2.79.1
dev: true
- /@rollup/pluginutils@5.0.2(rollup@3.12.0):
+ /@rollup/pluginutils@5.0.2:
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -3860,22 +3878,6 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
- rollup: 3.12.0
- dev: true
-
- /@rollup/pluginutils@5.0.2(rollup@3.28.0):
- resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- dependencies:
- '@types/estree': 1.0.0
- estree-walker: 2.0.2
- picomatch: 2.3.1
- rollup: 3.28.0
dev: false
/@sigstore/protobuf-specs@0.1.0:
@@ -4286,18 +4288,18 @@ packages:
/@types/babel__generator@7.6.4:
resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@types/babel__template@7.4.1:
resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
dependencies:
- '@babel/parser': 7.21.4
- '@babel/types': 7.20.7
+ '@babel/parser': 7.21.5
+ '@babel/types': 7.21.5
/@types/babel__traverse@7.18.3:
resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.5
/@types/chai-subset@1.3.3:
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
@@ -4492,7 +4494,7 @@ packages:
'@codemirror/state': '>=6.0.0'
'@codemirror/view': '>=6.0.0'
dependencies:
- '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(@lezer/common@1.0.2)
+ '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
'@codemirror/commands': 6.2.4
'@codemirror/language': 6.6.0
'@codemirror/lint': 6.1.0
@@ -4501,269 +4503,279 @@ packages:
'@codemirror/view': 6.10.0
dev: false
- /@uiw/codemirror-theme-abcdef@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-abcdef@4.19.16:
resolution: {integrity: sha512-vZHLg35Rhz39FF3HgAeHSZxIOV3/PG8q8v/0dcywCvt1FG9J6OuAifXzePo2nrT/P/qkienbehxzF+DyHHzV5g==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-androidstudio@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-androidstudio@4.19.16:
resolution: {integrity: sha512-jQcMc+F3KmpA9abBuC4IvvCGbX8vOxelX/kgt8kQjrB1WIxBCH3PClJ/puZ1iBHpk9sqHKcPHBNYmpnuWVrFOg==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-atomone@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-atomone@4.19.16:
resolution: {integrity: sha512-do5OwgJ+NZgX06Kjrvw+SdYgs7LYIdpLoNGIdvY99xpZZXWE7grfOjMfxRhEk7dHZ9omK6y/YY47BvgFjRnE4A==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-aura@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-aura@4.19.16:
resolution: {integrity: sha512-bGDEhkKLCYHPkXkH/2s5KOBY+mb/Ss0KR65Bzci05gbvAVkfqN4K0eQ9nchCbJxxobuy99dKVxYlcMHB/Mfzkg==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-bbedit@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-bbedit@4.19.16:
resolution: {integrity: sha512-0tpqBqoesvCqo/yE9nuP+g5vVh3A9CRb8PGJFzhVOrzSfWaYBcilRAi65e7T63qtli0VTNMZnc3si8ygOe11nA==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-bespin@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-bespin@4.19.16:
resolution: {integrity: sha512-WGZeFOzoEArkUG/VAojin26gzNeB6ji2qJGkZM94SL243kLCo1xaoeX2cYQjzYYJn+0ghphVS+jX2vF3MQHH6w==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-darcula@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-darcula@4.19.16:
resolution: {integrity: sha512-Nga4nn+KtbD5DKOlCFJBA/OXcMkbJ98jq6XqMntsHRUbKt3COAg5/g0SbsUsBKGHWdn8jNDzGeAnbLv9ydcFQQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-dracula@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-dracula@4.19.16:
resolution: {integrity: sha512-nl0tFT8/kaebqOmTTpOUpGlBK+BdAMTqF42U77pqlmYgUuRtrS3JE8uprc1JAzWGTWMcfXNMfXtwSSbzYZQfcw==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-duotone@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-duotone@4.19.16:
resolution: {integrity: sha512-FDGVN0rM2+VRmV+O9Rd1Q0p3c/ongLkSqgblQxkcr3lUY5M/Tj/mIxuxJGrkDIlxauJAz5p7ia7HSlicX0TPTw==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-eclipse@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-eclipse@4.19.16:
resolution: {integrity: sha512-GGb9ZgLXw0F7SrXRooqSgebo3knPQLQRK0/AKjsjZLUMAw2h8XRc8Y5IQaHUYADuoelxIb6m9cgWruWI0d5g4g==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-github@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-github@4.19.16:
resolution: {integrity: sha512-B3XmfphgnHiRedrP2adHjJsTc12Rw+tXrPmFUTurQrPyIITpCDLl9PJSsaJl9w5AuYhGcBxAeod7CEzMfdL1OA==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-gruvbox-dark@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-gruvbox-dark@4.19.16:
resolution: {integrity: sha512-ymqH4GwGmxixU+hxshJ2vcp4dWW66WMKvox2ifVqIUG24p0yjmFuxINmBX8asj/6LandhSYsGs85lbb7ltYnzg==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-material@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-material@4.19.16:
resolution: {integrity: sha512-Ur5khZLOhhcHXkFsNwcT4v0zijTnEvPAN9jJRXoXwuNR+JR5izYKlBGSPrjy71Vc9fjPHVAl4i3M/uZbQjDuhA==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-noctis-lilac@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-noctis-lilac@4.19.16:
resolution: {integrity: sha512-bDz9glGA3w7ZNCFH7UBmXkzFo6IXTb5NW4y8olfdqJfmsn4IUYDyoj3zYXIGpgCrIpUlqtUyP1djBXyOsfKthQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-nord@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-nord@4.19.16:
resolution: {integrity: sha512-8nvVNoKRNdr5xOVmUESJ9grePYk46wc4ElY+jLkfOAsbpYV7YhCFo2fL3SofjK+758HkuIkzsp3hIooKvLyxNg==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-okaidia@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-okaidia@4.19.16:
resolution: {integrity: sha512-c2ZNsWcXfzXixPrYcszRSCvI72Gcu3vCwqlEAMwli3Y6OtwqTrPT493WBgjJcOV+bsjJdg+F0iVEeXFjtFmchQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-solarized@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-solarized@4.19.16:
resolution: {integrity: sha512-KXkmjQOBHhzt5Y4kfqiO90ut+j/5wb25YfG+3O4AOcEpO9lmApMkJJq3VEVl4oqqH1kEIYz5B0K5A6wwTK55NQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-sublime@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-sublime@4.19.16:
resolution: {integrity: sha512-fKbEMoYm4T5lcjoBy90saXENgysXatc4mwFenRs4vwn0lJfISb/QOgy4WNfUmrwNRYh+XdH6NfPwu5bujZhmzQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-tokyo-night-day@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-tokyo-night-day@4.19.16:
resolution: {integrity: sha512-lE43sX4usVXvLBQ3BwrtS8HuD0rnDJ+No3ZFP4soqgQIpby7Mq0DybLOV0RiDBN0lYUaEobwkW0NulMNBoTPrg==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-tokyo-night-storm@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-tokyo-night-storm@4.19.16:
resolution: {integrity: sha512-0lX80vsUoIYSkcNw0gUAC96UdfCjjL8qtWJ7Ov3C98B9XDITNQwgoUdTE23d1zYvZHLzpvx/RW1XKQGyl89oRQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-tokyo-night@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-tokyo-night@4.19.16:
resolution: {integrity: sha512-BIDnbjGM0q3Thef67+XFig48oYTSGEoaAnIwOvSt0cNO+siCk3lPTtT55OwdfeYMTANxIgtncpCglU2UJc6gcQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-vscode@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-vscode@4.19.16:
resolution: {integrity: sha512-DQa6MOuwGRrxSZexEUs1c4SJiTkDTnC9M+w98kauM3CCe5mEAbQczObse0mVgVPp4g6rXvPdWlVXaj6y8bbFKQ==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-theme-xcode@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-theme-xcode@4.19.16:
resolution: {integrity: sha512-I7UscwaI98n4aK7upHjASjWdEzgRx4+rIAybaFCTAL8e1enmyjjMNkZOpbp4ciwKJUaDpCBKPWf4mj0tkoHb9w==}
dependencies:
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
- /@uiw/codemirror-themes-all@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
+ /@uiw/codemirror-themes-all@4.19.16:
resolution: {integrity: sha512-LXc7SJpo2hp1IeTtI/h86MN+Q4X6kCIsJv5Hi2mH906qSfhuGzqHFw4gfIpPfAWznNROAJXD3/gL/8xic1kEMw==}
dependencies:
- '@uiw/codemirror-theme-abcdef': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-androidstudio': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-atomone': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-aura': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-bbedit': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-bespin': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-darcula': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-dracula': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-duotone': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-eclipse': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-github': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-gruvbox-dark': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-material': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-noctis-lilac': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-nord': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-okaidia': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-solarized': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-sublime': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-tokyo-night': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-tokyo-night-day': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-tokyo-night-storm': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-vscode': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-theme-xcode': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- '@uiw/codemirror-themes': 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
+ '@uiw/codemirror-theme-abcdef': 4.19.16
+ '@uiw/codemirror-theme-androidstudio': 4.19.16
+ '@uiw/codemirror-theme-atomone': 4.19.16
+ '@uiw/codemirror-theme-aura': 4.19.16
+ '@uiw/codemirror-theme-bbedit': 4.19.16
+ '@uiw/codemirror-theme-bespin': 4.19.16
+ '@uiw/codemirror-theme-darcula': 4.19.16
+ '@uiw/codemirror-theme-dracula': 4.19.16
+ '@uiw/codemirror-theme-duotone': 4.19.16
+ '@uiw/codemirror-theme-eclipse': 4.19.16
+ '@uiw/codemirror-theme-github': 4.19.16
+ '@uiw/codemirror-theme-gruvbox-dark': 4.19.16
+ '@uiw/codemirror-theme-material': 4.19.16
+ '@uiw/codemirror-theme-noctis-lilac': 4.19.16
+ '@uiw/codemirror-theme-nord': 4.19.16
+ '@uiw/codemirror-theme-okaidia': 4.19.16
+ '@uiw/codemirror-theme-solarized': 4.19.16
+ '@uiw/codemirror-theme-sublime': 4.19.16
+ '@uiw/codemirror-theme-tokyo-night': 4.19.16
+ '@uiw/codemirror-theme-tokyo-night-day': 4.19.16
+ '@uiw/codemirror-theme-tokyo-night-storm': 4.19.16
+ '@uiw/codemirror-theme-vscode': 4.19.16
+ '@uiw/codemirror-theme-xcode': 4.19.16
+ '@uiw/codemirror-themes': 4.19.16
transitivePeerDependencies:
- '@codemirror/language'
- '@codemirror/state'
- '@codemirror/view'
dev: false
+ /@uiw/codemirror-themes@4.19.16:
+ resolution: {integrity: sha512-c16zrvMEEfNkYydjwa6Eq+aDrYCbtmt4O0jBWPX1P4CxFATCn59aeW9HFZ4uqMko8aYOiTupOsizxlJ+MBwW2Q==}
+ peerDependencies:
+ '@codemirror/language': '>=6.0.0'
+ '@codemirror/state': '>=6.0.0'
+ '@codemirror/view': '>=6.0.0'
+ dependencies:
+ '@codemirror/language': 6.6.0
+ dev: false
+
/@uiw/codemirror-themes@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0):
resolution: {integrity: sha512-c16zrvMEEfNkYydjwa6Eq+aDrYCbtmt4O0jBWPX1P4CxFATCn59aeW9HFZ4uqMko8aYOiTupOsizxlJ+MBwW2Q==}
peerDependencies:
@@ -4776,14 +4788,11 @@ packages:
'@codemirror/view': 6.10.0
dev: false
- /@uiw/react-codemirror@4.19.16(@babel/runtime@7.20.13)(@codemirror/autocomplete@6.6.0)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.0)(@codemirror/view@6.10.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0):
+ /@uiw/react-codemirror@4.19.16(@codemirror/autocomplete@6.6.0)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-uElraR7Mvwz2oZKrmtF5hmIB8dAlIiU65nfg484e/V9k4PV6/5KtPUQL3JPO4clH2pcd+TQqRTQrFFkP/D25ew==}
peerDependencies:
- '@babel/runtime': '>=7.11.0'
'@codemirror/state': '>=6.0.0'
- '@codemirror/theme-one-dark': '>=6.0.0'
'@codemirror/view': '>=6.0.0'
- codemirror: '>=6.0.0'
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
@@ -4793,7 +4802,7 @@ packages:
'@codemirror/theme-one-dark': 6.1.0
'@codemirror/view': 6.10.0
'@uiw/codemirror-extensions-basic-setup': 4.19.16(@codemirror/autocomplete@6.6.0)(@codemirror/commands@6.2.4)(@codemirror/language@6.6.0)(@codemirror/lint@6.1.0)(@codemirror/search@6.2.3)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
- codemirror: 6.0.1(@lezer/common@1.0.2)
+ codemirror: 6.0.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
@@ -4803,14 +4812,14 @@ packages:
- '@codemirror/search'
dev: false
- /@vite-pwa/astro@0.0.5(astro@2.3.2)(vite-plugin-pwa@0.14.7):
- resolution: {integrity: sha512-QCFHh7aF2dLwrUBtGi3gpQ7J5X4l9tWX8znqT36yaCsnFg1KtQ5HWhhxD3z/ecdemmlscntTdMqpW+cIf1zeuA==}
+ /@vite-pwa/astro@0.1.4(astro@2.3.2)(vite-plugin-pwa@0.16.5):
+ resolution: {integrity: sha512-OmpaMmF9ogxI/YeUFNS0VDhaoPWvoVdRg0iEiQVz4oIQ+AdEjKNx7h0Xbz9p10/tA8EPX+/ugBMUT0xERMAuyQ==}
peerDependencies:
- astro: ^1.6.0 || ^2.0.0
- vite-plugin-pwa: ^0.14.0
+ astro: ^1.6.0 || ^2.0.0 || ^3.0.0
+ vite-plugin-pwa: '>=0.16.5 <1'
dependencies:
astro: 2.3.2(@types/node@18.16.3)
- vite-plugin-pwa: 0.14.7(vite@4.4.5)(workbox-build@6.5.4)(workbox-window@6.5.4)
+ vite-plugin-pwa: 0.16.5(workbox-window@7.0.0)
dev: true
/@vitejs/plugin-react@4.0.0(vite@4.3.3):
@@ -4823,7 +4832,7 @@ packages:
'@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.5)
'@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.5)
react-refresh: 0.14.0
- vite: 4.3.3(@types/node@18.16.3)
+ vite: 4.3.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -4930,12 +4939,21 @@ packages:
event-target-shim: 5.0.1
dev: true
+ /acorn-jsx@5.3.2(acorn@8.10.0):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.10.0
+ dev: false
+
/acorn-jsx@5.3.2(acorn@8.8.2):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.8.2
+ dev: true
/acorn-walk@8.2.0:
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
@@ -4946,7 +4964,6 @@ packages:
resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'}
hasBin: true
- dev: true
/acorn@8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
@@ -4991,6 +5008,7 @@ packages:
fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1
uri-js: 4.4.1
+ dev: true
/ajv@8.12.0:
resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
@@ -5127,6 +5145,7 @@ packages:
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
/array-back@1.0.4:
resolution: {integrity: sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==}
@@ -5357,6 +5376,10 @@ packages:
- debug
dev: true
+ /babel-plugin-add-module-exports@0.2.1:
+ resolution: {integrity: sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==}
+ dev: false
+
/babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.5):
resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
peerDependencies:
@@ -5470,16 +5493,6 @@ packages:
dependencies:
fill-range: 7.0.1
- /browserslist@4.21.4:
- resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001449
- electron-to-chromium: 1.4.284
- node-releases: 2.0.8
- update-browserslist-db: 1.0.10(browserslist@4.21.4)
-
/browserslist@4.21.5:
resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -5490,9 +5503,23 @@ packages:
node-releases: 2.0.8
update-browserslist-db: 1.0.10(browserslist@4.21.5)
+ /buffer-alloc-unsafe@1.1.0:
+ resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
+ dev: false
+
+ /buffer-alloc@1.2.0:
+ resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
+ dependencies:
+ buffer-alloc-unsafe: 1.1.0
+ buffer-fill: 1.0.0
+ dev: false
+
+ /buffer-fill@1.0.0:
+ resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
+ dev: false
+
/buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- dev: true
/buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
@@ -5611,6 +5638,7 @@ packages:
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
+ dev: true
/camelcase-css@2.0.1:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
@@ -5634,9 +5662,6 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- /caniuse-lite@1.0.30001449:
- resolution: {integrity: sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==}
-
/caniuse-lite@1.0.30001481:
resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==}
@@ -5871,18 +5896,16 @@ packages:
resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
engines: {node: '>=0.10.0'}
- /codemirror@6.0.1(@lezer/common@1.0.2):
+ /codemirror@6.0.1:
resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==}
dependencies:
- '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)(@lezer/common@1.0.2)
+ '@codemirror/autocomplete': 6.6.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.10.0)
'@codemirror/commands': 6.2.4
'@codemirror/language': 6.6.0
'@codemirror/lint': 6.1.0
'@codemirror/search': 6.2.3
'@codemirror/state': 6.2.0
'@codemirror/view': 6.10.0
- transitivePeerDependencies:
- - '@lezer/common'
dev: false
/collect-all@1.0.4:
@@ -6199,6 +6222,11 @@ packages:
resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
dev: true
+ /dct@0.1.0:
+ resolution: {integrity: sha512-/uUtEniuMq1aUxvLAoDtAduyl12oM1zhA/le2f83UFN/9+4KDHXFB6znEfoj5SDDLiTpUTr26NpxC7t8IFOYhQ==}
+ engines: {node: '>=0.12.0'}
+ dev: false
+
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -6504,6 +6532,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
esutils: 2.0.3
+ dev: true
/dot-prop@5.3.0:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
@@ -6782,6 +6811,7 @@ packages:
/escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ dev: true
/escape-string-regexp@5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
@@ -6838,13 +6868,12 @@ packages:
- supports-color
dev: true
- /eslint-plugin-es@4.1.0(eslint@8.39.0):
+ /eslint-plugin-es@4.1.0:
resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==}
engines: {node: '>=8.10.0'}
peerDependencies:
eslint: '>=4.19.1'
dependencies:
- eslint: 8.39.0
eslint-utils: 2.1.0
regexpp: 3.2.0
dev: false
@@ -6881,16 +6910,15 @@ packages:
- supports-color
dev: true
- /eslint-plugin-n@15.6.1(eslint@8.39.0):
+ /eslint-plugin-n@15.6.1:
resolution: {integrity: sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==}
engines: {node: '>=12.22.0'}
peerDependencies:
eslint: '>=7.0.0'
dependencies:
builtins: 5.0.1
- eslint: 8.39.0
- eslint-plugin-es: 4.1.0(eslint@8.39.0)
- eslint-utils: 3.0.0(eslint@8.39.0)
+ eslint-plugin-es: 4.1.0
+ eslint-utils: 3.0.0
ignore: 5.2.4
is-core-module: 2.11.0
minimatch: 3.1.2
@@ -6904,6 +6932,7 @@ packages:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
+ dev: true
/eslint-utils@2.1.0:
resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
@@ -6912,13 +6941,12 @@ packages:
eslint-visitor-keys: 1.3.0
dev: false
- /eslint-utils@3.0.0(eslint@8.39.0):
+ /eslint-utils@3.0.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
- eslint: 8.39.0
eslint-visitor-keys: 2.1.0
dev: false
@@ -6940,6 +6968,7 @@ packages:
/eslint-visitor-keys@3.4.0:
resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
/eslint@8.39.0:
resolution: {integrity: sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==}
@@ -6988,6 +7017,7 @@ packages:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
+ dev: true
/espree@9.5.1:
resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==}
@@ -6996,6 +7026,7 @@ packages:
acorn: 8.8.2
acorn-jsx: 5.3.2(acorn@8.8.2)
eslint-visitor-keys: 3.4.0
+ dev: true
/esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
@@ -7014,12 +7045,14 @@ packages:
engines: {node: '>=0.10'}
dependencies:
estraverse: 5.3.0
+ dev: true
/esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
dependencies:
estraverse: 5.3.0
+ dev: true
/estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
@@ -7064,6 +7097,7 @@ packages:
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: false
/estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
@@ -7082,6 +7116,11 @@ packages:
/eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ /events@1.1.1:
+ resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==}
+ engines: {node: '>=0.4.x'}
+ dev: false
+
/events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
@@ -7161,6 +7200,7 @@ packages:
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
/fast-glob@3.2.12:
resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
@@ -7183,8 +7223,19 @@ packages:
micromatch: 4.0.5
dev: true
+ /fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+
/fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
/fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
@@ -7208,6 +7259,12 @@ packages:
web-streams-polyfill: 3.2.1
dev: true
+ /fftjs@0.0.4:
+ resolution: {integrity: sha512-nIWxQyth1LVD6NH8a+YZUv+McjzbOY6dMe4wv6Pq5cGfP+c8Rd1T8Dsd50DCWlNgzSqA3y9lOkpD6dZD3qHa1A==}
+ dependencies:
+ babel-plugin-add-module-exports: 0.2.1
+ dev: false
+
/figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@@ -7220,6 +7277,7 @@ packages:
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
flat-cache: 3.0.4
+ dev: true
/file-set@4.0.2:
resolution: {integrity: sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==}
@@ -7308,6 +7366,7 @@ packages:
dependencies:
flatted: 3.2.7
rimraf: 3.0.2
+ dev: true
/flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
@@ -7316,6 +7375,7 @@ packages:
/flatted@3.2.7:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ dev: true
/follow-redirects@1.15.2:
resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
@@ -7690,6 +7750,7 @@ packages:
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
+ dev: true
/globalthis@1.0.3:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
@@ -7707,7 +7768,7 @@ packages:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.2.12
+ fast-glob: 3.3.1
ignore: 5.2.4
merge2: 1.4.1
slash: 3.0.0
@@ -7782,6 +7843,7 @@ packages:
/grapheme-splitter@1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
+ dev: true
/gray-matter@4.0.3:
resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
@@ -8053,6 +8115,16 @@ packages:
ms: 2.1.3
dev: true
+ /hydra-synth@1.3.29:
+ resolution: {integrity: sha512-KK1wMGpo9AuVivvD9SP7ukPS7T/rMaYA7XMlnRF3oFbTw9u4l4aVTyexG+KmCd5XDD/4GulR1jVzySZlAuGPCw==}
+ dependencies:
+ meyda: 5.6.2
+ raf-loop: 1.1.3
+ regl: 1.7.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -8100,6 +8172,7 @@ packages:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
+ dev: true
/import-local@3.1.0:
resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
@@ -8116,6 +8189,7 @@ packages:
/imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
+ dev: true
/indent-string@4.0.0:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
@@ -8391,6 +8465,7 @@ packages:
/is-path-inside@3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
+ dev: true
/is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
@@ -8527,6 +8602,10 @@ packages:
dependencies:
is-docker: 2.2.1
+ /isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+ dev: false
+
/isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -8578,6 +8657,7 @@ packages:
/js-sdsl@4.3.0:
resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==}
+ dev: true
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -8594,6 +8674,7 @@ packages:
hasBin: true
dependencies:
argparse: 2.0.1
+ dev: true
/js2xmlparser@4.0.2:
resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==}
@@ -8693,6 +8774,7 @@ packages:
/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
/json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
@@ -8704,6 +8786,7 @@ packages:
/json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
/json-stringify-nice@1.1.4:
resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==}
@@ -8891,6 +8974,7 @@ packages:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
+ dev: true
/libnpmaccess@6.0.3:
resolution: {integrity: sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg==}
@@ -9432,6 +9516,18 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ /meyda@5.6.2:
+ resolution: {integrity: sha512-FSHo8XDdmhIDeBJ2nht9WYRj0VIQ8wbzcfken0YIHUuuxVMnpDcvzVfXyY2m6YkA7q6ypzKROUNV4yoXG0uogQ==}
+ hasBin: true
+ dependencies:
+ dct: 0.1.0
+ fftjs: 0.0.4
+ node-getopt: 0.3.2
+ wav: 1.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/micromark-core-commonmark@1.0.6:
resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==}
dependencies:
@@ -9574,8 +9670,8 @@ packages:
/micromark-extension-mdxjs@1.0.0:
resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==}
dependencies:
- acorn: 8.8.2
- acorn-jsx: 5.3.2(acorn@8.8.2)
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
micromark-extension-mdx-expression: 1.0.4
micromark-extension-mdx-jsx: 1.0.3
micromark-extension-mdx-md: 1.0.0
@@ -10081,6 +10177,7 @@ packages:
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
/negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
@@ -10147,6 +10244,11 @@ packages:
formdata-polyfill: 4.0.10
dev: true
+ /node-getopt@0.3.2:
+ resolution: {integrity: sha512-yqkmYrMbK1wPrfz7mgeYvA4tBperLg9FQ4S3Sau3nSAkpOA0x0zC8nQ1siBwozy1f4SE8vq2n1WKv99r+PCa1Q==}
+ engines: {node: '>= 0.6.0'}
+ dev: false
+
/node-gyp-build@4.6.0:
resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==}
hasBin: true
@@ -10178,14 +10280,14 @@ packages:
resolution: {integrity: sha512-8Q1hXew6ETzqKRAs3jjLioSxNfT1cx74ooiF8RlAONwVMcfq+UdzLC2eB5qcPldUxaE5w3ytLkrmV1TGddhZTA==}
engines: {node: '>=6.0'}
dependencies:
- '@babel/parser': 7.21.4
+ '@babel/parser': 7.21.5
dev: false
/node-source-walk@5.0.0:
resolution: {integrity: sha512-58APXoMXpmmU+oVBJFajhTCoD8d/OGtngnVAWzIo2A8yn0IXwBzvIVIsTzoie/SrA37u+1hnpNz2HMWx/VIqlw==}
engines: {node: '>=12'}
dependencies:
- '@babel/parser': 7.20.13
+ '@babel/parser': 7.21.5
dev: false
/nopt@5.0.0:
@@ -10613,6 +10715,7 @@ packages:
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.3
+ dev: true
/ora@5.4.1:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
@@ -10829,6 +10932,7 @@ packages:
engines: {node: '>=6'}
dependencies:
callsites: 3.1.0
+ dev: true
/parse-conflict-json@3.0.1:
resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==}
@@ -10963,6 +11067,10 @@ packages:
source-map-generator: 0.8.0
dev: true
+ /performance-now@2.1.0:
+ resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+ dev: false
+
/periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
dependencies:
@@ -11207,6 +11315,7 @@ packages:
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ dev: true
/prettier-plugin-astro@0.7.2:
resolution: {integrity: sha512-mmifnkG160BtC727gqoimoxnZT/dwr8ASxpoGGl6EHevhfblSOeu+pwH1LAm5Qu1MynizktztFujHHaijLCkww==}
@@ -11227,8 +11336,8 @@ packages:
engines: {node: '>=6'}
dev: true
- /pretty-bytes@6.1.0:
- resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==}
+ /pretty-bytes@6.1.1:
+ resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
engines: {node: ^14.13.1 || >=16.0.0}
dev: true
@@ -11340,6 +11449,7 @@ packages:
/punycode@2.3.0:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'}
+ dev: true
/q@1.5.1:
resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
@@ -11358,6 +11468,21 @@ packages:
resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==}
dev: false
+ /raf-loop@1.1.3:
+ resolution: {integrity: sha512-fcIuuIdjbD6OB0IFw4d+cjqdrzDorKkIpwOiSnfU4Tht5PTFiJutR8hnCOGslYqZDyIzwpF5WnwbnTTuo9uUUA==}
+ dependencies:
+ events: 1.1.1
+ inherits: 2.0.4
+ raf: 3.4.1
+ right-now: 1.0.0
+ dev: false
+
+ /raf@3.4.1:
+ resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==}
+ dependencies:
+ performance-now: 2.1.0
+ dev: false
+
/rambda@7.4.0:
resolution: {integrity: sha512-A9hihu7dUTLOUCM+I8E61V4kRXnN4DwYeK0DwCBydC1MqNI1PidyAtbtpsJlBBzK4icSctEcCQ1bGcLpBuETUQ==}
dev: false
@@ -11506,6 +11631,15 @@ packages:
mute-stream: 0.0.8
dev: true
+ /readable-stream@1.1.14:
+ resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+ dev: false
+
/readable-stream@2.3.7:
resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==}
dependencies:
@@ -11635,6 +11769,10 @@ packages:
jsesc: 0.5.0
dev: true
+ /regl@1.7.0:
+ resolution: {integrity: sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==}
+ dev: false
+
/rehype-autolink-headings@6.1.1:
resolution: {integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==}
dependencies:
@@ -11812,6 +11950,7 @@ packages:
/resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
+ dev: true
/resolve-from@5.0.0:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
@@ -11889,6 +12028,10 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ /right-now@1.0.0:
+ resolution: {integrity: sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==}
+ dev: false
+
/rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true
@@ -11940,14 +12083,6 @@ packages:
fsevents: 2.3.2
dev: true
- /rollup@3.12.0:
- resolution: {integrity: sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
/rollup@3.21.0:
resolution: {integrity: sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -12341,6 +12476,14 @@ packages:
readable-stream: 2.3.7
dev: true
+ /stream-parser@0.3.1:
+ resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==}
+ dependencies:
+ debug: 2.6.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/stream-via@1.0.4:
resolution: {integrity: sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==}
engines: {node: '>=0.10.0'}
@@ -12403,6 +12546,10 @@ packages:
es-abstract: 1.21.1
dev: true
+ /string_decoder@0.10.31:
+ resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
+ dev: false
+
/string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
dependencies:
@@ -12486,6 +12633,7 @@ packages:
/strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ dev: true
/strip-literal@1.0.1:
resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
@@ -12741,6 +12889,7 @@ packages:
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
/thenify-all@1.6.0:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
@@ -12920,6 +13069,7 @@ packages:
engines: {node: '>= 0.8.0'}
dependencies:
prelude-ls: 1.2.1
+ dev: true
/type-detect@4.0.8:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
@@ -12943,6 +13093,7 @@ packages:
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
+ dev: true
/type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
@@ -13229,16 +13380,6 @@ packages:
engines: {node: '>=4'}
dev: true
- /update-browserslist-db@1.0.10(browserslist@4.21.4):
- resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.21.4
- escalade: 3.1.1
- picocolors: 1.0.0
-
/update-browserslist-db@1.0.10(browserslist@4.21.5):
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
hasBin: true
@@ -13253,6 +13394,7 @@ packages:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
punycode: 2.3.0
+ dev: true
/use-sync-external-store@1.2.0(react@18.2.0):
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
@@ -13379,26 +13521,24 @@ packages:
- terser
dev: true
- /vite-plugin-pwa@0.14.7(vite@4.4.5)(workbox-build@6.5.4)(workbox-window@6.5.4):
- resolution: {integrity: sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==}
+ /vite-plugin-pwa@0.16.5(workbox-window@7.0.0):
+ resolution: {integrity: sha512-Ahol4dwhMP2UHPQXkllSlXbihOaDFnvBIDPmAxoSZ1EObBUJGP4CMRyCyAVkIHjd6/H+//vH0DM2ON+XxHr81g==}
+ engines: {node: '>=16.0.0'}
peerDependencies:
vite: ^3.1.0 || ^4.0.0
- workbox-build: ^6.5.4
- workbox-window: ^6.5.4
+ workbox-window: ^7.0.0
dependencies:
- '@rollup/plugin-replace': 5.0.2(rollup@3.12.0)
debug: 4.3.4
- fast-glob: 3.2.12
- pretty-bytes: 6.1.0
- rollup: 3.12.0
- vite: 4.4.5(@types/node@18.16.3)
- workbox-build: 6.5.4
- workbox-window: 6.5.4
+ fast-glob: 3.3.1
+ pretty-bytes: 6.1.1
+ workbox-build: 7.0.0
+ workbox-window: 7.0.0
transitivePeerDependencies:
+ - '@types/babel__core'
- supports-color
dev: true
- /vite@4.3.3(@types/node@18.16.3):
+ /vite@4.3.3:
resolution: {integrity: sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@@ -13423,7 +13563,6 @@ packages:
terser:
optional: true
dependencies:
- '@types/node': 18.16.3
esbuild: 0.17.18
postcss: 8.4.23
rollup: 3.21.0
@@ -13431,6 +13570,41 @@ packages:
fsevents: 2.3.2
dev: true
+ /vite@4.4.5:
+ resolution: {integrity: sha512-4m5kEtAWHYr0O1Fu7rZp64CfO1PsRGZlD3TAB32UmQlpd7qg15VF7ROqGN5CyqN7HFuwr7ICNM2+fDWRqFEKaA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: 0.18.20
+ postcss: 8.4.27
+ rollup: 3.28.0
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/vite@4.4.5(@types/node@18.16.3):
resolution: {integrity: sha512-4m5kEtAWHYr0O1Fu7rZp64CfO1PsRGZlD3TAB32UmQlpd7qg15VF7ROqGN5CyqN7HFuwr7ICNM2+fDWRqFEKaA==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -13476,6 +13650,71 @@ packages:
dependencies:
vite: 4.4.5(@types/node@18.16.3)
+ /vitest@0.33.0:
+ resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==}
+ engines: {node: '>=v14.18.0'}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@vitest/browser': '*'
+ '@vitest/ui': '*'
+ happy-dom: '*'
+ jsdom: '*'
+ playwright: '*'
+ safaridriver: '*'
+ webdriverio: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ playwright:
+ optional: true
+ safaridriver:
+ optional: true
+ webdriverio:
+ optional: true
+ dependencies:
+ '@types/chai': 4.3.5
+ '@types/chai-subset': 1.3.3
+ '@types/node': 18.16.3
+ '@vitest/expect': 0.33.0
+ '@vitest/runner': 0.33.0
+ '@vitest/snapshot': 0.33.0
+ '@vitest/spy': 0.33.0
+ '@vitest/utils': 0.33.0
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ cac: 6.7.14
+ chai: 4.3.7
+ debug: 4.3.4
+ local-pkg: 0.4.3
+ magic-string: 0.30.1
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ std-env: 3.3.3
+ strip-literal: 1.0.1
+ tinybench: 2.5.0
+ tinypool: 0.6.0
+ vite: 4.4.5(@types/node@18.16.3)
+ vite-node: 0.33.0(@types/node@18.16.3)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/vitest@0.33.0(@vitest/ui@0.28.0):
resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==}
engines: {node: '>=v14.18.0'}
@@ -13529,7 +13768,7 @@ packages:
strip-literal: 1.0.1
tinybench: 2.5.0
tinypool: 0.6.0
- vite: 4.3.3(@types/node@18.16.3)
+ vite: 4.4.5(@types/node@18.16.3)
vite-node: 0.33.0(@types/node@18.16.3)
why-is-node-running: 2.2.2
transitivePeerDependencies:
@@ -13610,6 +13849,18 @@ packages:
resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==}
dev: true
+ /wav@1.0.2:
+ resolution: {integrity: sha512-viHtz3cDd/Tcr/HbNqzQCofKdF6kWUymH9LGDdskfWFoIy/HJ+RTihgjEcHfnsy1PO4e9B+y4HwgTwMrByquhg==}
+ dependencies:
+ buffer-alloc: 1.2.0
+ buffer-from: 1.1.2
+ debug: 2.6.9
+ readable-stream: 1.1.14
+ stream-parser: 0.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
dependencies:
@@ -13757,22 +14008,22 @@ packages:
typical: 2.6.1
dev: true
- /workbox-background-sync@6.5.4:
- resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==}
+ /workbox-background-sync@7.0.0:
+ resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==}
dependencies:
idb: 7.1.1
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-broadcast-update@6.5.4:
- resolution: {integrity: sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==}
+ /workbox-broadcast-update@7.0.0:
+ resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==}
dependencies:
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-build@6.5.4:
- resolution: {integrity: sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==}
- engines: {node: '>=10.0.0'}
+ /workbox-build@7.0.0:
+ resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==}
+ engines: {node: '>=16.0.0'}
dependencies:
'@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
'@babel/core': 7.21.5
@@ -13796,111 +14047,111 @@ packages:
strip-comments: 2.0.1
tempy: 0.6.0
upath: 1.2.0
- workbox-background-sync: 6.5.4
- workbox-broadcast-update: 6.5.4
- workbox-cacheable-response: 6.5.4
- workbox-core: 6.5.4
- workbox-expiration: 6.5.4
- workbox-google-analytics: 6.5.4
- workbox-navigation-preload: 6.5.4
- workbox-precaching: 6.5.4
- workbox-range-requests: 6.5.4
- workbox-recipes: 6.5.4
- workbox-routing: 6.5.4
- workbox-strategies: 6.5.4
- workbox-streams: 6.5.4
- workbox-sw: 6.5.4
- workbox-window: 6.5.4
+ workbox-background-sync: 7.0.0
+ workbox-broadcast-update: 7.0.0
+ workbox-cacheable-response: 7.0.0
+ workbox-core: 7.0.0
+ workbox-expiration: 7.0.0
+ workbox-google-analytics: 7.0.0
+ workbox-navigation-preload: 7.0.0
+ workbox-precaching: 7.0.0
+ workbox-range-requests: 7.0.0
+ workbox-recipes: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
+ workbox-streams: 7.0.0
+ workbox-sw: 7.0.0
+ workbox-window: 7.0.0
transitivePeerDependencies:
- '@types/babel__core'
- supports-color
dev: true
- /workbox-cacheable-response@6.5.4:
- resolution: {integrity: sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==}
+ /workbox-cacheable-response@7.0.0:
+ resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==}
dependencies:
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-core@6.5.4:
- resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==}
+ /workbox-core@7.0.0:
+ resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
dev: true
- /workbox-expiration@6.5.4:
- resolution: {integrity: sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==}
+ /workbox-expiration@7.0.0:
+ resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==}
dependencies:
idb: 7.1.1
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-google-analytics@6.5.4:
- resolution: {integrity: sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==}
+ /workbox-google-analytics@7.0.0:
+ resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
dependencies:
- workbox-background-sync: 6.5.4
- workbox-core: 6.5.4
- workbox-routing: 6.5.4
- workbox-strategies: 6.5.4
+ workbox-background-sync: 7.0.0
+ workbox-core: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
dev: true
- /workbox-navigation-preload@6.5.4:
- resolution: {integrity: sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==}
+ /workbox-navigation-preload@7.0.0:
+ resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==}
dependencies:
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-precaching@6.5.4:
- resolution: {integrity: sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==}
+ /workbox-precaching@7.0.0:
+ resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==}
dependencies:
- workbox-core: 6.5.4
- workbox-routing: 6.5.4
- workbox-strategies: 6.5.4
+ workbox-core: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
dev: true
- /workbox-range-requests@6.5.4:
- resolution: {integrity: sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==}
+ /workbox-range-requests@7.0.0:
+ resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==}
dependencies:
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-recipes@6.5.4:
- resolution: {integrity: sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==}
+ /workbox-recipes@7.0.0:
+ resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==}
dependencies:
- workbox-cacheable-response: 6.5.4
- workbox-core: 6.5.4
- workbox-expiration: 6.5.4
- workbox-precaching: 6.5.4
- workbox-routing: 6.5.4
- workbox-strategies: 6.5.4
+ workbox-cacheable-response: 7.0.0
+ workbox-core: 7.0.0
+ workbox-expiration: 7.0.0
+ workbox-precaching: 7.0.0
+ workbox-routing: 7.0.0
+ workbox-strategies: 7.0.0
dev: true
- /workbox-routing@6.5.4:
- resolution: {integrity: sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==}
+ /workbox-routing@7.0.0:
+ resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==}
dependencies:
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-strategies@6.5.4:
- resolution: {integrity: sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==}
+ /workbox-strategies@7.0.0:
+ resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==}
dependencies:
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
- /workbox-streams@6.5.4:
- resolution: {integrity: sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==}
+ /workbox-streams@7.0.0:
+ resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==}
dependencies:
- workbox-core: 6.5.4
- workbox-routing: 6.5.4
+ workbox-core: 7.0.0
+ workbox-routing: 7.0.0
dev: true
- /workbox-sw@6.5.4:
- resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==}
+ /workbox-sw@7.0.0:
+ resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==}
dev: true
- /workbox-window@6.5.4:
- resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==}
+ /workbox-window@7.0.0:
+ resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==}
dependencies:
'@types/trusted-types': 2.0.2
- workbox-core: 6.5.4
+ workbox-core: 7.0.0
dev: true
/wrap-ansi@7.0.0:
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 38fce20b..d1f74563 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -1727,6 +1727,17 @@ dependencies = [
"objc_exception",
]
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
[[package]]
name = "objc_exception"
version = "0.1.2"
@@ -2190,6 +2201,30 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+[[package]]
+name = "rfd"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea"
+dependencies = [
+ "block",
+ "dispatch",
+ "glib-sys",
+ "gobject-sys",
+ "gtk-sys",
+ "js-sys",
+ "lazy_static",
+ "log",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "raw-window-handle",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "windows 0.37.0",
+]
+
[[package]]
name = "rosc"
version = "0.10.1"
@@ -2696,6 +2731,7 @@ dependencies = [
"percent-encoding",
"rand 0.8.5",
"raw-window-handle",
+ "rfd",
"semver",
"serde",
"serde_json",
@@ -3251,6 +3287,18 @@ dependencies = [
"wasm-bindgen-shared",
]
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.87"
@@ -3406,6 +3454,19 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+[[package]]
+name = "windows"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647"
+dependencies = [
+ "windows_aarch64_msvc 0.37.0",
+ "windows_i686_gnu 0.37.0",
+ "windows_i686_msvc 0.37.0",
+ "windows_x86_64_gnu 0.37.0",
+ "windows_x86_64_msvc 0.37.0",
+]
+
[[package]]
name = "windows"
version = "0.39.0"
@@ -3512,6 +3573,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.39.0"
@@ -3530,6 +3597,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1"
+
[[package]]
name = "windows_i686_gnu"
version = "0.39.0"
@@ -3548,6 +3621,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c"
+
[[package]]
name = "windows_i686_msvc"
version = "0.39.0"
@@ -3566,6 +3645,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.39.0"
@@ -3596,6 +3681,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.39.0"
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 35aab489..ece4f6c4 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -17,7 +17,7 @@ tauri-build = { version = "1.4.0", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
-tauri = { version = "1.4.0", features = ["fs-all"] }
+tauri = { version = "1.4.0", features = [ "dialog-all", "clipboard-write-text", "fs-all"] }
midir = "0.9.1"
tokio = { version = "1.29.0", features = ["full"] }
rosc = "0.10.1"
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index bbd30e26..2ac3c79b 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -13,6 +13,12 @@
},
"tauri": {
"allowlist": {
+ "dialog": {
+ "all": true
+ },
+ "clipboard": {
+ "writeText": true
+ },
"all": false,
"fs": {
"all": true,
diff --git a/test/__snapshots__/examples.test.mjs.snap b/test/__snapshots__/examples.test.mjs.snap
index ed0249f3..0963638f 100644
--- a/test/__snapshots__/examples.test.mjs.snap
+++ b/test/__snapshots__/examples.test.mjs.snap
@@ -633,6 +633,15 @@ exports[`runs examples > example "addVoicings" example index 0 1`] = `
]
`;
+exports[`runs examples > example "adsr" example index 0 1`] = `
+[
+ "[ 0/1 → 1/1 | note:c3 s:sawtooth cutoff:600 ]",
+ "[ 1/1 → 2/1 | note:bb2 s:sawtooth cutoff:600 ]",
+ "[ 2/1 → 3/1 | note:f3 s:sawtooth cutoff:600 ]",
+ "[ 3/1 → 4/1 | note:eb3 s:sawtooth cutoff:600 ]",
+]
+`;
+
exports[`runs examples > example "almostAlways" example index 0 1`] = `
[
"[ 0/1 → 1/8 | s:hh speed:0.5 ]",
@@ -1106,27 +1115,6 @@ exports[`runs examples > example "chop" example index 0 1`] = `
`;
exports[`runs examples > example "chunk" example index 0 1`] = `
-[
- "[ 0/1 → 1/4 | note:A4 ]",
- "[ 1/4 → 1/2 | note:B3 ]",
- "[ 1/2 → 3/4 | note:C4 ]",
- "[ 3/4 → 1/1 | note:D4 ]",
- "[ 1/1 → 5/4 | note:A3 ]",
- "[ 5/4 → 3/2 | note:B3 ]",
- "[ 3/2 → 7/4 | note:C4 ]",
- "[ 7/4 → 2/1 | note:D5 ]",
- "[ 2/1 → 9/4 | note:A3 ]",
- "[ 9/4 → 5/2 | note:B3 ]",
- "[ 5/2 → 11/4 | note:C5 ]",
- "[ 11/4 → 3/1 | note:D4 ]",
- "[ 3/1 → 13/4 | note:A3 ]",
- "[ 13/4 → 7/2 | note:B4 ]",
- "[ 7/2 → 15/4 | note:C4 ]",
- "[ 15/4 → 4/1 | note:D4 ]",
-]
-`;
-
-exports[`runs examples > example "chunkBack" example index 0 1`] = `
[
"[ 0/1 → 1/4 | note:A4 ]",
"[ 1/4 → 1/2 | note:B3 ]",
@@ -1147,6 +1135,27 @@ exports[`runs examples > example "chunkBack" example index 0 1`] = `
]
`;
+exports[`runs examples > example "chunkBack" example index 0 1`] = `
+[
+ "[ 0/1 → 1/4 | note:A4 ]",
+ "[ 1/4 → 1/2 | note:B3 ]",
+ "[ 1/2 → 3/4 | note:C4 ]",
+ "[ 3/4 → 1/1 | note:D4 ]",
+ "[ 1/1 → 5/4 | note:A3 ]",
+ "[ 5/4 → 3/2 | note:B3 ]",
+ "[ 3/2 → 7/4 | note:C4 ]",
+ "[ 7/4 → 2/1 | note:D5 ]",
+ "[ 2/1 → 9/4 | note:A3 ]",
+ "[ 9/4 → 5/2 | note:B3 ]",
+ "[ 5/2 → 11/4 | note:C5 ]",
+ "[ 11/4 → 3/1 | note:D4 ]",
+ "[ 3/1 → 13/4 | note:A3 ]",
+ "[ 13/4 → 7/2 | note:B4 ]",
+ "[ 7/2 → 15/4 | note:C4 ]",
+ "[ 15/4 → 4/1 | note:D4 ]",
+]
+`;
+
exports[`runs examples > example "clip" example index 0 1`] = `
[
"[ 0/1 → 1/4 | note:c s:piano clip:0.5 ]",
@@ -1848,6 +1857,19 @@ exports[`runs examples > example "fast" example index 0 1`] = `
]
`;
+exports[`runs examples > example "fastChunk" example index 0 1`] = `
+[
+ "[ 0/1 → 1/2 | note:C2 s:folkharp ]",
+ "[ 1/2 → 1/1 | note:D2 s:folkharp ]",
+ "[ 1/1 → 3/2 | note:E2 s:folkharp ]",
+ "[ 3/2 → 2/1 | note:F2 s:folkharp ]",
+ "[ 2/1 → 5/2 | note:G2 s:folkharp ]",
+ "[ 5/2 → 3/1 | note:A2 s:folkharp ]",
+ "[ 3/1 → 7/2 | note:B2 s:folkharp ]",
+ "[ 7/2 → 4/1 | note:C3 s:folkharp ]",
+]
+`;
+
exports[`runs examples > example "fastGap" example index 0 1`] = `
[
"[ 0/1 → 1/4 | s:bd ]",
@@ -3275,6 +3297,23 @@ exports[`runs examples > example "perlin" example index 0 1`] = `
]
`;
+exports[`runs examples > example "pick" example index 0 1`] = `
+[
+ "[ 0/1 → 1/2 | note:g ]",
+ "[ 1/2 → 1/1 | note:a ]",
+ "[ 1/1 → 3/2 | note:e ]",
+ "[ 3/2 → 2/1 | note:f ]",
+ "[ 2/1 → 9/4 | note:f ]",
+ "[ 9/4 → 5/2 | note:g ]",
+ "[ 5/2 → 11/4 | note:f ]",
+ "[ 11/4 → 3/1 | note:g ]",
+ "[ 3/1 → 13/4 | note:g ]",
+ "[ 13/4 → 7/2 | note:a ]",
+ "[ 7/2 → 15/4 | note:c ]",
+ "[ 15/4 → 4/1 | note:d ]",
+]
+`;
+
exports[`runs examples > example "ply" example index 0 1`] = `
[
"[ 0/1 → 1/4 | s:bd ]",
@@ -3620,6 +3659,27 @@ exports[`runs examples > example "release" example index 0 1`] = `
]
`;
+exports[`runs examples > example "repeatCycles" example index 0 1`] = `
+[
+ "[ 0/1 → 1/4 | note:42 s:gm_acoustic_guitar_nylon ]",
+ "[ 1/4 → 1/2 | note:38 s:gm_acoustic_guitar_nylon ]",
+ "[ 1/2 → 3/4 | note:35 s:gm_acoustic_guitar_nylon ]",
+ "[ 3/4 → 1/1 | note:38 s:gm_acoustic_guitar_nylon ]",
+ "[ 1/1 → 5/4 | note:42 s:gm_acoustic_guitar_nylon ]",
+ "[ 5/4 → 3/2 | note:38 s:gm_acoustic_guitar_nylon ]",
+ "[ 3/2 → 7/4 | note:35 s:gm_acoustic_guitar_nylon ]",
+ "[ 7/4 → 2/1 | note:38 s:gm_acoustic_guitar_nylon ]",
+ "[ 2/1 → 9/4 | note:42 s:gm_acoustic_guitar_nylon ]",
+ "[ 9/4 → 5/2 | note:36 s:gm_acoustic_guitar_nylon ]",
+ "[ 5/2 → 11/4 | note:39 s:gm_acoustic_guitar_nylon ]",
+ "[ 11/4 → 3/1 | note:41 s:gm_acoustic_guitar_nylon ]",
+ "[ 3/1 → 13/4 | note:42 s:gm_acoustic_guitar_nylon ]",
+ "[ 13/4 → 7/2 | note:36 s:gm_acoustic_guitar_nylon ]",
+ "[ 7/2 → 15/4 | note:39 s:gm_acoustic_guitar_nylon ]",
+ "[ 15/4 → 4/1 | note:41 s:gm_acoustic_guitar_nylon ]",
+]
+`;
+
exports[`runs examples > example "reset" example index 0 1`] = `
[
"[ 0/1 → 1/4 | s:hh ]",
@@ -3981,6 +4041,42 @@ exports[`runs examples > example "samples" example index 1 1`] = `
]
`;
+exports[`runs examples > example "samples" example index 2 1`] = `
+[
+ "[ 0/1 → 1/2 | s:noise ]",
+ "[ 1/2 → 3/4 | s:chimp n:0 ]",
+ "[ 3/4 → 1/1 | s:chimp n:0 ]",
+ "[ 1/1 → 3/2 | s:noise ]",
+ "[ 3/2 → 2/1 | s:chimp n:1 ]",
+ "[ 2/1 → 5/2 | s:noise ]",
+ "[ 5/2 → 11/4 | s:chimp n:0 ]",
+ "[ 11/4 → 3/1 | s:chimp n:0 ]",
+ "[ 3/1 → 7/2 | s:noise ]",
+ "[ 7/2 → 4/1 | s:chimp n:1 ]",
+]
+`;
+
+exports[`runs examples > example "samples" example index 3 1`] = `
+[
+ "[ 0/1 → 1/4 | s:chocolat ]",
+ "[ 1/4 → 1/2 | s:chocolat ]",
+ "[ 1/2 → 3/4 | s:chocolat ]",
+ "[ 3/4 → 1/1 | s:chocolat ]",
+ "[ 1/1 → 5/4 | s:chocolat ]",
+ "[ 5/4 → 3/2 | s:chocolat ]",
+ "[ 3/2 → 7/4 | s:chocolat ]",
+ "[ 7/4 → 2/1 | s:chocolat ]",
+ "[ 2/1 → 9/4 | s:chocolat ]",
+ "[ 9/4 → 5/2 | s:chocolat ]",
+ "[ 5/2 → 11/4 | s:chocolat ]",
+ "[ 11/4 → 3/1 | s:chocolat ]",
+ "[ 3/1 → 13/4 | s:chocolat ]",
+ "[ 13/4 → 7/2 | s:chocolat ]",
+ "[ 7/2 → 15/4 | s:chocolat ]",
+ "[ 15/4 → 4/1 | s:chocolat ]",
+]
+`;
+
exports[`runs examples > example "saw" example index 0 1`] = `
[
"[ 0/1 → 1/4 | note:c3 clip:0.03125 ]",
@@ -4576,6 +4672,25 @@ exports[`runs examples > example "square" example index 0 1`] = `
]
`;
+exports[`runs examples > example "squeeze" example index 0 1`] = `
+[
+ "[ 0/1 → 1/1 | note:g ]",
+ "[ 1/1 → 2/1 | note:a ]",
+ "[ 2/1 → 17/8 | note:f ]",
+ "[ 17/8 → 9/4 | note:g ]",
+ "[ 9/4 → 19/8 | note:f ]",
+ "[ 19/8 → 5/2 | note:g ]",
+ "[ 5/2 → 21/8 | note:f ]",
+ "[ 21/8 → 11/4 | note:g ]",
+ "[ 11/4 → 23/8 | note:f ]",
+ "[ 23/8 → 3/1 | note:g ]",
+ "[ 3/1 → 13/4 | note:g ]",
+ "[ 13/4 → 7/2 | note:a ]",
+ "[ 7/2 → 15/4 | note:c ]",
+ "[ 15/4 → 4/1 | note:d ]",
+]
+`;
+
exports[`runs examples > example "squiz" example index 0 1`] = `
[
"[ 0/1 → 1/4 | squiz:2 s:bd ]",
@@ -4647,6 +4762,23 @@ exports[`runs examples > example "stack" example index 0 2`] = `
]
`;
+exports[`runs examples > example "striate" example index 0 1`] = `
+[
+ "[ 0/1 → 1/3 | s:numbers n:0 begin:0 end:0.16666666666666666 ]",
+ "[ 1/3 → 2/3 | s:numbers n:1 begin:0 end:0.16666666666666666 ]",
+ "[ 2/3 → 1/1 | s:numbers n:2 begin:0 end:0.16666666666666666 ]",
+ "[ 1/1 → 4/3 | s:numbers n:0 begin:0.16666666666666666 end:0.3333333333333333 ]",
+ "[ 4/3 → 5/3 | s:numbers n:1 begin:0.16666666666666666 end:0.3333333333333333 ]",
+ "[ 5/3 → 2/1 | s:numbers n:2 begin:0.16666666666666666 end:0.3333333333333333 ]",
+ "[ 2/1 → 7/3 | s:numbers n:0 begin:0.3333333333333333 end:0.5 ]",
+ "[ 7/3 → 8/3 | s:numbers n:1 begin:0.3333333333333333 end:0.5 ]",
+ "[ 8/3 → 3/1 | s:numbers n:2 begin:0.3333333333333333 end:0.5 ]",
+ "[ 3/1 → 10/3 | s:numbers n:0 begin:0.5 end:0.6666666666666666 ]",
+ "[ 10/3 → 11/3 | s:numbers n:1 begin:0.5 end:0.6666666666666666 ]",
+ "[ 11/3 → 4/1 | s:numbers n:2 begin:0.5 end:0.6666666666666666 ]",
+]
+`;
+
exports[`runs examples > example "struct" example index 0 1`] = `
[
"[ 0/1 → 1/4 | note:c3 ]",
diff --git a/test/__snapshots__/shared.test.mjs.snap b/test/__snapshots__/shared.test.mjs.snap
index 8740aea6..383bcded 100644
--- a/test/__snapshots__/shared.test.mjs.snap
+++ b/test/__snapshots__/shared.test.mjs.snap
@@ -1,6 +1,6 @@
// Vitest Snapshot v1
-exports[`renders shared tunes > shared tune 10 https://strudel.tidalcycles.org/?nLsPXvEPTcQF 1`] = `
+exports[`renders shared tunes > shared tune 10 https://strudel.cc/?nLsPXvEPTcQF 1`] = `
[
"0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"3/4 -> 3/2: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -57,7 +57,7 @@ exports[`renders shared tunes > shared tune 10 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 11 https://strudel.tidalcycles.org/?ac7iGrXwBA_D 1`] = `
+exports[`renders shared tunes > shared tune 11 https://strudel.cc/?ac7iGrXwBA_D 1`] = `
[
"0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"3/4 -> 3/2: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -114,7 +114,7 @@ exports[`renders shared tunes > shared tune 11 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 12 https://strudel.tidalcycles.org/?0l5OmIwd4Xhc 1`] = `
+exports[`renders shared tunes > shared tune 12 https://strudel.cc/?0l5OmIwd4Xhc 1`] = `
[
"0/1 -> 3/1: {\\"n\\":\\"B3\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}",
"0/1 -> 3/1: {\\"n\\":\\"D4\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}",
@@ -129,13 +129,13 @@ exports[`renders shared tunes > shared tune 12 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 13 https://strudel.tidalcycles.org/?a5zB31-92Q7M 1`] = `
+exports[`renders shared tunes > shared tune 13 https://strudel.cc/?a5zB31-92Q7M 1`] = `
[
"0/1 -> 1/1: {\\"s\\":\\"bd\\"}",
]
`;
-exports[`renders shared tunes > shared tune 14 https://strudel.tidalcycles.org/?ZNO6a_vBjz65 1`] = `
+exports[`renders shared tunes > shared tune 14 https://strudel.cc/?ZNO6a_vBjz65 1`] = `
[
"0/1 -> 2/3: F3",
"2/3 -> 1/1: Ab3",
@@ -155,7 +155,7 @@ exports[`renders shared tunes > shared tune 14 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 15 https://strudel.tidalcycles.org/?8sxdCCcYKcvp 1`] = `
+exports[`renders shared tunes > shared tune 15 https://strudel.cc/?8sxdCCcYKcvp 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2206.5338497506646,\\"resonance\\":10,\\"clip\\":1}",
"3/8 -> 1/2: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2827.098521493671,\\"resonance\\":10,\\"clip\\":1}",
@@ -193,7 +193,7 @@ exports[`renders shared tunes > shared tune 15 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 16 https://strudel.tidalcycles.org/?PIG8q54uhQ5h 1`] = `
+exports[`renders shared tunes > shared tune 16 https://strudel.cc/?PIG8q54uhQ5h 1`] = `
[
"0/1 -> 3/1: {\\"n\\":\\"B3\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}",
"0/1 -> 3/1: {\\"n\\":\\"D4\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}",
@@ -208,7 +208,7 @@ exports[`renders shared tunes > shared tune 16 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 18 https://strudel.tidalcycles.org/?RyZi9bqqcQku 1`] = `
+exports[`renders shared tunes > shared tune 18 https://strudel.cc/?RyZi9bqqcQku 1`] = `
[
"0/1 -> 4/3: B4",
"0/1 -> 1/3: C3",
@@ -217,7 +217,7 @@ exports[`renders shared tunes > shared tune 18 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 19 https://strudel.tidalcycles.org/?83h9X6BCipLc 1`] = `
+exports[`renders shared tunes > shared tune 19 https://strudel.cc/?83h9X6BCipLc 1`] = `
[
"0/1 -> 3/4: F4",
"0/1 -> 3/4: Bb4",
@@ -230,7 +230,7 @@ exports[`renders shared tunes > shared tune 19 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 20 https://strudel.tidalcycles.org/?Ii6-cLJkxdw9 1`] = `
+exports[`renders shared tunes > shared tune 20 https://strudel.cc/?Ii6-cLJkxdw9 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -249,7 +249,7 @@ exports[`renders shared tunes > shared tune 20 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 21 https://strudel.tidalcycles.org/?-QCLFGNo4Q3J 1`] = `
+exports[`renders shared tunes > shared tune 21 https://strudel.cc/?-QCLFGNo4Q3J 1`] = `
[
"0/1 -> 1/4: {\\"n\\":62,\\"s\\":\\"sawtooth\\",\\"cutoff\\":2000}",
"1/2 -> 5/8: {\\"n\\":50,\\"s\\":\\"square\\",\\"cutoff\\":2000}",
@@ -263,7 +263,7 @@ exports[`renders shared tunes > shared tune 21 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 22 https://strudel.tidalcycles.org/?vwau_1P_anLs 1`] = `
+exports[`renders shared tunes > shared tune 22 https://strudel.cc/?vwau_1P_anLs 1`] = `
[
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"sawtooth\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"square\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
@@ -333,7 +333,7 @@ exports[`renders shared tunes > shared tune 22 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 23 https://strudel.tidalcycles.org/?wVExAEFBUPQB 1`] = `
+exports[`renders shared tunes > shared tune 23 https://strudel.cc/?wVExAEFBUPQB 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"F3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.49537037037037035}",
"0/1 -> 1/4: {\\"note\\":\\"A3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5138888888888888}",
@@ -347,7 +347,7 @@ exports[`renders shared tunes > shared tune 23 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 24 https://strudel.tidalcycles.org/?C8mMgTmvsnue 1`] = `
+exports[`renders shared tunes > shared tune 24 https://strudel.cc/?C8mMgTmvsnue 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -366,7 +366,7 @@ exports[`renders shared tunes > shared tune 24 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 25 https://strudel.tidalcycles.org/?EeNsQ8hdNZwN 1`] = `
+exports[`renders shared tunes > shared tune 25 https://strudel.cc/?EeNsQ8hdNZwN 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -385,7 +385,7 @@ exports[`renders shared tunes > shared tune 25 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 26 https://strudel.tidalcycles.org/?AoWRw1oZkytb 1`] = `
+exports[`renders shared tunes > shared tune 26 https://strudel.cc/?AoWRw1oZkytb 1`] = `
[
"0/1 -> 1/2: e5",
"1/2 -> 3/4: b4",
@@ -397,7 +397,7 @@ exports[`renders shared tunes > shared tune 26 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 27 https://strudel.tidalcycles.org/?UaTcY5YrOahl 1`] = `
+exports[`renders shared tunes > shared tune 27 https://strudel.cc/?UaTcY5YrOahl 1`] = `
[
"-1666666666666667/7500000000000000 -> 2/9: G3",
"0/1 -> 4/3: E3",
@@ -420,7 +420,7 @@ exports[`renders shared tunes > shared tune 27 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 28 https://strudel.tidalcycles.org/?YPLI4xhBDMpV 1`] = `
+exports[`renders shared tunes > shared tune 28 https://strudel.cc/?YPLI4xhBDMpV 1`] = `
[
"0/1 -> 1/1: bd",
"0/1 -> 1/4: hh",
@@ -431,7 +431,7 @@ exports[`renders shared tunes > shared tune 28 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 29 https://strudel.tidalcycles.org/?amB31Tm55hnv 1`] = `
+exports[`renders shared tunes > shared tune 29 https://strudel.cc/?amB31Tm55hnv 1`] = `
[
"0/1 -> 1/4: B3",
"0/1 -> 1/4: D4",
@@ -454,7 +454,7 @@ exports[`renders shared tunes > shared tune 29 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 30 https://strudel.tidalcycles.org/?8OyCVeBYuqru 1`] = `
+exports[`renders shared tunes > shared tune 30 https://strudel.cc/?8OyCVeBYuqru 1`] = `
[
"0/1 -> 4/3: B4",
"0/1 -> 1/3: C3",
@@ -463,7 +463,7 @@ exports[`renders shared tunes > shared tune 30 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 31 https://strudel.tidalcycles.org/?lzjNrzv5qXL2 1`] = `
+exports[`renders shared tunes > shared tune 31 https://strudel.cc/?lzjNrzv5qXL2 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -481,7 +481,7 @@ exports[`renders shared tunes > shared tune 31 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 32 https://strudel.tidalcycles.org/?b5ZZnwaI-UuT 1`] = `
+exports[`renders shared tunes > shared tune 32 https://strudel.cc/?b5ZZnwaI-UuT 1`] = `
[
"0/1 -> 7/5: {\\"s\\":\\"bd\\",\\"speed\\":0.7779313247650861}",
"7/10 -> 7/5: {\\"s\\":\\"sd\\",\\"speed\\":0.8397284299499006}",
@@ -543,7 +543,7 @@ exports[`renders shared tunes > shared tune 32 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 33 https://strudel.tidalcycles.org/?YZksJ_k4TsrS 1`] = `
+exports[`renders shared tunes > shared tune 33 https://strudel.cc/?YZksJ_k4TsrS 1`] = `
[
"0/1 -> 5/8: F#5",
"5/8 -> 5/4: D5",
@@ -560,7 +560,7 @@ exports[`renders shared tunes > shared tune 33 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 34 https://strudel.tidalcycles.org/?e9-pyQN6vY8E 1`] = `
+exports[`renders shared tunes > shared tune 34 https://strudel.cc/?e9-pyQN6vY8E 1`] = `
[
"0/1 -> 2/1: {\\"note\\":\\"D3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4814814814814815}",
"0/1 -> 2/1: {\\"note\\":\\"D3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4814814814814815}",
@@ -578,7 +578,7 @@ exports[`renders shared tunes > shared tune 34 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 35 https://strudel.tidalcycles.org/?ar2sdYnjIBLm 1`] = `
+exports[`renders shared tunes > shared tune 35 https://strudel.cc/?ar2sdYnjIBLm 1`] = `
[
"0/1 -> 5/8: F#5",
"5/8 -> 5/4: D5",
@@ -595,9 +595,9 @@ exports[`renders shared tunes > shared tune 35 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 38 https://strudel.tidalcycles.org/?RDyvc3SOo6kX 1`] = `[]`;
+exports[`renders shared tunes > shared tune 38 https://strudel.cc/?RDyvc3SOo6kX 1`] = `[]`;
-exports[`renders shared tunes > shared tune 39 https://strudel.tidalcycles.org/?E9HzjWmePz3x 1`] = `
+exports[`renders shared tunes > shared tune 39 https://strudel.cc/?E9HzjWmePz3x 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -613,7 +613,7 @@ exports[`renders shared tunes > shared tune 39 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 40 https://strudel.tidalcycles.org/?qk6JW1Bmi26s 1`] = `
+exports[`renders shared tunes > shared tune 40 https://strudel.cc/?qk6JW1Bmi26s 1`] = `
[
"0/1 -> 1/1: {\\"n\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":500}",
"1/2 -> 3/5: {\\"note\\":\\"Bb3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":2000,\\"gain\\":0.6}",
@@ -647,7 +647,7 @@ exports[`renders shared tunes > shared tune 40 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 41 https://strudel.tidalcycles.org/?c59geCmbANy8 1`] = `
+exports[`renders shared tunes > shared tune 41 https://strudel.cc/?c59geCmbANy8 1`] = `
[
"0/1 -> 1/3: C3",
"1/3 -> 2/3: E3",
@@ -655,7 +655,7 @@ exports[`renders shared tunes > shared tune 41 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 42 https://strudel.tidalcycles.org/?WD53HbM4B3Xf 1`] = `
+exports[`renders shared tunes > shared tune 42 https://strudel.cc/?WD53HbM4B3Xf 1`] = `
[
"0/1 -> 1/3: C3",
"1/3 -> 2/3: E3",
@@ -675,7 +675,7 @@ exports[`renders shared tunes > shared tune 42 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 43 https://strudel.tidalcycles.org/?g7c_nZZ1fVJS 1`] = `
+exports[`renders shared tunes > shared tune 43 https://strudel.cc/?g7c_nZZ1fVJS 1`] = `
[
"0/1 -> 1/3: C3",
"1/3 -> 2/3: E3",
@@ -695,7 +695,7 @@ exports[`renders shared tunes > shared tune 43 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 44 https://strudel.tidalcycles.org/?Don6HOPD2Wwc 1`] = `
+exports[`renders shared tunes > shared tune 44 https://strudel.cc/?Don6HOPD2Wwc 1`] = `
[
"0/1 -> 1/3: C3",
"1/3 -> 2/3: E3",
@@ -750,7 +750,7 @@ exports[`renders shared tunes > shared tune 44 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 45 https://strudel.tidalcycles.org/?T8n8F1Fvew9g 1`] = `
+exports[`renders shared tunes > shared tune 45 https://strudel.cc/?T8n8F1Fvew9g 1`] = `
[
"0/1 -> 1/3: C3",
"1/3 -> 2/3: E3",
@@ -805,7 +805,7 @@ exports[`renders shared tunes > shared tune 45 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 46 https://strudel.tidalcycles.org/?wj1_oPJEGjUu 1`] = `
+exports[`renders shared tunes > shared tune 46 https://strudel.cc/?wj1_oPJEGjUu 1`] = `
[
"1/2 -> 1/1: a4",
"3/4 -> 1/1: a1",
@@ -815,7 +815,7 @@ exports[`renders shared tunes > shared tune 46 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 47 https://strudel.tidalcycles.org/?0KNPD8AmV-ms 1`] = `
+exports[`renders shared tunes > shared tune 47 https://strudel.cc/?0KNPD8AmV-ms 1`] = `
[
"0/1 -> 1/3: {\\"note\\":\\"c2\\"}",
"0/1 -> 1/3: {\\"note\\":\\"d2\\"}",
@@ -827,7 +827,7 @@ exports[`renders shared tunes > shared tune 47 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 48 https://strudel.tidalcycles.org/?Y5DZt5A66Jj- 1`] = `
+exports[`renders shared tunes > shared tune 48 https://strudel.cc/?Y5DZt5A66Jj- 1`] = `
[
"0/1 -> 1/1: F2",
"0/1 -> 1/1: F3",
@@ -836,7 +836,7 @@ exports[`renders shared tunes > shared tune 48 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 49 https://strudel.tidalcycles.org/?RnD3yO0e31p- 1`] = `
+exports[`renders shared tunes > shared tune 49 https://strudel.cc/?RnD3yO0e31p- 1`] = `
[
"0/1 -> 1/1: F2",
"0/1 -> 1/1: F3",
@@ -845,7 +845,7 @@ exports[`renders shared tunes > shared tune 49 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 50 https://strudel.tidalcycles.org/?PQfKr5ac-4x0 1`] = `
+exports[`renders shared tunes > shared tune 50 https://strudel.cc/?PQfKr5ac-4x0 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -861,7 +861,7 @@ exports[`renders shared tunes > shared tune 50 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 51 https://strudel.tidalcycles.org/?qbyqK2VN_6if 1`] = `
+exports[`renders shared tunes > shared tune 51 https://strudel.cc/?qbyqK2VN_6if 1`] = `
[
"0/1 -> 2/1: {\\"note\\":\\"C3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4722222222222222}",
"0/1 -> 2/1: {\\"note\\":\\"E3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4907407407407407}",
@@ -869,7 +869,7 @@ exports[`renders shared tunes > shared tune 51 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 52 https://strudel.tidalcycles.org/?0H0ym5HypMyj 1`] = `
+exports[`renders shared tunes > shared tune 52 https://strudel.cc/?0H0ym5HypMyj 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"D3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4814814814814815}",
"1/4 -> 3/4: {\\"note\\":\\"F3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.49537037037037035}",
@@ -904,7 +904,7 @@ exports[`renders shared tunes > shared tune 52 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 53 https://strudel.tidalcycles.org/?YAB9YoUpJwaj 1`] = `
+exports[`renders shared tunes > shared tune 53 https://strudel.cc/?YAB9YoUpJwaj 1`] = `
[
"0/1 -> 1/2: c2",
"1/2 -> 1/1: g2",
@@ -923,7 +923,7 @@ exports[`renders shared tunes > shared tune 53 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 54 https://strudel.tidalcycles.org/?-fdVyijf3Fk0 1`] = `
+exports[`renders shared tunes > shared tune 54 https://strudel.cc/?-fdVyijf3Fk0 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"c2\\"}",
"1/2 -> 1/1: {\\"note\\":\\"g2\\"}",
@@ -942,7 +942,7 @@ exports[`renders shared tunes > shared tune 54 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 55 https://strudel.tidalcycles.org/?ODAzfGV0ZcbI 1`] = `
+exports[`renders shared tunes > shared tune 55 https://strudel.cc/?ODAzfGV0ZcbI 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -966,7 +966,7 @@ exports[`renders shared tunes > shared tune 55 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 56 https://strudel.tidalcycles.org/?86BPLjJUsUlY 1`] = `
+exports[`renders shared tunes > shared tune 56 https://strudel.cc/?86BPLjJUsUlY 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -990,7 +990,7 @@ exports[`renders shared tunes > shared tune 56 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 57 https://strudel.tidalcycles.org/?a6p9WTalyHea 1`] = `
+exports[`renders shared tunes > shared tune 57 https://strudel.cc/?a6p9WTalyHea 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -1000,7 +1000,7 @@ exports[`renders shared tunes > shared tune 57 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 58 https://strudel.tidalcycles.org/?ciNbEjRKpC5T 1`] = `
+exports[`renders shared tunes > shared tune 58 https://strudel.cc/?ciNbEjRKpC5T 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -1010,7 +1010,7 @@ exports[`renders shared tunes > shared tune 58 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 59 https://strudel.tidalcycles.org/?pLhCIXogckDD 1`] = `
+exports[`renders shared tunes > shared tune 59 https://strudel.cc/?pLhCIXogckDD 1`] = `
[
"0/1 -> 1/4: B3",
"0/1 -> 1/4: D4",
@@ -1033,7 +1033,7 @@ exports[`renders shared tunes > shared tune 59 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 60 https://strudel.tidalcycles.org/?hJFGyCmtF36W 1`] = `
+exports[`renders shared tunes > shared tune 60 https://strudel.cc/?hJFGyCmtF36W 1`] = `
[
"0/1 -> 1/4: B3",
"0/1 -> 1/4: D4",
@@ -1056,7 +1056,7 @@ exports[`renders shared tunes > shared tune 60 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 61 https://strudel.tidalcycles.org/?4HtBUNn4xAAA 1`] = `
+exports[`renders shared tunes > shared tune 61 https://strudel.cc/?4HtBUNn4xAAA 1`] = `
[
"0/1 -> 3053185/4904046: {\\"n\\":62,\\"s\\":\\"sawtooth\\",\\"cutoff\\":3986.9405734726183}",
"0/1 -> 3053185/4904046: {\\"n\\":62,\\"s\\":\\"square\\",\\"cutoff\\":3986.9405734726183}",
@@ -1088,7 +1088,7 @@ exports[`renders shared tunes > shared tune 61 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 62 https://strudel.tidalcycles.org/?o6VENTMBn_Fo 1`] = `
+exports[`renders shared tunes > shared tune 62 https://strudel.cc/?o6VENTMBn_Fo 1`] = `
[
"0/1 -> 1/5: F#1",
"1/5 -> 2/5: F#1",
@@ -1099,7 +1099,7 @@ exports[`renders shared tunes > shared tune 62 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 63 https://strudel.tidalcycles.org/?2MtjoYELsyy6 1`] = `
+exports[`renders shared tunes > shared tune 63 https://strudel.cc/?2MtjoYELsyy6 1`] = `
[
"0/1 -> 2867650/6103323: {\\"note\\":\\"B1\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41203703703703703}",
"0/1 -> 2681020/6741463: {\\"note\\":\\"B1\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41203703703703703}",
@@ -1284,7 +1284,7 @@ exports[`renders shared tunes > shared tune 63 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 64 https://strudel.tidalcycles.org/?vJ2KTtZo20cu 1`] = `
+exports[`renders shared tunes > shared tune 64 https://strudel.cc/?vJ2KTtZo20cu 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -1308,7 +1308,7 @@ exports[`renders shared tunes > shared tune 64 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 65 https://strudel.tidalcycles.org/?DhWsebFhaaI9 1`] = `
+exports[`renders shared tunes > shared tune 65 https://strudel.cc/?DhWsebFhaaI9 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -1332,7 +1332,7 @@ exports[`renders shared tunes > shared tune 65 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 66 https://strudel.tidalcycles.org/?TpZLuyJCkYlW 1`] = `
+exports[`renders shared tunes > shared tune 66 https://strudel.cc/?TpZLuyJCkYlW 1`] = `
[
"0/1 -> 1/4: c4",
"1/4 -> 1/2: e3",
@@ -1341,7 +1341,7 @@ exports[`renders shared tunes > shared tune 66 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 67 https://strudel.tidalcycles.org/?pQKoHsxS2h84 1`] = `
+exports[`renders shared tunes > shared tune 67 https://strudel.cc/?pQKoHsxS2h84 1`] = `
[
"0/1 -> 1/4: {\\"n\\":62,\\"s\\":\\"sawtooth\\",\\"cutoff\\":2000}",
"1/2 -> 5/8: {\\"n\\":50,\\"s\\":\\"square\\",\\"cutoff\\":2000}",
@@ -1355,7 +1355,7 @@ exports[`renders shared tunes > shared tune 67 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 68 https://strudel.tidalcycles.org/?gL4HMl9q43o6 1`] = `
+exports[`renders shared tunes > shared tune 68 https://strudel.cc/?gL4HMl9q43o6 1`] = `
[
"0/1 -> 1/4: c4",
"1/4 -> 1/2: e3",
@@ -1364,7 +1364,7 @@ exports[`renders shared tunes > shared tune 68 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 69 https://strudel.tidalcycles.org/?QoKBBsdDBQro 1`] = `
+exports[`renders shared tunes > shared tune 69 https://strudel.cc/?QoKBBsdDBQro 1`] = `
[
"0/1 -> 1/4: c4",
"1/4 -> 1/2: e3",
@@ -1373,7 +1373,7 @@ exports[`renders shared tunes > shared tune 69 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 70 https://strudel.tidalcycles.org/?TGp3R_6-qmvY 1`] = `
+exports[`renders shared tunes > shared tune 70 https://strudel.cc/?TGp3R_6-qmvY 1`] = `
[
"0/1 -> 1/8: c3",
"1/8 -> 1/4: e3",
@@ -1383,7 +1383,7 @@ exports[`renders shared tunes > shared tune 70 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 71 https://strudel.tidalcycles.org/?Oais65XPBeAV 1`] = `
+exports[`renders shared tunes > shared tune 71 https://strudel.cc/?Oais65XPBeAV 1`] = `
[
"0/1 -> 1/3: {\\"note\\":\\"c9\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.75}",
"1/3 -> 2/3: {\\"note\\":\\"c9\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.75}",
@@ -1393,7 +1393,7 @@ exports[`renders shared tunes > shared tune 71 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 72 https://strudel.tidalcycles.org/?ldZPCC8_189H 1`] = `
+exports[`renders shared tunes > shared tune 72 https://strudel.cc/?ldZPCC8_189H 1`] = `
[
"0/1 -> 1/3: {\\"note\\":\\"c9\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.75}",
"1/3 -> 2/3: {\\"note\\":\\"c9\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.75}",
@@ -1403,19 +1403,19 @@ exports[`renders shared tunes > shared tune 72 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 73 https://strudel.tidalcycles.org/?D--IwyHBNn0a 1`] = `[]`;
+exports[`renders shared tunes > shared tune 73 https://strudel.cc/?D--IwyHBNn0a 1`] = `[]`;
-exports[`renders shared tunes > shared tune 74 https://strudel.tidalcycles.org/?gRGnC9U7CLgh 1`] = `[]`;
+exports[`renders shared tunes > shared tune 74 https://strudel.cc/?gRGnC9U7CLgh 1`] = `[]`;
-exports[`renders shared tunes > shared tune 75 https://strudel.tidalcycles.org/?rr1DhAIFVsNf 1`] = `[]`;
+exports[`renders shared tunes > shared tune 75 https://strudel.cc/?rr1DhAIFVsNf 1`] = `[]`;
-exports[`renders shared tunes > shared tune 76 https://strudel.tidalcycles.org/?AnRyPR-aJRnM 1`] = `[]`;
+exports[`renders shared tunes > shared tune 76 https://strudel.cc/?AnRyPR-aJRnM 1`] = `[]`;
-exports[`renders shared tunes > shared tune 77 https://strudel.tidalcycles.org/?CpHjU1-jPeGv 1`] = `[]`;
+exports[`renders shared tunes > shared tune 77 https://strudel.cc/?CpHjU1-jPeGv 1`] = `[]`;
-exports[`renders shared tunes > shared tune 78 https://strudel.tidalcycles.org/?LgsIpYacgnRK 1`] = `[]`;
+exports[`renders shared tunes > shared tune 78 https://strudel.cc/?LgsIpYacgnRK 1`] = `[]`;
-exports[`renders shared tunes > shared tune 79 https://strudel.tidalcycles.org/?faC6ykfIhu1j 1`] = `
+exports[`renders shared tunes > shared tune 79 https://strudel.cc/?faC6ykfIhu1j 1`] = `
[
"0/1 -> 1/1: F2",
"0/1 -> 1/1: F3",
@@ -1424,13 +1424,13 @@ exports[`renders shared tunes > shared tune 79 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 80 https://strudel.tidalcycles.org/?5_NKdDWsFCk1 1`] = `[]`;
+exports[`renders shared tunes > shared tune 80 https://strudel.cc/?5_NKdDWsFCk1 1`] = `[]`;
-exports[`renders shared tunes > shared tune 81 https://strudel.tidalcycles.org/?kH7LV63mXASH 1`] = `[]`;
+exports[`renders shared tunes > shared tune 81 https://strudel.cc/?kH7LV63mXASH 1`] = `[]`;
-exports[`renders shared tunes > shared tune 82 https://strudel.tidalcycles.org/?l7FO1TzD3yBA 1`] = `[]`;
+exports[`renders shared tunes > shared tune 82 https://strudel.cc/?l7FO1TzD3yBA 1`] = `[]`;
-exports[`renders shared tunes > shared tune 83 https://strudel.tidalcycles.org/?3hSnOnJz8aPZ 1`] = `
+exports[`renders shared tunes > shared tune 83 https://strudel.cc/?3hSnOnJz8aPZ 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -1449,7 +1449,7 @@ exports[`renders shared tunes > shared tune 83 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 84 https://strudel.tidalcycles.org/?J3ClL0wQCBr_ 1`] = `
+exports[`renders shared tunes > shared tune 84 https://strudel.cc/?J3ClL0wQCBr_ 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2206.5338497506646,\\"resonance\\":10,\\"clip\\":1}",
"3/8 -> 1/2: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2827.098521493671,\\"resonance\\":10,\\"clip\\":1}",
@@ -1492,7 +1492,7 @@ exports[`renders shared tunes > shared tune 84 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 85 https://strudel.tidalcycles.org/?YC1KlrX1fOyP 1`] = `
+exports[`renders shared tunes > shared tune 85 https://strudel.cc/?YC1KlrX1fOyP 1`] = `
[
"0/1 -> 1/3: {\\"note\\":\\"D3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4814814814814815}",
"1/3 -> 1/2: {\\"note\\":\\"Eb3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4861111111111111}",
@@ -1501,7 +1501,7 @@ exports[`renders shared tunes > shared tune 85 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 86 https://strudel.tidalcycles.org/?YD2MRLffOCRV 1`] = `
+exports[`renders shared tunes > shared tune 86 https://strudel.cc/?YD2MRLffOCRV 1`] = `
[
"1/2 -> 1/1: e4",
"1/4 -> 1/2: c3",
@@ -1509,7 +1509,7 @@ exports[`renders shared tunes > shared tune 86 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 87 https://strudel.tidalcycles.org/?XxvYG4XK-I5G 1`] = `
+exports[`renders shared tunes > shared tune 87 https://strudel.cc/?XxvYG4XK-I5G 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"G4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5601851851851851}",
"0/1 -> 1/4: {\\"note\\":\\"B4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5787037037037037}",
@@ -1524,7 +1524,7 @@ exports[`renders shared tunes > shared tune 87 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 88 https://strudel.tidalcycles.org/?FHXCltSQwouU 1`] = `
+exports[`renders shared tunes > shared tune 88 https://strudel.cc/?FHXCltSQwouU 1`] = `
[
"0/1 -> 3/4: c3",
"3/4 -> 1/1: eb3",
@@ -1536,7 +1536,7 @@ exports[`renders shared tunes > shared tune 88 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 89 https://strudel.tidalcycles.org/?Hg6JP2F6ufl1 1`] = `
+exports[`renders shared tunes > shared tune 89 https://strudel.cc/?Hg6JP2F6ufl1 1`] = `
[
"0/1 -> 1/3: c3",
"1/3 -> 2/3: e3",
@@ -1546,7 +1546,7 @@ exports[`renders shared tunes > shared tune 89 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 90 https://strudel.tidalcycles.org/?lNxLnMcpieR3 1`] = `
+exports[`renders shared tunes > shared tune 90 https://strudel.cc/?lNxLnMcpieR3 1`] = `
[
"0/1 -> 1/3: c3",
"1/3 -> 2/3: e3",
@@ -1556,7 +1556,7 @@ exports[`renders shared tunes > shared tune 90 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 91 https://strudel.tidalcycles.org/?78PHBhVZovgo 1`] = `
+exports[`renders shared tunes > shared tune 91 https://strudel.cc/?78PHBhVZovgo 1`] = `
[
"0/1 -> 1/4: c3",
"1/5 -> 9/20: c3",
@@ -1568,7 +1568,7 @@ exports[`renders shared tunes > shared tune 91 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 92 https://strudel.tidalcycles.org/?rXBp8MOz1iNw 1`] = `
+exports[`renders shared tunes > shared tune 92 https://strudel.cc/?rXBp8MOz1iNw 1`] = `
[
"0/1 -> 19/80: e5",
"1/2 -> 79/120: d5",
@@ -1581,7 +1581,7 @@ exports[`renders shared tunes > shared tune 92 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 93 https://strudel.tidalcycles.org/?bbPVlOzXxAxn 1`] = `
+exports[`renders shared tunes > shared tune 93 https://strudel.cc/?bbPVlOzXxAxn 1`] = `
[
"-3761101961531/150000000000000 -> 2912966012823/50000000000000: F4",
"2912966012823/50000000000000 -> 141592653589793/1000000000000000: G4",
@@ -1599,7 +1599,7 @@ exports[`renders shared tunes > shared tune 93 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 94 https://strudel.tidalcycles.org/?dZSKPnJiPMAz 1`] = `
+exports[`renders shared tunes > shared tune 94 https://strudel.cc/?dZSKPnJiPMAz 1`] = `
[
"-3761101961531/150000000000000 -> 2912966012823/50000000000000: E3",
"2912966012823/50000000000000 -> 141592653589793/1000000000000000: A3",
@@ -1617,7 +1617,7 @@ exports[`renders shared tunes > shared tune 94 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 95 https://strudel.tidalcycles.org/?l-zyGmnM6g_q 1`] = `
+exports[`renders shared tunes > shared tune 95 https://strudel.cc/?l-zyGmnM6g_q 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2206.5338497506646,\\"resonance\\":10,\\"clip\\":1}",
"3/8 -> 1/2: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2827.098521493671,\\"resonance\\":10,\\"clip\\":1}",
@@ -1660,7 +1660,7 @@ exports[`renders shared tunes > shared tune 95 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 96 https://strudel.tidalcycles.org/?vEpJhDLHycD8 1`] = `
+exports[`renders shared tunes > shared tune 96 https://strudel.cc/?vEpJhDLHycD8 1`] = `
[
"0/1 -> 3/20: 0",
"0/1 -> 3/20: 3",
@@ -1679,7 +1679,7 @@ exports[`renders shared tunes > shared tune 96 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 97 https://strudel.tidalcycles.org/?DHUbrEloJxMd 1`] = `
+exports[`renders shared tunes > shared tune 97 https://strudel.cc/?DHUbrEloJxMd 1`] = `
[
"0/1 -> 19/80: {\\"note\\":\\"E4\\"}",
"1/2 -> 79/120: {\\"note\\":\\"D4\\"}",
@@ -1692,7 +1692,7 @@ exports[`renders shared tunes > shared tune 97 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 98 https://strudel.tidalcycles.org/?-YW3kIKIGR8j 1`] = `
+exports[`renders shared tunes > shared tune 98 https://strudel.cc/?-YW3kIKIGR8j 1`] = `
[
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"sawtooth\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"square\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
@@ -1762,7 +1762,7 @@ exports[`renders shared tunes > shared tune 98 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 99 https://strudel.tidalcycles.org/?iw5ossp4Sti1 1`] = `
+exports[`renders shared tunes > shared tune 99 https://strudel.cc/?iw5ossp4Sti1 1`] = `
[
"0/1 -> 3/20: 0",
"0/1 -> 3/20: 3",
@@ -1781,7 +1781,7 @@ exports[`renders shared tunes > shared tune 99 https://strudel.tidalcycles.org/?
]
`;
-exports[`renders shared tunes > shared tune 101 https://strudel.tidalcycles.org/?ISMZvMGByNst 1`] = `
+exports[`renders shared tunes > shared tune 101 https://strudel.cc/?ISMZvMGByNst 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -1799,7 +1799,7 @@ exports[`renders shared tunes > shared tune 101 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 102 https://strudel.tidalcycles.org/?PDjOPOnV3JR6 1`] = `
+exports[`renders shared tunes > shared tune 102 https://strudel.cc/?PDjOPOnV3JR6 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1500}",
"1/2 -> 1/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1500}",
@@ -1826,7 +1826,7 @@ exports[`renders shared tunes > shared tune 102 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 103 https://strudel.tidalcycles.org/?u7qAdlwp3Qig 1`] = `
+exports[`renders shared tunes > shared tune 103 https://strudel.cc/?u7qAdlwp3Qig 1`] = `
[
"1/2 -> 1/1: {\\"note\\":\\"F3\\"}",
"1/2 -> 1/1: {\\"note\\":\\"C4\\"}",
@@ -1845,7 +1845,7 @@ exports[`renders shared tunes > shared tune 103 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 104 https://strudel.tidalcycles.org/?OhjceF8ZvYk8 1`] = `
+exports[`renders shared tunes > shared tune 104 https://strudel.cc/?OhjceF8ZvYk8 1`] = `
[
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"sawtooth\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"square\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
@@ -1915,7 +1915,7 @@ exports[`renders shared tunes > shared tune 104 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 105 https://strudel.tidalcycles.org/?4yn-ch_d1hnA 1`] = `
+exports[`renders shared tunes > shared tune 105 https://strudel.cc/?4yn-ch_d1hnA 1`] = `
[
"0/1 -> 1/4: C3",
"0/1 -> 1/4: G3",
@@ -1931,7 +1931,7 @@ exports[`renders shared tunes > shared tune 105 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 106 https://strudel.tidalcycles.org/?2M1kLwRf6d-Q 1`] = `
+exports[`renders shared tunes > shared tune 106 https://strudel.cc/?2M1kLwRf6d-Q 1`] = `
[
"0/1 -> 1/4: C3",
"0/1 -> 1/4: G3",
@@ -1947,7 +1947,7 @@ exports[`renders shared tunes > shared tune 106 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 107 https://strudel.tidalcycles.org/?XggCKeAH5uLK 1`] = `
+exports[`renders shared tunes > shared tune 107 https://strudel.cc/?XggCKeAH5uLK 1`] = `
[
"0/1 -> 1/4: C3",
"0/1 -> 1/4: G3",
@@ -1963,7 +1963,7 @@ exports[`renders shared tunes > shared tune 107 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 108 https://strudel.tidalcycles.org/?BH_o1f7vPxd3 1`] = `
+exports[`renders shared tunes > shared tune 108 https://strudel.cc/?BH_o1f7vPxd3 1`] = `
[
"0/1 -> 3/4: c3",
"3/4 -> 1/1: eb3",
@@ -1975,7 +1975,7 @@ exports[`renders shared tunes > shared tune 108 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 109 https://strudel.tidalcycles.org/?OdgRkOYpGrgF 1`] = `
+exports[`renders shared tunes > shared tune 109 https://strudel.cc/?OdgRkOYpGrgF 1`] = `
[
"0/1 -> 3/20: 0",
"0/1 -> 3/20: 3",
@@ -1994,9 +1994,9 @@ exports[`renders shared tunes > shared tune 109 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 110 https://strudel.tidalcycles.org/?Yizg74mNj_6L 1`] = `[]`;
+exports[`renders shared tunes > shared tune 110 https://strudel.cc/?Yizg74mNj_6L 1`] = `[]`;
-exports[`renders shared tunes > shared tune 113 https://strudel.tidalcycles.org/?X7Vln6QqABL2 1`] = `
+exports[`renders shared tunes > shared tune 113 https://strudel.cc/?X7Vln6QqABL2 1`] = `
[
"0/1 -> 1/3: {\\"value\\":0,\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":null}",
"1/3 -> 2/3: {\\"value\\":5,\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":null}",
@@ -2004,7 +2004,7 @@ exports[`renders shared tunes > shared tune 113 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 114 https://strudel.tidalcycles.org/?ILwq_zKFMNN5 1`] = `
+exports[`renders shared tunes > shared tune 114 https://strudel.cc/?ILwq_zKFMNN5 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -2022,7 +2022,7 @@ exports[`renders shared tunes > shared tune 114 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 115 https://strudel.tidalcycles.org/?CSzelQFTGerr 1`] = `
+exports[`renders shared tunes > shared tune 115 https://strudel.cc/?CSzelQFTGerr 1`] = `
[
"0/1 -> 63/220: f#6",
"7/22 -> 133/220: f#6",
@@ -2040,7 +2040,7 @@ exports[`renders shared tunes > shared tune 115 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 116 https://strudel.tidalcycles.org/?j5oC-CSjk7Kq 1`] = `
+exports[`renders shared tunes > shared tune 116 https://strudel.cc/?j5oC-CSjk7Kq 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"Bb3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5185185185185186}",
"0/1 -> 1/4: {\\"note\\":\\"D4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.537037037037037}",
@@ -2055,7 +2055,7 @@ exports[`renders shared tunes > shared tune 116 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 117 https://strudel.tidalcycles.org/?waoDkqtNx0Xe 1`] = `
+exports[`renders shared tunes > shared tune 117 https://strudel.cc/?waoDkqtNx0Xe 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -2071,7 +2071,7 @@ exports[`renders shared tunes > shared tune 117 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 118 https://strudel.tidalcycles.org/?hHssvZuQ9eU- 1`] = `
+exports[`renders shared tunes > shared tune 118 https://strudel.cc/?hHssvZuQ9eU- 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"C2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41666666666666663}",
"0/1 -> 1/4: {\\"note\\":\\"C2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41666666666666663}",
@@ -2348,9 +2348,9 @@ exports[`renders shared tunes > shared tune 118 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 119 https://strudel.tidalcycles.org/?YjCJ3DhT9u4M 1`] = `[]`;
+exports[`renders shared tunes > shared tune 119 https://strudel.cc/?YjCJ3DhT9u4M 1`] = `[]`;
-exports[`renders shared tunes > shared tune 121 https://strudel.tidalcycles.org/?wrcmJLYiesgF 1`] = `
+exports[`renders shared tunes > shared tune 121 https://strudel.cc/?wrcmJLYiesgF 1`] = `
[
"0/1 -> 19/80: e5",
"1/2 -> 79/120: d5",
@@ -2363,7 +2363,7 @@ exports[`renders shared tunes > shared tune 121 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 122 https://strudel.tidalcycles.org/?tiYDzBGIFjYV 1`] = `
+exports[`renders shared tunes > shared tune 122 https://strudel.cc/?tiYDzBGIFjYV 1`] = `
[
"0/1 -> 2/1: {\\"note\\":\\"C3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4722222222222222}",
"0/1 -> 2/1: {\\"note\\":\\"E3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4907407407407407}",
@@ -2371,7 +2371,7 @@ exports[`renders shared tunes > shared tune 122 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 123 https://strudel.tidalcycles.org/?Y1nz8H0a10CF 1`] = `
+exports[`renders shared tunes > shared tune 123 https://strudel.cc/?Y1nz8H0a10CF 1`] = `
[
"-1666666666666667/7500000000000000 -> 2/9: G3",
"0/1 -> 4/3: E3",
@@ -2394,7 +2394,7 @@ exports[`renders shared tunes > shared tune 123 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 124 https://strudel.tidalcycles.org/?SZDwdxhme28o 1`] = `
+exports[`renders shared tunes > shared tune 124 https://strudel.cc/?SZDwdxhme28o 1`] = `
[
"11/32 -> 1/2: {\\"n\\":\\"Bb3\\",\\"cutoff\\":1625,\\"s\\":\\"square\\",\\"decay\\":0.1,\\"sustain\\":0,\\"resonance\\":16,\\"gain\\":0.2,\\"pan\\":0.931367192988896}",
"11/32 -> 1/2: {\\"n\\":\\"D4\\",\\"cutoff\\":1625,\\"s\\":\\"square\\",\\"decay\\":0.1,\\"sustain\\":0,\\"resonance\\":16,\\"gain\\":0.2,\\"pan\\":0.931367192988896}",
@@ -2448,7 +2448,7 @@ exports[`renders shared tunes > shared tune 124 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 125 https://strudel.tidalcycles.org/?m7Uyh34tQwqi 1`] = `
+exports[`renders shared tunes > shared tune 125 https://strudel.cc/?m7Uyh34tQwqi 1`] = `
[
"11/32 -> 1/2: {\\"n\\":\\"Bb3\\",\\"cutoff\\":1625,\\"s\\":\\"square\\",\\"decay\\":0.1,\\"sustain\\":0,\\"resonance\\":16,\\"gain\\":0.2,\\"pan\\":0.931367192988896}",
"11/32 -> 1/2: {\\"n\\":\\"D4\\",\\"cutoff\\":1625,\\"s\\":\\"square\\",\\"decay\\":0.1,\\"sustain\\":0,\\"resonance\\":16,\\"gain\\":0.2,\\"pan\\":0.931367192988896}",
@@ -2502,7 +2502,7 @@ exports[`renders shared tunes > shared tune 125 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 126 https://strudel.tidalcycles.org/?P9d8_AXWM7ef 1`] = `
+exports[`renders shared tunes > shared tune 126 https://strudel.cc/?P9d8_AXWM7ef 1`] = `
[
"0/1 -> 3/4: c3",
"3/4 -> 1/1: eb3",
@@ -2514,7 +2514,7 @@ exports[`renders shared tunes > shared tune 126 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 127 https://strudel.tidalcycles.org/?FM1koCTLh1IM 1`] = `
+exports[`renders shared tunes > shared tune 127 https://strudel.cc/?FM1koCTLh1IM 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -2533,7 +2533,7 @@ exports[`renders shared tunes > shared tune 127 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 128 https://strudel.tidalcycles.org/?1SAqiKiVI8r- 1`] = `
+exports[`renders shared tunes > shared tune 128 https://strudel.cc/?1SAqiKiVI8r- 1`] = `
[
"0/1 -> 3/20: 0",
"0/1 -> 3/20: 3",
@@ -2552,7 +2552,7 @@ exports[`renders shared tunes > shared tune 128 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 129 https://strudel.tidalcycles.org/?Pds79yD4qQKJ 1`] = `
+exports[`renders shared tunes > shared tune 129 https://strudel.cc/?Pds79yD4qQKJ 1`] = `
[
"0/1 -> 1/5: e4",
"2/5 -> 3/5: e3",
@@ -2560,7 +2560,7 @@ exports[`renders shared tunes > shared tune 129 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 130 https://strudel.tidalcycles.org/?DYJx5C-3NrV7 1`] = `
+exports[`renders shared tunes > shared tune 130 https://strudel.cc/?DYJx5C-3NrV7 1`] = `
[
"0/1 -> 5/26: {\\"note\\":\\"B2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.46759259259259256}",
"5/13 -> 15/26: {\\"note\\":\\"B2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.46759259259259256}",
@@ -2588,7 +2588,7 @@ exports[`renders shared tunes > shared tune 130 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 131 https://strudel.tidalcycles.org/?9_BPqHIO4rPv 1`] = `
+exports[`renders shared tunes > shared tune 131 https://strudel.cc/?9_BPqHIO4rPv 1`] = `
[
"0/1 -> 27/40: {\\"note\\":\\"Db4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5324074074074074}",
"0/1 -> 27/40: {\\"note\\":\\"Ab4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5648148148148149}",
@@ -2629,7 +2629,7 @@ exports[`renders shared tunes > shared tune 131 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 132 https://strudel.tidalcycles.org/?FwkQ0EG3Kkwm 1`] = `
+exports[`renders shared tunes > shared tune 132 https://strudel.cc/?FwkQ0EG3Kkwm 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -2653,7 +2653,7 @@ exports[`renders shared tunes > shared tune 132 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 133 https://strudel.tidalcycles.org/?Cb_YrHpHKkJN 1`] = `
+exports[`renders shared tunes > shared tune 133 https://strudel.cc/?Cb_YrHpHKkJN 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2206.5338497506646,\\"resonance\\":10,\\"clip\\":1}",
"3/8 -> 1/2: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2827.098521493671,\\"resonance\\":10,\\"clip\\":1}",
@@ -2696,7 +2696,7 @@ exports[`renders shared tunes > shared tune 133 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 134 https://strudel.tidalcycles.org/?SkqbkK705Olu 1`] = `
+exports[`renders shared tunes > shared tune 134 https://strudel.cc/?SkqbkK705Olu 1`] = `
[
"7/8 -> 1/1: {\\"s\\":\\"hi\\"}",
"5/8 -> 3/4: {\\"s\\":\\"lo\\"}",
@@ -2706,7 +2706,7 @@ exports[`renders shared tunes > shared tune 134 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 135 https://strudel.tidalcycles.org/?-hyad472v8by 1`] = `
+exports[`renders shared tunes > shared tune 135 https://strudel.cc/?-hyad472v8by 1`] = `
[
"0/1 -> 3/8: {\\"gain\\":1,\\"s\\":\\"lo\\",\\"speed\\":2}",
"3/8 -> 3/4: {\\"gain\\":0.5,\\"s\\":\\"lo\\",\\"speed\\":2}",
@@ -2715,7 +2715,7 @@ exports[`renders shared tunes > shared tune 135 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 136 https://strudel.tidalcycles.org/?BApYR1gphKJ7 1`] = `
+exports[`renders shared tunes > shared tune 136 https://strudel.cc/?BApYR1gphKJ7 1`] = `
[
"0/1 -> 3/8: {\\"gain\\":1,\\"s\\":\\"lo\\",\\"speed\\":2,\\"release\\":0.2,\\"clip\\":1}",
"3/8 -> 3/4: {\\"gain\\":0.5,\\"s\\":\\"lo\\",\\"speed\\":2,\\"release\\":0.2,\\"clip\\":1}",
@@ -2724,7 +2724,7 @@ exports[`renders shared tunes > shared tune 136 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 137 https://strudel.tidalcycles.org/?wK1UQcYoYpoD 1`] = `
+exports[`renders shared tunes > shared tune 137 https://strudel.cc/?wK1UQcYoYpoD 1`] = `
[
"0/1 -> 3/16: {\\"gain\\":1,\\"s\\":\\"lo\\",\\"speed\\":1,\\"hcutoff\\":1000,\\"resonance\\":0.2}",
"3/16 -> 3/8: {\\"gain\\":0.5,\\"s\\":\\"lo\\",\\"speed\\":1,\\"hcutoff\\":1000,\\"resonance\\":0.2}",
@@ -2742,7 +2742,7 @@ exports[`renders shared tunes > shared tune 137 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 138 https://strudel.tidalcycles.org/?lB2HuXEXyTex 1`] = `
+exports[`renders shared tunes > shared tune 138 https://strudel.cc/?lB2HuXEXyTex 1`] = `
[
"0/1 -> 6275565/1452119: A3",
"-9/8 -> 20400609/11616952: G4",
@@ -2753,13 +2753,13 @@ exports[`renders shared tunes > shared tune 138 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 139 https://strudel.tidalcycles.org/?WUxQVJIu27Nz 1`] = `
+exports[`renders shared tunes > shared tune 139 https://strudel.cc/?WUxQVJIu27Nz 1`] = `
[
"0/1 -> 1/1: {\\"gain\\":1,\\"s\\":\\"lo\\",\\"cps\\":1.1}",
]
`;
-exports[`renders shared tunes > shared tune 140 https://strudel.tidalcycles.org/?ZQ-ce-Qj-nuP 1`] = `
+exports[`renders shared tunes > shared tune 140 https://strudel.cc/?ZQ-ce-Qj-nuP 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"F3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.49537037037037035}",
"1/4 -> 3/4: {\\"note\\":\\"F2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4398148148148148}",
@@ -2770,7 +2770,7 @@ exports[`renders shared tunes > shared tune 140 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 141 https://strudel.tidalcycles.org/?tBPkuxuje0iY 1`] = `
+exports[`renders shared tunes > shared tune 141 https://strudel.cc/?tBPkuxuje0iY 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -2788,7 +2788,7 @@ exports[`renders shared tunes > shared tune 141 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 142 https://strudel.tidalcycles.org/?ak6ZpErh0hl1 1`] = `
+exports[`renders shared tunes > shared tune 142 https://strudel.cc/?ak6ZpErh0hl1 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2206.5338497506646,\\"resonance\\":10,\\"clip\\":1}",
"3/8 -> 1/2: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2827.098521493671,\\"resonance\\":10,\\"clip\\":1}",
@@ -2831,7 +2831,7 @@ exports[`renders shared tunes > shared tune 142 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 143 https://strudel.tidalcycles.org/?U9J_c-Insgbc 1`] = `
+exports[`renders shared tunes > shared tune 143 https://strudel.cc/?U9J_c-Insgbc 1`] = `
[
"0/1 -> 63/220: f#6",
"7/22 -> 133/220: f#6",
@@ -2849,7 +2849,7 @@ exports[`renders shared tunes > shared tune 143 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 144 https://strudel.tidalcycles.org/?y2FS3Xvqv68d 1`] = `
+exports[`renders shared tunes > shared tune 144 https://strudel.cc/?y2FS3Xvqv68d 1`] = `
[
"0/1 -> 63/220: {\\"note\\":\\"f#6\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.6666666666666667}",
"7/22 -> 133/220: {\\"note\\":\\"f#6\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.6666666666666667}",
@@ -2867,7 +2867,7 @@ exports[`renders shared tunes > shared tune 144 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 145 https://strudel.tidalcycles.org/?d7-gUjyRbKP9 1`] = `
+exports[`renders shared tunes > shared tune 145 https://strudel.cc/?d7-gUjyRbKP9 1`] = `
[
"0/1 -> 6/25: {\\"note\\":60,\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5277777777777778}",
"0/1 -> 6/25: {\\"note\\":63,\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5416666666666667}",
@@ -2881,7 +2881,7 @@ exports[`renders shared tunes > shared tune 145 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 146 https://strudel.tidalcycles.org/?lqXKPxgm_j0a 1`] = `
+exports[`renders shared tunes > shared tune 146 https://strudel.cc/?lqXKPxgm_j0a 1`] = `
[
"-38/5 -> 2/5: db3",
"-38/5 -> 2/5: eb3",
@@ -2905,7 +2905,7 @@ exports[`renders shared tunes > shared tune 146 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 147 https://strudel.tidalcycles.org/?5obY2LrCcbZI 1`] = `
+exports[`renders shared tunes > shared tune 147 https://strudel.cc/?5obY2LrCcbZI 1`] = `
[
"1/3 -> 59/120: {\\"n\\":\\"c5\\",\\"s\\":\\"Oboe: Reed\\"}",
"1/2 -> 49/60: {\\"n\\":\\"d5\\",\\"s\\":\\"Oboe: Reed\\"}",
@@ -2919,7 +2919,7 @@ exports[`renders shared tunes > shared tune 147 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 148 https://strudel.tidalcycles.org/?8262D2qsUNtO 1`] = `
+exports[`renders shared tunes > shared tune 148 https://strudel.cc/?8262D2qsUNtO 1`] = `
[
"0/1 -> 1/4: {\\"n\\":\\"c3\\",\\"s\\":\\"Oboe: Reed\\",\\"gain\\":0.5,\\"cutoff\\":1275.5812898145155}",
"1/4 -> 1/2: {\\"n\\":\\"eb3\\",\\"s\\":\\"Oboe: Reed\\",\\"gain\\":0.5,\\"cutoff\\":1600.013209717642}",
@@ -2943,7 +2943,7 @@ exports[`renders shared tunes > shared tune 148 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 149 https://strudel.tidalcycles.org/?9PUNz9fqWo2F 1`] = `
+exports[`renders shared tunes > shared tune 149 https://strudel.cc/?9PUNz9fqWo2F 1`] = `
[
"15/41 -> 177/328: {\\"n\\":\\"c5\\",\\"s\\":\\"Oboe: Reed\\",\\"gain\\":0.4}",
"45/82 -> 147/164: {\\"n\\":\\"d5\\",\\"s\\":\\"Oboe: Reed\\",\\"gain\\":0.4}",
@@ -2963,7 +2963,7 @@ exports[`renders shared tunes > shared tune 149 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 150 https://strudel.tidalcycles.org/?wkDHhKIUtwY_ 1`] = `
+exports[`renders shared tunes > shared tune 150 https://strudel.cc/?wkDHhKIUtwY_ 1`] = `
[
"0/1 -> 65/12: {\\"n\\":\\"d#5\\",\\"s\\":\\"Piccolo: Pipe\\",\\"gain\\":0.35}",
"0/1 -> 65/12: {\\"n\\":56,\\"s\\":\\"Choir Aahs: Ensemble\\",\\"gain\\":0.15}",
@@ -2983,7 +2983,7 @@ exports[`renders shared tunes > shared tune 150 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 151 https://strudel.tidalcycles.org/?Zj9qfA1PhcDS 1`] = `
+exports[`renders shared tunes > shared tune 151 https://strudel.cc/?Zj9qfA1PhcDS 1`] = `
[
"0/1 -> 65/12: {\\"n\\":\\"d#5\\",\\"s\\":\\"Piccolo: Pipe\\",\\"gain\\":0.35}",
"0/1 -> 65/12: {\\"n\\":56,\\"s\\":\\"Choir Aahs: Ensemble\\",\\"gain\\":0.15}",
@@ -3003,7 +3003,7 @@ exports[`renders shared tunes > shared tune 151 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 152 https://strudel.tidalcycles.org/?p_G-4ZB295BP 1`] = `
+exports[`renders shared tunes > shared tune 152 https://strudel.cc/?p_G-4ZB295BP 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2206.5338497506646,\\"resonance\\":10,\\"clip\\":1}",
"3/8 -> 1/2: {\\"note\\":\\"A2\\",\\"s\\":\\"flbass\\",\\"n\\":0,\\"gain\\":0.3,\\"cutoff\\":2827.098521493671,\\"resonance\\":10,\\"clip\\":1}",
@@ -3046,7 +3046,7 @@ exports[`renders shared tunes > shared tune 152 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 153 https://strudel.tidalcycles.org/?NWLKF4C7o4EX 1`] = `
+exports[`renders shared tunes > shared tune 153 https://strudel.cc/?NWLKF4C7o4EX 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"G4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5601851851851851}",
"0/1 -> 1/2: {\\"note\\":\\"B4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5787037037037037}",
@@ -3061,7 +3061,7 @@ exports[`renders shared tunes > shared tune 153 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 154 https://strudel.tidalcycles.org/?XhNBCyuzIVOD 1`] = `
+exports[`renders shared tunes > shared tune 154 https://strudel.cc/?XhNBCyuzIVOD 1`] = `
[
"0/1 -> 1457/3000: {\\"n\\":\\"c#6\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.18}",
"47/90 -> 13771/18000: {\\"n\\":\\"f5\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.18}",
@@ -3084,7 +3084,7 @@ exports[`renders shared tunes > shared tune 154 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 155 https://strudel.tidalcycles.org/?AL73np8C7Fe7 1`] = `
+exports[`renders shared tunes > shared tune 155 https://strudel.cc/?AL73np8C7Fe7 1`] = `
[
"0/1 -> 589/1200: {\\"n\\":\\"C#5\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.2}",
"19/36 -> 5567/7200: {\\"n\\":\\"F4\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.2}",
@@ -3110,7 +3110,7 @@ exports[`renders shared tunes > shared tune 155 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 156 https://strudel.tidalcycles.org/?89gJxIK34OPK 1`] = `
+exports[`renders shared tunes > shared tune 156 https://strudel.cc/?89gJxIK34OPK 1`] = `
[
"0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"3/4 -> 3/2: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -3167,7 +3167,7 @@ exports[`renders shared tunes > shared tune 156 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 157 https://strudel.tidalcycles.org/?8g4oMFkLYMXZ 1`] = `
+exports[`renders shared tunes > shared tune 157 https://strudel.cc/?8g4oMFkLYMXZ 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -3186,7 +3186,7 @@ exports[`renders shared tunes > shared tune 157 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 158 https://strudel.tidalcycles.org/?NIQF-VGYdB83 1`] = `
+exports[`renders shared tunes > shared tune 158 https://strudel.cc/?NIQF-VGYdB83 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -3202,7 +3202,7 @@ exports[`renders shared tunes > shared tune 158 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 159 https://strudel.tidalcycles.org/?KOAtvzaJcmmY 1`] = `
+exports[`renders shared tunes > shared tune 159 https://strudel.cc/?KOAtvzaJcmmY 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"C2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41666666666666663}",
"0/1 -> 1/4: {\\"note\\":\\"C2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41666666666666663}",
@@ -3479,7 +3479,7 @@ exports[`renders shared tunes > shared tune 159 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 160 https://strudel.tidalcycles.org/?pK517-FAktOc 1`] = `
+exports[`renders shared tunes > shared tune 160 https://strudel.cc/?pK517-FAktOc 1`] = `
[
"0/1 -> 4/3: B4",
"0/1 -> 1/3: C3",
@@ -3488,7 +3488,7 @@ exports[`renders shared tunes > shared tune 160 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 161 https://strudel.tidalcycles.org/?H3BbA0AovtKs 1`] = `
+exports[`renders shared tunes > shared tune 161 https://strudel.cc/?H3BbA0AovtKs 1`] = `
[
"0/1 -> 5/26: {\\"note\\":\\"B2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.46759259259259256}",
"5/13 -> 15/26: {\\"note\\":\\"B2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.46759259259259256}",
@@ -3516,7 +3516,7 @@ exports[`renders shared tunes > shared tune 161 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 162 https://strudel.tidalcycles.org/?Y9RZADkxt8UL 1`] = `
+exports[`renders shared tunes > shared tune 162 https://strudel.cc/?Y9RZADkxt8UL 1`] = `
[
"0/1 -> 65/12: {\\"n\\":\\"d#5\\",\\"s\\":\\"Piccolo: Pipe\\",\\"gain\\":0.35}",
"0/1 -> 65/12: {\\"n\\":56,\\"s\\":\\"Choir Aahs: Ensemble\\",\\"gain\\":0.15}",
@@ -3536,7 +3536,7 @@ exports[`renders shared tunes > shared tune 162 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 163 https://strudel.tidalcycles.org/?bxwipc2kqreB 1`] = `
+exports[`renders shared tunes > shared tune 163 https://strudel.cc/?bxwipc2kqreB 1`] = `
[
"1/2 -> 1/1: a4",
"3/4 -> 1/1: a1",
@@ -3546,7 +3546,7 @@ exports[`renders shared tunes > shared tune 163 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 164 https://strudel.tidalcycles.org/?qGimkQi_nszY 1`] = `
+exports[`renders shared tunes > shared tune 164 https://strudel.cc/?qGimkQi_nszY 1`] = `
[
"47/60 -> 6157/6000: {\\"n\\":\\"c#5\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.18}",
"47/90 -> 13771/18000: {\\"n\\":\\"d#5\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.18}",
@@ -3570,7 +3570,7 @@ exports[`renders shared tunes > shared tune 164 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 165 https://strudel.tidalcycles.org/?DVESSaRggtn_ 1`] = `
+exports[`renders shared tunes > shared tune 165 https://strudel.cc/?DVESSaRggtn_ 1`] = `
[
"0/1 -> 6275565/1452119: A3",
"-9/8 -> 20400609/11616952: G4",
@@ -3581,7 +3581,7 @@ exports[`renders shared tunes > shared tune 165 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 166 https://strudel.tidalcycles.org/?CHh9ZGJxiWnm 1`] = `
+exports[`renders shared tunes > shared tune 166 https://strudel.cc/?CHh9ZGJxiWnm 1`] = `
[
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"sawtooth\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
"1/8 -> 1/4: {\\"n\\":\\"D1\\",\\"s\\":\\"square\\",\\"gain\\":0.3,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.5,\\"cutoff\\":1699.6897509708342}",
@@ -3651,7 +3651,7 @@ exports[`renders shared tunes > shared tune 166 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 167 https://strudel.tidalcycles.org/?7C7fQJ7ENNd3 1`] = `
+exports[`renders shared tunes > shared tune 167 https://strudel.cc/?7C7fQJ7ENNd3 1`] = `
[
"0/1 -> 1/4: {\\"s\\":\\"hh\\"}",
"1/4 -> 1/2: {\\"s\\":\\"hh\\"}",
@@ -3660,7 +3660,7 @@ exports[`renders shared tunes > shared tune 167 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 168 https://strudel.tidalcycles.org/?VGsjmHzmkMz0 1`] = `
+exports[`renders shared tunes > shared tune 168 https://strudel.cc/?VGsjmHzmkMz0 1`] = `
[
"1/4 -> 1/2: {\\"s\\":\\"bd\\"}",
"0/1 -> 1/4: {\\"s\\":\\"hh\\"}",
@@ -3669,7 +3669,7 @@ exports[`renders shared tunes > shared tune 168 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 169 https://strudel.tidalcycles.org/?4QSBDxgdgAIr 1`] = `
+exports[`renders shared tunes > shared tune 169 https://strudel.cc/?4QSBDxgdgAIr 1`] = `
[
"1/4 -> 1/2: {\\"s\\":\\"bd\\"}",
"0/1 -> 1/12: {\\"s\\":\\"hh\\"}",
@@ -3684,7 +3684,7 @@ exports[`renders shared tunes > shared tune 169 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 170 https://strudel.tidalcycles.org/?_1ClWbH9kSKC 1`] = `
+exports[`renders shared tunes > shared tune 170 https://strudel.cc/?_1ClWbH9kSKC 1`] = `
[
"0/1 -> 2/9: {\\"s\\":\\"hh\\"}",
"2/9 -> 4/9: {\\"s\\":\\"hh\\"}",
@@ -3695,7 +3695,7 @@ exports[`renders shared tunes > shared tune 170 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 171 https://strudel.tidalcycles.org/?nmwsMPG16O1L 1`] = `
+exports[`renders shared tunes > shared tune 171 https://strudel.cc/?nmwsMPG16O1L 1`] = `
[
"0/1 -> 1/4: 83.8125",
"3/4 -> 1/1: 82.6875",
@@ -3707,7 +3707,7 @@ exports[`renders shared tunes > shared tune 171 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 172 https://strudel.tidalcycles.org/?DBp75NUfSxIn 1`] = `
+exports[`renders shared tunes > shared tune 172 https://strudel.cc/?DBp75NUfSxIn 1`] = `
[
"0/1 -> 1/4: {\\"note\\":57}",
"0/1 -> 1/4: {\\"note\\":61}",
@@ -3724,7 +3724,7 @@ exports[`renders shared tunes > shared tune 172 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 173 https://strudel.tidalcycles.org/?bdsxEcjr7fkg 1`] = `
+exports[`renders shared tunes > shared tune 173 https://strudel.cc/?bdsxEcjr7fkg 1`] = `
[
"0/1 -> 1/1: {\\"n\\":\\"a1\\",\\"decay\\":0.25,\\"sustain\\":0,\\"s\\":\\"sawtooth\\",\\"gain\\":0.4,\\"vowel\\":\\"a\\"}",
"-3/8 -> 1/8: {\\"n\\":52,\\"decay\\":0.25,\\"sustain\\":0,\\"s\\":\\"sawtooth\\",\\"gain\\":0.4,\\"vowel\\":\\"a\\"}",
@@ -3733,7 +3733,7 @@ exports[`renders shared tunes > shared tune 173 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 174 https://strudel.tidalcycles.org/?IuUGlGkdiPX- 1`] = `
+exports[`renders shared tunes > shared tune 174 https://strudel.cc/?IuUGlGkdiPX- 1`] = `
[
"1/4 -> 1/2: {\\"s\\":\\"hh\\",\\"coarse\\":16,\\"speed\\":0.7285963821098448}",
"3/4 -> 1/1: {\\"s\\":\\"hh\\",\\"coarse\\":16,\\"shape\\":0.8,\\"speed\\":0.80224046928206}",
@@ -3746,7 +3746,7 @@ exports[`renders shared tunes > shared tune 174 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 175 https://strudel.tidalcycles.org/?1QH3HPhZ1uad 1`] = `
+exports[`renders shared tunes > shared tune 175 https://strudel.cc/?1QH3HPhZ1uad 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -3762,7 +3762,7 @@ exports[`renders shared tunes > shared tune 175 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 176 https://strudel.tidalcycles.org/?hxJZG7SS71HP 1`] = `
+exports[`renders shared tunes > shared tune 176 https://strudel.cc/?hxJZG7SS71HP 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"F3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.49537037037037035}",
"1/4 -> 3/4: {\\"note\\":\\"F2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4398148148148148}",
@@ -3773,7 +3773,7 @@ exports[`renders shared tunes > shared tune 176 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 177 https://strudel.tidalcycles.org/?EoVX7HjwHB8r 1`] = `
+exports[`renders shared tunes > shared tune 177 https://strudel.cc/?EoVX7HjwHB8r 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -3797,7 +3797,7 @@ exports[`renders shared tunes > shared tune 177 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 178 https://strudel.tidalcycles.org/?tVIePZOlbUFE 1`] = `
+exports[`renders shared tunes > shared tune 178 https://strudel.cc/?tVIePZOlbUFE 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"C2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41666666666666663}",
"0/1 -> 1/4: {\\"note\\":\\"C2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.41666666666666663}",
@@ -4074,7 +4074,7 @@ exports[`renders shared tunes > shared tune 178 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 179 https://strudel.tidalcycles.org/?P_Fi2yRHrXHj 1`] = `
+exports[`renders shared tunes > shared tune 179 https://strudel.cc/?P_Fi2yRHrXHj 1`] = `
[
"0/1 -> 1/8: {\\"freq\\":55.33,\\"s\\":\\"sawtooth\\"}",
"0/1 -> 1/8: {\\"freq\\":54.725,\\"s\\":\\"sawtooth\\"}",
@@ -4102,7 +4102,7 @@ exports[`renders shared tunes > shared tune 179 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 180 https://strudel.tidalcycles.org/?brh8FpBbbH-- 1`] = `
+exports[`renders shared tunes > shared tune 180 https://strudel.cc/?brh8FpBbbH-- 1`] = `
[
"0/1 -> 1/1: {\\"s\\":\\"bd\\"}",
"1/2 -> 1/1: {\\"s\\":\\"sd\\"}",
@@ -4115,7 +4115,7 @@ exports[`renders shared tunes > shared tune 180 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 181 https://strudel.tidalcycles.org/?Uw7K4l1pIVUt 1`] = `
+exports[`renders shared tunes > shared tune 181 https://strudel.cc/?Uw7K4l1pIVUt 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -4133,7 +4133,7 @@ exports[`renders shared tunes > shared tune 181 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 182 https://strudel.tidalcycles.org/?dhBbMccpPgg8 1`] = `
+exports[`renders shared tunes > shared tune 182 https://strudel.cc/?dhBbMccpPgg8 1`] = `
[
"0/1 -> 1/2: A3",
"1/2 -> 3/4: D4",
@@ -4144,7 +4144,7 @@ exports[`renders shared tunes > shared tune 182 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 183 https://strudel.tidalcycles.org/?U5sIL_DhqTip 1`] = `
+exports[`renders shared tunes > shared tune 183 https://strudel.cc/?U5sIL_DhqTip 1`] = `
[
"-1666666666666667/7500000000000000 -> 2/9: G3",
"0/1 -> 4/3: E3",
@@ -4167,7 +4167,7 @@ exports[`renders shared tunes > shared tune 183 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 184 https://strudel.tidalcycles.org/?irMD_KH0ICbf 1`] = `
+exports[`renders shared tunes > shared tune 184 https://strudel.cc/?irMD_KH0ICbf 1`] = `
[
"0/1 -> 27/40: {\\"note\\":\\"Db4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5324074074074074}",
"0/1 -> 27/40: {\\"note\\":\\"Ab4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5648148148148149}",
@@ -4208,13 +4208,13 @@ exports[`renders shared tunes > shared tune 184 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 185 https://strudel.tidalcycles.org/?A6Mqjuhn1Wpr 1`] = `[]`;
+exports[`renders shared tunes > shared tune 185 https://strudel.cc/?A6Mqjuhn1Wpr 1`] = `[]`;
-exports[`renders shared tunes > shared tune 186 https://strudel.tidalcycles.org/?2-JbRPIoRj7X 1`] = `[]`;
+exports[`renders shared tunes > shared tune 186 https://strudel.cc/?2-JbRPIoRj7X 1`] = `[]`;
-exports[`renders shared tunes > shared tune 187 https://strudel.tidalcycles.org/?wVDgPVVgbrSK 1`] = `[]`;
+exports[`renders shared tunes > shared tune 187 https://strudel.cc/?wVDgPVVgbrSK 1`] = `[]`;
-exports[`renders shared tunes > shared tune 188 https://strudel.tidalcycles.org/?z0OoCML7DPQb 1`] = `
+exports[`renders shared tunes > shared tune 188 https://strudel.cc/?z0OoCML7DPQb 1`] = `
[
"0/1 -> 1/1: bd",
"0/1 -> 1/4: hh",
@@ -4225,7 +4225,7 @@ exports[`renders shared tunes > shared tune 188 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 189 https://strudel.tidalcycles.org/?SWekIFXDlrLE 1`] = `
+exports[`renders shared tunes > shared tune 189 https://strudel.cc/?SWekIFXDlrLE 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"e4\\"}",
"1/4 -> 1/2: {\\"note\\":\\"c4\\"}",
@@ -4244,20 +4244,20 @@ exports[`renders shared tunes > shared tune 189 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 190 https://strudel.tidalcycles.org/?70M98P_ZVSJe 1`] = `
+exports[`renders shared tunes > shared tune 190 https://strudel.cc/?70M98P_ZVSJe 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"hh\\",\\"begin\\":0,\\"end\\":0.25}",
"1/2 -> 1/1: {\\"s\\":\\"hh\\",\\"begin\\":0.25,\\"end\\":0.5}",
]
`;
-exports[`renders shared tunes > shared tune 191 https://strudel.tidalcycles.org/?SB-hFm0uROHV 1`] = `
+exports[`renders shared tunes > shared tune 191 https://strudel.cc/?SB-hFm0uROHV 1`] = `
[
"0/1 -> 1/1: {\\"s\\":\\"hh\\"}",
]
`;
-exports[`renders shared tunes > shared tune 192 https://strudel.tidalcycles.org/?t2KXoS_qssjD 1`] = `
+exports[`renders shared tunes > shared tune 192 https://strudel.cc/?t2KXoS_qssjD 1`] = `
[
"0/1 -> 1/4: {\\"s\\":\\"p\\",\\"begin\\":0,\\"end\\":0.0078125,\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"pan\\":0,\\"shape\\":0.5}",
"1/4 -> 1/2: {\\"s\\":\\"p\\",\\"begin\\":0.0078125,\\"end\\":0.015625,\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"pan\\":0,\\"shape\\":0.5}",
@@ -4270,7 +4270,7 @@ exports[`renders shared tunes > shared tune 192 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 193 https://strudel.tidalcycles.org/?k0435I3IQEH4 1`] = `
+exports[`renders shared tunes > shared tune 193 https://strudel.cc/?k0435I3IQEH4 1`] = `
[
"0/1 -> 3/4: F3",
"3/4 -> 9/8: Ab3",
@@ -4290,7 +4290,7 @@ exports[`renders shared tunes > shared tune 193 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 194 https://strudel.tidalcycles.org/?vDsUyH8IUJn6 1`] = `
+exports[`renders shared tunes > shared tune 194 https://strudel.cc/?vDsUyH8IUJn6 1`] = `
[
"0/1 -> 6/1: F3",
"0/1 -> 6/1: Ab3",
@@ -4299,7 +4299,7 @@ exports[`renders shared tunes > shared tune 194 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 195 https://strudel.tidalcycles.org/?YJ2iESN49BD6 1`] = `
+exports[`renders shared tunes > shared tune 195 https://strudel.cc/?YJ2iESN49BD6 1`] = `
[
"0/1 -> 3/16: {\\"s\\":\\"bd\\",\\"gain\\":0.7}",
"3/16 -> 3/8: {\\"s\\":\\"bd\\",\\"gain\\":0.7}",
@@ -4331,7 +4331,7 @@ exports[`renders shared tunes > shared tune 195 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 196 https://strudel.tidalcycles.org/?Z6fHLg-51AUc 1`] = `
+exports[`renders shared tunes > shared tune 196 https://strudel.cc/?Z6fHLg-51AUc 1`] = `
[
"0/1 -> 1/4: C3",
"0/1 -> 1/4: G3",
@@ -4347,7 +4347,7 @@ exports[`renders shared tunes > shared tune 196 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 197 https://strudel.tidalcycles.org/?GW0d4wRtDmED 1`] = `
+exports[`renders shared tunes > shared tune 197 https://strudel.cc/?GW0d4wRtDmED 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -4359,7 +4359,7 @@ exports[`renders shared tunes > shared tune 197 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 198 https://strudel.tidalcycles.org/?iliL_rgeboIg 1`] = `
+exports[`renders shared tunes > shared tune 198 https://strudel.cc/?iliL_rgeboIg 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -4377,7 +4377,7 @@ exports[`renders shared tunes > shared tune 198 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 199 https://strudel.tidalcycles.org/?IVv5q7W4BDiN 1`] = `
+exports[`renders shared tunes > shared tune 199 https://strudel.cc/?IVv5q7W4BDiN 1`] = `
[
"0/1 -> 1/32: {\\"note\\":48.07362922971432,\\"attack\\":0,\\"release\\":0,\\"s\\":\\"triangle\\"}",
"1/32 -> 1/16: {\\"note\\":48.220843337648155,\\"attack\\":0,\\"release\\":0,\\"s\\":\\"triangle\\"}",
@@ -4414,7 +4414,7 @@ exports[`renders shared tunes > shared tune 199 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 200 https://strudel.tidalcycles.org/?N6kOKngern0Y 1`] = `
+exports[`renders shared tunes > shared tune 200 https://strudel.cc/?N6kOKngern0Y 1`] = `
[
"0/1 -> 1/32: {\\"note\\":56.147247371137475,\\"attack\\":0,\\"release\\":0,\\"s\\":\\"triangle\\"}",
"1/32 -> 1/16: {\\"note\\":56.441387381598005,\\"attack\\":0,\\"release\\":0,\\"s\\":\\"triangle\\"}",
@@ -4451,7 +4451,7 @@ exports[`renders shared tunes > shared tune 200 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 201 https://strudel.tidalcycles.org/?wIjKrvTVPfgZ 1`] = `
+exports[`renders shared tunes > shared tune 201 https://strudel.cc/?wIjKrvTVPfgZ 1`] = `
[
"0/1 -> 1/16: {\\"note\\":47.370882377028465,\\"attack\\":0,\\"release\\":0,\\"s\\":\\"triangle\\"}",
"1/16 -> 1/8: {\\"note\\":47.10302542895079,\\"attack\\":0,\\"release\\":0,\\"s\\":\\"triangle\\"}",
@@ -4472,7 +4472,7 @@ exports[`renders shared tunes > shared tune 201 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 202 https://strudel.tidalcycles.org/?iqZ-ex573FFd 1`] = `
+exports[`renders shared tunes > shared tune 202 https://strudel.cc/?iqZ-ex573FFd 1`] = `
[
"0/1 -> 4/25: 52",
"4/25 -> 8/25: 57",
@@ -4484,7 +4484,7 @@ exports[`renders shared tunes > shared tune 202 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 203 https://strudel.tidalcycles.org/?0nlMXAIzgsdw 1`] = `
+exports[`renders shared tunes > shared tune 203 https://strudel.cc/?0nlMXAIzgsdw 1`] = `
[
"4/5 -> 16/15: {\\"note\\":\\"a6\\",\\"s\\":\\"piano\\"}",
"0/1 -> 4/5: {\\"note\\":\\"ab5\\",\\"s\\":\\"piano\\"}",
@@ -4495,7 +4495,7 @@ exports[`renders shared tunes > shared tune 203 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 204 https://strudel.tidalcycles.org/?-4PvWekokc4W 1`] = `
+exports[`renders shared tunes > shared tune 204 https://strudel.cc/?-4PvWekokc4W 1`] = `
[
"0/1 -> 1/8: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0,\\"end\\":0.0078125,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.4}",
"1/8 -> 1/4: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0,\\"end\\":0.0078125,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.4}",
@@ -4516,14 +4516,14 @@ exports[`renders shared tunes > shared tune 204 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 205 https://strudel.tidalcycles.org/?norqcTA-uOs0 1`] = `
+exports[`renders shared tunes > shared tune 205 https://strudel.cc/?norqcTA-uOs0 1`] = `
[
"0/1 -> 44/75: {\\"note\\":78,\\"s\\":\\"piano\\"}",
"44/75 -> 88/75: {\\"note\\":71,\\"s\\":\\"piano\\"}",
]
`;
-exports[`renders shared tunes > shared tune 206 https://strudel.tidalcycles.org/?WrN_Cv-hQMo0 1`] = `
+exports[`renders shared tunes > shared tune 206 https://strudel.cc/?WrN_Cv-hQMo0 1`] = `
[
"0/1 -> 1/4: {\\"n\\":\\"c3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":0.9}",
"1/4 -> 1/2: {\\"n\\":\\"eb3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":0.9}",
@@ -4532,13 +4532,13 @@ exports[`renders shared tunes > shared tune 206 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 207 https://strudel.tidalcycles.org/?YFbUtVxvA82E 1`] = `
+exports[`renders shared tunes > shared tune 207 https://strudel.cc/?YFbUtVxvA82E 1`] = `
[
"0/1 -> 1/1: {\\"n\\":\\"[object Object][object Object]\\",\\"s\\":\\"sawtooth\\"}",
]
`;
-exports[`renders shared tunes > shared tune 208 https://strudel.tidalcycles.org/?SHdla152eDum 1`] = `
+exports[`renders shared tunes > shared tune 208 https://strudel.cc/?SHdla152eDum 1`] = `
[
"0/1 -> 3/13: {\\"n\\":\\"c3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.1,\\"sustain\\":0.4,\\"release\\":1}",
"3/13 -> 6/13: {\\"n\\":\\"eb3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.1,\\"sustain\\":0.4,\\"release\\":1}",
@@ -4548,7 +4548,7 @@ exports[`renders shared tunes > shared tune 208 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 209 https://strudel.tidalcycles.org/?Jk_4KtRME5zL 1`] = `
+exports[`renders shared tunes > shared tune 209 https://strudel.cc/?Jk_4KtRME5zL 1`] = `
[
"0/1 -> 1/10: {\\"n\\":\\"c3\\",\\"s\\":\\"sawtooth\\"}",
"1/10 -> 1/5: {\\"n\\":\\"eb3\\",\\"s\\":\\"sawtooth\\"}",
@@ -4563,7 +4563,7 @@ exports[`renders shared tunes > shared tune 209 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 210 https://strudel.tidalcycles.org/?xHaKTd1kTpCn 1`] = `
+exports[`renders shared tunes > shared tune 210 https://strudel.cc/?xHaKTd1kTpCn 1`] = `
[
"-1/8 -> 1/1: {\\"s\\":\\"bd\\",\\"note\\":44,\\"n\\":0,\\"cut\\":1,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":2,\\"pan\\":0.5,\\"value\\":4}",
"-1/8 -> 1/1: {\\"s\\":\\"bd\\",\\"note\\":44,\\"n\\":0,\\"cut\\":1,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":2,\\"pan\\":1,\\"value\\":4}",
@@ -4685,7 +4685,7 @@ exports[`renders shared tunes > shared tune 210 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 211 https://strudel.tidalcycles.org/?o5LLePbx8kiQ 1`] = `
+exports[`renders shared tunes > shared tune 211 https://strudel.cc/?o5LLePbx8kiQ 1`] = `
[
"-1/8 -> 1/1: {\\"s\\":\\"bd\\",\\"note\\":44,\\"n\\":0,\\"cut\\":1,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":2,\\"pan\\":0.5,\\"value\\":4}",
"-1/8 -> 1/1: {\\"s\\":\\"bd\\",\\"note\\":44,\\"n\\":0,\\"cut\\":1,\\"attack\\":0.01,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":2,\\"pan\\":1,\\"value\\":4}",
@@ -4814,7 +4814,7 @@ exports[`renders shared tunes > shared tune 211 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 212 https://strudel.tidalcycles.org/?QJdSFHrNzFlO 1`] = `
+exports[`renders shared tunes > shared tune 212 https://strudel.cc/?QJdSFHrNzFlO 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6}",
"1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6}",
@@ -4823,7 +4823,7 @@ exports[`renders shared tunes > shared tune 212 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 213 https://strudel.tidalcycles.org/?Nkv2L01eF62W 1`] = `
+exports[`renders shared tunes > shared tune 213 https://strudel.cc/?Nkv2L01eF62W 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6,\\"speed\\":-1}",
"1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6,\\"speed\\":-1}",
@@ -4832,14 +4832,14 @@ exports[`renders shared tunes > shared tune 213 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 214 https://strudel.tidalcycles.org/?fWCYi76JTGuA 1`] = `
+exports[`renders shared tunes > shared tune 214 https://strudel.cc/?fWCYi76JTGuA 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0,\\"delaytime\\":0.16,\\"delayfeedback\\":0.6,\\"speed\\":-1}",
"1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0,\\"delaytime\\":0.16,\\"delayfeedback\\":0.6,\\"speed\\":-1}",
]
`;
-exports[`renders shared tunes > shared tune 215 https://strudel.tidalcycles.org/?yJ-qOjgrjkMk 1`] = `
+exports[`renders shared tunes > shared tune 215 https://strudel.cc/?yJ-qOjgrjkMk 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -4851,7 +4851,7 @@ exports[`renders shared tunes > shared tune 215 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 216 https://strudel.tidalcycles.org/?UPVdAQhVNgbc 1`] = `
+exports[`renders shared tunes > shared tune 216 https://strudel.cc/?UPVdAQhVNgbc 1`] = `
[
"0/1 -> 1/6: {\\"note\\":\\"g3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":4000,\\"crush\\":16}",
"1/6 -> 1/3: {\\"note\\":\\"g3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":4000,\\"crush\\":16}",
@@ -4874,7 +4874,7 @@ exports[`renders shared tunes > shared tune 216 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 217 https://strudel.tidalcycles.org/?WDuiXaMhRRx5 1`] = `
+exports[`renders shared tunes > shared tune 217 https://strudel.cc/?WDuiXaMhRRx5 1`] = `
[
"0/1 -> 8/5: {\\"note\\":85,\\"s\\":\\"piano\\",\\"cutoff\\":\\"500\\"}",
"0/1 -> 8/5: {\\"note\\":81,\\"s\\":\\"piano\\",\\"cutoff\\":\\"500\\"}",
@@ -4886,7 +4886,7 @@ exports[`renders shared tunes > shared tune 217 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 218 https://strudel.tidalcycles.org/?sOP6EO9TO4HO 1`] = `
+exports[`renders shared tunes > shared tune 218 https://strudel.cc/?sOP6EO9TO4HO 1`] = `
[
"0/1 -> 1/1: B3",
"0/1 -> 1/1: D4",
@@ -4896,7 +4896,7 @@ exports[`renders shared tunes > shared tune 218 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 219 https://strudel.tidalcycles.org/?ddiSv-lz2_cp 1`] = `
+exports[`renders shared tunes > shared tune 219 https://strudel.cc/?ddiSv-lz2_cp 1`] = `
[
"0/1 -> 1/6: {\\"note\\":53,\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.05,\\"sustain\\":0.2,\\"cutoff\\":507.8125,\\"gain\\":0.9166666666666666}",
"0/1 -> 1/6: {\\"note\\":57,\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.05,\\"sustain\\":0.2,\\"cutoff\\":507.8125,\\"gain\\":0.9166666666666666}",
@@ -4949,7 +4949,7 @@ exports[`renders shared tunes > shared tune 219 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 220 https://strudel.tidalcycles.org/?cpVS2-bO1LzP 1`] = `
+exports[`renders shared tunes > shared tune 220 https://strudel.cc/?cpVS2-bO1LzP 1`] = `
[
"0/1 -> 1/6: {\\"note\\":53,\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.05,\\"sustain\\":0.2,\\"cutoff\\":507.8125,\\"gain\\":0.9166666666666666}",
"0/1 -> 1/6: {\\"note\\":57,\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.05,\\"sustain\\":0.2,\\"cutoff\\":507.8125,\\"gain\\":0.9166666666666666}",
@@ -5002,7 +5002,7 @@ exports[`renders shared tunes > shared tune 220 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 221 https://strudel.tidalcycles.org/?IPOyuRRkZaNr 1`] = `
+exports[`renders shared tunes > shared tune 221 https://strudel.cc/?IPOyuRRkZaNr 1`] = `
[
"0/1 -> 3/20: 0",
"0/1 -> 3/20: 3",
@@ -5021,7 +5021,7 @@ exports[`renders shared tunes > shared tune 221 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 222 https://strudel.tidalcycles.org/?fGbP7VOtCWWU 1`] = `
+exports[`renders shared tunes > shared tune 222 https://strudel.cc/?fGbP7VOtCWWU 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"G4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5601851851851851}",
"0/1 -> 1/8: {\\"note\\":\\"B4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5787037037037037}",
@@ -5056,7 +5056,7 @@ exports[`renders shared tunes > shared tune 222 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 223 https://strudel.tidalcycles.org/?4YKibw76FrRb 1`] = `
+exports[`renders shared tunes > shared tune 223 https://strudel.cc/?4YKibw76FrRb 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"G3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5046296296296297}",
"0/1 -> 1/2: {\\"note\\":\\"B3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5231481481481481}",
@@ -5069,7 +5069,7 @@ exports[`renders shared tunes > shared tune 223 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 224 https://strudel.tidalcycles.org/?7UmR7rJMSvWq 1`] = `
+exports[`renders shared tunes > shared tune 224 https://strudel.cc/?7UmR7rJMSvWq 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"Bb3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5185185185185186}",
"0/1 -> 1/2: {\\"note\\":\\"D4\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.537037037037037}",
@@ -5079,7 +5079,7 @@ exports[`renders shared tunes > shared tune 224 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 225 https://strudel.tidalcycles.org/?N0a4wkk96WWE 1`] = `
+exports[`renders shared tunes > shared tune 225 https://strudel.cc/?N0a4wkk96WWE 1`] = `
[
"0/1 -> 8/19: {\\"note\\":\\"C5\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.5833333333333333}",
"8/19 -> 16/19: {\\"note\\":\\"f5\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.6064814814814814}",
@@ -5088,7 +5088,7 @@ exports[`renders shared tunes > shared tune 225 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 226 https://strudel.tidalcycles.org/?s8HiRvW_Rngj 1`] = `
+exports[`renders shared tunes > shared tune 226 https://strudel.cc/?s8HiRvW_Rngj 1`] = `
[
"0/1 -> 3053185/4904046: {\\"n\\":62,\\"s\\":\\"sawtooth\\",\\"cutoff\\":3986.9405734726183}",
"0/1 -> 3053185/4904046: {\\"n\\":62,\\"s\\":\\"square\\",\\"cutoff\\":3986.9405734726183}",
@@ -5120,7 +5120,7 @@ exports[`renders shared tunes > shared tune 226 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 227 https://strudel.tidalcycles.org/?Z1ywkDoR6Tca 1`] = `
+exports[`renders shared tunes > shared tune 227 https://strudel.cc/?Z1ywkDoR6Tca 1`] = `
[
"5833/7200 -> 19/18: {\\"n\\":\\"C#4\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.2}",
"437/800 -> 19/24: {\\"n\\":\\"D#4\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.2}",
@@ -5149,7 +5149,7 @@ exports[`renders shared tunes > shared tune 227 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 228 https://strudel.tidalcycles.org/?eXyJ5cvdMxIl 1`] = `
+exports[`renders shared tunes > shared tune 228 https://strudel.cc/?eXyJ5cvdMxIl 1`] = `
[
"0/1 -> 1/1: {\\"n\\":69,\\"s\\":\\"Church Organ: Organ\\",\\"gain\\":0.2}",
"0/1 -> 1/1: {\\"n\\":72,\\"s\\":\\"Church Organ: Organ\\",\\"gain\\":0.2}",
@@ -5165,7 +5165,7 @@ exports[`renders shared tunes > shared tune 228 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 229 https://strudel.tidalcycles.org/?YSgSSFCioxs0 1`] = `
+exports[`renders shared tunes > shared tune 229 https://strudel.cc/?YSgSSFCioxs0 1`] = `
[
"0/1 -> 1/1: {\\"n\\":69,\\"s\\":\\"Church Organ: Organ\\",\\"gain\\":0.2}",
"0/1 -> 1/1: {\\"n\\":72,\\"s\\":\\"Church Organ: Organ\\",\\"gain\\":0.2}",
@@ -5181,7 +5181,7 @@ exports[`renders shared tunes > shared tune 229 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 230 https://strudel.tidalcycles.org/?lAIAC1TOD3zB 1`] = `
+exports[`renders shared tunes > shared tune 230 https://strudel.cc/?lAIAC1TOD3zB 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -5193,7 +5193,7 @@ exports[`renders shared tunes > shared tune 230 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 231 https://strudel.tidalcycles.org/?LZ-aTB2xiaZ8 1`] = `
+exports[`renders shared tunes > shared tune 231 https://strudel.cc/?LZ-aTB2xiaZ8 1`] = `
[
"0/1 -> 3053185/4904046: {\\"n\\":62,\\"s\\":\\"sawtooth\\",\\"cutoff\\":3986.9405734726183}",
"0/1 -> 3053185/4904046: {\\"n\\":62,\\"s\\":\\"square\\",\\"cutoff\\":3986.9405734726183}",
@@ -5225,7 +5225,7 @@ exports[`renders shared tunes > shared tune 231 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 232 https://strudel.tidalcycles.org/?_zhepg-kT6fD 1`] = `
+exports[`renders shared tunes > shared tune 232 https://strudel.cc/?_zhepg-kT6fD 1`] = `
[
"0/1 -> 3/8: {\\"s\\":\\"bd\\",\\"gain\\":0.14}",
"3/8 -> 3/4: {\\"s\\":\\"bd\\",\\"gain\\":0.14}",
@@ -5256,7 +5256,7 @@ exports[`renders shared tunes > shared tune 232 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 234 https://strudel.tidalcycles.org/?1moEu58ZjMF4 1`] = `
+exports[`renders shared tunes > shared tune 234 https://strudel.cc/?1moEu58ZjMF4 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"c2\\",\\"s\\":\\"square\\",\\"attack\\":0.1,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":0.1}",
"1/2 -> 1/1: {\\"note\\":\\"eb2\\",\\"s\\":\\"square\\",\\"attack\\":0.1,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":0.1}",
@@ -5271,7 +5271,7 @@ exports[`renders shared tunes > shared tune 234 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 235 https://strudel.tidalcycles.org/?1W8nlZAFzi5T 1`] = `
+exports[`renders shared tunes > shared tune 235 https://strudel.cc/?1W8nlZAFzi5T 1`] = `
[
"0/1 -> 1/1: {\\"note\\":\\"c2\\",\\"s\\":\\"square\\",\\"attack\\":0.1,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":0.1}",
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"crush\\":16}",
@@ -5285,7 +5285,7 @@ exports[`renders shared tunes > shared tune 235 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 236 https://strudel.tidalcycles.org/?exwhYw9VYVQz 1`] = `
+exports[`renders shared tunes > shared tune 236 https://strudel.cc/?exwhYw9VYVQz 1`] = `
[
"0/1 -> 1/1: {\\"note\\":\\"c2\\",\\"s\\":\\"square\\",\\"attack\\":0.1,\\"decay\\":0.1,\\"sustain\\":0.2,\\"release\\":0.1}",
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"crush\\":16}",
@@ -5299,7 +5299,7 @@ exports[`renders shared tunes > shared tune 236 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 237 https://strudel.tidalcycles.org/?z4zPoaRLF6Vs 1`] = `
+exports[`renders shared tunes > shared tune 237 https://strudel.cc/?z4zPoaRLF6Vs 1`] = `
[
"0/1 -> 2/5: {\\"note\\":\\"c3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":500,\\"bandq\\":1}",
"2/5 -> 4/5: {\\"note\\":\\"c3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":500,\\"bandq\\":1}",
@@ -5308,7 +5308,7 @@ exports[`renders shared tunes > shared tune 237 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 238 https://strudel.tidalcycles.org/?VzJokumWaip_ 1`] = `
+exports[`renders shared tunes > shared tune 238 https://strudel.cc/?VzJokumWaip_ 1`] = `
[
"3/4 -> 1/1: {\\"s\\":\\"bd\\"}",
"1/2 -> 3/4: {\\"s\\":\\"bd\\"}",
@@ -5324,7 +5324,7 @@ exports[`renders shared tunes > shared tune 238 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 239 https://strudel.tidalcycles.org/?gb4pffOZyATk 1`] = `
+exports[`renders shared tunes > shared tune 239 https://strudel.cc/?gb4pffOZyATk 1`] = `
[
"4/5 -> 1/1: {\\"s\\":\\"bd\\",\\"cutoff\\":200,\\"resonance\\":30}",
"4/5 -> 1/1: {\\"s\\":\\"bd\\",\\"cutoff\\":100,\\"resonance\\":30}",
@@ -5351,7 +5351,7 @@ exports[`renders shared tunes > shared tune 239 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 240 https://strudel.tidalcycles.org/?C6vcsMx8UtjJ 1`] = `
+exports[`renders shared tunes > shared tune 240 https://strudel.cc/?C6vcsMx8UtjJ 1`] = `
[
"0/1 -> 1/8: C2",
"1/8 -> 1/4: D2",
@@ -5364,7 +5364,7 @@ exports[`renders shared tunes > shared tune 240 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 241 https://strudel.tidalcycles.org/?jyNjgy-bZ0X7 1`] = `
+exports[`renders shared tunes > shared tune 241 https://strudel.cc/?jyNjgy-bZ0X7 1`] = `
[
"0/1 -> 3/16: {\\"s\\":\\"bd\\",\\"gain\\":0.7}",
"3/16 -> 3/8: {\\"s\\":\\"bd\\",\\"gain\\":0.7}",
@@ -5396,7 +5396,7 @@ exports[`renders shared tunes > shared tune 241 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 242 https://strudel.tidalcycles.org/?MPVT_kG6Yni7 1`] = `
+exports[`renders shared tunes > shared tune 242 https://strudel.cc/?MPVT_kG6Yni7 1`] = `
[
"0/1 -> 2/1: {\\"note\\":\\"c1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":500,\\"bandq\\":1,\\"gain\\":3}",
"1/3 -> 1/1: {\\"s\\":\\"bd\\"}",
@@ -5404,7 +5404,7 @@ exports[`renders shared tunes > shared tune 242 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 243 https://strudel.tidalcycles.org/?Ul_u7MyAGKXb 1`] = `
+exports[`renders shared tunes > shared tune 243 https://strudel.cc/?Ul_u7MyAGKXb 1`] = `
[
"0/1 -> 1/40: {\\"n\\":62,\\"s\\":\\"sawtooth\\",\\"cutoff\\":2000}",
"1/4 -> 21/80: {\\"n\\":51,\\"s\\":\\"sawtooth\\",\\"cutoff\\":2000}",
@@ -5429,7 +5429,7 @@ exports[`renders shared tunes > shared tune 243 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 244 https://strudel.tidalcycles.org/?6geTqvPlUvv4 1`] = `
+exports[`renders shared tunes > shared tune 244 https://strudel.cc/?6geTqvPlUvv4 1`] = `
[
"0/1 -> 3/80: {\\"n\\":62,\\"s\\":\\"sine\\",\\"cutoff\\":1500}",
"1/4 -> 43/160: {\\"n\\":51,\\"s\\":\\"sine\\",\\"cutoff\\":1500}",
@@ -5454,7 +5454,7 @@ exports[`renders shared tunes > shared tune 244 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 245 https://strudel.tidalcycles.org/?5-NpsIAJqGJX 1`] = `
+exports[`renders shared tunes > shared tune 245 https://strudel.cc/?5-NpsIAJqGJX 1`] = `
[
"0/1 -> 3/20: 0",
"0/1 -> 3/20: 3",
@@ -5473,7 +5473,7 @@ exports[`renders shared tunes > shared tune 245 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 248 https://strudel.tidalcycles.org/?FavmsfMCEJh9 1`] = `
+exports[`renders shared tunes > shared tune 248 https://strudel.cc/?FavmsfMCEJh9 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"C3\\"}",
"1/4 -> 1/2: {\\"note\\":\\"Eb3\\"}",
@@ -5486,7 +5486,7 @@ exports[`renders shared tunes > shared tune 248 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 249 https://strudel.tidalcycles.org/?KEJD5r4Q7zZo 1`] = `
+exports[`renders shared tunes > shared tune 249 https://strudel.cc/?KEJD5r4Q7zZo 1`] = `
[
"0/1 -> 3/4: F4",
"0/1 -> 3/4: Bb4",
@@ -5499,7 +5499,7 @@ exports[`renders shared tunes > shared tune 249 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 250 https://strudel.tidalcycles.org/?JzQ_9QyLrKhy 1`] = `
+exports[`renders shared tunes > shared tune 250 https://strudel.cc/?JzQ_9QyLrKhy 1`] = `
[
"0/1 -> 1/3: bd",
"1/3 -> 2/3: hh",
@@ -5517,7 +5517,7 @@ exports[`renders shared tunes > shared tune 250 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 251 https://strudel.tidalcycles.org/?H9-8RjyncjzI 1`] = `
+exports[`renders shared tunes > shared tune 251 https://strudel.cc/?H9-8RjyncjzI 1`] = `
[
"0/1 -> 1/1: B3",
"0/1 -> 1/1: D4",
@@ -5527,7 +5527,7 @@ exports[`renders shared tunes > shared tune 251 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 252 https://strudel.tidalcycles.org/?CG9iByv5zHY- 1`] = `
+exports[`renders shared tunes > shared tune 252 https://strudel.cc/?CG9iByv5zHY- 1`] = `
[
"0/1 -> 1/3: 48",
"1/3 -> 2/3: 51",
@@ -5535,7 +5535,7 @@ exports[`renders shared tunes > shared tune 252 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 253 https://strudel.tidalcycles.org/?FgUTcaG_XKGK 1`] = `
+exports[`renders shared tunes > shared tune 253 https://strudel.cc/?FgUTcaG_XKGK 1`] = `
[
"0/1 -> 1/4: 48",
"1/4 -> 1/2: 51",
@@ -5544,7 +5544,7 @@ exports[`renders shared tunes > shared tune 253 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 254 https://strudel.tidalcycles.org/?CmY3ebvIfYEG 1`] = `
+exports[`renders shared tunes > shared tune 254 https://strudel.cc/?CmY3ebvIfYEG 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -5563,7 +5563,7 @@ exports[`renders shared tunes > shared tune 254 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 255 https://strudel.tidalcycles.org/?yNx4koGpPrSH 1`] = `
+exports[`renders shared tunes > shared tune 255 https://strudel.cc/?yNx4koGpPrSH 1`] = `
[
"0/1 -> 6275565/1452119: A3",
"-9/8 -> 20400609/11616952: G4",
@@ -5574,7 +5574,7 @@ exports[`renders shared tunes > shared tune 255 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 256 https://strudel.tidalcycles.org/?oBtcxYrbZlNG 1`] = `
+exports[`renders shared tunes > shared tune 256 https://strudel.cc/?oBtcxYrbZlNG 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"D3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4814814814814815}",
"1/4 -> 3/4: {\\"note\\":\\"F3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.49537037037037035}",
@@ -5609,7 +5609,7 @@ exports[`renders shared tunes > shared tune 256 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 257 https://strudel.tidalcycles.org/?eCz4nyUk3TnN 1`] = `
+exports[`renders shared tunes > shared tune 257 https://strudel.cc/?eCz4nyUk3TnN 1`] = `
[
"0/1 -> 3/1: {\\"n\\":\\"B3\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}",
"0/1 -> 3/1: {\\"n\\":\\"D4\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}",
@@ -5624,7 +5624,7 @@ exports[`renders shared tunes > shared tune 257 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 259 https://strudel.tidalcycles.org/?J3FcQgOeZ3cV 1`] = `
+exports[`renders shared tunes > shared tune 259 https://strudel.cc/?J3FcQgOeZ3cV 1`] = `
[
"0/1 -> 5/26: {\\"note\\":\\"B2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.46759259259259256}",
"5/13 -> 15/26: {\\"note\\":\\"B2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.46759259259259256}",
@@ -5652,7 +5652,7 @@ exports[`renders shared tunes > shared tune 259 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 260 https://strudel.tidalcycles.org/?tTlyA1JzHklU 1`] = `
+exports[`renders shared tunes > shared tune 260 https://strudel.cc/?tTlyA1JzHklU 1`] = `
[
"0/1 -> 4/3: B4",
"0/1 -> 1/3: C3",
@@ -5661,7 +5661,7 @@ exports[`renders shared tunes > shared tune 260 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 261 https://strudel.tidalcycles.org/?hIhmX2R9gtwL 1`] = `
+exports[`renders shared tunes > shared tune 261 https://strudel.cc/?hIhmX2R9gtwL 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"c2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"release\\":0.3,\\"vowel\\":\\"a\\"}",
"1/2 -> 5/8: {\\"note\\":\\"c2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"release\\":0.3,\\"vowel\\":\\"o\\"}",
@@ -5686,7 +5686,7 @@ exports[`renders shared tunes > shared tune 261 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 262 https://strudel.tidalcycles.org/?NIL21RJTmuAa 1`] = `
+exports[`renders shared tunes > shared tune 262 https://strudel.cc/?NIL21RJTmuAa 1`] = `
[
"0/1 -> 1/2: Bb2",
"0/1 -> 1/2: F3",
@@ -5710,7 +5710,7 @@ exports[`renders shared tunes > shared tune 262 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 263 https://strudel.tidalcycles.org/?CGh4oLKu9tOp 1`] = `
+exports[`renders shared tunes > shared tune 263 https://strudel.cc/?CGh4oLKu9tOp 1`] = `
[
"0/1 -> 4/3: B4",
"0/1 -> 1/3: C3",
@@ -5719,7 +5719,7 @@ exports[`renders shared tunes > shared tune 263 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 264 https://strudel.tidalcycles.org/?N486QfFJ2NvV 1`] = `
+exports[`renders shared tunes > shared tune 264 https://strudel.cc/?N486QfFJ2NvV 1`] = `
[
"0/1 -> 1/8: {\\"freq\\":55.33,\\"s\\":\\"sawtooth\\"}",
"0/1 -> 1/8: {\\"freq\\":54.725,\\"s\\":\\"sawtooth\\"}",
@@ -5747,7 +5747,7 @@ exports[`renders shared tunes > shared tune 264 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 265 https://strudel.tidalcycles.org/?Njas64Vf03LO 1`] = `
+exports[`renders shared tunes > shared tune 265 https://strudel.cc/?Njas64Vf03LO 1`] = `
[
"0/1 -> 5/11: {\\"note\\":\\"c2\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":1.1882154262966047,\\"delay\\":0.1}",
"5/11 -> 15/11: {\\"note\\":\\"eb2\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":1.361256209529016,\\"delay\\":0.1}",
@@ -5770,7 +5770,7 @@ exports[`renders shared tunes > shared tune 265 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 266 https://strudel.tidalcycles.org/?-qcqwVsJXv8J 1`] = `
+exports[`renders shared tunes > shared tune 266 https://strudel.cc/?-qcqwVsJXv8J 1`] = `
[
"0/1 -> 1/1: bd",
"0/1 -> 1/4: hh",
@@ -5781,7 +5781,7 @@ exports[`renders shared tunes > shared tune 266 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 267 https://strudel.tidalcycles.org/?Q2WQMrJVFb46 1`] = `
+exports[`renders shared tunes > shared tune 267 https://strudel.cc/?Q2WQMrJVFb46 1`] = `
[
"0/1 -> 5/11: {\\"note\\":\\"c2\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":0.2000348432426738,\\"delay\\":0.1}",
"5/11 -> 15/11: {\\"note\\":\\"eb2\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":0.20089674623394735,\\"delay\\":0.1}",
@@ -5805,7 +5805,7 @@ exports[`renders shared tunes > shared tune 267 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 268 https://strudel.tidalcycles.org/?IV4pDyaLUMB0 1`] = `
+exports[`renders shared tunes > shared tune 268 https://strudel.cc/?IV4pDyaLUMB0 1`] = `
[
"0/1 -> 1/2: c1",
"1/2 -> 1/1: c1",
@@ -5817,7 +5817,7 @@ exports[`renders shared tunes > shared tune 268 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 269 https://strudel.tidalcycles.org/?XQ_uhshhjEYw 1`] = `
+exports[`renders shared tunes > shared tune 269 https://strudel.cc/?XQ_uhshhjEYw 1`] = `
[
"-18/5 -> 2/5: c3",
"-18/5 -> 2/5: e3",
@@ -5829,7 +5829,7 @@ exports[`renders shared tunes > shared tune 269 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 270 https://strudel.tidalcycles.org/?XDCsI7uPtnav 1`] = `
+exports[`renders shared tunes > shared tune 270 https://strudel.cc/?XDCsI7uPtnav 1`] = `
[
"0/1 -> 2/1: {\\"note\\":\\"C3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4722222222222222}",
"0/1 -> 2/1: {\\"note\\":\\"E3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4907407407407407}",
@@ -5837,7 +5837,7 @@ exports[`renders shared tunes > shared tune 270 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 271 https://strudel.tidalcycles.org/?2t_PSStoDUhV 1`] = `
+exports[`renders shared tunes > shared tune 271 https://strudel.cc/?2t_PSStoDUhV 1`] = `
[
"0/1 -> 5/11: {\\"note\\":\\"c2\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":0.2000348432426738,\\"delay\\":0.1}",
"5/11 -> 15/11: {\\"note\\":\\"eb2\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":0.20089674623394735,\\"delay\\":0.1}",
@@ -5859,7 +5859,7 @@ exports[`renders shared tunes > shared tune 271 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 272 https://strudel.tidalcycles.org/?J4419vLymh08 1`] = `
+exports[`renders shared tunes > shared tune 272 https://strudel.cc/?J4419vLymh08 1`] = `
[
"5/6 -> 5/3: {\\"note\\":\\"eb4\\",\\"s\\":\\"piano\\",\\"cutoff\\":1275.348281040755,\\"resonance\\":0,\\"delay\\":0.1}",
"0/1 -> 5/6: {\\"value\\":\\"\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":1.8000302424954437,\\"hcutoff\\":800,\\"cutoff\\":770.1250948828399,\\"resonance\\":0,\\"delay\\":0.1}",
@@ -5880,7 +5880,7 @@ exports[`renders shared tunes > shared tune 272 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 273 https://strudel.tidalcycles.org/?hGG0rEr1zC3A 1`] = `
+exports[`renders shared tunes > shared tune 273 https://strudel.cc/?hGG0rEr1zC3A 1`] = `
[
"0/1 -> 5/4: {\\"value\\":\\"\\",\\"s\\":\\"sawtooth\\",\\"vowel\\":\\"a\\",\\"gain\\":1.8000302424954437,\\"hcutoff\\":800,\\"cutoff\\":889.6566238254309,\\"resonance\\":0,\\"delay\\":0.1}",
"0/1 -> 5/8: {\\"value\\":\\"\\",\\"s\\":\\"sine\\",\\"shape\\":0.31075614638684784,\\"gain\\":0.32689036596711957,\\"cutoff\\":640.2810816708566,\\"resonance\\":0,\\"delay\\":0.1}",
@@ -5896,7 +5896,7 @@ exports[`renders shared tunes > shared tune 273 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 274 https://strudel.tidalcycles.org/?ahkvgPdMeapI 1`] = `
+exports[`renders shared tunes > shared tune 274 https://strudel.cc/?ahkvgPdMeapI 1`] = `
[
"0/1 -> 1/2: {\\"note\\":\\"F3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.49537037037037035}",
"1/4 -> 3/4: {\\"note\\":\\"F2\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4398148148148148}",
@@ -5907,7 +5907,7 @@ exports[`renders shared tunes > shared tune 274 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 275 https://strudel.tidalcycles.org/?um_AAxJMJr5U 1`] = `
+exports[`renders shared tunes > shared tune 275 https://strudel.cc/?um_AAxJMJr5U 1`] = `
[
"0/1 -> 1/1: {\\"note\\":\\"c4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
"0/1 -> 1/1: {\\"note\\":\\"e4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
@@ -5925,7 +5925,7 @@ exports[`renders shared tunes > shared tune 275 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 276 https://strudel.tidalcycles.org/?UxSJbzL1d05O 1`] = `
+exports[`renders shared tunes > shared tune 276 https://strudel.cc/?UxSJbzL1d05O 1`] = `
[
"0/1 -> 5/4: {\\"note\\":\\"c4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
"0/1 -> 5/4: {\\"note\\":\\"eb4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
@@ -5945,7 +5945,7 @@ exports[`renders shared tunes > shared tune 276 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 277 https://strudel.tidalcycles.org/?90drkbxdBr2- 1`] = `
+exports[`renders shared tunes > shared tune 277 https://strudel.cc/?90drkbxdBr2- 1`] = `
[
"0/1 -> 5/4: {\\"note\\":\\"c4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
"0/1 -> 5/4: {\\"note\\":\\"eb4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
@@ -5967,7 +5967,7 @@ exports[`renders shared tunes > shared tune 277 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 278 https://strudel.tidalcycles.org/?aGtqNXDNRxdA 1`] = `
+exports[`renders shared tunes > shared tune 278 https://strudel.cc/?aGtqNXDNRxdA 1`] = `
[
"0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"3/4 -> 3/2: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -6024,7 +6024,7 @@ exports[`renders shared tunes > shared tune 278 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 279 https://strudel.tidalcycles.org/?N3UBBhj_uwxd 1`] = `
+exports[`renders shared tunes > shared tune 279 https://strudel.cc/?N3UBBhj_uwxd 1`] = `
[
"0/1 -> 1/10: C3",
"0/1 -> 1/10: E3",
@@ -6043,7 +6043,7 @@ exports[`renders shared tunes > shared tune 279 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 280 https://strudel.tidalcycles.org/?wF7a24BViyqU 1`] = `
+exports[`renders shared tunes > shared tune 280 https://strudel.cc/?wF7a24BViyqU 1`] = `
[
"0/1 -> 3/4: F3",
"3/4 -> 9/8: Ab3",
@@ -6063,7 +6063,7 @@ exports[`renders shared tunes > shared tune 280 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 281 https://strudel.tidalcycles.org/?h87w26zgMJ0L 1`] = `
+exports[`renders shared tunes > shared tune 281 https://strudel.cc/?h87w26zgMJ0L 1`] = `
[
"0/1 -> 5/6: {\\"note\\":\\"c4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
"0/1 -> 5/6: {\\"note\\":\\"eb4\\",\\"s\\":\\"piano\\",\\"gain\\":0.5}",
@@ -6097,7 +6097,7 @@ exports[`renders shared tunes > shared tune 281 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 282 https://strudel.tidalcycles.org/?fwBxQjt9aVhx 1`] = `
+exports[`renders shared tunes > shared tune 282 https://strudel.cc/?fwBxQjt9aVhx 1`] = `
[
"5833/7200 -> 19/18: {\\"n\\":\\"C#4\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.19}",
"437/800 -> 19/24: {\\"n\\":\\"D#4\\",\\"s\\":\\"Overdriven Guitar: Guitar\\",\\"gain\\":0.19}",
@@ -6126,7 +6126,7 @@ exports[`renders shared tunes > shared tune 282 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 283 https://strudel.tidalcycles.org/?3rnmA7q0g2i- 1`] = `
+exports[`renders shared tunes > shared tune 283 https://strudel.cc/?3rnmA7q0g2i- 1`] = `
[
"0/1 -> 5/8: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":200,\\"resonance\\":20,\\"gain\\":0.15,\\"shape\\":0.6,\\"release\\":0.05}",
"0/1 -> 5/8: {\\"note\\":31.02,\\"s\\":\\"sawtooth\\",\\"cutoff\\":200,\\"resonance\\":20,\\"gain\\":0.15,\\"shape\\":0.6,\\"release\\":0.05}",
@@ -6145,7 +6145,7 @@ exports[`renders shared tunes > shared tune 283 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 284 https://strudel.tidalcycles.org/?w1af5xWyhwNm 1`] = `
+exports[`renders shared tunes > shared tune 284 https://strudel.cc/?w1af5xWyhwNm 1`] = `
[
"0/1 -> 8/1: {\\"s\\":\\"bass\\",\\"speed\\":0.125,\\"unit\\":\\"c\\",\\"clip\\":1}",
"0/1 -> 1/2: {\\"s\\":\\"bd\\"}",
@@ -6167,7 +6167,7 @@ exports[`renders shared tunes > shared tune 284 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 285 https://strudel.tidalcycles.org/?Ne_BJMKKDCO_ 1`] = `
+exports[`renders shared tunes > shared tune 285 https://strudel.cc/?Ne_BJMKKDCO_ 1`] = `
[
"0/1 -> 5/8: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":200,\\"resonance\\":20,\\"gain\\":0.15,\\"shape\\":0.6,\\"release\\":0.05}",
"0/1 -> 5/8: {\\"note\\":31.02,\\"s\\":\\"sawtooth\\",\\"cutoff\\":200,\\"resonance\\":20,\\"gain\\":0.15,\\"shape\\":0.6,\\"release\\":0.05}",
@@ -6186,7 +6186,7 @@ exports[`renders shared tunes > shared tune 285 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 286 https://strudel.tidalcycles.org/?G2H5FM0Fc94a 1`] = `
+exports[`renders shared tunes > shared tune 286 https://strudel.cc/?G2H5FM0Fc94a 1`] = `
[
"0/1 -> 1/4: {\\"s\\":\\"woodblock:1\\"}",
"1/4 -> 3/8: {\\"s\\":\\"woodblock:2\\"}",
@@ -6204,7 +6204,7 @@ exports[`renders shared tunes > shared tune 286 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 287 https://strudel.tidalcycles.org/?EPFzAz99hwZW 1`] = `
+exports[`renders shared tunes > shared tune 287 https://strudel.cc/?EPFzAz99hwZW 1`] = `
[
"0/1 -> 1/4: {\\"note\\":48,\\"s\\":\\"ocarina_vib\\",\\"clip\\":1,\\"release\\":0.1,\\"room\\":1,\\"gain\\":0.2}",
"1/4 -> 9/32: {\\"note\\":51,\\"s\\":\\"ocarina_vib\\",\\"clip\\":1,\\"release\\":0.1,\\"room\\":1,\\"gain\\":0.2}",
@@ -6221,7 +6221,7 @@ exports[`renders shared tunes > shared tune 287 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 288 https://strudel.tidalcycles.org/?DSvgYUzEgx6n 1`] = `
+exports[`renders shared tunes > shared tune 288 https://strudel.cc/?DSvgYUzEgx6n 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"bank\\":\\"RolandTR909\\"}",
"1/2 -> 1/1: {\\"s\\":\\"bd\\",\\"bank\\":\\"RolandTR909\\"}",
@@ -6245,14 +6245,14 @@ exports[`renders shared tunes > shared tune 288 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 289 https://strudel.tidalcycles.org/?cRvfurHbl4jo 1`] = `
+exports[`renders shared tunes > shared tune 289 https://strudel.cc/?cRvfurHbl4jo 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0,\\"delaytime\\":0.33,\\"delayfeedback\\":0.8,\\"speed\\":-1}",
"1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0,\\"delaytime\\":0.33,\\"delayfeedback\\":0.8,\\"speed\\":-1}",
]
`;
-exports[`renders shared tunes > shared tune 290 https://strudel.tidalcycles.org/?DGHGUqRXr5pe 1`] = `
+exports[`renders shared tunes > shared tune 290 https://strudel.cc/?DGHGUqRXr5pe 1`] = `
[
"0/1 -> 1/4: {\\"s\\":\\"jvbass:7\\",\\"cutoff\\":1000,\\"gain\\":0.6740862280130386,\\"room\\":1}",
"1/4 -> 1/2: {\\"s\\":\\"jvbass:2\\",\\"cutoff\\":1000,\\"gain\\":0.5605570062994958,\\"room\\":1}",
@@ -6274,7 +6274,7 @@ exports[`renders shared tunes > shared tune 290 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 291 https://strudel.tidalcycles.org/?RBaWr8-15Guk 1`] = `
+exports[`renders shared tunes > shared tune 291 https://strudel.cc/?RBaWr8-15Guk 1`] = `
[
"0/1 -> 1/6: {\\"s\\":\\"hh\\",\\"gain\\":0.6339596770703793,\\"room\\":0.6,\\"pan\\":0}",
"8/9 -> 17/18: {\\"s\\":\\"jvbass:7\\",\\"cutoff\\":1000,\\"gain\\":0.7514234818518162,\\"room\\":0.6,\\"pan\\":0}",
@@ -6289,7 +6289,7 @@ exports[`renders shared tunes > shared tune 291 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 292 https://strudel.tidalcycles.org/?c41h3Z1fwqTB 1`] = `
+exports[`renders shared tunes > shared tune 292 https://strudel.cc/?c41h3Z1fwqTB 1`] = `
[
"0/1 -> 1/6: {\\"s\\":\\"hh\\",\\"gain\\":0.6339596770703793,\\"room\\":0.6,\\"pan\\":0}",
"8/9 -> 17/18: {\\"s\\":\\"jvbass:7\\",\\"cutoff\\":1000,\\"gain\\":0.7514234818518162,\\"room\\":0.6,\\"pan\\":0}",
@@ -6304,7 +6304,7 @@ exports[`renders shared tunes > shared tune 292 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 293 https://strudel.tidalcycles.org/?lvF3fzHrDbyx 1`] = `
+exports[`renders shared tunes > shared tune 293 https://strudel.cc/?lvF3fzHrDbyx 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bev\\",\\"begin\\":0,\\"end\\":0.015625,\\"pan\\":0,\\"speed\\":0.5,\\"room\\":0.9}",
"0/1 -> 1/2: {\\"s\\":\\"bev\\",\\"begin\\":0.046875,\\"end\\":0.0625,\\"pan\\":1,\\"speed\\":0.5,\\"room\\":0.9}",
@@ -6317,7 +6317,7 @@ exports[`renders shared tunes > shared tune 293 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 294 https://strudel.tidalcycles.org/?vqqfVtY-n1Z6 1`] = `
+exports[`renders shared tunes > shared tune 294 https://strudel.cc/?vqqfVtY-n1Z6 1`] = `
[
"0/1 -> 1/6: {\\"s\\":\\"hh\\",\\"gain\\":0.6339596770703793,\\"room\\":0.6,\\"pan\\":0}",
"8/9 -> 17/18: {\\"s\\":\\"jvbass:7\\",\\"cutoff\\":1000,\\"gain\\":0.7514234818518162,\\"room\\":0.6,\\"pan\\":0}",
@@ -6332,7 +6332,7 @@ exports[`renders shared tunes > shared tune 294 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 295 https://strudel.tidalcycles.org/?C7PwKmsYAOJL 1`] = `
+exports[`renders shared tunes > shared tune 295 https://strudel.cc/?C7PwKmsYAOJL 1`] = `
[
"0/1 -> 1/64: {\\"s\\":\\"future:2\\",\\"begin\\":0,\\"end\\":0.0625,\\"speed\\":2,\\"pan\\":0,\\"room\\":0.6}",
"1/64 -> 1/32: {\\"s\\":\\"future:2\\",\\"begin\\":0.0625,\\"end\\":0.125,\\"speed\\":2,\\"pan\\":0,\\"room\\":0.6}",
@@ -6433,7 +6433,7 @@ exports[`renders shared tunes > shared tune 295 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 296 https://strudel.tidalcycles.org/?Z1mqx-eU-KcX 1`] = `
+exports[`renders shared tunes > shared tune 296 https://strudel.cc/?Z1mqx-eU-KcX 1`] = `
[
"0/1 -> 831675/814544: {\\"note\\":\\"D0\\",\\"s\\":\\"bell\\",\\"gain\\":0.6,\\"delay\\":0.2,\\"delaytime\\":0.3333333333333333,\\"delayfeedback\\":0.8}",
"3/4 -> 1442583/814544: {\\"note\\":\\"A-1\\",\\"s\\":\\"bell\\",\\"gain\\":0.6,\\"delay\\":0.2,\\"delaytime\\":0.3333333333333333,\\"delayfeedback\\":0.8}",
@@ -6448,7 +6448,7 @@ exports[`renders shared tunes > shared tune 296 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 297 https://strudel.tidalcycles.org/?Ypr_TlVFjVV5 1`] = `
+exports[`renders shared tunes > shared tune 297 https://strudel.cc/?Ypr_TlVFjVV5 1`] = `
[
"0/1 -> 1/4: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0,\\"end\\":0.0078125,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}",
"1/4 -> 1/2: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.0078125,\\"end\\":0.015625,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}",
@@ -6461,7 +6461,7 @@ exports[`renders shared tunes > shared tune 297 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 298 https://strudel.tidalcycles.org/?5pmvveRR-gKc 1`] = `
+exports[`renders shared tunes > shared tune 298 https://strudel.cc/?5pmvveRR-gKc 1`] = `
[
"0/1 -> 1/1: D3",
"0/1 -> 2/1: E3",
@@ -6551,7 +6551,7 @@ exports[`renders shared tunes > shared tune 298 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 299 https://strudel.tidalcycles.org/?rGJ0heffHHl4 1`] = `
+exports[`renders shared tunes > shared tune 299 https://strudel.cc/?rGJ0heffHHl4 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"gain\\":0.8}",
"1/2 -> 1/1: {\\"s\\":\\"bd\\",\\"gain\\":0.8}",
@@ -6567,7 +6567,7 @@ exports[`renders shared tunes > shared tune 299 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 300 https://strudel.tidalcycles.org/?Z7Nxzf3lmgTN 1`] = `
+exports[`renders shared tunes > shared tune 300 https://strudel.cc/?Z7Nxzf3lmgTN 1`] = `
[
"0/1 -> 8/1: {\\"note\\":\\"e3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":100,\\"bandq\\":1,\\"gain\\":3}",
"0/1 -> 8/1: {\\"note\\":\\"b4\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":100,\\"bandq\\":1,\\"gain\\":3}",
@@ -6582,7 +6582,7 @@ exports[`renders shared tunes > shared tune 300 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 301 https://strudel.tidalcycles.org/?e63x61eOPPvl 1`] = `
+exports[`renders shared tunes > shared tune 301 https://strudel.cc/?e63x61eOPPvl 1`] = `
[
"0/1 -> 8/1: {\\"note\\":\\"e3\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":100,\\"bandq\\":1,\\"gain\\":3}",
"0/1 -> 8/1: {\\"note\\":\\"b4\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.1,\\"decay\\":0.2,\\"sustain\\":0.3,\\"release\\":0.1,\\"bandf\\":100,\\"bandq\\":1,\\"gain\\":3}",
@@ -6591,7 +6591,7 @@ exports[`renders shared tunes > shared tune 301 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 302 https://strudel.tidalcycles.org/?bUd8QxyN4kvJ 1`] = `
+exports[`renders shared tunes > shared tune 302 https://strudel.cc/?bUd8QxyN4kvJ 1`] = `
[
"0/1 -> 1/8: {\\"note\\":\\"g4\\",\\"s\\":\\"xx\\",\\"cutoff\\":2348.1232826650858,\\"room\\":0.8,\\"pan\\":0,\\"gain\\":0.5}",
"3/8 -> 1/2: {\\"note\\":\\"g4\\",\\"s\\":\\"xx\\",\\"cutoff\\":2919.6960066389074,\\"room\\":0.8,\\"pan\\":0,\\"gain\\":0.5}",
@@ -6624,7 +6624,7 @@ exports[`renders shared tunes > shared tune 302 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 303 https://strudel.tidalcycles.org/?y5PdLktz5gnb 1`] = `
+exports[`renders shared tunes > shared tune 303 https://strudel.cc/?y5PdLktz5gnb 1`] = `
[
"0/1 -> 1/4: {\\"note\\":\\"e3\\",\\"s\\":\\"sawtooth\\",\\"decay\\":0.1,\\"sustain\\":0.1,\\"bandf\\":50,\\"bandq\\":0.5,\\"gain\\":3.8519497029047303}",
"1/4 -> 1/2: {\\"note\\":\\"e3\\",\\"s\\":\\"sawtooth\\",\\"decay\\":0.1,\\"sustain\\":0.1,\\"bandf\\":50,\\"bandq\\":0.5,\\"gain\\":2.22836140246614}",
@@ -6650,7 +6650,7 @@ exports[`renders shared tunes > shared tune 303 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 304 https://strudel.tidalcycles.org/?BpChMc3nxrYv 1`] = `
+exports[`renders shared tunes > shared tune 304 https://strudel.cc/?BpChMc3nxrYv 1`] = `
[
"0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"3/4 -> 3/2: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -6707,7 +6707,7 @@ exports[`renders shared tunes > shared tune 304 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 305 https://strudel.tidalcycles.org/?Swuvt887AOe1 1`] = `
+exports[`renders shared tunes > shared tune 305 https://strudel.cc/?Swuvt887AOe1 1`] = `
[
"0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"3/4 -> 3/2: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -6764,7 +6764,7 @@ exports[`renders shared tunes > shared tune 305 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 306 https://strudel.tidalcycles.org/?UboMuFOnT0hy 1`] = `
+exports[`renders shared tunes > shared tune 306 https://strudel.cc/?UboMuFOnT0hy 1`] = `
[
"0/1 -> 1/3: {\\"s\\":\\"bd\\"}",
"1/3 -> 2/3: {\\"s\\":\\"hh\\"}",
@@ -6784,7 +6784,7 @@ exports[`renders shared tunes > shared tune 306 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 307 https://strudel.tidalcycles.org/?vYFGpZ6XObVG 1`] = `
+exports[`renders shared tunes > shared tune 307 https://strudel.cc/?vYFGpZ6XObVG 1`] = `
[
"0/1 -> 1/3: {\\"s\\":\\"bd\\"}",
"1/3 -> 2/3: {\\"s\\":\\"hh\\"}",
@@ -6804,7 +6804,7 @@ exports[`renders shared tunes > shared tune 307 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 308 https://strudel.tidalcycles.org/?TUw_9DfBSsiW 1`] = `
+exports[`renders shared tunes > shared tune 308 https://strudel.cc/?TUw_9DfBSsiW 1`] = `
[
"0/1 -> 2/3: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}",
"1/3 -> 2/3: {\\"s\\":\\"sd\\",\\"speed\\":0.7931522866332671}",
@@ -6918,7 +6918,7 @@ exports[`renders shared tunes > shared tune 308 https://strudel.tidalcycles.org/
]
`;
-exports[`renders shared tunes > shared tune 309 https://strudel.tidalcycles.org/?ctHqwq-97t6X 1`] = `
+exports[`renders shared tunes > shared tune 309 https://strudel.cc/?ctHqwq-97t6X 1`] = `
[
"0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6,\\"speed\\":-1}",
"1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6,\\"speed\\":-1}",
diff --git a/test/runtime.mjs b/test/runtime.mjs
index 618226bb..fc8f4450 100644
--- a/test/runtime.mjs
+++ b/test/runtime.mjs
@@ -228,5 +228,5 @@ export const testCycles = {
festivalOfFingers3: 16,
};
-// fixed: https://strudel.tidalcycles.org/?DBp75NUfSxIn (missing .note())
-// bug: https://strudel.tidalcycles.org/?xHaKTd1kTpCn + https://strudel.tidalcycles.org/?o5LLePbx8kiQ
+// fixed: https://strudel.cc/?DBp75NUfSxIn (missing .note())
+// bug: https://strudel.cc/?xHaKTd1kTpCn + https://strudel.cc/?o5LLePbx8kiQ
diff --git a/test/shared.test.mjs b/test/shared.test.mjs
index 229d89df..e3292751 100644
--- a/test/shared.test.mjs
+++ b/test/shared.test.mjs
@@ -4,7 +4,7 @@ import data from './dbdump.json';
describe('renders shared tunes', async () => {
data.forEach(({ id, code, hash }) => {
- const url = `https://strudel.tidalcycles.org/?${hash}`;
+ const url = `https://strudel.cc/?${hash}`;
it(`shared tune ${id} ${url}`, async ({ expect }) => {
if (code.includes('import(')) {
console.log('skip', url);
diff --git a/website/README.md b/website/README.md
index e8087199..26ad430d 100644
--- a/website/README.md
+++ b/website/README.md
@@ -1,6 +1,6 @@
# Strudel Website
-This is the website for Strudel, deployed at [strudel.tidalcycles.org](https://strudel.tidalcycles.org/).
+This is the website for Strudel, deployed at [strudel.cc](https://strudel.cc).
It includes the REPL live coding editor and the documentation site.
## Run locally
diff --git a/website/agpl-header.txt b/website/agpl-header.txt
index 7256f033..6fd0c0fc 100644
--- a/website/agpl-header.txt
+++ b/website/agpl-header.txt
@@ -1,7 +1,7 @@
/*
Strudel - javascript-based environment for live coding algorithmic (musical) patterns
-https://strudel.tidalcycles.org / https://github.com/tidalcycles/strudel/
+https://strudel.cc / https://github.com/tidalcycles/strudel/
Copyright (C) Strudel contributors
https://github.com/tidalcycles/strudel/graphs/contributors
diff --git a/website/astro.config.mjs b/website/astro.config.mjs
index 7a340516..c994364e 100644
--- a/website/astro.config.mjs
+++ b/website/astro.config.mjs
@@ -11,7 +11,7 @@ import tailwind from '@astrojs/tailwind';
import AstroPWA from '@vite-pwa/astro';
// import { visualizer } from 'rollup-plugin-visualizer';
-const site = `https://strudel.tidalcycles.org/`; // root url without a path
+const site = `https://strudel.cc/`; // root url without a path
const base = '/'; // base path of the strudel site
// this rehype plugin converts relative anchor links to absolute ones
@@ -54,6 +54,7 @@ export default defineConfig({
mdx(options),
tailwind(),
AstroPWA({
+ experimental: { directoryAndTrailingSlashHandler: true },
registerType: 'autoUpdate',
injectRegister: 'auto',
workbox: {
diff --git a/website/package.json b/website/package.json
index c8fec20c..f766c420 100644
--- a/website/package.json
+++ b/website/package.json
@@ -28,13 +28,14 @@
"@strudel.cycles/mini": "workspace:*",
"@strudel.cycles/osc": "workspace:*",
"@strudel.cycles/react": "workspace:*",
- "@strudel/codemirror": "workspace:*",
"@strudel.cycles/serial": "workspace:*",
"@strudel.cycles/soundfonts": "workspace:*",
"@strudel.cycles/tonal": "workspace:*",
"@strudel.cycles/transpiler": "workspace:*",
"@strudel.cycles/webaudio": "workspace:*",
"@strudel.cycles/xen": "workspace:*",
+ "@strudel/hydra": "workspace:*",
+ "@strudel/codemirror": "workspace:*",
"@strudel/desktopbridge": "workspace:*",
"@supabase/supabase-js": "^2.21.0",
"@tailwindcss/forms": "^0.5.3",
@@ -59,9 +60,9 @@
"tailwindcss": "^3.3.2"
},
"devDependencies": {
- "@vite-pwa/astro": "^0.0.5",
+ "@vite-pwa/astro": "^0.1.4",
"html-escaper": "^3.0.3",
- "vite-plugin-pwa": "^0.14.7",
- "workbox-window": "^6.5.4"
+ "vite-plugin-pwa": "^0.16.5",
+ "workbox-window": "^7.0.0"
}
}
diff --git a/website/public/CNAME b/website/public/CNAME
index 63687b2b..e7c96b4e 100644
--- a/website/public/CNAME
+++ b/website/public/CNAME
@@ -1 +1 @@
-strudel.tidalcycles.org
+strudel.cc
\ No newline at end of file
diff --git a/website/src/config.ts b/website/src/config.ts
index 0d774a5a..962bfdb0 100644
--- a/website/src/config.ts
+++ b/website/src/config.ts
@@ -6,7 +6,7 @@ export const SITE = {
export const OPEN_GRAPH = {
image: {
- src: 'https://strudel.tidalcycles.org/icon.png',
+ src: 'https://strudel.cc/icon.png',
alt: 'Strudel Logo',
},
};
@@ -76,6 +76,7 @@ export const SIDEBAR: Sidebar = {
{ text: 'Patterns', link: 'technical-manual/patterns' },
{ text: 'Music metadata', link: 'learn/metadata' },
{ text: 'CSound', link: 'learn/csound' },
+ { text: 'Hydra', link: 'learn/hydra' },
],
'Pattern Functions': [
{ text: 'Introduction', link: 'functions/intro' },
diff --git a/website/src/docs/MiniRepl.jsx b/website/src/docs/MiniRepl.jsx
index 7c5079a0..251410c5 100644
--- a/website/src/docs/MiniRepl.jsx
+++ b/website/src/docs/MiniRepl.jsx
@@ -20,6 +20,7 @@ if (typeof window !== 'undefined') {
import('@strudel.cycles/osc'),
import('@strudel.cycles/csound'),
import('@strudel.cycles/soundfonts'),
+ import('@strudel/hydra'),
);
}
diff --git a/website/src/pages/de/workshop/getting-started.mdx b/website/src/pages/de/workshop/getting-started.mdx
index c86fa668..5ecc60f2 100644
--- a/website/src/pages/de/workshop/getting-started.mdx
+++ b/website/src/pages/de/workshop/getting-started.mdx
@@ -22,7 +22,7 @@ in der Muster eine Rolle spielen.
Du brauchst keine Erfahrung in JavaScript oder Tidal Cycles um mit Strudel Musik zu machen.
Dieser interaktive Workshop leitet dich spielerisch durch die Grundlagen von Strudel.
-Der beste Ort um mit Strudel Musik zu machen ist das [Strudel REPL](https://strudel.tidalcycles.org/).
+Der beste Ort um mit Strudel Musik zu machen ist das [Strudel REPL](https://strudel.cc/).
## Was kann man mit Strudel machen?
@@ -66,7 +66,7 @@ Hier ist ein Beispiel wie Strudel klingen kann:
Mehr Beispiele gibt es [hier](/examples).
-Du kannst auch im [Strudel REPL](https://strudel.tidalcycles.org/) auf `shuffle` klicken um ein zufälliges Beispiel zu hören.
+Du kannst auch im [Strudel REPL](https://strudel.cc/) auf `shuffle` klicken um ein zufälliges Beispiel zu hören.
## Workshop
diff --git a/website/src/pages/learn/conditional-modifiers.mdx b/website/src/pages/learn/conditional-modifiers.mdx
index 2bc4b42d..d66b2698 100644
--- a/website/src/pages/learn/conditional-modifiers.mdx
+++ b/website/src/pages/learn/conditional-modifiers.mdx
@@ -60,4 +60,12 @@ import { JsDoc } from '../../docs/JsDoc';
+## pick
+
+
+
+## squeeze
+
+
+
After Conditional Modifiers, let's see what [Accumulation Modifiers](/learn/accumulation) have to offer.
diff --git a/website/src/pages/learn/effects.mdx b/website/src/pages/learn/effects.mdx
index fb506aad..30804240 100644
--- a/website/src/pages/learn/effects.mdx
+++ b/website/src/pages/learn/effects.mdx
@@ -82,6 +82,10 @@ Strudel uses ADSR envelopes, which are probably the most common way to describe
+## adsr
+
+
+
# Filter Envelope
Each filter can receive an additional filter envelope controlling the cutoff value dynamically. It uses an ADSR envelope similar to the one used for amplitude. There is an additional parameter to control the depth of the filter modulation: `lpenv`|`hpenv`|`bpenv`. This allows you to play subtle or huge filter modulations just the same by only increasing or decreasing the depth.
diff --git a/website/src/pages/learn/getting-started.mdx b/website/src/pages/learn/getting-started.mdx
index 3f41c859..29cd6b7d 100644
--- a/website/src/pages/learn/getting-started.mdx
+++ b/website/src/pages/learn/getting-started.mdx
@@ -10,11 +10,11 @@ import { JsDoc } from '../../docs/JsDoc';
Welcome to the Strudel documentation pages!
-These pages will introduce you to [Strudel](https://strudel.tidalcycles.org/), a web-based [live coding](https://github.com/toplap/awesome-livecoding/) environment that implements the [Tidal Cycles](https://tidalcycles.org) algorithmic pattern language.
+These pages will introduce you to [Strudel](https://strudel.cc/), a web-based [live coding](https://github.com/toplap/awesome-livecoding/) environment that implements the [Tidal Cycles](https://tidalcycles.org) algorithmic pattern language.
# What is Strudel?
-[Strudel](https://strudel.tidalcycles.org/) is a version of [Tidal Cycles](https://tidalcycles.org) written in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), initiated by [Alex McLean](https://slab.org) and [Felix Roos](https://github.com/felixroos) in 2022.
+[Strudel](https://strudel.cc/) is a version of [Tidal Cycles](https://tidalcycles.org) written in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), initiated by [Alex McLean](https://slab.org) and [Felix Roos](https://github.com/felixroos) in 2022.
Tidal Cycles, also known as Tidal, is a language for [algorithmic pattern](https://algorithmicpattern.org), and though it is most commonly used for [making music](https://tidalcycles.org/docs/showcase), it can be used for any kind of pattern making activity, including [weaving](https://www.youtube.com/watch?v=TfEmEsusXjU).
Tidal was first implemented as a library written in the [Haskell](https://www.haskell.org/) functional programming language, and by itself it does not make any sound.
@@ -24,7 +24,7 @@ Strudel however runs directly in your web browser, does not require any custom s
# Strudel REPL and MiniREPL
-The main place to actually make music with Strudel is the [Strudel REPL](https://strudel.tidalcycles.org/) ([what is a REPL?](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop)), but in these pages you will also encounter interactive "MiniREPLs" where you can listen to and edit Strudel patterns.
+The main place to actually make music with Strudel is the [Strudel REPL](https://strudel.cc/) ([what is a REPL?](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop)), but in these pages you will also encounter interactive "MiniREPLs" where you can listen to and edit Strudel patterns.
Try clicking the play icon below:
@@ -38,7 +38,7 @@ This interactive tutorial will guide you through the basics of Strudel.
# Show me some demos!
-To see and hear what Strudel can do, visit the [Strudel REPL](https://strudel.tidalcycles.org/) and click the Shuffle icon in the top menu bar.
+To see and hear what Strudel can do, visit the [Strudel REPL](https://strudel.cc/) and click the Shuffle icon in the top menu bar.
You can get a feel for Strudel by browsing and editing these examples and clicking the Refresh icon to update.
You can also browse through the examples [here](./examples).
diff --git a/website/src/pages/learn/hydra.mdx b/website/src/pages/learn/hydra.mdx
new file mode 100644
index 00000000..a506e53c
--- /dev/null
+++ b/website/src/pages/learn/hydra.mdx
@@ -0,0 +1,55 @@
+---
+title: Hydra
+layout: ../../layouts/MainLayout.astro
+---
+
+import { MiniRepl } from '../../docs/MiniRepl';
+
+# Using Hydra inside Strudel
+
+You can write [hydra](https://hydra.ojack.xyz/) code in strudel! All you have to do is to call `await initHydra()` at the top:
+
+,b4]/4").s("sawtooth").vib(2)
+.lpf(600).lpa(2).lpenv(6)
+`}
+/>
+
+There is a special function `H` that allows you to use a pattern as an input to hydra:
+
+
+
+You might now be able to see this properly here: [open in REPL](/#YXdhaXQgaW5pdEh5ZHJhKCkKbGV0IHBhdHRlcm4gPSAiMyA0IDUgWzYgN10qMiIKc2hhcGUoSChwYXR0ZXJuKSkub3V0KG8wKQpuKHBhdHRlcm4pLnNjYWxlKCJBOm1pbm9yIikucGlhbm8oKS5yb29tKDEpIA%3D%3D)
diff --git a/website/src/pages/learn/input-output.mdx b/website/src/pages/learn/input-output.mdx
index e4c2a63f..de44b4f9 100644
--- a/website/src/pages/learn/input-output.mdx
+++ b/website/src/pages/learn/input-output.mdx
@@ -71,7 +71,7 @@ Now you're all set!
## Usage
1. Start SuperCollider, either using SuperCollider IDE or by running `sclang` in a terminal
-2. Open the [Strudel REPL](https://strudel.tidalcycles.org/#cygiYmQgc2QiKS5vc2MoKQ%3D%3D)
+2. Open the [Strudel REPL](https://strudel.cc/#cygiYmQgc2QiKS5vc2MoKQ%3D%3D)
...or test it here:
diff --git a/website/src/pages/learn/metadata.mdx b/website/src/pages/learn/metadata.mdx
index 27f46921..9ade4447 100644
--- a/website/src/pages/learn/metadata.mdx
+++ b/website/src/pages/learn/metadata.mdx
@@ -18,7 +18,7 @@ You can optionally add some music metadata in your Strudel code, by using tags i
Like other comments, those are ignored by Strudel, but it can be used by other tools to retrieve some information about the music.
-It is for instance used by the [swatch tool](https://github.com/tidalcycles/strudel/tree/main/my-patterns) to display pattern titles in the [examples page](https://strudel.tidalcycles.org/examples/).
+It is for instance used by the [swatch tool](https://github.com/tidalcycles/strudel/tree/main/my-patterns) to display pattern titles in the [examples page](https://strudel.cc/examples/).
## Alternative syntax
diff --git a/website/src/pages/learn/pwa.mdx b/website/src/pages/learn/pwa.mdx
index b7514766..a283112d 100644
--- a/website/src/pages/learn/pwa.mdx
+++ b/website/src/pages/learn/pwa.mdx
@@ -5,7 +5,7 @@ layout: ../../layouts/MainLayout.astro
# Using Strudel Offline
-You can use Strudel even without a network! When you first visit the [Strudel REPL](strudel.tidalcycles.org/),
+You can use Strudel even without a network! When you first visit the [Strudel REPL](https://strudel.cc/),
your browser will download the whole web app including documentation.
When the download is finished (<1MB), you can visit the website even when offline,
getting the downloaded website instead of the online one.
@@ -32,7 +32,7 @@ You can view all cached files in your browser.
### Firefox
- Open the Developer Tools (`Tools > Web Developer > Web Developer Tools`)
-- go to `Storage` tab and expand `Cache Storage > https://strudel.tidalcycles.org`.
+- go to `Storage` tab and expand `Cache Storage > https://strudel.cc`.
- or go to the `Application` tab and view the latest updates in `Service Workers`
### Chromium based Browsers
@@ -57,14 +57,14 @@ without the browser ui.
With a chromium based browser:
-1. go to the [Strudel REPL](strudel.tidalcycles.org/).
+1. go to the [Strudel REPL](https://strudel.cc).
2. on the right of the adress bar, click `install Strudel REPL`
3. the REPL should now run as a standalone chromium app
Without a chromium based browser, you can use [nativefier](https://github.com/nativefier/nativefier) to generate a desktop app:
1. make sure you have NodeJS installed
-2. run `npx nativefier strudel.tidalcycles.org`
+2. run `npx nativefier strudel.cc`
@@ -73,13 +73,13 @@ Without a chromium based browser, you can use [nativefier](https://github.com/na
### iOS
-1. open to the [Strudel REPL](strudel.tidalcycles.org/) in safari
+1. open to the [Strudel REPL](https://strudel.cc/) in safari
2. press the share icon and tab `Add to homescreen`
3. You should now have a strudel app icon that opens the repl in full screen
### Android
-1. open to the [Strudel REPL](strudel.tidalcycles.org/)
+1. open to the [Strudel REPL](https://strudel.cc/)
2. Tab the install button at the bottom
Ok, what are [Patterns](/technical-manual/patterns) all about?
diff --git a/website/src/pages/learn/samples.mdx b/website/src/pages/learn/samples.mdx
index 10d8c730..dc0989c4 100644
--- a/website/src/pages/learn/samples.mdx
+++ b/website/src/pages/learn/samples.mdx
@@ -46,7 +46,7 @@ For drum sounds, strudel uses the comprehensive [tidal-drum-machines](https://gi
Furthermore, strudel also loads instrument samples from [VCSL](https://github.com/sgossner/VCSL) by default.
-To see which sample names are available, open the `sounds` tab in the [REPL](https://strudel.tidalcycles.org/).
+To see which sample names are available, open the `sounds` tab in the [REPL](https://strudel.cc/).
Note that only the sample maps (mapping names to URLs) are loaded initially, while the audio samples themselves are not loaded until they are actually played.
This behaviour of loading things only when they are needed is also called `lazy loading`.
@@ -283,7 +283,7 @@ With it, you can enter any sample name(s) to query from [freesound.org](https://
+You can also generate artificial voice samples with any text, in multiple languages.
+Note that the language code and the gender parameters are optional and default to `en-GB` and `f`
+
+
+
# Sampler Effects
Sampler effects are functions that can be used to change the behaviour of sample playback.
@@ -335,6 +348,10 @@ Sampler effects are functions that can be used to change the behaviour of sample
+### striate
+
+
+
### slice
diff --git a/website/src/pages/recipes/microrhythms.mdx b/website/src/pages/recipes/microrhythms.mdx
index 7b2b2425..107b56fd 100644
--- a/website/src/pages/recipes/microrhythms.mdx
+++ b/website/src/pages/recipes/microrhythms.mdx
@@ -7,7 +7,7 @@ import { MiniRepl } from '../../docs/MiniRepl';
import { JsDoc } from '../../docs/JsDoc';
import { samples } from '@strudel.cycles/webaudio';
-see https://strudel.tidalcycles.org?zMEo5kowGrFc
+see https://strudel.cc/?zMEo5kowGrFc
# Microrhythms
@@ -73,4 +73,4 @@ This is the second example of the video:
s('hh').micro(0, 1/6, 2/5, 2/3, 3/4)`}
/>
-with bass: https://strudel.tidalcycles.org?sTglgJJCPIeY
+with bass: https://strudel.cc/?sTglgJJCPIeY
diff --git a/website/src/pages/technical-manual/docs.mdx b/website/src/pages/technical-manual/docs.mdx
index 9b4732c1..63e35ad5 100644
--- a/website/src/pages/technical-manual/docs.mdx
+++ b/website/src/pages/technical-manual/docs.mdx
@@ -9,7 +9,7 @@ The docs page is built ontop of astro's [docs site](https://github.com/withastro
## Adding a new Docs Page
-1. add a `.mdx` file in a path under `website/src/pages/`, e.g. [website/src/pages/learn/code.mdx](https://raw.githubusercontent.com/tidalcycles/strudel/main/website/src/pages/learn/code.mdx) will be available under https://strudel.tidalcycles.org/learn/code (or locally under `http://localhost:3000/learn/code`)
+1. add a `.mdx` file in a path under `website/src/pages/`, e.g. [website/src/pages/learn/code.mdx](https://raw.githubusercontent.com/tidalcycles/strudel/main/website/src/pages/learn/code.mdx) will be available under https://strudel.cc/learn/code (or locally under `http://localhost:3000/learn/code`)
2. make sure to copy the top part of another existing docs page. Adjust the title accordingly
3. To add a link to the sidebar, add a new entry to `SIDEBAR` to [`config.ts`](https://github.com/tidalcycles/strudel/blob/main/website/src/config.ts)
diff --git a/website/src/pages/technical-manual/repl.mdx b/website/src/pages/technical-manual/repl.mdx
index 7f4ed03d..f336ce36 100644
--- a/website/src/pages/technical-manual/repl.mdx
+++ b/website/src/pages/technical-manual/repl.mdx
@@ -7,7 +7,7 @@ import { MiniRepl } from '../../docs/MiniRepl';
# REPL
-{/* The [REPL](https://strudel.tidalcycles.org/) is the place where all packages come together to form a live coding system. It can also be seen as a reference implementation for users of the library. */}
+{/* The [REPL](https://strudel.cc/) is the place where all packages come together to form a live coding system. It can also be seen as a reference implementation for users of the library. */}
While Strudel can be used as a library in any JavaScript codebase, its main, reference user interface is the Strudel REPL^[REPL stands for read, evaluate, print/play, loop. It is friendly jargon for an interactive programming interface from computing heritage, usually for a commandline interface but also applied to live coding editors.], which is a browser-based live coding environment. This live code editor is dedicated to manipulating Strudel patterns while they play. The REPL features built-in visual feedback, highlighting which elements in the patterned (mini-notation) sequences are influencing the event that is currently being played. This feedback is designed to support both learning and live use of Strudel.
diff --git a/website/src/pages/technical-manual/sounds.mdx b/website/src/pages/technical-manual/sounds.mdx
index ede7a426..11078713 100644
--- a/website/src/pages/technical-manual/sounds.mdx
+++ b/website/src/pages/technical-manual/sounds.mdx
@@ -64,7 +64,7 @@ registerSound(
freq(220, 440, 330).s('mysaw');
```
-You can actually use this code in the [REPL](https://strudel.tidalcycles.org/) and it'll work.
+You can actually use this code in the [REPL](https://strudel.cc/) and it'll work.
After evaluating the code, you should see `mysaw` in listed in the sounds tab.
## Playing sounds
diff --git a/website/src/pages/workshop/getting-started.mdx b/website/src/pages/workshop/getting-started.mdx
index 66eecdce..410c6da5 100644
--- a/website/src/pages/workshop/getting-started.mdx
+++ b/website/src/pages/workshop/getting-started.mdx
@@ -18,7 +18,7 @@ With Strudel, you can expressively write dynamic music pieces.
It is an official port of the [Tidal Cycles](https://tidalcycles.org/) pattern language to JavaScript.
You don't need to know JavaScript or Tidal Cycles to make music with Strudel.
This interactive tutorial will guide you through the basics of Strudel.
-The best place to actually make music with Strudel is the [Strudel REPL](https://strudel.tidalcycles.org/)
+The best place to actually make music with Strudel is the [Strudel REPL](https://strudel.cc/)
@@ -62,7 +62,7 @@ Here is an example of how strudel can sound:
.slow(3/2)`}
/>
-To hear more, go to the [Strudel REPL](https://strudel.tidalcycles.org/) and press shuffle to hear a random example pattern.
+To hear more, go to the [Strudel REPL](https://strudel.cc/) and press shuffle to hear a random example pattern.
## Getting Started
diff --git a/website/src/repl/Footer.jsx b/website/src/repl/Footer.jsx
index e824d43f..9fb783a4 100644
--- a/website/src/repl/Footer.jsx
+++ b/website/src/repl/Footer.jsx
@@ -436,7 +436,7 @@ function SettingsTab({ scheduler }) {
settingsMap.setKey('keybindings', keybindings)}
- items={{ codemirror: 'Codemirror', vim: 'Vim', emacs: 'Emacs' }}
+ items={{ codemirror: 'Codemirror', vim: 'Vim', emacs: 'Emacs', vscode: 'VSCode' }}
>
diff --git a/website/src/repl/Repl.jsx b/website/src/repl/Repl.jsx
index 8fe43c6d..d9eb7001 100644
--- a/website/src/repl/Repl.jsx
+++ b/website/src/repl/Repl.jsx
@@ -23,6 +23,7 @@ import { settingPatterns } from '../settings.mjs';
import { code2hash, hash2code } from './helpers.mjs';
import { isTauri } from '../tauri.mjs';
import { useWidgets } from '@strudel.cycles/react/src/hooks/useWidgets.mjs';
+import { writeText } from '@tauri-apps/api/clipboard';
const { latestCode } = settingsMap.get();
@@ -41,7 +42,7 @@ let modules = [
import('@strudel.cycles/xen'),
import('@strudel.cycles/webaudio'),
import('@strudel/codemirror'),
-
+ import('@strudel/hydra'),
import('@strudel.cycles/serial'),
import('@strudel.cycles/soundfonts'),
import('@strudel.cycles/csound'),
@@ -78,9 +79,9 @@ async function initCode() {
const initialUrl = window.location.href;
const hash = initialUrl.split('?')[1]?.split('#')?.[0];
const codeParam = window.location.href.split('#')[1] || '';
- // looking like https://strudel.tidalcycles.org/?J01s5i1J0200 (fixed hash length)
+ // looking like https://strudel.cc/?J01s5i1J0200 (fixed hash length)
if (codeParam) {
- // looking like https://strudel.tidalcycles.org/#ImMzIGUzIg%3D%3D (hash length depends on code length)
+ // looking like https://strudel.cc/#ImMzIGUzIg%3D%3D (hash length depends on code length)
return hash2code(codeParam);
} else if (hash) {
return supabase
@@ -127,6 +128,7 @@ export function Repl({ embedded = false }) {
isAutoCompletionEnabled,
isLineWrappingEnabled,
panelPosition,
+ isZen,
} = useSettings();
const paintOptions = useMemo(() => ({ fontFamily }), [fontFamily]);
@@ -269,7 +271,11 @@ export function Repl({ embedded = false }) {
if (!error) {
setLastShared(activeCode || code);
// copy shareUrl to clipboard
- await navigator.clipboard.writeText(shareUrl);
+ if (isTauri()) {
+ await writeText(shareUrl);
+ } else {
+ await navigator.clipboard.writeText(shareUrl);
+ }
const message = `Link copied to clipboard: ${shareUrl}`;
alert(message);
// alert(message);
@@ -322,7 +328,7 @@ export function Repl({ embedded = false }) {
)}
-