Browse Source

Avoided some pedantic warnings in the win32 ASIO code

tags/2021-05-28
jules 9 years ago
parent
commit
101c4782e1
1 changed files with 30 additions and 27 deletions
  1. +30
    -27
      modules/juce_audio_devices/native/juce_win32_ASIO.cpp

+ 30
- 27
modules/juce_audio_devices/native/juce_win32_ASIO.cpp View File

@@ -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<double> getAvailableSampleRates() override { return sampleRates; }
Array<int> 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<double> sampleRates;
Array<int> bufferSizes;
long inputLatency, outputLatency;
long minSize, maxSize, preferredSize, granularity;
long minBufferSize, maxBufferSize, preferredBufferSize, bufferGranularity;
ASIOClockSource clocks[32];
int numClockSources;
@@ -829,23 +828,27 @@ private:
}
}
int readBufferSizes (int bufferSizeSamples)
long refreshBufferSizes()
{
minSize = 0;
maxSize = 0;
granularity = 0;
return asioObject->getBufferSize (&minBufferSize, &maxBufferSize, &preferredBufferSize, &bufferGranularity);
}
int readBufferSizes (int bufferSizeSamples)
{
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..


Loading…
Cancel
Save