diff --git a/source/modules/juce_audio_processors/Makefile b/source/modules/juce_audio_processors/Makefile index f5629bffa..058febcc2 100644 --- a/source/modules/juce_audio_processors/Makefile +++ b/source/modules/juce_audio_processors/Makefile @@ -15,6 +15,7 @@ ifeq ($(CARLA_VESTIGE_HEADER),true) BUILD_CXX_FLAGS += -DVESTIGE_HEADER else # needed by vst3 +BUILD_CXX_FLAGS += -DUNICODE_OFF -fpermissive ifeq ($(DEBUG),true) BUILD_CXX_FLAGS += -DDEVELOPMENT -D_DEBUG else diff --git a/source/modules/juce_audio_processors/format_types/juce_VST3Common.h b/source/modules/juce_audio_processors/format_types/juce_VST3Common.h index 8b4a4ad60..34fb1a369 100644 --- a/source/modules/juce_audio_processors/format_types/juce_VST3Common.h +++ b/source/modules/juce_audio_processors/format_types/juce_VST3Common.h @@ -27,8 +27,8 @@ //============================================================================== #define JUCE_DECLARE_VST3_COM_REF_METHODS \ - Steinberg::uint32 JUCE_CALLTYPE addRef() override { return (Steinberg::uint32) ++refCount; } \ - Steinberg::uint32 JUCE_CALLTYPE release() override { const int r = --refCount; if (r == 0) delete this; return (Steinberg::uint32) r; } + Steinberg::uint32 PLUGIN_API JUCE_CALLTYPE addRef() override { return (Steinberg::uint32) ++refCount; } \ + Steinberg::uint32 PLUGIN_API JUCE_CALLTYPE release() override { const int r = --refCount; if (r == 0) delete this; return (Steinberg::uint32) r; } #define JUCE_DECLARE_VST3_COM_QUERY_METHODS \ Steinberg::tresult PLUGIN_API JUCE_CALLTYPE queryInterface (const Steinberg::TUID, void** obj) override \ diff --git a/source/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp b/source/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp index 55361fc2a..57a4c713c 100644 --- a/source/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +++ b/source/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp @@ -451,7 +451,7 @@ public: tresult PLUGIN_API getName (Vst::String128 name) override { Steinberg::String str (appName.toUTF8()); - str.copyTo (name, 0, 127); + str.copyTo16 (name, 0, 127); return kResultOk; } @@ -685,7 +685,7 @@ private: if (fetchValueForId (id, stringToFetch)) { Steinberg::String str (stringToFetch.toRawUTF8()); - str.copyTo (result, 0, (Steinberg::int32) jmin (length, (Steinberg::uint32) std::numeric_limits::max())); + str.copyTo16 (result, 0, (Steinberg::int32) jmin (length, (Steinberg::uint32) std::numeric_limits::max())); return kResultTrue; }