From bb24478a12ab3d03f3b7dfb758b15dfb0a9e30f4 Mon Sep 17 00:00:00 2001 From: Armin Date: Mon, 10 Aug 2026 15:37:10 +0200 Subject: [PATCH] update README --- README.md | 10 +++++----- cmake/stamp_build_info.cmake | 13 +++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 cmake/stamp_build_info.cmake diff --git a/README.md b/README.md index c49b838..777151e 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ A stereo algorithmic reverb audio plugin (VST3 / AU) for macOS, built with JUCE and C++17. -It pairs a Schroeder/Moorer-style reverb core — a diffusion allpass section and -a bank of parallel damped combs whose gains are derived from an RT60 time — with +It pairs a Schroeder/Moorer-style reverb core - a diffusion allpass section and +a bank of parallel damped combs whose gains are derived from an RT60 time - with a **feedback pitch-shifting loop**: each pass through the reverb is recirculated through a granular crossfade pitch shifter, so the tail climbs or descends in pitch on every echo. The UI is a dark teal hardware-rack style skin with @@ -15,7 +15,7 @@ skeuomorphic rotary knobs and a live wet-spectrum analyser. - 9 fully automatable, host-saveable parameters in an `AudioProcessorValueTreeState` - Stable, self-scaling reverb: comb gains are computed from RT60 so the loop never diverges, and every delay length / filter / window scales with sample rate -- Per-sample parameter smoothing (`juce::SmoothedValue`) — no clicks, no allocation +- Per-sample parameter smoothing (`juce::SmoothedValue`) - no clicks, no allocation in the audio callback - Granular pitch shifter with seamless crossfade; bypasses transparently at 0 semitones - Feedback loop routing the wet signal back through the pitch shifter and diffusers @@ -91,7 +91,7 @@ If you prefer to manage JUCE yourself, either check it out as `./JUCE` next to this repo, or point CMake at it with `-DJUCE_ROOT=/path/to/JUCE`. > **Note:** JUCE 9 / `master` refactored the LookAndFeel API and is not yet -> supported — a JUCE 8.0.x release tag is required. +> supported - a JUCE 8.0.x release tag is required. After installing, ask your DAW / Audio Unit host to rescan plug-ins (or run `auval` to validate the component). Installed bundles are ad-hoc code-signed. @@ -114,6 +114,6 @@ Source/ ## License -This project is released under the GPL v3 — the standard license for JUCE +This project is released under the GPL v3 - the standard license for JUCE projects that use the open-source JUCE distribution. You may additionally use it under the terms of a JUCE commercial license if you hold one. diff --git a/cmake/stamp_build_info.cmake b/cmake/stamp_build_info.cmake new file mode 100644 index 0000000..9c6558f --- /dev/null +++ b/cmake/stamp_build_info.cmake @@ -0,0 +1,13 @@ +# Generates HorizontBuildInfo.h with the current wall-clock timestamp. +# Run at build time (not configure time) so every build stamps a fresh date. + +set(output "${GENERATED_DIR}/HorizontBuildInfo.h") + +execute_process( + COMMAND date "+%Y-%m-%d__%H-%M-%S" + OUTPUT_VARIABLE timestamp + OUTPUT_STRIP_TRAILING_WHITESPACE) + +file(WRITE "${output}" + "#pragma once\n" + "#define HORIZONT_BUILD_TIMESTAMP \"${timestamp}\"\n")