mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Introjucer: Added Android Studio exporter
This commit is contained in:
parent
ddcd78eae8
commit
810f2bfb2a
40 changed files with 2257 additions and 376 deletions
|
|
@ -13,9 +13,13 @@ LOCAL_MODULE := juce_jni
|
|||
LOCAL_SRC_FILES := \
|
||||
../../../Source/Main.cpp\
|
||||
../../../Source/MainWindow.cpp\
|
||||
../../../Source/MainWindow.h\
|
||||
../../../Source/DemoUtilities.h\
|
||||
../../../Source/IntroScreen.cpp\
|
||||
../../../Source/JuceDemoHeader.h\
|
||||
../../../Source/Demos/AnimationDemo.cpp\
|
||||
../../../Source/Demos/AudioLatencyDemo.cpp\
|
||||
../../../Source/Demos/AudioLiveScrollingDisplay.h\
|
||||
../../../Source/Demos/AudioPlaybackDemo.cpp\
|
||||
../../../Source/Demos/AudioRecordingDemo.cpp\
|
||||
../../../Source/Demos/AudioSettingsDemo.cpp\
|
||||
|
|
@ -47,11 +51,905 @@ LOCAL_SRC_FILES := \
|
|||
../../../Source/Demos/UnitTestsDemo.cpp\
|
||||
../../../Source/Demos/ValueTreesDemo.cpp\
|
||||
../../../Source/Demos/VideoDemo.cpp\
|
||||
../../../Source/Demos/WavefrontObjParser.h\
|
||||
../../../Source/Demos/WebBrowserDemo.cpp\
|
||||
../../../Source/Demos/WidgetsDemo.cpp\
|
||||
../../../Source/Demos/WindowsDemo.cpp\
|
||||
../../../Source/Demos/XMLandJSONDemo.cpp\
|
||||
../../../Resources/tile_background.png\
|
||||
../../../Resources/cello.wav\
|
||||
../../../Resources/demo\ table\ data.xml\
|
||||
../../../Resources/icons.zip\
|
||||
../../../Resources/juce_icon.png\
|
||||
../../../Resources/juce_module_info\
|
||||
../../../Resources/portmeirion.jpg\
|
||||
../../../Resources/teapot.obj\
|
||||
../../../Resources/treedemo.xml\
|
||||
../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp\
|
||||
../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h\
|
||||
../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h\
|
||||
../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp\
|
||||
../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp\
|
||||
../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_Decibels.h\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_FFT.h\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h\
|
||||
../../../../../modules/juce_audio_basics/effects/juce_Reverb.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp\
|
||||
../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h\
|
||||
../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp\
|
||||
../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h\
|
||||
../../../../../modules/juce_audio_basics/juce_module_info\
|
||||
../../../../../modules/juce_audio_basics/juce_audio_basics.h\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h\
|
||||
../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h\
|
||||
../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h\
|
||||
../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp\
|
||||
../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h\
|
||||
../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp\
|
||||
../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h\
|
||||
../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp\
|
||||
../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h\
|
||||
../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp\
|
||||
../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h\
|
||||
../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h\
|
||||
../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp\
|
||||
../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h\
|
||||
../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm\
|
||||
../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm\
|
||||
../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h\
|
||||
../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp\
|
||||
../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp\
|
||||
../../../../../modules/juce_audio_devices/juce_module_info\
|
||||
../../../../../modules/juce_audio_devices/juce_audio_devices.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp\
|
||||
../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h\
|
||||
../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp\
|
||||
../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h\
|
||||
../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp\
|
||||
../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h\
|
||||
../../../../../modules/juce_audio_formats/juce_module_info\
|
||||
../../../../../modules/juce_audio_formats/juce_audio_formats.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp\
|
||||
../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h\
|
||||
../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp\
|
||||
../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h\
|
||||
../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp\
|
||||
../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp\
|
||||
../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h\
|
||||
../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp\
|
||||
../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h\
|
||||
../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp\
|
||||
../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h\
|
||||
../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp\
|
||||
../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp\
|
||||
../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h\
|
||||
../../../../../modules/juce_audio_processors/juce_module_info\
|
||||
../../../../../modules/juce_audio_processors/juce_audio_processors.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp\
|
||||
../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h\
|
||||
../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp\
|
||||
../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h\
|
||||
../../../../../modules/juce_audio_utils/juce_module_info\
|
||||
../../../../../modules/juce_audio_utils/juce_audio_utils.h\
|
||||
../../../../../modules/juce_box2d/box2d/Box2D.h\
|
||||
../../../../../modules/juce_box2d/box2d/README.txt\
|
||||
../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp\
|
||||
../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h\
|
||||
../../../../../modules/juce_box2d/juce_module_info\
|
||||
../../../../../modules/juce_box2d/juce_box2d.h\
|
||||
../../../../../modules/juce_core/text/juce_Base64.cpp\
|
||||
../../../../../modules/juce_core/text/juce_Base64.h\
|
||||
../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp\
|
||||
../../../../../modules/juce_core/text/juce_CharacterFunctions.h\
|
||||
../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h\
|
||||
../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h\
|
||||
../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h\
|
||||
../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h\
|
||||
../../../../../modules/juce_core/text/juce_Identifier.cpp\
|
||||
../../../../../modules/juce_core/text/juce_Identifier.h\
|
||||
../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp\
|
||||
../../../../../modules/juce_core/text/juce_LocalisedStrings.h\
|
||||
../../../../../modules/juce_core/text/juce_NewLine.h\
|
||||
../../../../../modules/juce_core/text/juce_String.cpp\
|
||||
../../../../../modules/juce_core/text/juce_String.h\
|
||||
../../../../../modules/juce_core/text/juce_StringArray.cpp\
|
||||
../../../../../modules/juce_core/text/juce_StringArray.h\
|
||||
../../../../../modules/juce_core/text/juce_StringPairArray.cpp\
|
||||
../../../../../modules/juce_core/text/juce_StringPairArray.h\
|
||||
../../../../../modules/juce_core/text/juce_StringPool.cpp\
|
||||
../../../../../modules/juce_core/text/juce_StringPool.h\
|
||||
../../../../../modules/juce_core/text/juce_StringRef.h\
|
||||
../../../../../modules/juce_core/text/juce_TextDiff.cpp\
|
||||
../../../../../modules/juce_core/text/juce_TextDiff.h\
|
||||
../../../../../modules/juce_core/maths/juce_BigInteger.cpp\
|
||||
../../../../../modules/juce_core/maths/juce_BigInteger.h\
|
||||
../../../../../modules/juce_core/maths/juce_Expression.cpp\
|
||||
../../../../../modules/juce_core/maths/juce_Expression.h\
|
||||
../../../../../modules/juce_core/maths/juce_MathsFunctions.h\
|
||||
../../../../../modules/juce_core/maths/juce_NormalisableRange.h\
|
||||
../../../../../modules/juce_core/maths/juce_Random.cpp\
|
||||
../../../../../modules/juce_core/maths/juce_Random.h\
|
||||
../../../../../modules/juce_core/maths/juce_Range.h\
|
||||
../../../../../modules/juce_core/memory/juce_Atomic.h\
|
||||
../../../../../modules/juce_core/memory/juce_ByteOrder.h\
|
||||
../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h\
|
||||
../../../../../modules/juce_core/memory/juce_HeapBlock.h\
|
||||
../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h\
|
||||
../../../../../modules/juce_core/memory/juce_Memory.h\
|
||||
../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp\
|
||||
../../../../../modules/juce_core/memory/juce_MemoryBlock.h\
|
||||
../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h\
|
||||
../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h\
|
||||
../../../../../modules/juce_core/memory/juce_ScopedPointer.h\
|
||||
../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h\
|
||||
../../../../../modules/juce_core/memory/juce_Singleton.h\
|
||||
../../../../../modules/juce_core/memory/juce_WeakReference.h\
|
||||
../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp\
|
||||
../../../../../modules/juce_core/containers/juce_AbstractFifo.h\
|
||||
../../../../../modules/juce_core/containers/juce_Array.h\
|
||||
../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h\
|
||||
../../../../../modules/juce_core/containers/juce_DynamicObject.cpp\
|
||||
../../../../../modules/juce_core/containers/juce_DynamicObject.h\
|
||||
../../../../../modules/juce_core/containers/juce_ElementComparator.h\
|
||||
../../../../../modules/juce_core/containers/juce_HashMap.h\
|
||||
../../../../../modules/juce_core/containers/juce_LinkedListPointer.h\
|
||||
../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp\
|
||||
../../../../../modules/juce_core/containers/juce_NamedValueSet.h\
|
||||
../../../../../modules/juce_core/containers/juce_OwnedArray.h\
|
||||
../../../../../modules/juce_core/containers/juce_PropertySet.cpp\
|
||||
../../../../../modules/juce_core/containers/juce_PropertySet.h\
|
||||
../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h\
|
||||
../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h\
|
||||
../../../../../modules/juce_core/containers/juce_SortedSet.h\
|
||||
../../../../../modules/juce_core/containers/juce_SparseSet.h\
|
||||
../../../../../modules/juce_core/containers/juce_Variant.cpp\
|
||||
../../../../../modules/juce_core/containers/juce_Variant.h\
|
||||
../../../../../modules/juce_core/threads/juce_ChildProcess.cpp\
|
||||
../../../../../modules/juce_core/threads/juce_ChildProcess.h\
|
||||
../../../../../modules/juce_core/threads/juce_CriticalSection.h\
|
||||
../../../../../modules/juce_core/threads/juce_DynamicLibrary.h\
|
||||
../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp\
|
||||
../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h\
|
||||
../../../../../modules/juce_core/threads/juce_InterProcessLock.h\
|
||||
../../../../../modules/juce_core/threads/juce_Process.h\
|
||||
../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp\
|
||||
../../../../../modules/juce_core/threads/juce_ReadWriteLock.h\
|
||||
../../../../../modules/juce_core/threads/juce_ScopedLock.h\
|
||||
../../../../../modules/juce_core/threads/juce_ScopedReadLock.h\
|
||||
../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h\
|
||||
../../../../../modules/juce_core/threads/juce_SpinLock.h\
|
||||
../../../../../modules/juce_core/threads/juce_Thread.cpp\
|
||||
../../../../../modules/juce_core/threads/juce_Thread.h\
|
||||
../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h\
|
||||
../../../../../modules/juce_core/threads/juce_ThreadPool.cpp\
|
||||
../../../../../modules/juce_core/threads/juce_ThreadPool.h\
|
||||
../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp\
|
||||
../../../../../modules/juce_core/threads/juce_TimeSliceThread.h\
|
||||
../../../../../modules/juce_core/threads/juce_WaitableEvent.h\
|
||||
../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp\
|
||||
../../../../../modules/juce_core/time/juce_PerformanceCounter.h\
|
||||
../../../../../modules/juce_core/time/juce_RelativeTime.cpp\
|
||||
../../../../../modules/juce_core/time/juce_RelativeTime.h\
|
||||
../../../../../modules/juce_core/time/juce_Time.cpp\
|
||||
../../../../../modules/juce_core/time/juce_Time.h\
|
||||
../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp\
|
||||
../../../../../modules/juce_core/files/juce_DirectoryIterator.h\
|
||||
../../../../../modules/juce_core/files/juce_File.cpp\
|
||||
../../../../../modules/juce_core/files/juce_File.h\
|
||||
../../../../../modules/juce_core/files/juce_FileFilter.cpp\
|
||||
../../../../../modules/juce_core/files/juce_FileFilter.h\
|
||||
../../../../../modules/juce_core/files/juce_FileInputStream.cpp\
|
||||
../../../../../modules/juce_core/files/juce_FileInputStream.h\
|
||||
../../../../../modules/juce_core/files/juce_FileOutputStream.cpp\
|
||||
../../../../../modules/juce_core/files/juce_FileOutputStream.h\
|
||||
../../../../../modules/juce_core/files/juce_FileSearchPath.cpp\
|
||||
../../../../../modules/juce_core/files/juce_FileSearchPath.h\
|
||||
../../../../../modules/juce_core/files/juce_MemoryMappedFile.h\
|
||||
../../../../../modules/juce_core/files/juce_TemporaryFile.cpp\
|
||||
../../../../../modules/juce_core/files/juce_TemporaryFile.h\
|
||||
../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp\
|
||||
../../../../../modules/juce_core/files/juce_WildcardFileFilter.h\
|
||||
../../../../../modules/juce_core/network/juce_IPAddress.cpp\
|
||||
../../../../../modules/juce_core/network/juce_IPAddress.h\
|
||||
../../../../../modules/juce_core/network/juce_MACAddress.cpp\
|
||||
../../../../../modules/juce_core/network/juce_MACAddress.h\
|
||||
../../../../../modules/juce_core/network/juce_NamedPipe.cpp\
|
||||
../../../../../modules/juce_core/network/juce_NamedPipe.h\
|
||||
../../../../../modules/juce_core/network/juce_Socket.cpp\
|
||||
../../../../../modules/juce_core/network/juce_Socket.h\
|
||||
../../../../../modules/juce_core/network/juce_URL.cpp\
|
||||
../../../../../modules/juce_core/network/juce_URL.h\
|
||||
../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_BufferedInputStream.h\
|
||||
../../../../../modules/juce_core/streams/juce_FileInputSource.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_FileInputSource.h\
|
||||
../../../../../modules/juce_core/streams/juce_InputSource.h\
|
||||
../../../../../modules/juce_core/streams/juce_InputStream.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_InputStream.h\
|
||||
../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_MemoryInputStream.h\
|
||||
../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h\
|
||||
../../../../../modules/juce_core/streams/juce_OutputStream.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_OutputStream.h\
|
||||
../../../../../modules/juce_core/streams/juce_SubregionStream.cpp\
|
||||
../../../../../modules/juce_core/streams/juce_SubregionStream.h\
|
||||
../../../../../modules/juce_core/logging/juce_FileLogger.cpp\
|
||||
../../../../../modules/juce_core/logging/juce_FileLogger.h\
|
||||
../../../../../modules/juce_core/logging/juce_Logger.cpp\
|
||||
../../../../../modules/juce_core/logging/juce_Logger.h\
|
||||
../../../../../modules/juce_core/system/juce_CompilerSupport.h\
|
||||
../../../../../modules/juce_core/system/juce_PlatformDefs.h\
|
||||
../../../../../modules/juce_core/system/juce_StandardHeader.h\
|
||||
../../../../../modules/juce_core/system/juce_SystemStats.cpp\
|
||||
../../../../../modules/juce_core/system/juce_SystemStats.h\
|
||||
../../../../../modules/juce_core/system/juce_TargetPlatform.h\
|
||||
../../../../../modules/juce_core/xml/juce_XmlDocument.cpp\
|
||||
../../../../../modules/juce_core/xml/juce_XmlDocument.h\
|
||||
../../../../../modules/juce_core/xml/juce_XmlElement.cpp\
|
||||
../../../../../modules/juce_core/xml/juce_XmlElement.h\
|
||||
../../../../../modules/juce_core/javascript/juce_Javascript.cpp\
|
||||
../../../../../modules/juce_core/javascript/juce_Javascript.h\
|
||||
../../../../../modules/juce_core/javascript/juce_JSON.cpp\
|
||||
../../../../../modules/juce_core/javascript/juce_JSON.h\
|
||||
../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp\
|
||||
../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h\
|
||||
../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp\
|
||||
../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h\
|
||||
../../../../../modules/juce_core/zip/juce_ZipFile.cpp\
|
||||
../../../../../modules/juce_core/zip/juce_ZipFile.h\
|
||||
../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp\
|
||||
../../../../../modules/juce_core/unit_tests/juce_UnitTest.h\
|
||||
../../../../../modules/juce_core/misc/juce_Result.cpp\
|
||||
../../../../../modules/juce_core/misc/juce_Result.h\
|
||||
../../../../../modules/juce_core/misc/juce_Uuid.cpp\
|
||||
../../../../../modules/juce_core/misc/juce_Uuid.h\
|
||||
../../../../../modules/juce_core/misc/juce_WindowsRegistry.h\
|
||||
../../../../../modules/juce_core/native/juce_android_Files.cpp\
|
||||
../../../../../modules/juce_core/native/juce_android_JNIHelpers.h\
|
||||
../../../../../modules/juce_core/native/juce_android_Misc.cpp\
|
||||
../../../../../modules/juce_core/native/juce_android_Network.cpp\
|
||||
../../../../../modules/juce_core/native/juce_android_SystemStats.cpp\
|
||||
../../../../../modules/juce_core/native/juce_android_Threads.cpp\
|
||||
../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h\
|
||||
../../../../../modules/juce_core/native/juce_curl_Network.cpp\
|
||||
../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp\
|
||||
../../../../../modules/juce_core/native/juce_linux_Files.cpp\
|
||||
../../../../../modules/juce_core/native/juce_linux_Network.cpp\
|
||||
../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp\
|
||||
../../../../../modules/juce_core/native/juce_linux_Threads.cpp\
|
||||
../../../../../modules/juce_core/native/juce_mac_Files.mm\
|
||||
../../../../../modules/juce_core/native/juce_mac_Network.mm\
|
||||
../../../../../modules/juce_core/native/juce_mac_Strings.mm\
|
||||
../../../../../modules/juce_core/native/juce_mac_SystemStats.mm\
|
||||
../../../../../modules/juce_core/native/juce_mac_Threads.mm\
|
||||
../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h\
|
||||
../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp\
|
||||
../../../../../modules/juce_core/native/juce_posix_SharedCode.h\
|
||||
../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h\
|
||||
../../../../../modules/juce_core/native/juce_win32_Files.cpp\
|
||||
../../../../../modules/juce_core/native/juce_win32_Network.cpp\
|
||||
../../../../../modules/juce_core/native/juce_win32_Registry.cpp\
|
||||
../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp\
|
||||
../../../../../modules/juce_core/native/juce_win32_Threads.cpp\
|
||||
../../../../../modules/juce_core/juce_module_info\
|
||||
../../../../../modules/juce_core/juce_core.h\
|
||||
../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp\
|
||||
../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h\
|
||||
../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp\
|
||||
../../../../../modules/juce_cryptography/encryption/juce_Primes.h\
|
||||
../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp\
|
||||
../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h\
|
||||
../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp\
|
||||
../../../../../modules/juce_cryptography/hashing/juce_MD5.h\
|
||||
../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp\
|
||||
../../../../../modules/juce_cryptography/hashing/juce_SHA256.h\
|
||||
../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp\
|
||||
../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h\
|
||||
../../../../../modules/juce_cryptography/juce_module_info\
|
||||
../../../../../modules/juce_cryptography/juce_cryptography.h\
|
||||
../../../../../modules/juce_data_structures/values/juce_Value.cpp\
|
||||
../../../../../modules/juce_data_structures/values/juce_Value.h\
|
||||
../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp\
|
||||
../../../../../modules/juce_data_structures/values/juce_ValueTree.h\
|
||||
../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp\
|
||||
../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h\
|
||||
../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h\
|
||||
../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp\
|
||||
../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h\
|
||||
../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp\
|
||||
../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h\
|
||||
../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp\
|
||||
../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h\
|
||||
../../../../../modules/juce_data_structures/juce_module_info\
|
||||
../../../../../modules/juce_data_structures/juce_data_structures.h\
|
||||
../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp\
|
||||
../../../../../modules/juce_events/messages/juce_ApplicationBase.h\
|
||||
../../../../../modules/juce_events/messages/juce_CallbackMessage.h\
|
||||
../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp\
|
||||
../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h\
|
||||
../../../../../modules/juce_events/messages/juce_Initialisation.h\
|
||||
../../../../../modules/juce_events/messages/juce_Message.h\
|
||||
../../../../../modules/juce_events/messages/juce_MessageListener.cpp\
|
||||
../../../../../modules/juce_events/messages/juce_MessageListener.h\
|
||||
../../../../../modules/juce_events/messages/juce_MessageManager.cpp\
|
||||
../../../../../modules/juce_events/messages/juce_MessageManager.h\
|
||||
../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h\
|
||||
../../../../../modules/juce_events/messages/juce_NotificationType.h\
|
||||
../../../../../modules/juce_events/timers/juce_MultiTimer.cpp\
|
||||
../../../../../modules/juce_events/timers/juce_MultiTimer.h\
|
||||
../../../../../modules/juce_events/timers/juce_Timer.cpp\
|
||||
../../../../../modules/juce_events/timers/juce_Timer.h\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ActionListener.h\
|
||||
../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp\
|
||||
../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h\
|
||||
../../../../../modules/juce_events/broadcasters/juce_ListenerList.h\
|
||||
../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp\
|
||||
../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h\
|
||||
../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp\
|
||||
../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h\
|
||||
../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp\
|
||||
../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h\
|
||||
../../../../../modules/juce_events/native/juce_android_Messaging.cpp\
|
||||
../../../../../modules/juce_events/native/juce_ios_MessageManager.mm\
|
||||
../../../../../modules/juce_events/native/juce_linux_Messaging.cpp\
|
||||
../../../../../modules/juce_events/native/juce_mac_MessageManager.mm\
|
||||
../../../../../modules/juce_events/native/juce_osx_MessageQueue.h\
|
||||
../../../../../modules/juce_events/native/juce_ScopedXLock.h\
|
||||
../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h\
|
||||
../../../../../modules/juce_events/native/juce_win32_Messaging.cpp\
|
||||
../../../../../modules/juce_events/juce_module_info\
|
||||
../../../../../modules/juce_events/juce_events.h\
|
||||
../../../../../modules/juce_graphics/colour/juce_Colour.cpp\
|
||||
../../../../../modules/juce_graphics/colour/juce_Colour.h\
|
||||
../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp\
|
||||
../../../../../modules/juce_graphics/colour/juce_ColourGradient.h\
|
||||
../../../../../modules/juce_graphics/colour/juce_Colours.cpp\
|
||||
../../../../../modules/juce_graphics/colour/juce_Colours.h\
|
||||
../../../../../modules/juce_graphics/colour/juce_FillType.cpp\
|
||||
../../../../../modules/juce_graphics/colour/juce_FillType.h\
|
||||
../../../../../modules/juce_graphics/colour/juce_PixelFormats.h\
|
||||
../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp\
|
||||
../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h\
|
||||
../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h\
|
||||
../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp\
|
||||
../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h\
|
||||
../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp\
|
||||
../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h\
|
||||
../../../../../modules/juce_graphics/images/juce_Image.cpp\
|
||||
../../../../../modules/juce_graphics/images/juce_Image.h\
|
||||
../../../../../modules/juce_graphics/images/juce_ImageCache.cpp\
|
||||
../../../../../modules/juce_graphics/images/juce_ImageCache.h\
|
||||
../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp\
|
||||
../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h\
|
||||
../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp\
|
||||
../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h\
|
||||
../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp\
|
||||
../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp\
|
||||
../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp\
|
||||
../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp\
|
||||
../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_BorderSize.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp\
|
||||
../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_Line.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_Path.cpp\
|
||||
../../../../../modules/juce_graphics/geometry/juce_Path.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp\
|
||||
../../../../../modules/juce_graphics/geometry/juce_PathIterator.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp\
|
||||
../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_Point.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_Rectangle.h\
|
||||
../../../../../modules/juce_graphics/geometry/juce_RectangleList.h\
|
||||
../../../../../modules/juce_graphics/placement/juce_Justification.h\
|
||||
../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp\
|
||||
../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h\
|
||||
../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp\
|
||||
../../../../../modules/juce_graphics/fonts/juce_AttributedString.h\
|
||||
../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp\
|
||||
../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h\
|
||||
../../../../../modules/juce_graphics/fonts/juce_Font.cpp\
|
||||
../../../../../modules/juce_graphics/fonts/juce_Font.h\
|
||||
../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp\
|
||||
../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h\
|
||||
../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp\
|
||||
../../../../../modules/juce_graphics/fonts/juce_TextLayout.h\
|
||||
../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp\
|
||||
../../../../../modules/juce_graphics/fonts/juce_Typeface.h\
|
||||
../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp\
|
||||
../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h\
|
||||
../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp\
|
||||
../../../../../modules/juce_graphics/effects/juce_GlowEffect.h\
|
||||
../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h\
|
||||
../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h\
|
||||
../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm\
|
||||
../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h\
|
||||
../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm\
|
||||
../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h\
|
||||
../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp\
|
||||
../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp\
|
||||
../../../../../modules/juce_graphics/juce_module_info\
|
||||
../../../../../modules/juce_graphics/juce_graphics.h\
|
||||
../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h\
|
||||
../../../../../modules/juce_gui_basics/components/juce_Component.cpp\
|
||||
../../../../../modules/juce_gui_basics/components/juce_Component.h\
|
||||
../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp\
|
||||
../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h\
|
||||
../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp\
|
||||
../../../../../modules/juce_gui_basics/components/juce_Desktop.h\
|
||||
../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp\
|
||||
../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h\
|
||||
../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h\
|
||||
../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_Label.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_Slider.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp\
|
||||
../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp\
|
||||
../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h\
|
||||
../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h\
|
||||
../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp\
|
||||
../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h\
|
||||
../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp\
|
||||
../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp\
|
||||
../../../../../modules/juce_gui_basics/layout/juce_Viewport.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_Button.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp\
|
||||
../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp\
|
||||
../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h\
|
||||
../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp\
|
||||
../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp\
|
||||
../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h\
|
||||
../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp\
|
||||
../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h\
|
||||
../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp\
|
||||
../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h\
|
||||
../../../../../modules/juce_gui_basics/application/juce_Application.cpp\
|
||||
../../../../../modules/juce_gui_basics/application/juce_Application.h\
|
||||
../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm\
|
||||
../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h\
|
||||
../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp\
|
||||
../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp\
|
||||
../../../../../modules/juce_gui_basics/juce_module_info\
|
||||
../../../../../modules/juce_gui_basics/juce_gui_basics.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp\
|
||||
../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h\
|
||||
../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp\
|
||||
../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h\
|
||||
../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h\
|
||||
../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h\
|
||||
../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h\
|
||||
../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h\
|
||||
../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm\
|
||||
../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp\
|
||||
../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm\
|
||||
../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h\
|
||||
../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm\
|
||||
../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp\
|
||||
../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm\
|
||||
../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp\
|
||||
../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp\
|
||||
../../../../../modules/juce_gui_extra/juce_module_info\
|
||||
../../../../../modules/juce_gui_extra/juce_gui_extra.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp\
|
||||
../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h\
|
||||
../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h\
|
||||
../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h\
|
||||
../../../../../modules/juce_opengl/geometry/juce_Quaternion.h\
|
||||
../../../../../modules/juce_opengl/geometry/juce_Vector3D.h\
|
||||
../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp\
|
||||
../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h\
|
||||
../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h\
|
||||
../../../../../modules/juce_opengl/native/juce_OpenGL_android.h\
|
||||
../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h\
|
||||
../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h\
|
||||
../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h\
|
||||
../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h\
|
||||
../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h\
|
||||
../../../../../modules/juce_opengl/juce_module_info\
|
||||
../../../../../modules/juce_opengl/juce_opengl.h\
|
||||
../../../../../modules/juce_video/playback/juce_DirectShowComponent.h\
|
||||
../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h\
|
||||
../../../../../modules/juce_video/capture/juce_CameraDevice.cpp\
|
||||
../../../../../modules/juce_video/capture/juce_CameraDevice.h\
|
||||
../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp\
|
||||
../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm\
|
||||
../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm\
|
||||
../../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp\
|
||||
../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp\
|
||||
../../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp\
|
||||
../../../../../modules/juce_video/juce_module_info\
|
||||
../../../../../modules/juce_video/juce_video.h\
|
||||
../../../JuceLibraryCode/AppConfig.h\
|
||||
../../../JuceLibraryCode/BinaryData.cpp\
|
||||
../../../JuceLibraryCode/BinaryData.h\
|
||||
../../../../../modules/juce_audio_basics/juce_audio_basics.cpp\
|
||||
../../../../../modules/juce_audio_devices/juce_audio_devices.cpp\
|
||||
../../../../../modules/juce_audio_formats/juce_audio_formats.cpp\
|
||||
|
|
@ -67,6 +965,7 @@ LOCAL_SRC_FILES := \
|
|||
../../../../../modules/juce_gui_extra/juce_gui_extra.cpp\
|
||||
../../../../../modules/juce_opengl/juce_opengl.cpp\
|
||||
../../../../../modules/juce_video/juce_video.cpp\
|
||||
../../../JuceLibraryCode/JuceHeader.h\
|
||||
|
||||
ifeq ($(NDK_DEBUG),1)
|
||||
LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=9" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000"
|
||||
|
|
|
|||
|
|
@ -43,6 +43,13 @@ import android.text.ClipboardManager;
|
|||
import android.text.InputType;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import java.lang.Runnable;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.Hashtable;
|
||||
import java.util.TimerTask;
|
||||
import java.io.*;
|
||||
import java.net.URL;
|
||||
import java.net.HttpURLConnection;
|
||||
|
|
@ -234,7 +241,7 @@ public class JuceDemo extends Activity
|
|||
|
||||
if (keepAliveTimer != null)
|
||||
{
|
||||
keepAliveTimer->cancel();
|
||||
keepAliveTimer.cancel();
|
||||
keepAliveTimer = null;
|
||||
}
|
||||
|
||||
|
|
@ -256,7 +263,14 @@ public class JuceDemo extends Activity
|
|||
public void run()
|
||||
{
|
||||
android.app.Instrumentation instrumentation = new android.app.Instrumentation();
|
||||
instrumentation.sendKeyDownUpSync (KeyEvent.KEYCODE_BREAK);
|
||||
|
||||
try
|
||||
{
|
||||
instrumentation.sendKeyDownUpSync (KeyEvent.KEYCODE_BREAK);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}, 2000, 2000);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -433,6 +433,10 @@
|
|||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
|
|
@ -733,6 +737,10 @@
|
|||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/BinaryData/background_logo.svg">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
</Unit>
|
||||
<Unit filename="../../Source/BinaryData/background_tile.png">
|
||||
<Option compile="0"/>
|
||||
<Option link="0"/>
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@
|
|||
16017456A45F74C692A3AE45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
1614411A8699B82D1F7B0346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
16203C6791259C9718A04C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutinePanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
16385D79A30C6E06EFB46B79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_AndroidStudio.h"; path = "../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
168F5F32F673036DDAEF1D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
1729AEDC34001C31B8CC357C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_FileHelpers.cpp"; path = "../../Source/Utility/jucer_FileHelpers.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
1772B02BAF54F29AD99DF42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -723,6 +724,7 @@
|
|||
BA5C7DE347A73A87F687703C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
BA95268EEE80F9509EC1F76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
BAC43B20E14A340CCF14119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
BB9C1E6E54A16F795908C469 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "background_logo.svg"; path = "../../Source/BinaryData/background_logo.svg"; sourceTree = "SOURCE_ROOT"; };
|
||||
BC17B02633EF1E31024051C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
BCAD13352CE76BA81629A6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
BCCFDFB2C02C4AA436C0ECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SliderHandler.h"; path = "../../Source/ComponentEditor/components/jucer_SliderHandler.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -756,7 +758,6 @@
|
|||
C5D5D2FFB030BD43160167EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
C5FCECA838D4D12D03929139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
C61E82D93918A611FAFD9E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C68355AA4D62939EECAD469E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C6861DB44A31CE7A3DEFA083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C6E46DBD249D9426C95E2235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
C717D2384896547D1CD993F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -765,7 +766,6 @@
|
|||
C7B47372A9D5970E3D9A5400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupInformationComponent.h"; path = "../../Source/Project/jucer_GroupInformationComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C7E19F79947BEFC7DB7A9CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
C83992DA0BE30EA3CD06EA98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C85B4D62B96F4A44890F20E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C8A229ACD244F402C57286CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_MSVC.h"; path = "../../Source/Project Saving/jucer_ProjectExport_MSVC.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C90C66C5727759D5CBD5FB07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
C9616830BB2474066AC8C910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/Project Saving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -780,14 +780,13 @@
|
|||
CD140A1C0161176682F6CA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CD3216F23C7B273B010A8D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDCAF0EC777DA2884AEB2B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDDF5BDC75277F7B83A38885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDF8F65F9079B2C14A740F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CE1DFE4E3908943656E180AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF0615A1AF1A514A60322B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF21D9DB3AEC0A4DCAB36A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Icons.cpp"; path = "../../Source/Utility/jucer_Icons.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
CF6C8BD0DA3D8CD4E99EBADA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
||||
CF8011B3C67B609032974DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewCppFileTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D00F311BFC3C2625C457CB9B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
|
||||
D041043D3B554B88F855C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D0D8B580D0689FFF4B9B823B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StrokeType.h"; path = "../../Source/ComponentEditor/paintelements/jucer_StrokeType.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D0F1614CC861E8E0B59B7A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D10D51A0A2D63F38B4D86A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceFile.cpp"; path = "../../Source/Project Saving/jucer_ResourceFile.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -806,62 +805,61 @@
|
|||
D5057D7B18ABD5E810A6F830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
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"; };
|
||||
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"; };
|
||||
D782DA091AD3ECE158FC6A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D800DE818BEDBF4579D15B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
D87FC8F6834E9DC9C8E88B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JustificationProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_JustificationProperty.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D926E13AB5AD647A7A00F486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D92A6E9404A30EED32DCE4ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePositionedRectangle.h"; path = "../../Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D9342535EA61901A1AD816C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DA345D5B9DABD049F90DC96F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GeneratedCode.h"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DC5E7FF30B01118F6DAEC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DB876F7873F42DC685A58CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DC922C6A65D260C18E888E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_ComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DD00494140C86144306A9356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DE8DF5D263F40F65581CFDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DFC6364D81D9C60BD4CA9D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E0F9CA57E44F7F7E7E217E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentUndoableAction.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentUndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E19160CF7208320D128786CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E1D8CCD9F4ACBE1EC1D5BEA0 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioApp.svg"; path = "../../Source/BinaryData/wizard_AudioApp.svg"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2374E15D65425C4101237E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2C1C995D554A3F0A363CE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2DBA3307837B64AFCCD8F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E3B56C5718D87CA0EFCB2662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E4BB22E27C5AA4B666F265BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E4BD4C43370651B49F75855B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_SimpleWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E570E57CC1FCEF78B54A7084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E5D6C36496F5BC84D7213BE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
E62D9BA6E92FE7BB6EF65699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E65A820D34BF39478B7C5925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DocumentEditorComponent.h"; path = "../../Source/Application/jucer_DocumentEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E6F5CEC32EDC917B054467EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E720FBCD836FF3AA466C31B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E96597BBC6A98255B51B94DC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
|
||||
25F52316D256B4534BED16D1 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Introjucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
|
||||
CF0615A1AF1A514A60322B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C68355AA4D62939EECAD469E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
C85B4D62B96F4A44890F20E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
CDDF5BDC75277F7B83A38885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D041043D3B554B88F855C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D3E139185095C486DD3D61F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationTool.h"; path = "../../Source/Utility/jucer_TranslationTool.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"; };
|
||||
D780ED33573AED5AD383A036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D782DA091AD3ECE158FC6A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.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"; };
|
||||
D7A7F1AA9F313B0CCAAA73A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D800DE818BEDBF4579D15B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
D9342535EA61901A1AD816C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
D95D7B49EC6C6BDCB5A1B988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
D9B077E2ECDDA94961E134D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
D9E59DE07A815AB303A297D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
|
||||
DAF84A553D264705FA6EB6FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TreeViewHandler.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DB20268A566DABEAE3F2CBEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DB876F7873F42DC685A58CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DBE0CDE1B017190ABBFF557C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_CodeBlocks.h"; path = "../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DC5E7FF30B01118F6DAEC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DCBB17488227A2CA7D3D3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DependencyPathPropertyComponent.cpp"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DCCB75165B7C73A589498E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DD2494D5F1C081898D616AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DD985A60FB76E976AF91852D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DE40B42B57F29C650CB7F2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DE5F3C9EF6BFFDE73AF9E7FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DE8DF5D263F40F65581CFDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DEF579B1433EB8DEE7AB50F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DF725A596B7BCD7520CC0A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceEditorPanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
DF7BB5B6B394EDEEF5F5B4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
DFC6364D81D9C60BD4CA9D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E07C56267CBB46FC44EF2026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E19160CF7208320D128786CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E1C16C872E34BCB144B469F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E27F0860F27023BAA9798B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E284B565DBD647DC0830D23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2C1C995D554A3F0A363CE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E2DBA3307837B64AFCCD8F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E3869AC657E984565F1718AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E3FF16862AA1B2F943DC616C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E446FFE889CD490FDE3F0F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -869,11 +867,15 @@
|
|||
E4F9D1E097CC2C1D1291823C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E530742870F07704E9616358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E54D0994D31E20A0A05EBA2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E570E57CC1FCEF78B54A7084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E60E28D1B7491047DEA236AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectContentComponent.h"; path = "../../Source/Project/jucer_ProjectContentComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E62D9BA6E92FE7BB6EF65699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E63F54CF8D5D922A319C6962 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconXcodeIOS.png; path = ../../Source/BinaryData/projectIconXcodeIOS.png; sourceTree = "SOURCE_ROOT"; };
|
||||
E642193A9990C48CFB6479A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E654E3A3CD45A888C5F773DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E6F5CEC32EDC917B054467EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E70CA21960A64CCB835725FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectType.cpp"; path = "../../Source/Project/jucer_ProjectType.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E720FBCD836FF3AA466C31B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E73C7E17116F6085765622E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
|
||||
E7A4604F766ABC8BE26C94A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
E7B6A0CBA0D27A095E83F5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
|
||||
|
|
@ -1072,6 +1074,7 @@
|
|||
5432B7B9B2CF2EAEC8B66D5C, ); name = ComponentEditor; sourceTree = "<group>"; };
|
||||
E345840128627D533DF908AC = {isa = PBXGroup; children = (
|
||||
6E7353DFEA8825B515049ABB,
|
||||
16385D79A30C6E06EFB46B79,
|
||||
DBE0CDE1B017190ABBFF557C,
|
||||
05076CDF1511A5F8A8E18F1D,
|
||||
C8A229ACD244F402C57286CD,
|
||||
|
|
@ -1165,6 +1168,7 @@
|
|||
88DFD62CB6545EE8CA5C485B = {isa = PBXGroup; children = (
|
||||
955A73C474B8CD4FB0D9A96F,
|
||||
5F4F4EAB042F2730F94A1CEA,
|
||||
BB9C1E6E54A16F795908C469,
|
||||
301592EBAC0FFF6F5B268E99,
|
||||
41105E536155E394E54BDD35,
|
||||
5F6584B675E30761521A9F42,
|
||||
|
|
|
|||
|
|
@ -249,6 +249,7 @@
|
|||
</Filter>
|
||||
<Filter Name="Project Saving">
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_Android.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_Make.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_MSVC.h"/>
|
||||
|
|
@ -544,6 +545,16 @@
|
|||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\Source\BinaryData\background_logo.svg">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\Source\BinaryData\background_tile.png">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
|
|
|
|||
|
|
@ -249,6 +249,7 @@
|
|||
</Filter>
|
||||
<Filter Name="Project Saving">
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_Android.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_Make.h"/>
|
||||
<File RelativePath="..\..\Source\Project Saving\jucer_ProjectExport_MSVC.h"/>
|
||||
|
|
@ -544,6 +545,16 @@
|
|||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\Source\BinaryData\background_logo.svg">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
<Tool Name="VCCLCompilerTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\Source\BinaryData\background_tile.png">
|
||||
<FileConfiguration Name="Debug|Win32"
|
||||
ExcludedFromBuild="true">
|
||||
|
|
|
|||
|
|
@ -1135,6 +1135,7 @@
|
|||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_PaintRoutine.h"/>
|
||||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_UtilityFunctions.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Make.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_MSVC.h"/>
|
||||
|
|
@ -1541,6 +1542,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt"/>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg"/>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_dark.xml"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_light.xml"/>
|
||||
|
|
|
|||
|
|
@ -1584,6 +1584,9 @@
|
|||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -2798,6 +2801,9 @@
|
|||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -1141,6 +1141,7 @@
|
|||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_PaintRoutine.h"/>
|
||||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_UtilityFunctions.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Make.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_MSVC.h"/>
|
||||
|
|
@ -1547,6 +1548,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt"/>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg"/>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_dark.xml"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_light.xml"/>
|
||||
|
|
|
|||
|
|
@ -1584,6 +1584,9 @@
|
|||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -2798,6 +2801,9 @@
|
|||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -1141,6 +1141,7 @@
|
|||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_PaintRoutine.h"/>
|
||||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_UtilityFunctions.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Make.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_MSVC.h"/>
|
||||
|
|
@ -1547,6 +1548,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt"/>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg"/>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_dark.xml"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_light.xml"/>
|
||||
|
|
|
|||
|
|
@ -1584,6 +1584,9 @@
|
|||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -2798,6 +2801,9 @@
|
|||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -1141,6 +1141,7 @@
|
|||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_PaintRoutine.h"/>
|
||||
<ClInclude Include="..\..\Source\ComponentEditor\jucer_UtilityFunctions.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Make.h"/>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_MSVC.h"/>
|
||||
|
|
@ -1547,6 +1548,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt"/>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg"/>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_dark.xml"/>
|
||||
<None Include="..\..\Source\BinaryData\colourscheme_light.xml"/>
|
||||
|
|
|
|||
|
|
@ -1584,6 +1584,9 @@
|
|||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_Android.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_AndroidStudio.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Source\Project Saving\jucer_ProjectExport_CodeBlocks.h">
|
||||
<Filter>The Introjucer\Project Saving</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -2798,6 +2801,9 @@
|
|||
<None Include="..\..\Source\BinaryData\AudioPluginXCodeScript.txt">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_logo.svg">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\BinaryData\background_tile.png">
|
||||
<Filter>The Introjucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -402,6 +402,8 @@
|
|||
<GROUP id="{579C9644-D5C2-8469-9439-F91C81337531}" name="Project Saving">
|
||||
<FILE id="TtXohM" name="jucer_ProjectExport_Android.h" compile="0"
|
||||
resource="0" file="Source/Project Saving/jucer_ProjectExport_Android.h"/>
|
||||
<FILE id="AhU3qX" name="jucer_ProjectExport_AndroidStudio.h" compile="0"
|
||||
resource="0" file="Source/Project Saving/jucer_ProjectExport_AndroidStudio.h"/>
|
||||
<FILE id="EkBkj1" name="jucer_ProjectExport_CodeBlocks.h" compile="0"
|
||||
resource="0" file="Source/Project Saving/jucer_ProjectExport_CodeBlocks.h"/>
|
||||
<FILE id="mVXrLi" name="jucer_ProjectExport_Make.h" compile="0" resource="0"
|
||||
|
|
@ -583,6 +585,8 @@
|
|||
</GROUP>
|
||||
<FILE id="RSJcrRl" name="AudioPluginXCodeScript.txt" compile="0" resource="1"
|
||||
file="Source/BinaryData/AudioPluginXCodeScript.txt"/>
|
||||
<FILE id="IW9hGs" name="background_logo.svg" compile="0" resource="1"
|
||||
file="Source/BinaryData/background_logo.svg"/>
|
||||
<FILE id="eYn4jB" name="background_tile.png" compile="0" resource="1"
|
||||
file="Source/BinaryData/background_tile.png"/>
|
||||
<FILE id="geMos6" name="colourscheme_dark.xml" compile="0" resource="1"
|
||||
|
|
|
|||
|
|
@ -1470,15 +1470,57 @@ static const unsigned char temp_binary_data_21[] =
|
|||
|
||||
const char* AudioPluginXCodeScript_txt = (const char*) temp_binary_data_21;
|
||||
|
||||
//================== background_tile.png ==================
|
||||
//================== background_logo.svg ==================
|
||||
static const unsigned char temp_binary_data_22[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n"
|
||||
"\t viewBox=\"0 0 451.7 451.7\" enable-background=\"new 0 0 451.7 451.7\" xml:space=\"preserve\">\r\n"
|
||||
"<g>\r\n"
|
||||
"\t<g>\r\n"
|
||||
"\t\t<path fill=\"#808285\" d=\"M111.8,421.9c-8.7,0-15.6-3.2-21.8-11.3l8.5-7.3c4.2,5.5,8.2,7.6,13.3,7.6c9.2,0,15.5-6.9,15.5-17.5v-51.8\r\n"
|
||||
"\t\t\th11.7v51.8C138.9,410.4,127.7,421.9,111.8,421.9z\"/>\r\n"
|
||||
"\t\t<path fill=\"#808285\" d=\"M185.7,421.9c-17,0-31.6-12.5-31.6-33.1v-47.2h11.7v46.6c0,13.8,8.2,22.8,19.9,22.8c11.7,0,20-8.9,20-22.8\r\n"
|
||||
"\t\t\tv-46.6h11.7v47.2C217.4,409.4,202.7,421.9,185.7,421.9z\"/>\r\n"
|
||||
"\t\t<path fill=\"#808285\" d=\"M268.9,421.9c-22.6,0-40.9-18.1-40.9-40.6c0-22.6,18.5-40.6,40.9-40.6c10,0,18.8,3.5,25.7,9.2l-6.9,8.6\r\n"
|
||||
"\t\t\tc-7.1-5-12-6.8-18.7-6.8c-16.2,0-29.1,13-29.1,29.7c0,16.7,12.9,29.7,29.1,29.7c6.4,0,11.8-2,18.6-6.7l7,8.7\r\n"
|
||||
"\t\t\tC285.9,419.6,278.1,421.9,268.9,421.9z\"/>\r\n"
|
||||
"\t\t<path fill=\"#808285\" d=\"M307.5,420.9v-79.3h47.8v10.5h-36.1v23.5h34.7V386h-34.7v24.4h36.1v10.5H307.5z\"/>\r\n"
|
||||
"\t</g>\r\n"
|
||||
"</g>\r\n"
|
||||
"<g>\r\n"
|
||||
"\t<path fill=\"#808285\" d=\"M222.6,313.3c-78.2,0-141.7-63.6-141.7-141.7S144.5,29.8,222.6,29.8s141.7,63.6,141.7,141.7\r\n"
|
||||
"\t\tS300.8,313.3,222.6,313.3z M222.6,39.3c-72.9,0-132.3,59.3-132.3,132.3s59.3,132.3,132.3,132.3s132.3-59.3,132.3-132.3\r\n"
|
||||
"\t\tS295.6,39.3,222.6,39.3z\"/>\r\n"
|
||||
"\t<path fill=\"#414042\" d=\"M334.5,166.8c2.4,0,4.8-0.9,6.5-2.6c1.9-1.9,2.7-4.4,2.4-7c-2.6-22.2-11.4-43.3-25.3-60.9\r\n"
|
||||
"\t\tc-1.7-2.2-4.1-3.3-6.6-3.3c-2.3,0-4.5,1-6.2,2.7L236.9,164c-1.1,1.1-0.3,2.9,1.2,2.9L334.5,166.8z\"/>\r\n"
|
||||
"\t<path fill=\"#58595B\" d=\"M311.5,250.2L311.5,250.2c2.6,0,4.9-1.2,6.6-3.3c13.9-17.6,22.6-38.7,25.3-60.9c0.3-2.6-0.6-5.1-2.4-7\r\n"
|
||||
"\t\tc-1.7-1.7-4.1-2.6-6.5-2.6l-96.4,0c-1.5,0-2.2,1.8-1.2,2.9l68.4,68.4C307,249.2,309.2,250.2,311.5,250.2z\"/>\r\n"
|
||||
"\t<path fill=\"#6D6E71\" d=\"M229.9,290L229.9,290c1.8,1.8,4.3,2.7,7.1,2.3c22.3-2.6,43.4-11.3,60.9-25.2c2.1-1.6,3.2-4,3.3-6.7\r\n"
|
||||
"\t\tc0-2.4-1-4.7-2.8-6.4l-68.1-68.1c-1.1-1.1-2.9-0.3-2.9,1.2l0,96.7C227.4,286.1,228.2,288.4,229.9,290z\"/>\r\n"
|
||||
"\t<path fill=\"#A7A9AC\" d=\"M133.8,92.9c-2.6,0-4.9,1.2-6.6,3.3c-13.9,17.6-22.6,38.7-25.3,60.9c-0.3,2.6,0.6,5.1,2.4,7\r\n"
|
||||
"\t\tc1.7,1.7,4.1,2.6,6.5,2.6l96.4,0c1.5,0,2.2-1.8,1.2-2.9L140,95.6C138.3,93.9,136.1,92.9,133.8,92.9z\"/>\r\n"
|
||||
"\t<path fill=\"#BCBEC0\" d=\"M215.4,53.1c-1.8-1.8-4.3-2.7-7.1-2.3C186.1,53.4,165,62.1,147.4,76c-2.1,1.6-3.2,4-3.3,6.7\r\n"
|
||||
"\t\tc0,2.4,1,4.7,2.8,6.4l68.1,68.1c1.1,1.1,2.9,0.3,2.9-1.2l0-96.7C217.9,57,217,54.8,215.4,53.1z\"/>\r\n"
|
||||
"\t<path fill=\"#D1D3D4\" d=\"M301.3,82.7c0-2.6-1.2-4.9-3.3-6.6c-17.6-13.9-38.7-22.6-60.9-25.3c-2.6-0.3-5.1,0.6-7,2.4\r\n"
|
||||
"\t\tc-1.7,1.7-2.6,4.1-2.6,6.5l0,96.4c0,1.5,1.8,2.2,2.9,1.2l68.4-68.4C300.3,87.2,301.3,85,301.3,82.7z\"/>\r\n"
|
||||
"\t<path fill=\"#939598\" d=\"M207.2,176.3l-96.4,0c-2.4,0-4.8,0.9-6.5,2.6c-1.9,1.9-2.7,4.4-2.4,7c2.6,22.2,11.4,43.3,25.3,60.9\r\n"
|
||||
"\t\tc1.7,2.2,4.1,3.3,6.6,3.3c2.3,0,4.5-1,6.2-2.7c0,0,0,0,0,0l68.4-68.4C209.4,178.1,208.7,176.3,207.2,176.3z\"/>\r\n"
|
||||
"\t<path fill=\"#808285\" d=\"M215.1,185.8L146.9,254c-1.7,1.7-2.8,4-2.8,6.4c0,2.7,1.2,5.1,3.3,6.7c17.6,13.9,38.6,22.6,60.9,25.2\r\n"
|
||||
"\t\tc2.7,0.3,5.2-0.5,7.1-2.3c1.6-1.6,2.5-3.8,2.5-6.3c0,0,0,0,0,0l0-96.7C217.9,185.5,216.1,184.8,215.1,185.8z\"/>\r\n"
|
||||
"</g>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* background_logo_svg = (const char*) temp_binary_data_22;
|
||||
|
||||
//================== background_tile.png ==================
|
||||
static const unsigned char temp_binary_data_23[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137,
|
||||
8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* background_tile_png = (const char*) temp_binary_data_22;
|
||||
const char* background_tile_png = (const char*) temp_binary_data_23;
|
||||
|
||||
//================== colourscheme_dark.xml ==================
|
||||
static const unsigned char temp_binary_data_23[] =
|
||||
static const unsigned char temp_binary_data_24[] =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
|
||||
"\r\n"
|
||||
"<COLOUR_SCHEME font=\"<Monospaced>; 13.0\">\r\n"
|
||||
|
|
@ -1503,10 +1545,10 @@ static const unsigned char temp_binary_data_23[] =
|
|||
" <COLOUR name=\"Error\" colour=\"FFE60000\"/>\r\n"
|
||||
"</COLOUR_SCHEME>\r\n";
|
||||
|
||||
const char* colourscheme_dark_xml = (const char*) temp_binary_data_23;
|
||||
const char* colourscheme_dark_xml = (const char*) temp_binary_data_24;
|
||||
|
||||
//================== colourscheme_light.xml ==================
|
||||
static const unsigned char temp_binary_data_24[] =
|
||||
static const unsigned char temp_binary_data_25[] =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
|
||||
"\r\n"
|
||||
"<COLOUR_SCHEME font=\"<Monospaced>; 13.0\">\r\n"
|
||||
|
|
@ -1531,10 +1573,10 @@ static const unsigned char temp_binary_data_24[] =
|
|||
" <COLOUR name=\"Error\" colour=\"ffcc0000\"/>\r\n"
|
||||
"</COLOUR_SCHEME>\r\n";
|
||||
|
||||
const char* colourscheme_light_xml = (const char*) temp_binary_data_24;
|
||||
const char* colourscheme_light_xml = (const char*) temp_binary_data_25;
|
||||
|
||||
//================== juce_icon.png ==================
|
||||
static const unsigned char temp_binary_data_25[] =
|
||||
static const unsigned char temp_binary_data_26[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,67,120,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,
|
||||
112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,10,60,120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,
|
||||
97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,
|
||||
|
|
@ -2360,10 +2402,10 @@ static const unsigned char temp_binary_data_25[] =
|
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,255,88,234,20,149,130,13,78,186,0,0,0,0,73,69,78,68,
|
||||
174,66,96,130,0,0 };
|
||||
|
||||
const char* juce_icon_png = (const char*) temp_binary_data_25;
|
||||
const char* juce_icon_png = (const char*) temp_binary_data_26;
|
||||
|
||||
//================== projectIconAndroid.png ==================
|
||||
static const unsigned char temp_binary_data_26[] =
|
||||
static const unsigned char temp_binary_data_27[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76,
|
||||
58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,
|
||||
120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,
|
||||
|
|
@ -2480,10 +2522,10 @@ static const unsigned char temp_binary_data_26[] =
|
|||
139,240,165,4,64,57,166,132,157,54,246,220,165,230,39,27,156,211,4,232,176,247,44,193,125,203,174,137,229,132,198,114,231,150,74,124,238,9,19,9,244,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,189,235,246,255,2,12,0,158,
|
||||
137,39,54,252,6,9,64,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* projectIconAndroid_png = (const char*) temp_binary_data_26;
|
||||
const char* projectIconAndroid_png = (const char*) temp_binary_data_27;
|
||||
|
||||
//================== projectIconCodeblocks.png ==================
|
||||
static const unsigned char temp_binary_data_27[] =
|
||||
static const unsigned char temp_binary_data_28[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76,
|
||||
58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,
|
||||
120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,
|
||||
|
|
@ -2653,10 +2695,10 @@ static const unsigned char temp_binary_data_27[] =
|
|||
202,84,15,91,2,120,13,161,41,237,191,111,130,252,4,17,176,224,208,111,140,253,56,221,147,207,16,11,238,233,234,37,192,250,248,241,59,248,122,10,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,
|
||||
62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,126,28,143,255,39,192,0,238,147,31,89,162,25,31,21,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* projectIconCodeblocks_png = (const char*) temp_binary_data_27;
|
||||
const char* projectIconCodeblocks_png = (const char*) temp_binary_data_28;
|
||||
|
||||
//================== projectIconLinuxMakefile.png ==================
|
||||
static const unsigned char temp_binary_data_28[] =
|
||||
static const unsigned char temp_binary_data_29[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,110,0,0,0,128,8,6,0,0,0,234,21,92,9,0,0,10,65,105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,72,13,157,150,119,84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59,72,21,4,
|
||||
81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192,1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229,221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217,103,239,125,215,186,0,80,252,130,4,194,116,
|
||||
88,1,128,52,161,88,20,238,235,193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68,2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191,80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229,2,148,
|
||||
|
|
@ -2892,10 +2934,10 @@ static const unsigned char temp_binary_data_28[] =
|
|||
194,72,142,254,249,31,79,111,60,173,241,241,124,82,34,189,246,233,251,163,179,223,129,178,15,181,97,103,68,217,251,253,17,198,63,35,254,218,150,109,129,235,236,183,141,63,16,97,60,125,157,93,199,211,219,217,245,128,211,250,223,12,238,70,210,82,169,25,
|
||||
10,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_28;
|
||||
const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_29;
|
||||
|
||||
//================== projectIconVisualStudio.png ==================
|
||||
static const unsigned char temp_binary_data_29[] =
|
||||
static const unsigned char temp_binary_data_30[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,4,166,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,120,58,120,109,112,109,101,
|
||||
116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,88,77,80,32,67,111,114,101,32,53,46,52,46,48,34,62,10,32,32,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,
|
||||
100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,10,32,32,32,32,32,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,
|
||||
|
|
@ -2998,10 +3040,10 @@ static const unsigned char temp_binary_data_29[] =
|
|||
60,9,167,156,184,49,164,154,223,25,2,227,183,193,73,245,49,24,79,213,175,147,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,192,129,64,
|
||||
129,255,7,47,12,150,8,60,209,161,194,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* projectIconVisualStudio_png = (const char*) temp_binary_data_29;
|
||||
const char* projectIconVisualStudio_png = (const char*) temp_binary_data_30;
|
||||
|
||||
//================== projectIconXcode.png ==================
|
||||
static const unsigned char temp_binary_data_30[] =
|
||||
static const unsigned char temp_binary_data_31[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58,
|
||||
99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120,
|
||||
58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54,
|
||||
|
|
@ -3261,10 +3303,10 @@ static const unsigned char temp_binary_data_30[] =
|
|||
94,156,0,232,23,120,134,102,179,249,235,17,128,9,19,38,192,59,223,249,206,152,182,172,169,75,67,169,119,178,110,237,223,246,242,196,143,188,48,28,50,88,157,63,127,254,175,124,82,161,71,186,231,200,203,63,99,234,231,229,216,252,127,248,207,255,19,96,0,
|
||||
221,83,18,25,240,8,112,38,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* projectIconXcode_png = (const char*) temp_binary_data_30;
|
||||
const char* projectIconXcode_png = (const char*) temp_binary_data_31;
|
||||
|
||||
//================== projectIconXcodeIOS.png ==================
|
||||
static const unsigned char temp_binary_data_31[] =
|
||||
static const unsigned char temp_binary_data_32[] =
|
||||
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76,
|
||||
58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,
|
||||
120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,
|
||||
|
|
@ -3522,10 +3564,10 @@ static const unsigned char temp_binary_data_31[] =
|
|||
4,97,9,162,191,203,0,199,198,0,162,157,87,213,105,220,35,12,64,131,146,62,249,201,79,186,117,103,130,86,133,76,84,14,16,185,67,123,223,37,252,241,103,134,146,206,234,228,201,147,143,250,164,172,171,29,174,239,254,252,101,253,188,235,155,255,31,255,249,
|
||||
255,2,12,0,235,154,52,248,249,240,115,28,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
|
||||
|
||||
const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_31;
|
||||
const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_32;
|
||||
|
||||
//================== RecentFilesMenuTemplate.nib ==================
|
||||
static const unsigned char temp_binary_data_32[] =
|
||||
static const unsigned char temp_binary_data_33[] =
|
||||
{ 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50,
|
||||
0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226,
|
||||
0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,
|
||||
|
|
@ -3562,10 +3604,10 @@ static const unsigned char temp_binary_data_32[] =
|
|||
7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8,
|
||||
41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 };
|
||||
|
||||
const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_32;
|
||||
const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_33;
|
||||
|
||||
//================== wizard_AnimatedApp.svg ==================
|
||||
static const unsigned char temp_binary_data_33[] =
|
||||
static const unsigned char temp_binary_data_34[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3612,10 +3654,10 @@ static const unsigned char temp_binary_data_33[] =
|
|||
"<line opacity=\"0.7\" fill=\"none\" stroke=\"#F29100\" stroke-width=\"1.3469\" stroke-miterlimit=\"10\" x1=\"57.7\" y1=\"48.4\" x2=\"34.2\" y2=\"48.4\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_33;
|
||||
const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_34;
|
||||
|
||||
//================== wizard_AudioApp.svg ==================
|
||||
static const unsigned char temp_binary_data_34[] =
|
||||
static const unsigned char temp_binary_data_35[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3689,10 +3731,10 @@ static const unsigned char temp_binary_data_34[] =
|
|||
"<line fill=\"none\" stroke=\"#F29300\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-miterlimit=\"10\" x1=\"118.8\" y1=\"43.8\" x2=\"118.8\" y2=\"44.5\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_AudioApp_svg = (const char*) temp_binary_data_34;
|
||||
const char* wizard_AudioApp_svg = (const char*) temp_binary_data_35;
|
||||
|
||||
//================== wizard_AudioPlugin.svg ==================
|
||||
static const unsigned char temp_binary_data_35[] =
|
||||
static const unsigned char temp_binary_data_36[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3803,10 +3845,10 @@ static const unsigned char temp_binary_data_35[] =
|
|||
"</g>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_35;
|
||||
const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_36;
|
||||
|
||||
//================== wizard_ConsoleApp.svg ==================
|
||||
static const unsigned char temp_binary_data_36[] =
|
||||
static const unsigned char temp_binary_data_37[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3829,10 +3871,10 @@ static const unsigned char temp_binary_data_36[] =
|
|||
"</g>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_36;
|
||||
const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_37;
|
||||
|
||||
//================== wizard_DLL.svg ==================
|
||||
static const unsigned char temp_binary_data_37[] =
|
||||
static const unsigned char temp_binary_data_38[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3875,10 +3917,10 @@ static const unsigned char temp_binary_data_37[] =
|
|||
"\tl-7.7,5.3c-0.7,0.5-1.7,0.3-2.2-0.4L70.1,31\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_DLL_svg = (const char*) temp_binary_data_37;
|
||||
const char* wizard_DLL_svg = (const char*) temp_binary_data_38;
|
||||
|
||||
//================== wizard_GUI.svg ==================
|
||||
static const unsigned char temp_binary_data_38[] =
|
||||
static const unsigned char temp_binary_data_39[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3929,10 +3971,10 @@ static const unsigned char temp_binary_data_38[] =
|
|||
"\tC0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_GUI_svg = (const char*) temp_binary_data_38;
|
||||
const char* wizard_GUI_svg = (const char*) temp_binary_data_39;
|
||||
|
||||
//================== wizard_Highlight.svg ==================
|
||||
static const unsigned char temp_binary_data_39[] =
|
||||
static const unsigned char temp_binary_data_40[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3942,10 +3984,10 @@ static const unsigned char temp_binary_data_39[] =
|
|||
"\tV108C136.9,111.8,133.9,114.8,130.1,114.8z\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_Highlight_svg = (const char*) temp_binary_data_39;
|
||||
const char* wizard_Highlight_svg = (const char*) temp_binary_data_40;
|
||||
|
||||
//================== wizard_Openfile.svg ==================
|
||||
static const unsigned char temp_binary_data_40[] =
|
||||
static const unsigned char temp_binary_data_41[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3955,10 +3997,10 @@ static const unsigned char temp_binary_data_40[] =
|
|||
"\tc0-3.8,3.1-6.9,6.9-6.9h151.5c3.8,0,6.9,3.1,6.9,6.9v20.9C171.6,68.3,168.5,71.4,164.7,71.4z\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_Openfile_svg = (const char*) temp_binary_data_40;
|
||||
const char* wizard_Openfile_svg = (const char*) temp_binary_data_41;
|
||||
|
||||
//================== wizard_OpenGL.svg ==================
|
||||
static const unsigned char temp_binary_data_41[] =
|
||||
static const unsigned char temp_binary_data_42[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -3986,10 +4028,10 @@ static const unsigned char temp_binary_data_41[] =
|
|||
"\ts-13.4-19.6-6.9-30\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_OpenGL_svg = (const char*) temp_binary_data_41;
|
||||
const char* wizard_OpenGL_svg = (const char*) temp_binary_data_42;
|
||||
|
||||
//================== wizard_StaticLibrary.svg ==================
|
||||
static const unsigned char temp_binary_data_42[] =
|
||||
static const unsigned char temp_binary_data_43[] =
|
||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"
|
||||
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"
|
||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"
|
||||
|
|
@ -4032,7 +4074,7 @@ static const unsigned char temp_binary_data_42[] =
|
|||
"\tc-1,0-1.8-0.8-1.8-1.8V20.8\"/>\r\n"
|
||||
"</svg>\r\n";
|
||||
|
||||
const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_42;
|
||||
const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_43;
|
||||
|
||||
|
||||
const char* getNamedResource (const char*, int&) throw();
|
||||
|
|
@ -4067,6 +4109,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw
|
|||
case 0x36e634a1: numBytes = 1626; return jucer_NewInlineComponentTemplate_h;
|
||||
case 0x7fbac252: numBytes = 1827; return jucer_OpenGLComponentTemplate_cpp;
|
||||
case 0x44be9398: numBytes = 2745; return AudioPluginXCodeScript_txt;
|
||||
case 0x406db5c1: numBytes = 3117; return background_logo_svg;
|
||||
case 0x4a0cfd09: numBytes = 151; return background_tile_png;
|
||||
case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml;
|
||||
case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml;
|
||||
|
|
@ -4119,6 +4162,7 @@ const char* namedResourceList[] =
|
|||
"jucer_NewInlineComponentTemplate_h",
|
||||
"jucer_OpenGLComponentTemplate_cpp",
|
||||
"AudioPluginXCodeScript_txt",
|
||||
"background_logo_svg",
|
||||
"background_tile_png",
|
||||
"colourscheme_dark_xml",
|
||||
"colourscheme_light_xml",
|
||||
|
|
|
|||
|
|
@ -75,6 +75,9 @@ namespace BinaryData
|
|||
extern const char* AudioPluginXCodeScript_txt;
|
||||
const int AudioPluginXCodeScript_txtSize = 2745;
|
||||
|
||||
extern const char* background_logo_svg;
|
||||
const int background_logo_svgSize = 3117;
|
||||
|
||||
extern const char* background_tile_png;
|
||||
const int background_tile_pngSize = 151;
|
||||
|
||||
|
|
@ -142,7 +145,7 @@ namespace BinaryData
|
|||
extern const char* namedResourceList[];
|
||||
|
||||
// Number of elements in the namedResourceList array.
|
||||
const int namedResourceListSize = 43;
|
||||
const int namedResourceListSize = 44;
|
||||
|
||||
// If you provide the name of one of the binary resource variables above, this function will
|
||||
// return the corresponding data and its size (or a null pointer if the name isn't found).
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ namespace CommandIDs
|
|||
saveAll = 0x200080,
|
||||
openInIDE = 0x200072,
|
||||
saveAndOpenInIDE = 0x200073,
|
||||
createNewExporter = 0x20007d,
|
||||
|
||||
showUTF8Tool = 0x200076,
|
||||
showGlobalPreferences = 0x200077,
|
||||
|
|
|
|||
37
extras/Introjucer/Source/BinaryData/background_logo.svg
Normal file
37
extras/Introjucer/Source/BinaryData/background_logo.svg
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 451.7 451.7" enable-background="new 0 0 451.7 451.7" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#808285" d="M111.8,421.9c-8.7,0-15.6-3.2-21.8-11.3l8.5-7.3c4.2,5.5,8.2,7.6,13.3,7.6c9.2,0,15.5-6.9,15.5-17.5v-51.8
|
||||
h11.7v51.8C138.9,410.4,127.7,421.9,111.8,421.9z"/>
|
||||
<path fill="#808285" d="M185.7,421.9c-17,0-31.6-12.5-31.6-33.1v-47.2h11.7v46.6c0,13.8,8.2,22.8,19.9,22.8c11.7,0,20-8.9,20-22.8
|
||||
v-46.6h11.7v47.2C217.4,409.4,202.7,421.9,185.7,421.9z"/>
|
||||
<path fill="#808285" d="M268.9,421.9c-22.6,0-40.9-18.1-40.9-40.6c0-22.6,18.5-40.6,40.9-40.6c10,0,18.8,3.5,25.7,9.2l-6.9,8.6
|
||||
c-7.1-5-12-6.8-18.7-6.8c-16.2,0-29.1,13-29.1,29.7c0,16.7,12.9,29.7,29.1,29.7c6.4,0,11.8-2,18.6-6.7l7,8.7
|
||||
C285.9,419.6,278.1,421.9,268.9,421.9z"/>
|
||||
<path fill="#808285" d="M307.5,420.9v-79.3h47.8v10.5h-36.1v23.5h34.7V386h-34.7v24.4h36.1v10.5H307.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#808285" d="M222.6,313.3c-78.2,0-141.7-63.6-141.7-141.7S144.5,29.8,222.6,29.8s141.7,63.6,141.7,141.7
|
||||
S300.8,313.3,222.6,313.3z M222.6,39.3c-72.9,0-132.3,59.3-132.3,132.3s59.3,132.3,132.3,132.3s132.3-59.3,132.3-132.3
|
||||
S295.6,39.3,222.6,39.3z"/>
|
||||
<path fill="#414042" d="M334.5,166.8c2.4,0,4.8-0.9,6.5-2.6c1.9-1.9,2.7-4.4,2.4-7c-2.6-22.2-11.4-43.3-25.3-60.9
|
||||
c-1.7-2.2-4.1-3.3-6.6-3.3c-2.3,0-4.5,1-6.2,2.7L236.9,164c-1.1,1.1-0.3,2.9,1.2,2.9L334.5,166.8z"/>
|
||||
<path fill="#58595B" d="M311.5,250.2L311.5,250.2c2.6,0,4.9-1.2,6.6-3.3c13.9-17.6,22.6-38.7,25.3-60.9c0.3-2.6-0.6-5.1-2.4-7
|
||||
c-1.7-1.7-4.1-2.6-6.5-2.6l-96.4,0c-1.5,0-2.2,1.8-1.2,2.9l68.4,68.4C307,249.2,309.2,250.2,311.5,250.2z"/>
|
||||
<path fill="#6D6E71" d="M229.9,290L229.9,290c1.8,1.8,4.3,2.7,7.1,2.3c22.3-2.6,43.4-11.3,60.9-25.2c2.1-1.6,3.2-4,3.3-6.7
|
||||
c0-2.4-1-4.7-2.8-6.4l-68.1-68.1c-1.1-1.1-2.9-0.3-2.9,1.2l0,96.7C227.4,286.1,228.2,288.4,229.9,290z"/>
|
||||
<path fill="#A7A9AC" d="M133.8,92.9c-2.6,0-4.9,1.2-6.6,3.3c-13.9,17.6-22.6,38.7-25.3,60.9c-0.3,2.6,0.6,5.1,2.4,7
|
||||
c1.7,1.7,4.1,2.6,6.5,2.6l96.4,0c1.5,0,2.2-1.8,1.2-2.9L140,95.6C138.3,93.9,136.1,92.9,133.8,92.9z"/>
|
||||
<path fill="#BCBEC0" d="M215.4,53.1c-1.8-1.8-4.3-2.7-7.1-2.3C186.1,53.4,165,62.1,147.4,76c-2.1,1.6-3.2,4-3.3,6.7
|
||||
c0,2.4,1,4.7,2.8,6.4l68.1,68.1c1.1,1.1,2.9,0.3,2.9-1.2l0-96.7C217.9,57,217,54.8,215.4,53.1z"/>
|
||||
<path fill="#D1D3D4" d="M301.3,82.7c0-2.6-1.2-4.9-3.3-6.6c-17.6-13.9-38.7-22.6-60.9-25.3c-2.6-0.3-5.1,0.6-7,2.4
|
||||
c-1.7,1.7-2.6,4.1-2.6,6.5l0,96.4c0,1.5,1.8,2.2,2.9,1.2l68.4-68.4C300.3,87.2,301.3,85,301.3,82.7z"/>
|
||||
<path fill="#939598" d="M207.2,176.3l-96.4,0c-2.4,0-4.8,0.9-6.5,2.6c-1.9,1.9-2.7,4.4-2.4,7c2.6,22.2,11.4,43.3,25.3,60.9
|
||||
c1.7,2.2,4.1,3.3,6.6,3.3c2.3,0,4.5-1,6.2-2.7c0,0,0,0,0,0l68.4-68.4C209.4,178.1,208.7,176.3,207.2,176.3z"/>
|
||||
<path fill="#808285" d="M215.1,185.8L146.9,254c-1.7,1.7-2.8,4-2.8,6.4c0,2.7,1.2,5.1,3.3,6.7c17.6,13.9,38.6,22.6,60.9,25.2
|
||||
c2.7,0.3,5.2-0.5,7.1-2.3c1.6-1.6,2.5-3.8,2.5-6.3c0,0,0,0,0,0l0-96.7C217.9,185.5,216.1,184.8,215.1,185.8z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3 KiB |
|
|
@ -22,30 +22,12 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
class AndroidProjectExporter : public ProjectExporter
|
||||
class AndroidProjectExporterBase : public ProjectExporter
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
static const char* getNameAndroid() { return "Android Project"; }
|
||||
static const char* getValueTreeTypeName() { return "ANDROID"; }
|
||||
|
||||
static AndroidProjectExporter* createForSettings (Project& project, const ValueTree& settings)
|
||||
{
|
||||
if (settings.hasType (getValueTreeTypeName()))
|
||||
return new AndroidProjectExporter (project, settings);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
AndroidProjectExporter (Project& p, const ValueTree& t)
|
||||
AndroidProjectExporterBase (Project& p, const ValueTree& t)
|
||||
: ProjectExporter (p, t)
|
||||
{
|
||||
name = getNameAndroid();
|
||||
|
||||
if (getTargetLocationString().isEmpty())
|
||||
getTargetLocationValue() = getDefaultBuildsRootFolder() + "Android";
|
||||
|
||||
if (getVersionCodeString().isEmpty())
|
||||
getVersionCodeValue() = 1;
|
||||
|
||||
|
|
@ -67,13 +49,21 @@ public:
|
|||
initialiseDependencyPathValues();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
bool canLaunchProject() override { return false; }
|
||||
bool launchProject() override { return false; }
|
||||
bool isAndroid() const override { return true; }
|
||||
bool usesMMFiles() const override { return false; }
|
||||
bool canCopeWithDuplicateFiles() override { return false; }
|
||||
|
||||
void create (const OwnedArray<LibraryModule>& modules) const override
|
||||
{
|
||||
const String package (getActivityClassPackage());
|
||||
const String path (package.replaceCharacter ('.', File::separator));
|
||||
const File target (getTargetFolder().getChildFile ("src").getChildFile (path));
|
||||
|
||||
copyActivityJavaFiles (modules, target, package);
|
||||
}
|
||||
|
||||
void createExporterProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
props.add (new TextPropertyComponent (getActivityClassPathValue(), "Android Activity class name", 256, false),
|
||||
|
|
@ -172,6 +162,7 @@ public:
|
|||
Value getCPP11EnabledValue() { return getSetting (Ids::androidCpp11); }
|
||||
bool isCPP11Enabled() const { return settings [Ids::androidCpp11]; }
|
||||
|
||||
//==============================================================================
|
||||
String createDefaultClassName() const
|
||||
{
|
||||
String s (project.getBundleIdentifier().toString().toLowerCase());
|
||||
|
|
@ -192,84 +183,168 @@ public:
|
|||
return s + CodeHelpers::makeValidIdentifier (project.getProjectFilenameRoot(), false, true, false);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void create (const OwnedArray<LibraryModule>& modules) const override
|
||||
void initialiseDependencyPathValues()
|
||||
{
|
||||
const File target (getTargetFolder());
|
||||
const File jniFolder (target.getChildFile ("jni"));
|
||||
sdkPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::androidSDKPath),
|
||||
Ids::androidSDKPath, TargetOS::getThisOS())));
|
||||
|
||||
copyActivityJavaFiles (modules);
|
||||
createDirectoryOrThrow (jniFolder);
|
||||
createDirectoryOrThrow (target.getChildFile ("res").getChildFile ("values"));
|
||||
createDirectoryOrThrow (target.getChildFile ("libs"));
|
||||
createDirectoryOrThrow (target.getChildFile ("bin"));
|
||||
ndkPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::androidNDKPath),
|
||||
Ids::androidNDKPath, TargetOS::getThisOS())));
|
||||
}
|
||||
|
||||
void copyActivityJavaFiles (const OwnedArray<LibraryModule>& modules, const File& targetFolder, const String& package) const
|
||||
{
|
||||
const String className (getActivityName());
|
||||
|
||||
if (className.isEmpty())
|
||||
throw SaveError ("Invalid Android Activity class name: " + getActivityClassPath());
|
||||
|
||||
createDirectoryOrThrow (targetFolder);
|
||||
|
||||
LibraryModule* const coreModule = getCoreModule (modules);
|
||||
|
||||
if (coreModule != nullptr)
|
||||
{
|
||||
ScopedPointer<XmlElement> manifest (createManifestXML());
|
||||
writeXmlOrThrow (*manifest, target.getChildFile ("AndroidManifest.xml"), "utf-8", 100, true);
|
||||
File javaDestFile (targetFolder.getChildFile (className + ".java"));
|
||||
|
||||
File javaSourceFile (coreModule->getFolder().getChildFile ("native")
|
||||
.getChildFile ("java")
|
||||
.getChildFile ("JuceAppActivity.java"));
|
||||
|
||||
MemoryOutputStream newFile;
|
||||
newFile << javaSourceFile.loadFileAsString()
|
||||
.replace ("JuceAppActivity", className)
|
||||
.replace ("package com.juce;", "package " + package + ";");
|
||||
|
||||
overwriteFileIfDifferentOrThrow (javaDestFile, newFile);
|
||||
}
|
||||
}
|
||||
|
||||
writeApplicationMk (jniFolder.getChildFile ("Application.mk"));
|
||||
writeAndroidMk (jniFolder.getChildFile ("Android.mk"));
|
||||
String getAppPlatform() const
|
||||
{
|
||||
int ndkVersion = getMinimumSDKVersionString().getIntValue();
|
||||
if (ndkVersion == 9)
|
||||
ndkVersion = 10; // (doesn't seem to be a version '9')
|
||||
|
||||
return "android-" + String (ndkVersion);
|
||||
}
|
||||
|
||||
String getActivityName() const
|
||||
{
|
||||
return getActivityClassPath().fromLastOccurrenceOf (".", false, false);
|
||||
}
|
||||
|
||||
String getActivitySubClassName() const
|
||||
{
|
||||
String activityPath = getActivitySubClassPath();
|
||||
|
||||
return (activityPath.isEmpty()) ? getActivityName() : activityPath.fromLastOccurrenceOf (".", false, false);
|
||||
}
|
||||
|
||||
String getActivityClassPackage() const
|
||||
{
|
||||
return getActivityClassPath().upToLastOccurrenceOf (".", false, false);
|
||||
}
|
||||
|
||||
String getJNIActivityClassName() const
|
||||
{
|
||||
return getActivityClassPath().replaceCharacter ('.', '/');
|
||||
}
|
||||
|
||||
static LibraryModule* getCoreModule (const OwnedArray<LibraryModule>& modules)
|
||||
{
|
||||
for (int i = modules.size(); --i >= 0;)
|
||||
if (modules.getUnchecked(i)->getID() == "juce_core")
|
||||
return modules.getUnchecked(i);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
String getCppFlags() const
|
||||
{
|
||||
String flags ("-fsigned-char -fexceptions -frtti");
|
||||
|
||||
if (! getNDKToolchainVersionString().startsWithIgnoreCase ("clang"))
|
||||
flags << " -Wno-psabi";
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
StringArray getPermissionsRequired() const
|
||||
{
|
||||
StringArray s;
|
||||
s.addTokens (getOtherPermissions(), ", ", "");
|
||||
|
||||
if (getInternetNeeded()) s.add ("android.permission.INTERNET");
|
||||
if (getAudioRecordNeeded()) s.add ("android.permission.RECORD_AUDIO");
|
||||
|
||||
return getCleanedStringArray (s);
|
||||
}
|
||||
|
||||
template <typename PredicateT>
|
||||
void findAllProjectItemsWithPredicate (const Project::Item& projectItem, Array<RelativePath>& results, const PredicateT& predicate) const
|
||||
{
|
||||
if (projectItem.isGroup())
|
||||
{
|
||||
ScopedPointer<XmlElement> antBuildXml (createAntBuildXML());
|
||||
writeXmlOrThrow (*antBuildXml, target.getChildFile ("build.xml"), "UTF-8", 100);
|
||||
for (int i = 0; i < projectItem.getNumChildren(); ++i)
|
||||
findAllProjectItemsWithPredicate (projectItem.getChild(i), results, predicate);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (predicate (projectItem))
|
||||
results.add (RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder));
|
||||
}
|
||||
}
|
||||
|
||||
writeProjectPropertiesFile (target.getChildFile ("project.properties"));
|
||||
writeLocalPropertiesFile (target.getChildFile ("local.properties"));
|
||||
writeStringsFile (target.getChildFile ("res/values/strings.xml"));
|
||||
void writeIcon (const File& file, const Image& im) const
|
||||
{
|
||||
if (im.isValid())
|
||||
{
|
||||
createDirectoryOrThrow (file.getParentDirectory());
|
||||
|
||||
PNGImageFormat png;
|
||||
MemoryOutputStream mo;
|
||||
|
||||
if (! png.writeImageToStream (im, mo))
|
||||
throw SaveError ("Can't generate Android icon file");
|
||||
|
||||
overwriteFileIfDifferentOrThrow (file, mo);
|
||||
}
|
||||
}
|
||||
|
||||
void writeIcons (const File& folder) const
|
||||
{
|
||||
ScopedPointer<Drawable> bigIcon (getBigIcon());
|
||||
ScopedPointer<Drawable> smallIcon (getSmallIcon());
|
||||
|
||||
if (bigIcon != nullptr && smallIcon != nullptr)
|
||||
{
|
||||
const int step = jmax (bigIcon->getWidth(), bigIcon->getHeight()) / 8;
|
||||
writeIcon (target.getChildFile ("res/drawable-xhdpi/icon.png"), getBestIconForSize (step * 8, false));
|
||||
writeIcon (target.getChildFile ("res/drawable-hdpi/icon.png"), getBestIconForSize (step * 6, false));
|
||||
writeIcon (target.getChildFile ("res/drawable-mdpi/icon.png"), getBestIconForSize (step * 4, false));
|
||||
writeIcon (target.getChildFile ("res/drawable-ldpi/icon.png"), getBestIconForSize (step * 3, false));
|
||||
writeIcon (folder.getChildFile ("drawable-xhdpi/icon.png"), getBestIconForSize (step * 8, false));
|
||||
writeIcon (folder.getChildFile ("drawable-hdpi/icon.png"), getBestIconForSize (step * 6, false));
|
||||
writeIcon (folder.getChildFile ("drawable-mdpi/icon.png"), getBestIconForSize (step * 4, false));
|
||||
writeIcon (folder.getChildFile ("drawable-ldpi/icon.png"), getBestIconForSize (step * 3, false));
|
||||
}
|
||||
else if (Drawable* icon = bigIcon != nullptr ? bigIcon : smallIcon)
|
||||
{
|
||||
writeIcon (target.getChildFile ("res/drawable-mdpi/icon.png"), rescaleImageForIcon (*icon, icon->getWidth()));
|
||||
writeIcon (folder.getChildFile ("drawable-mdpi/icon.png"), rescaleImageForIcon (*icon, icon->getWidth()));
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
//==============================================================================
|
||||
class AndroidBuildConfiguration : public BuildConfiguration
|
||||
template <typename BuildConfigType>
|
||||
String getABIs (bool forDebug) const
|
||||
{
|
||||
public:
|
||||
AndroidBuildConfiguration (Project& p, const ValueTree& settings)
|
||||
: BuildConfiguration (p, settings)
|
||||
for (ConstConfigIterator config (*this); config.next();)
|
||||
{
|
||||
if (getArchitectures().isEmpty())
|
||||
getArchitecturesValue() = "armeabi armeabi-v7a";
|
||||
const BuildConfigType& androidConfig = dynamic_cast<const BuildConfigType&> (*config);
|
||||
|
||||
if (config->isDebug() == forDebug)
|
||||
return androidConfig.getArchitectures();
|
||||
}
|
||||
|
||||
Value getArchitecturesValue() { return getValue (Ids::androidArchitectures); }
|
||||
String getArchitectures() const { return config [Ids::androidArchitectures]; }
|
||||
|
||||
var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); }
|
||||
|
||||
void createConfigProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
addGCCOptimisationProperty (props);
|
||||
|
||||
props.add (new TextPropertyComponent (getArchitecturesValue(), "Architectures", 256, false),
|
||||
"A list of the ARM architectures to build (for a fat binary).");
|
||||
}
|
||||
};
|
||||
|
||||
BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override
|
||||
{
|
||||
return new AndroidBuildConfiguration (project, v);
|
||||
return String();
|
||||
}
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
XmlElement* createManifestXML() const
|
||||
{
|
||||
|
|
@ -334,119 +409,109 @@ private:
|
|||
return manifest;
|
||||
}
|
||||
|
||||
StringArray getPermissionsRequired() const
|
||||
{
|
||||
StringArray s;
|
||||
s.addTokens (getOtherPermissions(), ", ", "");
|
||||
|
||||
if (getInternetNeeded()) s.add ("android.permission.INTERNET");
|
||||
if (getAudioRecordNeeded()) s.add ("android.permission.RECORD_AUDIO");
|
||||
|
||||
return getCleanedStringArray (s);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void findAllFilesToCompile (const Project::Item& projectItem, Array<RelativePath>& results) const
|
||||
{
|
||||
if (projectItem.isGroup())
|
||||
{
|
||||
for (int i = 0; i < projectItem.getNumChildren(); ++i)
|
||||
findAllFilesToCompile (projectItem.getChild(i), results);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (projectItem.shouldBeCompiled())
|
||||
results.add (RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder));
|
||||
}
|
||||
}
|
||||
Value sdkPath, ndkPath;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AndroidProjectExporterBase)
|
||||
};
|
||||
|
||||
|
||||
//==============================================================================
|
||||
//==============================================================================
|
||||
class AndroidAntProjectExporter : public AndroidProjectExporterBase
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
String getActivityName() const
|
||||
{
|
||||
return getActivityClassPath().fromLastOccurrenceOf (".", false, false);
|
||||
}
|
||||
static const char* getName() { return "Android Project"; }
|
||||
static const char* getValueTreeTypeName() { return "ANDROID"; }
|
||||
|
||||
String getActivitySubClassName() const
|
||||
static AndroidAntProjectExporter* createForSettings (Project& project, const ValueTree& settings)
|
||||
{
|
||||
String activityPath = getActivitySubClassPath();
|
||||
|
||||
return (activityPath.isEmpty()) ? getActivityName() : activityPath.fromLastOccurrenceOf (".", false, false);
|
||||
}
|
||||
|
||||
String getActivityClassPackage() const
|
||||
{
|
||||
return getActivityClassPath().upToLastOccurrenceOf (".", false, false);
|
||||
}
|
||||
|
||||
String getJNIActivityClassName() const
|
||||
{
|
||||
return getActivityClassPath().replaceCharacter ('.', '/');
|
||||
}
|
||||
|
||||
static LibraryModule* getCoreModule (const OwnedArray<LibraryModule>& modules)
|
||||
{
|
||||
for (int i = modules.size(); --i >= 0;)
|
||||
if (modules.getUnchecked(i)->getID() == "juce_core")
|
||||
return modules.getUnchecked(i);
|
||||
if (settings.hasType (getValueTreeTypeName()))
|
||||
return new AndroidAntProjectExporter (project, settings);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void copyActivityJavaFiles (const OwnedArray<LibraryModule>& modules) const
|
||||
//==============================================================================
|
||||
AndroidAntProjectExporter (Project& p, const ValueTree& t)
|
||||
: AndroidProjectExporterBase (p, t)
|
||||
{
|
||||
const String className (getActivityName());
|
||||
const String package (getActivityClassPackage());
|
||||
String path (package.replaceCharacter ('.', File::separator));
|
||||
name = getName();
|
||||
|
||||
if (path.isEmpty() || className.isEmpty())
|
||||
throw SaveError ("Invalid Android Activity class name: " + getActivityClassPath());
|
||||
|
||||
const File classFolder (getTargetFolder().getChildFile ("src")
|
||||
.getChildFile (path));
|
||||
createDirectoryOrThrow (classFolder);
|
||||
|
||||
LibraryModule* const coreModule = getCoreModule (modules);
|
||||
|
||||
if (coreModule != nullptr)
|
||||
{
|
||||
File javaDestFile (classFolder.getChildFile (className + ".java"));
|
||||
|
||||
File javaSourceFile (coreModule->getFolder().getChildFile ("native")
|
||||
.getChildFile ("java")
|
||||
.getChildFile ("JuceAppActivity.java"));
|
||||
|
||||
MemoryOutputStream newFile;
|
||||
newFile << javaSourceFile.loadFileAsString()
|
||||
.replace ("JuceAppActivity", className)
|
||||
.replace ("package com.juce;", "package " + package + ";");
|
||||
|
||||
overwriteFileIfDifferentOrThrow (javaDestFile, newFile);
|
||||
}
|
||||
if (getTargetLocationString().isEmpty())
|
||||
getTargetLocationValue() = getDefaultBuildsRootFolder() + "Android";
|
||||
}
|
||||
|
||||
String getABIs (bool forDebug) const
|
||||
//==============================================================================
|
||||
void createExporterProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
for (ConstConfigIterator config (*this); config.next();)
|
||||
{
|
||||
const AndroidBuildConfiguration& androidConfig = dynamic_cast<const AndroidBuildConfiguration&> (*config);
|
||||
AndroidProjectExporterBase::createExporterProperties (props);
|
||||
}
|
||||
|
||||
if (config->isDebug() == forDebug)
|
||||
return androidConfig.getArchitectures();
|
||||
void create (const OwnedArray<LibraryModule>& modules) const override
|
||||
{
|
||||
AndroidProjectExporterBase::create (modules);
|
||||
|
||||
const File target (getTargetFolder());
|
||||
const File jniFolder (target.getChildFile ("jni"));
|
||||
|
||||
createDirectoryOrThrow (jniFolder);
|
||||
createDirectoryOrThrow (target.getChildFile ("res").getChildFile ("values"));
|
||||
createDirectoryOrThrow (target.getChildFile ("libs"));
|
||||
createDirectoryOrThrow (target.getChildFile ("bin"));
|
||||
|
||||
{
|
||||
ScopedPointer<XmlElement> manifest (createManifestXML());
|
||||
writeXmlOrThrow (*manifest, target.getChildFile ("AndroidManifest.xml"), "utf-8", 100, true);
|
||||
}
|
||||
|
||||
return String();
|
||||
writeApplicationMk (jniFolder.getChildFile ("Application.mk"));
|
||||
writeAndroidMk (jniFolder.getChildFile ("Android.mk"));
|
||||
|
||||
{
|
||||
ScopedPointer<XmlElement> antBuildXml (createAntBuildXML());
|
||||
writeXmlOrThrow (*antBuildXml, target.getChildFile ("build.xml"), "UTF-8", 100);
|
||||
}
|
||||
|
||||
writeProjectPropertiesFile (target.getChildFile ("project.properties"));
|
||||
writeLocalPropertiesFile (target.getChildFile ("local.properties"));
|
||||
writeStringsFile (target.getChildFile ("res/values/strings.xml"));
|
||||
writeIcons (target.getChildFile ("res"));
|
||||
}
|
||||
|
||||
String getCppFlags() const
|
||||
//==============================================================================
|
||||
class AndroidBuildConfiguration : public BuildConfiguration
|
||||
{
|
||||
String flags ("-fsigned-char -fexceptions -frtti");
|
||||
public:
|
||||
AndroidBuildConfiguration (Project& p, const ValueTree& settings)
|
||||
: BuildConfiguration (p, settings)
|
||||
{
|
||||
if (getArchitectures().isEmpty())
|
||||
getArchitecturesValue() = "armeabi armeabi-v7a";
|
||||
}
|
||||
|
||||
if (! getNDKToolchainVersionString().startsWithIgnoreCase ("clang"))
|
||||
flags << " -Wno-psabi";
|
||||
Value getArchitecturesValue() { return getValue (Ids::androidArchitectures); }
|
||||
String getArchitectures() const { return config [Ids::androidArchitectures]; }
|
||||
|
||||
return flags;
|
||||
var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); }
|
||||
|
||||
void createConfigProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
addGCCOptimisationProperty (props);
|
||||
|
||||
props.add (new TextPropertyComponent (getArchitecturesValue(), "Architectures", 256, false),
|
||||
"A list of the ARM architectures to build (for a fat binary).");
|
||||
}
|
||||
};
|
||||
|
||||
BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override
|
||||
{
|
||||
return new AndroidBuildConfiguration (project, v);
|
||||
}
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
String getToolchainVersion() const
|
||||
{
|
||||
String v (getNDKToolchainVersionString());
|
||||
|
|
@ -466,9 +531,9 @@ private:
|
|||
<< "NDK_TOOLCHAIN_VERSION := " << getToolchainVersion() << newLine
|
||||
<< newLine
|
||||
<< "ifeq ($(NDK_DEBUG),1)" << newLine
|
||||
<< " APP_ABI := " << getABIs (true) << newLine
|
||||
<< " APP_ABI := " << getABIs<AndroidBuildConfiguration> (true) << newLine
|
||||
<< "else" << newLine
|
||||
<< " APP_ABI := " << getABIs (false) << newLine
|
||||
<< " APP_ABI := " << getABIs<AndroidBuildConfiguration> (false) << newLine
|
||||
<< "endif" << newLine;
|
||||
|
||||
overwriteFileIfDifferentOrThrow (file, mo);
|
||||
|
|
@ -478,8 +543,13 @@ private:
|
|||
{
|
||||
Array<RelativePath> files;
|
||||
|
||||
struct Predicate
|
||||
{
|
||||
bool operator() (const Project::Item& projectItem) const { return projectItem.shouldBeAddedToTargetProject(); }
|
||||
};
|
||||
|
||||
for (int i = 0; i < getAllGroups().size(); ++i)
|
||||
findAllFilesToCompile (getAllGroups().getReference(i), files);
|
||||
findAllProjectItemsWithPredicate (getAllGroups().getReference(i), files, Predicate());
|
||||
|
||||
MemoryOutputStream mo;
|
||||
writeAndroidMk (mo, files);
|
||||
|
|
@ -687,15 +757,6 @@ private:
|
|||
equals->setAttribute ("arg2", "debug");
|
||||
}
|
||||
|
||||
String getAppPlatform() const
|
||||
{
|
||||
int ndkVersion = getMinimumSDKVersionString().getIntValue();
|
||||
if (ndkVersion == 9)
|
||||
ndkVersion = 10; // (doesn't seem to be a version '9')
|
||||
|
||||
return "android-" + String (ndkVersion);
|
||||
}
|
||||
|
||||
void writeProjectPropertiesFile (const File& file) const
|
||||
{
|
||||
MemoryOutputStream mo;
|
||||
|
|
@ -725,22 +786,6 @@ private:
|
|||
overwriteFileIfDifferentOrThrow (file, mo);
|
||||
}
|
||||
|
||||
void writeIcon (const File& file, const Image& im) const
|
||||
{
|
||||
if (im.isValid())
|
||||
{
|
||||
createDirectoryOrThrow (file.getParentDirectory());
|
||||
|
||||
PNGImageFormat png;
|
||||
MemoryOutputStream mo;
|
||||
|
||||
if (! png.writeImageToStream (im, mo))
|
||||
throw SaveError ("Can't generate Android icon file");
|
||||
|
||||
overwriteFileIfDifferentOrThrow (file, mo);
|
||||
}
|
||||
}
|
||||
|
||||
void writeStringsFile (const File& file) const
|
||||
{
|
||||
XmlElement strings ("resources");
|
||||
|
|
@ -751,19 +796,6 @@ private:
|
|||
writeXmlOrThrow (strings, file, "utf-8", 100);
|
||||
}
|
||||
|
||||
void initialiseDependencyPathValues()
|
||||
{
|
||||
sdkPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::androidSDKPath),
|
||||
Ids::androidSDKPath,
|
||||
TargetOS::getThisOS())));
|
||||
|
||||
ndkPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::androidNDKPath),
|
||||
Ids::androidNDKPath,
|
||||
TargetOS::getThisOS())));
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Value sdkPath, ndkPath;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (AndroidProjectExporter)
|
||||
JUCE_DECLARE_NON_COPYABLE (AndroidAntProjectExporter)
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,616 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2015 - ROLI Ltd.
|
||||
|
||||
Permission is granted to use this software under the terms of either:
|
||||
a) the GPL v2 (or any later version)
|
||||
b) the Affero GPL v3
|
||||
|
||||
Details of these licenses can be found 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.juce.com for more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
class AndroidStudioProjectExporter : public AndroidProjectExporterBase
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
static const char* getName() { return "Android Studio"; }
|
||||
static const char* getValueTreeTypeName() { return "ANDROIDSTUDIO"; }
|
||||
|
||||
static AndroidStudioProjectExporter* createForSettings (Project& project, const ValueTree& settings)
|
||||
{
|
||||
if (settings.hasType (getValueTreeTypeName()))
|
||||
return new AndroidStudioProjectExporter (project, settings);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
AndroidStudioProjectExporter (Project& p, const ValueTree& t)
|
||||
: AndroidProjectExporterBase (p, t),
|
||||
androidStudioExecutable (findAndroidStudioExecutable())
|
||||
{
|
||||
name = getName();
|
||||
|
||||
if (getTargetLocationString().isEmpty())
|
||||
getTargetLocationValue() = getDefaultBuildsRootFolder() + "AndroidStudio";
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
bool canLaunchProject() override
|
||||
{
|
||||
return androidStudioExecutable.exists();
|
||||
}
|
||||
|
||||
bool launchProject() override
|
||||
{
|
||||
if (! androidStudioExecutable.exists())
|
||||
{
|
||||
jassertfalse;
|
||||
return false;
|
||||
}
|
||||
|
||||
const File targetFolder (getTargetFolder());
|
||||
|
||||
return androidStudioExecutable.startAsProcess (targetFolder.getFullPathName());
|
||||
}
|
||||
|
||||
void createExporterProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
AndroidProjectExporterBase::createExporterProperties (props);
|
||||
}
|
||||
|
||||
void create (const OwnedArray<LibraryModule>& modules) const override
|
||||
{
|
||||
const File targetFolder (getTargetFolder());
|
||||
targetFolder.deleteRecursively();
|
||||
|
||||
{
|
||||
const String package (getActivityClassPackage());
|
||||
const String path (package.replaceCharacter ('.', File::separator));
|
||||
const File javaTarget (targetFolder.getChildFile ("app/src/main/java").getChildFile (path));
|
||||
|
||||
copyActivityJavaFiles (modules, javaTarget, package);
|
||||
}
|
||||
|
||||
writeSettingsDotGradle (targetFolder);
|
||||
writeLocalDotProperties (targetFolder);
|
||||
writeBuildDotGradleRoot (targetFolder);
|
||||
writeBuildDotGradleApp (targetFolder);
|
||||
writeGradleWrapperProperties (targetFolder);
|
||||
writeAndroidManifest (targetFolder);
|
||||
writeStringsXML (targetFolder);
|
||||
writeAppIcons (targetFolder);
|
||||
|
||||
createSourceSymlinks (targetFolder);
|
||||
}
|
||||
|
||||
static File findAndroidStudioExecutable()
|
||||
{
|
||||
#if JUCE_WINDOWS
|
||||
const File defaultInstallation ("C:\\Program Files\\Android\\Android Studio\\bin");
|
||||
|
||||
if (defaultInstallation.exists())
|
||||
{
|
||||
{
|
||||
const File studio64 = defaultInstallation.getChildFile ("studio64.exe");
|
||||
|
||||
if (studio64.existsAsFile())
|
||||
return studio64;
|
||||
}
|
||||
|
||||
{
|
||||
const File studio = defaultInstallation.getChildFile ("studio.exe");
|
||||
|
||||
if (studio.existsAsFile())
|
||||
return studio;
|
||||
}
|
||||
}
|
||||
#elif JUCE_MAC
|
||||
const File defaultInstallation ("/Applications/Android Studio.app");
|
||||
|
||||
if (defaultInstallation.exists())
|
||||
return defaultInstallation;
|
||||
#endif
|
||||
|
||||
return File::nonexistent;
|
||||
}
|
||||
|
||||
protected:
|
||||
//==============================================================================
|
||||
class AndroidStudioBuildConfiguration : public BuildConfiguration
|
||||
{
|
||||
public:
|
||||
AndroidStudioBuildConfiguration (Project& p, const ValueTree& settings)
|
||||
: BuildConfiguration (p, settings)
|
||||
{
|
||||
if (getArchitectures().isEmpty())
|
||||
getArchitecturesValue() = "armeabi armeabi-v7a";
|
||||
}
|
||||
|
||||
Value getArchitecturesValue() { return getValue (Ids::androidArchitectures); }
|
||||
String getArchitectures() const { return config [Ids::androidArchitectures]; }
|
||||
|
||||
var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); }
|
||||
|
||||
void createConfigProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
addGCCOptimisationProperty (props);
|
||||
|
||||
props.add (new TextPropertyComponent (getArchitecturesValue(), "Architectures", 256, false),
|
||||
"A list of the ARM architectures to build (for a fat binary).");
|
||||
}
|
||||
};
|
||||
|
||||
BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override
|
||||
{
|
||||
return new AndroidStudioBuildConfiguration (project, v);
|
||||
}
|
||||
|
||||
private:
|
||||
static void createSymboicLinkAndCreateParentFolders (const File& originalFile, const File& linkFile)
|
||||
{
|
||||
{
|
||||
const File linkFileParentDirectory (linkFile.getParentDirectory());
|
||||
|
||||
// this will recursively creative the parent directories for the file
|
||||
// without this, the symlink would fail because it doesn't automatically create
|
||||
// the folders if they don't exist
|
||||
if (! linkFileParentDirectory.createDirectory())
|
||||
throw SaveError (String ("Could not create directory ") + linkFileParentDirectory.getFullPathName());
|
||||
}
|
||||
|
||||
if (! originalFile.createSymbolicLink (linkFile, true))
|
||||
throw SaveError (String ("Failed to create symlink from ")
|
||||
+ linkFile.getFullPathName() + " to "
|
||||
+ originalFile.getFullPathName() + "!");
|
||||
}
|
||||
|
||||
void makeSymlinksForGroup (const Project::Item& group, const File& targetFolder) const
|
||||
{
|
||||
if (! group.isGroup())
|
||||
{
|
||||
throw SaveError ("makeSymlinksForGroup was called with something other than a group!");
|
||||
}
|
||||
|
||||
for (int i = 0; i < group.getNumChildren(); ++i)
|
||||
{
|
||||
const Project::Item& projectItem = group.getChild (i);
|
||||
|
||||
if (projectItem.isGroup())
|
||||
{
|
||||
makeSymlinksForGroup (projectItem, targetFolder.getChildFile (projectItem.getName()));
|
||||
}
|
||||
else if (projectItem.shouldBeAddedToTargetProject()) // must be a file then
|
||||
{
|
||||
const File originalFile (projectItem.getFile());
|
||||
const File targetFile (targetFolder.getChildFile (originalFile.getFileName()));
|
||||
|
||||
createSymboicLinkAndCreateParentFolders (originalFile, targetFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void createSourceSymlinks (const File& folder) const
|
||||
{
|
||||
const File targetFolder (folder.getChildFile ("app/src/main/jni"));
|
||||
|
||||
// here we make symlinks to only to files included in the groups inside the project
|
||||
// this is because Android Studio does not have a concept of groups and just uses
|
||||
// the file system layout to determine what's to be compiled
|
||||
{
|
||||
const Array<Project::Item>& groups = getAllGroups();
|
||||
|
||||
for (int i = 0; i < groups.size(); ++i)
|
||||
{
|
||||
const Project::Item projectItem (groups.getReference (i));
|
||||
const String projectItemName (projectItem.getName());
|
||||
|
||||
if (projectItem.isGroup())
|
||||
makeSymlinksForGroup (projectItem, projectItemName == "Juce Modules" ? targetFolder.getChildFile ("JuceModules") : targetFolder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void writeAppIcons (const File& folder) const
|
||||
{
|
||||
writeIcons (folder.getChildFile ("app/src/main/res/"));
|
||||
}
|
||||
|
||||
void writeSettingsDotGradle (const File& folder) const
|
||||
{
|
||||
MemoryOutputStream memoryOutputStream;
|
||||
|
||||
memoryOutputStream << "include ':app'";
|
||||
|
||||
overwriteFileIfDifferentOrThrow (folder.getChildFile ("settings.gradle"), memoryOutputStream);
|
||||
}
|
||||
|
||||
static String sanitisePath (String path)
|
||||
{
|
||||
if (path.startsWith ("~"))
|
||||
{
|
||||
const String homeFolder (File::getSpecialLocation (File::SpecialLocationType::userHomeDirectory).getFullPathName());
|
||||
|
||||
path = path.replaceSection (0, 1, homeFolder);
|
||||
}
|
||||
|
||||
return path.replace ("\\", "\\\\");
|
||||
}
|
||||
|
||||
void writeLocalDotProperties (const File& folder) const
|
||||
{
|
||||
MemoryOutputStream memoryOutputStream;
|
||||
|
||||
memoryOutputStream << "ndk.dir=" << sanitisePath (getNDKPathString()) << newLine
|
||||
<< "sdk.dir=" << sanitisePath (getSDKPathString());
|
||||
|
||||
overwriteFileIfDifferentOrThrow (folder.getChildFile ("local.properties"), memoryOutputStream);
|
||||
}
|
||||
|
||||
void writeGradleWrapperProperties (const File& folder) const
|
||||
{
|
||||
MemoryOutputStream memoryOutputStream;
|
||||
|
||||
memoryOutputStream << "distributionUrl=https\\://services.gradle.org/distributions/gradle-2.6-all.zip";
|
||||
|
||||
overwriteFileIfDifferentOrThrow (folder.getChildFile ("gradle/wrapper/gradle-wrapper.properties"), memoryOutputStream);
|
||||
}
|
||||
|
||||
void writeBuildDotGradleRoot (const File& folder) const
|
||||
{
|
||||
MemoryOutputStream memoryOutputStream;
|
||||
|
||||
const String indent = getIndentationString();
|
||||
|
||||
// this is needed to make sure the correct version of
|
||||
// the gradle build tools is available
|
||||
// otherwise, the user will get an error about
|
||||
// com.android.tools.something not being available
|
||||
memoryOutputStream << "buildscript {" << newLine
|
||||
<< indent << "repositories {" << newLine
|
||||
<< indent << indent << "jcenter()" << newLine
|
||||
<< indent << "}" << newLine
|
||||
<< indent << "dependencies {" << newLine
|
||||
<< indent << indent << "classpath 'com.android.tools.build:gradle-experimental:0.3.0-alpha7'" << newLine
|
||||
<< indent << "}" << newLine
|
||||
<< "}" << newLine
|
||||
<< newLine
|
||||
<< "allprojects {" << newLine
|
||||
<< indent << "repositories {" << newLine
|
||||
<< indent << indent << "jcenter()" << newLine
|
||||
<< indent << "}" << newLine
|
||||
<< "}";
|
||||
|
||||
overwriteFileIfDifferentOrThrow (folder.getChildFile ("build.gradle"), memoryOutputStream);
|
||||
}
|
||||
|
||||
void writeStringsXML (const File& folder) const
|
||||
{
|
||||
XmlElement strings ("resources");
|
||||
XmlElement* resourceName = strings.createNewChildElement ("string");
|
||||
|
||||
resourceName->setAttribute ("name", "app_name");
|
||||
resourceName->addTextElement (projectName);
|
||||
|
||||
writeXmlOrThrow (strings, folder.getChildFile ("app/src/main/res/values/string.xml"), "utf-8", 100, true);
|
||||
}
|
||||
|
||||
void writeAndroidManifest (const File& folder) const
|
||||
{
|
||||
ScopedPointer<XmlElement> manifest (createManifestXML());
|
||||
|
||||
writeXmlOrThrow (*manifest, folder.getChildFile ("app/src/main/AndroidManifest.xml"), "utf-8", 100, true);
|
||||
}
|
||||
|
||||
String createModelDotAndroid (const String& indent, const String& minimumSDKVersion, const String& bundleIdentifier) const
|
||||
{
|
||||
String result;
|
||||
|
||||
result << "android {" << newLine
|
||||
<< indent << "compileSdkVersion = " << minimumSDKVersion << newLine
|
||||
<< indent << "buildToolsVersion = \"" << "23.0.1" << "\"" << newLine
|
||||
<< indent << "defaultConfig.with {" << newLine
|
||||
<< indent << indent << "applicationId = \"" << bundleIdentifier.toLowerCase() << "\"" << newLine
|
||||
<< indent << indent << "minSdkVersion.apiLevel = 11" << newLine
|
||||
<< indent << indent << "targetSdkVersion.apiLevel = " << minimumSDKVersion << newLine
|
||||
<< indent << "}" << newLine
|
||||
<< "}" << newLine;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
String createModelDotCompileOptions (const String& indent) const
|
||||
{
|
||||
String result;
|
||||
|
||||
result << "compileOptions.with {" << newLine
|
||||
<< indent << "sourceCompatibility = JavaVersion.VERSION_1_7" << newLine
|
||||
<< indent << indent << "targetCompatibility = JavaVersion.VERSION_1_7" << newLine
|
||||
<< "}" << newLine;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
String createModelDotAndroidSources (const String& indent) const
|
||||
{
|
||||
String result;
|
||||
|
||||
result << "android.sources {" << newLine
|
||||
<< indent << "main {" << newLine
|
||||
<< indent << indent << "jni {" << newLine
|
||||
<< indent << indent << indent << "source {" << newLine
|
||||
<< indent << indent << indent << indent << "exclude \"**/JuceModules/\"" << newLine
|
||||
<< indent << indent << indent << "}" << newLine
|
||||
<< indent << indent << "}" << newLine
|
||||
<< indent << "}" << newLine
|
||||
<< "}" << newLine;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
StringArray getCPPFlags() const
|
||||
{
|
||||
StringArray result;
|
||||
|
||||
result.add ("\"-fsigned-char\"");
|
||||
result.add ("\"-fexceptions\"");
|
||||
result.add ("\"-frtti\"");
|
||||
|
||||
if (isCPP11Enabled())
|
||||
result.add ("\"-std=gnu++11\"");
|
||||
|
||||
// preprocessor definitions
|
||||
|
||||
{
|
||||
StringPairArray preprocessorDefinitions = getAllPreprocessorDefs();
|
||||
preprocessorDefinitions.set ("JUCE_ANDROID", "1");
|
||||
preprocessorDefinitions.set ("JUCE_ANDROID_ACTIVITY_CLASSNAME", getJNIActivityClassName().replaceCharacter ('/', '_'));
|
||||
preprocessorDefinitions.set ("JUCE_ANDROID_ACTIVITY_CLASSPATH", "\\\"" + getActivityClassPath().replaceCharacter('.', '/') + "\\\"");
|
||||
|
||||
const StringArray& keys = preprocessorDefinitions.getAllKeys();
|
||||
|
||||
for (int i = 0; i < keys.size(); ++i)
|
||||
result.add (String ("\"-D") + keys[i] + String ("=") + preprocessorDefinitions[keys[i]] + "\"");
|
||||
}
|
||||
|
||||
// include paths
|
||||
|
||||
result.add ("\"-I${project.rootDir}/app\".toString()");
|
||||
result.add ("\"-I${ext.juceRootDir}\".toString()");
|
||||
result.add ("\"-I${ext.juceModuleDir}\".toString()");
|
||||
|
||||
{
|
||||
Array<RelativePath> cppFiles;
|
||||
const Array<Project::Item>& groups = getAllGroups();
|
||||
|
||||
struct Predicate
|
||||
{
|
||||
bool operator() (const Project::Item& projectItem) const { return projectItem.shouldBeAddedToTargetProject(); }
|
||||
};
|
||||
|
||||
for (int i = 0; i < groups.size(); ++i)
|
||||
findAllProjectItemsWithPredicate (groups.getReference (i), cppFiles, Predicate());
|
||||
|
||||
for (int i = 0; i < cppFiles.size(); ++i)
|
||||
{
|
||||
const RelativePath absoluteSourceFile (cppFiles.getReference (i).rebased (getTargetFolder(),
|
||||
project.getProjectFolder(),
|
||||
RelativePath::projectFolder));
|
||||
|
||||
const String absoluteIncludeFolder (sanitisePath (project.getProjectFolder().getFullPathName() + "/"
|
||||
+ absoluteSourceFile.toUnixStyle().upToLastOccurrenceOf ("/", false, false)));
|
||||
|
||||
result.addIfNotAlreadyThere ("\"-I" + absoluteIncludeFolder + "\".toString()");
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
StringArray getLDLibs() const
|
||||
{
|
||||
StringArray result;
|
||||
|
||||
result.add ("android");
|
||||
result.add ("EGL");
|
||||
result.add ("GLESv2");
|
||||
result.add ("log");
|
||||
|
||||
result.addArray (StringArray::fromTokens(getExternalLibrariesString(), ";", ""));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
String createModelDotAndroidNDK (const String& indent) const
|
||||
{
|
||||
String result;
|
||||
|
||||
result << "android.ndk {" << newLine
|
||||
<< indent << "moduleName = \"juce_jni\"" << newLine
|
||||
<< indent << "stl = \"gnustl_static\"" << newLine
|
||||
<< indent << "toolchainVersion = 4.9" << newLine
|
||||
<< indent << "ext {" << newLine
|
||||
<< indent << indent << "juceRootDir = \"" << "${project.rootDir}/../../../../" << "\".toString()" << newLine
|
||||
<< indent << indent << "juceModuleDir = \"" << "${juceRootDir}/modules" << "\".toString()" << newLine
|
||||
<< indent << "}" << newLine;
|
||||
|
||||
// CPP flags
|
||||
|
||||
{
|
||||
StringArray cppFlags (getCPPFlags());
|
||||
|
||||
for (int i = 0; i < cppFlags.size(); ++i)
|
||||
result << indent << "cppFlags += " << cppFlags[i] << newLine;
|
||||
}
|
||||
|
||||
// libraries
|
||||
|
||||
{
|
||||
StringArray libraries (getLDLibs());
|
||||
|
||||
result << indent << "ldLibs += [";
|
||||
|
||||
for (int i = 0; i < libraries.size(); ++i)
|
||||
{
|
||||
result << "\"" << libraries[i] << "\"";
|
||||
|
||||
if (i + 1 != libraries.size())
|
||||
result << ", ";
|
||||
}
|
||||
|
||||
result << "]" << newLine;
|
||||
}
|
||||
|
||||
result << "}" << newLine;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
String getGradleCPPFlags (const String& indent, const ConstConfigIterator& config) const
|
||||
{
|
||||
String result;
|
||||
StringArray rootFlags;
|
||||
StringArray ndkFlags;
|
||||
|
||||
if (config->isDebug())
|
||||
{
|
||||
ndkFlags.add ("debuggable = true");
|
||||
ndkFlags.add ("cppFlags += \"-g\"");
|
||||
ndkFlags.add ("cppFlags += \"-DDEBUG=1\"");
|
||||
ndkFlags.add ("cppFlags += \"-D_DEBUG=1\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
rootFlags.add ("minifyEnabled = true");
|
||||
rootFlags.add ("proguardFiles += 'proguard-android-optimize.txt'");
|
||||
|
||||
ndkFlags.add ("cppFlags += \"-DNDEBUG=1\"");
|
||||
}
|
||||
|
||||
{
|
||||
StringArray extraFlags (StringArray::fromTokens (getExtraCompilerFlagsString(), " ", ""));
|
||||
|
||||
for (int i = 0; extraFlags.size(); ++i)
|
||||
ndkFlags.add (String ("cppFlags += \"") + extraFlags[i] + "\"");
|
||||
}
|
||||
|
||||
// there appears to be an issue with build types that have a name other than
|
||||
// "debug" or "release". Apparently this is hard coded in Android Studio ...
|
||||
{
|
||||
const String configName (config->getName());
|
||||
|
||||
if (configName != "Debug" && configName != "Release")
|
||||
throw SaveError ("Build configurations other than Debug and Release are not yet support for Android Studio");
|
||||
|
||||
result << configName.toLowerCase() << " {" << newLine;
|
||||
}
|
||||
|
||||
for (int i = 0; i < rootFlags.size(); ++i)
|
||||
result << indent << rootFlags[i] << newLine;
|
||||
|
||||
result << indent << "ndk.with {" << newLine;
|
||||
|
||||
for (int i = 0; i < ndkFlags.size(); ++i)
|
||||
result << indent << indent << ndkFlags[i] << newLine;
|
||||
|
||||
result << indent << "}" << newLine
|
||||
<< "}" << newLine;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
String createModelDotAndroidDotBuildTypes (const String& indent) const
|
||||
{
|
||||
String result;
|
||||
|
||||
result << "android.buildTypes {" << newLine;
|
||||
|
||||
for (ConstConfigIterator config (*this); config.next();)
|
||||
result << CodeHelpers::indent (getGradleCPPFlags (indent, config), indent.length(), true);
|
||||
|
||||
result << "}";
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
String createModelDotAndroidDotProductFlavors (const String& indent) const
|
||||
{
|
||||
String result;
|
||||
|
||||
result << "android.productFlavors {" << newLine;
|
||||
|
||||
// TODO! - this needs to be changed so that it generates seperate flags for debug and release ...
|
||||
// at present, it just generates all ABIs for all build types
|
||||
|
||||
StringArray architectures (StringArray::fromTokens (getABIs<AndroidStudioBuildConfiguration> (true), " ", ""));
|
||||
architectures.mergeArray (StringArray::fromTokens (getABIs<AndroidStudioBuildConfiguration> (false), " ", ""));
|
||||
|
||||
if (architectures.size() == 0)
|
||||
throw SaveError ("Can't build for no architectures!");
|
||||
|
||||
for (int i = 0; i < architectures.size(); ++i)
|
||||
{
|
||||
String architecture (architectures[i].trim());
|
||||
|
||||
if (architecture.isEmpty())
|
||||
continue;
|
||||
|
||||
result << indent << "create(\"" << architecture << "\") {" << newLine
|
||||
<< indent << indent << "ndk.abiFilters += \"" << architecture << "\"" << newLine
|
||||
<< indent << "}" << newLine;
|
||||
}
|
||||
|
||||
result << "}" << newLine;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void writeBuildDotGradleApp (const File& folder) const
|
||||
{
|
||||
MemoryOutputStream memoryOutputStream;
|
||||
|
||||
const String indent = getIndentationString();
|
||||
const String minimumSDKVersion = getMinimumSDKVersionString();
|
||||
const String bundleIdentifier = project.getBundleIdentifier().toString();
|
||||
|
||||
memoryOutputStream << "apply plugin: 'com.android.model.application'" << newLine
|
||||
<< newLine
|
||||
<< "model {" << newLine
|
||||
<< CodeHelpers::indent (createModelDotAndroid (indent, minimumSDKVersion, bundleIdentifier), indent.length(), true)
|
||||
<< newLine
|
||||
<< CodeHelpers::indent (createModelDotCompileOptions (indent), indent.length(), true)
|
||||
<< newLine
|
||||
<< CodeHelpers::indent (createModelDotAndroidSources (indent), indent.length(), true)
|
||||
<< newLine
|
||||
<< CodeHelpers::indent (createModelDotAndroidNDK (indent), indent.length(), true)
|
||||
<< newLine
|
||||
<< CodeHelpers::indent (createModelDotAndroidDotBuildTypes (indent), indent.length(), true)
|
||||
<< newLine
|
||||
<< CodeHelpers::indent (createModelDotAndroidDotProductFlavors (indent), indent.length(), true)
|
||||
<< "}";
|
||||
|
||||
overwriteFileIfDifferentOrThrow (folder.getChildFile ("app/build.gradle"), memoryOutputStream);
|
||||
}
|
||||
|
||||
static const char* getIndentationString() noexcept
|
||||
{
|
||||
return " ";
|
||||
}
|
||||
|
||||
const File androidStudioExecutable;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (AndroidStudioProjectExporter)
|
||||
};
|
||||
|
|
@ -29,6 +29,7 @@
|
|||
#include "jucer_ProjectExport_MSVC.h"
|
||||
#include "jucer_ProjectExport_XCode.h"
|
||||
#include "jucer_ProjectExport_Android.h"
|
||||
#include "jucer_ProjectExport_AndroidStudio.h"
|
||||
#include "jucer_ProjectExport_CodeBlocks.h"
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -52,7 +53,8 @@ Array<ProjectExporter::ExporterTypeInfo> ProjectExporter::getExporterTypes()
|
|||
addType (types, MSVCProjectExporterVC2008::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize);
|
||||
addType (types, MSVCProjectExporterVC2005::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize);
|
||||
addType (types, MakefileProjectExporter::getNameLinux(), BinaryData::projectIconLinuxMakefile_png, BinaryData::projectIconLinuxMakefile_pngSize);
|
||||
addType (types, AndroidProjectExporter::getNameAndroid(), BinaryData::projectIconAndroid_png, BinaryData::projectIconAndroid_pngSize);
|
||||
addType (types, AndroidStudioProjectExporter::getName(), BinaryData::projectIconAndroid_png, BinaryData::projectIconAndroid_pngSize);
|
||||
addType (types, AndroidAntProjectExporter::getName(), BinaryData::projectIconAndroid_png, BinaryData::projectIconAndroid_pngSize);
|
||||
addType (types, CodeBlocksProjectExporter::getNameWindows(), BinaryData::projectIconCodeblocks_png, BinaryData::projectIconCodeblocks_pngSize);
|
||||
addType (types, CodeBlocksProjectExporter::getNameLinux(), BinaryData::projectIconCodeblocks_png, BinaryData::projectIconCodeblocks_pngSize);
|
||||
|
||||
|
|
@ -65,18 +67,19 @@ ProjectExporter* ProjectExporter::createNewExporter (Project& project, const int
|
|||
|
||||
switch (index)
|
||||
{
|
||||
case 0: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (false)), false); break;
|
||||
case 1: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (true)), true); break;
|
||||
case 2: exp = new MSVCProjectExporterVC2015 (project, ValueTree (MSVCProjectExporterVC2015::getValueTreeTypeName())); break;
|
||||
case 3: exp = new MSVCProjectExporterVC2013 (project, ValueTree (MSVCProjectExporterVC2013::getValueTreeTypeName())); break;
|
||||
case 4: exp = new MSVCProjectExporterVC2012 (project, ValueTree (MSVCProjectExporterVC2012::getValueTreeTypeName())); break;
|
||||
case 5: exp = new MSVCProjectExporterVC2010 (project, ValueTree (MSVCProjectExporterVC2010::getValueTreeTypeName())); break;
|
||||
case 6: exp = new MSVCProjectExporterVC2008 (project, ValueTree (MSVCProjectExporterVC2008::getValueTreeTypeName())); break;
|
||||
case 7: exp = new MSVCProjectExporterVC2005 (project, ValueTree (MSVCProjectExporterVC2005::getValueTreeTypeName())); break;
|
||||
case 8: exp = new MakefileProjectExporter (project, ValueTree (MakefileProjectExporter ::getValueTreeTypeName())); break;
|
||||
case 9: exp = new AndroidProjectExporter (project, ValueTree (AndroidProjectExporter ::getValueTreeTypeName())); break;
|
||||
case 10: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter::getValueTreeTypeName (CodeBlocksProjectExporter::windowsTarget)), CodeBlocksProjectExporter::windowsTarget); break;
|
||||
case 11: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter::getValueTreeTypeName (CodeBlocksProjectExporter::linuxTarget)), CodeBlocksProjectExporter::linuxTarget); break;
|
||||
case 0: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (false)), false); break;
|
||||
case 1: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (true)), true); break;
|
||||
case 2: exp = new MSVCProjectExporterVC2015 (project, ValueTree (MSVCProjectExporterVC2015 ::getValueTreeTypeName())); break;
|
||||
case 3: exp = new MSVCProjectExporterVC2013 (project, ValueTree (MSVCProjectExporterVC2013 ::getValueTreeTypeName())); break;
|
||||
case 4: exp = new MSVCProjectExporterVC2012 (project, ValueTree (MSVCProjectExporterVC2012 ::getValueTreeTypeName())); break;
|
||||
case 5: exp = new MSVCProjectExporterVC2010 (project, ValueTree (MSVCProjectExporterVC2010 ::getValueTreeTypeName())); break;
|
||||
case 6: exp = new MSVCProjectExporterVC2008 (project, ValueTree (MSVCProjectExporterVC2008 ::getValueTreeTypeName())); break;
|
||||
case 7: exp = new MSVCProjectExporterVC2005 (project, ValueTree (MSVCProjectExporterVC2005 ::getValueTreeTypeName())); break;
|
||||
case 8: exp = new MakefileProjectExporter (project, ValueTree (MakefileProjectExporter ::getValueTreeTypeName())); break;
|
||||
case 9: exp = new AndroidStudioProjectExporter (project, ValueTree (AndroidStudioProjectExporter ::getValueTreeTypeName())); break;
|
||||
case 10: exp = new AndroidAntProjectExporter (project, ValueTree (AndroidAntProjectExporter ::getValueTreeTypeName())); break;
|
||||
case 11: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::windowsTarget)), CodeBlocksProjectExporter::windowsTarget); break;
|
||||
case 12: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::linuxTarget)), CodeBlocksProjectExporter::linuxTarget); break;
|
||||
default: jassertfalse; return 0;
|
||||
}
|
||||
|
||||
|
|
@ -117,16 +120,17 @@ ProjectExporter* ProjectExporter::createNewExporter (Project& project, const Str
|
|||
|
||||
ProjectExporter* ProjectExporter::createExporter (Project& project, const ValueTree& settings)
|
||||
{
|
||||
ProjectExporter* exp = MSVCProjectExporterVC2005::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2008::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2010::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2012::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2013::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2015::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = XCodeProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MakefileProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = AndroidProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = CodeBlocksProjectExporter::createForSettings (project, settings);
|
||||
ProjectExporter* exp = MSVCProjectExporterVC2005 ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2008 ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2010 ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2012 ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2013 ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MSVCProjectExporterVC2015 ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = XCodeProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = MakefileProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = AndroidStudioProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = AndroidAntProjectExporter ::createForSettings (project, settings);
|
||||
if (exp == nullptr) exp = CodeBlocksProjectExporter ::createForSettings (project, settings);
|
||||
|
||||
jassert (exp != nullptr);
|
||||
return exp;
|
||||
|
|
@ -152,6 +156,7 @@ bool ProjectExporter::canProjectBeLaunched (Project* project)
|
|||
// (this doesn't currently launch.. not really sure what it would do on linux)
|
||||
//MakefileProjectExporter::getValueTreeTypeName(),
|
||||
#endif
|
||||
AndroidStudioProjectExporter::getValueTreeTypeName(),
|
||||
|
||||
nullptr
|
||||
};
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@ public:
|
|||
String name;
|
||||
const void* iconData;
|
||||
int iconDataSize;
|
||||
|
||||
Image getIcon() const { return ImageCache::getFromMemory (iconData, iconDataSize); }
|
||||
};
|
||||
|
||||
static StringArray getExporterNames();
|
||||
|
|
|
|||
|
|
@ -174,6 +174,7 @@ public:
|
|||
exportersTree.addListener (this);
|
||||
}
|
||||
|
||||
bool isRoot() const override { return true; }
|
||||
bool isProjectSettings() const override { return true; }
|
||||
String getRenamingName() const override { return getDisplayName(); }
|
||||
String getDisplayName() const override { return project.getTitle(); }
|
||||
|
|
@ -197,25 +198,8 @@ public:
|
|||
|
||||
void showPopupMenu() override
|
||||
{
|
||||
PopupMenu menu;
|
||||
|
||||
const StringArray exporters (ProjectExporter::getExporterNames());
|
||||
|
||||
for (int i = 0; i < exporters.size(); ++i)
|
||||
menu.addItem (i + 1, "Create a new " + exporters[i] + " target");
|
||||
|
||||
launchPopupMenu (menu);
|
||||
}
|
||||
|
||||
void handlePopupMenuResult (int resultCode) override
|
||||
{
|
||||
if (resultCode > 0)
|
||||
{
|
||||
String exporterName (ProjectExporter::getExporterNames() [resultCode - 1]);
|
||||
|
||||
if (exporterName.isNotEmpty())
|
||||
project.addNewExporter (exporterName);
|
||||
}
|
||||
if (ProjectContentComponent* pcc = getProjectContentComponent())
|
||||
pcc->showNewExporterMenu();
|
||||
}
|
||||
|
||||
bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) override
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ class ExporterItem : public ConfigTreeItemBase
|
|||
public:
|
||||
ExporterItem (Project& p, ProjectExporter* e, int index)
|
||||
: project (p), exporter (e), configListTree (exporter->getConfigurations()),
|
||||
exporterIndex (index)
|
||||
exporterIndex (index), icon (createIcon (exporter->getName()))
|
||||
{
|
||||
configListTree.addListener (this);
|
||||
jassert (exporter != nullptr);
|
||||
}
|
||||
|
||||
int getItemHeight() const override { return 22; }
|
||||
bool canBeSelected() const override { return true; }
|
||||
bool mightContainSubItems() override { return exporter->getNumConfigurations() > 0; }
|
||||
String getUniqueName() const override { return "exporter_" + String (exporterIndex); }
|
||||
|
|
@ -40,9 +40,18 @@ public:
|
|||
String getDisplayName() const override { return exporter->getName(); }
|
||||
void setName (const String&) override {}
|
||||
bool isMissing() override { return false; }
|
||||
Icon getIcon() const override { return Icon (getIcons().exporter, getContrastingColour (0.5f)); }
|
||||
Icon getIcon() const override { return Icon(); }
|
||||
void showDocument() override { showSettingsPage (new SettingsComp (exporter)); }
|
||||
|
||||
void paintIcon (Graphics& g, Rectangle<int> area) override
|
||||
{
|
||||
g.setColour (Colours::black);
|
||||
|
||||
g.drawImageWithin (icon, area.getX(), area.getY(),
|
||||
area.getWidth(), area.getHeight(),
|
||||
RectanglePlacement::centred, false);
|
||||
}
|
||||
|
||||
void deleteItem() override
|
||||
{
|
||||
if (AlertWindow::showOkCancelBox (AlertWindow::WarningIcon, "Delete Exporter",
|
||||
|
|
@ -122,6 +131,22 @@ private:
|
|||
ScopedPointer<ProjectExporter> exporter;
|
||||
ValueTree configListTree;
|
||||
int exporterIndex;
|
||||
Image icon;
|
||||
|
||||
static Image createIcon (const String& exporterName)
|
||||
{
|
||||
Array<ProjectExporter::ExporterTypeInfo> types (ProjectExporter::getExporterTypes());
|
||||
|
||||
for (int i = 0; i < types.size(); ++i)
|
||||
{
|
||||
const ProjectExporter::ExporterTypeInfo& type = types.getReference (i);
|
||||
|
||||
if (type.name == exporterName)
|
||||
return type.getIcon();
|
||||
}
|
||||
|
||||
return Image();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
class SettingsComp : public Component
|
||||
|
|
|
|||
|
|
@ -300,6 +300,7 @@ public:
|
|||
moduleListTree.addListener (this);
|
||||
}
|
||||
|
||||
int getItemHeight() const override { return 22; }
|
||||
bool isModulesList() const override { return true; }
|
||||
bool canBeSelected() const override { return true; }
|
||||
bool mightContainSubItems() override { return true; }
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ public:
|
|||
|
||||
//==============================================================================
|
||||
File getGeneratedCodeFolder() const { return getFile().getSiblingFile ("JuceLibraryCode"); }
|
||||
File getSourceFilesFolder() const { return getProjectFolder().getChildFile ("Source"); }
|
||||
File getLocalModulesFolder() const { return getGeneratedCodeFolder().getChildFile ("modules"); }
|
||||
File getLocalModuleFolder (const String& moduleID) const { return getLocalModulesFolder().getChildFile (moduleID); }
|
||||
File getAppIncludeFile() const { return getGeneratedCodeFolder().getChildFile (getJuceSourceHFilename()); }
|
||||
|
|
|
|||
|
|
@ -64,6 +64,11 @@ public:
|
|||
#if JUCE_MAC || JUCE_WINDOWS
|
||||
ApplicationCommandManager& commandManager = IntrojucerApp::getCommandManager();
|
||||
|
||||
addAndMakeVisible (createExporterButton);
|
||||
createExporterButton.setCommandToTrigger (&commandManager, CommandIDs::createNewExporter, true);
|
||||
createExporterButton.setButtonText (commandManager.getNameOfCommand (CommandIDs::createNewExporter));
|
||||
createExporterButton.setColour (TextButton::buttonColourId, Colours::white.withAlpha (0.5f));
|
||||
|
||||
addAndMakeVisible (openProjectButton);
|
||||
openProjectButton.setCommandToTrigger (&commandManager, CommandIDs::openInIDE, true);
|
||||
openProjectButton.setButtonText (commandManager.getNameOfCommand (CommandIDs::openInIDE));
|
||||
|
|
@ -87,20 +92,32 @@ public:
|
|||
if (openProjectButton.isVisible())
|
||||
openProjectButton.setBounds (r.removeFromBottom (30).reduced (16, 4));
|
||||
|
||||
if (createExporterButton.isVisible())
|
||||
{
|
||||
r.removeFromBottom (10);
|
||||
createExporterButton.setBounds (r.removeFromBottom (30).reduced (16, 4));
|
||||
}
|
||||
|
||||
tree.setBounds (r);
|
||||
}
|
||||
|
||||
static void reselect (TreeViewItem& item)
|
||||
{
|
||||
item.setSelected (false, true);
|
||||
item.setSelected (true, true);
|
||||
}
|
||||
|
||||
void showProjectSettings()
|
||||
{
|
||||
if (ConfigTreeItemTypes::ConfigTreeItemBase* root = dynamic_cast<ConfigTreeItemTypes::ConfigTreeItemBase*> (rootItem.get()))
|
||||
if (root->isProjectSettings())
|
||||
root->setSelected (true, true);
|
||||
reselect (*root);
|
||||
}
|
||||
|
||||
void showModules()
|
||||
{
|
||||
if (ConfigTreeItemTypes::ConfigTreeItemBase* mods = getModulesItem())
|
||||
mods->setSelected (true, true);
|
||||
reselect (*mods);
|
||||
}
|
||||
|
||||
void showModule (const String& moduleID)
|
||||
|
|
@ -112,11 +129,11 @@ public:
|
|||
for (int i = mods->getNumSubItems(); --i >= 0;)
|
||||
if (ConfigTreeItemTypes::ModuleItem* m = dynamic_cast<ConfigTreeItemTypes::ModuleItem*> (mods->getSubItem (i)))
|
||||
if (m->moduleID == moduleID)
|
||||
m->setSelected (true, true);
|
||||
reselect (*m);
|
||||
}
|
||||
}
|
||||
|
||||
TextButton openProjectButton, saveAndOpenButton;
|
||||
TextButton createExporterButton, openProjectButton, saveAndOpenButton;
|
||||
|
||||
private:
|
||||
ConfigTreeItemTypes::ConfigTreeItemBase* getModulesItem()
|
||||
|
|
@ -134,6 +151,12 @@ private:
|
|||
//==============================================================================
|
||||
struct LogoComponent : public Component
|
||||
{
|
||||
LogoComponent()
|
||||
{
|
||||
ScopedPointer<XmlElement> svg (XmlDocument::parse (BinaryData::background_logo_svg));
|
||||
logo = Drawable::createFromSVG (*svg);
|
||||
}
|
||||
|
||||
void paint (Graphics& g)
|
||||
{
|
||||
g.setColour (findColour (mainBackgroundColourId).contrasting (0.3f));
|
||||
|
|
@ -141,11 +164,10 @@ struct LogoComponent : public Component
|
|||
Rectangle<int> r (getLocalBounds());
|
||||
|
||||
g.setFont (15.0f);
|
||||
g.drawFittedText (getVersionInfo(), r.removeFromBottom (50), Justification::centred, 3);
|
||||
g.drawFittedText (getVersionInfo(), r.removeFromBottom (50), Justification::centredBottom, 3);
|
||||
|
||||
const Path& logo = getIcons().mainJuceLogo;
|
||||
g.fillPath (logo, RectanglePlacement (RectanglePlacement::centred)
|
||||
.getTransformToFit (logo.getBounds(), r.toFloat()));
|
||||
logo->drawWithin (g, r.withTrimmedBottom (r.getHeight() / 4).toFloat(),
|
||||
RectanglePlacement (RectanglePlacement::centred), 1.0f);
|
||||
}
|
||||
|
||||
static String getVersionInfo()
|
||||
|
|
@ -154,6 +176,8 @@ struct LogoComponent : public Component
|
|||
+ newLine
|
||||
+ IntrojucerApp::getApp().getVersionDescription();
|
||||
}
|
||||
|
||||
ScopedPointer<Drawable> logo;
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -618,6 +642,42 @@ void ProjectContentComponent::openInIDE (bool saveFirst)
|
|||
}
|
||||
}
|
||||
|
||||
static void newExporterMenuCallback (int result, ProjectContentComponent* comp)
|
||||
{
|
||||
if (comp != nullptr && result > 0)
|
||||
{
|
||||
if (Project* p = comp->getProject())
|
||||
{
|
||||
String exporterName (ProjectExporter::getExporterNames() [result - 1]);
|
||||
|
||||
if (exporterName.isNotEmpty())
|
||||
p->addNewExporter (exporterName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectContentComponent::showNewExporterMenu()
|
||||
{
|
||||
if (project != nullptr)
|
||||
{
|
||||
PopupMenu menu;
|
||||
|
||||
menu.addSectionHeader ("Create a new export target:");
|
||||
|
||||
Array<ProjectExporter::ExporterTypeInfo> exporters (ProjectExporter::getExporterTypes());
|
||||
|
||||
for (int i = 0; i < exporters.size(); ++i)
|
||||
{
|
||||
const ProjectExporter::ExporterTypeInfo& type = exporters.getReference(i);
|
||||
|
||||
menu.addItem (i + 1, type.name, true, false, type.getIcon());
|
||||
}
|
||||
|
||||
menu.showMenuAsync (PopupMenu::Options(),
|
||||
ModalCallbackFunction::forComponent (newExporterMenuCallback, this));
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectContentComponent::deleteSelectedTreeItems()
|
||||
{
|
||||
if (TreePanelBase* const tree = dynamic_cast<TreePanelBase*> (treeViewTabs.getCurrentContentComponent()))
|
||||
|
|
@ -695,6 +755,7 @@ void ProjectContentComponent::getAllCommands (Array <CommandID>& commands)
|
|||
CommandIDs::closeProject,
|
||||
CommandIDs::openInIDE,
|
||||
CommandIDs::saveAndOpenInIDE,
|
||||
CommandIDs::createNewExporter,
|
||||
CommandIDs::showFilePanel,
|
||||
CommandIDs::showConfigPanel,
|
||||
CommandIDs::showProjectSettings,
|
||||
|
|
@ -779,32 +840,29 @@ void ProjectContentComponent::getCommandInfo (const CommandID commandID, Applica
|
|||
break;
|
||||
|
||||
case CommandIDs::openInIDE:
|
||||
#if JUCE_MAC
|
||||
result.setInfo ("Open in Xcode...",
|
||||
#elif JUCE_WINDOWS
|
||||
result.setInfo ("Open in Visual Studio...",
|
||||
#else
|
||||
result.setInfo ("Open as a Makefile...",
|
||||
#endif
|
||||
result.setInfo ("Open in IDE...",
|
||||
|
||||
"Launches the project in an external IDE",
|
||||
CommandCategories::general, 0);
|
||||
result.setActive (ProjectExporter::canProjectBeLaunched (project));
|
||||
break;
|
||||
|
||||
case CommandIDs::saveAndOpenInIDE:
|
||||
#if JUCE_MAC
|
||||
result.setInfo ("Save Project and Open in Xcode...",
|
||||
#elif JUCE_WINDOWS
|
||||
result.setInfo ("Save Project and Open in Visual Studio...",
|
||||
#else
|
||||
result.setInfo ("Save Project and Open as a Makefile...",
|
||||
#endif
|
||||
result.setInfo ("Save Project and Open in IDE...",
|
||||
|
||||
"Saves the project and launches it in an external IDE",
|
||||
CommandCategories::general, 0);
|
||||
result.setActive (ProjectExporter::canProjectBeLaunched (project));
|
||||
result.defaultKeypresses.add (KeyPress ('l', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0));
|
||||
break;
|
||||
|
||||
case CommandIDs::createNewExporter:
|
||||
result.setInfo ("Create New Exporter...",
|
||||
"Creates a new exporter for a compiler type",
|
||||
CommandCategories::general, 0);
|
||||
result.setActive (project != nullptr);
|
||||
break;
|
||||
|
||||
case CommandIDs::showFilePanel:
|
||||
result.setInfo ("Show File Panel",
|
||||
"Shows the tree of files for this project",
|
||||
|
|
@ -901,6 +959,8 @@ bool ProjectContentComponent::perform (const InvocationInfo& info)
|
|||
case CommandIDs::openInIDE: openInIDE (false); break;
|
||||
case CommandIDs::saveAndOpenInIDE: openInIDE (true); break;
|
||||
|
||||
case CommandIDs::createNewExporter: showNewExporterMenu(); break;
|
||||
|
||||
case CommandIDs::deleteSelectedItem: deleteSelectedTreeItems(); break;
|
||||
|
||||
case CommandIDs::showTranslationTool: showTranslationTool(); break;
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ public:
|
|||
void closeProject();
|
||||
void openInIDE (bool saveFirst);
|
||||
void openInIDE (int exporterIndex, bool saveFirst);
|
||||
void showNewExporterMenu();
|
||||
|
||||
void showFilesTab();
|
||||
void showConfigTab();
|
||||
|
|
|
|||
|
|
@ -38,14 +38,12 @@ public:
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
virtual bool isRoot() const { return false; }
|
||||
|
||||
virtual bool acceptsFileDrop (const StringArray& files) const = 0;
|
||||
virtual bool acceptsDragItems (const OwnedArray<Project::Item>& selectedNodes) = 0;
|
||||
|
||||
//==============================================================================
|
||||
String getDisplayName() const override { return item.getName(); }
|
||||
String getRenamingName() const override { return getDisplayName(); }
|
||||
String getDisplayName() const override { return item.getName(); }
|
||||
String getRenamingName() const override { return getDisplayName(); }
|
||||
|
||||
void setName (const String& newName) override
|
||||
{
|
||||
|
|
@ -55,10 +53,10 @@ public:
|
|||
item.getNameValue() = newName;
|
||||
}
|
||||
|
||||
bool isMissing() override { return isFileMissing; }
|
||||
virtual File getFile() const { return item.getFile(); }
|
||||
bool isMissing() override { return isFileMissing; }
|
||||
virtual File getFile() const { return item.getFile(); }
|
||||
|
||||
void deleteItem() override { item.removeItemFromProject(); }
|
||||
void deleteItem() override { item.removeItemFromProject(); }
|
||||
|
||||
virtual void deleteAllSelectedItems() override
|
||||
{
|
||||
|
|
|
|||
|
|
@ -84,11 +84,6 @@ Font JucerTreeViewBase::getFont() const
|
|||
return Font (getItemHeight() * 0.6f);
|
||||
}
|
||||
|
||||
float JucerTreeViewBase::getIconSize() const
|
||||
{
|
||||
return jmin (getItemHeight() - 4.0f, 18.0f);
|
||||
}
|
||||
|
||||
void JucerTreeViewBase::paintOpenCloseButton (Graphics& g, const Rectangle<float>& area, Colour /*backgroundColour*/, bool isMouseOver)
|
||||
{
|
||||
TreeViewItem::paintOpenCloseButton (g, area, getOwnerView()->findColour (mainBackgroundColourId), isMouseOver);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public:
|
|||
~JucerTreeViewBase();
|
||||
|
||||
int getItemWidth() const override { return -1; }
|
||||
int getItemHeight() const override { return 20; }
|
||||
int getItemHeight() const override { return isRoot() ? 23 : 20; }
|
||||
|
||||
void paintOpenCloseButton (Graphics&, const Rectangle<float>& area, Colour backgroundColour, bool isMouseOver) override;
|
||||
Component* createItemComponent() override;
|
||||
|
|
@ -48,17 +48,18 @@ public:
|
|||
void cancelDelayedSelectionTimer();
|
||||
|
||||
//==============================================================================
|
||||
virtual bool isRoot() const { return false; }
|
||||
virtual Font getFont() const;
|
||||
virtual String getRenamingName() const = 0;
|
||||
virtual String getDisplayName() const = 0;
|
||||
virtual void setName (const String& newName) = 0;
|
||||
virtual bool isMissing() = 0;
|
||||
virtual Icon getIcon() const = 0;
|
||||
virtual float getIconSize() const;
|
||||
virtual bool isIconCrossedOut() const { return false; }
|
||||
virtual bool isIconCrossedOut() const { return false; }
|
||||
virtual void paintIcon (Graphics& g, Rectangle<int> area) { getIcon().draw (g, area.reduced (2).toFloat(), isIconCrossedOut()); }
|
||||
virtual void paintContent (Graphics& g, const Rectangle<int>& area);
|
||||
virtual int getMillisecsAllowedForDragGesture() { return 120; };
|
||||
virtual File getDraggableFile() const { return File::nonexistent; }
|
||||
virtual int getMillisecsAllowedForDragGesture() { return 120; };
|
||||
virtual File getDraggableFile() const { return File(); }
|
||||
|
||||
void refreshSubItems();
|
||||
virtual void deleteItem();
|
||||
|
|
@ -206,13 +207,12 @@ public:
|
|||
|
||||
void paintIcon (Graphics& g)
|
||||
{
|
||||
item.getIcon().draw (g, Rectangle<float> (4.0f, 2.0f, item.getIconSize(), getHeight() - 4.0f),
|
||||
item.isIconCrossedOut());
|
||||
item.paintIcon (g, Rectangle<int> (getHeight(), getHeight()));
|
||||
}
|
||||
|
||||
void resized() override
|
||||
{
|
||||
item.textX = (int) item.getIconSize() + 8;
|
||||
item.textX = getHeight() + 4;
|
||||
|
||||
Rectangle<int> r (getLocalBounds());
|
||||
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ public:
|
|||
for (int i = 0; i < types.size(); ++i)
|
||||
{
|
||||
const ProjectExporter::ExporterTypeInfo& type = types.getReference (i);
|
||||
platforms.add (new PlatformType (ImageCache::getFromMemory (type.iconData, type.iconDataSize), type.name));
|
||||
platforms.add (new PlatformType (type.getIcon(), type.name));
|
||||
}
|
||||
|
||||
listBox.setRowHeight (35);
|
||||
|
|
|
|||
|
|
@ -886,6 +886,41 @@ File File::createTempFile (StringRef fileNameEnding)
|
|||
return tempFile;
|
||||
}
|
||||
|
||||
bool File::createSymbolicLink (const File& linkFileToCreate, bool overwriteExisting) const
|
||||
{
|
||||
if (linkFileToCreate.exists())
|
||||
{
|
||||
if (! linkFileToCreate.isSymbolicLink())
|
||||
{
|
||||
// user has specified an existing file / directory as the link
|
||||
// this is bad! the user could end up unintentionally destroying data
|
||||
jassertfalse;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (overwriteExisting)
|
||||
linkFileToCreate.deleteFile();
|
||||
}
|
||||
|
||||
#if JUCE_MAC || JUCE_LINUX
|
||||
// one common reason for getting an error here is that the file already exists
|
||||
if (symlink (fullPath.toRawUTF8(), linkFileToCreate.getFullPathName().toRawUTF8()) == -1)
|
||||
{
|
||||
jassertfalse;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
#elif JUCE_WINDOWS
|
||||
return CreateSymbolicLink (linkFileToCreate.getFullPathName().toWideCharPointer(),
|
||||
fullPath.toWideCharPointer(),
|
||||
isDirectory() ? SYMBOLIC_LINK_FLAG_DIRECTORY : 0) != FALSE;
|
||||
#else
|
||||
jassertfalse; // symbolic links not supported on this platform!
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
MemoryMappedFile::MemoryMappedFile (const File& file, MemoryMappedFile::AccessMode mode)
|
||||
: address (nullptr), range (0, file.getSize()), fileHandle (0)
|
||||
|
|
|
|||
|
|
@ -360,14 +360,6 @@ public:
|
|||
*/
|
||||
bool isHidden() const;
|
||||
|
||||
/** Returns true if this file is a link or alias that can be followed using getLinkedTarget(). */
|
||||
bool isLink() const;
|
||||
|
||||
/** If this file is a link or alias, this returns the file that it points to.
|
||||
If the file isn't actually link, it'll just return itself.
|
||||
*/
|
||||
File getLinkedTarget() const;
|
||||
|
||||
/** Returns a unique identifier for the file, if one is available.
|
||||
|
||||
Depending on the OS and file-system, this may be a unix inode number or
|
||||
|
|
@ -880,7 +872,6 @@ public:
|
|||
*/
|
||||
static File createTempFile (StringRef fileNameEnding);
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the current working directory.
|
||||
@see setAsCurrentWorkingDirectory
|
||||
|
|
@ -946,8 +937,28 @@ public:
|
|||
/** Adds a separator character to the end of a path if it doesn't already have one. */
|
||||
static String addTrailingSeparator (const String& path);
|
||||
|
||||
#if JUCE_MAC || JUCE_IOS || DOXYGEN
|
||||
//==============================================================================
|
||||
/** Tries to create a symbolic link and returns a boolean to indicate success */
|
||||
bool createSymbolicLink (const File& linkFileToCreate, bool overwriteExisting) const;
|
||||
|
||||
/** Returns true if this file is a link or alias that can be followed using getLinkedTarget(). */
|
||||
bool isSymbolicLink() const;
|
||||
|
||||
/** If this file is a link or alias, this returns the file that it points to.
|
||||
If the file isn't actually link, it'll just return itself.
|
||||
*/
|
||||
File getLinkedTarget() const;
|
||||
|
||||
#if JUCE_WINDOWS
|
||||
/** Windows ONLY - Creates a win32 .LNK shortcut file that links to this file. */
|
||||
bool createShortcut (const String& description, const File& linkFileToCreate) const;
|
||||
|
||||
/** Windows ONLY - Returns true if this is a win32 .LNK file. */
|
||||
bool isShortcut() const;
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_MAC || JUCE_IOS || DOXYGEN
|
||||
/** OSX ONLY - Finds the OSType of a file from the its resources. */
|
||||
OSType getMacOSType() const;
|
||||
|
||||
|
|
@ -960,11 +971,6 @@ public:
|
|||
void addToDock() const;
|
||||
#endif
|
||||
|
||||
#if JUCE_WINDOWS
|
||||
/** Windows ONLY - Creates a win32 .LNK shortcut file that links to this file. */
|
||||
bool createLink (const String& description, const File& linkFileToCreate) const;
|
||||
#endif
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
String fullPath;
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ static String getLinkedFile (const String& file)
|
|||
return String::fromUTF8 (buffer, jmax (0, numBytes));
|
||||
};
|
||||
|
||||
bool File::isLink() const
|
||||
bool File::isSymbolicLink() const
|
||||
{
|
||||
return getLinkedFile (getFullPathName()).isNotEmpty();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ static NSString* getFileLink (const String& path)
|
|||
#endif
|
||||
}
|
||||
|
||||
bool File::isLink() const
|
||||
bool File::isSymbolicLink() const
|
||||
{
|
||||
return getFileLink (fullPath) != nil;
|
||||
}
|
||||
|
|
@ -401,7 +401,12 @@ bool JUCE_CALLTYPE Process::openDocument (const String& fileName, const String&
|
|||
{
|
||||
JUCE_AUTORELEASEPOOL
|
||||
{
|
||||
NSURL* filenameAsURL = [NSURL URLWithString: juceStringToNS (fileName)];
|
||||
NSString* fileNameAsNS (juceStringToNS (fileName));
|
||||
|
||||
NSURL* filenameAsURL ([NSURL URLWithString: fileNameAsNS]);
|
||||
|
||||
if (filenameAsURL == nil)
|
||||
filenameAsURL = [NSURL fileURLWithPath: fileNameAsNS];
|
||||
|
||||
#if JUCE_IOS
|
||||
(void) parameters;
|
||||
|
|
|
|||
|
|
@ -631,13 +631,45 @@ String File::getVersion() const
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
bool File::isLink() const
|
||||
bool File::isSymbolicLink() const
|
||||
{
|
||||
return (GetFileAttributes (fullPath.toWideCharPointer()) & FILE_ATTRIBUTE_REPARSE_POINT) != 0;
|
||||
}
|
||||
|
||||
bool File::isShortcut() const
|
||||
{
|
||||
return hasFileExtension (".lnk");
|
||||
}
|
||||
|
||||
File File::getLinkedTarget() const
|
||||
{
|
||||
{
|
||||
HANDLE h = CreateFile (getFullPathName().toWideCharPointer(),
|
||||
GENERIC_READ, FILE_SHARE_READ, nullptr,
|
||||
OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
|
||||
|
||||
if (h != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
DWORD requiredSize = ::GetFinalPathNameByHandleW (h, nullptr, 0, FILE_NAME_NORMALIZED);
|
||||
|
||||
if (requiredSize > 0)
|
||||
{
|
||||
HeapBlock<WCHAR> buffer (requiredSize + 2);
|
||||
buffer.clear (requiredSize + 2);
|
||||
|
||||
requiredSize = ::GetFinalPathNameByHandleW (h, buffer, requiredSize, FILE_NAME_NORMALIZED);
|
||||
|
||||
if (requiredSize > 0)
|
||||
{
|
||||
CloseHandle (h);
|
||||
return File (String (buffer));
|
||||
}
|
||||
}
|
||||
|
||||
CloseHandle (h);
|
||||
}
|
||||
}
|
||||
|
||||
File result (*this);
|
||||
String p (getFullPathName());
|
||||
|
||||
|
|
@ -664,7 +696,7 @@ File File::getLinkedTarget() const
|
|||
return result;
|
||||
}
|
||||
|
||||
bool File::createLink (const String& description, const File& linkFileToCreate) const
|
||||
bool File::createShortcut (const String& description, const File& linkFileToCreate) const
|
||||
{
|
||||
linkFileToCreate.deleteFile();
|
||||
|
||||
|
|
|
|||
|
|
@ -173,6 +173,12 @@ void StringArray::addArray (const StringArray& otherArray, int startIndex, int n
|
|||
strings.add (otherArray.strings.getReference (startIndex++));
|
||||
}
|
||||
|
||||
void StringArray::mergeArray (const StringArray& otherArray, const bool ignoreCase)
|
||||
{
|
||||
for (int i = 0; i < otherArray.size(); ++i)
|
||||
addIfNotAlreadyThere (otherArray[i], ignoreCase);
|
||||
}
|
||||
|
||||
void StringArray::set (const int index, const String& newString)
|
||||
{
|
||||
strings.set (index, newString);
|
||||
|
|
|
|||
|
|
@ -209,6 +209,15 @@ public:
|
|||
int startIndex = 0,
|
||||
int numElementsToAdd = -1);
|
||||
|
||||
/** Merges the strings from another array into this one.
|
||||
This will not add a string that already exists.
|
||||
|
||||
@param other the array to add
|
||||
@param ignoreCase ignore case when merging
|
||||
*/
|
||||
void mergeArray (const StringArray& other,
|
||||
bool ignoreCase = false);
|
||||
|
||||
/** Breaks up a string into tokens and adds them to this array.
|
||||
|
||||
This will tokenise the given string using whitespace characters as the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue