From 37695da7137b5671cbe373a7ad8392623a47d8b2 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 6 Nov 2020 12:01:37 +1000 Subject: [PATCH] fix missing QAudioDeviceInfo on macOS --- qt/aqt/pinnedmodules.py | 9 +++++++-- qt/aqt/sound.py | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/qt/aqt/pinnedmodules.py b/qt/aqt/pinnedmodules.py index 49cc020e1..eee5660b0 100644 --- a/qt/aqt/pinnedmodules.py +++ b/qt/aqt/pinnedmodules.py @@ -26,13 +26,18 @@ import socks # legacy compat import anki.storage import anki.sync -from anki.utils import isLin, isWin +from anki.utils import isLin, isMac, isWin -# external module access in Windows if isWin: + # external module access import pythoncom import pywintypes import win32com if isLin: + # file locking import fcntl + +if isMac: + # recording + import PyQt5.QtMultimedia diff --git a/qt/aqt/sound.py b/qt/aqt/sound.py index 7f1a91616..d65cb4622 100644 --- a/qt/aqt/sound.py +++ b/qt/aqt/sound.py @@ -507,8 +507,9 @@ class PyAudioThreadedRecorder(threading.Thread): self.finish = False if isMac and qtminor > 12: # trigger permission prompt - # pylint: disable=undefined-variable - QAudioDeviceInfo.defaultInputDevice() # type: ignore + from PyQt5.QtMultimedia import QAudioDeviceInfo + + QAudioDeviceInfo.defaultInputDevice() def run(self) -> None: chunk = 1024