diff --git a/Resources/svg/random.svg b/Resources/svg/random.svg index c673a2f..de6f95e 100644 --- a/Resources/svg/random.svg +++ b/Resources/svg/random.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/Source/EffectsComponent.cpp b/Source/EffectsComponent.cpp index de565dc..d682781 100644 --- a/Source/EffectsComponent.cpp +++ b/Source/EffectsComponent.cpp @@ -25,6 +25,8 @@ EffectsComponent::EffectsComponent(OscirenderAudioProcessor& p, OscirenderAudioP addAndMakeVisible(randomiseButton); + randomiseButton.setTooltip("Randomise all effect parameter values, randomise which effects are enabled, and randomise their order."); + randomiseButton.onClick = [this] { itemData.randomise(); listBox.updateContent(); @@ -46,8 +48,10 @@ EffectsComponent::~EffectsComponent() { void EffectsComponent::resized() { auto area = getLocalBounds(); - auto titleBar = area.removeFromTop(20); - randomiseButton.setBounds(titleBar.removeFromRight(20)); + auto titleBar = area.removeFromTop(30); + titleBar.removeFromLeft(100); + + randomiseButton.setBounds(titleBar.removeFromLeft(20)); area = area.reduced(20); frequency.setBounds(area.removeFromTop(30)); diff --git a/Source/audio/SmoothEffect.cpp b/Source/audio/SmoothEffect.cpp index 5bae151..066998a 100644 --- a/Source/audio/SmoothEffect.cpp +++ b/Source/audio/SmoothEffect.cpp @@ -5,7 +5,7 @@ SmoothEffect::SmoothEffect() {} SmoothEffect::~SmoothEffect() {} Point SmoothEffect::apply(int index, Point input, const std::vector& values, double sampleRate) { - double weight = values[0]; + double weight = juce::jmax(values[0], 0.00001); weight *= 0.95; double strength = 10; weight = std::log(strength * weight + 1) / std::log(strength + 1); diff --git a/Source/components/SvgButton.h b/Source/components/SvgButton.h index 4dbece9..f66854b 100644 --- a/Source/components/SvgButton.h +++ b/Source/components/SvgButton.h @@ -5,6 +5,8 @@ class SvgButton : public juce::DrawableButton, public juce::AudioProcessorParame public: SvgButton(juce::String name, juce::String svg, juce::Colour colour, juce::Colour colourOn, BooleanParameter* toggle = nullptr) : juce::DrawableButton(name, juce::DrawableButton::ButtonStyle::ImageFitted), toggle(toggle) { auto doc = juce::XmlDocument::parse(svg); + + setMouseCursor(juce::MouseCursor::PointingHandCursor); changeSvgColour(doc.get(), colour); normalImage = juce::Drawable::createFromSVG(*doc);