diff --git a/extras/audio plugin demo/Builds/Linux/Makefile b/extras/audio plugin demo/Builds/Linux/Makefile index 2e07dd3cec..72e4751e38 100644 --- a/extras/audio plugin demo/Builds/Linux/Makefile +++ b/extras/audio plugin demo/Builds/Linux/Makefile @@ -56,6 +56,7 @@ OBJECTS := \ $(OBJDIR)/juce_graphics_f9afc18.o \ $(OBJDIR)/juce_gui_basics_90929794.o \ $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ + $(OBJDIR)/juce_PluginUtilities_65545a8.o \ $(OBJDIR)/juce_VST_Wrapper_8aa348b1.o \ .PHONY: clean @@ -142,6 +143,11 @@ $(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/juce_PluginUtilities_65545a8.o: ../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_PluginUtilities.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/juce_VST_Wrapper_8aa348b1.o: ../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_VST_Wrapper.cpp" diff --git a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj index 0503ef5df8..29c934c966 100644 --- a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj +++ b/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj @@ -55,6 +55,7 @@ FA531AB0CE4F5AA5C7073CE8 = { isa = PBXBuildFile; fileRef = 87755AF25BF68EE19666A135; }; 3288574B40AF43AA1AA5FAD0 = { isa = PBXBuildFile; fileRef = 443C241B66AD431E05D3A2AD; }; C2E42AA4FA74BE14DDE5573B = { isa = PBXBuildFile; fileRef = B2067C8614967BECF8B198D1; }; + 4AA70EFD3AFDBF659834318F = { isa = PBXBuildFile; fileRef = 8C0D1A1E000E47D09B771963; }; E01E4438B2F0F3C3CE4F5240 = { isa = PBXBuildFile; fileRef = 9C9DEB7FB75C42C4F47AF999; settings = {COMPILER_FLAGS = "-w"; }; }; 7732BED2285AE6572CC2BF11 = { isa = PBXBuildFile; fileRef = F7454AD16EE05969CCF5FD7C; settings = {COMPILER_FLAGS = "-w"; }; }; C99CF7958D391CB2F97CC5F8 = { isa = PBXBuildFile; fileRef = 2D4B766DA1C66FA2857D80F7; settings = {COMPILER_FLAGS = "-w"; }; }; @@ -538,6 +539,7 @@ 8AEC8C684E53D6E14FC97605 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 8B184C08A51AA14F56E42152 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.h; sourceTree = "DEVELOPER_DIR"; }; 8BBD921B5A82DB52E6842A1B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 8C0D1A1E000E47D09B771963 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C1A068D665727680931F85C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 8D9F2E08F3381BE4A60F28C4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 8E215890DCA3641D4B8FCE6A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -652,7 +654,6 @@ ACC4E765AD4BF1D025FB4E83 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; AD33682668F35136E9195684 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; AD4C568CF5706BEDBE181243 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - AE3318FE584B5928D1F10897 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; AE3C497B58239EA75FD18AD9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; AEE273E29C5B07B96BAFFA46 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; B0381BEAE259ABDDE18A64B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -681,12 +682,14 @@ BBBE74C4A9FA85B5F29FF346 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BC369095BAEED8707D12F63B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = Extras/CoreAudio/PublicUtility/CAStreamBasicDescription.cpp; sourceTree = "DEVELOPER_DIR"; }; BCE8039887ABB9343A257AFC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + BD1EC91E61ECEAB657C78D5C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; BF9246177C0D98297F4228E1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; C37123DA8D32C1B6FC09FFF2 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 63F8022F081E22DFFFCAC998 = { isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; AB0E8347C9AC7E4A861C0252 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; ACD46CD092A8EC640448BD70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AD7E9320CE88BADD17DA949C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE3318FE584B5928D1F10897 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; AF14FDB3693F569F275C1A8C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; B2B54E113A80EC53D5D71A38 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B532D9954FB106B6095AE0C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -696,7 +699,6 @@ BBECA9EB9DD3C9B6CB04B10A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; BBF88983012D33EFEF11EA81 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; BCB54D2E4C0C3357DACFD29B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - BD1EC91E61ECEAB657C78D5C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; BDB897B2503C29D7ABDDB656 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; BE840C441E0B5AA5C8B2AB1E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; BF0AB490EC0556BE60CDA25A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1081,7 +1083,8 @@ 58CEA1474B2E77B7287D735B, 2FADC0AA0043A3C87DF25E0D, 3C6E8B705C53294638807FC4, - 841B6783475386C5471CA039 ); name = utility; sourceTree = ""; }; + 841B6783475386C5471CA039, + 8C0D1A1E000E47D09B771963 ); name = utility; sourceTree = ""; }; 09C66663E0BF7CD43C73C7E6 = { isa = PBXGroup; children = ( E96D0837CDD1CE8B768E4077, 4E83A3689ABB09F285F6FB2C, @@ -1948,6 +1951,7 @@ 87755AF25BF68EE19666A135, 443C241B66AD431E05D3A2AD, B2067C8614967BECF8B198D1, + 8C0D1A1E000E47D09B771963, 9C9DEB7FB75C42C4F47AF999, F7454AD16EE05969CCF5FD7C, 2D4B766DA1C66FA2857D80F7, @@ -2105,6 +2109,7 @@ FA531AB0CE4F5AA5C7073CE8, 3288574B40AF43AA1AA5FAD0, C2E42AA4FA74BE14DDE5573B, + 4AA70EFD3AFDBF659834318F, E01E4438B2F0F3C3CE4F5240, 7732BED2285AE6572CC2BF11, C99CF7958D391CB2F97CC5F8, diff --git a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj b/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj index ce04174d60..27c6471e70 100644 --- a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj +++ b/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj @@ -4180,6 +4180,7 @@ + + - #endif - - #if JucePlugin_Build_VST - extern void __stdcall DllMainVST (HINSTANCE, DWORD); - #endif - - #if JucePlugin_Build_AAX - extern void __stdcall DllMainAAX (HINSTANCE, DWORD); - #endif - - extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID reserved) - { - (void) reserved; - - #if JucePlugin_Build_VST - DllMainVST (instance, reason); - #endif - - #if JucePlugin_Build_AAX - DllMainAAX (instance, reason); - #endif - - #if JucePlugin_Build_RTAS - if (GetModuleHandleA ("DAE.DLL") != 0) - return DllMainRTAS (instance, reason, reserved); - #endif - - return TRUE; - } -#endif diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp index 964d15df19..60a636c9b2 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp @@ -1535,12 +1535,6 @@ namespace return (int) pluginEntryPoint (audioMaster); } #endif - - void __stdcall DllMainVST (HINSTANCE instance, DWORD reason) - { - if (reason == DLL_PROCESS_ATTACH) - Process::setCurrentModuleInstanceHandle (instance); - } #endif #endif diff --git a/modules/juce_audio_plugin_client/juce_module_info b/modules/juce_audio_plugin_client/juce_module_info index 5146dd25af..d2b3e62aa2 100644 --- a/modules/juce_audio_plugin_client/juce_module_info +++ b/modules/juce_audio_plugin_client/juce_module_info @@ -25,7 +25,8 @@ { "file": "AU/juce_AU_Resources.r", "target": "xcode" }, { "file": "AU/juce_AU_Wrapper.mm", "target": "xcode" }, { "file": "AAX/juce_AAX_Wrapper.cpp", "target": "xcode, msvc" }, - { "file": "AAX/juce_AAX_Wrapper.mm", "target": "xcode" } + { "file": "AAX/juce_AAX_Wrapper.mm", "target": "xcode" }, + { "file": "utility/juce_PluginUtilities.cpp" } ], "browse": [ "AU/*.cpp", diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp new file mode 100644 index 0000000000..99c046b6d4 --- /dev/null +++ b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp @@ -0,0 +1,59 @@ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-11 by Raw Material Software Ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the GNU General + Public License (Version 2), as published by the Free Software Foundation. + A copy of the license is included in the JUCE distribution, or can be found + online at www.gnu.org/licenses. + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.rawmaterialsoftware.com/juce for more information. + + ============================================================================== +*/ + +#if _MSC_VER +#include + +// Your project must contain an AppConfig.h file with your project-specific settings in it, +// and your header search path must make it accessible to the module's files. +#include "AppConfig.h" + +#include "../utility/juce_CheckSettingMacros.h" +#include "juce_IncludeModuleHeaders.h" + +#if JucePlugin_Build_RTAS + extern "C" BOOL WINAPI DllMainRTAS (HINSTANCE, DWORD, LPVOID); +#endif + +extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID reserved) +{ + if (reason == DLL_PROCESS_ATTACH) + Process::setCurrentModuleInstanceHandle (instance); + + #if JucePlugin_Build_RTAS + if (GetModuleHandleA ("DAE.DLL") != 0) + { + #if JucePlugin_Build_AAX + if (! File::getSpecialLocation (File::currentExecutableFile).extentionMatches ("aax")) + #endif + return DllMainRTAS (instance, reason, reserved); + } + #endif + + (void) reserved; + return TRUE; +} + +#endif diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index bba816bb37..ba618fe975 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -1009,7 +1009,7 @@ void VSTPluginInstance::processBlock (AudioSampleBuffer& buffer, MidiBuffer& mid AudioPlayHead::CurrentPositionInfo position; playHead->getCurrentPosition (position); - vstHostTime.samplePos = position.timeInSamples; + vstHostTime.samplePos = (double) position.timeInSamples; vstHostTime.tempo = position.bpm; vstHostTime.timeSigNumerator = position.timeSigNumerator; vstHostTime.timeSigDenominator = position.timeSigDenominator; diff --git a/modules/juce_gui_basics/widgets/juce_Slider.cpp b/modules/juce_gui_basics/widgets/juce_Slider.cpp index df5033b2c5..33a2acac97 100644 --- a/modules/juce_gui_basics/widgets/juce_Slider.cpp +++ b/modules/juce_gui_basics/widgets/juce_Slider.cpp @@ -1572,6 +1572,3 @@ void Slider::mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel if (! (isEnabled() && pimpl->mouseWheelMove (e, wheel))) Component::mouseWheelMove (e, wheel); } - -void SliderListener::sliderDragStarted (Slider*) {} // (can't write Slider::Listener due to idiotic VC2005 bug) -void SliderListener::sliderDragEnded (Slider*) {} diff --git a/modules/juce_gui_basics/widgets/juce_Slider.h b/modules/juce_gui_basics/widgets/juce_Slider.h index b0e3b35184..8c4b88e039 100644 --- a/modules/juce_gui_basics/widgets/juce_Slider.h +++ b/modules/juce_gui_basics/widgets/juce_Slider.h @@ -88,7 +88,6 @@ public: }; /** The position of the slider's text-entry box. - @see setTextBoxStyle */ enum TextEntryBoxPosition @@ -111,8 +110,7 @@ public: */ explicit Slider (const String& componentName); - /** Creates a slider with some explicit options. - */ + /** Creates a slider with some explicit options. */ Slider (SliderStyle style, TextEntryBoxPosition textBoxPosition); /** Destructor. */ @@ -505,7 +503,7 @@ public: @see Slider::addListener, Slider::removeListener */ - class JUCE_API Listener + class Listener { public: //============================================================================== @@ -533,13 +531,12 @@ public: @see sliderDragEnded, Slider::startedDragging */ - virtual void sliderDragStarted (Slider* slider); + virtual void sliderDragStarted (Slider*) {} /** Called after a drag operation has finished. - @see sliderDragStarted, Slider::stoppedDragging */ - virtual void sliderDragEnded (Slider* slider); + virtual void sliderDragEnded (Slider*) {} }; /** Adds a listener to be called when this slider's value changes. */ diff --git a/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h b/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h index 2794c18568..a51907ac0a 100644 --- a/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h +++ b/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h @@ -23,7 +23,13 @@ ============================================================================== */ -/** Some basic functions for simple tokenising of C++ code. */ +#ifndef __JUCE_CPLUSPLUSCODETOKENISERFUNCTIONS_JUCEHEADER__ +#define __JUCE_CPLUSPLUSCODETOKENISERFUNCTIONS_JUCEHEADER__ + + +//============================================================================== +/** Class containing some basic functions for simple tokenising of C++ code. +*/ struct CppTokeniserFunctions { static bool isIdentifierStart (const juce_wchar c) noexcept @@ -531,7 +537,9 @@ struct CppTokeniserFunctions return result; } - /** A class that the tokeniser can use to parse a string. */ + /** A class that can be passed to the CppTokeniserFunctions functions in order to + parse a String. + */ struct StringIterator { StringIterator (const String& s) noexcept : t (s.getCharPointer()), numChars (0) {} @@ -548,3 +556,6 @@ struct CppTokeniserFunctions int numChars; }; }; + + +#endif // __JUCE_CPLUSPLUSCODETOKENISERFUNCTIONS_JUCEHEADER__ diff --git a/modules/juce_gui_extra/juce_gui_extra.h b/modules/juce_gui_extra/juce_gui_extra.h index 6c4f0346ea..875511b251 100644 --- a/modules/juce_gui_extra/juce_gui_extra.h +++ b/modules/juce_gui_extra/juce_gui_extra.h @@ -58,6 +58,9 @@ namespace juce #ifndef __JUCE_CPLUSPLUSCODETOKENISER_JUCEHEADER__ #include "code_editor/juce_CPlusPlusCodeTokeniser.h" #endif +#ifndef __JUCE_CPLUSPLUSCODETOKENISERFUNCTIONS_JUCEHEADER__ + #include "code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" +#endif #ifndef __JUCE_ACTIVEXCONTROLCOMPONENT_JUCEHEADER__ #include "embedding/juce_ActiveXControlComponent.h" #endif