{"name":"wasteland","description":"// an interactive audio-visual nft\n// with original musical feature \"wasteland\"\n// by: thingticketNFT\n// tw: @thingticket\n// a tribute to Circular dystopia\n// by: Daniel Oropeza\n// Tw: @ferdoropeza\n// visuals made with hydra\n// hydra created by olivia jack\n// tw: @_ojack_\n// special thanks: c0d3 p03try (https://c0d3-p03try.neocities.org/)\n// text display method inspired by livecoding youtube video by Flor de Fuego \n// (https://www.youtube.com/watch?v=7RqPdqnYrxA) accessed nov 7 2021 \n// run the code below at https://hydra.ojack.xyz/ for a close approximation of visuals\n// extra text effects with p5js\n\nA = window.innerHeight/window.innerWidth\n\nsrc(o1).saturate(mouse.y/300)\n.layer(solid(1,-.85,.065))\n.layer(src(o1).scrollX(-.002).diff(shape(3,.9).scrollY(1).luma())\n      )\n.layer(src(o1).scrollX(20).mult(shape(3,.7).repeat(10,10).scale([1,1].fast(.25),0.6,1).luma().modulateScale(osc(1),.7,1)) )\n.layer(shape(300,.555).scale(1.05,A,.96).luma(.1).color(0.35,0.4,0.42).hue(()=>mouse.y/7000).scrollX([.1,.2].ease('easeInOutCubic').fast(.19)))\n.layer(shape(300,.555).scale(.74,A,1.07).luma(.3).color(0,0.12,0.1).hue(()=>mouse.x/1000).scrollY([-.01,.01].ease('easeInOutCubic').fast(0.42).offset(.15)))\n.layer(shape(300,.555).scale(1.09,A,.91).luma(.1).color(0.95,0.91,0.91).hue(()=>mouse.x/3000).scrollY(0,.01))\n\n.out(o1);\n\nsolid()\n.layer(\n  shape(2,.001,15).r().mult(\n    osc(100,.005).thresh(.01).mult(osc(100,.005).thresh(.01).rotate(Math.PI/2.3)))\n    .invert()\n  .scrollX(0,.1)\n  .modulateScale(\n    gradient().g().color(1,0).add(solid(0,0)),16,2).scrollY(-.35)\n)\n.out(o2);\n\nsrc(o3)\n  .layer(src(o0).mask(shape(5,[0.125,0.5,0.75,.8].smooth(),0).scale(1.5,A,.75)\n.modulateScale(gradient().g())))\n  .scrollX([-0.001, 0])\n  .scrollY([0, -0.001])\n  .modulateScale(osc(3),.01,.99)\n.modulate(osc(5).rotate(()=>.4-mouse.x/1100),()=>.1-mouse.y/6000)\n  .out(o3);\n\nrender(o3);\n\n\n/*\n*text display method inspired by livecoding youtube video by Flor de Fuego (https://www.youtube.com/watch?v=7RqPdqnYrxA) accessed nov 7 2021 \n*/\np1=new P5()\n\ntextArray = [\"FUCK\", \"SHIT\", \"UP!\"]\np1.textSize(.15*p1.displayWidth)\np1.fill(245,243,239);\np1.draw = () => {\n  p1.clear()\n  index = Math.floor(time*0.666%textArray.length)\n  p1.text(textArray[index], (p1.displayWidth/19) + 240, (p1.displayHeight/2) + 180)\n}\n\np1.hide()\n\ns0.init({src: p1.canvas})\n\nsrc(s0)\n  .scrollX(0,.3)\n  .scrollY(-.25,.1)\n\n  .repeat([1,3,6],[1.5,2,3])\n  .modulateScale(osc(2),.01,.99)\n  .diff(src(s0).scrollY(0.001))\n\n  .blend(src(o2))\n  .add(src(o3))\n  .blend(src(o1))\n  .contrast(1,0.7)\n  .invert(0)\n\n.modulate(osc(.2).rotate(()=>-.5+mouse.x/100),()=>mouse.x/9900)\n  .out(o0);","tags":["interactive","audio-visual","instrumental","music","hydra","creativecoding","p5js"],"symbol":"OBJKT","artifactUri":"ipfs://QmeJbjP5UcJKiANfcspKrdAe7rySLfyxZ7CbdvP3nwF4xG","displayUri":"ipfs://QmRZAus8htM2YcDzxHDz88KnpBGEuLvs2fQQoYZcGfA1he","thumbnailUri":"ipfs://QmNrhZHUaEqxhyLfqoq1mtHSipkWHeT31LNHb1QEbDHgnc","creators":["tz1dUJunwTwTanpzpUudkbprNGScbAZJawUn"],"formats":[{"uri":"ipfs://QmeJbjP5UcJKiANfcspKrdAe7rySLfyxZ7CbdvP3nwF4xG","mimeType":"application/x-directory"}],"decimals":0,"isBooleanAmount":false,"shouldPreferSymbol":false}