From d73e32e9c939bd5d06a1eee3c178b27b8f75cf94 Mon Sep 17 00:00:00 2001 From: shun-iwasawa Date: Mar 15 2021 21:52:17 +0000 Subject: fix macos audio recording (#3763) --- diff --git a/toonz/cmake/BundleInfo.plist.in b/toonz/cmake/BundleInfo.plist.in index d56c1fb..0f50b98 100644 --- a/toonz/cmake/BundleInfo.plist.in +++ b/toonz/cmake/BundleInfo.plist.in @@ -34,5 +34,7 @@ This Open Source Program is developed from Toonz, a software originally created by Digital Video, S.p.A., Rome Italy NSCameraUsageDescription OpenToonz needs access to the camera in order to use Camera Capture + NSMicrophoneUsageDescription + OpenToonz needs access to the microphone in order to use Record Audio diff --git a/toonz/sources/toonz/audiorecordingpopup.cpp b/toonz/sources/toonz/audiorecordingpopup.cpp index a71e78c..be966dc 100644 --- a/toonz/sources/toonz/audiorecordingpopup.cpp +++ b/toonz/sources/toonz/audiorecordingpopup.cpp @@ -51,13 +51,11 @@ #include #include -// //============================================================================= AudioRecordingPopup::AudioRecordingPopup() : Dialog(TApp::instance()->getMainWindow(), false, true, "AudioRecording") { setWindowTitle(tr("Audio Recording")); - m_isPlaying = false; m_syncPlayback = true; m_currentFrame = 0; @@ -175,7 +173,11 @@ AudioRecordingPopup::AudioRecordingPopup() m_probe->setSource(m_audioRecorder); QAudioEncoderSettings audioSettings; audioSettings.setCodec("audio/PCM"); +#ifdef MACOSX + audioSettings.setSampleRate(-1); +#else audioSettings.setSampleRate(44100); +#endif audioSettings.setChannelCount(1); audioSettings.setBitRate(16); audioSettings.setEncodingMode(QMultimedia::ConstantBitRateEncoding); @@ -512,7 +514,7 @@ void AudioRecordingPopup::processBuffer(const QAudioBuffer &buffer) { qreal maxValue = 0; qreal tempValue = 0; for (int i = 0; i < buffer.frameCount(); ++i) { - tempValue = qAbs(qreal(data[i])); + tempValue = qAbs(qreal(data[i])); if (tempValue > maxValue) maxValue = tempValue; } maxValue /= SHRT_MAX; @@ -606,4 +608,4 @@ void AudioLevelsDisplay::paintEvent(QPaintEvent *event) { //----------------------------------------------------------------------------- OpenPopupCommandHandler openAudioRecordingPopup( - MI_AudioRecording); \ No newline at end of file + MI_AudioRecording);