Skip to content

Instantly share code, notes, and snippets.

View echophon's full-sized avatar

Yancy Way echophon

  • Seattle
View GitHub Profile
@echophon
echophon / gist:2ebd0598f137ea02b82637d3fb583a4b
Created February 19, 2024 19:35
WIP HDrawablePool - no drawstage
import hype.*;
int numAssets = 120;
HDrawablePool pool;
HRect base;
void setup(){
size(640,640,P3D);
background(#242424);
#!/bin/bash
# bank/pattern generator for the Acid Rain Technology Constellation
# an eight channel gate sequencer that uses euclidean patterns and logic
# random selectors
operators=("AND" "OR" "XOR")
probabilities=("25" "50" "75" "100")
minlength=3
maxlength=16
@echophon
echophon / build.pde
Created May 21, 2019 04:35
hemesh_layout
import wblut.math.*;
import wblut.processing.*;
import wblut.core.*;
import wblut.hemesh.*;
import wblut.geom.*;
import hype.*;
import hype.extended.behavior.HOscillator;
HDrawablePool pool, pool2;
Converter
http://www.glassgiant.com/ascii/
Recorder/player
https://asciinema.org/
Ascii Diagrams to SVG
https://github.com/ivanceras/svgbob
Conversion (video to ascii)
@echophon
echophon / orca_x_hydra.js
Last active September 28, 2022 21:05
orca_x_hydra.js
// Example of OSC control of Hydra video synth w/Orca programming language
// by Yancy Way (echophon)
//
// https://github.com/hundredrabbits/Orca
// https://github.com/ojack/hydra
// https://github.com/ojack/hydra-examples
// https://atom.io/packages/atom-hydra
//
// Prerequisites: Orca, Atom, Atom-hydra extension
//
let rip a b p = within (0.25, 0.75) (slow 2 . rev . stut 8 a b) p
ripWith a b p = within (0.25, 0.75) (slow 2 . rev . stutWith 8 a b) p
shift n = (n <~)
shrand n = shift n $ rand
juxSine a p = juxBy (fast a $ sine) p
p2w a b = perlin2With (slow a $ cosine) (slow b $ sine)
brakk p = (within(0.25, 0.75) brak) p
brakj p = within (0.25,0.75) ((fast 2).zoom(0.25,0.75)) p
-- these still need work / unsure of them
do -- i <3 perlin
let p2w a b = perlin2With (slow a $ cosine) (slow b $ sine)
d1 $ every 8 (fast 2)
$ juxBy (p2w 2 8) (|+ coarse "2")
$ juxBy (p2w 3 5) (|* coarse (segment (1/4) $ choose[2..20]))
$ s "[supersaw:-36*32, supersaw:-24?*4, supersaw:36?*1]"
# bpf (rangex 40 6000 $ p2w 2.2 1.15)
# hpf (rangex 40 6000 $ p2w 4 2.475)
# accelerate (range (-1) 1 $ p2w 10.8 2.3)
# legato (range 0 2 $ p2w 5 4)
@echophon
echophon / degradeBy.sublime-snippet
Last active December 9, 2017 05:28
Tidal Sublime Snippets
<snippet>
<content><![CDATA[
degradeBy "${1:0.25} ${2:0.75} ${3:0.75} ${4:0.75}"
]]></content>
<tabTrigger>degradeBy</tabTrigger>
<description>:: Pattern Time -> Pattern a -> Pattern a
</description>
<scope>source.haskell</scope>
</snippet>
import oscP5.*;
OscP5 oscP5;
int bass2, bd, sn = 0;
void setup() {
size(400,400);
oscP5 = new OscP5(this,4000);
oscP5.plug(this,"tidal","/tidal"); //register method to listen to the message
import wblut.processing.*;
import wblut.hemesh.*;
import wblut.geom.*;
import wblut.math.*;
HE_Mesh mesh;
WB_Render render;
int frames = 120;
float t = 0.0;