Hi
I've written a bunch of scripts to start synths, and connect them. But
sometimes it get's screwed mostly because of timing issues. When
counting on client numbers for connecting stuff which app comes up first
is important... So:
1) Can I avoid the client numbers alltogether? This seems to require a
way to rename ams, since all clients are calles AlsaModularSynth. Is
that (starting ams with a specific clientname?) possible?
2) Alternately: is there a better way to handle timing? So app2 will not
start before app1 is up and running?
Here's an example of the scripts:
#!/bin/bash
options='--sched -+rtaudio=jack -d -odac -M'
csound_path='.patches'
ams_path='.patches'
zyn_path='.patches'
key1=`usb_keyboards | head -n 1`
key2=`usb_keyboards | head -n 2 | tail -n 1`
key3=`usb_keyboards | head -n 3 | tail -n 1`
sine_balls=$csound_path/bouncing_sine_balls.csd
noisepad=$csound_path/filtered_noise_pad.csd
stringish_arpeggio=$csound_path/stringish_arpeggio.csd
mellotron=$csound_path/mellotron_strings.csd
warm_muted=$ams_path/muted_lead_big_mistake.ams
brass=$ams_path/res_sweep_big_mistake.ams
midisplit 60 &
midisplit1=$!
midisplit 45 60 &
midisplit2=$!
midisplit 48 60 &
midisplit3=$!
ams -j --preset $warm_muted &
sleep 1
ams -j --preset $brass &
sleep 1
csound -+jack_client=csound5_1 $options 4 $sine_balls &
csound -+jack_client=csound5_2 $options 3 $noisepad &
csound -+jack_client=csound5_4 $options 5 $stringish_arpeggio &
csound -+jack_client=csound5_3 $options 8 $mellotron &
sleep 2
aconnect $key1 129:0
aconnect 130:1 133:0
aconnect 130:2 132:0
#aconnect 129:5 133:0
aconnect $key2 130:0
csound_auto_connect_audio
ams_auto_connect_audio
echo press key to shut down...
read
aconnect -x
killall csound
killall ams.real
kill $midisplit1
kill $midisplit2
kill $midisplit3
killall python
--
peace, love & harmony
Atte
http://www.atte.dk