Merge branch 'main' of https://github.com/tidalcycles/strudel into add-program-change

This commit is contained in:
nkymut 2025-02-09 10:53:03 +08:00
commit 919c2854d5
130 changed files with 16996 additions and 13789 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,9 +2,32 @@ import { queryCode } from './runtime.mjs';
import { describe, it } from 'vitest';
import doc from '../doc.json';
const skippedExamples = [
'absoluteOrientationGamma',
'absoluteOrientationBeta',
'absoluteOrientationAlpha',
'orientationGamma',
'orientationBeta',
'orientationAlpha',
'rotationGamma',
'rotationBeta',
'rotationAlpha',
'gravityZ',
'gravityY',
'gravityX',
'accelerationZ',
'accelerationY',
'accelerationX',
'defaultmidimap',
'midimaps',
];
describe('runs examples', () => {
const { docs } = doc;
docs.forEach(async (doc) => {
if (skippedExamples.includes(doc.name)) {
return;
}
doc.examples?.forEach((example, i) => {
it(`example "${doc.name}" example index ${i}`, async ({ expect }) => {
const haps = await queryCode(example, 4);

View file

@ -74,76 +74,31 @@ const toneHelpersMocked = {
highpass: mockNode,
};
strudel.Pattern.prototype.osc = function () {
return this;
};
strudel.Pattern.prototype.csound = function () {
return this;
};
strudel.Pattern.prototype.tone = function () {
return this;
};
strudel.Pattern.prototype.webdirt = function () {
return this;
};
// draw mock
strudel.Pattern.prototype.pianoroll = function () {
return this;
};
// speak mock
strudel.Pattern.prototype.speak = function () {
return this;
};
// webaudio mock
strudel.Pattern.prototype.wave = function () {
return this;
};
strudel.Pattern.prototype.filter = function () {
return this;
};
strudel.Pattern.prototype.adsr = function () {
return this;
};
strudel.Pattern.prototype.webaudio = function () {
return this;
};
strudel.Pattern.prototype.soundfont = function () {
return this;
};
// tune mock
strudel.Pattern.prototype.tune = function () {
return this;
};
strudel.Pattern.prototype.midi = function () {
return this;
};
strudel.Pattern.prototype.midin = function () {
return this;
};
strudel.Pattern.prototype._scope = function () {
return this;
};
strudel.Pattern.prototype._spiral = function () {
return this;
};
strudel.Pattern.prototype._pitchwheel = function () {
return this;
};
strudel.Pattern.prototype._pianoroll = function () {
return this;
};
strudel.Pattern.prototype._spectrum = function () {
return this;
};
strudel.Pattern.prototype.markcss = function () {
return this;
};
[
'osc',
'csound',
'tone',
'webdirt',
'pianoroll',
'speak',
'wave',
'filter',
'adsr',
'webaudio',
'soundfont',
'tune',
'midi',
'_scope',
'_spiral',
'_pitchwheel',
'_pianoroll',
'_spectrum',
'markcss',
].forEach((mock) => {
strudel.Pattern.prototype[mock] = function () {
return this;
};
});
const uiHelpersMocked = {
backgroundImage: id,
@ -206,7 +161,6 @@ evalScope(
loadcsound,
setcps: id,
Clock: {}, // whatever
// Tone,
},
);