mirror of
https://codeberg.org/uzu/strudel
synced 2026-09-04 22:52:55 -04:00
Updates
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
var d=Object.defineProperty;var g=(s,t,e)=>t in s?d(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var i=(s,t,e)=>(g(s,typeof t!="symbol"?t+"":t,e),e);import{K as S,L as y,N as T,S as B,M as I,O as R,R as W,Q as j}from"./index.29de87b8.js";const k=s=>"("+s+")();",w=s=>URL.createObjectURL(new Blob([k(s)],{type:"text/javascript"})),m=s=>new Worker(w(s));class x{constructor(t,e=this.interval){i(this,"worker");i(this,"interval",.1);i(this,"tick",0);this.interval=e,this.worker=m(()=>{let r,o=null;const h=()=>{o&&(clearInterval(o),o=null)},c=()=>{if(h(),!r)throw new Error("no interval set! call worker.postMessage({interval}) before starting.");postMessage("tick"),o=setInterval(()=>postMessage("tick"),r*1e3)};self.onmessage=function(n){n.data=="start"?c():n.data.interval?(r=n.data.interval,o&&c()):n.data=="stop"&&h()}}),this.worker.postMessage({interval:e}),this.worker.onmessage=r=>{r.data==="tick"&&t(this.tick++,this.interval)}}start(){this.worker.postMessage("start")}stop(){this.worker.postMessage("stop"),this.tick=0}setInterval(t){this.worker.postMessage({interval:t})}}class v{constructor({audioContext:t,interval:e=.1,onEvent:r,latency:o=.1}){i(this,"worker");i(this,"pattern");i(this,"phase");i(this,"audioContext");i(this,"cps",1);this.audioContext=t,this.worker=new x((h,c)=>{const n=this.phase,l=this.phase+c*this.cps;this.phase=l,this.pattern.queryArc(n,l).forEach(a=>{var p,u;if(typeof((p=a.value)==null?void 0:p.cps)=="number"&&this.setCps((u=a.value)==null?void 0:u.cps),!!a.part.begin.equals(a.whole.begin)){if(a.context.onTrigger){const f=(a.whole.begin-n)/this.cps+this.audioContext.currentTime+o;a.context.onTrigger(f,a,this.audioContext.currentTime,this.cps)}r&&(r==null||r(a))}})},e)}start(){if(!this.pattern)throw new Error("Scheduler: no pattern set! call .setPattern first.");this.audioContext.resume(),this.phase=0,this.worker.start()}stop(){this.worker.stop()}setPattern(t){this.pattern=t}setCps(t=1){this.cps=t}}export{x as ClockWorker,v as Scheduler,S as getAudioContext,y as getCachedBuffer,T as getLoadedBuffer,B as getLoadedSamples,I as loadBuffer,R as loadGithubSamples,W as resetLoadedSamples,j as samples};
|
||||
var d=Object.defineProperty;var g=(s,t,e)=>t in s?d(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var i=(s,t,e)=>(g(s,typeof t!="symbol"?t+"":t,e),e);import{K as S,L as y,N as T,S as B,M as I,O as R,R as W,Q as j}from"./index.af73f275.js";const k=s=>"("+s+")();",w=s=>URL.createObjectURL(new Blob([k(s)],{type:"text/javascript"})),m=s=>new Worker(w(s));class x{constructor(t,e=this.interval){i(this,"worker");i(this,"interval",.1);i(this,"tick",0);this.interval=e,this.worker=m(()=>{let r,o=null;const h=()=>{o&&(clearInterval(o),o=null)},c=()=>{if(h(),!r)throw new Error("no interval set! call worker.postMessage({interval}) before starting.");postMessage("tick"),o=setInterval(()=>postMessage("tick"),r*1e3)};self.onmessage=function(n){n.data=="start"?c():n.data.interval?(r=n.data.interval,o&&c()):n.data=="stop"&&h()}}),this.worker.postMessage({interval:e}),this.worker.onmessage=r=>{r.data==="tick"&&t(this.tick++,this.interval)}}start(){this.worker.postMessage("start")}stop(){this.worker.postMessage("stop"),this.tick=0}setInterval(t){this.worker.postMessage({interval:t})}}class v{constructor({audioContext:t,interval:e=.1,onEvent:r,latency:o=.1}){i(this,"worker");i(this,"pattern");i(this,"phase");i(this,"audioContext");i(this,"cps",1);this.audioContext=t,this.worker=new x((h,c)=>{const n=this.phase,l=this.phase+c*this.cps;this.phase=l,this.pattern.queryArc(n,l).forEach(a=>{var p,u;if(typeof((p=a.value)==null?void 0:p.cps)=="number"&&this.setCps((u=a.value)==null?void 0:u.cps),!!a.part.begin.equals(a.whole.begin)){if(a.context.onTrigger){const f=(a.whole.begin-n)/this.cps+this.audioContext.currentTime+o;a.context.onTrigger(f,a,this.audioContext.currentTime,this.cps)}r&&(r==null||r(a))}})},e)}start(){if(!this.pattern)throw new Error("Scheduler: no pattern set! call .setPattern first.");this.audioContext.resume(),this.phase=0,this.worker.start()}stop(){this.worker.stop()}setPattern(t){this.pattern=t}setCps(t=1){this.cps=t}}export{x as ClockWorker,v as Scheduler,S as getAudioContext,y as getCachedBuffer,T as getLoadedBuffer,B as getLoadedSamples,I as loadBuffer,R as loadGithubSamples,W as resetLoadedSamples,j as samples};
|
||||
@@ -0,0 +1 @@
|
||||
import{W as a,J as b}from"./index.af73f275.js";export{a as WebMidi,b as enableWebMidi};
|
||||
@@ -1,4 +1,4 @@
|
||||
var _t=Object.defineProperty,dt=Object.defineProperties;var At=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var Ie=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var Pe=(a,f,r)=>f in a?_t(a,f,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[f]=r,X=(a,f)=>{for(var r in f||(f={}))Ie.call(f,r)&&Pe(a,r,f[r]);if(L)for(var r of L(f))Oe.call(f,r)&&Pe(a,r,f[r]);return a},H=(a,f)=>dt(a,At(f));var qe=(a,f)=>{var r={};for(var $ in a)Ie.call(a,$)&&f.indexOf($)<0&&(r[$]=a[$]);if(a!=null&&L)for(var $ of L(a))f.indexOf($)<0&&Oe.call(a,$)&&(r[$]=a[$]);return r};import{F as ke,G as wt,I as yt}from"./index.29de87b8.js";function bt(a,f){function r(){this.constructor=a}r.prototype=f.prototype,a.prototype=new r}function D(a,f,r,$){var u=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(u,D.prototype),u.expected=f,u.found=r,u.location=$,u.name="SyntaxError",u}bt(D,Error);function J(a,f,r){return r=r||" ",a.length>f?a:(f-=a.length,r+=r.repeat(f),a+r.slice(0,f))}D.prototype.format=function(a){var f="Error: "+this.message;if(this.location){var r=null,$;for($=0;$<a.length;$++)if(a[$].source===this.location.source){r=a[$].text.split(/\r\n|\n|\r/g);break}var u=this.location.start,h=this.location.source+":"+u.line+":"+u.column;if(r){var w=this.location.end,A=J("",u.line.toString().length," "),E=r[u.line-1],_=u.line===w.line?w.column:E.length+1,m=_-u.column||1;f+=`
|
||||
var _t=Object.defineProperty,dt=Object.defineProperties;var At=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var Ie=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var Pe=(a,f,r)=>f in a?_t(a,f,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[f]=r,X=(a,f)=>{for(var r in f||(f={}))Ie.call(f,r)&&Pe(a,r,f[r]);if(L)for(var r of L(f))Oe.call(f,r)&&Pe(a,r,f[r]);return a},H=(a,f)=>dt(a,At(f));var qe=(a,f)=>{var r={};for(var $ in a)Ie.call(a,$)&&f.indexOf($)<0&&(r[$]=a[$]);if(a!=null&&L)for(var $ of L(a))f.indexOf($)<0&&Oe.call(a,$)&&(r[$]=a[$]);return r};import{F as ke,G as wt,I as yt}from"./index.af73f275.js";function bt(a,f){function r(){this.constructor=a}r.prototype=f.prototype,a.prototype=new r}function D(a,f,r,$){var u=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(u,D.prototype),u.expected=f,u.found=r,u.location=$,u.name="SyntaxError",u}bt(D,Error);function J(a,f,r){return r=r||" ",a.length>f?a:(f-=a.length,r+=r.repeat(f),a+r.slice(0,f))}D.prototype.format=function(a){var f="Error: "+this.message;if(this.location){var r=null,$;for($=0;$<a.length;$++)if(a[$].source===this.location.source){r=a[$].text.split(/\r\n|\n|\r/g);break}var u=this.location.start,h=this.location.source+":"+u.line+":"+u.column;if(r){var w=this.location.end,A=J("",u.line.toString().length," "),E=r[u.line-1],_=u.line===w.line?w.column:E.length+1,m=_-u.column||1;f+=`
|
||||
--> `+h+`
|
||||
`+A+` |
|
||||
`+u.line+" | "+E+`
|
||||
@@ -0,0 +1 @@
|
||||
import{U as a}from"./index.af73f275.js";export{a as loadWebDirt};
|
||||
@@ -1 +0,0 @@
|
||||
import{W as a,J as b}from"./index.29de87b8.js";export{a as WebMidi,b as enableWebMidi};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{T as e,o as n,a as o,x as t,u as h,y as l,d as p,f as r,g as m,t as y,w as u,k as c,l as d,m as g,b as i,c as f,n as w,q as b,r as k,j as x,h as D,p as v,e as T,s as j,i as q,v as C}from"./index.29de87b8.js";export{e as Tone,n as adsr,o as amsynth,t as backgroundImage,h as cleanupDraw,l as cleanupUi,p as duosynth,r as fmsynth,m as getDefaultSynth,y as getDrawContext,u as hideHeader,c as highpass,d as lowpass,g as membrane,i as metal,f as monosynth,w as noise,b as osc,k as out,x as piano,D as players,v as pluck,T as polysynth,j as sampler,q as synth,C as vol};
|
||||
import{T as e,o as n,a as o,x as t,u as h,y as l,d as p,f as r,g as m,t as y,w as u,k as c,l as d,m as g,b as i,c as f,n as w,q as b,r as k,j as x,h as D,p as v,e as T,s as j,i as q,v as C}from"./index.af73f275.js";export{e as Tone,n as adsr,o as amsynth,t as backgroundImage,h as cleanupDraw,l as cleanupUi,p as duosynth,r as fmsynth,m as getDefaultSynth,y as getDrawContext,u as hideHeader,c as highpass,d as lowpass,g as membrane,i as metal,f as monosynth,w as noise,b as osc,k as out,x as piano,D as players,v as pluck,T as polysynth,j as sampler,q as synth,C as vol};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{U as a}from"./index.29de87b8.js";export{a as loadWebDirt};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
var d=Object.defineProperty,m=Object.defineProperties;var x=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var u=(r,e,t)=>e in r?d(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,v=(r,e)=>{for(var t in e||(e={}))p.call(e,t)&&u(r,t,e[t]);if(f)for(var t of f(e))T.call(e,t)&&u(r,t,e[t]);return r},w=(r,e)=>m(r,x(e));import{P as W}from"./index.29de87b8.js";var n,b=!1;async function $(r=38400){if(!b){if(b=!0,n)return n;if("serial"in navigator){const e=await navigator.serial.requestPort();await e.open({baudRate:r});const t=new TextEncoderStream;t.readable.pipeTo(e.writable);const s=t.writable.getWriter();n=function(i){s.write(i)}}else throw"Webserial is not available in this browser."}}const j=.1;W.prototype.serial=function(...r){return this._withHap(e=>{n||$(...r);const t=(s,i,g)=>{var o="";if(typeof i.value=="object")if("action"in i.value){o+=i.value.action+"(";var c=!0;for(const[a,l]of Object.entries(i.value))a!=="action"&&(c?c=!1:o+=",",o+=`${a}:${l}`);o+=")"}else for(const[a,l]of Object.entries(i.value))o+=`${a}:${l};`;else o=i.value;const y=(s-g+j)*1e3;window.setTimeout(n,y,o)};return e.setContext(w(v({},e.context),{onTrigger:t}))})};export{$ as getWriter};
|
||||
var d=Object.defineProperty,m=Object.defineProperties;var x=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var u=(r,e,t)=>e in r?d(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,v=(r,e)=>{for(var t in e||(e={}))p.call(e,t)&&u(r,t,e[t]);if(f)for(var t of f(e))T.call(e,t)&&u(r,t,e[t]);return r},w=(r,e)=>m(r,x(e));import{P as W}from"./index.af73f275.js";var n,b=!1;async function $(r=38400){if(!b){if(b=!0,n)return n;if("serial"in navigator){const e=await navigator.serial.requestPort();await e.open({baudRate:r});const t=new TextEncoderStream;t.readable.pipeTo(e.writable);const s=t.writable.getWriter();n=function(i){s.write(i)}}else throw"Webserial is not available in this browser."}}const j=.1;W.prototype.serial=function(...r){return this._withHap(e=>{n||$(...r);const t=(s,i,g)=>{var o="";if(typeof i.value=="object")if("action"in i.value){o+=i.value.action+"(";var c=!0;for(const[a,l]of Object.entries(i.value))a!=="action"&&(c?c=!1:o+=",",o+=`${a}:${l}`);o+=")"}else for(const[a,l]of Object.entries(i.value))o+=`${a}:${l};`;else o=i.value;const y=(s-g+j)*1e3;window.setTimeout(n,y,o)};return e.setContext(w(v({},e.context),{onTrigger:t}))})};export{$ as getWriter};
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
<!-- TODO: add manifest images -->
|
||||
<!-- <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> -->
|
||||
<title>Strudel REPL</title>
|
||||
<script type="module" crossorigin src="/assets/index.29de87b8.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index.af73f275.js"></script>
|
||||
<link rel="stylesheet" href="/assets/index.ea54525d.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user