diff --git a/bin/movesinks b/bin/movesinks
new file mode 100644
--- /dev/null
+++ b/bin/movesinks
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# from http://askubuntu.com/questions/71863/how-to-change-pulseaudio-sink-with-pacmd-set-default-sink-during-playback/113322#113322
+
+echo "Setting default sink to: $1";
+pacmd set-default-sink $1
+pacmd list-sink-inputs | grep index | while read line
+do
+echo "Moving input: ";
+echo $line | cut -f2 -d' ';
+echo "to sink: $1";
+pacmd move-sink-input `echo $line | cut -f2 -d' '` $1
+
+done
diff --git a/light9/ascoltami/index.html b/light9/ascoltami/index.html
--- a/light9/ascoltami/index.html
+++ b/light9/ascoltami/index.html
@@ -29,6 +29,9 @@
+
+
+
todo: go button actions, display next action
@@ -118,6 +121,8 @@
$("#cmd-go").click(function () {
// todo
});
+ $("#cmd-out0").click(function () { $.post("output", tojs({sink: "0"})); })
+ $("#cmd-out1").click(function () { $.post("output", tojs({sink: "1"})); })
var pendingSlide = false;
$("#timeSlider").slider({
diff --git a/light9/ascoltami/webapp.py b/light9/ascoltami/webapp.py
--- a/light9/ascoltami/webapp.py
+++ b/light9/ascoltami/webapp.py
@@ -1,4 +1,4 @@
-import web, json, socket
+import web, json, socket, subprocess
from twisted.python.util import sibpath
from light9.namespaces import L9
from light9.showconfig import getSongsFromShow, songOnDisk
@@ -93,6 +93,11 @@ class seekPlayOrPause(object):
player.seek(data['t'])
player.resume()
+class output(object):
+ def POST(self):
+ d = json.loads(web.data())
+ subprocess.check_call(["bin/movesinks", str(d['sink'])])
+
def makeWebApp(theApp):
global app
app = theApp
@@ -102,6 +107,7 @@ def makeWebApp(theApp):
r"/song", "songResource",
r"/songs", "songs",
r"/seekPlayOrPause", "seekPlayOrPause",
+ r"/output", "output",
)
return web.application(urls, globals(), autoreload=False)