This commit is contained in:
Bubobubobubobubo
2023-08-30 17:11:17 +00:00
parent 114beda15c
commit b0a86fba88
4 changed files with 174 additions and 147 deletions

View File

@ -0,0 +1 @@
var d=Object.defineProperty;var n=(e,s,i)=>s in e?d(e,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[s]=i;var o=(e,s,i)=>(n(e,typeof s!="symbol"?s+"":s,i),i);(function(){"use strict";class e extends AudioWorkletProcessor{constructor(t){super(t);o(this,"handleMessage",t=>{t.data&&t.data.type==="ping"?this.port.postMessage(t.data):t.data==="start"?this.started=!0:t.data==="pause"?(this.started=!1,this.lastPausedTime===0&&(this.lastPausedTime=currentTime)):t.data==="stop"?(this.started=!1,this.totalPausedTime=0,this.lastPausedTime=0,this.wasStopped=!0,this.currentPulsePosition=0):t.data==="bpm"?this.bpm=t.data.value:t.data==="ppqn"&&(this.ppqn=t.data.value)});this.port.addEventListener("message",this.handleMessage),this.port.start(),this.started=!1,this.totalPausedTime=0,this.lastPausedTime=0,this.startedAgainTime=0,this.wasStopped=!1,this.bpm=120,this.ppqn=48,this.currentPulsePosition=0}process(t,p,l){if(this.started){if(this.lastPausedTime>0){const h=currentTime-this.lastPausedTime;this.totalPausedTime+=h,this.lastPausedTime=0}this.wasStopped&&(this.startedAgainTime=currentTime,this.wasStopped=!1);const a=currentTime-this.totalPausedTime-this.startedAgainTime,u=a/(60/this.bpm),r=Math.ceil(u*this.ppqn);r>this.currentPulsePosition&&(this.currentPulsePosition=r,this.port.postMessage({type:"bang",logicalTime:a}))}return!0}}registerProcessor("transport",e)})();

View File

@ -1 +0,0 @@
var o=Object.defineProperty;var h=(e,s,a)=>s in e?o(e,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[s]=a;var i=(e,s,a)=>(h(e,typeof s!="symbol"?s+"":s,a),a);(function(){"use strict";class e extends AudioWorkletProcessor{constructor(t){super(t);i(this,"handleMessage",t=>{t.data&&t.data.type==="ping"?this.port.postMessage(t.data):t.data==="start"?this.started=!0:t.data==="pause"?(this.started=!1,this.lastPausedTime===0&&(this.lastPausedTime=currentTime)):t.data==="stop"&&(this.started=!1,this.totalPausedTime=0,this.lastPausedTime=0,this.startedAgainTime=0,this.wasStopped=!0)});this.port.addEventListener("message",this.handleMessage),this.port.start(),this.started=!1,this.totalPausedTime=0,this.lastPausedTime=0,this.startedAgainTime=0,this.wasStopped=!1}process(t,u,p){if(this.started){if(this.lastPausedTime>0){const d=currentTime-this.lastPausedTime;this.totalPausedTime+=d,this.lastPausedTime=0}this.wasStopped&&(this.startedAgainTime=currentTime,this.wasStopped=!1);const r=currentTime-this.totalPausedTime-this.startedAgainTime;this.port.postMessage({type:"bang",logicalTime:r})}return!0}}registerProcessor("transport",e)})();

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Topos</title>
<script type="module" crossorigin src="/assets/index-7c88339e.js"></script>
<script type="module" crossorigin src="/assets/index-1bae6379.js"></script>
<link rel="stylesheet" href="/assets/index-adcffe3f.css">
</head>
<style>