Whenever I work on adding features to my midi-controller-to-osc PD patches, I ask myself why do I keep coming back to this puzzle game?
I love and hate PD (a little bit). Its so good at building stuff on the fly and is extremely useful live. But would some sort of interpreted language alternative be a better long term solution?


I yearn for the dexterity of live coding/freeliner, im tired of clicking and draging lines. Some sort of keyboard interface for pathcing in PD would be lit.

· · Web · 2 · 0 · 0

@supermedia_art i dream of a kind of hybrid visual/text interface for this. i have a beautiful interaction model crystalised in my mind but not enough skill to build it.

maybe if i make a high fidelity enough animatic someone else will build it.

@supermedia_art it’s a bit hard to explain with words since it’s so much about the flow of keyboard operation, a couple of gimmicks, and graphviz inspired syntax.

say you were to launch a blank canvas and typed

a -> b -> c
a -> d
a -> e
b -> g

it would automatically generate the patches with those names and connect them as you would expect.

wait there aren’t patches with those names!

then a sort of intellisense/autocomplete widget would help out with that.

once something is on the screen, you’d get a dual cursor on the screen. selecting a visual patch would create a text selection of all the relevant parts of the text. moving the cursor in the text moves the visual selection and the view to the relevant plce in the visual interface.

@supermedia_art the text itself wouldn’t be “plain” text exactly, but richly interactible in certain subtle ways.

holding down a meta key switches to a kind of command mode where the position of the cursor becomes less fixed and more fluid. text-like commands like search and replace can be issued from the command mode, the command is executed as you let go of the meta key

@supermedia_art but i’d also want to design it to not rely wholly on the text view or patch view to do certain things. if you wanna love fully in one world or the other i want nothing to stand in the way.

to that end, in the visual view, kayboard based operations would take place in contextual text boxes

@supermedia_art I know people who do metaprogramming in Pd (Pd patches generating Pd patches), but for myself, I found SuperCollider to be what I need and moved to it.

@setthemfree oh ive done dynamic patching :)
You use SC for data processing and routing?

@supermedia_art Mostly I use SC for sound synthesis and processing, but on a few occasions I did some simple midi-to-OSC too. Data processing as in statistics, weather, etc? Nope.

Sign in to participate in the conversation

We are an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.

<svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>