gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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:
Asource/jucePluginEditorLib/.gitignore | 2++
Msource/jucePluginEditorLib/CMakeLists.txt | 9+++++++++
Asource/jucePluginEditorLib/createVersionDateTime.cmake | 4++++
Asource/jucePluginEditorLib/pluginVersion.cpp | 32++++++++++++++++++++++++++++++++
Asource/jucePluginEditorLib/pluginVersion.h | 15+++++++++++++++
Dsource/jucePluginEditorLib/version.h | 4----
Asource/jucePluginEditorLib/versionDateTime.h.in | 4++++
Msource/mqJucePlugin/mqLcd.cpp | 6+++---
Msource/virusJucePlugin/VirusEditor.cpp | 7++++---
Msource/xtJucePlugin/xtLcd.cpp | 6+++---
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";