From d543df6afff6268eb211161f57bf4471f463ff1b Mon Sep 17 00:00:00 2001 From: ed Date: Thu, 8 Nov 2018 09:13:22 +0000 Subject: [PATCH] Projucer: Sanitise Unity plug-in names when generating the C# script class name --- extras/Projucer/JuceLibraryCode/BinaryData.cpp | 6 +++--- extras/Projucer/JuceLibraryCode/BinaryData.h | 2 +- .../BinaryData/Templates/jucer_UnityPluginGUIScript.cs | 4 ++-- extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp index 4101ae5e8c..0f57656430 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.cpp +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -7288,7 +7288,7 @@ static const unsigned char temp_binary_data_55[] = "using System.Collections.Generic;\n" "using System.Runtime.InteropServices;\n" "\n" -"public class %%plugin_name%%GUI : IAudioEffectPluginGUI\n" +"public class %%plugin_class_name%%GUI : IAudioEffectPluginGUI\n" "{\n" " public override string Name { get { return \"%%plugin_name%%\"; } }\n" " public override string Description { get { return \"%%plugin_description%%\"; } }\n" @@ -7460,7 +7460,7 @@ static const unsigned char temp_binary_data_55[] = " }\n" "}\n" "\n" -"#endif"; +"#endif\n"; const char* jucer_UnityPluginGUIScript_cs = (const char*) temp_binary_data_55; @@ -7846,7 +7846,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) case 0xbc050edc: numBytes = 4926; return jucer_PIPAudioProcessorTemplate_h; case 0xf4ca9e9a: numBytes = 2447; return jucer_PIPMain_cpp; case 0x0b16e320: numBytes = 517; return jucer_PIPTemplate_h; - case 0xcd472557: numBytes = 6426; return jucer_UnityPluginGUIScript_cs; + case 0xcd472557: numBytes = 6433; return jucer_UnityPluginGUIScript_cs; case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; case 0x938e96ec: numBytes = 20; return nothingtoseehere_txt; diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h index 519c6bc71b..cad7d24f63 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.h +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -174,7 +174,7 @@ namespace BinaryData const int jucer_PIPTemplate_hSize = 517; extern const char* jucer_UnityPluginGUIScript_cs; - const int jucer_UnityPluginGUIScript_csSize = 6426; + const int jucer_UnityPluginGUIScript_csSize = 6433; extern const char* colourscheme_dark_xml; const int colourscheme_dark_xmlSize = 1050; diff --git a/extras/Projucer/Source/BinaryData/Templates/jucer_UnityPluginGUIScript.cs b/extras/Projucer/Source/BinaryData/Templates/jucer_UnityPluginGUIScript.cs index 1a47744a68..3b15b1f87e 100644 --- a/extras/Projucer/Source/BinaryData/Templates/jucer_UnityPluginGUIScript.cs +++ b/extras/Projucer/Source/BinaryData/Templates/jucer_UnityPluginGUIScript.cs @@ -6,7 +6,7 @@ using UnityEngine; using System.Collections.Generic; using System.Runtime.InteropServices; -public class %%plugin_name%%GUI : IAudioEffectPluginGUI +public class %%plugin_class_name%%GUI : IAudioEffectPluginGUI { public override string Name { get { return "%%plugin_name%%"; } } public override string Description { get { return "%%plugin_description%%"; } } @@ -178,4 +178,4 @@ public class %%plugin_name%%GUI : IAudioEffectPluginGUI } } -#endif \ No newline at end of file +#endif diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h index 616c227551..8f12b3a2f1 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h @@ -680,7 +680,8 @@ private: auto projectName = Project::addUnityPluginPrefixIfNecessary (project.getProjectNameString()); - unityScriptContents = unityScriptContents.replace ("%%plugin_name%%", projectName) + unityScriptContents = unityScriptContents.replace ("%%plugin_class_name%%", projectName.replace (" ", "_")) + .replace ("%%plugin_name%%", projectName) .replace ("%%plugin_vendor%%", project.getPluginManufacturerString()) .replace ("%%plugin_description%%", project.getPluginDescriptionString());