From 101c4782e1262f2c2ecc1938232ce84eb5d51b4c Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 28 Jan 2016 10:00:32 +0000 Subject: [PATCH] Avoided some pedantic warnings in the win32 ASIO code --- .../native/juce_win32_ASIO.cpp | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp index 68b61bb10c..d75d01e3a2 100644 --- a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp +++ b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp @@ -320,9 +320,9 @@ public: classId (clsID), inputLatency (0), outputLatency (0), - minSize (0), maxSize (0), - preferredSize (0), - granularity (0), + minBufferSize (0), maxBufferSize (0), + preferredBufferSize (0), + bufferGranularity (0), numClockSources (0), currentBlockSizeSamples (0), currentBitDepth (16), @@ -403,7 +403,7 @@ public: Array getAvailableSampleRates() override { return sampleRates; } Array getAvailableBufferSizes() override { return bufferSizes; } - int getDefaultBufferSize() override { return preferredSize; } + int getDefaultBufferSize() override { return preferredBufferSize; } String open (const BigInteger& inputChannels, const BigInteger& outputChannels, @@ -469,10 +469,10 @@ public: removeCurrentDriver(); loadDriver(); - const String error (initDriver()); + String initError = initDriver(); - if (error.isNotEmpty()) - JUCE_ASIO_LOG ("ASIOInit: " + error); + if (initError.isNotEmpty()) + JUCE_ASIO_LOG ("ASIOInit: " + initError); needToReset = false; } @@ -489,7 +489,7 @@ public: if (err != ASE_OK) { - currentBlockSizeSamples = preferredSize; + currentBlockSizeSamples = preferredBufferSize; JUCE_ASIO_LOG_ERROR ("create buffers 2", err); asioObject->disposeBuffers(); @@ -561,8 +561,7 @@ public: } readLatencies(); - - asioObject->getBufferSize (&minSize, &maxSize, &preferredSize, &granularity); + refreshBufferSizes(); deviceIsOpen = true; JUCE_ASIO_LOG ("starting"); @@ -762,7 +761,7 @@ private: Array sampleRates; Array bufferSizes; long inputLatency, outputLatency; - long minSize, maxSize, preferredSize, granularity; + long minBufferSize, maxBufferSize, preferredBufferSize, bufferGranularity; ASIOClockSource clocks[32]; int numClockSources; @@ -829,23 +828,27 @@ private: } } + long refreshBufferSizes() + { + return asioObject->getBufferSize (&minBufferSize, &maxBufferSize, &preferredBufferSize, &bufferGranularity); + } + int readBufferSizes (int bufferSizeSamples) { - minSize = 0; - maxSize = 0; - granularity = 0; - + minBufferSize = 0; + maxBufferSize = 0; + bufferGranularity = 0; long newPreferredSize = 0; - if (asioObject->getBufferSize (&minSize, &maxSize, &newPreferredSize, &granularity) == ASE_OK) + if (asioObject->getBufferSize (&minBufferSize, &maxBufferSize, &newPreferredBufferSize, &bufferGranularity) == ASE_OK) { - if (preferredSize != 0 && newPreferredSize != 0 && newPreferredSize != preferredSize) + if (preferredBufferSize != 0 && newPreferredSize != 0 && newPreferredSize != preferredBufferSize) shouldUsePreferredSize = true; - if (bufferSizeSamples < minSize || bufferSizeSamples > maxSize) + if (bufferSizeSamples < minBufferSize || bufferSizeSamples > maxBufferSize) shouldUsePreferredSize = true; - preferredSize = newPreferredSize; + preferredBufferSize = newPreferredSize; } // unfortunate workaround for certain drivers which crash if you make @@ -855,11 +858,11 @@ private: if (shouldUsePreferredSize) { JUCE_ASIO_LOG ("Using preferred size for buffer.."); - long err = asioObject->getBufferSize (&minSize, &maxSize, &preferredSize, &granularity); + long err = refreshBufferSizes(); if (err == ASE_OK) { - bufferSizeSamples = (int) preferredSize; + bufferSizeSamples = (int) preferredBufferSize; } else { @@ -1082,8 +1085,8 @@ private: if (i < 2) { // clear the channels that are used with the dummy stuff - outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[0], preferredSize); - outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[1], preferredSize); + outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[0], preferredBufferSize); + outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[1], preferredBufferSize); } } } @@ -1203,9 +1206,9 @@ private: inputFormat.calloc (chansToAllocate); outputFormat.calloc (chansToAllocate); - if ((err = asioObject->getBufferSize (&minSize, &maxSize, &preferredSize, &granularity)) == 0) + if ((err = refreshBufferSizes()) == 0) { - addBufferSizes (minSize, maxSize, preferredSize, granularity); + addBufferSizes (minBufferSize, maxBufferSize, preferredBufferSize, bufferGranularity); double currentRate = getSampleRate(); @@ -1226,8 +1229,8 @@ private: updateSampleRates(); - readLatencies(); // ..doing these steps because cubase does so at this stage - createDummyBuffers (preferredSize); // in initialisation, and some devices fail if we don't. + readLatencies(); // ..doing these steps because cubase does so at this stage + createDummyBuffers (preferredBufferSize); // in initialisation, and some devices fail if we don't. readLatencies(); // start and stop because cubase does it..