From bb98c00d0d88e44cc6d52b369524604d1e178426 Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 1 Oct 2013 11:53:17 +0100 Subject: [PATCH] Avoided some pedantic compiler warnings in the audio plugin code. --- .../buffers/juce_FloatVectorOperations.cpp | 2 +- .../AAX/juce_AAX_Wrapper.cpp | 13 +++++++------ .../juce_audio_plugin_client/AU/juce_AU_Wrapper.mm | 10 +++++----- .../RTAS/juce_RTAS_MacUtilities.mm | 6 +++++- .../VST/juce_VST_Wrapper.cpp | 1 + .../VST/juce_VST_Wrapper.mm | 1 + modules/juce_core/text/juce_String.cpp | 2 +- modules/juce_graphics/geometry/juce_EdgeTable.cpp | 4 ++-- 8 files changed, 23 insertions(+), 16 deletions(-) diff --git a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp index 5ee4514abc..449e9ae41c 100644 --- a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp +++ b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp @@ -254,7 +254,7 @@ void JUCE_CALLTYPE FloatVectorOperations::multiply (float* dest, float multiplie void FloatVectorOperations::negate (float* dest, const float* src, int num) noexcept { #if JUCE_USE_VDSP_FRAMEWORK - vDSP_vneg ((float*) src, 1, dest, 1, num); + vDSP_vneg ((float*) src, 1, dest, 1, (vDSP_Length) num); #else copyWithMultiply (dest, src, -1.0f, num); #endif diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index 979c4ccc5d..ee4b90f405 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -42,6 +42,7 @@ #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #pragma clang diagnostic ignored "-Wsign-conversion" #endif #include "AAX_Exports.cpp" @@ -428,7 +429,7 @@ struct AAXClasses if (tempFilterData.getSize() == 0) pluginInstance->getStateInformation (tempFilterData); - oChunk->fSize = (uint32_t) tempFilterData.getSize(); + oChunk->fSize = (int32_t) tempFilterData.getSize(); tempFilterData.copyTo (oChunk->fData, 0, tempFilterData.getSize()); tempFilterData.setSize (0); @@ -681,7 +682,7 @@ struct AAXClasses if (numOuts >= numIns) { for (int i = 0; i < numIns; ++i) - memcpy (outputs[i], inputs[i], bufferSize * sizeof (float)); + memcpy (outputs[i], inputs[i], (size_t) bufferSize * sizeof (float)); process (outputs, numOuts, bufferSize, bypass, midiNodeIn, midiNodesOut); } @@ -694,7 +695,7 @@ struct AAXClasses for (int i = 0; i < numOuts; ++i) { - memcpy (outputs[i], inputs[i], bufferSize * sizeof (float)); + memcpy (outputs[i], inputs[i], (size_t) bufferSize * sizeof (float)); channels[i] = outputs[i]; } @@ -752,7 +753,7 @@ struct AAXClasses // (This 8-byte alignment is a workaround to a bug in the AAX SDK. Hopefully can be // removed in future when the packet structure size is fixed) const AAX_CMidiPacket& m = *addBytesToPointer (midiStream->mBuffer, - i * ((sizeof (AAX_CMidiPacket) + 7) & ~7)); + i * ((sizeof (AAX_CMidiPacket) + 7) & ~(size_t) 7)); jassert ((int) m.mTimestamp < bufferSize); midiBuffer.addEvent (m.mData, (int) m.mLength, jlimit (0, (int) bufferSize - 1, (int) m.mTimestamp)); @@ -792,7 +793,7 @@ struct AAXClasses { packet.mTimestamp = (uint32_t) midiEventPosition; packet.mLength = (uint32_t) midiEventSize; - memcpy (packet.mData, midiEventData, midiEventSize); + memcpy (packet.mData, midiEventData, (size_t) midiEventSize); check (midiNodesOut->PostMIDIPacket (&packet)); } @@ -833,7 +834,7 @@ struct AAXClasses audioProcessor.isParameterAutomatable (parameterIndex)); parameter->AddShortenedName (audioProcessor.getParameterName (parameterIndex, 4).toRawUTF8()); - parameter->SetNumberOfSteps (audioProcessor.getParameterNumSteps (parameterIndex)); + parameter->SetNumberOfSteps ((uint32_t) audioProcessor.getParameterNumSteps (parameterIndex)); parameter->SetType (AAX_eParameterType_Continuous); mParameterManager.AddParameter (parameter); } diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm index 1fae23fe86..076a57e592 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -38,6 +38,10 @@ #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wshorten-64-to-32" + #pragma clang diagnostic ignored "-Wunused-parameter" + #pragma clang diagnostic ignored "-Wdeprecated-declarations" + #pragma clang diagnostic ignored "-Wsign-conversion" + #pragma clang diagnostic ignored "-Wconversion" #endif #include "../utility/juce_IncludeSystemHeaders.h" @@ -52,10 +56,6 @@ #define Component CarbonDummyCompName #endif -#ifdef __clang__ - #pragma clang diagnostic ignored "-Wdeprecated-declarations" -#endif - #include "AUMIDIEffectBase.h" #include "MusicDeviceBase.h" #undef Point @@ -884,7 +884,7 @@ public: for (MidiBuffer::Iterator i (midiEvents); i.getNextEvent (midiEventData, midiEventSize, midiEventPosition);) { p->timeStamp = (MIDITimeStamp) midiEventPosition; - p->length = (size_t) midiEventSize; + p->length = (UInt16) midiEventSize; memcpy (p->data, midiEventData, (size_t) midiEventSize); p = MIDIPacketNext (p); } diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm index 53b840be9c..9cb42bc6b7 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm @@ -40,6 +40,7 @@ #include "../utility/juce_CarbonVisibility.h" //============================================================================== +void initialiseMacRTAS(); void initialiseMacRTAS() { #if ! JUCE_64BIT @@ -47,6 +48,7 @@ void initialiseMacRTAS() #endif } +void* attachSubWindow (void*, Component*); void* attachSubWindow (void* hostWindowRef, Component* comp) { JUCE_AUTORELEASEPOOL @@ -69,7 +71,7 @@ void* attachSubWindow (void* hostWindowRef, Component* comp) f.size.height = comp->getHeight(); [content setFrame: f]; - const int mainScreenHeight = [[[NSScreen screens] objectAtIndex: 0] frame].size.height; + const CGFloat mainScreenHeight = [[[NSScreen screens] objectAtIndex: 0] frame].size.height; #if WINDOWPOSITION_BODGE { @@ -110,6 +112,7 @@ void* attachSubWindow (void* hostWindowRef, Component* comp) } } +void removeSubWindow (void*, Component*); void removeSubWindow (void* nsWindow, Component* comp) { JUCE_AUTORELEASEPOOL @@ -142,6 +145,7 @@ namespace } } +void forwardCurrentKeyEventToHostWindow(); void forwardCurrentKeyEventToHostWindow() { WindowRef w = FrontNonFloatingWindow(); diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp index f65e7e43a0..f9c54c2720 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp @@ -76,6 +76,7 @@ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wconversion" #pragma clang diagnostic ignored "-Wshadow" + #pragma clang diagnostic ignored "-Wunused-parameter" #endif // VSTSDK V2.4 includes.. diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm index 34728dde1d..57abfb8e5f 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm @@ -222,6 +222,7 @@ void setNativeHostWindowSize (void* nsWindow, Component* component, int newWidth [hostView frame].size.height + (newHeight - component->getHeight()))]; } #else + (void) nsWindow; if (HIViewRef dummyView = (HIViewRef) (void*) (pointer_sized_int) component->getProperties() ["dummyViewRef"].toString().getHexValue64()) diff --git a/modules/juce_core/text/juce_String.cpp b/modules/juce_core/text/juce_String.cpp index 925d81268d..36c797abb3 100644 --- a/modules/juce_core/text/juce_String.cpp +++ b/modules/juce_core/text/juce_String.cpp @@ -73,7 +73,7 @@ public: //============================================================================== static CharPointerType createUninitialisedBytes (size_t numBytes) { - numBytes = (numBytes + 3) & ~3; + numBytes = (numBytes + 3) & ~(size_t) 3; StringHolder* const s = reinterpret_cast (new char [sizeof (StringHolder) - sizeof (CharType) + numBytes]); s->refCount.value = 0; s->allocatedNumBytes = numBytes; diff --git a/modules/juce_graphics/geometry/juce_EdgeTable.cpp b/modules/juce_graphics/geometry/juce_EdgeTable.cpp index 2d306e62ce..bd0841d881 100644 --- a/modules/juce_graphics/geometry/juce_EdgeTable.cpp +++ b/modules/juce_graphics/geometry/juce_EdgeTable.cpp @@ -564,7 +564,7 @@ void EdgeTable::intersectWithEdgeTableLine (const int y, const int* const otherL if (isUsingTempSpace) { - const size_t tempSize = (size_t) (srcNum1 * 2 * sizeof (int)); + const size_t tempSize = (size_t) srcNum1 * 2 * sizeof (int); int* const oldTemp = static_cast (alloca (tempSize)); memcpy (oldTemp, src1, tempSize); @@ -589,7 +589,7 @@ void EdgeTable::intersectWithEdgeTableLine (const int y, const int* const otherL { isUsingTempSpace = true; int* const temp = table + lineStrideElements * bounds.getHeight(); - memcpy (temp, src1, (size_t) (srcNum1 * 2 * sizeof (int))); + memcpy (temp, src1, (size_t) srcNum1 * 2 * sizeof (int)); src1 = temp; }