Earlier quoted context omitted.
Or VVV https://github.com/Varying-Vagrant-Vagrants/VVV
Or VV https://github.com/bradp/vv
Vvvv – a live-programming environment for easy prototyping and development
21–30 of 39 posts
Re: Vvvv – a live-programming environment for easy prototyping and development
#22Re: Vvvv – a live-programming environment for easy prototyping and development
#23I've worked with a few people who use vvvv and written (is that the right verb when it's graphical language) a bunch of of vvvv nodes to integrate with other stuff I was writing for them. It's a a powerful system and seems to really fit the minds of some very talented and creative people. As seems to be common with graphical programming things abstraction can be a little hard unless it fits into the node-with-fixed-i…
> As seems to be common with graphical programming things abstraction can be a little hard unless it fits into the node-with-fixed-inputs-and-outputs mold In other words, you're trapped in a first-order box: http://lambda-the-ultimate.org/node/5157#comment-85605
A person chooses to confine themselves to watercolors, and masters the medium, or does something spectacular with it, since they focused on that medium. Just looking at the vvvv examples, I'd say there's plenty enough there to get started and then some.
Praxis runs on many platforms since it is Java-based, and has node editing, but you can edit code on the fly as well. You can do visuals, and it has the beginnings of a sound synthesis base already working and in progress. [1]
I personally use Extempore, a livecoding environment that evolved from Impromptu. It has a low-level, Scheme-like language called xtlang, and can do sound and visuals too. [2]
I also use Tidal, a Haskell-based system to livecode patterns of samples - very addictive, since it is easy to make something quick. [3]
Fluxus is a scheme-based system, that is mainly for visuals, although there is a lesser-known audio component called fluxa for linux and Mac OS for it. [4] It was the first livecoding system I had really been exposed to around 2005, a few years after I picked up Processing. [5]
Somebody mentioned Pd, PureData. You need the extended version to do graphics, since the vanilla Pd is node-based just for sound creation.
There are many other systems, and it seems the livecoding scene is exploding.
[1] http://www.praxislive.org/ [2] http://extempore.moso.com.au/ [3] http://tidalcycles.org/ [4] http://www.pawfal.org/fluxus/ [5] https://processing.org/
Re: Vvvv – a live-programming environment for easy prototyping and development
#24Earlier quoted context omitted.
> As seems to be common with graphical programming things abstraction can be a little hard unless it fits into the node-with-fixed-inputs-and-outputs mold In other words, you're trapped in a first-order box: http://lambda-the-ultimate.org/node/5157#comment-85605
Constraints sometimes are a creativity booster in art, so maybe not so much a trap. Whereas unlimited tools or canvases may paralyze it. Just look at the demoscene to see what people create in a self-imposed limited environment. A person chooses to confine themselves to watercolors, and masters the medium, or does something spectacular with it, since they focused on that medium. Just looking at the vvvv examples, I'd…
> xtlang also borrows many Lisp like semantics including first class closures [emphasis mine], tail recursion and macros.
xtlang doesn't trap you in a first-order box. That's a good thing.
From the Tidal link:
> Tidal is embedded in the Haskell language.
Haskell doesn't trap you in a first-order box. Programming in a DSL embedded in Haskell is just programming in Haskell.
From the Fluxus link:
> Extends the Racket language with graphical commands and can be used within it’s own livecoding environment or from within the DrRacket IDE.
Same as above, s/Haskell/Racket/g.
---
FWIW, I never criticized the use of DSLs for art (or any other purpose). Only the imposition of first-order jails.
Re: Vvvv – a live-programming environment for easy prototyping and development
#25Re: Vvvv – a live-programming environment for easy prototyping and development
#26Re: Vvvv – a live-programming environment for easy prototyping and development
#27Re: Vvvv – a live-programming environment for easy prototyping and development
#28Earlier quoted context omitted.
Constraints sometimes are a creativity booster in art, so maybe not so much a trap. Whereas unlimited tools or canvases may paralyze it. Just look at the demoscene to see what people create in a self-imposed limited environment. A person chooses to confine themselves to watercolors, and masters the medium, or does something spectacular with it, since they focused on that medium. Just looking at the vvvv examples, I'd…
From the Extempore link: > xtlang also borrows many Lisp like semantics including first class closures [emphasis mine], tail recursion and macros. xtlang doesn't trap you in a first-order box. That's a good thing. From the Tidal link: > Tidal is embedded in the Haskell language. Haskell doesn't trap you in a first-order box. Programming in a DSL embedded in Haskell is just programming in Haskell. From the Fluxus link…
I had immediately thought of the demoscene, especially Inigo Quilez [1], and his creation Shadertoy [2]. It is amazing to see what people create with these tools.
Thanks for the link on 'first-order jails'. I thought I had the gist of it, until I read your link. I especially like the back and forth about higher order vs. first order re: Haskell and graphical user interfaces. I am curious how it applies to Praxis, which has a node editor, but you can hop into the code which is in Java. It is built from the ground up for distributed, non-glitch livecoding.
I am an experimenter, and although I fancy myself reading about logic and computing, I am only passingly familiar with it WRT your reference. I learn a lot about it from my studies with Shen [3], and recently Idris. [4]
Extempore, and its programmng language xtlang, are driven by livecoding needs, but it is basically a general systems programming language at this point. I believe Andrew started with S7 scheme like CM (Common Music) did. The original creator, Andrew Sorensen, and Ben Swift who works on it too, are courting, or are being courted by the HPC world. The need to have a language that could handle time well, or 'temporal recursion' for music creation, lends itself well to HPC concerns. Xtlang is fast. C fast. It uses LLVM in the back.
Blender3D has a nice node editor for building up procedural textures and shaders too as in this tutorial. [5] I find that the node/gui approach keeps me focused on what I am trying to emulate or build. I don't like it for programming like in LabView though, and I don't like node-based programming in the few incarnations I have seen. OTOH, Brainfuck is TC, but I wouldn't want to be in that 'first order jail'-free environment either ;) REVELATION: I do like J, which some people say looks like line noise! [6]
[1] http://iquilezles.org [2] https://www.shadertoy.com/ [3] http://shenlanguage.org/ [4] http://www.idris-lang.org/ [5] http://www.chocofur.com/6-shadersamptextures.html [6] jsoftware.com
Re: Vvvv – a live-programming environment for easy prototyping and development
#29Another powerful program along the same lines is touch designer https://www.derivative.ca It's an offshoot of Houdini. It is exceptional at working with external hardware controllers and networking.
Really have to give it to touch designer, it is a fantastic piece of software that seems underrated with the current state of input devices and graphics power.
http://vuo.org - intended as a replacement to quartz composer and cross platform later on.
http://www.bigfug.com/software/fugio/ - cross platform and came out this week.
"Fugio is an open visual programming application with support for Oculus Rift, timeline based media playback, OpenGL, OSC, MIDI, Arduino, and much more!"
Re: Vvvv – a live-programming environment for easy prototyping and development
#30Earlier quoted context omitted.
From the Extempore link: > xtlang also borrows many Lisp like semantics including first class closures [emphasis mine], tail recursion and macros. xtlang doesn't trap you in a first-order box. That's a good thing. From the Tidal link: > Tidal is embedded in the Haskell language. Haskell doesn't trap you in a first-order box. Programming in a DSL embedded in Haskell is just programming in Haskell. From the Fluxus link…
I didn't take your post as criticism, but rather a spark, or conversation starter, to think about self-imposed limits in art via tools or physical handicaps. I had immediately thought of the demoscene, especially Inigo Quilez [1], and his creation Shadertoy [2]. It is amazing to see what people create with these tools. Thanks for the link on 'first-order jails'. I thought I had the gist of it, until I read your link.…
Oh, I'm also not denying the value of self-imposed limits:
(0) In a library I'm writing, I'm enforcing these rules: no unreachable code paths, no exceptions (or any other form of sneaky control flow), no asserts. Programming under these constraints is difficult, but the result is very satisfying: my functions now have more precise argument types, because I'm not allowed to throw an exception if they're passed the wrong argument!
(1) When I write music (which admittedly I don't do very well), I find it useful to come up with, say, 10 potential leitmotifs, reject all but 2 or 3 of them, and force myself to write the rest of the song or tune around the selected motifs. The other motifs are completely forbidden, though they may be reused when writing another song or tune.
> I am an experimenter, and although I fancy myself reading about logic and computing
I think anyone who's doing something new, not done before, has to be an experimenter to some extent. Which is a good thing! That's how cool stuff happens: try various approaches, until you find one that works. Even logic was developed that way. First-order jails limit what you can try, though.
---
As for the rest of your post, I have read it, but I can't intelligently comment. I'm a visually challenged person - I'm not blind, but I'm the kind of person who needs a ruler and a compass to draw stickmen.