diff --git a/qt/aqt/preferences.py b/qt/aqt/preferences.py index 4304c61b8..273d87eb6 100644 --- a/qt/aqt/preferences.py +++ b/qt/aqt/preferences.py @@ -223,7 +223,6 @@ class Preferences(QDialog): self.form.interrupt_audio.setChecked(self.mw.pm.interrupt_audio()) self._recording_drivers = [ RecordingDriver.QtAudioInput, - RecordingDriver.QtRecorder, RecordingDriver.PyAudio, ] # fixme: i18n diff --git a/qt/aqt/profiles.py b/qt/aqt/profiles.py index bbb5547a8..71ff9d0d1 100644 --- a/qt/aqt/profiles.py +++ b/qt/aqt/profiles.py @@ -33,9 +33,8 @@ from aqt.utils import TR, locale_dir, showWarning, tr class RecordingDriver(Enum): - QtRecorder = "qtrecorder" - PyAudio = "pyaudio" - QtAudioInput = "qtaudioinput" + PyAudio = "PyAudio" + QtAudioInput = "Qt" metaConf = dict( @@ -641,7 +640,11 @@ create table if not exists profiles def recording_driver(self) -> RecordingDriver: if driver := self.profile.get("recordingDriver"): - return RecordingDriver(driver) + try: + return RecordingDriver(driver) + except ValueError: + # revert to default + pass return RecordingDriver.QtAudioInput def set_recording_driver(self, driver: RecordingDriver): diff --git a/qt/aqt/sound.py b/qt/aqt/sound.py index 64fdc6304..a5e4e08fa 100644 --- a/qt/aqt/sound.py +++ b/qt/aqt/sound.py @@ -521,44 +521,6 @@ class Recorder(ABC): pass -# Qt recording -########################################################################## - - -class QtRecorder(Recorder): - def __init__(self, output_path: str, parent: QWidget): - super().__init__(output_path) - - from PyQt5.QtMultimedia import QAudioRecorder - - self._recorder = QAudioRecorder(parent) - audio = self._recorder.audioSettings() - audio.setSampleRate(44100) - audio.setChannelCount(1) - self._recorder.setEncodingSettings( - audio, - self._recorder.videoSettings(), - "audio/x-wav", - ) - self._recorder.setOutputLocation(QUrl.fromLocalFile(self.output_path)) - self._recorder.setMuted(True) - - def start(self, on_done: Callable[[], None]) -> None: - self._recorder.record() - super().start(on_done) - - def stop(self, on_done: Callable[[str], None]): - self._recorder.stop() - super().stop(on_done) - - def on_timer(self): - duration = self._recorder.duration() - if duration >= 300: - # disable mute after recording starts to avoid clicks/pops - if self._recorder.isMuted(): - self._recorder.setMuted(False) - - # QAudioInput recording ########################################################################## @@ -770,9 +732,7 @@ class RecordDialog(QDialog): def _start_recording(self): driver = self.mw.pm.recording_driver() - if driver is RecordingDriver.QtRecorder: - self._recorder = QtRecorder(namedtmp("rec.wav"), self._parent) - elif driver is RecordingDriver.PyAudio: + if driver is RecordingDriver.PyAudio: self._recorder = PyAudioRecorder(self.mw, namedtmp("rec.wav")) elif driver is RecordingDriver.QtAudioInput: self._recorder = QtAudioInputRecorder(