diff --git a/packages/osc/superdirt.mjs b/packages/osc/superdirt.mjs new file mode 100644 index 00000000..95615781 --- /dev/null +++ b/packages/osc/superdirt.mjs @@ -0,0 +1,23 @@ +import { Pattern } from '@strudel.cycles/core/strudel.mjs'; + +const _name = (name, pat) => pat.withValue(x => ({ [name]: x })); + +export const s = pat => _name("s", pat); +Pattern.prototype.s = function (pat) { return (this.union(s(pat))) }; +export const snd = s; +Pattern.prototype.snd = Pattern.prototype.s; +export const sound = s; +Pattern.prototype.sound = Pattern.prototype.s; +export const n = pat => _name("n", pat); +Pattern.prototype.n = function (pat) { return (this.union(n(pat))) }; +export const num = n; +Pattern.prototype.num = Pattern.prototype.n; +export const number = n; +Pattern.prototype.number = Pattern.prototype.n; +export const room = pat => _name("room", pat); +Pattern.prototype.room = function (pat) { return (this.union(room(pat))) }; +export const size = pat => _name("size", pat); +Pattern.prototype.size = function (pat) { return (this.union(size(pat))) }; +export const speed = pat => _name("speed", pat); +Pattern.prototype.speed = function (pat) { return (this.union(speed(pat))) }; + diff --git a/repl/src/App.js b/repl/src/App.js index 4f522aea..7f37b75f 100644 --- a/repl/src/App.js +++ b/repl/src/App.js @@ -29,8 +29,9 @@ import '@strudel.cycles/core/euclid.mjs'; import '@strudel.cycles/tone/pianoroll.mjs'; import '@strudel.cycles/tone/draw.mjs'; import '@strudel.cycles/osc/osc.mjs'; +import * as superdirt from '@strudel.cycles/osc/superdirt.mjs'; -extend(Tone, strudel, strudel.Pattern.prototype.bootstrap(), toneHelpers, voicingHelpers, drawHelpers, uiHelpers, { +extend(Tone, strudel, superdirt, strudel.Pattern.prototype.bootstrap(), toneHelpers, voicingHelpers, drawHelpers, uiHelpers, { gist, euclid, mini,