| @@ -777,6 +777,7 @@ | |||
| CD2AEFC254C92A49F2D5DA64 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CD9EDF2EE190AFB02CCC3F49 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE28146B186C11F00BCBBBBD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE3D514166A445127C90B8D7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE3DF5A017336CABFDD6926A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE66BAB575B13375E1EE937C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE882EE8C05AC3A809E41332 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -835,7 +836,7 @@ | |||
| E274BFB25D87D93EDBC23114 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E34B2BCD14634ED3BC9F5431 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E3D24CD61D75922457DB9642 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E48E2824CED9933934127522 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E48615F1F7D8213F6DC24FC9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E6448B3F03DD2B41519DF93D = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; | |||
| D119A3871626EC2B8EFCB0D4 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; | |||
| DEE1FC30E2FBB97921616CA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -848,7 +849,7 @@ | |||
| E3FC888CC9FAD650C469ACC5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E453E312D607E60FAA6D1BF0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E46977801F19277F4D3B324B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E48615F1F7D8213F6DC24FC9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E48E2824CED9933934127522 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E5DC4602843749A071B17576 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| E6B13A51A01032961340735D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| E6C582E67DC0C4D0CCA18166 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -1152,6 +1153,7 @@ | |||
| 47F1E35082ED332567F9C727, | |||
| 0D244B27274E1E7AB434C32B, | |||
| 38022D22AE783472BA32DF82, | |||
| CE3D514166A445127C90B8D7, | |||
| D2F7081BE9A6E24BA7CD1A46, | |||
| 86A52913E895EFD9C4D43D04, | |||
| 1D3DA514A7B46A2A32A32060, | |||
| @@ -1054,6 +1054,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -1054,6 +1054,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -1279,6 +1279,7 @@ | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/> | |||
| @@ -1830,6 +1830,9 @@ | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"> | |||
| <Filter>Juce Modules\juce_audio_utils\gui</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"> | |||
| <Filter>Juce Modules\juce_audio_utils\gui</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.h"> | |||
| <Filter>Juce Modules\juce_audio_utils\gui</Filter> | |||
| </ClInclude> | |||
| @@ -769,6 +769,7 @@ | |||
| CD2AEFC254C92A49F2D5DA64 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| CD9EDF2EE190AFB02CCC3F49 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE28146B186C11F00BCBBBBD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE3D514166A445127C90B8D7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE3DF5A017336CABFDD6926A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE66BAB575B13375E1EE937C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| CE882EE8C05AC3A809E41332 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -1144,6 +1145,7 @@ | |||
| 47F1E35082ED332567F9C727, | |||
| 0D244B27274E1E7AB434C32B, | |||
| 38022D22AE783472BA32DF82, | |||
| CE3D514166A445127C90B8D7, | |||
| D2F7081BE9A6E24BA7CD1A46, | |||
| 86A52913E895EFD9C4D43D04, | |||
| 1D3DA514A7B46A2A32A32060, | |||
| @@ -204,6 +204,7 @@ | |||
| 2956FA046400383FC705C1CE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| 29917AAA580F21BF2798D071 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 29BA2BABEFBB624A9EEE83F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2A073A793701BE742D5D8CA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2AA4939A70E1E1D6B907DA87 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2AA92DC1171DAF0BA4BB0E63 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 2B2D54521D69CF4407471A56 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp; sourceTree = "DEVELOPER_DIR"; }; | |||
| @@ -535,7 +536,6 @@ | |||
| 8E40EB375F5C4AE1651F3E49 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 8E6F287CAEE4C6BA50E8E390 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 8E815C1193352E861B9C48BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 8E8EF7A3035A5F657E18814C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 8EB324480D60B3E3A81541E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| 8EBA0860E71D6BE24A7B814B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 8EBE02D4EB0AEDC03E88FBC4 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -648,47 +648,48 @@ | |||
| AEE273E29C5B07B96BAFFA46 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; 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"; }; | |||
| B0381BEAE259ABDDE18A64B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B1426528BB892D5736D80404 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B2067C8614967BECF8B198D1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| B23CBCBBD05E21AEA76FB9E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B2686DED597A081F237B1B1D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B287E8FA86ED37F618F0ABC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B34E109560D77640B7648C4D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B2B54E113A80EC53D5D71A38 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | |||
| B43E810ABF9939F0F6E76318 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B45645B3B2E19FB1D72B91B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B57C430D154C1C86350F246A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; 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"; }; | |||
| B5406E636D4CF8285721DCF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B57D00796D30ECB2DE58035F = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | |||
| B5FF7C5554FC26100CB08626 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B72762B6ACA5F73EF9F0A220 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B7F3E4AF0F482E9F6EAF6C41 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 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"; }; | |||
| BA98346EFD1037285E245CC9 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; | |||
| 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"; }; | |||
| 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"; }; | |||
| BDB897B2503C29D7ABDDB656 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.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"; }; | |||
| 8E8EF7A3035A5F657E18814C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| 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"; }; | |||
| B2B54E113A80EC53D5D71A38 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; | |||
| B1426528BB892D5736D80404 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B2067C8614967BECF8B198D1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; | |||
| B318D50696B303889BDCF072 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIEffectBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.h; sourceTree = "DEVELOPER_DIR"; }; | |||
| B532D9954FB106B6095AE0C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B5406E636D4CF8285721DCF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B34E109560D77640B7648C4D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B57C430D154C1C86350F246A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B6938F0B102875B8B0BEBC44 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 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"; }; | |||
| 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"; }; | |||
| BB84A0B296CFBF17FAF145B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| BBBE74C4A9FA85B5F29FF346 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| 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"; }; | |||
| BC369095BAEED8707D12F63B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = Extras/CoreAudio/PublicUtility/CAStreamBasicDescription.cpp; sourceTree = "DEVELOPER_DIR"; }; | |||
| 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"; }; | |||
| BF7B980A66A9E256863EEF9D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -1122,6 +1123,7 @@ | |||
| AB87317D90A518C8A886EE9D, | |||
| 0B23FB9FC547A7877DC3E23E, | |||
| AC5452F5122E3A4B670B5185, | |||
| 2A073A793701BE742D5D8CA9, | |||
| BDB897B2503C29D7ABDDB656, | |||
| 2EA6226412D63CF270F97C8F, | |||
| 04555664F9106966CC7A7C16, | |||
| @@ -1003,6 +1003,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -1003,6 +1003,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -622,6 +622,7 @@ | |||
| B275A29B2147F6A8ADF16084 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B27CEFF5B55B38F2BEB141D1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B2976F6A6BFA0C881FDF4B79 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B2F4B4B90BCD9157597A66CC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B3B91E79E9BE863EFB7B2B70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| B3E0F684EFAAB3722FC50D6F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; | |||
| B454943748D0748AAF53A06F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||
| @@ -1074,6 +1075,7 @@ | |||
| 0511AF7660ABC3E031579CCC, | |||
| 6467FD9F05820570B157B623, | |||
| 8EF26866DA3017EA400C752C, | |||
| B2F4B4B90BCD9157597A66CC, | |||
| 31AC0781EAF09276F92E0DA1, | |||
| F2D4C223196F414CB2F93163, | |||
| CAEA69EBB9B2A4C60A991E80, | |||
| @@ -977,6 +977,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -977,6 +977,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -939,6 +939,7 @@ | |||
| </FileConfiguration> | |||
| </File> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <File RelativePath="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.cpp"> | |||
| <FileConfiguration Name="Debug|Win32" | |||
| ExcludedFromBuild="true"> | |||
| @@ -1247,6 +1247,7 @@ | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/> | |||
| @@ -1713,6 +1713,9 @@ | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"> | |||
| <Filter>Juce Modules\juce_audio_utils\gui</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailBase.h"> | |||
| <Filter>Juce Modules\juce_audio_utils\gui</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnailCache.h"> | |||
| <Filter>Juce Modules\juce_audio_utils\gui</Filter> | |||
| </ClInclude> | |||
| @@ -46,10 +46,9 @@ class AudioThumbnailCache; | |||
| The thumbnail stores an internal low-res version of the wave data, and this can | |||
| be loaded and saved to avoid having to scan the file again. | |||
| @see AudioThumbnailCache | |||
| @see AudioThumbnailCache, AudioThumbnailBase | |||
| */ | |||
| class JUCE_API AudioThumbnail : public ChangeBroadcaster, | |||
| public AudioFormatWriter::ThreadedWriter::IncomingDataReceiver | |||
| class JUCE_API AudioThumbnail : public AudioThumbnailBase | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| @@ -0,0 +1,156 @@ | |||
| /* | |||
| ============================================================================== | |||
| 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_AUDIOTHUMBNAILBASE_JUCEHEADER__ | |||
| #define __JUCE_AUDIOTHUMBNAILBASE_JUCEHEADER__ | |||
| class AudioThumbnailCache; | |||
| //============================================================================== | |||
| /** | |||
| Provides a base for classes that can store and draw scaled views of an | |||
| audio waveform. | |||
| Typically, you'll want to use the derived class AudioThumbnail, which provides | |||
| a concrete implementation. | |||
| @see AudioThumbnail, AudioThumbnailCache | |||
| */ | |||
| class JUCE_API AudioThumbnailBase : public ChangeBroadcaster, | |||
| public AudioFormatWriter::ThreadedWriter::IncomingDataReceiver | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| AudioThumbnailBase() {} | |||
| virtual ~AudioThumbnailBase() {} | |||
| //============================================================================== | |||
| /** Clears and resets the thumbnail. */ | |||
| virtual void clear() = 0; | |||
| /** Specifies the file or stream that contains the audio file. | |||
| For a file, just call | |||
| @code | |||
| setSource (new FileInputSource (file)) | |||
| @endcode | |||
| You can pass a zero in here to clear the thumbnail. | |||
| The source that is passed in will be deleted by this object when it is no longer needed. | |||
| @returns true if the source could be opened as a valid audio file, false if this failed for | |||
| some reason. | |||
| */ | |||
| virtual bool setSource (InputSource* newSource) = 0; | |||
| /** Gives the thumbnail an AudioFormatReader to use directly. | |||
| This will start parsing the audio in a background thread (unless the hash code | |||
| can be looked-up successfully in the thumbnail cache). Note that the reader | |||
| object will be held by the thumbnail and deleted later when no longer needed. | |||
| The thumbnail will actually keep hold of this reader until you clear the thumbnail | |||
| or change the input source, so the file will be held open for all this time. If | |||
| you don't want the thumbnail to keep a file handle open continuously, you | |||
| should use the setSource() method instead, which will only open the file when | |||
| it needs to. | |||
| */ | |||
| virtual void setReader (AudioFormatReader* newReader, int64 hashCode) = 0; | |||
| //============================================================================== | |||
| /** Reloads the low res thumbnail data from an input stream. | |||
| This is not an audio file stream! It takes a stream of thumbnail data that would | |||
| previously have been created by the saveTo() method. | |||
| @see saveTo | |||
| */ | |||
| virtual void loadFrom (InputStream& input) = 0; | |||
| /** Saves the low res thumbnail data to an output stream. | |||
| The data that is written can later be reloaded using loadFrom(). | |||
| @see loadFrom | |||
| */ | |||
| virtual void saveTo (OutputStream& output) const = 0; | |||
| //============================================================================== | |||
| /** Returns the number of channels in the file. */ | |||
| virtual int getNumChannels() const noexcept = 0; | |||
| /** Returns the length of the audio file, in seconds. */ | |||
| virtual double getTotalLength() const noexcept = 0; | |||
| /** Draws the waveform for a channel. | |||
| The waveform will be drawn within the specified rectangle, where startTime | |||
| and endTime specify the times within the audio file that should be positioned | |||
| at the left and right edges of the rectangle. | |||
| The waveform will be scaled vertically so that a full-volume sample will fill | |||
| the rectangle vertically, but you can also specify an extra vertical scale factor | |||
| with the verticalZoomFactor parameter. | |||
| */ | |||
| virtual void drawChannel (Graphics& g, | |||
| const Rectangle<int>& area, | |||
| double startTimeSeconds, | |||
| double endTimeSeconds, | |||
| int channelNum, | |||
| float verticalZoomFactor) = 0; | |||
| /** Draws the waveforms for all channels in the thumbnail. | |||
| This will call drawChannel() to render each of the thumbnail's channels, stacked | |||
| above each other within the specified area. | |||
| @see drawChannel | |||
| */ | |||
| virtual void drawChannels (Graphics& g, | |||
| const Rectangle<int>& area, | |||
| double startTimeSeconds, | |||
| double endTimeSeconds, | |||
| float verticalZoomFactor) = 0; | |||
| /** Returns true if the low res preview is fully generated. */ | |||
| virtual bool isFullyLoaded() const noexcept = 0; | |||
| /** Returns the number of samples that have been set in the thumbnail. */ | |||
| virtual int64 getNumSamplesFinished() const noexcept = 0; | |||
| /** Returns the highest level in the thumbnail. | |||
| Note that because the thumb only stores low-resolution data, this isn't | |||
| an accurate representation of the highest value, it's only a rough approximation. | |||
| */ | |||
| virtual float getApproximatePeak() const = 0; | |||
| /** Reads the approximate min and max levels from a section of the thumbnail. | |||
| The lowest and highest samples are returned in minValue and maxValue, but obviously | |||
| because the thumb only stores low-resolution data, these numbers will only be a rough | |||
| approximation of the true values. | |||
| */ | |||
| virtual void getApproximateMinMax (double startTime, double endTime, int channelIndex, | |||
| float& minValue, float& maxValue) const noexcept = 0; | |||
| /** Returns the hash code that was set by setSource() or setReader(). */ | |||
| virtual int64 getHashCode() const = 0; | |||
| }; | |||
| #endif | |||
| @@ -96,7 +96,7 @@ int AudioThumbnailCache::findOldestThumb() const | |||
| return oldest; | |||
| } | |||
| bool AudioThumbnailCache::loadThumb (AudioThumbnail& thumb, const int64 hashCode) | |||
| bool AudioThumbnailCache::loadThumb (AudioThumbnailBase& thumb, const int64 hashCode) | |||
| { | |||
| const ScopedLock sl (lock); | |||
| ThumbnailCacheEntry* te = findThumbFor (hashCode); | |||
| @@ -113,7 +113,7 @@ bool AudioThumbnailCache::loadThumb (AudioThumbnail& thumb, const int64 hashCode | |||
| return false; | |||
| } | |||
| void AudioThumbnailCache::storeThumb (const AudioThumbnail& thumb, | |||
| void AudioThumbnailCache::storeThumb (const AudioThumbnailBase& thumb, | |||
| const int64 hashCode) | |||
| { | |||
| const ScopedLock sl (lock); | |||
| @@ -26,7 +26,7 @@ | |||
| #ifndef __JUCE_AUDIOTHUMBNAILCACHE_JUCEHEADER__ | |||
| #define __JUCE_AUDIOTHUMBNAILCACHE_JUCEHEADER__ | |||
| #include "juce_AudioThumbnail.h" | |||
| #include "juce_AudioThumbnailBase.h" | |||
| //============================================================================== | |||
| @@ -64,14 +64,14 @@ public: | |||
| This is called automatically by the AudioThumbnail class, so you shouldn't | |||
| normally need to call it directly. | |||
| */ | |||
| bool loadThumb (AudioThumbnail& thumb, int64 hashCode); | |||
| bool loadThumb (AudioThumbnailBase& thumb, int64 hashCode); | |||
| /** Stores the cachable data from the specified thumb in this cache. | |||
| This is called automatically by the AudioThumbnail class, so you shouldn't | |||
| normally need to call it directly. | |||
| */ | |||
| void storeThumb (const AudioThumbnail& thumb, int64 hashCode); | |||
| void storeThumb (const AudioThumbnailBase& thumb, int64 hashCode); | |||
| //============================================================================== | |||
| /** Attempts to re-load a saved cache of thumbnails from a stream. | |||
| @@ -35,10 +35,12 @@ | |||
| namespace juce | |||
| { | |||
| // START_AUTOINCLUDE gui, players | |||
| #ifndef __JUCE_AUDIODEVICESELECTORCOMPONENT_JUCEHEADER__ | |||
| #include "gui/juce_AudioDeviceSelectorComponent.h" | |||
| #endif | |||
| #ifndef __JUCE_AUDIOTHUMBNAILBASE_JUCEHEADER__ | |||
| #include "gui/juce_AudioThumbnailBase.h" | |||
| #endif | |||
| #ifndef __JUCE_AUDIOTHUMBNAIL_JUCEHEADER__ | |||
| #include "gui/juce_AudioThumbnail.h" | |||
| #endif | |||
| @@ -51,7 +53,6 @@ namespace juce | |||
| #ifndef __JUCE_AUDIOPROCESSORPLAYER_JUCEHEADER__ | |||
| #include "players/juce_AudioProcessorPlayer.h" | |||
| #endif | |||
| // END_AUTOINCLUDE | |||
| } | |||