Posted by Nikolaus Gradwohl
Sun, 17 Aug 2008 07:35:00 GMT
Today i have installed supercollider on my ubutu system following this instructions. SuperCollider is a environment and programming language
for audio synthesis simliar to chuck. SuperCollider can run on a network and uses OSC events for comunication.
After looking around in the source tree i found a plugin for vim :-)
Installations is a bit quirky (the folders 'ftpplugin', 'syntax' and 'intend' needed to be copied to ~/.vim by hand) but now
i can edit my sc code using my vim - veeeery cool :-)
single lines of code can be sent to the server using F6 codeblocks are sent to the server using F5.
s.boot
(
c = { arg f=900;
var x;
x = SinOsc.ar(f);
x * 0.1
}.play;
)
c.set(, 400);
c.set(, 670);
to start te server the first line has to be sent to sclang (using F6). Then the code block
starting line 2 is sent to the server (using F5)... tata - a sine wave.
sending the last 2 lines (F6 again) change the frequency of the running synth.
F12 can be used to turn all sounds off.
Tags osc, supercollider, vim | no comments
Posted by Nikolaus Gradwohl
Tue, 12 Aug 2008 18:56:00 GMT
Because of the OVERWHELMING amount of reader comments - aehm, i mean compared to my other blogposts - i have decided
to code another version of my Parallax scrolling demo (v2.0) containing
a jumping white rabbit
Tags processing | 2 comments
Posted by Nikolaus Gradwohl
Mon, 11 Aug 2008 05:13:00 GMT
I got a nintendo DS 2 weeks ago and have hacked my first demo
using the arm compilers from devkitPro. To
compile the code follow the drunkencoders-Tutorial.
the program initializes the lower screen in a 2d graphics mode, and draws a circle (using the bresenham-algorithm for circles)
wherever the screen is touched by the stylus. if the A button is pressed the screen is cleared. No sophisticated doublebuffering, 3d or
sound stuff this time - but hey! it's the first program for a nds! and it works! :-)
#include <nds.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void setPixel( int x, int y, int color ) {
VRAM_A[x + y * 256] = color;
}
void circle( int mx, int my, int r, int color ) {
int x = 0;
int y = r;
int d = 3 - 2 * r;
while (x <= y) {
setPixel( mx + x, my + y, color );
setPixel( mx - x, my + y, color );
setPixel( mx - x, my - y, color );
setPixel( mx + x, my - y, color );
setPixel( mx + y, my + x, color );
setPixel( mx - y, my + x, color );
setPixel( mx - y, my - x, color );
setPixel( mx + y, my - x, color );
if (d < 0) {
d = d + 4 * x + 6;
} else {
d = d + 4 * ( x - y ) + 10;
y --;
}
x++;
}
}
int main(void) {
touchPosition touch;
videoSetMode(MODE_FB0);
vramSetBankA(VRAM_A_LCD);
lcdMainOnBottom();
while(1) {
scanKeys();
if(keysHeld() & KEY_TOUCH) {
touch=touchReadXY();
circle( touch.px, touch.py, 20, rand());
}
if (keysHeld() & KEY_A) {
for ( int y = 0; y < 192; y ++ ) {
for ( int x = 0; x < 256; x ++ ) {
setPixel( x, y, 0);
}
}
}
}
return 0;
}
Tags cpp, DS, nintendo | no comments
Posted by Nikolaus Gradwohl
Thu, 07 Aug 2008 04:55:00 GMT
A new processing sketch is online. I have coded a Parallax scrolling demo. All the graphics
are drawn by hand - this demo also shows why i'm a coder and not a painter :-)
Tags processing | 1 comment