From b0a5245ef04ca145030820c0e5d5f2cfae5fa2d5 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 19 Jan 2015 17:50:50 +0100 Subject: [PATCH] Hotfix crash in OSX engine dialog. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is not really a fix, just some quick hack to make ardour start at all if there’s no prior CoreAudio EngineState in the config. --- libs/backends/wavesaudio/waves_audiobackend.cc | 4 ++++ .../wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp | 1 + .../wavesaudio/wavesapi/devicemanager/WCMRNativeAudio.cpp | 2 ++ 3 files changed, 7 insertions(+) diff --git a/libs/backends/wavesaudio/waves_audiobackend.cc b/libs/backends/wavesaudio/waves_audiobackend.cc index 51ae026c69..a8908a4f99 100644 --- a/libs/backends/wavesaudio/waves_audiobackend.cc +++ b/libs/backends/wavesaudio/waves_audiobackend.cc @@ -224,6 +224,9 @@ float WavesAudioBackend::default_sample_rate () const uint32_t WavesAudioBackend::default_buffer_size (const std::string& device_name) const { +#ifdef __APPLE__ + return AudioBackend::default_buffer_size (device_name); +#else DeviceInfo devInfo; WTErr err = _audio_device_manager.GetDeviceInfoByName(device_name, devInfo); @@ -233,6 +236,7 @@ WavesAudioBackend::default_buffer_size (const std::string& device_name) const } return devInfo.m_DefaultBufferSize; +#endif } std::vector diff --git a/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp b/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp index 5c1ceac63e..c3a1813176 100644 --- a/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp +++ b/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp @@ -115,6 +115,7 @@ WCMRCoreAudioDevice::WCMRCoreAudioDevice (WCMRCoreAudioDeviceManager *pManager, m_CurrentSamplingRate = DEFAULT_SR; m_CurrentBufferSize = DEFAULT_BUFFERSIZE; + m_DefaultBufferSize = DEFAULT_BUFFERSIZE; m_StopRequested = true; m_pInputData = NULL; diff --git a/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRNativeAudio.cpp b/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRNativeAudio.cpp index b87d8e69b0..b05a2dfc6e 100644 --- a/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRNativeAudio.cpp +++ b/libs/backends/wavesaudio/wavesapi/devicemanager/WCMRNativeAudio.cpp @@ -64,6 +64,8 @@ WCMRNativeAudioNoneDevice::WCMRNativeAudioNoneDevice (WCMRAudioDeviceManager *pM } _m_inputBuffer = new float[__m_NumInputChannels * m_BufferSizes.back()]; _m_outputBuffer = new float[__m_NumOutputChannels * m_BufferSizes.back()]; + m_DefaultBufferSize = m_BufferSizes.back(); + m_CurrentBufferSize = m_BufferSizes.back(); }