like jon i've been taking lots of photos with my olympus d460z. it's a
nice camera. i've been printing them with an epson stylus photo
870. for someone on a rather low budget, it's a really nice setup and the
printout quality is exceptional. the epson printer driver (gimp-print) for
linux is very good.

the printer comes with a spool of 6x4 photo paper that you can hook up to
the printer. i'm looking into exploiting that to automatically generate
very long images. the paper is continuous, so there's no reason you can
print things out that are 60x4 or whatever!

on the performance side, i've been working with pongserver
(http://music.columbia.edu/~douglas/pongserver/). like florian,
i find scripting to be one of the most powerful aspects of working with
linux. i like to mix careful design with unexpected events in my
performances, and i've found that using config files that allow for random
settings works very well. that way i can pick and choose what's fixed and
what's not. for example, often a performance needs to be a certain length.
so time-based events need to be somewhat fixed. but positions of objects
on a screen, or sythesis parameters can be flexible.

here's a shell script i used in a recent performance. it's a bit long. but
it shows how to start up processes, let them run for a certain amount of
time and then kill them and start something else. although the times are
fixed, i find that in performance it's not possible for me to keep track
of things like "100 seconds", so i'm still surprised by events when they
happen.

after the shell script is an example of one of the config files i used.

douglas



-----
this is launch_milan:
-----

# run me like this: ./lauch_script_example 52000

./bin/pongserver $1 &
sleep 1

./bin/guiclient localhost $1 \
./milan_configs/guiclient.conf &
sleep 1

./bin/addsynclient localhost $1 /dev/dsp1 \
./milan_configs/addsynclient.conf &
sleep 1

./bin/wireclient localhost $1 \
./milan_configs/tracer.conf &
sleep 1

./bin/wireclient localhost $1 \
./milan_configs/star.conf &
sleep 1
# save pid of star
ps -eo pid,args | grep star.conf | awk '{print $1}' > star.pid
sleep 4

./bin/silentclient localhost $1 \
./milan_configs/paddle.red.conf &
sleep 4

./bin/silentclient localhost $1 \
./milan_configs/ball.yellow.conf &
sleep 2

./bin/silentclient localhost $1 \
./milan_configs/paddle.purple.conf &
sleep 5

./bin/silentclient localhost $1 \
./milan_configs/ball.green.conf &
sleep 4

./bin/silentclient localhost $1 \
./milan_configs/paddle.lightblue.conf &
sleep 3

./bin/silentclient localhost $1 \
./milan_configs/paddle.blue.conf &
sleep 200

# 200 seconds

./bin/wireclient localhost $1 \
./milan_configs/wire.conf &
sleep 1

# save pid of wire
ps -eo pid,args | grep wire.conf | awk '{print $1}' > wire.pid
sleep 1

# kill star
kill -TERM `cat star.pid`
sleep 1

sleep 100

# 300 seconds

./bin/loopclient localhost $1 /dev/dsp2 sounds/brey4.aiff \
./milan_configs/loopclient.conf &
sleep 100

# 400 seconds: 1/2 way point

./bin/wireclient localhost $1 \
./milan_configs/electron.conf &
sleep 1

./bin/raindropclient localhost $1 \
./milan_configs/raindropclient.conf &
sleep 1

# kill wire
kill -TERM `cat wire.pid`
sleep 1

./bin/fergieclient localhost $1 /dev/dsp0 \
./milan_configs/fergieclient.conf &

sleep 200

# 600 seconds

./bin/wireclient localhost $1 \
./milan_configs/petal.conf &
sleep 300

# 900 seconds

killall pongserver

rm *.pid

-----
this is loopclient.conf:
-----

# default controlclient setup file
# use * for random settings
# name: up to 9 characters will be used, no quotes or special characters
loopy
# object color red 0-255
64
# object color green 0-255
64
# object color blue 0-255
64
# object color alpha 0-255
0
# object shape: see messages.h for values
# 0 = ball; 1 = paddle
0
# object size stuff: 10x10 is normal ball size, 10x40 or 40x10 paddle size
# object width
10
# object height
10
# position and velocity data will be constrained by the server setup
# starting x position
*
# starting y position
*
# x velocity
*
# y velocity
*
# shape of space: see messages.h for values
0
# gravity constant (not implemented)
0
# collision drain
-1000
# make sure to end this file with a hard return!


Reply via email to