This commit is contained in:
Felix Roos
2022-09-16 11:05:01 +02:00
parent a93197019a
commit 0313487b88
1744 changed files with 57 additions and 79 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +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.c88845f4.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};
//# sourceMappingURL=index.7b2cda5c.js.map
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.ef8b8284.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
-2
View File
@@ -1,2 +0,0 @@
import{W as a,J as b}from"./index.c88845f4.js";export{a as WebMidi,b as enableWebMidi};
//# sourceMappingURL=index.2d2040e8.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"index.2d2040e8.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +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.c88845f4.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};
//# sourceMappingURL=index.04913383.js.map
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.ef8b8284.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};
+1
View File
@@ -0,0 +1 @@
import{W as a,J as b}from"./index.ef8b8284.js";export{a as WebMidi,b as enableWebMidi};
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"index.7b2cda5c.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
import{U as a}from"./index.ef8b8284.js";export{a as loadWebDirt};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-2
View File
@@ -1,2 +0,0 @@
import{U as a}from"./index.c88845f4.js";export{a as loadWebDirt};
//# sourceMappingURL=index.a595d658.js.map
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"index.a595d658.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +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.c88845f4.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};
//# sourceMappingURL=serial.c58f9fd1.js.map
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.ef8b8284.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
View File
@@ -1 +0,0 @@
{"version":3,"file":"serial.c58f9fd1.js","sources":["../../packages/serial/serial.mjs"],"sourcesContent":["/*\nserial.mjs - <short description TODO>\nCopyright (C) 2022 Strudel contributors - see <https://github.com/tidalcycles/strudel/blob/main/packages/serial/serial.mjs>\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.\n*/\n\nimport { Pattern, isPattern } from '@strudel.cycles/core';\n\nvar serialWriter;\nvar choosing = false;\n\nexport async function getWriter(br=38400) {\n if (choosing) {\n return;\n }\n choosing = true;\n if (serialWriter) {\n return serialWriter;\n }\n if ('serial' in navigator) {\n const port = await navigator.serial.requestPort();\n await port.open({ baudRate: br });\n const textEncoder = new TextEncoderStream();\n const writableStreamClosed = textEncoder.readable.pipeTo(port.writable);\n const writer = textEncoder.writable.getWriter();\n serialWriter = function (message) {\n writer.write(message)\n }\n }\n else {\n throw('Webserial is not available in this browser.')\n }\n}\n\nconst latency = 0.1;\n\nPattern.prototype.serial = function (...args) {\n return this._withHap((hap) => {\n if (!serialWriter) {\n getWriter(...args);\n }\n const onTrigger = (time, hap, currentTime) => {\n var message = \"\";\n if (typeof hap.value === 'object') {\n if ('action' in hap.value) {\n message += hap.value['action'] + '(';\n var first = true;\n for (const [key, val] of Object.entries(hap.value)) {\n if (key === 'action') {\n continue;\n }\n if (first) {\n first = false;\n }\n else {\n message +=',';\n }\n message += `${key}:${val}`\n }\n message += ')';\n }\n else {\n for (const [key, val] of Object.entries(hap.value)) {\n message += `${key}:${val};`\n }\n }\n }\n else {\n message = hap.value;\n }\n const offset = (time - currentTime + latency) * 1000;\n window.setTimeout(serialWriter, offset, message);\n };\n return hap.setContext({ ...hap.context, onTrigger });\n });\n};\n"],"names":[],"mappings":"qdAQA,GAAI,GACA,EAAW,GAER,iBAAyB,EAAG,MAAO,CACxC,GAAI,GAIJ,IADA,EAAW,GACP,EACF,MAAO,GAET,GAAI,UAAY,WAAW,CACzB,KAAM,GAAO,KAAM,WAAU,OAAO,YAAW,EAC/C,KAAM,GAAK,KAAK,CAAE,SAAU,CAAI,CAAA,EAChC,KAAM,GAAc,GAAI,mBACK,EAAY,SAAS,OAAO,EAAK,QAAQ,EACtE,KAAM,GAAS,EAAY,SAAS,UAAS,EAC7C,EAAe,SAAU,EAAS,CAChC,EAAO,MAAM,CAAO,CACrB,CACF,KAEC,MAAM,8CAEV,CAEA,KAAM,GAAU,GAEhB,EAAQ,UAAU,OAAS,YAAa,EAAM,CAC5C,MAAO,MAAK,SAAS,AAAC,GAAQ,CAC5B,AAAK,GACH,EAAU,GAAG,CAAI,EAEnB,KAAM,GAAY,CAAC,EAAM,EAAK,IAAgB,CAC5C,GAAI,GAAU,GACd,GAAI,MAAO,GAAI,OAAU,SACvB,GAAI,UAAY,GAAI,MAAO,CACzB,GAAW,EAAI,MAAM,OAAY,IACjC,GAAI,GAAQ,GACZ,SAAW,CAAC,EAAK,IAAQ,QAAO,QAAQ,EAAI,KAAK,EAC/C,AAAI,IAAQ,UAGZ,CAAI,EACF,EAAQ,GAGR,GAAU,IAEZ,GAAW,GAAG,KAAO,KAEvB,GAAW,GACZ,KAEC,UAAW,CAAC,EAAK,IAAQ,QAAO,QAAQ,EAAI,KAAK,EAC/C,GAAW,GAAG,KAAO,SAKzB,GAAU,EAAI,MAEhB,KAAM,GAAU,GAAO,EAAc,GAAW,IAChD,OAAO,WAAW,EAAc,EAAQ,CAAO,CACrD,EACI,MAAO,GAAI,WAAW,OAAK,EAAI,SAAT,CAAkB,WAAS,EAAE,CACvD,CAAG,CACH"}
+1 -1
View File
@@ -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.c88845f4.js"></script>
<script type="module" crossorigin src="/assets/index.ef8b8284.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.

Some files were not shown because too many files have changed in this diff Show More