From 80085b2d4483949c4259b1126e70015e3e9d9273 Mon Sep 17 00:00:00 2001 From: Bubobubobubobubo Date: Sun, 5 Nov 2023 19:16:36 +0000 Subject: [PATCH] deploy: 11b20c7c11c046d70f42a5d2a1ba4dd6b4c59f87 --- assets/{index-6916bd63.js => index-56e9a5a0.js} | 6 ++++-- index.html | 11 ++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) rename assets/{index-6916bd63.js => index-56e9a5a0.js} (99%) diff --git a/assets/index-6916bd63.js b/assets/index-56e9a5a0.js similarity index 99% rename from assets/index-6916bd63.js rename to assets/index-56e9a5a0.js index bf88811..c3f3387 100644 --- a/assets/index-6916bd63.js +++ b/assets/index-56e9a5a0.js @@ -322,13 +322,15 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction `||c=="\r")c=" ";else if(c==" "){c=" ";var l=e.coordsAtPos(i+1,-1);l&&(I=l.left-(l.left-u.left)/parseInt(E.tabSize))}else/[\uD800-\uDBFF]/.test(c)&&i{e.state.vim&&(e.state.vim.status=""),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on("vim-mode-change",t=>{e.state.vim.mode=t.mode,t.subMode&&(e.state.vim.mode+=" block"),e.state.vim.status="",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus()}),this.cm.on("dialog",()=>{this.cm.state.statusbar?this.updateStatus():r.dispatch({effects:FI.of(!!this.cm.state.dialog)})}),this.dom=document.createElement("span"),this.dom.style.cssText="position: absolute; right: 10px; top: 1px",this.statusButton=document.createElement("span"),this.statusButton.onclick=t=>{po.handleKey(this.cm,"","user"),this.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}update(r){var e;if((r.viewportChanged||r.docChanged)&&this.query&&this.highlight(this.query),r.docChanged&&this.cm.onChange(r),r.selectionSet&&this.cm.onSelectionChange(),r.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),r.transactions){for(let t of r.transactions)for(let n of t.effects)if(n.is(jm))if(!((e=n.value)===null||e===void 0?void 0:e.forVim))this.highlight(null);else{let a=n.value.create();this.highlight(a)}}this.blockCursor.update(r)}updateClass(){const r=this.cm.state;!r.vim||r.vim.insertMode&&!r.overwrite?this.view.scrollDOM.classList.remove("cm-vimMode"):this.view.scrollDOM.classList.add("cm-vimMode")}updateStatus(){let r=this.cm.state.statusbar,e=this.cm.state.vim;if(!r||!e)return;let t=this.cm.state.dialog;if(t)t.parentElement!=r&&(r.textContent="",r.appendChild(t));else{r.textContent="";var n=(e.mode||"normal").toUpperCase();e.insertModeReturn&&(n+="(C-O)"),this.statusButton.textContent=`--${n}--`,r.appendChild(this.statusButton)}this.dom.textContent=e.status,r.appendChild(this.dom)}destroy(){po.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(r){if(this.query=r,!r)return this.decorations=Ke.none;let{view:e}=this,t=new Ia;for(let n=0,i=e.visibleRanges,a=i.length;ni[n+1].from-2*y3;)o=i[++n].to;r.highlight(e.state,s,o,(l,c)=>{t.add(l,c,N3)})}return this.decorations=t.finish()}handleKey(r,e){const t=ut.vimKey(r),n=this.cm;if(!t)return;let i=n.state.vim;if(!i)return;if(t==""&&!i.insertMode&&!i.visualMode&&this.query){const o=i.searchState_;o&&(n.removeOverlay(o.getOverlay()),o.setOverlay(null))}if(t===""&&!ut.isMac&&n.somethingSelected())return this.waitForCopy=!0,!0;i.status=(i.status||"")+t;let s=po.multiSelectHandleKey(n,t,"user");return i=n.state.vim,!s&&i.insertMode&&n.state.overwrite&&(r.key&&r.key.length==1&&!/\n/.test(r.key)?(s=!0,n.overWriteSelection(r.key)):r.key=="Backspace"&&(s=!0,ut.commands.cursorCharLeft(n))),s&&(ut.signal(this.cm,"vim-keypress",t),r.preventDefault(),r.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!s}},{eventHandlers:{copy:function(r,e){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var t=this.cm,n=t.state.vim;n&&(n.insertMode?t.setSelection(t.getCursor(),t.getCursor()):t.operation(()=>{t.curOp&&(t.curOp.isVimOp=!0),po.handleKey(t,"","user")}))}))},compositionstart:function(r,e){this.useNextTextInput=!0},keypress:function(r,e){this.lastKeydown=="Dead"&&this.handleKey(r,e)},keydown:function(r,e){this.lastKeydown=r.key,this.lastKeydown=="Unidentified"||this.lastKeydown=="Process"||this.lastKeydown=="Dead"?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(r,e))}},provide:()=>[Me.inputHandler.of((r,e,t,n)=>{var i,a,s=k3(r);if(!s)return!1;var o=(i=s.state)===null||i===void 0?void 0:i.vim,l=s.state.vimPlugin;return o&&!o.insertMode&&!(!((a=s.curOp)===null||a===void 0)&&a.isVimOp)?(n==="\0\0"||(n.length==1&&l.useNextTextInput&&l.handleKey({key:n,preventDefault:()=>{},stopPropagation:()=>{}}),R3(r)),!0):!1})],decorations:r=>r.decorations});function R3(r){var e=r.scrollDOM.parentElement;if(e){if(C3){r.contentDOM.textContent="\0\0",r.contentDOM.dispatchEvent(new CustomEvent("compositionend"));return}var t=r.scrollDOM.nextSibling,n=window.getSelection(),i=n&&{anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset};r.scrollDOM.remove(),e.insertBefore(r.scrollDOM,t);try{i&&n&&(n.setPosition(i.anchorNode,i.anchorOffset),i.focusNode&&n.extend(i.focusNode,i.focusOffset))}catch(a){console.error(a)}r.focus(),r.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}}const N3=Ke.mark({class:"cm-searchMatch"}),FI=ot.define(),w3=Tn.define({create:()=>!1,update(r,e){for(let t of e.effects)t.is(FI)&&(r=t.value);return r},provide:r=>Yo.from(r,e=>e?D3:null)});function D3(r){let e=document.createElement("div");e.className="cm-vim-panel";let t=r.cm;return t.state.dialog&&e.appendChild(t.state.dialog),{top:!1,dom:e}}function x3(r){let e=document.createElement("div");e.className="cm-vim-panel";let t=r.cm;return t.state.statusbar=e,t.state.vimPlugin.updateStatus(),{dom:e}}function O_(r={}){return[A3,I3,E3,r.status?Yo.of(x3):w3]}function k3(r){return r.cm||null}const L3=r=>{const e=gn(r);return` # Welcome -Welcome to the Topos documentation. These pages are offering you an introduction to the software and to the ideas behind it. You can jump here anytime by pressing ${gt("Ctrl + D")}. Press again to make the documentation disappear. All your contributions are welcome! +Welcome to the **Topos** documentation. You can jump here anytime by pressing ${gt("Ctrl + D")}. Press again to make the documentation disappear. Contributions are much appreciated! The documentation [lives here](https://github.com/Bubobubobubobubo/topos/tree/main/src/documentation). ${e("Welcome! Eval to get started",Lc[Math.floor(Math.random()*Lc.length)],!0)} ## What is Topos? -Topos is an _algorithmic_ sequencer. Topos uses small algorithms to represent musical sequences and processes. These can be written in just a few lines of code. Topos is made to be _live-coded_. The _live coder_ strives for the constant interaction with algorithms and sound during a musical performance. Topos is aiming to be a digital playground for live algorithmic music. +Topos is an _algorithmic_ sequencer. Topos is a _live coding_ environment. Think making music in real time through code. Code used as an expressive medium for musical improvisation! Topos uses small algorithms to represent musical sequences and processes. + +The syntax is voluntarily terse. The software is designed like this to encourage the user to write complex musical expressions very fast while on stage. The _live coder_ strives for the constant interaction with algorithms and sound during a musical performance. Topos is aiming to be a digital playground for live algorithmic music. ${e("Small algorithms for direct musical expression",` beat(1) :: sound(['kick', 'hat', 'snare', 'hat'].beat(1)).out() diff --git a/index.html b/index.html index 0e9923d..021f3ab 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ - +