From aa0eb1a75d6fc81de34b7f6b1861e488b678de99 Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 2 Nov 2012 17:14:44 +0000 Subject: [PATCH] Changed the VST version number to be parsed as base-10 rather than base-16. --- .../Source/Project/jucer_AudioPluginModule.h | 2 +- .../Source/Project/jucer_Project.cpp | 22 +++++++++++++++++-- .../Introjucer/Source/Project/jucer_Project.h | 1 + .../format_types/juce_VSTPluginFormat.cpp | 4 ++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h index fb840e9da3..b1466fcd30 100644 --- a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h +++ b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h @@ -123,7 +123,7 @@ namespace flags.set ("JucePlugin_TailLengthSeconds", String (static_cast (getPluginTailLengthSeconds (project).getValue()))); flags.set ("JucePlugin_EditorRequiresKeyboardFocus", valueToBool (getPluginEditorNeedsKeyFocus (project))); flags.set ("JucePlugin_Version", project.getVersionString()); - flags.set ("JucePlugin_VersionCode", project.getVersionAsHex()); + flags.set ("JucePlugin_VersionCode", project.getVersionAsDecimal()); flags.set ("JucePlugin_VersionString", project.getVersionString().quoted()); flags.set ("JucePlugin_VSTUniqueID", "JucePlugin_PluginCode"); flags.set ("JucePlugin_VSTCategory", static_cast (getPluginIsSynth (project).getValue()) ? "kPlugCategSynth" : "kPlugCategEffect"); diff --git a/extras/Introjucer/Source/Project/jucer_Project.cpp b/extras/Introjucer/Source/Project/jucer_Project.cpp index 23bd17ef3c..a6e4fad344 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.cpp +++ b/extras/Introjucer/Source/Project/jucer_Project.cpp @@ -382,12 +382,18 @@ void Project::createPropertyEditors (PropertyListBuilder& props) "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); } -String Project::getVersionAsHex() const +static StringArray getConfigs (const Project& p) { StringArray configs; - configs.addTokens (getVersionString(), ",.", String::empty); + configs.addTokens (p.getVersionString(), ",.", String::empty); configs.trim(); configs.removeEmptyStrings(); + return configs; +} + +String Project::getVersionAsHex() const +{ + const StringArray configs (getConfigs (*this)); int value = (configs[0].getIntValue() << 16) + (configs[1].getIntValue() << 8) + configs[2].getIntValue(); @@ -397,6 +403,18 @@ String Project::getVersionAsHex() const return "0x" + String::toHexString (value); } +String Project::getVersionAsDecimal() const +{ + const StringArray configs (getConfigs (*this)); + + int value = (configs[0].getIntValue() * 100) + (configs[1].getIntValue() * 10) + configs[2].getIntValue(); + + if (configs.size() >= 4) + value = (value * 10) + configs[3].getIntValue(); + + return String (value); +} + StringPairArray Project::getPreprocessorDefs() const { return parsePreprocessorDefs (projectRoot [Ids::defines]); diff --git a/extras/Introjucer/Source/Project/jucer_Project.h b/extras/Introjucer/Source/Project/jucer_Project.h index 3963a30895..415b299bf2 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.h +++ b/extras/Introjucer/Source/Project/jucer_Project.h @@ -83,6 +83,7 @@ public: Value getVersionValue() { return getProjectValue (Ids::version); } String getVersionString() const { return projectRoot [Ids::version]; } String getVersionAsHex() const; + String getVersionAsDecimal() const; Value getBundleIdentifier() { return getProjectValue (Ids::bundleIdentifier); } String getDefaultBundleIdentifier() { return "com.yourcompany." + CodeHelpers::makeValidIdentifier (getTitle(), false, true, false); } diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index 7f97613707..1ba71288dc 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -1862,8 +1862,8 @@ private: while (v != 0) { - versionBits [n++] = (v & 0xff); - v >>= 8; + versionBits [n++] = v % 10; + v /= 10; } s << 'V';