| @@ -285,7 +285,7 @@ private: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void paintListBoxItem (int rowNumber, Graphics &g, | |||||
| void paintListBoxItem (int rowNumber, Graphics& g, | |||||
| int width, int height, bool rowIsSelected) override | int width, int height, bool rowIsSelected) override | ||||
| { | { | ||||
| auto textColour = getLookAndFeel().findColour (ListBox::textColourId); | auto textColour = getLookAndFeel().findColour (ListBox::textColourId); | ||||
| @@ -356,7 +356,7 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| void handleIncomingMidiMessage (MidiInput* /*source*/, const MidiMessage &message) override | |||||
| void handleIncomingMidiMessage (MidiInput* /*source*/, const MidiMessage& message) override | |||||
| { | { | ||||
| // This is called on the MIDI thread | // This is called on the MIDI thread | ||||
| @@ -694,7 +694,7 @@ public: | |||||
| } | } | ||||
| private: | private: | ||||
| void valueTreePropertyChanged (ValueTree &, const Identifier &property) override | |||||
| void valueTreePropertyChanged (ValueTree&, const Identifier& property) override | |||||
| { | { | ||||
| if (property == IDs::totalRange) | if (property == IDs::totalRange) | ||||
| { | { | ||||
| @@ -854,7 +854,7 @@ public: | |||||
| } | } | ||||
| private: | private: | ||||
| void valueTreePropertyChanged (ValueTree&, const Identifier &property) override | |||||
| void valueTreePropertyChanged (ValueTree&, const Identifier& property) override | |||||
| { | { | ||||
| if (property == IDs::synthVoices) | if (property == IDs::synthVoices) | ||||
| { | { | ||||
| @@ -957,7 +957,7 @@ private: | |||||
| setWantsKeyboardFocus (true); | setWantsKeyboardFocus (true); | ||||
| } | } | ||||
| void addRowComponent (RowComponent *rc) | |||||
| void addRowComponent (RowComponent* rc) | |||||
| { | { | ||||
| rowComponents.add (rc); | rowComponents.add (rc); | ||||
| addAndMakeVisible (rc); | addAndMakeVisible (rc); | ||||
| @@ -967,14 +967,14 @@ private: | |||||
| { | { | ||||
| auto totalRowUnits = 0; | auto totalRowUnits = 0; | ||||
| for (auto &rc : rowComponents) | |||||
| for (auto* rc : rowComponents) | |||||
| totalRowUnits += rc->rowUnits; | totalRowUnits += rc->rowUnits; | ||||
| auto rowHeight = getHeight() / totalRowUnits; | auto rowHeight = getHeight() / totalRowUnits; | ||||
| auto bounds = getLocalBounds(); | auto bounds = getLocalBounds(); | ||||
| for (auto &rc : rowComponents) | |||||
| for (auto* rc : rowComponents) | |||||
| rc->setBounds (bounds.removeFromTop (rc->rowUnits * rowHeight)); | rc->setBounds (bounds.removeFromTop (rc->rowUnits * rowHeight)); | ||||
| auto* last = rowComponents[rowComponents.size() - 1]; | auto* last = rowComponents[rowComponents.size() - 1]; | ||||
| @@ -1007,9 +1007,7 @@ private: | |||||
| void resized() override | void resized() override | ||||
| { | { | ||||
| auto columnWidth = getWidth(); | auto columnWidth = getWidth(); | ||||
| auto rowHeight = getHeight() / 6; | auto rowHeight = getHeight() / 6; | ||||
| auto bounds = getLocalBounds(); | auto bounds = getLocalBounds(); | ||||
| getDeliveredNotificationsButton .setBounds (bounds.removeFromTop (rowHeight)); | getDeliveredNotificationsButton .setBounds (bounds.removeFromTop (rowHeight)); | ||||
| @@ -1020,7 +1018,7 @@ private: | |||||
| removeAllDeliveredNotifsButton .setBounds (bounds.removeFromTop (rowHeight)); | removeAllDeliveredNotifsButton .setBounds (bounds.removeFromTop (rowHeight)); | ||||
| #if JUCE_IOS || JUCE_MAC | |||||
| #if JUCE_IOS || JUCE_MAC | |||||
| getPendingNotificationsButton .setBounds (bounds.removeFromTop (rowHeight)); | getPendingNotificationsButton .setBounds (bounds.removeFromTop (rowHeight)); | ||||
| rowBounds = bounds.removeFromTop (rowHeight); | rowBounds = bounds.removeFromTop (rowHeight); | ||||
| @@ -1028,7 +1026,7 @@ private: | |||||
| pendingNotifIdentifier .setBounds (rowBounds); | pendingNotifIdentifier .setBounds (rowBounds); | ||||
| removeAllPendingNotifsButton .setBounds (bounds.removeFromTop (rowHeight)); | removeAllPendingNotifsButton .setBounds (bounds.removeFromTop (rowHeight)); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| TextButton getDeliveredNotificationsButton { "Get Delivered Notifications" }; | TextButton getDeliveredNotificationsButton { "Get Delivered Notifications" }; | ||||
| @@ -1046,11 +1044,11 @@ private: | |||||
| RemoteView() | RemoteView() | ||||
| { | { | ||||
| addAndMakeVisible (getDeviceTokenButton); | addAndMakeVisible (getDeviceTokenButton); | ||||
| #if JUCE_ANDROID | |||||
| #if JUCE_ANDROID | |||||
| addAndMakeVisible (sendRemoteMessageButton); | addAndMakeVisible (sendRemoteMessageButton); | ||||
| addAndMakeVisible (subscribeToSportsButton); | addAndMakeVisible (subscribeToSportsButton); | ||||
| addAndMakeVisible (unsubscribeFromSportsButton); | addAndMakeVisible (unsubscribeFromSportsButton); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| void resized() | void resized() | ||||
| @@ -1085,10 +1083,8 @@ private: | |||||
| if (! showedRemoteInstructions && newCurrentTabName == "Remote") | if (! showedRemoteInstructions && newCurrentTabName == "Remote") | ||||
| { | { | ||||
| PushNotificationsDemo::showRemoteInstructions(); | PushNotificationsDemo::showRemoteInstructions(); | ||||
| showedRemoteInstructions = true; | showedRemoteInstructions = true; | ||||
| } | } | ||||
| } | } | ||||
| private: | private: | ||||
| @@ -1097,22 +1093,19 @@ private: | |||||
| static void showRemoteInstructions() | static void showRemoteInstructions() | ||||
| { | { | ||||
| #if JUCE_IOS || JUCE_MAC | |||||
| #if JUCE_IOS || JUCE_MAC | |||||
| NativeMessageBox::showMessageBoxAsync (AlertWindow::InfoIcon, | NativeMessageBox::showMessageBoxAsync (AlertWindow::InfoIcon, | ||||
| "Remote Notifications instructions", | "Remote Notifications instructions", | ||||
| "In order to be able to test remote notifications " | "In order to be able to test remote notifications " | ||||
| "ensure that the app is signed and that you register " | "ensure that the app is signed and that you register " | ||||
| "the bundle ID for remote notifications in " | "the bundle ID for remote notifications in " | ||||
| "Apple Developer Center."); | "Apple Developer Center."); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| Label headerLabel { "headerLabel", "Push Notifications Demo" }; | Label headerLabel { "headerLabel", "Push Notifications Demo" }; | ||||
| ParamControls paramControls; | ParamControls paramControls; | ||||
| ParamsView paramsOneView; | |||||
| ParamsView paramsTwoView; | |||||
| ParamsView paramsThreeView; | |||||
| ParamsView paramsFourView; | |||||
| ParamsView paramsOneView, paramsTwoView, paramsThreeView, paramsFourView; | |||||
| AuxActionsView auxActionsView; | AuxActionsView auxActionsView; | ||||
| TabbedComponent localNotificationsTabs { TabbedButtonBar::TabsAtTop }; | TabbedComponent localNotificationsTabs { TabbedButtonBar::TabsAtTop }; | ||||
| RemoteView remoteView; | RemoteView remoteView; | ||||
| @@ -144,20 +144,20 @@ private: | |||||
| } | } | ||||
| #if JUCE_MAC | #if JUCE_MAC | ||||
| static bool tryFindDLLFileInAppBundle(File &outFile) | |||||
| static bool tryFindDLLFileInAppBundle (File& outFile) | |||||
| { | { | ||||
| File currentAppFile (File::getSpecialLocation (File::currentApplicationFile)); | File currentAppFile (File::getSpecialLocation (File::currentApplicationFile)); | ||||
| return tryFindDLLFileInFolder (currentAppFile.getChildFile ("Contents"), outFile); | return tryFindDLLFileInFolder (currentAppFile.getChildFile ("Contents"), outFile); | ||||
| } | } | ||||
| #endif | #endif | ||||
| static bool tryFindDLLFileInAppFolder(File &outFile) | |||||
| static bool tryFindDLLFileInAppFolder (File& outFile) | |||||
| { | { | ||||
| auto currentAppFile = File::getSpecialLocation (File::currentApplicationFile); | auto currentAppFile = File::getSpecialLocation (File::currentApplicationFile); | ||||
| return tryFindDLLFileInFolder (currentAppFile.getParentDirectory(), outFile); | return tryFindDLLFileInFolder (currentAppFile.getParentDirectory(), outFile); | ||||
| } | } | ||||
| static bool tryFindDLLFileInAppConfigFolder(File &outFile) | |||||
| static bool tryFindDLLFileInAppConfigFolder (File& outFile) | |||||
| { | { | ||||
| auto userAppDataFolder = getVersionedUserAppSupportFolder(); | auto userAppDataFolder = getVersionedUserAppSupportFolder(); | ||||
| return tryFindDLLFileInFolder (userAppDataFolder, outFile); | return tryFindDLLFileInFolder (userAppDataFolder, outFile); | ||||
| @@ -92,7 +92,7 @@ void JucerTreeViewBase::paintOpenCloseButton (Graphics& g, const Rectangle<float | |||||
| TreeViewItem::paintOpenCloseButton (g, area, getOwnerView()->findColour (defaultIconColourId), isMouseOver); | TreeViewItem::paintOpenCloseButton (g, area, getOwnerView()->findColour (defaultIconColourId), isMouseOver); | ||||
| } | } | ||||
| void JucerTreeViewBase::paintIcon (Graphics &g, Rectangle<float> area) | |||||
| void JucerTreeViewBase::paintIcon (Graphics& g, Rectangle<float> area) | |||||
| { | { | ||||
| g.setColour (getContentColour (true)); | g.setColour (getContentColour (true)); | ||||
| getIcon().draw (g, area, isIconCrossedOut()); | getIcon().draw (g, area, isIconCrossedOut()); | ||||
| @@ -978,9 +978,8 @@ private: | |||||
| class ALSAAudioIODeviceType : public AudioIODeviceType | class ALSAAudioIODeviceType : public AudioIODeviceType | ||||
| { | { | ||||
| public: | public: | ||||
| ALSAAudioIODeviceType (bool onlySoundcards, const String &deviceTypeName) | |||||
| ALSAAudioIODeviceType (bool onlySoundcards, const String& deviceTypeName) | |||||
| : AudioIODeviceType (deviceTypeName), | : AudioIODeviceType (deviceTypeName), | ||||
| hasScanned (false), | |||||
| listOnlySoundcards (onlySoundcards) | listOnlySoundcards (onlySoundcards) | ||||
| { | { | ||||
| #if ! JUCE_ALSA_LOGGING | #if ! JUCE_ALSA_LOGGING | ||||
| @@ -1041,7 +1040,7 @@ public: | |||||
| { | { | ||||
| jassert (hasScanned); // need to call scanForDevices() before doing this | jassert (hasScanned); // need to call scanForDevices() before doing this | ||||
| if (ALSAAudioIODevice* d = dynamic_cast<ALSAAudioIODevice*> (device)) | |||||
| if (auto* d = dynamic_cast<ALSAAudioIODevice*> (device)) | |||||
| return asInput ? inputIds.indexOf (d->inputId) | return asInput ? inputIds.indexOf (d->inputId) | ||||
| : outputIds.indexOf (d->outputId); | : outputIds.indexOf (d->outputId); | ||||
| @@ -1070,9 +1069,9 @@ public: | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| StringArray inputNames, outputNames, inputIds, outputIds; | StringArray inputNames, outputNames, inputIds, outputIds; | ||||
| bool hasScanned, listOnlySoundcards; | |||||
| bool hasScanned = false, listOnlySoundcards; | |||||
| bool testDevice (const String &id, const String &outputName, const String &inputName) | |||||
| bool testDevice (const String& id, const String& outputName, const String& inputName) | |||||
| { | { | ||||
| unsigned int minChansOut = 0, maxChansOut = 0; | unsigned int minChansOut = 0, maxChansOut = 0; | ||||
| unsigned int minChansIn = 0, maxChansIn = 0; | unsigned int minChansIn = 0, maxChansIn = 0; | ||||
| @@ -222,11 +222,11 @@ public class JuceAppActivity extends $$JuceAppActivityBaseClass$$ | |||||
| super.onResume(); | super.onResume(); | ||||
| resumeApp(); | resumeApp(); | ||||
| // Ensure that navigation/status bar visibility is correctly restored. | |||||
| for (int i = 0; i < viewHolder.getChildCount(); ++i) | |||||
| { | |||||
| if (viewHolder.getChildAt (i) instanceof ComponentPeerView) | |||||
| ((ComponentPeerView) viewHolder.getChildAt (i)).appResumed(); | |||||
| // Ensure that navigation/status bar visibility is correctly restored. | |||||
| for (int i = 0; i < viewHolder.getChildCount(); ++i) | |||||
| { | |||||
| if (viewHolder.getChildAt (i) instanceof ComponentPeerView) | |||||
| ((ComponentPeerView) viewHolder.getChildAt (i)).appResumed(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -808,37 +808,37 @@ public class JuceAppActivity extends $$JuceAppActivityBaseClass$$ | |||||
| } | } | ||||
| private class TreeObserver implements ViewTreeObserver.OnGlobalLayoutListener | private class TreeObserver implements ViewTreeObserver.OnGlobalLayoutListener | ||||
| { | |||||
| TreeObserver() | |||||
| { | |||||
| keyboardShown = false; | |||||
| } | |||||
| { | |||||
| TreeObserver() | |||||
| { | |||||
| keyboardShown = false; | |||||
| } | |||||
| @Override | @Override | ||||
| public void onGlobalLayout() | public void onGlobalLayout() | ||||
| { | { | ||||
| Rect r = new Rect(); | Rect r = new Rect(); | ||||
| ViewGroup parentView = (ViewGroup) getParent(); | |||||
| if (parentView == null) | |||||
| return; | |||||
| ViewGroup parentView = (ViewGroup) getParent(); | |||||
| if (parentView == null) | |||||
| return; | |||||
| parentView.getWindowVisibleDisplayFrame (r); | parentView.getWindowVisibleDisplayFrame (r); | ||||
| int diff = parentView.getHeight() - (r.bottom - r.top); | int diff = parentView.getHeight() - (r.bottom - r.top); | ||||
| // Arbitrary threshold, surely keyboard would take more than 20 pix. | // Arbitrary threshold, surely keyboard would take more than 20 pix. | ||||
| if (diff < 20 && keyboardShown) | |||||
| { | |||||
| keyboardShown = false; | |||||
| handleKeyboardHidden (view.host); | |||||
| } | |||||
| if (! keyboardShown && diff > 20) | |||||
| if (diff < 20 && keyboardShown) | |||||
| { | |||||
| keyboardShown = false; | |||||
| handleKeyboardHidden (view.host); | |||||
| } | |||||
| if (! keyboardShown && diff > 20) | |||||
| keyboardShown = true; | keyboardShown = true; | ||||
| }; | |||||
| }; | |||||
| private boolean keyboardShown; | private boolean keyboardShown; | ||||
| }; | }; | ||||
| @@ -166,10 +166,7 @@ struct FFTFallback : public FFT::Instance | |||||
| void performRealOnlyForwardTransform (Complex<float>* scratch, float* d) const noexcept | void performRealOnlyForwardTransform (Complex<float>* scratch, float* d) const noexcept | ||||
| { | { | ||||
| for (int i = 0; i < size; ++i) | for (int i = 0; i < size; ++i) | ||||
| { | |||||
| scratch[i].real (d[i]); | |||||
| scratch[i].imag (0); | |||||
| } | |||||
| scratch[i] = { d[i], 0 }; | |||||
| perform (scratch, reinterpret_cast<Complex<float>*> (d), false); | perform (scratch, reinterpret_cast<Complex<float>*> (d), false); | ||||
| } | } | ||||
| @@ -204,8 +201,8 @@ struct FFTFallback : public FFT::Instance | |||||
| { | { | ||||
| auto phase = i * inverseFactor; | auto phase = i * inverseFactor; | ||||
| twiddleTable[i].real ((float) std::cos (phase)); | |||||
| twiddleTable[i].imag ((float) std::sin (phase)); | |||||
| twiddleTable[i] = { (float) std::cos (phase), | |||||
| (float) std::sin (phase) }; | |||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| @@ -214,16 +211,16 @@ struct FFTFallback : public FFT::Instance | |||||
| { | { | ||||
| auto phase = i * inverseFactor; | auto phase = i * inverseFactor; | ||||
| twiddleTable[i].real ((float) std::cos (phase)); | |||||
| twiddleTable[i].imag ((float) std::sin (phase)); | |||||
| twiddleTable[i] = { (float) std::cos (phase), | |||||
| (float) std::sin (phase) }; | |||||
| } | } | ||||
| for (int i = fftSize / 4; i < fftSize / 2; ++i) | for (int i = fftSize / 4; i < fftSize / 2; ++i) | ||||
| { | { | ||||
| auto index = i - fftSize / 4; | |||||
| auto other = twiddleTable[i - fftSize / 4]; | |||||
| twiddleTable[i].real (inverse ? -twiddleTable[index].imag() : twiddleTable[index].imag()); | |||||
| twiddleTable[i].imag (inverse ? twiddleTable[index].real() : -twiddleTable[index].real()); | |||||
| twiddleTable[i] = { inverse ? -other.imag() : other.imag(), | |||||
| inverse ? other.real() : -other.real() }; | |||||
| } | } | ||||
| twiddleTable[fftSize / 2].real (-1.0f); | twiddleTable[fftSize / 2].real (-1.0f); | ||||
| @@ -395,17 +392,19 @@ struct FFTFallback : public FFT::Instance | |||||
| if (inverse) | if (inverse) | ||||
| { | { | ||||
| data[length].real (s5.real() - s4.imag()); | |||||
| data[length].imag (s5.imag() + s4.real()); | |||||
| data[lengthX3].real (s5.real() + s4.imag()); | |||||
| data[lengthX3].imag (s5.imag() - s4.real()); | |||||
| data[length] = { s5.real() - s4.imag(), | |||||
| s5.imag() + s4.real() }; | |||||
| data[lengthX3] = { s5.real() + s4.imag(), | |||||
| s5.imag() - s4.real() }; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| data[length].real (s5.real() + s4.imag()); | |||||
| data[length].imag (s5.imag() - s4.real()); | |||||
| data[lengthX3].real (s5.real() - s4.imag()); | |||||
| data[lengthX3].imag (s5.imag() + s4.real()); | |||||
| data[length] = { s5.real() + s4.imag(), | |||||
| s5.imag() - s4.real() }; | |||||
| data[lengthX3] = { s5.real() - s4.imag(), | |||||
| s5.imag() + s4.real() }; | |||||
| } | } | ||||
| ++data; | ++data; | ||||
| @@ -438,7 +437,7 @@ struct AppleFFT : public FFT::Instance | |||||
| AppleFFT (int orderToUse) | AppleFFT (int orderToUse) | ||||
| : order (static_cast<vDSP_Length> (orderToUse)), | : order (static_cast<vDSP_Length> (orderToUse)), | ||||
| fftSetup (vDSP_create_fftsetup (order, 2)), | fftSetup (vDSP_create_fftsetup (order, 2)), | ||||
| forwardNormalisation (.5f), | |||||
| forwardNormalisation (0.5f), | |||||
| inverseNormalisation (1.0f / static_cast<float> (1 << order)) | inverseNormalisation (1.0f / static_cast<float> (1 << order)) | ||||
| {} | {} | ||||
| @@ -58,7 +58,7 @@ public: | |||||
| /** Performs an out-of-place FFT, either forward or inverse. | /** Performs an out-of-place FFT, either forward or inverse. | ||||
| The arrays must contain at least getSize() elements. | The arrays must contain at least getSize() elements. | ||||
| */ | */ | ||||
| void perform (const Complex<float> *input, Complex<float> * output, bool inverse) const noexcept; | |||||
| void perform (const Complex<float>* input, Complex<float>* output, bool inverse) const noexcept; | |||||
| /** Performs an in-place forward transform on a block of real data. | /** Performs an in-place forward transform on a block of real data. | ||||
| @@ -198,15 +198,13 @@ namespace juce | |||||
| { | { | ||||
| namespace dsp | namespace dsp | ||||
| { | { | ||||
| template <typename Type> | template <typename Type> | ||||
| using Complex = ::std::complex<Type>; | |||||
| using Complex = std::complex<Type>; | |||||
| //============================================================================== | //============================================================================== | ||||
| namespace util | namespace util | ||||
| { | { | ||||
| /** Use this function to prevent denormals on intel CPUs. | /** Use this function to prevent denormals on intel CPUs. | ||||
| This function will work with both primitives and simple containers. | This function will work with both primitives and simple containers. | ||||
| */ | */ | ||||
| #if JUCE_DSP_ENABLE_SNAP_TO_ZERO | #if JUCE_DSP_ENABLE_SNAP_TO_ZERO | ||||
| @@ -120,9 +120,9 @@ Matrix<ElementType> Matrix<ElementType>::operator* (const Matrix<ElementType>& o | |||||
| size_t offsetMat = 0, offsetlhs = 0; | size_t offsetMat = 0, offsetlhs = 0; | ||||
| auto *dst = result.getRawDataPointer(); | |||||
| auto *a = getRawDataPointer(); | |||||
| auto *b = other.getRawDataPointer(); | |||||
| auto* dst = result.getRawDataPointer(); | |||||
| auto* a = getRawDataPointer(); | |||||
| auto* b = other.getRawDataPointer(); | |||||
| for (size_t i = 0; i < n; ++i) | for (size_t i = 0; i < n; ++i) | ||||
| { | { | ||||
| @@ -465,18 +465,18 @@ private: | |||||
| /** This function calculates the equivalent high order IIR filter of a given | /** This function calculates the equivalent high order IIR filter of a given | ||||
| polyphase cascaded allpass filters structure. | polyphase cascaded allpass filters structure. | ||||
| */ | */ | ||||
| const dsp::IIR::Coefficients<SampleType> getCoefficients (typename dsp::FilterDesign<SampleType>::IIRPolyphaseAllpassStructure &structure) const | |||||
| const dsp::IIR::Coefficients<SampleType> getCoefficients (typename dsp::FilterDesign<SampleType>::IIRPolyphaseAllpassStructure& structure) const | |||||
| { | { | ||||
| dsp::Polynomial<SampleType> numerator1 ({ static_cast<SampleType> (1.0) }); | |||||
| dsp::Polynomial<SampleType> numerator1 ({ static_cast<SampleType> (1.0) }); | |||||
| dsp::Polynomial<SampleType> denominator1 ({ static_cast<SampleType> (1.0) }); | dsp::Polynomial<SampleType> denominator1 ({ static_cast<SampleType> (1.0) }); | ||||
| dsp::Polynomial<SampleType> numerator2 ({ static_cast<SampleType> (1.0) }); | |||||
| dsp::Polynomial<SampleType> numerator2 ({ static_cast<SampleType> (1.0) }); | |||||
| dsp::Polynomial<SampleType> denominator2 ({ static_cast<SampleType> (1.0) }); | dsp::Polynomial<SampleType> denominator2 ({ static_cast<SampleType> (1.0) }); | ||||
| dsp::Polynomial<SampleType> temp; | dsp::Polynomial<SampleType> temp; | ||||
| for (auto n = 0; n < structure.directPath.size(); n++) | for (auto n = 0; n < structure.directPath.size(); n++) | ||||
| { | { | ||||
| auto *coeffs = structure.directPath.getReference (n).getRawCoefficients(); | |||||
| auto* coeffs = structure.directPath.getReference (n).getRawCoefficients(); | |||||
| if (structure.directPath[n].getFilterOrder() == 1) | if (structure.directPath[n].getFilterOrder() == 1) | ||||
| { | { | ||||
| @@ -498,7 +498,7 @@ private: | |||||
| for (auto n = 0; n < structure.delayedPath.size(); n++) | for (auto n = 0; n < structure.delayedPath.size(); n++) | ||||
| { | { | ||||
| auto *coeffs = structure.delayedPath.getReference (n).getRawCoefficients(); | |||||
| auto* coeffs = structure.delayedPath.getReference (n).getRawCoefficients(); | |||||
| if (structure.delayedPath[n].getFilterOrder() == 1) | if (structure.delayedPath[n].getFilterOrder() == 1) | ||||
| { | { | ||||
| @@ -520,7 +520,7 @@ private: | |||||
| dsp::Polynomial<SampleType> numeratorf1 = numerator1.getProductWith (denominator2); | dsp::Polynomial<SampleType> numeratorf1 = numerator1.getProductWith (denominator2); | ||||
| dsp::Polynomial<SampleType> numeratorf2 = numerator2.getProductWith (denominator1); | dsp::Polynomial<SampleType> numeratorf2 = numerator2.getProductWith (denominator1); | ||||
| dsp::Polynomial<SampleType> numerator = numeratorf1.getSumWith (numeratorf2); | |||||
| dsp::Polynomial<SampleType> numerator = numeratorf1.getSumWith (numeratorf2); | |||||
| dsp::Polynomial<SampleType> denominator = denominator1.getProductWith (denominator2); | dsp::Polynomial<SampleType> denominator = denominator1.getProductWith (denominator2); | ||||
| dsp::IIR::Coefficients<SampleType> coeffs; | dsp::IIR::Coefficients<SampleType> coeffs; | ||||
| @@ -639,8 +639,7 @@ size_t Oversampling<SampleType>::getOversamplingFactor() noexcept | |||||
| template <typename SampleType> | template <typename SampleType> | ||||
| void Oversampling<SampleType>::initProcessing (size_t maximumNumberOfSamplesBeforeOversampling) | void Oversampling<SampleType>::initProcessing (size_t maximumNumberOfSamplesBeforeOversampling) | ||||
| { | { | ||||
| jassert (engines.size() > 0); | |||||
| jassert (! engines.isEmpty()); | |||||
| auto currentNumSamples = maximumNumberOfSamplesBeforeOversampling; | auto currentNumSamples = maximumNumberOfSamplesBeforeOversampling; | ||||
| for (size_t n = 0; n < numStages; n++) | for (size_t n = 0; n < numStages; n++) | ||||
| @@ -650,15 +649,15 @@ void Oversampling<SampleType>::initProcessing (size_t maximumNumberOfSamplesBefo | |||||
| engine.initProcessing (currentNumSamples); | engine.initProcessing (currentNumSamples); | ||||
| currentNumSamples *= engine.getFactor(); | currentNumSamples *= engine.getFactor(); | ||||
| } | } | ||||
| isReady = true; | |||||
| isReady = true; | |||||
| reset(); | reset(); | ||||
| } | } | ||||
| template <typename SampleType> | template <typename SampleType> | ||||
| void Oversampling<SampleType>::reset() noexcept | void Oversampling<SampleType>::reset() noexcept | ||||
| { | { | ||||
| jassert (engines.size() > 0); | |||||
| jassert (! engines.isEmpty()); | |||||
| if (isReady) | if (isReady) | ||||
| for (auto n = 0; n < engines.size(); n++) | for (auto n = 0; n < engines.size(); n++) | ||||
| @@ -668,7 +667,7 @@ void Oversampling<SampleType>::reset() noexcept | |||||
| template <typename SampleType> | template <typename SampleType> | ||||
| typename dsp::AudioBlock<SampleType> Oversampling<SampleType>::processSamplesUp (const dsp::AudioBlock<SampleType> &inputBlock) noexcept | typename dsp::AudioBlock<SampleType> Oversampling<SampleType>::processSamplesUp (const dsp::AudioBlock<SampleType> &inputBlock) noexcept | ||||
| { | { | ||||
| jassert (engines.size() > 0); | |||||
| jassert (! engines.isEmpty()); | |||||
| if (! isReady) | if (! isReady) | ||||
| return dsp::AudioBlock<SampleType>(); | return dsp::AudioBlock<SampleType>(); | ||||
| @@ -688,7 +687,7 @@ typename dsp::AudioBlock<SampleType> Oversampling<SampleType>::processSamplesUp | |||||
| template <typename SampleType> | template <typename SampleType> | ||||
| void Oversampling<SampleType>::processSamplesDown (dsp::AudioBlock<SampleType> &outputBlock) noexcept | void Oversampling<SampleType>::processSamplesDown (dsp::AudioBlock<SampleType> &outputBlock) noexcept | ||||
| { | { | ||||
| jassert (engines.size() > 0); | |||||
| jassert (! engines.isEmpty()); | |||||
| if (! isReady) | if (! isReady) | ||||
| return; | return; | ||||
| @@ -286,7 +286,7 @@ bool DragAndDropContainer::performExternalDragDropOfFiles (const StringArray& fi | |||||
| auto eventPos = [event locationInWindow]; | auto eventPos = [event locationInWindow]; | ||||
| auto dragRect = [view convertRect: NSMakeRect (eventPos.x - 16.0f, eventPos.y - 16.0f, 32.0f, 32.0f) | auto dragRect = [view convertRect: NSMakeRect (eventPos.x - 16.0f, eventPos.y - 16.0f, 32.0f, 32.0f) | ||||
| fromView: nil]; | fromView: nil]; | ||||
| auto *dragImage = [[NSWorkspace sharedWorkspace] iconForFile: nsFilename]; | |||||
| auto* dragImage = [[NSWorkspace sharedWorkspace] iconForFile: nsFilename]; | |||||
| [dragItem setDraggingFrame: dragRect | [dragItem setDraggingFrame: dragRect | ||||
| contents: dragImage]; | contents: dragImage]; | ||||