Audio/AudioControl: Commit loads of long uncommited changes
[audiocontrol.git] / start.sh
diff --git a/start.sh b/start.sh
new file mode 100755 (executable)
index 0000000..6adb08b
--- /dev/null
+++ b/start.sh
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+cd "`dirname "$0"`"
+
+displaysize="`xdpyinfo | awk '/^  dimensions:/{print $2}'`"
+displaywidth="${displaysize%x*}"
+offset=`expr $displaywidth - 1920`
+
+clients=""
+
+move() {
+    local x
+    local y
+    local w
+    local h
+    local name
+    local winid
+    x=`expr $1 + $offset`
+    y=$2
+    w=$3
+    h=$4
+    name="$5"
+    winid=""
+    while [ -z "$winid" ]; do
+       winid=`xwininfo -name "$name" | awk '/^xwininfo:/{print $4}'`
+       [ -n "$winid" ] || sleep 1
+    done
+    ./winmove $winid $x $y $w $h
+}
+
+start() {
+    local x
+    local y
+    local w
+    local h
+    local name
+    local winid
+    x=$1
+    y=$2
+    w=$3
+    h=$4
+    name="$5"
+    shift; shift; shift; shift; shift
+    "$@" &
+    clients="$clients $!"
+    move $x $y $w $h "$name"
+}
+
+lsof -n | grep dev | grep -e snd -e dsp | awk '{print $2}' | xargs -r kill
+
+# Make sure nothing is running
+killall slgui
+killall sooperlooper
+killall meterbridge
+killall qjackctl
+killall jack-rack
+killall alsamixer
+killall jackminimix
+killall jackd
+
+amixer sset Master 80% on
+amixer sset PCM 100% on
+amixer sset Capture 50% on
+
+start 0 25 496 100 "JACK Audio Connection Kit [(default)] Started." \
+    qjackctl
+
+sooperlooper -l 1 -c 1 -t 300 &
+clients="$clients $!"
+
+cd loops
+start 582 25 794 220 "SooperLooper" \
+    slgui
+cd ..
+
+# start 0 153 496 600 "JACK Rack (voice) - voice.rack" \
+start 0 153 496 972 "JACK Rack (voice) - voice.rack" \
+    jack-rack -c 1 -s voice voice.rack
+
+# start 0 781 496 344 "JACK Rack (guitar) - guitar.rack" \
+#    jack-rack -c 1 -s guitar guitar.rack
+
+start 502 25 74 210 "dpm meter" \
+    meterbridge -r 0 -t dpm -n meter alsa_pcm:capture_1 jack_rack_voice:out_1
+
+x=`expr $offset + 1382`
+xterm -fn 6x12 -bg black -fg white -cr white -geometry 88x18+${x}+25 +sb -title Mixer \
+    -e alsamixer -V all &
+clients="$clients $!"
+
+jackminimix -c 2 -p 9901 &
+clients="$clients $!"
+
+jackminimix -c 1 -p 9902 -n inputgain &
+clients="$clients $!"
+
+sleep 1
+
+jack_connect alsa_pcm:capture_1 inputgain:in1_left
+jack_connect inputgain:out_left sooperlooper:common_in_1
+jack_connect sooperlooper:common_out_1 minimixer:in1_left
+jack_connect sooperlooper:common_out_1 minimixer:in1_right
+jack_connect alsa_pcm:capture_2 jack_rack_voice:in_1
+jack_connect jack_rack_voice:out_1 minimixer:in2_left
+jack_connect jack_rack_voice:out_1 minimixer:in2_right
+jack_connect minimixer:out_left alsa_pcm:playback_1
+jack_connect minimixer:out_right alsa_pcm:playback_2
+
+x=`expr $offset + 502`
+xterm -fn '-dejavu-dejavu sans mono-medium-r-normal--*-260-75-75-m-0-iso10646-1' \
+    -bg black -fg white -cr white -geometry 88x22+${x}+273 +sb \
+    -title "Audio Controller" # -e /bin/sh -c "while ./audiocontroller; do true; done"
+
+kill $clients 2>/dev/null
+killall jackd 2>/dev/null