Browse Source

New class: ThreadLocalValue.

tags/2021-05-28
jules 13 years ago
parent
commit
43d9a4eb16
53 changed files with 204 additions and 20 deletions
  1. +2
    -0
      extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj
  2. +1
    -0
      extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj
  3. +1
    -0
      extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj
  4. +1
    -0
      extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj
  5. +3
    -0
      extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters
  6. +2
    -0
      extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj
  7. +1
    -0
      extras/JuceDemo/Builds/VisualStudio2005/Juce Demo.vcproj
  8. +1
    -0
      extras/JuceDemo/Builds/VisualStudio2008/Juce Demo.vcproj
  9. +1
    -0
      extras/JuceDemo/Builds/VisualStudio2010/Juce Demo.vcxproj
  10. +3
    -0
      extras/JuceDemo/Builds/VisualStudio2010/Juce Demo.vcxproj.filters
  11. +2
    -0
      extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj
  12. +2
    -0
      extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
  13. +1
    -0
      extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj
  14. +1
    -0
      extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
  15. +2
    -0
      extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
  16. +1
    -0
      extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj
  17. +1
    -0
      extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj
  18. +2
    -0
      extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj
  19. +1
    -0
      extras/binarybuilder/Builds/VisualStudio2008/BinaryBuilder.vcproj
  20. +2
    -0
      extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj
  21. +1
    -0
      extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj
  22. +1
    -0
      extras/example projects/Builds/VisualStudio2008/HelloWorld.vcproj
  23. +2
    -0
      extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj
  24. +2
    -0
      extras/static library/Builds/MacOSX/juce.xcodeproj/project.pbxproj
  25. +1
    -0
      extras/static library/Builds/VisualStudio2008/juce.vcproj
  26. +1
    -0
      extras/static library/Builds/VisualStudio2010/juce.vcxproj
  27. +3
    -0
      extras/static library/Builds/VisualStudio2010/juce.vcxproj.filters
  28. +2
    -0
      extras/the jucer/Builds/MacOSX/Jucer.xcodeproj/project.pbxproj
  29. +1
    -0
      extras/the jucer/Builds/VisualStudio2008/Jucer.vcproj
  30. +1
    -0
      extras/the jucer/Builds/VisualStudio2010/Jucer.vcxproj
  31. +3
    -0
      extras/the jucer/Builds/VisualStudio2010/Jucer.vcxproj.filters
  32. +1
    -1
      modules/juce_audio_basics/juce_module_info
  33. +1
    -1
      modules/juce_audio_devices/juce_module_info
  34. +0
    -1
      modules/juce_audio_formats/format/juce_AudioFormatManager.cpp
  35. +1
    -1
      modules/juce_audio_formats/juce_module_info
  36. +1
    -1
      modules/juce_audio_plugin_client/juce_module_info
  37. +1
    -1
      modules/juce_audio_processors/juce_module_info
  38. +1
    -1
      modules/juce_audio_utils/juce_module_info
  39. +1
    -1
      modules/juce_browser_plugin/juce_module_info
  40. +3
    -0
      modules/juce_core/juce_core.h
  41. +1
    -1
      modules/juce_core/juce_module_info
  42. +1
    -1
      modules/juce_core/system/juce_StandardHeader.h
  43. +135
    -0
      modules/juce_core/threads/juce_ThreadLocalValue.h
  44. +1
    -1
      modules/juce_cryptography/juce_module_info
  45. +1
    -1
      modules/juce_data_structures/juce_module_info
  46. +1
    -1
      modules/juce_events/juce_module_info
  47. +1
    -1
      modules/juce_graphics/juce_module_info
  48. +1
    -1
      modules/juce_gui_basics/juce_module_info
  49. +1
    -1
      modules/juce_gui_extra/juce_module_info
  50. +1
    -1
      modules/juce_opengl/juce_module_info
  51. +0
    -1
      modules/juce_opengl/opengl/juce_OpenGLImage.cpp
  52. +0
    -1
      modules/juce_opengl/opengl/juce_OpenGLTexture.cpp
  53. +1
    -1
      modules/juce_video/juce_module_info

+ 2
- 0
extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj View File

@@ -639,6 +639,7 @@
D526C38D581425949BA0E4AC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
D53B54D1786A1FFC024BF064 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
D5A6D00DEFDC650AF432A698 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_gui_basics/application/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
D678882D133090214AF681BC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
D6C91E2BF537F75A80F5C1DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; };
D75EAC16FAECCC51E3669193 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
D780ED33573AED5AD383A036 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
@@ -912,6 +913,7 @@
75EB08697D38632CCBE734D8,
541BCBB19A86B7E793D397CC,
E2C1C995D554A3F0A363CE58,
D678882D133090214AF681BC,
6736FDF36413E6445C526C86,
78B148C840109794FED89FAB,
32D9A904B4186B64A61FA8CC,


+ 1
- 0
extras/Introjucer/Builds/VisualStudio2005/The Introjucer.vcproj View File

@@ -589,6 +589,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/Introjucer/Builds/VisualStudio2008/The Introjucer.vcproj View File

@@ -589,6 +589,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj View File

@@ -1059,6 +1059,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>


+ 3
- 0
extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters View File

@@ -1512,6 +1512,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>


+ 2
- 0
extras/JuceDemo/Builds/MacOSX/Juce Demo.xcodeproj/project.pbxproj View File

@@ -446,6 +446,7 @@
6B0F3AF3FE7B113C33112897 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
6BBB8746C2C1BB5F3C3F1FC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
6BBE4F2809E2AE0FE445302C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
6BD99638187A39ABC44DCBA0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
6C608B44E265F761D09C91CB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
6C956B90C1BB1217BF02F0D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
6CC2241F234EDD873FD5BDC7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -1238,6 +1239,7 @@
A6073115FE5E1E635C78DDFE,
19789C9C8EDD3CC9F37592C3,
B6B93A495D82478E99956AD7,
6BD99638187A39ABC44DCBA0,
070230F8B36CFD14E7EEAD71,
E48615F1F7D8213F6DC24FC9,
C2D1EE14670950990F0769B7,


+ 1
- 0
extras/JuceDemo/Builds/VisualStudio2005/Juce Demo.vcproj View File

@@ -1345,6 +1345,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/JuceDemo/Builds/VisualStudio2008/Juce Demo.vcproj View File

@@ -1345,6 +1345,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/JuceDemo/Builds/VisualStudio2010/Juce Demo.vcxproj View File

@@ -1338,6 +1338,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>


+ 3
- 0
extras/JuceDemo/Builds/VisualStudio2010/Juce Demo.vcxproj.filters View File

@@ -2013,6 +2013,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>


+ 2
- 0
extras/JuceDemo/Builds/iOS/Juce Demo.xcodeproj/project.pbxproj View File

@@ -437,6 +437,7 @@
6B0F3AF3FE7B113C33112897 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
6BBB8746C2C1BB5F3C3F1FC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
6BBE4F2809E2AE0FE445302C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
6BD99638187A39ABC44DCBA0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
6C608B44E265F761D09C91CB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
6C956B90C1BB1217BF02F0D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
6CC2241F234EDD873FD5BDC7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -1228,6 +1229,7 @@
A6073115FE5E1E635C78DDFE,
19789C9C8EDD3CC9F37592C3,
B6B93A495D82478E99956AD7,
6BD99638187A39ABC44DCBA0,
070230F8B36CFD14E7EEAD71,
E48615F1F7D8213F6DC24FC9,
C2D1EE14670950990F0769B7,


+ 2
- 0
extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj View File

@@ -638,6 +638,7 @@
B829B4BAE71C6F09169542B8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
B8B25605AB1A04A8AE545227 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
B8B760CB559864834CC9AB32 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
B9BDF0A1E699EA2D3549664E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
B9BE6469604B9D3252EFA7E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
BAF34E1248A8D20DDA992AFD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; };
BB1148DE7477E7B58ABD2B95 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
@@ -1162,6 +1163,7 @@
07FBBCECF4C212D67AD71FFD,
59968E95CF78A0E8A03B1DA1,
D8F9FCA9940730EDBD37CD80,
B9BDF0A1E699EA2D3549664E,
5B1856ED91BE34FECEF71882,
014D028CBF01E01B77B47189,
DFDEE243F607A7A7C2762D41,


+ 1
- 0
extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj View File

@@ -1294,6 +1294,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj View File

@@ -1294,6 +1294,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 2
- 0
extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj View File

@@ -592,6 +592,7 @@
A6C1DF1F0A364CE60B59B34D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
A6F318DE812F2D620EF66C76 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
A765E6FBF39366D0A40E1ECA = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
A813861C1082866ED9E9F83C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
A8544FC5863CEBB41807B946 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
AA668D8E33AD917D7DFC70E2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
AA7350771ED17561EB915EED = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
@@ -1160,6 +1161,7 @@
6EEACEE1071D58DA155DC87E,
0C339E5B52835F87ABD2BF95,
0E8A874AB7E4971D90F58004,
A813861C1082866ED9E9F83C,
DD53156BA824889FD7DF52D2,
D795067D4EFB5A34BC383250,
ACC266EC4CC8CCD368FA9E7D,


+ 1
- 0
extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj View File

@@ -1268,6 +1268,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj View File

@@ -1268,6 +1268,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 2
- 0
extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj View File

@@ -64,6 +64,7 @@
5C3BCD09CD3AD887041C5E8D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
5F833FAB1A331DB46476C0EE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
640CDE85F8E03D80FB5610DC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
64C54E1E625AEA86E3231070 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
64ED92C7E1127452F174A2F9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
65BED5E9B981623309868FB5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
69183575FCA4C1CC38032A51 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
@@ -275,6 +276,7 @@
D382823C1F24883BFA9E466E,
A90A8090D3D01B7595120896,
24E7F8677EB0BDA5D62976F7,
64C54E1E625AEA86E3231070,
71ACB1F2FB606C384DACE55B,
3CC375E8CCC0987FAE0B40BE,
4B091BB2828A638ED469FF85,


+ 1
- 0
extras/binarybuilder/Builds/VisualStudio2008/BinaryBuilder.vcproj View File

@@ -387,6 +387,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 2
- 0
extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj View File

@@ -459,6 +459,7 @@
B5880B8DE2B7362EF263D82A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
B5D117435CCB80BF33D4AD00 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
B63040F76DC9E9F5256AC022 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
B6AC99C26F679771A2F942B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
B6C28B2DAE4802FA291E3487 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
B6C345F16BFAD37B64A5605A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
B78154B28539A2E8152D2B9C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
@@ -714,6 +715,7 @@
832D1429ADEE1B07AB3693A3,
62DF24F1C7E14730CDA3F27B,
0CE43A8B78FB46CE63C0AB6A,
B6AC99C26F679771A2F942B5,
9FBFACCA56589CDCC3D78F0E,
65DBA30ACD7C6156850F1F4E,
6603F93CB38F0E7BEB779A9D,


+ 1
- 0
extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj View File

@@ -389,6 +389,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/example projects/Builds/VisualStudio2008/HelloWorld.vcproj View File

@@ -389,6 +389,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 2
- 0
extras/example projects/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj View File

@@ -457,6 +457,7 @@
B5880B8DE2B7362EF263D82A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
B5D117435CCB80BF33D4AD00 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
B63040F76DC9E9F5256AC022 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
B6AC99C26F679771A2F942B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
B6C28B2DAE4802FA291E3487 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
B6C345F16BFAD37B64A5605A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
B78154B28539A2E8152D2B9C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
@@ -714,6 +715,7 @@
832D1429ADEE1B07AB3693A3,
62DF24F1C7E14730CDA3F27B,
0CE43A8B78FB46CE63C0AB6A,
B6AC99C26F679771A2F942B5,
9FBFACCA56589CDCC3D78F0E,
65DBA30ACD7C6156850F1F4E,
6603F93CB38F0E7BEB779A9D,


+ 2
- 0
extras/static library/Builds/MacOSX/juce.xcodeproj/project.pbxproj View File

@@ -350,6 +350,7 @@
69A2D931797D6874C7A5E38E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; };
69BF80CDD6A1A074F69A8B43 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; };
6A0693D05618ED90A36763E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
6A6977EBA7FA2F99E6319BAF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
6A9A0038C8C0D99CC0617252 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
6B6297F7D4B238AFCC443AD4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
6B64E04213CAC7A2D63C6601 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -1079,6 +1080,7 @@
F687E441210FEB4EEFB0CC33,
697B3FD1E65312EB6CF43207,
737A92AF4D1A15FAF9B399C4,
6A6977EBA7FA2F99E6319BAF,
20BEC253199F5AC74DB5199E,
0541C7E0E6D0981F7CE057BF,
7D7F41DAEC269A1DC73B3BF6,


+ 1
- 0
extras/static library/Builds/VisualStudio2008/juce.vcproj View File

@@ -1159,6 +1159,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/static library/Builds/VisualStudio2010/juce.vcxproj View File

@@ -1284,6 +1284,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>


+ 3
- 0
extras/static library/Builds/VisualStudio2010/juce.vcxproj.filters View File

@@ -1848,6 +1848,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>


+ 2
- 0
extras/the jucer/Builds/MacOSX/Jucer.xcodeproj/project.pbxproj View File

@@ -360,6 +360,7 @@
6AC27B2485FCB68A2A99E6DC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
6ACD53EF8FCEC0EB983091DE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
6AEBA52E51DD10D81ABF4B6C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
6BE35308F433CB68D0B18FAE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
6C53350C78E06A5342B955EC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
6C7F29F70FA62B98B14FB776 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
6C83B7369C7BB91E5EC754F9 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
@@ -974,6 +975,7 @@
3BB5112E0620777F6F7366AA,
3E4377792A31E6BA418FD02D,
DC7F24486E7C5C9B60CEDB38,
6BE35308F433CB68D0B18FAE,
8CBAA0DE1F30C590E248CE92,
13A4BF57ECC22D11C092D84E,
12577080134C0C5D3F909D0A,


+ 1
- 0
extras/the jucer/Builds/VisualStudio2008/Jucer.vcproj View File

@@ -556,6 +556,7 @@
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">


+ 1
- 0
extras/the jucer/Builds/VisualStudio2010/Jucer.vcxproj View File

@@ -1062,6 +1062,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>


+ 3
- 0
extras/the jucer/Builds/VisualStudio2010/Jucer.vcxproj.filters View File

@@ -1587,6 +1587,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_Thread.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">
<Filter>Juce Modules\juce_core\threads</Filter>
</ClInclude>


+ 1
- 1
modules/juce_audio_basics/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_audio_basics",
"name": "JUCE audio and midi data classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_audio_devices/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_audio_devices",
"name": "JUCE audio and midi I/O device classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes to play and record from audio and midi i/o devices.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 0
- 1
modules/juce_audio_formats/format/juce_AudioFormatManager.cpp View File

@@ -23,7 +23,6 @@
==============================================================================
*/
AudioFormatManager::AudioFormatManager()
: defaultFormatIndex (0)
{


+ 1
- 1
modules/juce_audio_formats/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_audio_formats",
"name": "JUCE audio file format codecs",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for reading and writing various audio file formats.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_audio_plugin_client/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_audio_plugin_client",
"name": "JUCE audio plugin wrapper classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for building VST, RTAS and AU plugins.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_audio_processors/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_audio_processors",
"name": "JUCE audio plugin hosting classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for loading and playing VST, AU, or internally-generated audio processors.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_audio_utils/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_audio_utils",
"name": "JUCE extra audio utility classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for audio-related GUI and miscellaneous tasks.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_browser_plugin/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_browser_plugin_client",
"name": "JUCE browser plugin wrapper classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for building NPAPI and ActiveX browser plugins.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 3
- 0
modules/juce_core/juce_core.h View File

@@ -366,6 +366,9 @@ BEGIN_JUCE_NAMESPACE
#ifndef __JUCE_THREAD_JUCEHEADER__
#include "threads/juce_Thread.h"
#endif
#ifndef __JUCE_THREADLOCALVALUE_JUCEHEADER__
#include "threads/juce_ThreadLocalValue.h"
#endif
#ifndef __JUCE_THREADPOOL_JUCEHEADER__
#include "threads/juce_ThreadPool.h"
#endif


+ 1
- 1
modules/juce_core/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_core",
"name": "JUCE core classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_core/system/juce_StandardHeader.h View File

@@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 2
#define JUCE_MINOR_VERSION 0
#define JUCE_BUILDNUMBER 13
#define JUCE_BUILDNUMBER 14
/** Current Juce version number.


+ 135
- 0
modules/juce_core/threads/juce_ThreadLocalValue.h View File

@@ -0,0 +1,135 @@
/*
==============================================================================
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.
==============================================================================
*/
#ifndef __JUCE_THREADLOCALVALUE_JUCEHEADER__
#define __JUCE_THREADLOCALVALUE_JUCEHEADER__
//==============================================================================
/**
Provides cross-platform support for thread-local objects.
This class holds an internal list of objects of the templated type, keeping
an instance for each thread that requests one. The first time a thread attempts
to access its value, an object is created and added to the list for that thread.
The templated class for your value could be a primitive type, or any class that
has a default constructor.
Once a thread has accessed its object, that object will not be deleted until the
ThreadLocalValue object itself is deleted, even if its thread exits before that.
But, because thread ID numbers are used to identify threads, and OSes often re-use
these ID numbers, value objects will often be implicitly re-used by new threads whose
ID number is the same as one that was used by an earlier thread.
*/
template <typename Type>
class ThreadLocalValue
{
public:
/** */
ThreadLocalValue() noexcept
{
}
/** Destructor.
When this object is deleted, all the value objects for all threads will be deleted.
*/
~ThreadLocalValue()
{
for (ObjectHolder* o = first.value; o != nullptr;)
{
ObjectHolder* const next = o->next;
delete o;
o = next;
}
}
/** Returns a reference to this thread's instance of the value.
Note that the first time a thread tries to access the value, an instance of the
value object will be created - so if your value's class has a non-trivial
constructor, be aware that this method could invoke it.
*/
Type& operator*() const noexcept { return get(); }
/** Returns a pointer to this thread's instance of the value.
Note that the first time a thread tries to access the value, an instance of the
value object will be created - so if your value's class has a non-trivial
constructor, be aware that this method could invoke it.
*/
operator Type*() const noexcept { return &get(); }
/** Accesses a method or field of the value object.
Note that the first time a thread tries to access the value, an instance of the
value object will be created - so if your value's class has a non-trivial
constructor, be aware that this method could invoke it.
*/
Type* operator->() const noexcept { return &get(); }
/** Returns a reference to this thread's instance of the value.
Note that the first time a thread tries to access the value, an instance of the
value object will be created - so if your value's class has a non-trivial
constructor, be aware that this method could invoke it.
*/
Type& get() const noexcept
{
const Thread::ThreadID threadId = Thread::getCurrentThreadId();
for (ObjectHolder* o = first.get(); o != nullptr; o = o->next)
if (o->threadId == threadId)
return o->object;
ObjectHolder* const newObject = new ObjectHolder (threadId);
do
{
newObject->next = first.get();
}
while (! first.compareAndSetBool (newObject, newObject->next));
return newObject->object;
}
private:
//==============================================================================
struct ObjectHolder
{
ObjectHolder (const Thread::ThreadID& threadId_)
: threadId (threadId_), object()
{}
const Thread::ThreadID threadId;
ObjectHolder* next;
Type object;
JUCE_DECLARE_NON_COPYABLE (ObjectHolder);
};
mutable Atomic<ObjectHolder*> first;
JUCE_DECLARE_NON_COPYABLE (ThreadLocalValue);
};
#endif // __JUCE_THREADLOCALVALUE_JUCEHEADER__

+ 1
- 1
modules/juce_cryptography/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_cryptography",
"name": "JUCE cryptography classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_data_structures/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_data_structures",
"name": "JUCE data model helper classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for undo/redo management, and smart data structures.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_events/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_events",
"name": "JUCE message and event handling classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_graphics/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_graphics",
"name": "JUCE graphics classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_gui_basics/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_gui_basics",
"name": "JUCE GUI core classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Basic user-interface components and related classes.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_gui_extra/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_gui_extra",
"name": "JUCE extended GUI classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Miscellaneous GUI classes for specialised tasks.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 1
- 1
modules/juce_opengl/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_opengl",
"name": "JUCE OpenGL classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for rendering OpenGL in a JUCE window.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


+ 0
- 1
modules/juce_opengl/opengl/juce_OpenGLImage.cpp View File

@@ -23,7 +23,6 @@
==============================================================================
*/
class OpenGLFrameBufferImage : public ImagePixelData
{
public:


+ 0
- 1
modules/juce_opengl/opengl/juce_OpenGLTexture.cpp View File

@@ -23,7 +23,6 @@
==============================================================================
*/
OpenGLTexture::OpenGLTexture()
: textureID (0), width (0), height (0)
{


+ 1
- 1
modules/juce_video/juce_module_info View File

@@ -1,7 +1,7 @@
{
"id": "juce_video",
"name": "JUCE video playback and capture classes",
"version": "2.0.13",
"version": "2.0.14",
"description": "Classes for playing video and capturing camera input.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",


Loading…
Cancel
Save