| @@ -535,14 +535,6 @@ SOURCE=..\..\..\src\juce_appframework\audio\processors\juce_GenericAudioProcesso | |||
| # PROP Default_Filter "" | |||
| # Begin Source File | |||
| SOURCE=..\..\..\src\juce_appframework\audio\plugins\formats\juce_AudioUnitPluginFormat.cpp | |||
| # End Source File | |||
| # Begin Source File | |||
| SOURCE=..\..\..\src\juce_appframework\audio\plugins\formats\juce_AudioUnitPluginFormat.h | |||
| # End Source File | |||
| # Begin Source File | |||
| SOURCE=..\..\..\src\juce_appframework\audio\plugins\formats\juce_DirectXPluginFormat.h | |||
| # End Source File | |||
| # Begin Source File | |||
| @@ -602,6 +602,7 @@ | |||
| #import <IOKit/network/IONetworkInterface.h> | |||
| #import <IOKit/network/IOEthernetController.h> | |||
| #import <IOKit/pwr_mgt/IOPMLib.h> | |||
| #import <SystemConfiguration/SCDynamicStore.h> | |||
| #include <sys/sysctl.h> | |||
| #include <sys/stat.h> | |||
| @@ -23993,6 +23994,67 @@ void AudioSampleBuffer::copyFrom (const int destChannel, | |||
| } | |||
| } | |||
| void AudioSampleBuffer::copyFrom (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| const float gain) throw() | |||
| { | |||
| jassert (((unsigned int) destChannel) < (unsigned int) numChannels); | |||
| jassert (destStartSample >= 0 && destStartSample + numSamples <= size); | |||
| jassert (source != 0); | |||
| if (numSamples > 0 && gain != 0) | |||
| { | |||
| float* d = channels [destChannel] + destStartSample; | |||
| if (gain != 1.0f) | |||
| { | |||
| while (--numSamples >= 0) | |||
| *d++ = gain * *source++; | |||
| } | |||
| else | |||
| { | |||
| memcpy (d, source, sizeof (float) * numSamples); | |||
| } | |||
| } | |||
| } | |||
| void AudioSampleBuffer::copyFromWithRamp (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| float startGain, | |||
| float endGain) throw() | |||
| { | |||
| jassert (((unsigned int) destChannel) < (unsigned int) numChannels); | |||
| jassert (destStartSample >= 0 && destStartSample + numSamples <= size); | |||
| jassert (source != 0); | |||
| if (startGain == endGain) | |||
| { | |||
| copyFrom (destChannel, | |||
| destStartSample, | |||
| source, | |||
| numSamples, | |||
| startGain); | |||
| } | |||
| else | |||
| { | |||
| if (numSamples > 0 && (startGain != 0.0f || endGain != 0.0f)) | |||
| { | |||
| const float increment = (endGain - startGain) / numSamples; | |||
| float* d = channels [destChannel] + destStartSample; | |||
| while (--numSamples >= 0) | |||
| { | |||
| *d++ = startGain * *source++; | |||
| startGain += increment; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| void AudioSampleBuffer::findMinMax (const int channel, | |||
| const int startSample, | |||
| int numSamples, | |||
| @@ -42477,31 +42539,20 @@ void ImageButton::paintButton (Graphics& g, | |||
| } | |||
| } | |||
| const Colour& overlayColour = (isButtonDown) ? downOverlay | |||
| : ((isMouseOverButton) ? overOverlay | |||
| : normalOverlay); | |||
| if (! overlayColour.isOpaque()) | |||
| if (! scaleImageToFit) | |||
| { | |||
| g.setOpacity ((isButtonDown) ? downOpacity | |||
| : ((isMouseOverButton) ? overOpacity | |||
| : normalOpacity)); | |||
| if (scaleImageToFit) | |||
| g.drawImage (im, imageX, imageY, imageW, imageH, 0, 0, iw, ih, false); | |||
| else | |||
| g.drawImageAt (im, imageX, imageY, false); | |||
| imageW = iw; | |||
| imageH = ih; | |||
| } | |||
| if (! overlayColour.isTransparent()) | |||
| { | |||
| g.setColour (overlayColour); | |||
| if (scaleImageToFit) | |||
| g.drawImage (im, imageX, imageY, imageW, imageH, 0, 0, iw, ih, true); | |||
| else | |||
| g.drawImageAt (im, imageX, imageY, true); | |||
| } | |||
| getLookAndFeel().drawImageButton (g, im, imageX, imageY, imageW, imageH, | |||
| isButtonDown ? downOverlay | |||
| : (isMouseOverButton ? overOverlay | |||
| : normalOverlay), | |||
| isButtonDown ? downOpacity | |||
| : (isMouseOverButton ? overOpacity | |||
| : normalOpacity), | |||
| *this); | |||
| } | |||
| } | |||
| @@ -61278,6 +61329,29 @@ void LookAndFeel::layoutFilenameComponent (FilenameComponent& filenameComp, | |||
| filenameBox->setBounds (0, 0, browseButton->getX(), filenameComp.getHeight()); | |||
| } | |||
| void LookAndFeel::drawImageButton (Graphics& g, Image* image, | |||
| int imageX, int imageY, int imageW, int imageH, | |||
| const Colour& overlayColour, | |||
| float imageOpacity, | |||
| ImageButton& button) | |||
| { | |||
| if (! overlayColour.isOpaque()) | |||
| { | |||
| g.setOpacity (imageOpacity); | |||
| g.drawImage (image, imageX, imageY, imageW, imageH, | |||
| 0, 0, image->getWidth(), image->getHeight(), false); | |||
| } | |||
| if (! overlayColour.isTransparent()) | |||
| { | |||
| g.setColour (overlayColour); | |||
| g.drawImage (image, imageX, imageY, imageW, imageH, | |||
| 0, 0, image->getWidth(), image->getHeight(), true); | |||
| } | |||
| } | |||
| void LookAndFeel::drawCornerResizer (Graphics& g, | |||
| int w, int h, | |||
| bool /*isMouseOver*/, | |||
| @@ -213920,8 +213994,11 @@ namespace pnglibNamespace | |||
| using namespace zlibNamespace; | |||
| #if JUCE_INCLUDE_PNGLIB_CODE | |||
| using ::malloc; | |||
| using ::free; | |||
| #if (! defined(_MSC_VER)) || _MSC_VER != 1310 | |||
| using ::malloc; // (causes conflict in VS.NET 2003) | |||
| using ::free; | |||
| #endif | |||
| extern "C" | |||
| { | |||
| @@ -239320,6 +239397,11 @@ png_write_filtered_row(png_structp png_ptr, png_bytep filtered_row) | |||
| BEGIN_JUCE_NAMESPACE | |||
| using namespace pnglibNamespace; | |||
| #if defined (_MSC_VER) && _MSC_VER == 1310 && ! defined (JUCE_DEBUG) | |||
| using ::calloc; // (needed in VS.NET 2003) | |||
| #endif | |||
| using ::malloc; | |||
| using ::free; | |||
| @@ -26998,6 +26998,42 @@ public: | |||
| const float* source, | |||
| int numSamples) throw(); | |||
| /** Copies samples from an array of floats into one of the channels, applying a gain to it. | |||
| @param destChannel the channel within this buffer to copy the samples to | |||
| @param destStartSample the start sample within this buffer's channel | |||
| @param source the source buffer to read from | |||
| @param numSamples the number of samples to process | |||
| @param gain the gain to apply | |||
| @see addFrom | |||
| */ | |||
| void copyFrom (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| const float gain) throw(); | |||
| /** Copies samples from an array of floats into one of the channels, applying a gain ramp. | |||
| @param destChannel the channel within this buffer to copy the samples to | |||
| @param destStartSample the start sample within this buffer's channel | |||
| @param source the source buffer to read from | |||
| @param numSamples the number of samples to process | |||
| @param startGain the gain to apply to the first sample (this is multiplied with | |||
| the source samples before they are copied to this buffer) | |||
| @param endGain the gain to apply to the final sample. The gain is linearly | |||
| interpolated between the first and last samples. | |||
| @see addFrom | |||
| */ | |||
| void copyFromWithRamp (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| float startGain, | |||
| float endGain) throw(); | |||
| /** Finds the highest and lowest sample values in a given range. | |||
| @param channel the channel to read from | |||
| @@ -52970,6 +53006,7 @@ class ProgressBar; | |||
| class FileBrowserComponent; | |||
| class DirectoryContentsDisplayComponent; | |||
| class FilePreviewComponent; | |||
| class ImageButton; | |||
| /** | |||
| LookAndFeel objects define the appearance of all the JUCE widgets, and subclasses | |||
| @@ -53415,6 +53452,12 @@ public: | |||
| virtual Button* createTabBarExtrasButton(); | |||
| virtual void drawImageButton (Graphics& g, Image* image, | |||
| int imageX, int imageY, int imageW, int imageH, | |||
| const Colour& overlayColour, | |||
| float imageOpacity, | |||
| ImageButton& button); | |||
| virtual void drawTableHeaderBackground (Graphics& g, TableHeaderComponent& header); | |||
| virtual void drawTableHeaderColumn (Graphics& g, const String& columnName, int columnId, | |||
| @@ -453,6 +453,67 @@ void AudioSampleBuffer::copyFrom (const int destChannel, | |||
| } | |||
| } | |||
| void AudioSampleBuffer::copyFrom (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| const float gain) throw() | |||
| { | |||
| jassert (((unsigned int) destChannel) < (unsigned int) numChannels); | |||
| jassert (destStartSample >= 0 && destStartSample + numSamples <= size); | |||
| jassert (source != 0); | |||
| if (numSamples > 0 && gain != 0) | |||
| { | |||
| float* d = channels [destChannel] + destStartSample; | |||
| if (gain != 1.0f) | |||
| { | |||
| while (--numSamples >= 0) | |||
| *d++ = gain * *source++; | |||
| } | |||
| else | |||
| { | |||
| memcpy (d, source, sizeof (float) * numSamples); | |||
| } | |||
| } | |||
| } | |||
| void AudioSampleBuffer::copyFromWithRamp (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| float startGain, | |||
| float endGain) throw() | |||
| { | |||
| jassert (((unsigned int) destChannel) < (unsigned int) numChannels); | |||
| jassert (destStartSample >= 0 && destStartSample + numSamples <= size); | |||
| jassert (source != 0); | |||
| if (startGain == endGain) | |||
| { | |||
| copyFrom (destChannel, | |||
| destStartSample, | |||
| source, | |||
| numSamples, | |||
| startGain); | |||
| } | |||
| else | |||
| { | |||
| if (numSamples > 0 && (startGain != 0.0f || endGain != 0.0f)) | |||
| { | |||
| const float increment = (endGain - startGain) / numSamples; | |||
| float* d = channels [destChannel] + destStartSample; | |||
| while (--numSamples >= 0) | |||
| { | |||
| *d++ = startGain * *source++; | |||
| startGain += increment; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| void AudioSampleBuffer::findMinMax (const int channel, | |||
| const int startSample, | |||
| int numSamples, | |||
| @@ -306,6 +306,43 @@ public: | |||
| const float* source, | |||
| int numSamples) throw(); | |||
| /** Copies samples from an array of floats into one of the channels, applying a gain to it. | |||
| @param destChannel the channel within this buffer to copy the samples to | |||
| @param destStartSample the start sample within this buffer's channel | |||
| @param source the source buffer to read from | |||
| @param numSamples the number of samples to process | |||
| @param gain the gain to apply | |||
| @see addFrom | |||
| */ | |||
| void copyFrom (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| const float gain) throw(); | |||
| /** Copies samples from an array of floats into one of the channels, applying a gain ramp. | |||
| @param destChannel the channel within this buffer to copy the samples to | |||
| @param destStartSample the start sample within this buffer's channel | |||
| @param source the source buffer to read from | |||
| @param numSamples the number of samples to process | |||
| @param startGain the gain to apply to the first sample (this is multiplied with | |||
| the source samples before they are copied to this buffer) | |||
| @param endGain the gain to apply to the final sample. The gain is linearly | |||
| interpolated between the first and last samples. | |||
| @see addFrom | |||
| */ | |||
| void copyFromWithRamp (const int destChannel, | |||
| const int destStartSample, | |||
| const float* source, | |||
| int numSamples, | |||
| float startGain, | |||
| float endGain) throw(); | |||
| /** Finds the highest and lowest sample values in a given range. | |||
| @param channel the channel to read from | |||
| @@ -35,6 +35,7 @@ BEGIN_JUCE_NAMESPACE | |||
| #include "juce_ImageButton.h" | |||
| #include "../../graphics/imaging/juce_ImageCache.h" | |||
| #include "../lookandfeel/juce_LookAndFeel.h" | |||
| //============================================================================== | |||
| @@ -208,31 +209,20 @@ void ImageButton::paintButton (Graphics& g, | |||
| } | |||
| } | |||
| const Colour& overlayColour = (isButtonDown) ? downOverlay | |||
| : ((isMouseOverButton) ? overOverlay | |||
| : normalOverlay); | |||
| if (! overlayColour.isOpaque()) | |||
| if (! scaleImageToFit) | |||
| { | |||
| g.setOpacity ((isButtonDown) ? downOpacity | |||
| : ((isMouseOverButton) ? overOpacity | |||
| : normalOpacity)); | |||
| if (scaleImageToFit) | |||
| g.drawImage (im, imageX, imageY, imageW, imageH, 0, 0, iw, ih, false); | |||
| else | |||
| g.drawImageAt (im, imageX, imageY, false); | |||
| imageW = iw; | |||
| imageH = ih; | |||
| } | |||
| if (! overlayColour.isTransparent()) | |||
| { | |||
| g.setColour (overlayColour); | |||
| if (scaleImageToFit) | |||
| g.drawImage (im, imageX, imageY, imageW, imageH, 0, 0, iw, ih, true); | |||
| else | |||
| g.drawImageAt (im, imageX, imageY, true); | |||
| } | |||
| getLookAndFeel().drawImageButton (g, im, imageX, imageY, imageW, imageH, | |||
| isButtonDown ? downOverlay | |||
| : (isMouseOverButton ? overOverlay | |||
| : normalOverlay), | |||
| isButtonDown ? downOpacity | |||
| : (isMouseOverButton ? overOpacity | |||
| : normalOpacity), | |||
| *this); | |||
| } | |||
| } | |||
| @@ -38,6 +38,7 @@ BEGIN_JUCE_NAMESPACE | |||
| #include "../buttons/juce_ToggleButton.h" | |||
| #include "../buttons/juce_ShapeButton.h" | |||
| #include "../buttons/juce_ArrowButton.h" | |||
| #include "../buttons/juce_ImageButton.h" | |||
| #include "../buttons/juce_DrawableButton.h" | |||
| #include "../buttons/juce_HyperlinkButton.h" | |||
| #include "../windows/juce_AlertWindow.h" | |||
| @@ -1619,6 +1620,31 @@ void LookAndFeel::layoutFilenameComponent (FilenameComponent& filenameComp, | |||
| filenameBox->setBounds (0, 0, browseButton->getX(), filenameComp.getHeight()); | |||
| } | |||
| //============================================================================== | |||
| void LookAndFeel::drawImageButton (Graphics& g, Image* image, | |||
| int imageX, int imageY, int imageW, int imageH, | |||
| const Colour& overlayColour, | |||
| float imageOpacity, | |||
| ImageButton& button) | |||
| { | |||
| if (! overlayColour.isOpaque()) | |||
| { | |||
| g.setOpacity (imageOpacity); | |||
| g.drawImage (image, imageX, imageY, imageW, imageH, | |||
| 0, 0, image->getWidth(), image->getHeight(), false); | |||
| } | |||
| if (! overlayColour.isTransparent()) | |||
| { | |||
| g.setColour (overlayColour); | |||
| g.drawImage (image, imageX, imageY, imageW, imageH, | |||
| 0, 0, image->getWidth(), image->getHeight(), true); | |||
| } | |||
| } | |||
| //============================================================================== | |||
| void LookAndFeel::drawCornerResizer (Graphics& g, | |||
| int w, int h, | |||
| @@ -61,6 +61,7 @@ class ProgressBar; | |||
| class FileBrowserComponent; | |||
| class DirectoryContentsDisplayComponent; | |||
| class FilePreviewComponent; | |||
| class ImageButton; | |||
| //============================================================================== | |||
| @@ -534,6 +535,13 @@ public: | |||
| virtual Button* createTabBarExtrasButton(); | |||
| //============================================================================== | |||
| virtual void drawImageButton (Graphics& g, Image* image, | |||
| int imageX, int imageY, int imageW, int imageH, | |||
| const Colour& overlayColour, | |||
| float imageOpacity, | |||
| ImageButton& button); | |||
| //============================================================================== | |||
| virtual void drawTableHeaderBackground (Graphics& g, TableHeaderComponent& header); | |||
| @@ -53,8 +53,11 @@ namespace pnglibNamespace | |||
| using namespace zlibNamespace; | |||
| #if JUCE_INCLUDE_PNGLIB_CODE | |||
| using ::malloc; | |||
| using ::free; | |||
| #if (! defined(_MSC_VER)) || _MSC_VER != 1310 | |||
| using ::malloc; // (causes conflict in VS.NET 2003) | |||
| using ::free; | |||
| #endif | |||
| extern "C" | |||
| { | |||
| @@ -105,6 +108,11 @@ BEGIN_JUCE_NAMESPACE | |||
| #include "../../colour/juce_PixelFormats.h" | |||
| using namespace pnglibNamespace; | |||
| #if defined (_MSC_VER) && _MSC_VER == 1310 && ! defined (JUCE_DEBUG) | |||
| using ::calloc; // (needed in VS.NET 2003) | |||
| #endif | |||
| using ::malloc; | |||
| using ::free; | |||