itupdate http-listener with latest changes - dmt - source code for the kunsthal art installation Err parazyd.org 70 hgit clone git://parazyd.org/dmt.git URL:git://parazyd.org/dmt.git parazyd.org 70 1Log /git/dmt/log.gph parazyd.org 70 1Files /git/dmt/files.gph parazyd.org 70 1Refs /git/dmt/refs.gph parazyd.org 70 1README /git/dmt/file/README.md.gph parazyd.org 70 1LICENSE /git/dmt/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 848e7e15d53d5f30af32d6b8e7ab2714b391457f /git/dmt/commit/848e7e15d53d5f30af32d6b8e7ab2714b391457f.gph parazyd.org 70 1parent 4a7c61ed2f03b0dde6117af7ef9f0d7e77e0fc99 /git/dmt/commit/4a7c61ed2f03b0dde6117af7ef9f0d7e77e0fc99.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Wed, 29 Nov 2017 10:52:29 +0100 Err parazyd.org 70 i Err parazyd.org 70 iupdate http-listener with latest changes Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M http-api/README.md | 2 +- Err parazyd.org 70 i M http-api/config.py | 14 ++++++++++++-- Err parazyd.org 70 i M http-api/http_listener.py | 35 +++++++++++++++++++++++++------ Err parazyd.org 70 i Err parazyd.org 70 i3 files changed, 42 insertions(+), 9 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/http-api/README.md b/http-api/README.md /git/dmt/file/http-api/README.md.gph parazyd.org 70 it@@ -16,7 +16,7 @@ Dependencies Err parazyd.org 70 i ------------ Err parazyd.org 70 i Err parazyd.org 70 i ``` Err parazyd.org 70 i-python3-flask Err parazyd.org 70 i+python3-flask python3-mido python3-rtmidi Err parazyd.org 70 i ``` Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 1diff --git a/http-api/config.py b/http-api/config.py /git/dmt/file/http-api/config.py.gph parazyd.org 70 it@@ -11,7 +11,17 @@ HTTP API handler configuration Err parazyd.org 70 i cardno = '1' Err parazyd.org 70 i Err parazyd.org 70 i # Mic capture line (for amixer) Err parazyd.org 70 i-mic_cap = "numid=4,iface=MIXER,name='Mic Playback Volume'" Err parazyd.org 70 i+#mic_cap = "numid=4,iface=MIXER,name='Mic Playback Volume'" # chinese card Err parazyd.org 70 i+#mic_cap = "numid=4,iface=MIXER,name='Mic Playback Volume'" # sennheiser card Err parazyd.org 70 i+mic_cap = "numid=6,iface=MIXER,name='Capture Volume'" # thinkpad x201 Err parazyd.org 70 i Err parazyd.org 70 i # Mic playback line (for amixer) Err parazyd.org 70 i-mic_play = "numid=8,iface=MIXER,name='Mic Capture Volume'" Err parazyd.org 70 i+#mic_play = "numid=8,iface=MIXER,name='Mic Capture Volume'" # chinese card Err parazyd.org 70 i+#mic_play = "numid=12,iface=MIXER,name='Mic Capture Volume'" # sennheiser card Err parazyd.org 70 i+mic_play = "numid=6,iface=MIXER,name='Capture Volume'" # thinkpad x201 Err parazyd.org 70 i+ Err parazyd.org 70 i+# The device we want to use for MIDI. Found using: mido.get_input_names() Err parazyd.org 70 i+#device_name = 'USB MS1x1 MIDI Interface:USB MS1x1 MIDI Interface MIDI 1 24:0' Err parazyd.org 70 i+ Err parazyd.org 70 i+import mido Err parazyd.org 70 i+device_name = mido.get_input_names()[1] Err parazyd.org 70 1diff --git a/http-api/http_listener.py b/http-api/http_listener.py /git/dmt/file/http-api/http_listener.py.gph parazyd.org 70 it@@ -4,10 +4,11 @@ Err parazyd.org 70 i HTTP API handler for the Caller Station Err parazyd.org 70 i """ Err parazyd.org 70 i Err parazyd.org 70 i-from subprocess import Popen Err parazyd.org 70 i+#from subprocess import Popen Err parazyd.org 70 i from flask import Flask Err parazyd.org 70 i+import mido Err parazyd.org 70 i Err parazyd.org 70 i-from config import (cardno, mic_cap, mic_play) Err parazyd.org 70 i+from config import (cardno, mic_cap, mic_play, device_name) Err parazyd.org 70 i Err parazyd.org 70 i APP = Flask(__name__) Err parazyd.org 70 i Err parazyd.org 70 it@@ -27,8 +28,19 @@ def callanswered(): Err parazyd.org 70 i """ Err parazyd.org 70 i print('Call answered') Err parazyd.org 70 i Err parazyd.org 70 i- Popen(['amixer', '-c', cardno, 'cset', mic_play, '100']) Err parazyd.org 70 i- Popen(['amixer', '-c', cardno, 'cset', mic_cap, '0']) Err parazyd.org 70 i+ #Popen(['amixer', '-c', cardno, 'cset', mic_play, '100']) Err parazyd.org 70 i+ #Popen(['amixer', '-c', cardno, 'cset', mic_cap, '0']) Err parazyd.org 70 i+ Err parazyd.org 70 i+ msgdict = { Err parazyd.org 70 i+ 'type': 'note_on', Err parazyd.org 70 i+ 'time': 0, Err parazyd.org 70 i+ 'note': 61, Err parazyd.org 70 i+ 'velocity': 127, Err parazyd.org 70 i+ 'channel': 0, Err parazyd.org 70 i+ } Err parazyd.org 70 i+ msg = mido.Message.from_dict(msgdict) Err parazyd.org 70 i+ with mido.open_output(device_name) as midi_out: Err parazyd.org 70 i+ midi_out.send(msg) Err parazyd.org 70 i Err parazyd.org 70 i return 'Call answered\n' Err parazyd.org 70 i Err parazyd.org 70 it@@ -40,8 +52,19 @@ def callended(): Err parazyd.org 70 i """ Err parazyd.org 70 i print('Call ended') Err parazyd.org 70 i Err parazyd.org 70 i- Popen(['amixer', '-c', cardno, 'cset', mic_play, '0']) Err parazyd.org 70 i- Popen(['amixer', '-c', cardno, 'cset', mic_cap, '100']) Err parazyd.org 70 i+ #Popen(['amixer', '-c', cardno, 'cset', mic_play, '0']) Err parazyd.org 70 i+ #Popen(['amixer', '-c', cardno, 'cset', mic_cap, '100']) Err parazyd.org 70 i+ Err parazyd.org 70 i+ msgdict = { Err parazyd.org 70 i+ 'type': 'note_on', Err parazyd.org 70 i+ 'time': 0, Err parazyd.org 70 i+ 'note': 62, Err parazyd.org 70 i+ 'velocity': 127, Err parazyd.org 70 i+ 'channel': 0, Err parazyd.org 70 i+ } Err parazyd.org 70 i+ msg = mido.Message.from_dict(msgdict) Err parazyd.org 70 i+ with mido.open_output(device_name) as midi_out: Err parazyd.org 70 i+ midi_out.send(msg) Err parazyd.org 70 i Err parazyd.org 70 i return 'Call ended\n' Err parazyd.org 70 i Err parazyd.org 70 .