diff --git a/Resources/svg/bounce.svg b/Resources/svg/bounce.svg
new file mode 100644
index 0000000..957a738
--- /dev/null
+++ b/Resources/svg/bounce.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Resources/svg/kaleidoscope.svg b/Resources/svg/kaleidoscope.svg
new file mode 100644
index 0000000..fb970f0
--- /dev/null
+++ b/Resources/svg/kaleidoscope.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/audio/BounceEffect.h b/Source/audio/BounceEffect.h
index 978ce28..156c553 100644
--- a/Source/audio/BounceEffect.h
+++ b/Source/audio/BounceEffect.h
@@ -48,7 +48,7 @@ public:
}
);
eff->setName("Bounce");
- eff->setIcon(BinaryData::random_svg);
+ eff->setIcon(BinaryData::bounce_svg);
return eff;
}
diff --git a/Source/audio/KaleidoscopeEffect.h b/Source/audio/KaleidoscopeEffect.h
index 1d03234..4c56d1e 100644
--- a/Source/audio/KaleidoscopeEffect.h
+++ b/Source/audio/KaleidoscopeEffect.h
@@ -33,18 +33,18 @@ public:
double partialScale = (currentSegmentIndex == fullSegments && fractionalPart > 1e-9) ? fractionalPart : 1.0;
double wedgeAngle = baseWedgeAngle * partialScale;
- // Normalize theta to [0,1) for compression
- double thetaNorm = (theta + juce::MathConstants::pi) / juce::MathConstants::twoPi; // 0..1
+ // Normalize theta to [0,1) for compression
+ double thetaNorm = (theta + juce::MathConstants::pi) / juce::MathConstants::twoPi; // 0..1
- // Offset for this segment: each preceding full segment occupies baseWedgeAngle
+ // Offset for this segment: each preceding full segment occupies baseWedgeAngle
double segmentOffset = 0.0;
if (currentSegmentIndex < fullSegments) {
segmentOffset = currentSegmentIndex * baseWedgeAngle;
} else { // partial segment
segmentOffset = fullSegments * baseWedgeAngle;
}
- // Map entire original angle range into [segmentOffset, segmentOffset + wedgeAngle) so edges line up exactly.
- double finalTheta = segmentOffset + thetaNorm * wedgeAngle - juce::MathConstants::pi; // constant 180° rotation
+ // Map entire original angle range into [segmentOffset, segmentOffset + wedgeAngle) so edges line up exactly.
+ double finalTheta = segmentOffset + thetaNorm * wedgeAngle - juce::MathConstants::pi; // constant 180° rotation
double newX = r * std::cos(finalTheta);
double newY = r * std::sin(finalTheta);
@@ -82,8 +82,7 @@ public:
}
);
eff->setName("Kaleidoscope");
- // Reuse an existing icon for now (repeat). A dedicated kaleidoscope icon can be added later.
- eff->setIcon(BinaryData::repeat_svg);
+ eff->setIcon(BinaryData::kaleidoscope_svg);
return eff;
}
};
diff --git a/osci-render.jucer b/osci-render.jucer
index b73bf78..1c84de1 100644
--- a/osci-render.jucer
+++ b/osci-render.jucer
@@ -47,6 +47,7 @@
+
@@ -58,6 +59,8 @@
+