Python: How to make it do pretty things.
See controller mapping for human-centric interaction design.
Pro-tip: run your python code as a web service
Web services are the new reliable lingua franca, and have a lot of development time sunk into them, so even if you, as I do, hate the web, you may as well steal their labour.
ProcessPoolExecutor is reasonably performant.
You will probably need FRP to make it interactive in this case.
Look! the heady mix of excellent realtime and non-real-time performance in a semi-pro interactive IDE! Get amongst it. I wrote some tips for Jupyter GUIS elsewhere
I will use this to prototype amazing music using python machine listening, I hope. But GUIs are my least favourite thing, so it will be slow going even on this easy terrain.
See Audio python
The graphing can be OK too — see graphing in python.
colormotor_sandbox, live-reloading CV+video framework:
Colormotor is a creative coding framework with a “scientific twist”. The framework builds on top of Armadillo for linear algebra operations, OpenCV for image manipulation and OpenGL for hardware accelerated rendering.
Armadillo is definitely not the fastest or most lightweight solution for a graphics-oriented framework. On the other hand, the library provides many utilities that make it easy to switch between C++, Python and Matlab, and vectorised operations result in much more concise code.
Colormotor includes Python bindings that can be used independently as a module, or within the Colormotor Sandbox live coding environment.
an open-source software project initiated by OpenEndedGroup, for the creation of their digital artworks. It is an environment for writing code to rapidly and experimentally assemble and explore algorithmic systems. It is visual, it is hybrid, it is code-based. We think that it has something to offer a diverse range of programmers and artists.
It seems to be rarely updated (2 years old at time of writing) and based on Jython/JVM so you can’t use cpython conveniences like numpy.
slider1= sheetSlider("slider1") xySlider2 = sheetXY("xySlider2") aGraph = sheetGraph("aGraph") print slider1.get() print xySlider2.get() print aGraph.get().get(0.2) slider1.set(0.5) xySlider2.set( (0.2, 0.6))
GUI toolkit looks good (Java-based). OpenGL and other drawing functionality seem advanced. Audio does not seem to be a priority.
Nothing wrong with going to seed; It’s perfectly lovely software, just a bit overgrown, and it has lost that fresh tang.↩︎