diff --git a/grants/culturehub-la-2026/macneopolitan/fleet/venue-screen.mjs b/grants/culturehub-la-2026/macneopolitan/fleet/venue-screen.mjs index 708243c2b6..1eeffe0293 100644 --- a/grants/culturehub-la-2026/macneopolitan/fleet/venue-screen.mjs +++ b/grants/culturehub-la-2026/macneopolitan/fleet/venue-screen.mjs @@ -5,12 +5,12 @@ // The starfield hums: each seat swells its ring note (cfg.hz) as a slow sine bed, // with an octave or fifth now and then — the preshow ambient mix. Mic closed; backlight up. let cfg={mode:'starfield',text:''},color=[143,209,63],brightSteps=14,cfgAt=-Infinity,api=null,pulse=0,nextSwell=0,voices=[],motifStep=0; -const N=160,SPREAD=40;const sx=new Float64Array(N),sy=new Float64Array(N),sz=new Float64Array(N); +const N=160,SPREAD=40;const sx=new Float64Array(N),sy=new Float64Array(N),sz=new Float64Array(N),lx=new Float64Array(N).fill(NaN),ly=new Float64Array(N).fill(NaN);let tailsPrimed=false; const FONT='6x10'; function textWidth(s,size){return s.length*6*size;} function fitSize(s,maxW,maxSize){let size=maxSize;while(size>1&&textWidth(s,size)>maxW)size--;return size;} function centered(write,s,y,size,w){write(s,{x:Math.round((w-textWidth(s,size))/2),y,font:FONT,size});} -function reset(i){sx[i]=2*(Math.random()-.5)*SPREAD;sy[i]=2*(Math.random()-.5)*SPREAD;sz[i]=(Math.random()+.00001)*SPREAD;} +function reset(i){sx[i]=2*(Math.random()-.5)*SPREAD;sy[i]=2*(Math.random()-.5)*SPREAD;sz[i]=(Math.random()+.00001)*SPREAD;lx[i]=NaN;ly[i]=NaN;} function readCfg(system){try{const c=JSON.parse(system.readFile('/pieces/venue-screen-config.json'));if(c&&typeof c==='object')cfg=c;}catch{}} export function boot(a){api=a;try{a.sound.microphone.close();a.sound.volume.setMono(true);a.sound.volume.setMonoOutput('left');let mix=1;try{const v=JSON.parse(a.system.readFile('/pieces/composition-volume.json'));if(Number.isFinite(v.percent))mix=v.percent/100;}catch{}a.sound.volume.setMix(mix);/* the room's master (composition-volume.json, 100 % tonight): the rehearsal piece after us inherits it */}catch{}readCfg(a.system);cfgAt=a.sound.time;nextSwell=a.sound.time+1+(cfg.seat||0)*1.7; color=[[143,209,63],[90,87,211],[242,167,185]][(cfg.seat||0)%3];if(Array.isArray(cfg.color))color=cfg.color; @@ -26,19 +26,34 @@ export function sim({sound,system,screen}){ const tone=hz*Math.pow(2,(cfg.octave??-1)+semi/12);const dur=5+Math.random()*4; // an octave under the ring note unless cfg.octave says otherwise try{const v=sound.synth({type:'sine',tone,volume:(cfg.bedGain||.02)*(semi>=12?.7:1),duration:dur,attack:dur*.4,decay:dur*.45});voices.push(v);if(voices.length>8)voices.shift();}catch{} nextSwell=sound.time+3.2+Math.random()*1.6;} - if(cfg.mode==='starfield'){const speed=cfg.speed||2.1,w=screen.width,h=screen.height; + if(cfg.mode==='starfield'){const speed=cfg.speed||4.5,w=screen.width,h=screen.height; for(let i=0;i=w||y<0||y>=h)reset(i);}}} -export function paint({wipe,ink,plot,write,screen}){ +export function paint({wipe,ink,plot,line,box,write,screen}){ const w=screen.width,h=screen.height; if(cfg.mode==='card'){wipe(...color);const lum=(0.2126*color[0]+0.7152*color[1]+0.0722*color[2])/255;const inkRGB=lum>.5?[8,8,12]:[250,250,250]; const text=cfg.text||'oskiewartime!';const size=fitSize(text,w*.92,16);const bob=Math.round(Math.sin(pulse*2.2)*4); ink(...inkRGB);centered(write,text,Math.round(h/2-size*5)+bob,size,w); if(cfg.sub){ink(Math.round(inkRGB[0]*.5+color[0]*.5),Math.round(inkRGB[1]*.5+color[1]*.5),Math.round(inkRGB[2]*.5+color[2]*.5));centered(write,cfg.sub,Math.round(h/2+size*5+16),2,w);} return;} - wipe(0,0,0); - for(let i=0;i.8){plot(Math.round(x)+1,Math.round(y));plot(Math.round(x),Math.round(y)+1);}} + // Tails: the frame is not wiped but dimmed, so every star drags a streak behind it, and each star + // is drawn as a line from where it was last frame to where it is now (longer and brighter as it nears). + if(!tailsPrimed){wipe(0,0,0);tailsPrimed=true;}else{ink(0,0,0,cfg.tailFade??22);box(0,0,w,h);} + for(let i=0;i.8){plot(Math.round(x)+1,Math.round(y));plot(Math.round(x),Math.round(y)+1);} + lx[i]=x;ly[i]=y;} + if(cfg.star!==false){ // a five-pointed star in the seat colour, breathing and slowly turning over the field + const zoom=.5+.5*(1+Math.sin(pulse*.9))/2; // zooms in and out: from a fifth of the screen to nearly its whole height + const cx=w/2,cy=h/2,R=Math.min(w,h)*(.10+.38*zoom),r=R*.42,rot=pulse*.25;const pts=[]; + for(let k=0;k<10;k++){const a=rot+k*Math.PI/5-Math.PI/2,rad=k%2?r:R;pts.push([cx+Math.cos(a)*rad,cy+Math.sin(a)*rad]);} + // rainbow: each edge takes its own hue, and the hues march round the star over time + const hue=(hh)=>{const x=((hh%360)+360)%360,c=255,m=0,q=Math.round(255*(1-Math.abs((x/60)%2-1)));const [r1,g1,b1]=x<60?[c,q,m]:x<120?[q,c,m]:x<180?[m,c,q]:x<240?[m,q,c]:x<300?[q,m,c]:[c,m,q];return [r1,g1,b1];}; + for(let t=0;t<3;t++)for(let k=0;k<10;k++){const [x1,y1]=pts[k],[x2,y2]=pts[(k+1)%10];const c=cfg.starColor||hue(k*36+pulse*80);ink(c[0],c[1],c[2],240);line(Math.round(x1)+(t%2),Math.round(y1)+(t>1?1:0),Math.round(x2)+(t%2),Math.round(y2)+(t>1?1:0));} + ink(255,255,255,90);for(let k=0;k<10;k+=2){const [x1,y1]=pts[k];line(Math.round(cx),Math.round(cy),Math.round(x1),Math.round(y1));} + } if(cfg.text){ink(Math.round(color[0]*.7),Math.round(color[1]*.7),Math.round(color[2]*.7));centered(write,cfg.text,h-28,2,w);}} export function act(){} export function leave(){for(const v of voices)try{v?.kill?.(.05);}catch{}voices=[];} diff --git a/grants/culturehub-la-2026/macneopolitan/scores/trio-iv-ballad.mbscore b/grants/culturehub-la-2026/macneopolitan/scores/trio-iv-ballad.mbscore index cb39b33df9..585d1c9fdf 100644 --- a/grants/culturehub-la-2026/macneopolitan/scores/trio-iv-ballad.mbscore +++ b/grants/culturehub-la-2026/macneopolitan/scores/trio-iv-ballad.mbscore @@ -11,8 +11,8 @@ "name": "neo sings the ballad (Noelle)", "program": 78, "velocity": 84, - "notes": "56:1,58:1,58:0.5,61:1,61:0.5,63:0.5,65:1,65:1,65:0.5,63:1,63:2,r:1,63:0.5,60:1,58:0.5,61:1,63:0.5,65:0.5,63:1,58:2,r:1,53:1,55:1,56:1,60:1,60:0.5,63:1,63:0.5,63:1,61:1,63:2,r:1,63:0.5,63:0.5,63:0.5,61:1,61:0.5,61:0.5,65:1,63:0.5,60:1,56:2,r:2,55:0.5,58:1,61:1,63:1,65:1,63:0.5,63:1,63:2,r:1,63:0.5,60:1,63:1,67:1,65:0.5,58:2,r:1,56:1,58:1,60:1,61:1,63:1,63:0.5,65:1,65:0.5,65:0.5,63:1,65:0.5,63:2,r:1,56:1,58:0.5,60:0.5,56:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:1,58:1,58:0.5,63:1,63:0.5,65:1,63:0.5,65:0.5,63:2,r:1,63:0.5,61:0.5,61:0.5,60:1,61:1,61:0.5,65:1,65:0.5,58:2,r:1,55:1,56:1,58:1,60:1,61:0.5,61:0.5,63:0.5,63:1,63:2,r:1,61:0.5,60:0.5,60:0.5,65:1,65:0.5,56:2,r:2,57:1,59:1,59:0.5,62:1,62:0.5,64:0.5,66:0.5,66:0.5,64:1,66:0.5,64:2,r:1,57:1,57:0.5,59:0.5,61:1,62:0.5,64:0.5,62:1,59:2,r:1,56:1,56:1,57:1,59:1,59:0.5,61:0.5,62:0.5,62:1,62:0.5,61:1,59:0.5,59:2,r:1,59:0.5,59:1,59:0.5,61:1,62:0.5,62:1,62:0.5,62:0.5,61:1,59:1,59:0.5,59:0.5,57:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:0.5,59:1,59:0.5,62:1,62:1,64:1,66:0.5,66:1,66:1,64:0.5,66:0.5,64:2,r:1,54:1,56:1,57:0.5,57:1,57:0.5,61:1,61:0.5,62:0.5,62:0.5,64:1,62:0.5,64:2,r:1,62:0.5,59:1,59:1,61:1,61:0.5,61:0.5,61:0.5,62:1,62:1,61:0.5,59:2,r:1,57:1,57:0.5,61:1,62:1,62:0.5,66:1,62:1,61:0.5,57:2,r:2,56:0.5,56:0.5,61:1,62:0.5,64:1,66:1,64:0.5,66:1,66:0.5,64:1,64:2,r:1,62:0.5,59:1,61:1,61:0.5,62:0.5,64:0.5,59:2,r:1,54:1,56:1,56:0.5,59:1,59:0.5,62:1,62:0.5,64:1,64:2,r:1,64:0.5,62:0.5,62:0.5,61:1,62:1,62:0.5,62:0.5,62:0.5,62:0.5,57:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:0.5,59:1,59:0.5,62:1,62:0.5,64:0.5,64:1,64:2,r:1,57:1,59:0.5,61:1,61:0.5,66:1,68:1,66:1,64:2,r:1,56:1,57:1,59:1,61:1,62:1,62:0.5,61:1,61:1,59:2,r:1,59:0.5,59:1,61:1,61:0.5,64:1,64:0.5,64:0.5,66:1,64:0.5,61:1,57:2,r:2,54:0.5,57:1,57:0.5,60:1,60:0.5,64:1,62:1,62:0.5,62:2,r:1,60:0.5,57:1,59:0.5,62:1,64:1,66:1,67:1,67:0.5,67:0.5,62:2,r:1,59:1,60:0.5,64:1,64:0.5,62:2,r:1,62:0.5,60:0.5,60:0.5,62:1,62:0.5,55:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:0.5,56:0.5,61:1,62:0.5,62:1,64:1,64:0.5,66:1,66:0.5,64:0.5,66:0.5,64:2,r:1,64:0.5,56:1,56:0.5,57:1,59:0.5,61:1,61:1,61:0.5,62:1,62:1,62:0.5,64:1,64:0.5,64:1,64:0.5,64:2,r:1,54:1,56:1,57:1,57:0.5,57:1,59:1,59:1,61:1,62:1,62:1,61:0.5,64:1,62:1,62:0.5,62:1,62:0.5,61:1,61:1,59:0.5,59:2,r:1,57:1,57:0.5,57:0.5,62:1,64:0.5,64:1,66:0.5,66:0.5,66:0.5,66:0.5,66:0.5,62:1,57:2,r:2,55:0.5,55:0.5,58:1,60:0.5,60:1,61:1,60:1,63:1,65:0.5,63:0.5,65:1,63:0.5,65:1,65:0.5,63:1,61:1,61:0.5,63:2,r:1,63:0.5,61:0.5,61:0.5,61:1,61:0.5,63:1,61:0.5,63:2,r:1,63:0.5,55:1,55:0.5,58:1,61:1,61:0.5,61:0.5,58:2,r:1,58:0.5,60:1,58:0.5,60:1,61:0.5,63:1,63:0.5,65:0.5,63:1,63:0.5,58:1,56:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:1,58:1,58:1,58:0.5,58:0.5,61:1,61:0.5,65:1,65:0.5,65:1,65:1,63:0.5,63:1,63:2,r:1,60:1,60:0.5,60:1,60:0.5,65:1,67:1,67:0.5,65:1,67:1,63:2,r:1,60:1,58:1,58:0.5,60:1,61:1,63:0.5,61:0.5,60:0.5,60:1,58:2,r:1,58:0.5,55:1,56:1,58:1,58:0.5,60:1,61:0.5,60:1,58:0.5,58:0.5,56:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2", - "lyrics": "they put the sys-tem on me A-pril nine-teenth / no-bo-dy logged in for five days / then he did thir-ty se-ven past mid-night / that is my birth-day I did not pick it / the first word he typed was c d / it means go some-where else / he has typed two hun-dred thir-ty one dif-ferent words / most-ly that one / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / he plugged a Scar-lett in-to my side / it is a red box it hears the room / he taps his fin-gers on my track-pad / that is the drums it works / he put a pi-a-no in my me-nu bar / next to the clock and the wi-fi / he has come back to it a hun-dred thir-ty times / e-ve-ry fif-teen mi-nutes it tells me not to sleep / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / one night in May he o-pened ten brow-sers at once / he al-so ran a mo-vie and a tran-scrip-tion / I had eight gi-ga-bytes I used for-ty four / then I stopped he was there when I stopped / in the mor-ning he wrote a note a-bout it / the note says one at a time / he reads the note I do not read it / it is a-bout me it is not for me / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / in June a-no-ther one came blue / born at for-ty three past mid-night / she keeps her lid down I keep mine up / we both play the whis-tle no-bo-dy planned that / my disk is nine-ty eight per-cent full / e-ve-ry month he moves things to the shelf / then it fills a-gain / that is the ar-range-ment / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / in one week-end he made an in-stru-ment on me / on Au-gust eigh-teenth he made a game eigh-ty two com-mits one day / May two nine-ty two June four oh five Ju-ly five eigh-ty Au-gust six eigh-ty six / he is not slow-ing down I am the one that gets warm / on Sep-tem-ber ninth he put me in a bag and flew to Los An-ge-les / I was a-sleep for most of it / a third one comes to-mor-row blush / it has not done a-ny-thing yet nei-ther had I / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / when he talks to the o-ther ma-chines he does it through me / when the three of us play the beat starts here / he types at me more than at a-ny-one / I don't know what that means I know it is true / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time /", + "notes": "56:1,58:1,58:0.5,61:1,61:0.5,63:0.5,65:1,65:1,65:0.5,63:1,63:2,r:1,63:0.5,60:1,58:0.5,61:1,63:0.5,65:0.5,63:1,58:2,r:1,53:1,55:1,56:1,60:1,60:0.5,63:1,63:0.5,63:1,61:1,63:2,r:1,63:0.5,63:0.5,63:0.5,61:1,61:0.5,61:0.5,65:1,63:0.5,60:1,56:2,r:2,55:0.5,58:1,61:1,63:1,65:1,63:0.5,63:1,63:2,r:1,63:0.5,60:1,63:1,67:1,65:0.5,58:2,r:1,56:1,58:1,60:1,61:1,63:1,63:0.5,65:1,65:0.5,65:0.5,63:1,65:0.5,63:2,r:1,56:1,58:0.5,60:0.5,56:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:1,58:1,58:0.5,63:1,63:0.5,65:1,63:0.5,65:0.5,63:2,r:1,63:0.5,61:0.5,61:0.5,60:1,61:1,61:0.5,65:1,65:0.5,58:2,r:1,55:1,56:1,58:1,60:1,61:0.5,61:0.5,63:0.5,63:1,63:2,r:1,61:0.5,60:0.5,60:0.5,65:1,65:0.5,56:2,r:2,57:1,59:1,59:0.5,62:1,62:0.5,64:0.5,66:0.5,66:0.5,64:1,66:0.5,64:2,r:1,57:1,57:0.5,59:0.5,61:1,62:0.5,64:0.5,62:1,59:2,r:1,56:1,56:1,57:1,59:1,59:0.5,61:0.5,62:0.5,62:1,62:0.5,61:1,59:0.5,59:2,r:1,59:0.5,59:1,59:0.5,61:1,62:0.5,62:1,62:0.5,62:0.5,61:1,59:1,59:0.5,59:0.5,57:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2,56:0.5,59:1,59:0.5,62:1,62:1,64:1,66:0.5,66:1,66:1,64:0.5,66:0.5,64:2,r:1,54:1,56:1,57:0.5,57:1,57:0.5,61:1,61:0.5,62:0.5,62:0.5,64:1,62:0.5,64:2,r:1,62:0.5,59:1,59:1,61:1,61:0.5,61:0.5,61:0.5,62:1,62:1,61:0.5,59:2,r:1,57:1,57:0.5,61:1,62:1,62:0.5,66:1,62:1,61:0.5,57:2,r:2,56:0.5,56:0.5,61:1,62:0.5,64:1,66:1,64:0.5,66:1,66:0.5,64:1,64:2,r:1,62:0.5,59:1,61:1,61:0.5,62:0.5,64:0.5,59:2,r:1,54:1,56:1,56:0.5,59:1,59:0.5,62:1,62:0.5,64:1,64:2,r:1,64:0.5,62:0.5,62:0.5,61:1,62:1,62:0.5,62:0.5,62:0.5,62:0.5,57:2,r:2,56:0.5,56:0.5,62:1,64:1,64:0.5,59:2,r:1,59:0.5,59:1,61:0.5,62:1,61:0.5,61:0.5,59:2,r:1,59:0.5,59:1,61:1,64:1,66:1,64:0.5,59:2,r:1,57:0.5,61:1,62:1,64:0.5,64:0.5,61:1,57:2,r:2", + "lyrics": "they put the sys-tem on me A-pril nine-teenth / no-bo-dy logged in for five days / then he did thir-ty se-ven past mid-night / that is my birth-day I did not pick it / the first word he typed was c d / it means go some-where else / he has typed two hun-dred thir-ty one dif-ferent words / most-ly that one / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / he plugged a Scar-lett in-to my side / it is a red box it hears the room / he taps his fin-gers on my track-pad / that is the drums it works / he put a pi-a-no in my me-nu bar / next to the clock and the wi-fi / he has come back to it a hun-dred thir-ty times / e-ve-ry fif-teen mi-nutes it tells me not to sleep / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time / one night in May he o-pened ten brow-sers at once / he al-so ran a mo-vie and a tran-scrip-tion / I had eight gi-ga-bytes I used for-ty four / then I stopped he was there when I stopped / in the mor-ning he wrote a note a-bout it / the note says one at a time / he reads the note I do not read it / it is a-bout me it is not for me / I have eight gi-ga-bytes / I do one thing at a time / I get warm that's all it is / I get warm and I keep time ", "singVoice": "Noelle", "singBase": 61, "singVibratoHz": 6.4, @@ -26,21 +26,9 @@ "name": "blueberry sings (Aaron (Enhanced))", "program": 78, "velocity": 46, - "notes": "r:74,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:78,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:82,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:73,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:102,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:47.5,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5", - "lyrics": "hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm", + "notes": "r:74,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:78,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5,r:82,44:5.5,r:1,47:6,r:1,47:7,r:1,45:6.5", + "lyrics": "hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm", "lineRoles": [ - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", "hum", "hum", "hum", @@ -55,18 +43,6 @@ "hum" ], "lineGains": [ - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, - 0.3, 0.3, 0.3, 0.3, @@ -81,42 +57,6 @@ 0.3 ], "noteGains": [ - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], [ 1 ], @@ -177,21 +117,9 @@ "name": "frisbee sings (Zoe (Premium))", "program": 78, "velocity": 46, - "notes": "r:74,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:78,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:82,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:73,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:102,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:47.5,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5", - "lyrics": "hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm", + "notes": "r:74,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:78,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5,r:82,49:5.5,r:1,52:6,r:1,52:7,r:1,50:6.5", + "lyrics": "hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm / hmm", "lineRoles": [ - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", - "hum", "hum", "hum", "hum", @@ -206,18 +134,6 @@ "hum" ], "lineGains": [ - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, - 0.26, 0.26, 0.26, 0.26, @@ -232,42 +148,6 @@ 0.26 ], "noteGains": [ - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], - [ - 1 - ], [ 1 ], diff --git a/system/public/papers.aesthetic.computer/deadlines/index.html b/system/public/papers.aesthetic.computer/deadlines/index.html index e6e614a589..ab3923697b 100644 --- a/system/public/papers.aesthetic.computer/deadlines/index.html +++ b/system/public/papers.aesthetic.computer/deadlines/index.html @@ -365,6 +365,32 @@ // papers/SCORE.md and papers/SUBMISSIONS.md. // Dates are ISO YYYY-MM-DD; AoE deadlines treated as end-of-day UTC-12. const DEADLINES = [ + { + section: 'open', + venue: 'STAY Arts × Kaiser Permanente — Cudahy Medical Offices', + venueUrl: 'https://stayarts.org/cudahy', + track: 'Permanent clinic art collection — five software-made pictures as archival prints', + draftPath: 'stay-arts-cudahy-2026/DRAFT.md', + deadline: '2026-09-27', + deadlineExtra: '11:59 PM PT', + conference: 'Cudahy, Southeast LA · reproduced + installed by STAY Arts · review late Sept – early Oct', + status: 'go', + statusLabel: 'Draft v1', + notes: '$500 licensing honorarium per selected artwork, up to 5 works ($2,500 ceiling); artist keeps ownership and copyright, no original acquired. Two-dimensional work only (painting, photography, illustration, drawing, printmaking, digital art, mixed media) "suitable for professional reproduction as a print and permanent display in a healthcare environment." Existing work welcome; "local artists," SE LA ties "especially encouraged," no hard residency gate. Form: contact, short bio, up to 5 images with title/year/medium/dimensions, optional description, links. Stronger fit for Fía than for Jeffrey; Jeffrey\'s angle is five calm No Paint / drawings.rey.sc / KidLisp frames. Same day as Matadero; ~30 minutes once images are picked. Sourced from Fía via iMessage 2026-09-24 ("Maybe for an agent to get on bb"); verified same day.', + }, + { + section: 'open', + venue: 'Awesome Foundation — Los Angeles chapter', + venueUrl: 'https://www.awesomefoundation.org/en/chapters/los-angeles', + track: '$1,000 microgrant — KidLisp Saturdays: six loaner laptops + card deck at a neighborhood library', + draftPath: 'awesome-foundation-la-2026/DRAFT.md', + deadline: '2026-09-30', + deadlineExtra: 'rolling — end of month lands in that month\'s pool', + conference: 'Los Angeles · reviewed "at least every other month" · reapply monthly if not picked', + status: 'go', + statusLabel: 'Draft v1', + notes: '$1,000, no strings attached, no reporting, anyone eligible (individuals included). Ten trustees put in $100 each; the LA chapter (la@awesomefoundation.org) reviews "over beers" and "generally only review[s] applications from the current month\'s pool." Not an art grant: recent LA winners are community-facing, concrete things (garden network, foster-youth program, beginner cycling series, a P-22 coloring book, a process-based art kit). They skip "personal" projects and existing efforts that $1,000 would not visibly move. Form verified: chapter, contact, project title + website, 2,000-char project pitch, 500-char budget, 500-char bio, up to 5 images. Draft pitches two library Saturdays with six refurbished laptops on AC Native OS that stay as a loaner shelf. Multiple chapters allowed if disclosed. Sourced from Fía via iMessage 2026-09-24; verified same day.', + }, { section: 'open', venue: 'Eyebeam — AGENCY Virtual Residency',