feat(params): add parameters, macros, RAVE controls and resources

This commit is contained in:
2026-09-08 14:55:22 +02:00
parent a9abca9e15
commit 0a94208d0f
12 changed files with 1198 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
#pragma once
#include <JuceHeader.h>
namespace serum
{
// ===========================================================================
// Central dark theme + static SVG assets (embedded as strings so they need no
// binary-data build step; the same assets also ship under Source/Resources/).
// ===========================================================================
namespace theme
{
inline const juce::Colour bg { 0xff101117 };
inline const juce::Colour panel { 0xff1a1c24 };
inline const juce::Colour panelRaised { 0xff23262f };
inline const juce::Colour outline { 0xff2c2f39 };
inline const juce::Colour text { 0xffe8eaf0 };
inline const juce::Colour textDim { 0xff9095a2 };
inline const juce::Colour accent { 0xff4fc3f7 }; // cyan
inline const juce::Colour accent2 { 0xffff6e9c }; // pink
inline const juce::Colour amber { 0xffffb74d };
inline const juce::Colour green { 0xff7ce38b };
inline const juce::Colour raveGlow { 0xffff3d71 };
}
// SVG assets (logo + subtle background).
juce::String getLogoSvg();
juce::String getBackgroundSvg();
std::unique_ptr<juce::Drawable> createLogoDrawable();
std::unique_ptr<juce::Drawable> createBackgroundDrawable();
// Small value-formatting helpers used by the GUI controls.
juce::String formatPercent (float v); // 0..1 -> "42 %"
juce::String formatHz (float v); // 0..1 (cutoff) -> "1.2 kHz"
juce::String formatSeconds (float v); // 0..1 (env) -> "320 ms"
juce::String formatSemis (float v); // 0..1 -> "-12 st"
juce::String formatCents (float v); // 0..1 -> "+5 ct"
juce::String formatPan (float v); // 0..1 -> "L50"
juce::String formatInt (float v, int maxValue);
} // namespace serum