| @@ -41,8 +41,8 @@ public: | |||||
| virtual void imageKnobValueChanged(ImageKnob* imageKnob, float value) = 0; | virtual void imageKnobValueChanged(ImageKnob* imageKnob, float value) = 0; | ||||
| }; | }; | ||||
| explicit ImageKnob(Window& parent, const Image& image, Orientation orientation = Vertical, int id = 0) noexcept; | |||||
| explicit ImageKnob(Widget* widget, const Image& image, Orientation orientation = Vertical, int id = 0) noexcept; | |||||
| explicit ImageKnob(Window& parent, const Image& image, Orientation orientation = Vertical) noexcept; | |||||
| explicit ImageKnob(Widget* widget, const Image& image, Orientation orientation = Vertical) noexcept; | |||||
| explicit ImageKnob(const ImageKnob& imageKnob); | explicit ImageKnob(const ImageKnob& imageKnob); | ||||
| ImageKnob& operator=(const ImageKnob& imageKnob); | ImageKnob& operator=(const ImageKnob& imageKnob); | ||||
| ~ImageKnob() override; | ~ImageKnob() override; | ||||
| @@ -34,8 +34,8 @@ public: | |||||
| virtual void imageSwitchClicked(ImageSwitch* imageButton, bool down) = 0; | virtual void imageSwitchClicked(ImageSwitch* imageButton, bool down) = 0; | ||||
| }; | }; | ||||
| explicit ImageSwitch(Window& parent, const Image& imageNormal, const Image& imageDown, int id = 0) noexcept; | |||||
| explicit ImageSwitch(Widget* widget, const Image& imageNormal, const Image& imageDown, int id = 0) noexcept; | |||||
| explicit ImageSwitch(Window& parent, const Image& imageNormal, const Image& imageDown) noexcept; | |||||
| explicit ImageSwitch(Widget* widget, const Image& imageNormal, const Image& imageDown) noexcept; | |||||
| explicit ImageSwitch(const ImageSwitch& imageSwitch) noexcept; | explicit ImageSwitch(const ImageSwitch& imageSwitch) noexcept; | ||||
| ImageSwitch& operator=(const ImageSwitch& imageSwitch) noexcept; | ImageSwitch& operator=(const ImageSwitch& imageSwitch) noexcept; | ||||
| @@ -59,6 +59,8 @@ public: | |||||
| struct BaseEvent { | struct BaseEvent { | ||||
| Modifier mod; | Modifier mod; | ||||
| uint32_t time; | uint32_t time; | ||||
| // make -Weffc++ happy | |||||
| virtual ~BaseEvent() {} | |||||
| }; | }; | ||||
| /** | /** | ||||
| @@ -125,27 +125,27 @@ Color Color::fromHTML(const char* rgb, float alpha) | |||||
| if (rgblen == 3) | if (rgblen == 3) | ||||
| { | { | ||||
| rgbtmp[0] = rgb[0]; | rgbtmp[0] = rgb[0]; | ||||
| r = std::strtol(rgbtmp, nullptr, 16); | |||||
| r = static_cast<int>(std::strtol(rgbtmp, nullptr, 16)); | |||||
| rgbtmp[0] = rgb[1]; | rgbtmp[0] = rgb[1]; | ||||
| g = std::strtol(rgbtmp, nullptr, 16); | |||||
| g = static_cast<int>(std::strtol(rgbtmp, nullptr, 16)); | |||||
| rgbtmp[0] = rgb[2]; | rgbtmp[0] = rgb[2]; | ||||
| b = std::strtol(rgbtmp, nullptr, 16); | |||||
| b = static_cast<int>(std::strtol(rgbtmp, nullptr, 16)); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| rgbtmp[0] = rgb[0]; | rgbtmp[0] = rgb[0]; | ||||
| rgbtmp[1] = rgb[1]; | rgbtmp[1] = rgb[1]; | ||||
| r = std::strtol(rgbtmp, nullptr, 16); | |||||
| r = static_cast<int>(std::strtol(rgbtmp, nullptr, 16)); | |||||
| rgbtmp[0] = rgb[2]; | rgbtmp[0] = rgb[2]; | ||||
| rgbtmp[1] = rgb[3]; | rgbtmp[1] = rgb[3]; | ||||
| g = std::strtol(rgbtmp, nullptr, 16); | |||||
| g = static_cast<int>(std::strtol(rgbtmp, nullptr, 16)); | |||||
| rgbtmp[0] = rgb[4]; | rgbtmp[0] = rgb[4]; | ||||
| rgbtmp[1] = rgb[5]; | rgbtmp[1] = rgb[5]; | ||||
| b = std::strtol(rgbtmp, nullptr, 16); | |||||
| b = static_cast<int>(std::strtol(rgbtmp, nullptr, 16)); | |||||
| } | } | ||||
| return Color(r, g, b, static_cast<int>(getFixedRange(alpha)*255.0f)); | return Color(r, g, b, static_cast<int>(getFixedRange(alpha)*255.0f)); | ||||
| @@ -641,13 +641,13 @@ Circle<T>& Circle<T>::operator=(const Circle<T>& cir) noexcept | |||||
| template<typename T> | template<typename T> | ||||
| bool Circle<T>::operator==(const Circle<T>& cir) const noexcept | bool Circle<T>::operator==(const Circle<T>& cir) const noexcept | ||||
| { | { | ||||
| return (fPos == cir.fPos && fSize == cir.fSize && fNumSegments == cir.fNumSegments); | |||||
| return (fPos == cir.fPos && d_isEqual(fSize, cir.fSize) && fNumSegments == cir.fNumSegments); | |||||
| } | } | ||||
| template<typename T> | template<typename T> | ||||
| bool Circle<T>::operator!=(const Circle<T>& cir) const noexcept | bool Circle<T>::operator!=(const Circle<T>& cir) const noexcept | ||||
| { | { | ||||
| return (fPos != cir.fPos || fSize != cir.fSize || fNumSegments != cir.fNumSegments); | |||||
| return (fPos != cir.fPos || d_isNotEqual(fSize, cir.fSize) || fNumSegments != cir.fNumSegments); | |||||
| } | } | ||||
| template<typename T> | template<typename T> | ||||
| @@ -152,12 +152,14 @@ void Image::drawAt(const Point<int>& pos) | |||||
| glPixelStorei(GL_PACK_ALIGNMENT, 1); | glPixelStorei(GL_PACK_ALIGNMENT, 1); | ||||
| glPixelStorei(GL_UNPACK_ALIGNMENT, 1); | glPixelStorei(GL_UNPACK_ALIGNMENT, 1); | ||||
| glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, fSize.getWidth(), fSize.getHeight(), 0, fFormat, fType, fRawData); | |||||
| glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, | |||||
| static_cast<GLsizei>(fSize.getWidth()), static_cast<GLsizei>(fSize.getHeight()), 0, | |||||
| fFormat, fType, fRawData); | |||||
| fIsReady = true; | fIsReady = true; | ||||
| } | } | ||||
| Rectangle<int>(pos, fSize.getWidth(), fSize.getHeight()).draw(); | |||||
| Rectangle<int>(pos, static_cast<int>(fSize.getWidth()), static_cast<int>(fSize.getHeight())).draw(); | |||||
| glBindTexture(GL_TEXTURE_2D, 0); | glBindTexture(GL_TEXTURE_2D, 0); | ||||
| glDisable(GL_TEXTURE_2D); | glDisable(GL_TEXTURE_2D); | ||||
| @@ -25,7 +25,6 @@ START_NAMESPACE_DGL | |||||
| ImageKnob::ImageKnob(Window& parent, const Image& image, Orientation orientation) noexcept | ImageKnob::ImageKnob(Window& parent, const Image& image, Orientation orientation) noexcept | ||||
| : Widget(parent), | : Widget(parent), | ||||
| fImage(image), | fImage(image), | ||||
| fId(id), | |||||
| fMinimum(0.0f), | fMinimum(0.0f), | ||||
| fMaximum(1.0f), | fMaximum(1.0f), | ||||
| fStep(0.0f), | fStep(0.0f), | ||||
| @@ -576,13 +576,13 @@ NanoVG::FontId NanoVG::createFont(const char* name, const char* filename) | |||||
| return nvgCreateFont(fContext, name, filename); | return nvgCreateFont(fContext, name, filename); | ||||
| } | } | ||||
| NanoVG::FontId NanoVG::createFontMem(const char* name, uchar* data, int ndata, bool freeData) | |||||
| NanoVG::FontId NanoVG::createFontMem(const char* name, const uchar* data, int ndata, bool freeData) | |||||
| { | { | ||||
| if (fContext == nullptr) return -1; | if (fContext == nullptr) return -1; | ||||
| DISTRHO_SAFE_ASSERT_RETURN(name != nullptr && name[0] != '\0', -1); | DISTRHO_SAFE_ASSERT_RETURN(name != nullptr && name[0] != '\0', -1); | ||||
| DISTRHO_SAFE_ASSERT_RETURN(data != nullptr, -1); | DISTRHO_SAFE_ASSERT_RETURN(data != nullptr, -1); | ||||
| return nvgCreateFontMem(fContext, name, data, ndata, freeData); | |||||
| return nvgCreateFontMem(fContext, name, const_cast<uchar*>(data), ndata, freeData); | |||||
| } | } | ||||
| NanoVG::FontId NanoVG::findFont(const char* name) | NanoVG::FontId NanoVG::findFont(const char* name) | ||||
| @@ -41,7 +41,7 @@ enum FONSalign { | |||||
| enum FONSerrorCode { | enum FONSerrorCode { | ||||
| // Font atlas is full. | // Font atlas is full. | ||||
| FONS_ATLAS_FULL = 1, | FONS_ATLAS_FULL = 1, | ||||
| // Scratch memory used to render glyphs is full, requested size reported in 'val', you may need to bump up FONS_SCRATCH_BUF_SIZE. | |||||
| // Scratch memory used to render glyphs is full, requested size reported in 'val', you may need to bump up FONS_SCRATCH_BUF_SIZE. | |||||
| FONS_SCRATCH_FULL = 2, | FONS_SCRATCH_FULL = 2, | ||||
| // Calls to fonsPushState has craeted too large stack, if you need deep state stack bump up FONS_MAX_STATES. | // Calls to fonsPushState has craeted too large stack, if you need deep state stack bump up FONS_MAX_STATES. | ||||
| FONS_STATES_OVERFLOW = 3, | FONS_STATES_OVERFLOW = 3, | ||||
| @@ -85,7 +85,7 @@ void fonsDeleteInternal(struct FONScontext* s); | |||||
| void fonsSetErrorCallback(struct FONScontext* s, void (*callback)(void* uptr, int error, int val), void* uptr); | void fonsSetErrorCallback(struct FONScontext* s, void (*callback)(void* uptr, int error, int val), void* uptr); | ||||
| // Returns current atlas size. | // Returns current atlas size. | ||||
| void fonsGetAtlasSize(struct FONScontext* s, int* width, int* height); | void fonsGetAtlasSize(struct FONScontext* s, int* width, int* height); | ||||
| // Expands the atlas size. | |||||
| // Expands the atlas size. | |||||
| int fonsExpandAtlas(struct FONScontext* s, int width, int height); | int fonsExpandAtlas(struct FONScontext* s, int width, int height); | ||||
| // Reseta the whole stash. | // Reseta the whole stash. | ||||
| int fonsResetAtlas(struct FONScontext* stash, int width, int height); | int fonsResetAtlas(struct FONScontext* stash, int width, int height); | ||||
| @@ -1388,7 +1388,7 @@ void fonsDrawDebug(struct FONScontext* stash, float x, float y) | |||||
| } | } | ||||
| float fonsTextBounds(struct FONScontext* stash, | float fonsTextBounds(struct FONScontext* stash, | ||||
| float x, float y, | |||||
| float x, float y, | |||||
| const char* str, const char* end, | const char* str, const char* end, | ||||
| float* bounds) | float* bounds) | ||||
| { | { | ||||
| @@ -1576,7 +1576,7 @@ int fonsExpandAtlas(struct FONScontext* stash, int width, int height) | |||||
| height = fons__maxi(height, stash->params.height); | height = fons__maxi(height, stash->params.height); | ||||
| if (width == stash->params.width && height == stash->params.height) | if (width == stash->params.width && height == stash->params.height) | ||||
| return 1; | |||||
| return 1; | |||||
| // Flush pending glyphs. | // Flush pending glyphs. | ||||
| fons__flush(stash); | fons__flush(stash); | ||||
| @@ -166,6 +166,17 @@ bool d_isEqual(const T& v1, const T& v2) | |||||
| return std::abs(v1-v2) < std::numeric_limits<T>::epsilon(); | return std::abs(v1-v2) < std::numeric_limits<T>::epsilon(); | ||||
| } | } | ||||
| /* | |||||
| * Safely compare two floating point numbers. | |||||
| * Returns true if they don't match. | |||||
| */ | |||||
| template<typename T> | |||||
| static inline | |||||
| bool d_isNotEqual(const T& v1, const T& v2) | |||||
| { | |||||
| return std::abs(v1-v2) >= std::numeric_limits<T>::epsilon(); | |||||
| } | |||||
| /* | /* | ||||
| * Safely check if a floating point number is zero. | * Safely check if a floating point number is zero. | ||||
| */ | */ | ||||
| @@ -79,7 +79,8 @@ DistrhoUI3BandEQ::DistrhoUI3BandEQ() | |||||
| Image knobImage(DistrhoArtwork3BandEQ::knobData, DistrhoArtwork3BandEQ::knobWidth, DistrhoArtwork3BandEQ::knobHeight); | Image knobImage(DistrhoArtwork3BandEQ::knobData, DistrhoArtwork3BandEQ::knobWidth, DistrhoArtwork3BandEQ::knobHeight); | ||||
| // knob Low-Mid | // knob Low-Mid | ||||
| fKnobLowMid = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPlugin3BandEQ::paramLowMidFreq); | |||||
| fKnobLowMid = new ImageKnob(this, knobImage, ImageKnob::Vertical); | |||||
| fKnobLowMid->setId(DistrhoPlugin3BandEQ::paramLowMidFreq); | |||||
| fKnobLowMid->setAbsolutePos(65, 269); | fKnobLowMid->setAbsolutePos(65, 269); | ||||
| fKnobLowMid->setRange(0.0f, 1000.0f); | fKnobLowMid->setRange(0.0f, 1000.0f); | ||||
| fKnobLowMid->setDefault(440.0f); | fKnobLowMid->setDefault(440.0f); | ||||
| @@ -87,7 +88,8 @@ DistrhoUI3BandEQ::DistrhoUI3BandEQ() | |||||
| fKnobLowMid->setCallback(this); | fKnobLowMid->setCallback(this); | ||||
| // knob Mid-High | // knob Mid-High | ||||
| fKnobMidHigh = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPlugin3BandEQ::paramMidHighFreq); | |||||
| fKnobMidHigh = new ImageKnob(this, knobImage, ImageKnob::Vertical); | |||||
| fKnobMidHigh->setId(DistrhoPlugin3BandEQ::paramMidHighFreq); | |||||
| fKnobMidHigh->setAbsolutePos(159, 269); | fKnobMidHigh->setAbsolutePos(159, 269); | ||||
| fKnobMidHigh->setRange(1000.0f, 20000.0f); | fKnobMidHigh->setRange(1000.0f, 20000.0f); | ||||
| fKnobMidHigh->setDefault(1000.0f); | fKnobMidHigh->setDefault(1000.0f); | ||||
| @@ -79,7 +79,8 @@ DistrhoUI3BandSplitter::DistrhoUI3BandSplitter() | |||||
| Image knobImage(DistrhoArtwork3BandSplitter::knobData, DistrhoArtwork3BandSplitter::knobWidth, DistrhoArtwork3BandSplitter::knobHeight); | Image knobImage(DistrhoArtwork3BandSplitter::knobData, DistrhoArtwork3BandSplitter::knobWidth, DistrhoArtwork3BandSplitter::knobHeight); | ||||
| // knob Low-Mid | // knob Low-Mid | ||||
| fKnobLowMid = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPlugin3BandSplitter::paramLowMidFreq); | |||||
| fKnobLowMid = new ImageKnob(this, knobImage, ImageKnob::Vertical); | |||||
| fKnobLowMid->setId(DistrhoPlugin3BandSplitter::paramLowMidFreq); | |||||
| fKnobLowMid->setAbsolutePos(65, 269); | fKnobLowMid->setAbsolutePos(65, 269); | ||||
| fKnobLowMid->setRange(0.0f, 1000.0f); | fKnobLowMid->setRange(0.0f, 1000.0f); | ||||
| fKnobLowMid->setDefault(440.0f); | fKnobLowMid->setDefault(440.0f); | ||||
| @@ -87,7 +88,8 @@ DistrhoUI3BandSplitter::DistrhoUI3BandSplitter() | |||||
| fKnobLowMid->setCallback(this); | fKnobLowMid->setCallback(this); | ||||
| // knob Mid-High | // knob Mid-High | ||||
| fKnobMidHigh = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPlugin3BandSplitter::paramMidHighFreq); | |||||
| fKnobMidHigh = new ImageKnob(this, knobImage, ImageKnob::Vertical); | |||||
| fKnobMidHigh->setId(DistrhoPlugin3BandSplitter::paramMidHighFreq); | |||||
| fKnobMidHigh->setAbsolutePos(159, 269); | fKnobMidHigh->setAbsolutePos(159, 269); | ||||
| fKnobMidHigh->setRange(1000.0f, 20000.0f); | fKnobMidHigh->setRange(1000.0f, 20000.0f); | ||||
| fKnobMidHigh->setDefault(1000.0f); | fKnobMidHigh->setDefault(1000.0f); | ||||
| @@ -43,7 +43,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| Image knobImage(DistrhoArtworkMVerb::knobData, DistrhoArtworkMVerb::knobWidth, DistrhoArtworkMVerb::knobHeight); | Image knobImage(DistrhoArtworkMVerb::knobData, DistrhoArtworkMVerb::knobWidth, DistrhoArtworkMVerb::knobHeight); | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::DAMPINGFREQ)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::DAMPINGFREQ); | |||||
| knob->setAbsolutePos(56 + 7*40, 40); | knob->setAbsolutePos(56 + 7*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -51,7 +52,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::DENSITY)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::DENSITY); | |||||
| knob->setAbsolutePos(56 + 4*40, 40); | knob->setAbsolutePos(56 + 4*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -59,7 +61,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::BANDWIDTHFREQ)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::BANDWIDTHFREQ); | |||||
| knob->setAbsolutePos(56 + 5*40, 40); | knob->setAbsolutePos(56 + 5*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -67,7 +70,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::DECAY)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::DECAY); | |||||
| knob->setAbsolutePos(56 + 6*40, 40); | knob->setAbsolutePos(56 + 6*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -75,7 +79,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::PREDELAY)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::PREDELAY); | |||||
| knob->setAbsolutePos(56 + 1*40, 40); | knob->setAbsolutePos(56 + 1*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -83,7 +88,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::SIZE)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::SIZE); | |||||
| knob->setAbsolutePos(56 + 3*40, 40); | knob->setAbsolutePos(56 + 3*40, 40); | ||||
| knob->setRange(5.0f, 100.0f); | knob->setRange(5.0f, 100.0f); | ||||
| knob->setDefault(100.0f); | knob->setDefault(100.0f); | ||||
| @@ -91,7 +97,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::GAIN)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::GAIN); | |||||
| knob->setAbsolutePos(56 + 8*40, 40); | knob->setAbsolutePos(56 + 8*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(75.0f); | knob->setDefault(75.0f); | ||||
| @@ -99,7 +106,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::MIX)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::MIX); | |||||
| knob->setAbsolutePos(56 + 0*40, 40); | knob->setAbsolutePos(56 + 0*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -107,7 +115,8 @@ DistrhoUIMVerb::DistrhoUIMVerb() | |||||
| fKnobs.push_back(knob); | fKnobs.push_back(knob); | ||||
| } | } | ||||
| { | { | ||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical, MVerb<float>::EARLYMIX)); | |||||
| ImageKnob* const knob(new ImageKnob(this, knobImage, ImageKnob::Vertical)); | |||||
| knob->setId(MVerb<float>::EARLYMIX); | |||||
| knob->setAbsolutePos(56 + 2*40, 40); | knob->setAbsolutePos(56 + 2*40, 40); | ||||
| knob->setRange(0.0f, 100.0f); | knob->setRange(0.0f, 100.0f); | ||||
| knob->setDefault(50.0f); | knob->setDefault(50.0f); | ||||
| @@ -38,7 +38,8 @@ DistrhoUIPingPongPan::DistrhoUIPingPongPan() | |||||
| Image knobImage(DistrhoArtworkPingPongPan::knobData, DistrhoArtworkPingPongPan::knobWidth, DistrhoArtworkPingPongPan::knobHeight); | Image knobImage(DistrhoArtworkPingPongPan::knobData, DistrhoArtworkPingPongPan::knobWidth, DistrhoArtworkPingPongPan::knobHeight); | ||||
| // knob Low-Mid | // knob Low-Mid | ||||
| fKnobFreq = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginPingPongPan::paramFreq); | |||||
| fKnobFreq = new ImageKnob(this, knobImage, ImageKnob::Vertical); | |||||
| fKnobFreq->setId(DistrhoPluginPingPongPan::paramFreq); | |||||
| fKnobFreq->setAbsolutePos(60, 58); | fKnobFreq->setAbsolutePos(60, 58); | ||||
| fKnobFreq->setRange(0.0f, 100.0f); | fKnobFreq->setRange(0.0f, 100.0f); | ||||
| fKnobFreq->setDefault(50.0f); | fKnobFreq->setDefault(50.0f); | ||||
| @@ -46,7 +47,8 @@ DistrhoUIPingPongPan::DistrhoUIPingPongPan() | |||||
| fKnobFreq->setCallback(this); | fKnobFreq->setCallback(this); | ||||
| // knob Mid-High | // knob Mid-High | ||||
| fKnobWidth = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginPingPongPan::paramWidth); | |||||
| fKnobWidth = new ImageKnob(this, knobImage, ImageKnob::Vertical); | |||||
| fKnobWidth->setId(DistrhoPluginPingPongPan::paramWidth); | |||||
| fKnobWidth->setAbsolutePos(182, 58); | fKnobWidth->setAbsolutePos(182, 58); | ||||
| fKnobWidth->setRange(0.0f, 100.0f); | fKnobWidth->setRange(0.0f, 100.0f); | ||||
| fKnobWidth->setDefault(75.0f); | fKnobWidth->setDefault(75.0f); | ||||
| @@ -127,7 +127,7 @@ struct ERect { | |||||
| #endif | #endif | ||||
| #undef VST_64BIT_PLATFORM | #undef VST_64BIT_PLATFORM | ||||
| #define VST_64BIT_PLATFORM (defined(_WIN64) || defined(__LP64__) || defined (_LP64)) | #define VST_64BIT_PLATFORM (defined(_WIN64) || defined(__LP64__) || defined (_LP64)) | ||||
| #include "vst/pluginterfaces/vst2.x/aeffectx.h" | |||||
| #include "vst2/pluginterfaces/vst2.x/aeffectx.h" | |||||
| #endif | #endif | ||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||