commit 923a02134ff3350fb97e34aa35e2ca6d56658d11
parent 710c1e0bb2cc47cba1ff9e3a8892eee195b9265c
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Thu, 30 May 2024 12:20:23 +0200
version build date/time is now always regenerated to ensure its up to date
Diffstat:
10 files changed, 76 insertions(+), 13 deletions(-)
diff --git a/source/jucePluginEditorLib/.gitignore b/source/jucePluginEditorLib/.gitignore
@@ -0,0 +1,2 @@
+version.h
+versionDateTime.h
diff --git a/source/jucePluginEditorLib/CMakeLists.txt b/source/jucePluginEditorLib/CMakeLists.txt
@@ -4,6 +4,7 @@ project(jucePluginEditorLib VERSION ${CMAKE_PROJECT_VERSION})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/version.h)
set(SOURCES
+ createVersionDateTime.cmake
focusedParameter.cpp focusedParameter.h
focusedParameterTooltip.cpp focusedParameterTooltip.h
lcd.cpp lcd.h
@@ -14,8 +15,10 @@ set(SOURCES
pluginEditorWindow.cpp pluginEditorWindow.h
pluginEditorState.cpp pluginEditorState.h
pluginProcessor.cpp pluginProcessor.h
+ pluginVersion.cpp pluginVersion.h
types.h
version.h.in version.h
+ versionDateTime.h.in versionDateTime.h
)
set(SOURCES_PM
@@ -54,3 +57,9 @@ target_link_libraries(jucePluginEditorLib PUBLIC jucePluginLib juceUiLib)
target_include_directories(jucePluginEditorLib PUBLIC ../JUCE/modules)
target_compile_definitions(jucePluginEditorLib PRIVATE JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1)
set_property(TARGET jucePluginEditorLib PROPERTY FOLDER "Gearmulator")
+
+add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_LIST_DIR}/_doesnotexist_versionDateTime.h # fake, causes regeneration for every build, exactly what we want
+ OUTPUT ${CMAKE_CURRENT_LIST_DIR}/versionDateTime.h # valid
+ COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_LIST_DIR}/createVersionDateTime.cmake"
+)
diff --git a/source/jucePluginEditorLib/createVersionDateTime.cmake b/source/jucePluginEditorLib/createVersionDateTime.cmake
@@ -0,0 +1,4 @@
+string(TIMESTAMP versionDate "%b %d %Y")
+string(TIMESTAMP versionTime "%H:%M")
+
+configure_file(${CMAKE_CURRENT_LIST_DIR}/versionDateTime.h.in ${CMAKE_CURRENT_LIST_DIR}/versionDateTime.h)
diff --git a/source/jucePluginEditorLib/pluginVersion.cpp b/source/jucePluginEditorLib/pluginVersion.cpp
@@ -0,0 +1,32 @@
+#include "pluginVersion.h"
+
+#include "version.h"
+#include "versionDateTime.h"
+
+namespace jucePluginEditorLib
+{
+ std::string Version::getVersionString()
+ {
+ return g_pluginVersionString;
+ }
+
+ uint32_t Version::getVersionNumber()
+ {
+ return g_pluginVersion;
+ }
+
+ std::string Version::getVersionDate()
+ {
+ return g_pluginVersionDate;
+ }
+
+ std::string Version::getVersionTime()
+ {
+ return g_pluginVersionTime;
+ }
+
+ std::string Version::getVersionDateTime()
+ {
+ return getVersionDate() + ' ' + getVersionTime();
+ }
+}
diff --git a/source/jucePluginEditorLib/pluginVersion.h b/source/jucePluginEditorLib/pluginVersion.h
@@ -0,0 +1,15 @@
+#pragma once
+#include <string>
+
+namespace jucePluginEditorLib
+{
+ class Version
+ {
+ public:
+ static std::string getVersionString();
+ static uint32_t getVersionNumber();
+ static std::string getVersionDate();
+ static std::string getVersionTime();
+ static std::string getVersionDateTime();
+ };
+}
diff --git a/source/jucePluginEditorLib/version.h b/source/jucePluginEditorLib/version.h
@@ -1,4 +0,0 @@
-#pragma once
-
-static constexpr const char* const g_pluginVersionString = "1.3.15";
-static constexpr uint32_t g_pluginVersion = 1315;
diff --git a/source/jucePluginEditorLib/versionDateTime.h.in b/source/jucePluginEditorLib/versionDateTime.h.in
@@ -0,0 +1,4 @@
+#pragma once
+
+static constexpr const char* const g_pluginVersionDate = "@versionDate@";
+static constexpr const char* const g_pluginVersionTime = "@versionTime@";
diff --git a/source/mqJucePlugin/mqLcd.cpp b/source/mqJucePlugin/mqLcd.cpp
@@ -1,6 +1,6 @@
#include "mqLcd.h"
-#include "../jucePluginEditorLib/version.h"
+#include "../jucePluginEditorLib/pluginVersion.h"
#include "../wLib/lcdfonts.h"
@@ -26,8 +26,8 @@ void MqLcd::setCgRam(std::array<uint8_t, 64>& _data)
bool MqLcd::getOverrideText(std::vector<std::vector<uint8_t>>& _lines)
{
- const std::string lineA(std::string("Vavra v") + g_pluginVersionString);
- const std::string lineB = __DATE__ " " __TIME__;
+ const std::string lineA(std::string("Vavra v") + jucePluginEditorLib::Version::getVersionString());
+ const std::string lineB = jucePluginEditorLib::Version::getVersionDateTime();
_lines =
{
diff --git a/source/virusJucePlugin/VirusEditor.cpp b/source/virusJucePlugin/VirusEditor.cpp
@@ -8,8 +8,9 @@
#include "VirusController.h"
#include "../jucePluginLib/parameterbinding.h"
+
#include "../jucePluginEditorLib/patchmanager/savepatchdesc.h"
-#include "../jucePluginEditorLib/version.h"
+#include "../jucePluginEditorLib/pluginVersion.h"
#include "../synthLib/os.h"
@@ -108,13 +109,13 @@ namespace genericVirusUI
if(auto* versionInfo = findComponentT<juce::Label>("VersionInfo", false))
{
- const std::string message = "DSP 56300 Emulator Version " + std::string(g_pluginVersionString) + " - " __DATE__ " " __TIME__;
+ const std::string message = "DSP 56300 Emulator Version " + jucePluginEditorLib::Version::getVersionString() + " - " + jucePluginEditorLib::Version::getVersionDateTime();
versionInfo->setText(message, juce::dontSendNotification);
}
if(auto* versionNumber = findComponentT<juce::Label>("VersionNumber", false))
{
- versionNumber->setText(g_pluginVersionString, juce::dontSendNotification);
+ versionNumber->setText(jucePluginEditorLib::Version::getVersionString(), juce::dontSendNotification);
}
m_deviceModel = findComponentT<juce::Label>("DeviceModel", false);
diff --git a/source/xtJucePlugin/xtLcd.cpp b/source/xtJucePlugin/xtLcd.cpp
@@ -2,7 +2,7 @@
#include "xtController.h"
-#include "../jucePluginEditorLib/version.h"
+#include "../jucePluginEditorLib/pluginVersion.h"
#include "../wLib/lcdfonts.h"
@@ -59,8 +59,8 @@ void XtLcd::setText(const std::array<uint8_t, 80>& _text)
bool XtLcd::getOverrideText(std::vector<std::vector<uint8_t>>& _lines)
{
- std::string lineA(std::string("Xenia v") + g_pluginVersionString);
- std::string lineB = __DATE__ " " __TIME__;
+ std::string lineA(std::string("Xenia v") + jucePluginEditorLib::Version::getVersionString());
+ std::string lineB = jucePluginEditorLib::Version::getVersionDateTime();
constexpr char lineAright[] = "From TUS";
constexpr char lineBright[] = "with <3";