diff --git a/CMakeLists.txt b/CMakeLists.txt index 8242e0b..64bf2c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ if(NOT DEFINED BUILD_GIT_DIRTY) endif() string(TIMESTAMP BUILD_DATE "%Y-%m-%d") -string(TIMESTAMP BUILD_TIME "%H:%M") +string(TIMESTAMP BUILD_TIME "%H:%M:%S") configure_file(Source/BuildInfo.h.in ${CMAKE_CURRENT_BINARY_DIR}/Source/BuildInfo.h @ONLY) message(STATUS "RMX-19 build: ${BUILD_GIT_BRANCH} ${BUILD_GIT_COMMIT}${BUILD_GIT_DIRTY} @ ${BUILD_DATE} ${BUILD_TIME}") diff --git a/Source/BuildInfo.h.in b/Source/BuildInfo.h.in index a91b9e6..bd88724 100644 --- a/Source/BuildInfo.h.in +++ b/Source/BuildInfo.h.in @@ -3,7 +3,10 @@ #define BUILD_GIT_BRANCH "@BUILD_GIT_BRANCH@" #define BUILD_GIT_COMMIT "@BUILD_GIT_COMMIT@" #define BUILD_GIT_DIRTY "@BUILD_GIT_DIRTY@" -#define BUILD_DATE "@BUILD_DATE@" -#define BUILD_TIME "@BUILD_TIME@" + +// exact local compile timestamp, seconds precision (from the compiler itself, +// so it stays accurate on every rebuild even without a CMake reconfigure) +#define BUILD_DATE __DATE__ +#define BUILD_TIME __TIME__ #define BUILD_VERSION "1.0.0" \ No newline at end of file diff --git a/Source/LcdPanel.cpp b/Source/LcdPanel.cpp index aafba63..2a844e2 100644 --- a/Source/LcdPanel.cpp +++ b/Source/LcdPanel.cpp @@ -945,7 +945,11 @@ void LcdPanel::stepDelaySync (int dir) const int cur = (int) proc.apvts.getRawParameterValue ("delaysync")->load(); const int nv = juce::jlimit (0, prm::delaySyncCount - 1, cur + dir); if (nv != cur) + { + par->beginChangeGesture(); par->setValueNotifyingHost (juce::NormalisableRange (0.0, (double) (prm::delaySyncCount - 1)).convertTo0to1 ((double) nv)); + par->endChangeGesture(); + } setDirty(); } @@ -957,7 +961,13 @@ void LcdPanel::stepParam (prm::Id id, int dir, bool coarse) const float cur = proc.apvts.getRawParameterValue (prm::desc (id).id)->load(); const float nv = prm::changeParam (id, cur, dir, coarse); if (nv != cur) + { + // send begin/end gesture so hosts (FL "tools -> last tweaked") register + // this as a user tweak rather than a silent automation change + par->beginChangeGesture(); par->setValueNotifyingHost (par->convertTo0to1 (nv)); + par->endChangeGesture(); + } setDirty(); } diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 449d631..2095e26 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -139,7 +139,8 @@ void RackEditor::paint (juce::Graphics& g) // rear engraving text (kept clear of the UI-scale dropdown at the bottom right) g.setColour (juce::Colour (0xff6e6657)); g.setFont (juce::FontOptions ("Courier New", 8.0f, juce::Font::plain)); - const juce::String ser = "RMX-19 S/N 0001-1943-04-19 24BIT/96K SUPER SOUND MODULE"; + const juce::String ser = "RMX-19 S/N 0001-1943-04-19 24BIT/96K SUPER SOUND MODULE BUILT " + + juce::String (BUILD_DATE) + " " + juce::String (BUILD_TIME); g.drawFittedText (ser, 12, b.getHeight() - 16, b.getWidth() - 128, 11, juce::Justification::centred, 1); }