| @@ -691,7 +691,7 @@ private: | |||
| ParamHolder (uint32_t num) { params = new var [num]; } | |||
| ~ParamHolder() { delete[] params; } | |||
| var* params; | |||
| var* params; | |||
| }; | |||
| ParamHolder params (argCount); | |||
| @@ -3948,7 +3948,6 @@ public: | |||
| virtual int toInt (const ValueUnion&) const { return 0; } | |||
| virtual double toDouble (const ValueUnion&) const { return 0; } | |||
| virtual float toFloat (const ValueUnion&) const { return 0; } | |||
| virtual const String toString (const ValueUnion&) const { return String::empty; } | |||
| virtual bool toBool (const ValueUnion&) const { return false; } | |||
| virtual DynamicObject* toObject (const ValueUnion&) const { return 0; } | |||
| @@ -3984,7 +3983,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return data.intValue; }; | |||
| double toDouble (const ValueUnion& data) const { return (double) data.intValue; } | |||
| float toFloat (const ValueUnion& data) const { return (float) data.intValue; } | |||
| const String toString (const ValueUnion& data) const { return String (data.intValue); } | |||
| bool toBool (const ValueUnion& data) const { return data.intValue != 0; } | |||
| @@ -4010,7 +4008,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return (int) data.doubleValue; }; | |||
| double toDouble (const ValueUnion& data) const { return data.doubleValue; } | |||
| float toFloat (const ValueUnion& data) const { return (float) data.doubleValue; } | |||
| const String toString (const ValueUnion& data) const { return String (data.doubleValue); } | |||
| bool toBool (const ValueUnion& data) const { return data.doubleValue != 0; } | |||
| @@ -4036,7 +4033,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return data.boolValue ? 1 : 0; }; | |||
| double toDouble (const ValueUnion& data) const { return data.boolValue ? 1.0 : 0.0; } | |||
| float toFloat (const ValueUnion& data) const { return data.boolValue ? 1.0f : 0.0f; } | |||
| const String toString (const ValueUnion& data) const { return String::charToString (data.boolValue ? '1' : '0'); } | |||
| bool toBool (const ValueUnion& data) const { return data.boolValue; } | |||
| @@ -4064,7 +4060,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return data.stringValue->getIntValue(); }; | |||
| double toDouble (const ValueUnion& data) const { return data.stringValue->getDoubleValue(); } | |||
| float toFloat (const ValueUnion& data) const { return data.stringValue->getFloatValue(); } | |||
| const String toString (const ValueUnion& data) const { return *data.stringValue; } | |||
| bool toBool (const ValueUnion& data) const { return data.stringValue->getIntValue() != 0 | |||
| || data.stringValue->trim().equalsIgnoreCase ("true") | |||
| @@ -4148,7 +4143,7 @@ var::~var() throw() | |||
| const var var::null; | |||
| var::var (const var& valueToCopy) : type (valueToCopy.type) | |||
| var::var (const var& valueToCopy) : type (valueToCopy.type) | |||
| { | |||
| type->createCopy (value, valueToCopy.value); | |||
| } | |||
| @@ -4178,7 +4173,7 @@ var::var (const char* const value_) : type (VariantType_String::getInstance()) | |||
| value.stringValue = new String (value_); | |||
| } | |||
| var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance()) | |||
| var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance()) | |||
| { | |||
| value.stringValue = new String (value_); | |||
| } | |||
| @@ -4206,7 +4201,7 @@ bool var::isMethod() const throw() { return type->isMethod(); } | |||
| var::operator int() const { return type->toInt (value); } | |||
| var::operator bool() const { return type->toBool (value); } | |||
| var::operator float() const { return type->toFloat (value); } | |||
| var::operator float() const { return (float) type->toDouble (value); } | |||
| var::operator double() const { return type->toDouble (value); } | |||
| const String var::toString() const { return type->toString (value); } | |||
| var::operator const String() const { return type->toString (value); } | |||
| @@ -72391,7 +72386,6 @@ public: | |||
| if (sampleRateDropDown == 0) | |||
| { | |||
| addAndMakeVisible (sampleRateDropDown = new ComboBox (String::empty)); | |||
| sampleRateDropDown->addListener (this); | |||
| sampleRateLabel = new Label (String::empty, TRANS ("sample rate:")); | |||
| sampleRateLabel->attachToComponent (sampleRateDropDown, true); | |||
| @@ -72419,7 +72413,6 @@ public: | |||
| if (bufferSizeDropDown == 0) | |||
| { | |||
| addAndMakeVisible (bufferSizeDropDown = new ComboBox (String::empty)); | |||
| bufferSizeDropDown->addListener (this); | |||
| bufferSizeLabel = new Label (String::empty, TRANS ("audio buffer size:")); | |||
| bufferSizeLabel->attachToComponent (bufferSizeDropDown, true); | |||
| @@ -72427,6 +72420,7 @@ public: | |||
| else | |||
| { | |||
| bufferSizeDropDown->clear(); | |||
| bufferSizeDropDown->removeListener (this); | |||
| } | |||
| const int numBufferSizes = currentDevice->getNumBufferSizesAvailable(); | |||
| @@ -72445,6 +72439,7 @@ public: | |||
| } | |||
| bufferSizeDropDown->setSelectedId (currentDevice->getCurrentBufferSizeSamples(), true); | |||
| bufferSizeDropDown->addListener (this); | |||
| } | |||
| } | |||
| else | |||
| @@ -81096,14 +81091,17 @@ void Graphics::fillCheckerBoard (const Rectangle<int>& area, | |||
| if (! clipped.isEmpty()) | |||
| { | |||
| context->clipToRectangle (clipped); | |||
| const int startX = area.getX() + ((clipped.getX() - area.getX()) / checkWidth) * checkWidth; | |||
| const int startY = area.getY() + ((clipped.getY() - area.getY()) / checkHeight) * checkHeight; | |||
| const int checkNumX = (clipped.getX() - area.getX()) / checkWidth; | |||
| const int checkNumY = (clipped.getY() - area.getY()) / checkHeight; | |||
| const int startX = area.getX() + checkNumX * checkWidth; | |||
| const int startY = area.getY() + checkNumY * checkHeight; | |||
| const int right = clipped.getRight(); | |||
| const int bottom = clipped.getBottom(); | |||
| for (int i = 0; i < 2; ++i) | |||
| { | |||
| context->setFill (i == 0 ? colour1 : colour2); | |||
| context->setFill (i == ((checkNumX ^ checkNumY) & 1) ? colour1 : colour2); | |||
| int cy = i; | |||
| for (int y = startY; y < bottom; y += checkHeight) | |||
| @@ -64,7 +64,7 @@ | |||
| */ | |||
| #define JUCE_MAJOR_VERSION 1 | |||
| #define JUCE_MINOR_VERSION 52 | |||
| #define JUCE_BUILDNUMBER 32 | |||
| #define JUCE_BUILDNUMBER 33 | |||
| /** Current Juce version number. | |||
| @@ -40,7 +40,6 @@ public: | |||
| virtual int toInt (const ValueUnion&) const { return 0; } | |||
| virtual double toDouble (const ValueUnion&) const { return 0; } | |||
| virtual float toFloat (const ValueUnion&) const { return 0; } | |||
| virtual const String toString (const ValueUnion&) const { return String::empty; } | |||
| virtual bool toBool (const ValueUnion&) const { return false; } | |||
| virtual DynamicObject* toObject (const ValueUnion&) const { return 0; } | |||
| @@ -78,7 +77,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return data.intValue; }; | |||
| double toDouble (const ValueUnion& data) const { return (double) data.intValue; } | |||
| float toFloat (const ValueUnion& data) const { return (float) data.intValue; } | |||
| const String toString (const ValueUnion& data) const { return String (data.intValue); } | |||
| bool toBool (const ValueUnion& data) const { return data.intValue != 0; } | |||
| @@ -105,7 +103,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return (int) data.doubleValue; }; | |||
| double toDouble (const ValueUnion& data) const { return data.doubleValue; } | |||
| float toFloat (const ValueUnion& data) const { return (float) data.doubleValue; } | |||
| const String toString (const ValueUnion& data) const { return String (data.doubleValue); } | |||
| bool toBool (const ValueUnion& data) const { return data.doubleValue != 0; } | |||
| @@ -132,7 +129,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return data.boolValue ? 1 : 0; }; | |||
| double toDouble (const ValueUnion& data) const { return data.boolValue ? 1.0 : 0.0; } | |||
| float toFloat (const ValueUnion& data) const { return data.boolValue ? 1.0f : 0.0f; } | |||
| const String toString (const ValueUnion& data) const { return String::charToString (data.boolValue ? '1' : '0'); } | |||
| bool toBool (const ValueUnion& data) const { return data.boolValue; } | |||
| @@ -161,7 +157,6 @@ public: | |||
| int toInt (const ValueUnion& data) const { return data.stringValue->getIntValue(); }; | |||
| double toDouble (const ValueUnion& data) const { return data.stringValue->getDoubleValue(); } | |||
| float toFloat (const ValueUnion& data) const { return data.stringValue->getFloatValue(); } | |||
| const String toString (const ValueUnion& data) const { return *data.stringValue; } | |||
| bool toBool (const ValueUnion& data) const { return data.stringValue->getIntValue() != 0 | |||
| || data.stringValue->trim().equalsIgnoreCase ("true") | |||
| @@ -250,7 +245,7 @@ var::~var() throw() | |||
| const var var::null; | |||
| //============================================================================== | |||
| var::var (const var& valueToCopy) : type (valueToCopy.type) | |||
| var::var (const var& valueToCopy) : type (valueToCopy.type) | |||
| { | |||
| type->createCopy (value, valueToCopy.value); | |||
| } | |||
| @@ -280,7 +275,7 @@ var::var (const char* const value_) : type (VariantType_String::getInstance()) | |||
| value.stringValue = new String (value_); | |||
| } | |||
| var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance()) | |||
| var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance()) | |||
| { | |||
| value.stringValue = new String (value_); | |||
| } | |||
| @@ -309,7 +304,7 @@ bool var::isMethod() const throw() { return type->isMethod(); } | |||
| var::operator int() const { return type->toInt (value); } | |||
| var::operator bool() const { return type->toBool (value); } | |||
| var::operator float() const { return type->toFloat (value); } | |||
| var::operator float() const { return (float) type->toDouble (value); } | |||
| var::operator double() const { return type->toDouble (value); } | |||
| const String var::toString() const { return type->toString (value); } | |||
| var::operator const String() const { return type->toString (value); } | |||
| @@ -33,7 +33,7 @@ | |||
| */ | |||
| #define JUCE_MAJOR_VERSION 1 | |||
| #define JUCE_MINOR_VERSION 52 | |||
| #define JUCE_BUILDNUMBER 32 | |||
| #define JUCE_BUILDNUMBER 33 | |||
| /** Current Juce version number. | |||
| @@ -514,7 +514,6 @@ public: | |||
| if (sampleRateDropDown == 0) | |||
| { | |||
| addAndMakeVisible (sampleRateDropDown = new ComboBox (String::empty)); | |||
| sampleRateDropDown->addListener (this); | |||
| sampleRateLabel = new Label (String::empty, TRANS ("sample rate:")); | |||
| sampleRateLabel->attachToComponent (sampleRateDropDown, true); | |||
| @@ -542,7 +541,6 @@ public: | |||
| if (bufferSizeDropDown == 0) | |||
| { | |||
| addAndMakeVisible (bufferSizeDropDown = new ComboBox (String::empty)); | |||
| bufferSizeDropDown->addListener (this); | |||
| bufferSizeLabel = new Label (String::empty, TRANS ("audio buffer size:")); | |||
| bufferSizeLabel->attachToComponent (bufferSizeDropDown, true); | |||
| @@ -550,6 +548,7 @@ public: | |||
| else | |||
| { | |||
| bufferSizeDropDown->clear(); | |||
| bufferSizeDropDown->removeListener (this); | |||
| } | |||
| const int numBufferSizes = currentDevice->getNumBufferSizesAvailable(); | |||
| @@ -568,6 +567,7 @@ public: | |||
| } | |||
| bufferSizeDropDown->setSelectedId (currentDevice->getCurrentBufferSizeSamples(), true); | |||
| bufferSizeDropDown->addListener (this); | |||
| } | |||
| } | |||
| else | |||
| @@ -500,14 +500,17 @@ void Graphics::fillCheckerBoard (const Rectangle<int>& area, | |||
| if (! clipped.isEmpty()) | |||
| { | |||
| context->clipToRectangle (clipped); | |||
| const int startX = area.getX() + ((clipped.getX() - area.getX()) / checkWidth) * checkWidth; | |||
| const int startY = area.getY() + ((clipped.getY() - area.getY()) / checkHeight) * checkHeight; | |||
| const int checkNumX = (clipped.getX() - area.getX()) / checkWidth; | |||
| const int checkNumY = (clipped.getY() - area.getY()) / checkHeight; | |||
| const int startX = area.getX() + checkNumX * checkWidth; | |||
| const int startY = area.getY() + checkNumY * checkHeight; | |||
| const int right = clipped.getRight(); | |||
| const int bottom = clipped.getBottom(); | |||
| for (int i = 0; i < 2; ++i) | |||
| { | |||
| context->setFill (i == 0 ? colour1 : colour2); | |||
| context->setFill (i == ((checkNumX ^ checkNumY) & 1) ? colour1 : colour2); | |||
| int cy = i; | |||
| for (int y = startY; y < bottom; y += checkHeight) | |||