From ca710ab3f1c1174469a3b48f1257c0fc0ce624bf Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 13 Feb 2019 09:36:39 +1000 Subject: [PATCH] allow running with pyaudio missing --- anki/sound.py | 16 +++++++++++----- aqt/sound.py | 9 ++++++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/anki/sound.py b/anki/sound.py index 94e461c8e..8dc2223b5 100644 --- a/anki/sound.py +++ b/anki/sound.py @@ -297,12 +297,15 @@ addHook("unloadProfile", stopMplayer) # PyAudio recording ########################################################################## -import pyaudio -import wave +try: + import pyaudio + import wave -PYAU_FORMAT = pyaudio.paInt16 -PYAU_CHANNELS = 1 -PYAU_INPUT_INDEX = None + PYAU_FORMAT = pyaudio.paInt16 + PYAU_CHANNELS = 1 + PYAU_INPUT_INDEX = None +except: + pyaudio = None class _Recorder: @@ -389,6 +392,9 @@ class PyAudioRecorder(_Recorder): else: return processingSrc +if not pyaudio: + PyAudioRecorder = None + # Audio interface ########################################################################## diff --git a/aqt/sound.py b/aqt/sound.py index fc8f31856..bef2d4c4c 100644 --- a/aqt/sound.py +++ b/aqt/sound.py @@ -5,11 +5,18 @@ from aqt.qt import * import time from anki.sound import Recorder -from aqt.utils import saveGeom, restoreGeom +from aqt.utils import saveGeom, restoreGeom, showWarning + +if not Recorder: + print("pyaudio not installed") def getAudio(parent, encode=True): "Record and return filename" # record first + if not Recorder: + showWarning("pyaudio not installed") + return + r = Recorder() mb = QMessageBox(parent) restoreGeom(mb, "audioRecorder")