Audio/AudioControl: Lots of fixes
[audiocontrol.git] / start.sh
index 6adb08b..6f98972 100755 (executable)
--- a/start.sh
+++ b/start.sh
@@ -1,6 +1,7 @@
 #!/bin/sh
 
 cd "`dirname "$0"`"
+base="`pwd`"
 
 displaysize="`xdpyinfo | awk '/^  dimensions:/{print $2}'`"
 displaywidth="${displaysize%x*}"
@@ -25,7 +26,7 @@ move() {
        winid=`xwininfo -name "$name" | awk '/^xwininfo:/{print $4}'`
        [ -n "$winid" ] || sleep 1
     done
-    ./winmove $winid $x $y $w $h
+    $base/winmove $winid $x $y $w $h
 }
 
 start() {
@@ -46,70 +47,91 @@ start() {
     move $x $y $w $h "$name"
 }
 
+dcop amarok MainApplication-Interface quit
+sleep 1
 lsof -n | grep dev | grep -e snd -e dsp | awk '{print $2}' | xargs -r kill
+sleep 1
 
 # Make sure nothing is running
-killall slgui
+pidof -x -o $$ start.sh | xargs -r kill
 killall sooperlooper
+killall slgui
 killall meterbridge
 killall qjackctl
 killall jack-rack
 killall alsamixer
 killall jackminimix
 killall jackd
+killall audiocontroller
+killall alsaplayer
 
-amixer sset Master 80% on
+amixer sset Master 67%,100% on
 amixer sset PCM 100% on
 amixer sset Capture 50% on
+amixer sset 'Capture Mux' 1,0
 
 start 0 25 496 100 "JACK Audio Connection Kit [(default)] Started." \
     qjackctl
 
-sooperlooper -l 1 -c 1 -t 300 &
+sooperlooper -l 1 -c 2 -t 600 &
 clients="$clients $!"
+sleep 1
 
 cd loops
-start 582 25 794 220 "SooperLooper" \
+start 582 25 794 210 "SooperLooper" \
     slgui
 cd ..
 
-# start 0 153 496 600 "JACK Rack (voice) - voice.rack" \
-start 0 153 496 972 "JACK Rack (voice) - voice.rack" \
+cd conf
+start 0 153 496 428 "JACK Rack (voice) - voice.rack" \
     jack-rack -c 1 -s voice voice.rack
+cd ..
+
+start 0 609 496 516 "AlsaPlayer" \
+    alsaplayer -r -l 0 -d sooperlooper:common_in_1,sooperlooper:common_in_2
+clients="$clients $!"
+#move 0 735 496 390 "Queue"
+alsaplayer --stop
+alsaplayer --volume .25
 
-# 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
+    meterbridge -r 0 -t dpm -n meter alsa_pcm:capture_2 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 \
+xterm -fn 6x12 -bg black -fg white -cr white -geometry 88x17+${x}+25 +sb -title Mixer \
     -e alsamixer -V all &
 clients="$clients $!"
 
-jackminimix -c 2 -p 9901 &
+jackminimix -c 2 -p 9901 -n master &
 clients="$clients $!"
+sleep 1
 
 jackminimix -c 1 -p 9902 -n inputgain &
 clients="$clients $!"
+sleep 1
 
+jackminimix -c 2 -p 9903 -n monitor &
+clients="$clients $!"
 sleep 1
 
-jack_connect alsa_pcm:capture_1 inputgain:in1_left
+jack_connect alsa_pcm:capture_2 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
+jack_connect inputgain:out_left sooperlooper:common_in_2
+jack_connect sooperlooper:common_out_1 master:in1_left
+jack_connect sooperlooper:common_out_2 master:in1_left
+jack_connect sooperlooper:common_out_1 monitor:in1_left
+jack_connect sooperlooper:common_out_2 monitor:in1_left
+jack_connect alsa_pcm:capture_1 jack_rack_voice:in_1
+jack_connect jack_rack_voice:out_1 master:in2_left
+jack_connect jack_rack_voice:out_1 monitor:in2_left
+jack_connect master:out_left system:playback_2
+jack_connect monitor:out_left system:playback_1
 
 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"
+    -title "Audio Controller" -e /bin/sh -c "while ./audiocontroller; do true; done"
 
 kill $clients 2>/dev/null
 killall jackd 2>/dev/null