Files
serumalt/Source/Resources/Resources.h
T
biggy 4b0db50271 refactor(source): move every implementation into its module directory
- 36 files move into the module whose AGENTS.md already claimed them:
  Engine/, Synth/, Modulation/, Params/, Plugin/, GUI/, EffectUnits/, Resources/
- Source/engine, modulation, params, plugin and synth become Engine,
  Modulation, Params, Plugin and Synth, matching the directories that already
  hold code
- ExactCompare.h stays at the Source/ root as the one shared header
- SERUMALT_INCLUDE_DIRS adds one include directory per module, so the 31
  parent-relative includes become plain names with no path prefix
- the module AGENTS.md files list owned files instead of describing a move
  that had not happened, and README.md and AGENTS.md describe the real tree

Verified: the harness passes CTest, the Linux VST3 and Standalone link, the
Windows cross-build passes its module checks, each configure exposes only its
own targets, no first-party warning line appears, and the generated Windows
manifest is unchanged.
2026-10-06 09:17:49 +02:00

43 lines
1.7 KiB
C++

#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