├── Builds
└── MacOSX
│ ├── Info.plist
│ ├── MoogFilter.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── desislavhristov.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── desislavhristov.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── MoogFilter.xcscheme
│ │ └── xcschememanagement.plist
│ ├── RecentFilesMenuTemplate.nib
│ └── build
│ └── Debug
│ └── MoogFilter.component
│ └── Contents
│ ├── Info.plist
│ ├── MacOS
│ └── MoogFilter
│ ├── PkgInfo
│ └── Resources
│ ├── MoogFilter.rsrc
│ └── RecentFilesMenuTemplate.nib
├── JuceLibraryCode
├── AppConfig.h
├── JuceHeader.h
├── ReadMe.txt
└── modules
│ ├── juce_audio_basics
│ ├── buffers
│ │ ├── juce_AudioDataConverters.cpp
│ │ ├── juce_AudioDataConverters.h
│ │ ├── juce_AudioSampleBuffer.cpp
│ │ ├── juce_AudioSampleBuffer.h
│ │ ├── juce_FloatVectorOperations.cpp
│ │ └── juce_FloatVectorOperations.h
│ ├── effects
│ │ ├── juce_Decibels.h
│ │ ├── juce_FFT.cpp
│ │ ├── juce_FFT.h
│ │ ├── juce_IIRFilter.cpp
│ │ ├── juce_IIRFilter.h
│ │ ├── juce_LagrangeInterpolator.cpp
│ │ ├── juce_LagrangeInterpolator.h
│ │ └── juce_Reverb.h
│ ├── juce_audio_basics.cpp
│ ├── juce_audio_basics.h
│ ├── juce_audio_basics.mm
│ ├── juce_module_info
│ ├── midi
│ │ ├── juce_MidiBuffer.cpp
│ │ ├── juce_MidiBuffer.h
│ │ ├── juce_MidiFile.cpp
│ │ ├── juce_MidiFile.h
│ │ ├── juce_MidiKeyboardState.cpp
│ │ ├── juce_MidiKeyboardState.h
│ │ ├── juce_MidiMessage.cpp
│ │ ├── juce_MidiMessage.h
│ │ ├── juce_MidiMessageSequence.cpp
│ │ └── juce_MidiMessageSequence.h
│ ├── sources
│ │ ├── juce_AudioSource.h
│ │ ├── juce_BufferingAudioSource.cpp
│ │ ├── juce_BufferingAudioSource.h
│ │ ├── juce_ChannelRemappingAudioSource.cpp
│ │ ├── juce_ChannelRemappingAudioSource.h
│ │ ├── juce_IIRFilterAudioSource.cpp
│ │ ├── juce_IIRFilterAudioSource.h
│ │ ├── juce_MixerAudioSource.cpp
│ │ ├── juce_MixerAudioSource.h
│ │ ├── juce_PositionableAudioSource.h
│ │ ├── juce_ResamplingAudioSource.cpp
│ │ ├── juce_ResamplingAudioSource.h
│ │ ├── juce_ReverbAudioSource.cpp
│ │ ├── juce_ReverbAudioSource.h
│ │ ├── juce_ToneGeneratorAudioSource.cpp
│ │ └── juce_ToneGeneratorAudioSource.h
│ └── synthesisers
│ │ ├── juce_Synthesiser.cpp
│ │ └── juce_Synthesiser.h
│ ├── juce_audio_devices
│ ├── audio_cd
│ │ ├── juce_AudioCDBurner.h
│ │ ├── juce_AudioCDReader.cpp
│ │ └── juce_AudioCDReader.h
│ ├── audio_io
│ │ ├── juce_AudioDeviceManager.cpp
│ │ ├── juce_AudioDeviceManager.h
│ │ ├── juce_AudioIODevice.cpp
│ │ ├── juce_AudioIODevice.h
│ │ ├── juce_AudioIODeviceType.cpp
│ │ ├── juce_AudioIODeviceType.h
│ │ └── juce_SystemAudioVolume.h
│ ├── juce_audio_devices.cpp
│ ├── juce_audio_devices.h
│ ├── juce_audio_devices.mm
│ ├── juce_module_info
│ ├── midi_io
│ │ ├── juce_MidiInput.h
│ │ ├── juce_MidiMessageCollector.cpp
│ │ ├── juce_MidiMessageCollector.h
│ │ ├── juce_MidiOutput.cpp
│ │ └── juce_MidiOutput.h
│ ├── native
│ │ ├── juce_MidiDataConcatenator.h
│ │ ├── juce_android_Audio.cpp
│ │ ├── juce_android_Midi.cpp
│ │ ├── juce_android_OpenSL.cpp
│ │ ├── juce_ios_Audio.cpp
│ │ ├── juce_linux_ALSA.cpp
│ │ ├── juce_linux_AudioCDReader.cpp
│ │ ├── juce_linux_JackAudio.cpp
│ │ ├── juce_linux_Midi.cpp
│ │ ├── juce_mac_AudioCDBurner.mm
│ │ ├── juce_mac_AudioCDReader.mm
│ │ ├── juce_mac_CoreAudio.cpp
│ │ ├── juce_mac_CoreMidi.cpp
│ │ ├── juce_win32_ASIO.cpp
│ │ ├── juce_win32_AudioCDBurner.cpp
│ │ ├── juce_win32_AudioCDReader.cpp
│ │ ├── juce_win32_DirectSound.cpp
│ │ ├── juce_win32_Midi.cpp
│ │ └── juce_win32_WASAPI.cpp
│ └── sources
│ │ ├── juce_AudioSourcePlayer.cpp
│ │ ├── juce_AudioSourcePlayer.h
│ │ ├── juce_AudioTransportSource.cpp
│ │ └── juce_AudioTransportSource.h
│ ├── juce_audio_formats
│ ├── codecs
│ │ ├── flac
│ │ │ ├── Flac Licence.txt
│ │ │ ├── all.h
│ │ │ ├── alloc.h
│ │ │ ├── assert.h
│ │ │ ├── callback.h
│ │ │ ├── compat.h
│ │ │ ├── endswap.h
│ │ │ ├── export.h
│ │ │ ├── format.h
│ │ │ ├── libFLAC
│ │ │ │ ├── bitmath.c
│ │ │ │ ├── bitreader.c
│ │ │ │ ├── bitwriter.c
│ │ │ │ ├── cpu.c
│ │ │ │ ├── crc.c
│ │ │ │ ├── fixed.c
│ │ │ │ ├── float.c
│ │ │ │ ├── format.c
│ │ │ │ ├── include
│ │ │ │ │ ├── private
│ │ │ │ │ │ ├── all.h
│ │ │ │ │ │ ├── bitmath.h
│ │ │ │ │ │ ├── bitreader.h
│ │ │ │ │ │ ├── bitwriter.h
│ │ │ │ │ │ ├── cpu.h
│ │ │ │ │ │ ├── crc.h
│ │ │ │ │ │ ├── fixed.h
│ │ │ │ │ │ ├── float.h
│ │ │ │ │ │ ├── format.h
│ │ │ │ │ │ ├── lpc.h
│ │ │ │ │ │ ├── md5.h
│ │ │ │ │ │ ├── memory.h
│ │ │ │ │ │ ├── metadata.h
│ │ │ │ │ │ ├── stream_encoder.h
│ │ │ │ │ │ ├── stream_encoder_framing.h
│ │ │ │ │ │ └── window.h
│ │ │ │ │ └── protected
│ │ │ │ │ │ ├── all.h
│ │ │ │ │ │ ├── stream_decoder.h
│ │ │ │ │ │ └── stream_encoder.h
│ │ │ │ ├── lpc_flac.c
│ │ │ │ ├── md5.c
│ │ │ │ ├── memory.c
│ │ │ │ ├── stream_decoder.c
│ │ │ │ ├── stream_encoder.c
│ │ │ │ ├── stream_encoder_framing.c
│ │ │ │ └── window_flac.c
│ │ │ ├── metadata.h
│ │ │ ├── ordinals.h
│ │ │ ├── stream_decoder.h
│ │ │ ├── stream_encoder.h
│ │ │ └── win_utf8_io.h
│ │ ├── juce_AiffAudioFormat.cpp
│ │ ├── juce_AiffAudioFormat.h
│ │ ├── juce_CoreAudioFormat.cpp
│ │ ├── juce_CoreAudioFormat.h
│ │ ├── juce_FlacAudioFormat.cpp
│ │ ├── juce_FlacAudioFormat.h
│ │ ├── juce_LAMEEncoderAudioFormat.cpp
│ │ ├── juce_LAMEEncoderAudioFormat.h
│ │ ├── juce_MP3AudioFormat.cpp
│ │ ├── juce_MP3AudioFormat.h
│ │ ├── juce_OggVorbisAudioFormat.cpp
│ │ ├── juce_OggVorbisAudioFormat.h
│ │ ├── juce_QuickTimeAudioFormat.cpp
│ │ ├── juce_QuickTimeAudioFormat.h
│ │ ├── juce_WavAudioFormat.cpp
│ │ ├── juce_WavAudioFormat.h
│ │ ├── juce_WindowsMediaAudioFormat.cpp
│ │ ├── juce_WindowsMediaAudioFormat.h
│ │ └── oggvorbis
│ │ │ ├── Ogg Vorbis Licence.txt
│ │ │ ├── bitwise.c
│ │ │ ├── codec.h
│ │ │ ├── config_types.h
│ │ │ ├── framing.c
│ │ │ ├── libvorbis-1.3.2
│ │ │ ├── AUTHORS
│ │ │ ├── CHANGES
│ │ │ ├── COPYING
│ │ │ ├── README
│ │ │ └── lib
│ │ │ │ ├── analysis.c
│ │ │ │ ├── backends.h
│ │ │ │ ├── bitrate.c
│ │ │ │ ├── bitrate.h
│ │ │ │ ├── block.c
│ │ │ │ ├── books
│ │ │ │ ├── coupled
│ │ │ │ │ ├── res_books_51.h
│ │ │ │ │ └── res_books_stereo.h
│ │ │ │ ├── floor
│ │ │ │ │ └── floor_books.h
│ │ │ │ └── uncoupled
│ │ │ │ │ └── res_books_uncoupled.h
│ │ │ │ ├── codebook.c
│ │ │ │ ├── codebook.h
│ │ │ │ ├── codec_internal.h
│ │ │ │ ├── envelope.c
│ │ │ │ ├── envelope.h
│ │ │ │ ├── floor0.c
│ │ │ │ ├── floor1.c
│ │ │ │ ├── highlevel.h
│ │ │ │ ├── info.c
│ │ │ │ ├── lookup.c
│ │ │ │ ├── lookup.h
│ │ │ │ ├── lookup_data.h
│ │ │ │ ├── lpc.c
│ │ │ │ ├── lpc.h
│ │ │ │ ├── lsp.c
│ │ │ │ ├── lsp.h
│ │ │ │ ├── mapping0.c
│ │ │ │ ├── masking.h
│ │ │ │ ├── mdct.c
│ │ │ │ ├── mdct.h
│ │ │ │ ├── misc.h
│ │ │ │ ├── modes
│ │ │ │ ├── floor_all.h
│ │ │ │ ├── psych_11.h
│ │ │ │ ├── psych_16.h
│ │ │ │ ├── psych_44.h
│ │ │ │ ├── psych_8.h
│ │ │ │ ├── residue_16.h
│ │ │ │ ├── residue_44.h
│ │ │ │ ├── residue_44p51.h
│ │ │ │ ├── residue_44u.h
│ │ │ │ ├── residue_8.h
│ │ │ │ ├── setup_11.h
│ │ │ │ ├── setup_16.h
│ │ │ │ ├── setup_22.h
│ │ │ │ ├── setup_32.h
│ │ │ │ ├── setup_44.h
│ │ │ │ ├── setup_44p51.h
│ │ │ │ ├── setup_44u.h
│ │ │ │ ├── setup_8.h
│ │ │ │ └── setup_X.h
│ │ │ │ ├── os.h
│ │ │ │ ├── psy.c
│ │ │ │ ├── psy.h
│ │ │ │ ├── registry.c
│ │ │ │ ├── registry.h
│ │ │ │ ├── res0.c
│ │ │ │ ├── scales.h
│ │ │ │ ├── sharedbook.c
│ │ │ │ ├── smallft.c
│ │ │ │ ├── smallft.h
│ │ │ │ ├── synthesis.c
│ │ │ │ ├── vorbisenc.c
│ │ │ │ ├── vorbisfile.c
│ │ │ │ ├── window.c
│ │ │ │ └── window.h
│ │ │ ├── ogg.h
│ │ │ ├── os_types.h
│ │ │ ├── vorbisenc.h
│ │ │ └── vorbisfile.h
│ ├── format
│ │ ├── juce_AudioFormat.cpp
│ │ ├── juce_AudioFormat.h
│ │ ├── juce_AudioFormatManager.cpp
│ │ ├── juce_AudioFormatManager.h
│ │ ├── juce_AudioFormatReader.cpp
│ │ ├── juce_AudioFormatReader.h
│ │ ├── juce_AudioFormatReaderSource.cpp
│ │ ├── juce_AudioFormatReaderSource.h
│ │ ├── juce_AudioFormatWriter.cpp
│ │ ├── juce_AudioFormatWriter.h
│ │ ├── juce_AudioSubsectionReader.cpp
│ │ ├── juce_AudioSubsectionReader.h
│ │ ├── juce_BufferingAudioFormatReader.cpp
│ │ ├── juce_BufferingAudioFormatReader.h
│ │ └── juce_MemoryMappedAudioFormatReader.h
│ ├── juce_audio_formats.cpp
│ ├── juce_audio_formats.h
│ ├── juce_audio_formats.mm
│ ├── juce_module_info
│ └── sampler
│ │ ├── juce_Sampler.cpp
│ │ └── juce_Sampler.h
│ ├── juce_audio_plugin_client
│ ├── AAX
│ │ ├── juce_AAX_Wrapper.cpp
│ │ └── juce_AAX_Wrapper.mm
│ ├── AU
│ │ ├── juce_AU_Resources.r
│ │ └── juce_AU_Wrapper.mm
│ ├── RTAS
│ │ ├── juce_RTAS_DigiCode1.cpp
│ │ ├── juce_RTAS_DigiCode2.cpp
│ │ ├── juce_RTAS_DigiCode3.cpp
│ │ ├── juce_RTAS_DigiCode_Header.h
│ │ ├── juce_RTAS_MacResources.r
│ │ ├── juce_RTAS_MacUtilities.mm
│ │ ├── juce_RTAS_WinExports.def
│ │ ├── juce_RTAS_WinResources.rsr
│ │ ├── juce_RTAS_WinUtilities.cpp
│ │ └── juce_RTAS_Wrapper.cpp
│ ├── Standalone
│ │ └── juce_StandaloneFilterWindow.h
│ ├── VST
│ │ ├── juce_VST_Wrapper.cpp
│ │ └── juce_VST_Wrapper.mm
│ ├── VST3
│ │ ├── juce_VST3_Wrapper.cpp
│ │ └── juce_VST3_Wrapper.mm
│ ├── juce_audio_plugin_client.h
│ ├── juce_module_info
│ └── utility
│ │ ├── juce_CarbonVisibility.h
│ │ ├── juce_CheckSettingMacros.h
│ │ ├── juce_FakeMouseMoveGenerator.h
│ │ ├── juce_IncludeModuleHeaders.h
│ │ ├── juce_IncludeSystemHeaders.h
│ │ ├── juce_PluginHostType.h
│ │ ├── juce_PluginUtilities.cpp
│ │ └── juce_WindowsHooks.h
│ ├── juce_audio_processors
│ ├── format
│ │ ├── juce_AudioPluginFormat.cpp
│ │ ├── juce_AudioPluginFormat.h
│ │ ├── juce_AudioPluginFormatManager.cpp
│ │ └── juce_AudioPluginFormatManager.h
│ ├── format_types
│ │ ├── juce_AudioUnitPluginFormat.h
│ │ ├── juce_AudioUnitPluginFormat.mm
│ │ ├── juce_LADSPAPluginFormat.cpp
│ │ ├── juce_LADSPAPluginFormat.h
│ │ ├── juce_VST3Common.h
│ │ ├── juce_VST3Headers.h
│ │ ├── juce_VST3PluginFormat.cpp
│ │ ├── juce_VST3PluginFormat.h
│ │ ├── juce_VSTMidiEventList.h
│ │ ├── juce_VSTPluginFormat.cpp
│ │ └── juce_VSTPluginFormat.h
│ ├── juce_audio_processors.cpp
│ ├── juce_audio_processors.h
│ ├── juce_audio_processors.mm
│ ├── juce_module_info
│ ├── processors
│ │ ├── juce_AudioPlayHead.h
│ │ ├── juce_AudioPluginInstance.h
│ │ ├── juce_AudioProcessor.cpp
│ │ ├── juce_AudioProcessor.h
│ │ ├── juce_AudioProcessorEditor.cpp
│ │ ├── juce_AudioProcessorEditor.h
│ │ ├── juce_AudioProcessorGraph.cpp
│ │ ├── juce_AudioProcessorGraph.h
│ │ ├── juce_AudioProcessorListener.h
│ │ ├── juce_AudioProcessorParameter.h
│ │ ├── juce_GenericAudioProcessorEditor.cpp
│ │ ├── juce_GenericAudioProcessorEditor.h
│ │ ├── juce_PluginDescription.cpp
│ │ └── juce_PluginDescription.h
│ └── scanning
│ │ ├── juce_KnownPluginList.cpp
│ │ ├── juce_KnownPluginList.h
│ │ ├── juce_PluginDirectoryScanner.cpp
│ │ ├── juce_PluginDirectoryScanner.h
│ │ ├── juce_PluginListComponent.cpp
│ │ └── juce_PluginListComponent.h
│ ├── juce_core
│ ├── containers
│ │ ├── juce_AbstractFifo.cpp
│ │ ├── juce_AbstractFifo.h
│ │ ├── juce_Array.h
│ │ ├── juce_ArrayAllocationBase.h
│ │ ├── juce_DynamicObject.cpp
│ │ ├── juce_DynamicObject.h
│ │ ├── juce_ElementComparator.h
│ │ ├── juce_HashMap.h
│ │ ├── juce_LinkedListPointer.h
│ │ ├── juce_NamedValueSet.cpp
│ │ ├── juce_NamedValueSet.h
│ │ ├── juce_OwnedArray.h
│ │ ├── juce_PropertySet.cpp
│ │ ├── juce_PropertySet.h
│ │ ├── juce_ReferenceCountedArray.h
│ │ ├── juce_ScopedValueSetter.h
│ │ ├── juce_SortedSet.h
│ │ ├── juce_SparseSet.h
│ │ ├── juce_Variant.cpp
│ │ └── juce_Variant.h
│ ├── files
│ │ ├── juce_DirectoryIterator.cpp
│ │ ├── juce_DirectoryIterator.h
│ │ ├── juce_File.cpp
│ │ ├── juce_File.h
│ │ ├── juce_FileFilter.cpp
│ │ ├── juce_FileFilter.h
│ │ ├── juce_FileInputStream.cpp
│ │ ├── juce_FileInputStream.h
│ │ ├── juce_FileOutputStream.cpp
│ │ ├── juce_FileOutputStream.h
│ │ ├── juce_FileSearchPath.cpp
│ │ ├── juce_FileSearchPath.h
│ │ ├── juce_MemoryMappedFile.h
│ │ ├── juce_TemporaryFile.cpp
│ │ ├── juce_TemporaryFile.h
│ │ ├── juce_WildcardFileFilter.cpp
│ │ └── juce_WildcardFileFilter.h
│ ├── javascript
│ │ ├── juce_JSON.cpp
│ │ ├── juce_JSON.h
│ │ ├── juce_Javascript.cpp
│ │ └── juce_Javascript.h
│ ├── juce_core.cpp
│ ├── juce_core.h
│ ├── juce_core.mm
│ ├── juce_module_info
│ ├── logging
│ │ ├── juce_FileLogger.cpp
│ │ ├── juce_FileLogger.h
│ │ ├── juce_Logger.cpp
│ │ └── juce_Logger.h
│ ├── maths
│ │ ├── juce_BigInteger.cpp
│ │ ├── juce_BigInteger.h
│ │ ├── juce_Expression.cpp
│ │ ├── juce_Expression.h
│ │ ├── juce_MathsFunctions.h
│ │ ├── juce_NormalisableRange.h
│ │ ├── juce_Random.cpp
│ │ ├── juce_Random.h
│ │ └── juce_Range.h
│ ├── memory
│ │ ├── juce_Atomic.h
│ │ ├── juce_ByteOrder.h
│ │ ├── juce_ContainerDeletePolicy.h
│ │ ├── juce_HeapBlock.h
│ │ ├── juce_LeakedObjectDetector.h
│ │ ├── juce_Memory.h
│ │ ├── juce_MemoryBlock.cpp
│ │ ├── juce_MemoryBlock.h
│ │ ├── juce_OptionalScopedPointer.h
│ │ ├── juce_ReferenceCountedObject.h
│ │ ├── juce_ScopedPointer.h
│ │ ├── juce_SharedResourcePointer.h
│ │ ├── juce_Singleton.h
│ │ └── juce_WeakReference.h
│ ├── misc
│ │ ├── juce_Result.cpp
│ │ ├── juce_Result.h
│ │ ├── juce_Uuid.cpp
│ │ ├── juce_Uuid.h
│ │ └── juce_WindowsRegistry.h
│ ├── native
│ │ ├── java
│ │ │ └── JuceAppActivity.java
│ │ ├── juce_BasicNativeHeaders.h
│ │ ├── juce_android_Files.cpp
│ │ ├── juce_android_JNIHelpers.h
│ │ ├── juce_android_Misc.cpp
│ │ ├── juce_android_Network.cpp
│ │ ├── juce_android_SystemStats.cpp
│ │ ├── juce_android_Threads.cpp
│ │ ├── juce_linux_CommonFile.cpp
│ │ ├── juce_linux_Files.cpp
│ │ ├── juce_linux_Network.cpp
│ │ ├── juce_linux_SystemStats.cpp
│ │ ├── juce_linux_Threads.cpp
│ │ ├── juce_mac_Files.mm
│ │ ├── juce_mac_Network.mm
│ │ ├── juce_mac_Strings.mm
│ │ ├── juce_mac_SystemStats.mm
│ │ ├── juce_mac_Threads.mm
│ │ ├── juce_osx_ObjCHelpers.h
│ │ ├── juce_posix_NamedPipe.cpp
│ │ ├── juce_posix_SharedCode.h
│ │ ├── juce_win32_ComSmartPtr.h
│ │ ├── juce_win32_Files.cpp
│ │ ├── juce_win32_Network.cpp
│ │ ├── juce_win32_Registry.cpp
│ │ ├── juce_win32_SystemStats.cpp
│ │ └── juce_win32_Threads.cpp
│ ├── network
│ │ ├── juce_IPAddress.cpp
│ │ ├── juce_IPAddress.h
│ │ ├── juce_MACAddress.cpp
│ │ ├── juce_MACAddress.h
│ │ ├── juce_NamedPipe.cpp
│ │ ├── juce_NamedPipe.h
│ │ ├── juce_Socket.cpp
│ │ ├── juce_Socket.h
│ │ ├── juce_URL.cpp
│ │ └── juce_URL.h
│ ├── streams
│ │ ├── juce_BufferedInputStream.cpp
│ │ ├── juce_BufferedInputStream.h
│ │ ├── juce_FileInputSource.cpp
│ │ ├── juce_FileInputSource.h
│ │ ├── juce_InputSource.h
│ │ ├── juce_InputStream.cpp
│ │ ├── juce_InputStream.h
│ │ ├── juce_MemoryInputStream.cpp
│ │ ├── juce_MemoryInputStream.h
│ │ ├── juce_MemoryOutputStream.cpp
│ │ ├── juce_MemoryOutputStream.h
│ │ ├── juce_OutputStream.cpp
│ │ ├── juce_OutputStream.h
│ │ ├── juce_SubregionStream.cpp
│ │ └── juce_SubregionStream.h
│ ├── system
│ │ ├── juce_CompilerSupport.h
│ │ ├── juce_PlatformDefs.h
│ │ ├── juce_StandardHeader.h
│ │ ├── juce_SystemStats.cpp
│ │ ├── juce_SystemStats.h
│ │ └── juce_TargetPlatform.h
│ ├── text
│ │ ├── juce_CharPointer_ASCII.h
│ │ ├── juce_CharPointer_UTF16.h
│ │ ├── juce_CharPointer_UTF32.h
│ │ ├── juce_CharPointer_UTF8.h
│ │ ├── juce_CharacterFunctions.cpp
│ │ ├── juce_CharacterFunctions.h
│ │ ├── juce_Identifier.cpp
│ │ ├── juce_Identifier.h
│ │ ├── juce_LocalisedStrings.cpp
│ │ ├── juce_LocalisedStrings.h
│ │ ├── juce_NewLine.h
│ │ ├── juce_String.cpp
│ │ ├── juce_String.h
│ │ ├── juce_StringArray.cpp
│ │ ├── juce_StringArray.h
│ │ ├── juce_StringPairArray.cpp
│ │ ├── juce_StringPairArray.h
│ │ ├── juce_StringPool.cpp
│ │ ├── juce_StringPool.h
│ │ ├── juce_StringRef.h
│ │ ├── juce_TextDiff.cpp
│ │ └── juce_TextDiff.h
│ ├── threads
│ │ ├── juce_ChildProcess.cpp
│ │ ├── juce_ChildProcess.h
│ │ ├── juce_CriticalSection.h
│ │ ├── juce_DynamicLibrary.h
│ │ ├── juce_HighResolutionTimer.cpp
│ │ ├── juce_HighResolutionTimer.h
│ │ ├── juce_InterProcessLock.h
│ │ ├── juce_Process.h
│ │ ├── juce_ReadWriteLock.cpp
│ │ ├── juce_ReadWriteLock.h
│ │ ├── juce_ScopedLock.h
│ │ ├── juce_ScopedReadLock.h
│ │ ├── juce_ScopedWriteLock.h
│ │ ├── juce_SpinLock.h
│ │ ├── juce_Thread.cpp
│ │ ├── juce_Thread.h
│ │ ├── juce_ThreadLocalValue.h
│ │ ├── juce_ThreadPool.cpp
│ │ ├── juce_ThreadPool.h
│ │ ├── juce_TimeSliceThread.cpp
│ │ ├── juce_TimeSliceThread.h
│ │ └── juce_WaitableEvent.h
│ ├── time
│ │ ├── juce_PerformanceCounter.cpp
│ │ ├── juce_PerformanceCounter.h
│ │ ├── juce_RelativeTime.cpp
│ │ ├── juce_RelativeTime.h
│ │ ├── juce_Time.cpp
│ │ └── juce_Time.h
│ ├── unit_tests
│ │ ├── juce_UnitTest.cpp
│ │ └── juce_UnitTest.h
│ ├── xml
│ │ ├── juce_XmlDocument.cpp
│ │ ├── juce_XmlDocument.h
│ │ ├── juce_XmlElement.cpp
│ │ └── juce_XmlElement.h
│ └── zip
│ │ ├── juce_GZIPCompressorOutputStream.cpp
│ │ ├── juce_GZIPCompressorOutputStream.h
│ │ ├── juce_GZIPDecompressorInputStream.cpp
│ │ ├── juce_GZIPDecompressorInputStream.h
│ │ ├── juce_ZipFile.cpp
│ │ ├── juce_ZipFile.h
│ │ └── zlib
│ │ ├── README
│ │ ├── adler32.c
│ │ ├── compress.c
│ │ ├── crc32.c
│ │ ├── crc32.h
│ │ ├── deflate.c
│ │ ├── deflate.h
│ │ ├── infback.c
│ │ ├── inffast.c
│ │ ├── inffast.h
│ │ ├── inffixed.h
│ │ ├── inflate.c
│ │ ├── inflate.h
│ │ ├── inftrees.c
│ │ ├── inftrees.h
│ │ ├── trees.c
│ │ ├── trees.h
│ │ ├── uncompr.c
│ │ ├── zconf.h
│ │ ├── zconf.in.h
│ │ ├── zlib.h
│ │ ├── zutil.c
│ │ └── zutil.h
│ ├── juce_cryptography
│ ├── encryption
│ │ ├── juce_BlowFish.cpp
│ │ ├── juce_BlowFish.h
│ │ ├── juce_Primes.cpp
│ │ ├── juce_Primes.h
│ │ ├── juce_RSAKey.cpp
│ │ └── juce_RSAKey.h
│ ├── hashing
│ │ ├── juce_MD5.cpp
│ │ ├── juce_MD5.h
│ │ ├── juce_SHA256.cpp
│ │ ├── juce_SHA256.h
│ │ ├── juce_Whirlpool.cpp
│ │ └── juce_Whirlpool.h
│ ├── juce_cryptography.cpp
│ ├── juce_cryptography.h
│ ├── juce_cryptography.mm
│ └── juce_module_info
│ ├── juce_data_structures
│ ├── app_properties
│ │ ├── juce_ApplicationProperties.cpp
│ │ ├── juce_ApplicationProperties.h
│ │ ├── juce_PropertiesFile.cpp
│ │ └── juce_PropertiesFile.h
│ ├── juce_data_structures.cpp
│ ├── juce_data_structures.h
│ ├── juce_data_structures.mm
│ ├── juce_module_info
│ ├── undomanager
│ │ ├── juce_UndoManager.cpp
│ │ ├── juce_UndoManager.h
│ │ └── juce_UndoableAction.h
│ └── values
│ │ ├── juce_Value.cpp
│ │ ├── juce_Value.h
│ │ ├── juce_ValueTree.cpp
│ │ ├── juce_ValueTree.h
│ │ ├── juce_ValueTreeSynchroniser.cpp
│ │ └── juce_ValueTreeSynchroniser.h
│ ├── juce_events
│ ├── broadcasters
│ │ ├── juce_ActionBroadcaster.cpp
│ │ ├── juce_ActionBroadcaster.h
│ │ ├── juce_ActionListener.h
│ │ ├── juce_AsyncUpdater.cpp
│ │ ├── juce_AsyncUpdater.h
│ │ ├── juce_ChangeBroadcaster.cpp
│ │ ├── juce_ChangeBroadcaster.h
│ │ ├── juce_ChangeListener.h
│ │ └── juce_ListenerList.h
│ ├── interprocess
│ │ ├── juce_ConnectedChildProcess.cpp
│ │ ├── juce_ConnectedChildProcess.h
│ │ ├── juce_InterprocessConnection.cpp
│ │ ├── juce_InterprocessConnection.h
│ │ ├── juce_InterprocessConnectionServer.cpp
│ │ └── juce_InterprocessConnectionServer.h
│ ├── juce_events.cpp
│ ├── juce_events.h
│ ├── juce_events.mm
│ ├── juce_module_info
│ ├── messages
│ │ ├── juce_ApplicationBase.cpp
│ │ ├── juce_ApplicationBase.h
│ │ ├── juce_CallbackMessage.h
│ │ ├── juce_DeletedAtShutdown.cpp
│ │ ├── juce_DeletedAtShutdown.h
│ │ ├── juce_Initialisation.h
│ │ ├── juce_Message.h
│ │ ├── juce_MessageListener.cpp
│ │ ├── juce_MessageListener.h
│ │ ├── juce_MessageManager.cpp
│ │ ├── juce_MessageManager.h
│ │ ├── juce_MountedVolumeListChangeDetector.h
│ │ └── juce_NotificationType.h
│ ├── native
│ │ ├── juce_ScopedXLock.h
│ │ ├── juce_android_Messaging.cpp
│ │ ├── juce_ios_MessageManager.mm
│ │ ├── juce_linux_Messaging.cpp
│ │ ├── juce_mac_MessageManager.mm
│ │ ├── juce_osx_MessageQueue.h
│ │ ├── juce_win32_HiddenMessageWindow.h
│ │ └── juce_win32_Messaging.cpp
│ └── timers
│ │ ├── juce_MultiTimer.cpp
│ │ ├── juce_MultiTimer.h
│ │ ├── juce_Timer.cpp
│ │ └── juce_Timer.h
│ ├── juce_graphics
│ ├── colour
│ │ ├── juce_Colour.cpp
│ │ ├── juce_Colour.h
│ │ ├── juce_ColourGradient.cpp
│ │ ├── juce_ColourGradient.h
│ │ ├── juce_Colours.cpp
│ │ ├── juce_Colours.h
│ │ ├── juce_FillType.cpp
│ │ ├── juce_FillType.h
│ │ └── juce_PixelFormats.h
│ ├── contexts
│ │ ├── juce_GraphicsContext.cpp
│ │ ├── juce_GraphicsContext.h
│ │ ├── juce_LowLevelGraphicsContext.h
│ │ ├── juce_LowLevelGraphicsPostScriptRenderer.cpp
│ │ ├── juce_LowLevelGraphicsPostScriptRenderer.h
│ │ ├── juce_LowLevelGraphicsSoftwareRenderer.cpp
│ │ └── juce_LowLevelGraphicsSoftwareRenderer.h
│ ├── effects
│ │ ├── juce_DropShadowEffect.cpp
│ │ ├── juce_DropShadowEffect.h
│ │ ├── juce_GlowEffect.cpp
│ │ ├── juce_GlowEffect.h
│ │ └── juce_ImageEffectFilter.h
│ ├── fonts
│ │ ├── juce_AttributedString.cpp
│ │ ├── juce_AttributedString.h
│ │ ├── juce_CustomTypeface.cpp
│ │ ├── juce_CustomTypeface.h
│ │ ├── juce_Font.cpp
│ │ ├── juce_Font.h
│ │ ├── juce_GlyphArrangement.cpp
│ │ ├── juce_GlyphArrangement.h
│ │ ├── juce_TextLayout.cpp
│ │ ├── juce_TextLayout.h
│ │ ├── juce_Typeface.cpp
│ │ └── juce_Typeface.h
│ ├── geometry
│ │ ├── juce_AffineTransform.cpp
│ │ ├── juce_AffineTransform.h
│ │ ├── juce_BorderSize.h
│ │ ├── juce_EdgeTable.cpp
│ │ ├── juce_EdgeTable.h
│ │ ├── juce_Line.h
│ │ ├── juce_Path.cpp
│ │ ├── juce_Path.h
│ │ ├── juce_PathIterator.cpp
│ │ ├── juce_PathIterator.h
│ │ ├── juce_PathStrokeType.cpp
│ │ ├── juce_PathStrokeType.h
│ │ ├── juce_Point.h
│ │ ├── juce_Rectangle.h
│ │ └── juce_RectangleList.h
│ ├── image_formats
│ │ ├── jpglib
│ │ │ ├── README
│ │ │ ├── cderror.h
│ │ │ ├── changes to libjpeg for JUCE.txt
│ │ │ ├── jcapimin.c
│ │ │ ├── jcapistd.c
│ │ │ ├── jccoefct.c
│ │ │ ├── jccolor.c
│ │ │ ├── jcdctmgr.c
│ │ │ ├── jchuff.c
│ │ │ ├── jchuff.h
│ │ │ ├── jcinit.c
│ │ │ ├── jcmainct.c
│ │ │ ├── jcmarker.c
│ │ │ ├── jcmaster.c
│ │ │ ├── jcomapi.c
│ │ │ ├── jconfig.h
│ │ │ ├── jcparam.c
│ │ │ ├── jcphuff.c
│ │ │ ├── jcprepct.c
│ │ │ ├── jcsample.c
│ │ │ ├── jctrans.c
│ │ │ ├── jdapimin.c
│ │ │ ├── jdapistd.c
│ │ │ ├── jdatasrc.c
│ │ │ ├── jdcoefct.c
│ │ │ ├── jdcolor.c
│ │ │ ├── jdct.h
│ │ │ ├── jddctmgr.c
│ │ │ ├── jdhuff.c
│ │ │ ├── jdhuff.h
│ │ │ ├── jdinput.c
│ │ │ ├── jdmainct.c
│ │ │ ├── jdmarker.c
│ │ │ ├── jdmaster.c
│ │ │ ├── jdmerge.c
│ │ │ ├── jdphuff.c
│ │ │ ├── jdpostct.c
│ │ │ ├── jdsample.c
│ │ │ ├── jdtrans.c
│ │ │ ├── jerror.c
│ │ │ ├── jerror.h
│ │ │ ├── jfdctflt.c
│ │ │ ├── jfdctfst.c
│ │ │ ├── jfdctint.c
│ │ │ ├── jidctflt.c
│ │ │ ├── jidctfst.c
│ │ │ ├── jidctint.c
│ │ │ ├── jidctred.c
│ │ │ ├── jinclude.h
│ │ │ ├── jmemmgr.c
│ │ │ ├── jmemnobs.c
│ │ │ ├── jmemsys.h
│ │ │ ├── jmorecfg.h
│ │ │ ├── jpegint.h
│ │ │ ├── jpeglib.h
│ │ │ ├── jquant1.c
│ │ │ ├── jquant2.c
│ │ │ ├── jutils.c
│ │ │ ├── jversion.h
│ │ │ ├── transupp.c
│ │ │ └── transupp.h
│ │ ├── juce_GIFLoader.cpp
│ │ ├── juce_JPEGLoader.cpp
│ │ ├── juce_PNGLoader.cpp
│ │ └── pnglib
│ │ │ ├── LICENSE
│ │ │ ├── libpng_readme.txt
│ │ │ ├── png.c
│ │ │ ├── png.h
│ │ │ ├── pngconf.h
│ │ │ ├── pngerror.c
│ │ │ ├── pngget.c
│ │ │ ├── pnginfo.h
│ │ │ ├── pngmem.c
│ │ │ ├── pngpread.c
│ │ │ ├── pngpriv.h
│ │ │ ├── pngread.c
│ │ │ ├── pngrio.c
│ │ │ ├── pngrtran.c
│ │ │ ├── pngrutil.c
│ │ │ ├── pngset.c
│ │ │ ├── pngstruct.h
│ │ │ ├── pngtrans.c
│ │ │ ├── pngwio.c
│ │ │ ├── pngwrite.c
│ │ │ ├── pngwtran.c
│ │ │ └── pngwutil.c
│ ├── images
│ │ ├── juce_Image.cpp
│ │ ├── juce_Image.h
│ │ ├── juce_ImageCache.cpp
│ │ ├── juce_ImageCache.h
│ │ ├── juce_ImageConvolutionKernel.cpp
│ │ ├── juce_ImageConvolutionKernel.h
│ │ ├── juce_ImageFileFormat.cpp
│ │ └── juce_ImageFileFormat.h
│ ├── juce_graphics.cpp
│ ├── juce_graphics.h
│ ├── juce_graphics.mm
│ ├── juce_module_info
│ ├── native
│ │ ├── juce_RenderingHelpers.h
│ │ ├── juce_android_Fonts.cpp
│ │ ├── juce_android_GraphicsContext.cpp
│ │ ├── juce_freetype_Fonts.cpp
│ │ ├── juce_linux_Fonts.cpp
│ │ ├── juce_mac_CoreGraphicsContext.h
│ │ ├── juce_mac_CoreGraphicsContext.mm
│ │ ├── juce_mac_CoreGraphicsHelpers.h
│ │ ├── juce_mac_Fonts.mm
│ │ ├── juce_win32_Direct2DGraphicsContext.cpp
│ │ ├── juce_win32_DirectWriteTypeLayout.cpp
│ │ ├── juce_win32_DirectWriteTypeface.cpp
│ │ └── juce_win32_Fonts.cpp
│ └── placement
│ │ ├── juce_Justification.h
│ │ ├── juce_RectanglePlacement.cpp
│ │ └── juce_RectanglePlacement.h
│ ├── juce_gui_basics
│ ├── application
│ │ ├── juce_Application.cpp
│ │ └── juce_Application.h
│ ├── buttons
│ │ ├── juce_ArrowButton.cpp
│ │ ├── juce_ArrowButton.h
│ │ ├── juce_Button.cpp
│ │ ├── juce_Button.h
│ │ ├── juce_DrawableButton.cpp
│ │ ├── juce_DrawableButton.h
│ │ ├── juce_HyperlinkButton.cpp
│ │ ├── juce_HyperlinkButton.h
│ │ ├── juce_ImageButton.cpp
│ │ ├── juce_ImageButton.h
│ │ ├── juce_ShapeButton.cpp
│ │ ├── juce_ShapeButton.h
│ │ ├── juce_TextButton.cpp
│ │ ├── juce_TextButton.h
│ │ ├── juce_ToggleButton.cpp
│ │ ├── juce_ToggleButton.h
│ │ ├── juce_ToolbarButton.cpp
│ │ └── juce_ToolbarButton.h
│ ├── commands
│ │ ├── juce_ApplicationCommandID.h
│ │ ├── juce_ApplicationCommandInfo.cpp
│ │ ├── juce_ApplicationCommandInfo.h
│ │ ├── juce_ApplicationCommandManager.cpp
│ │ ├── juce_ApplicationCommandManager.h
│ │ ├── juce_ApplicationCommandTarget.cpp
│ │ ├── juce_ApplicationCommandTarget.h
│ │ ├── juce_KeyPressMappingSet.cpp
│ │ └── juce_KeyPressMappingSet.h
│ ├── components
│ │ ├── juce_CachedComponentImage.h
│ │ ├── juce_Component.cpp
│ │ ├── juce_Component.h
│ │ ├── juce_ComponentListener.cpp
│ │ ├── juce_ComponentListener.h
│ │ ├── juce_Desktop.cpp
│ │ ├── juce_Desktop.h
│ │ ├── juce_ModalComponentManager.cpp
│ │ └── juce_ModalComponentManager.h
│ ├── drawables
│ │ ├── juce_Drawable.cpp
│ │ ├── juce_Drawable.h
│ │ ├── juce_DrawableComposite.cpp
│ │ ├── juce_DrawableComposite.h
│ │ ├── juce_DrawableImage.cpp
│ │ ├── juce_DrawableImage.h
│ │ ├── juce_DrawablePath.cpp
│ │ ├── juce_DrawablePath.h
│ │ ├── juce_DrawableRectangle.cpp
│ │ ├── juce_DrawableRectangle.h
│ │ ├── juce_DrawableShape.cpp
│ │ ├── juce_DrawableShape.h
│ │ ├── juce_DrawableText.cpp
│ │ ├── juce_DrawableText.h
│ │ └── juce_SVGParser.cpp
│ ├── filebrowser
│ │ ├── juce_DirectoryContentsDisplayComponent.cpp
│ │ ├── juce_DirectoryContentsDisplayComponent.h
│ │ ├── juce_DirectoryContentsList.cpp
│ │ ├── juce_DirectoryContentsList.h
│ │ ├── juce_FileBrowserComponent.cpp
│ │ ├── juce_FileBrowserComponent.h
│ │ ├── juce_FileBrowserListener.h
│ │ ├── juce_FileChooser.cpp
│ │ ├── juce_FileChooser.h
│ │ ├── juce_FileChooserDialogBox.cpp
│ │ ├── juce_FileChooserDialogBox.h
│ │ ├── juce_FileListComponent.cpp
│ │ ├── juce_FileListComponent.h
│ │ ├── juce_FilePreviewComponent.h
│ │ ├── juce_FileSearchPathListComponent.cpp
│ │ ├── juce_FileSearchPathListComponent.h
│ │ ├── juce_FileTreeComponent.cpp
│ │ ├── juce_FileTreeComponent.h
│ │ ├── juce_FilenameComponent.cpp
│ │ ├── juce_FilenameComponent.h
│ │ ├── juce_ImagePreviewComponent.cpp
│ │ └── juce_ImagePreviewComponent.h
│ ├── juce_gui_basics.cpp
│ ├── juce_gui_basics.h
│ ├── juce_gui_basics.mm
│ ├── juce_module_info
│ ├── keyboard
│ │ ├── juce_CaretComponent.cpp
│ │ ├── juce_CaretComponent.h
│ │ ├── juce_KeyListener.cpp
│ │ ├── juce_KeyListener.h
│ │ ├── juce_KeyPress.cpp
│ │ ├── juce_KeyPress.h
│ │ ├── juce_KeyboardFocusTraverser.cpp
│ │ ├── juce_KeyboardFocusTraverser.h
│ │ ├── juce_ModifierKeys.cpp
│ │ ├── juce_ModifierKeys.h
│ │ ├── juce_SystemClipboard.h
│ │ ├── juce_TextEditorKeyMapper.h
│ │ └── juce_TextInputTarget.h
│ ├── layout
│ │ ├── juce_AnimatedPosition.h
│ │ ├── juce_AnimatedPositionBehaviours.h
│ │ ├── juce_ComponentAnimator.cpp
│ │ ├── juce_ComponentAnimator.h
│ │ ├── juce_ComponentBoundsConstrainer.cpp
│ │ ├── juce_ComponentBoundsConstrainer.h
│ │ ├── juce_ComponentBuilder.cpp
│ │ ├── juce_ComponentBuilder.h
│ │ ├── juce_ComponentMovementWatcher.cpp
│ │ ├── juce_ComponentMovementWatcher.h
│ │ ├── juce_ConcertinaPanel.cpp
│ │ ├── juce_ConcertinaPanel.h
│ │ ├── juce_GroupComponent.cpp
│ │ ├── juce_GroupComponent.h
│ │ ├── juce_MultiDocumentPanel.cpp
│ │ ├── juce_MultiDocumentPanel.h
│ │ ├── juce_ResizableBorderComponent.cpp
│ │ ├── juce_ResizableBorderComponent.h
│ │ ├── juce_ResizableCornerComponent.cpp
│ │ ├── juce_ResizableCornerComponent.h
│ │ ├── juce_ResizableEdgeComponent.cpp
│ │ ├── juce_ResizableEdgeComponent.h
│ │ ├── juce_ScrollBar.cpp
│ │ ├── juce_ScrollBar.h
│ │ ├── juce_StretchableLayoutManager.cpp
│ │ ├── juce_StretchableLayoutManager.h
│ │ ├── juce_StretchableLayoutResizerBar.cpp
│ │ ├── juce_StretchableLayoutResizerBar.h
│ │ ├── juce_StretchableObjectResizer.cpp
│ │ ├── juce_StretchableObjectResizer.h
│ │ ├── juce_TabbedButtonBar.cpp
│ │ ├── juce_TabbedButtonBar.h
│ │ ├── juce_TabbedComponent.cpp
│ │ ├── juce_TabbedComponent.h
│ │ ├── juce_Viewport.cpp
│ │ └── juce_Viewport.h
│ ├── lookandfeel
│ │ ├── juce_LookAndFeel.cpp
│ │ ├── juce_LookAndFeel.h
│ │ ├── juce_LookAndFeel_V1.cpp
│ │ ├── juce_LookAndFeel_V1.h
│ │ ├── juce_LookAndFeel_V2.cpp
│ │ ├── juce_LookAndFeel_V2.h
│ │ ├── juce_LookAndFeel_V3.cpp
│ │ └── juce_LookAndFeel_V3.h
│ ├── menus
│ │ ├── juce_MenuBarComponent.cpp
│ │ ├── juce_MenuBarComponent.h
│ │ ├── juce_MenuBarModel.cpp
│ │ ├── juce_MenuBarModel.h
│ │ ├── juce_PopupMenu.cpp
│ │ └── juce_PopupMenu.h
│ ├── misc
│ │ ├── juce_BubbleComponent.cpp
│ │ ├── juce_BubbleComponent.h
│ │ ├── juce_DropShadower.cpp
│ │ └── juce_DropShadower.h
│ ├── mouse
│ │ ├── juce_ComponentDragger.cpp
│ │ ├── juce_ComponentDragger.h
│ │ ├── juce_DragAndDropContainer.cpp
│ │ ├── juce_DragAndDropContainer.h
│ │ ├── juce_DragAndDropTarget.h
│ │ ├── juce_FileDragAndDropTarget.h
│ │ ├── juce_LassoComponent.h
│ │ ├── juce_MouseCursor.cpp
│ │ ├── juce_MouseCursor.h
│ │ ├── juce_MouseEvent.cpp
│ │ ├── juce_MouseEvent.h
│ │ ├── juce_MouseInactivityDetector.cpp
│ │ ├── juce_MouseInactivityDetector.h
│ │ ├── juce_MouseInputSource.cpp
│ │ ├── juce_MouseInputSource.h
│ │ ├── juce_MouseListener.cpp
│ │ ├── juce_MouseListener.h
│ │ ├── juce_SelectedItemSet.h
│ │ ├── juce_TextDragAndDropTarget.h
│ │ └── juce_TooltipClient.h
│ ├── native
│ │ ├── juce_MultiTouchMapper.h
│ │ ├── juce_android_FileChooser.cpp
│ │ ├── juce_android_Windowing.cpp
│ │ ├── juce_ios_UIViewComponentPeer.mm
│ │ ├── juce_ios_Windowing.mm
│ │ ├── juce_linux_Clipboard.cpp
│ │ ├── juce_linux_FileChooser.cpp
│ │ ├── juce_linux_Windowing.cpp
│ │ ├── juce_mac_FileChooser.mm
│ │ ├── juce_mac_MainMenu.mm
│ │ ├── juce_mac_MouseCursor.mm
│ │ ├── juce_mac_NSViewComponentPeer.mm
│ │ ├── juce_mac_Windowing.mm
│ │ ├── juce_win32_DragAndDrop.cpp
│ │ ├── juce_win32_FileChooser.cpp
│ │ └── juce_win32_Windowing.cpp
│ ├── positioning
│ │ ├── juce_MarkerList.cpp
│ │ ├── juce_MarkerList.h
│ │ ├── juce_RelativeCoordinate.cpp
│ │ ├── juce_RelativeCoordinate.h
│ │ ├── juce_RelativeCoordinatePositioner.cpp
│ │ ├── juce_RelativeCoordinatePositioner.h
│ │ ├── juce_RelativeParallelogram.cpp
│ │ ├── juce_RelativeParallelogram.h
│ │ ├── juce_RelativePoint.cpp
│ │ ├── juce_RelativePoint.h
│ │ ├── juce_RelativePointPath.cpp
│ │ ├── juce_RelativePointPath.h
│ │ ├── juce_RelativeRectangle.cpp
│ │ └── juce_RelativeRectangle.h
│ ├── properties
│ │ ├── juce_BooleanPropertyComponent.cpp
│ │ ├── juce_BooleanPropertyComponent.h
│ │ ├── juce_ButtonPropertyComponent.cpp
│ │ ├── juce_ButtonPropertyComponent.h
│ │ ├── juce_ChoicePropertyComponent.cpp
│ │ ├── juce_ChoicePropertyComponent.h
│ │ ├── juce_PropertyComponent.cpp
│ │ ├── juce_PropertyComponent.h
│ │ ├── juce_PropertyPanel.cpp
│ │ ├── juce_PropertyPanel.h
│ │ ├── juce_SliderPropertyComponent.cpp
│ │ ├── juce_SliderPropertyComponent.h
│ │ ├── juce_TextPropertyComponent.cpp
│ │ └── juce_TextPropertyComponent.h
│ ├── widgets
│ │ ├── juce_ComboBox.cpp
│ │ ├── juce_ComboBox.h
│ │ ├── juce_ImageComponent.cpp
│ │ ├── juce_ImageComponent.h
│ │ ├── juce_Label.cpp
│ │ ├── juce_Label.h
│ │ ├── juce_ListBox.cpp
│ │ ├── juce_ListBox.h
│ │ ├── juce_ProgressBar.cpp
│ │ ├── juce_ProgressBar.h
│ │ ├── juce_Slider.cpp
│ │ ├── juce_Slider.h
│ │ ├── juce_TableHeaderComponent.cpp
│ │ ├── juce_TableHeaderComponent.h
│ │ ├── juce_TableListBox.cpp
│ │ ├── juce_TableListBox.h
│ │ ├── juce_TextEditor.cpp
│ │ ├── juce_TextEditor.h
│ │ ├── juce_Toolbar.cpp
│ │ ├── juce_Toolbar.h
│ │ ├── juce_ToolbarItemComponent.cpp
│ │ ├── juce_ToolbarItemComponent.h
│ │ ├── juce_ToolbarItemFactory.h
│ │ ├── juce_ToolbarItemPalette.cpp
│ │ ├── juce_ToolbarItemPalette.h
│ │ ├── juce_TreeView.cpp
│ │ └── juce_TreeView.h
│ └── windows
│ │ ├── juce_AlertWindow.cpp
│ │ ├── juce_AlertWindow.h
│ │ ├── juce_CallOutBox.cpp
│ │ ├── juce_CallOutBox.h
│ │ ├── juce_ComponentPeer.cpp
│ │ ├── juce_ComponentPeer.h
│ │ ├── juce_DialogWindow.cpp
│ │ ├── juce_DialogWindow.h
│ │ ├── juce_DocumentWindow.cpp
│ │ ├── juce_DocumentWindow.h
│ │ ├── juce_NativeMessageBox.h
│ │ ├── juce_ResizableWindow.cpp
│ │ ├── juce_ResizableWindow.h
│ │ ├── juce_ThreadWithProgressWindow.cpp
│ │ ├── juce_ThreadWithProgressWindow.h
│ │ ├── juce_TooltipWindow.cpp
│ │ ├── juce_TooltipWindow.h
│ │ ├── juce_TopLevelWindow.cpp
│ │ └── juce_TopLevelWindow.h
│ ├── juce_gui_extra
│ ├── code_editor
│ │ ├── juce_CPlusPlusCodeTokeniser.cpp
│ │ ├── juce_CPlusPlusCodeTokeniser.h
│ │ ├── juce_CPlusPlusCodeTokeniserFunctions.h
│ │ ├── juce_CodeDocument.cpp
│ │ ├── juce_CodeDocument.h
│ │ ├── juce_CodeEditorComponent.cpp
│ │ ├── juce_CodeEditorComponent.h
│ │ ├── juce_CodeTokeniser.h
│ │ ├── juce_LuaCodeTokeniser.cpp
│ │ ├── juce_LuaCodeTokeniser.h
│ │ ├── juce_XMLCodeTokeniser.cpp
│ │ └── juce_XMLCodeTokeniser.h
│ ├── documents
│ │ ├── juce_FileBasedDocument.cpp
│ │ └── juce_FileBasedDocument.h
│ ├── embedding
│ │ ├── juce_ActiveXControlComponent.h
│ │ ├── juce_NSViewComponent.h
│ │ └── juce_UIViewComponent.h
│ ├── juce_gui_extra.cpp
│ ├── juce_gui_extra.h
│ ├── juce_gui_extra.mm
│ ├── juce_module_info
│ ├── misc
│ │ ├── juce_AnimatedAppComponent.cpp
│ │ ├── juce_AnimatedAppComponent.h
│ │ ├── juce_AppleRemote.h
│ │ ├── juce_BubbleMessageComponent.cpp
│ │ ├── juce_BubbleMessageComponent.h
│ │ ├── juce_ColourSelector.cpp
│ │ ├── juce_ColourSelector.h
│ │ ├── juce_KeyMappingEditorComponent.cpp
│ │ ├── juce_KeyMappingEditorComponent.h
│ │ ├── juce_LiveConstantEditor.cpp
│ │ ├── juce_LiveConstantEditor.h
│ │ ├── juce_PreferencesPanel.cpp
│ │ ├── juce_PreferencesPanel.h
│ │ ├── juce_RecentlyOpenedFilesList.cpp
│ │ ├── juce_RecentlyOpenedFilesList.h
│ │ ├── juce_SplashScreen.cpp
│ │ ├── juce_SplashScreen.h
│ │ ├── juce_SystemTrayIconComponent.cpp
│ │ ├── juce_SystemTrayIconComponent.h
│ │ └── juce_WebBrowserComponent.h
│ └── native
│ │ ├── juce_android_WebBrowserComponent.cpp
│ │ ├── juce_ios_UIViewComponent.mm
│ │ ├── juce_linux_SystemTrayIcon.cpp
│ │ ├── juce_linux_WebBrowserComponent.cpp
│ │ ├── juce_mac_AppleRemote.mm
│ │ ├── juce_mac_CarbonViewWrapperComponent.h
│ │ ├── juce_mac_NSViewComponent.mm
│ │ ├── juce_mac_SystemTrayIcon.cpp
│ │ ├── juce_mac_WebBrowserComponent.mm
│ │ ├── juce_win32_ActiveXComponent.cpp
│ │ ├── juce_win32_SystemTrayIcon.cpp
│ │ └── juce_win32_WebBrowserComponent.cpp
│ ├── juce_opengl
│ ├── geometry
│ │ ├── juce_Draggable3DOrientation.h
│ │ ├── juce_Matrix3D.h
│ │ ├── juce_Quaternion.h
│ │ └── juce_Vector3D.h
│ ├── juce_module_info
│ ├── juce_opengl.cpp
│ ├── juce_opengl.h
│ ├── juce_opengl.mm
│ ├── native
│ │ ├── juce_MissingGLDefinitions.h
│ │ ├── juce_OpenGLExtensions.h
│ │ ├── juce_OpenGL_android.h
│ │ ├── juce_OpenGL_ios.h
│ │ ├── juce_OpenGL_linux.h
│ │ ├── juce_OpenGL_osx.h
│ │ └── juce_OpenGL_win32.h
│ ├── opengl
│ │ ├── juce_OpenGLContext.cpp
│ │ ├── juce_OpenGLContext.h
│ │ ├── juce_OpenGLFrameBuffer.cpp
│ │ ├── juce_OpenGLFrameBuffer.h
│ │ ├── juce_OpenGLGraphicsContext.cpp
│ │ ├── juce_OpenGLGraphicsContext.h
│ │ ├── juce_OpenGLHelpers.cpp
│ │ ├── juce_OpenGLHelpers.h
│ │ ├── juce_OpenGLImage.cpp
│ │ ├── juce_OpenGLImage.h
│ │ ├── juce_OpenGLPixelFormat.cpp
│ │ ├── juce_OpenGLPixelFormat.h
│ │ ├── juce_OpenGLRenderer.h
│ │ ├── juce_OpenGLShaderProgram.cpp
│ │ ├── juce_OpenGLShaderProgram.h
│ │ ├── juce_OpenGLTexture.cpp
│ │ └── juce_OpenGLTexture.h
│ └── utils
│ │ ├── juce_OpenGLAppComponent.cpp
│ │ └── juce_OpenGLAppComponent.h
│ └── juce_video
│ ├── capture
│ ├── juce_CameraDevice.cpp
│ └── juce_CameraDevice.h
│ ├── juce_module_info
│ ├── juce_video.cpp
│ ├── juce_video.h
│ ├── juce_video.mm
│ ├── native
│ ├── juce_android_CameraDevice.cpp
│ ├── juce_mac_CameraDevice.mm
│ ├── juce_mac_QuickTimeMovieComponent.mm
│ ├── juce_win32_CameraDevice.cpp
│ ├── juce_win32_DirectShowComponent.cpp
│ └── juce_win32_QuickTimeMovieComponent.cpp
│ └── playback
│ ├── juce_DirectShowComponent.h
│ └── juce_QuickTimeMovieComponent.h
├── LICENSE
├── MoogFilter.jucer
├── Readme.md
└── Source
├── MoogFilter.cpp
├── MoogFilter.h
├── PluginEditor.cpp
├── PluginEditor.h
├── PluginProcessor.cpp
└── PluginProcessor.h
/Builds/MacOSX/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | CFBundleExecutable
7 | ${EXECUTABLE_NAME}
8 | CFBundleIconFile
9 |
10 | CFBundleIdentifier
11 | com.dshr.MoogFilter
12 | CFBundleName
13 | MoogFilter
14 | CFBundlePackageType
15 | TDMw
16 | CFBundleSignature
17 | PTul
18 | CFBundleShortVersionString
19 | 1.0.0
20 | CFBundleVersion
21 | 1.0.0
22 | NSHumanReadableCopyright
23 |
24 | NSHighResolutionCapable
25 |
26 | AudioComponents
27 |
28 |
29 | name
30 | dshr: MoogFilter
31 | description
32 | MoogFilter
33 | factoryFunction
34 | MoogFilterAUFactory
35 | manufacturer
36 | Manu
37 | type
38 | aufx
39 | subtype
40 | Plug
41 | version
42 | 65536
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Builds/MacOSX/MoogFilter.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Builds/MacOSX/MoogFilter.xcodeproj/project.xcworkspace/xcuserdata/desislavhristov.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dshr/MoogFilter/e8c2075646f12b314144e3487dadec430d43a3c2/Builds/MacOSX/MoogFilter.xcodeproj/project.xcworkspace/xcuserdata/desislavhristov.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Builds/MacOSX/MoogFilter.xcodeproj/xcuserdata/desislavhristov.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Builds/MacOSX/MoogFilter.xcodeproj/xcuserdata/desislavhristov.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | MoogFilter.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | EBF6D6B872E524FA975A74D5
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Builds/MacOSX/RecentFilesMenuTemplate.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dshr/MoogFilter/e8c2075646f12b314144e3487dadec430d43a3c2/Builds/MacOSX/RecentFilesMenuTemplate.nib
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AudioComponents
6 |
7 |
8 | description
9 | MoogFilter
10 | factoryFunction
11 | MoogFilterAUFactory
12 | manufacturer
13 | Manu
14 | name
15 | dshr: MoogFilter
16 | subtype
17 | Plug
18 | type
19 | aufx
20 | version
21 | 65536
22 |
23 |
24 | BuildMachineOSBuild
25 | 14C1514
26 | CFBundleExecutable
27 | MoogFilter
28 | CFBundleIdentifier
29 | com.dshr.MoogFilter
30 | CFBundleName
31 | MoogFilter
32 | CFBundlePackageType
33 | TDMw
34 | CFBundleShortVersionString
35 | 1.0.0
36 | CFBundleSignature
37 | PTul
38 | CFBundleVersion
39 | 1.0.0
40 | DTCompiler
41 | com.apple.compilers.llvm.clang.1_0
42 | DTPlatformBuild
43 | 6C131e
44 | DTPlatformVersion
45 | GM
46 | DTSDKBuild
47 | 14A383
48 | DTSDKName
49 | macosx10.10
50 | DTXcode
51 | 0620
52 | DTXcodeBuild
53 | 6C131e
54 | NSHighResolutionCapable
55 |
56 | NSHumanReadableCopyright
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/MacOS/MoogFilter:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dshr/MoogFilter/e8c2075646f12b314144e3487dadec430d43a3c2/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/MacOS/MoogFilter
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/PkgInfo:
--------------------------------------------------------------------------------
1 | TDMwPTul
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/Resources/MoogFilter.rsrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dshr/MoogFilter/e8c2075646f12b314144e3487dadec430d43a3c2/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/Resources/MoogFilter.rsrc
--------------------------------------------------------------------------------
/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/Resources/RecentFilesMenuTemplate.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dshr/MoogFilter/e8c2075646f12b314144e3487dadec430d43a3c2/Builds/MacOSX/build/Debug/MoogFilter.component/Contents/Resources/RecentFilesMenuTemplate.nib
--------------------------------------------------------------------------------
/JuceLibraryCode/JuceHeader.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | This is the header file that your files should include in order to get all the
7 | JUCE library headers. You should avoid including the JUCE headers directly in
8 | your own source files, because that wouldn't pick up the correct configuration
9 | options for your app.
10 |
11 | */
12 |
13 | #ifndef __APPHEADERFILE_BUKBHH__
14 | #define __APPHEADERFILE_BUKBHH__
15 |
16 | #include "AppConfig.h"
17 | #include "modules/juce_audio_basics/juce_audio_basics.h"
18 | #include "modules/juce_audio_devices/juce_audio_devices.h"
19 | #include "modules/juce_audio_formats/juce_audio_formats.h"
20 | #include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h"
21 | #include "modules/juce_audio_processors/juce_audio_processors.h"
22 | #include "modules/juce_core/juce_core.h"
23 | #include "modules/juce_cryptography/juce_cryptography.h"
24 | #include "modules/juce_data_structures/juce_data_structures.h"
25 | #include "modules/juce_events/juce_events.h"
26 | #include "modules/juce_graphics/juce_graphics.h"
27 | #include "modules/juce_gui_basics/juce_gui_basics.h"
28 | #include "modules/juce_gui_extra/juce_gui_extra.h"
29 | #include "modules/juce_opengl/juce_opengl.h"
30 | #include "modules/juce_video/juce_video.h"
31 |
32 | #if ! DONT_SET_USING_JUCE_NAMESPACE
33 | // If your code uses a lot of JUCE classes, then this will obviously save you
34 | // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
35 | using namespace juce;
36 | #endif
37 |
38 | #if ! JUCE_DONT_DECLARE_PROJECTINFO
39 | namespace ProjectInfo
40 | {
41 | const char* const projectName = "MoogFilter";
42 | const char* const versionString = "1.0.0";
43 | const int versionNumber = 0x10000;
44 | }
45 | #endif
46 |
47 | #endif // __APPHEADERFILE_BUKBHH__
48 |
--------------------------------------------------------------------------------
/JuceLibraryCode/ReadMe.txt:
--------------------------------------------------------------------------------
1 |
2 | Important Note!!
3 | ================
4 |
5 | The purpose of this folder is to contain files that are auto-generated by the Introjucer,
6 | and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
7 | the Introjucer saves your project.
8 |
9 | Therefore, it's a bad idea to make any manual changes to the files in here, or to
10 | put any of your own files in here if you don't want to lose them. (Of course you may choose
11 | to add the folder's contents to your version-control system so that you can re-merge your own
12 | modifications after the Introjucer has saved its changes).
13 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_audio_basics.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_basics/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_audio_basics",
3 | "name": "JUCE audio and midi data classes",
4 | "version": "3.1.1",
5 | "description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_core", "version": "matching" } ],
10 |
11 | "include": "juce_audio_basics.h",
12 |
13 | "compile": [ { "file": "juce_audio_basics.cpp", "target": "! xcode" },
14 | { "file": "juce_audio_basics.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "buffers/*",
17 | "midi/*",
18 | "effects/*",
19 | "sources/*",
20 | "synthesisers/*" ],
21 |
22 | "OSXFrameworks": "Accelerate",
23 | "iOSFrameworks": "Accelerate"
24 | }
25 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #if JUCE_USE_CDREADER
26 |
27 | int AudioCDReader::getNumTracks() const
28 | {
29 | return trackStartSamples.size() - 1;
30 | }
31 |
32 | int AudioCDReader::getPositionOfTrackStart (int trackNum) const
33 | {
34 | return trackStartSamples [trackNum];
35 | }
36 |
37 | const Array& AudioCDReader::getTrackOffsets() const
38 | {
39 | return trackStartSamples;
40 | }
41 |
42 | int AudioCDReader::getCDDBId()
43 | {
44 | int checksum = 0;
45 | const int numTracks = getNumTracks();
46 |
47 | for (int i = 0; i < numTracks; ++i)
48 | for (int offset = (trackStartSamples.getUnchecked(i) + 88200) / 44100; offset > 0; offset /= 10)
49 | checksum += offset % 10;
50 |
51 | const int length = (trackStartSamples.getLast() - trackStartSamples.getFirst()) / 44100;
52 |
53 | // CCLLLLTT: checksum, length, tracks
54 | return ((checksum & 0xff) << 24) | (length << 8) | numTracks;
55 | }
56 |
57 | #endif
58 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | AudioIODevice::AudioIODevice (const String& deviceName, const String& deviceTypeName)
26 | : name (deviceName), typeName (deviceTypeName)
27 | {
28 | }
29 |
30 | AudioIODevice::~AudioIODevice() {}
31 |
32 | void AudioIODeviceCallback::audioDeviceError (const String&) {}
33 | bool AudioIODevice::setAudioPreprocessingEnabled (bool) { return false; }
34 | bool AudioIODevice::hasControlPanel() const { return false; }
35 |
36 | bool AudioIODevice::showControlPanel()
37 | {
38 | jassertfalse; // this should only be called for devices which return true from
39 | // their hasControlPanel() method.
40 | return false;
41 | }
42 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_SYSTEMAUDIOVOLUME_H_INCLUDED
26 | #define JUCE_SYSTEMAUDIOVOLUME_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | Contains functions to control the system's master volume.
32 | */
33 | class JUCE_API SystemAudioVolume
34 | {
35 | public:
36 | //==============================================================================
37 | /** Returns the operating system's current volume level in the range 0 to 1.0 */
38 | static float JUCE_CALLTYPE getGain();
39 |
40 | /** Attempts to set the operating system's current volume level.
41 | @param newGain the level, between 0 and 1.0
42 | @returns true if the operation succeeds
43 | */
44 | static bool JUCE_CALLTYPE setGain (float newGain);
45 |
46 | /** Returns true if the system's audio output is currently muted. */
47 | static bool JUCE_CALLTYPE isMuted();
48 |
49 | /** Attempts to mute the operating system's audio output.
50 | @param shouldBeMuted true if you want it to be muted
51 | @returns true if the operation succeeds
52 | */
53 | static bool JUCE_CALLTYPE setMuted (bool shouldBeMuted);
54 |
55 | private:
56 | SystemAudioVolume(); // Don't instantiate this class, just call its static fns.
57 | JUCE_DECLARE_NON_COPYABLE (SystemAudioVolume)
58 | };
59 |
60 |
61 | #endif // JUCE_SYSTEMAUDIOVOLUME_H_INCLUDED
62 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_audio_devices.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_audio_devices",
3 | "name": "JUCE audio and midi I/O device classes",
4 | "version": "3.1.1",
5 | "description": "Classes to play and record from audio and midi i/o devices.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_audio_basics", "version": "matching" },
10 | { "id": "juce_audio_formats", "version": "matching" },
11 | { "id": "juce_events", "version": "matching" } ],
12 |
13 | "include": "juce_audio_devices.h",
14 |
15 | "compile": [ { "file": "juce_audio_devices.cpp", "target": "! xcode" },
16 | { "file": "juce_audio_devices.mm", "target": "xcode" } ],
17 |
18 | "browse": [ "audio_io/*",
19 | "midi_io/*",
20 | "sources/*",
21 | "audio_cd/*",
22 | "native/*" ],
23 |
24 | "OSXFrameworks": "CoreAudio CoreMIDI DiscRecording",
25 | "iOSFrameworks": "AudioToolbox CoreMIDI",
26 | "LinuxLibs": "asound",
27 | "mingwLibs": "winmm"
28 | }
29 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/native/juce_android_Midi.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | StringArray MidiOutput::getDevices()
26 | {
27 | StringArray devices;
28 |
29 | return devices;
30 | }
31 |
32 | int MidiOutput::getDefaultDeviceIndex()
33 | {
34 | return 0;
35 | }
36 |
37 | MidiOutput* MidiOutput::openDevice (int index)
38 | {
39 | return nullptr;
40 | }
41 |
42 | MidiOutput::~MidiOutput()
43 | {
44 | stopBackgroundThread();
45 | }
46 |
47 | void MidiOutput::sendMessageNow (const MidiMessage&)
48 | {
49 | }
50 |
51 | //==============================================================================
52 | MidiInput::MidiInput (const String& name_)
53 | : name (name_),
54 | internal (0)
55 | {
56 | }
57 |
58 | MidiInput::~MidiInput()
59 | {
60 | }
61 |
62 | void MidiInput::start()
63 | {
64 | }
65 |
66 | void MidiInput::stop()
67 | {
68 | }
69 |
70 | int MidiInput::getDefaultDeviceIndex()
71 | {
72 | return 0;
73 | }
74 |
75 | StringArray MidiInput::getDevices()
76 | {
77 | StringArray devs;
78 |
79 | return devs;
80 | }
81 |
82 | MidiInput* MidiInput::openDevice (int index, MidiInputCallback* callback)
83 | {
84 | return nullptr;
85 | }
86 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | AudioCDReader::AudioCDReader()
26 | : AudioFormatReader (0, "CD Audio")
27 | {
28 | }
29 |
30 | StringArray AudioCDReader::getAvailableCDNames()
31 | {
32 | StringArray names;
33 | return names;
34 | }
35 |
36 | AudioCDReader* AudioCDReader::createReaderForCD (const int index)
37 | {
38 | return nullptr;
39 | }
40 |
41 | AudioCDReader::~AudioCDReader()
42 | {
43 | }
44 |
45 | void AudioCDReader::refreshTrackLengths()
46 | {
47 | }
48 |
49 | bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,
50 | int64 startSampleInFile, int numSamples)
51 | {
52 | return false;
53 | }
54 |
55 | bool AudioCDReader::isCDStillPresent() const
56 | {
57 | return false;
58 | }
59 |
60 | bool AudioCDReader::isTrackAudio (int trackNum) const
61 | {
62 | return false;
63 | }
64 |
65 | void AudioCDReader::enableIndexScanning (bool b)
66 | {
67 | }
68 |
69 | int AudioCDReader::getLastIndex() const
70 | {
71 | return 0;
72 | }
73 |
74 | Array AudioCDReader::findIndexesInTrack (const int trackNumber)
75 | {
76 | return Array();
77 | }
78 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/flac/assert.h:
--------------------------------------------------------------------------------
1 | /* libFLAC - Free Lossless Audio Codec library
2 | * Copyright (C) 2001-2009 Josh Coalson
3 | * Copyright (C) 2011-2014 Xiph.Org Foundation
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | *
9 | * - Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | *
12 | * - Redistributions in binary form must reproduce the above copyright
13 | * notice, this list of conditions and the following disclaimer in the
14 | * documentation and/or other materials provided with the distribution.
15 | *
16 | * - Neither the name of the Xiph.org Foundation nor the names of its
17 | * contributors may be used to endorse or promote products derived from
18 | * this software without specific prior written permission.
19 | *
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 | */
32 |
33 | #ifndef FLAC__ASSERT_H
34 | #define FLAC__ASSERT_H
35 |
36 | /* we need this since some compilers (like MSVC) leave assert()s on release code (and we don't want to use their ASSERT) */
37 | #ifdef DEBUG
38 | #include
39 | #define FLAC__ASSERT(x) assert(x)
40 | #define FLAC__ASSERT_DECLARATION(x) x
41 | #else
42 | #define FLAC__ASSERT(x)
43 | #define FLAC__ASSERT_DECLARATION(x)
44 | #endif
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h:
--------------------------------------------------------------------------------
1 | /* libFLAC - Free Lossless Audio Codec library
2 | * Copyright (C) 2000-2009 Josh Coalson
3 | * Copyright (C) 2011-2014 Xiph.Org Foundation
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | *
9 | * - Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | *
12 | * - Redistributions in binary form must reproduce the above copyright
13 | * notice, this list of conditions and the following disclaimer in the
14 | * documentation and/or other materials provided with the distribution.
15 | *
16 | * - Neither the name of the Xiph.org Foundation nor the names of its
17 | * contributors may be used to endorse or promote products derived from
18 | * this software without specific prior written permission.
19 | *
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 | */
32 |
33 | #ifndef FLAC__PRIVATE__ALL_H
34 | #define FLAC__PRIVATE__ALL_H
35 |
36 | #include "bitmath.h"
37 | #include "bitreader.h"
38 | #include "bitwriter.h"
39 | #include "cpu.h"
40 | #include "crc.h"
41 | #include "fixed.h"
42 | #include "float.h"
43 | #include "format.h"
44 | #include "lpc.h"
45 | #include "md5.h"
46 | #include "memory.h"
47 | #include "metadata.h"
48 | #include "stream_encoder_framing.h"
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h:
--------------------------------------------------------------------------------
1 | #ifndef FLAC__PRIVATE__MD5_H
2 | #define FLAC__PRIVATE__MD5_H
3 |
4 | /*
5 | * This is the header file for the MD5 message-digest algorithm.
6 | * The algorithm is due to Ron Rivest. This code was
7 | * written by Colin Plumb in 1993, no copyright is claimed.
8 | * This code is in the public domain; do with it what you wish.
9 | *
10 | * Equivalent code is available from RSA Data Security, Inc.
11 | * This code has been tested against that, and is equivalent,
12 | * except that you don't need to include two pages of legalese
13 | * with every copy.
14 | *
15 | * To compute the message digest of a chunk of bytes, declare an
16 | * MD5Context structure, pass it to MD5Init, call MD5Update as
17 | * needed on buffers full of bytes, and then call MD5Final, which
18 | * will fill a supplied 16-byte array with the digest.
19 | *
20 | * Changed so as no longer to depend on Colin Plumb's `usual.h'
21 | * header definitions; now uses stuff from dpkg's config.h
22 | * - Ian Jackson .
23 | * Still in the public domain.
24 | *
25 | * Josh Coalson: made some changes to integrate with libFLAC.
26 | * Still in the public domain, with no warranty.
27 | */
28 |
29 | #include "../../../ordinals.h"
30 |
31 | typedef union {
32 | FLAC__byte *p8;
33 | FLAC__int16 *p16;
34 | FLAC__int32 *p32;
35 | } FLAC__multibyte;
36 |
37 | typedef struct {
38 | FLAC__uint32 in[16];
39 | FLAC__uint32 buf[4];
40 | FLAC__uint32 bytes[2];
41 | FLAC__multibyte internal_buf;
42 | size_t capacity;
43 | } FLAC__MD5Context;
44 |
45 | void FLAC__MD5Init(FLAC__MD5Context *context);
46 | void FLAC__MD5Final(FLAC__byte digest[16], FLAC__MD5Context *context);
47 |
48 | FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample);
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h:
--------------------------------------------------------------------------------
1 | /* libFLAC - Free Lossless Audio Codec library
2 | * Copyright (C) 2002-2009 Josh Coalson
3 | * Copyright (C) 2011-2014 Xiph.Org Foundation
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | *
9 | * - Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | *
12 | * - Redistributions in binary form must reproduce the above copyright
13 | * notice, this list of conditions and the following disclaimer in the
14 | * documentation and/or other materials provided with the distribution.
15 | *
16 | * - Neither the name of the Xiph.org Foundation nor the names of its
17 | * contributors may be used to endorse or promote products derived from
18 | * this software without specific prior written permission.
19 | *
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 | */
32 |
33 | #ifndef FLAC__PRIVATE__METADATA_H
34 | #define FLAC__PRIVATE__METADATA_H
35 |
36 | #include "FLAC/metadata.h"
37 |
38 | /* WATCHOUT: all malloc()ed data in the block is free()ed; this may not
39 | * be a consistent state (e.g. PICTURE) or equivalent to the initial
40 | * state after FLAC__metadata_object_new()
41 | */
42 | void FLAC__metadata_object_delete_data(FLAC__StreamMetadata *object);
43 |
44 | void FLAC__metadata_object_cuesheet_track_delete_data(FLAC__StreamMetadata_CueSheet_Track *object);
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h:
--------------------------------------------------------------------------------
1 | /* libFLAC - Free Lossless Audio Codec library
2 | * Copyright (C) 2001-2009 Josh Coalson
3 | * Copyright (C) 2011-2014 Xiph.Org Foundation
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | *
9 | * - Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | *
12 | * - Redistributions in binary form must reproduce the above copyright
13 | * notice, this list of conditions and the following disclaimer in the
14 | * documentation and/or other materials provided with the distribution.
15 | *
16 | * - Neither the name of the Xiph.org Foundation nor the names of its
17 | * contributors may be used to endorse or promote products derived from
18 | * this software without specific prior written permission.
19 | *
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 | */
32 |
33 | #ifndef FLAC__PROTECTED__ALL_H
34 | #define FLAC__PROTECTED__ALL_H
35 |
36 | #include "stream_decoder.h"
37 | #include "stream_encoder.h"
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #if JUCE_WINDOWS || DOXYGEN
26 |
27 | //==============================================================================
28 | /**
29 | Audio format which uses the Windows Media codecs (Windows only).
30 | */
31 | class WindowsMediaAudioFormat : public AudioFormat
32 | {
33 | public:
34 | //==============================================================================
35 | WindowsMediaAudioFormat();
36 | ~WindowsMediaAudioFormat();
37 |
38 | //==============================================================================
39 | Array getPossibleSampleRates() override;
40 | Array getPossibleBitDepths() override;
41 | bool canDoStereo() override;
42 | bool canDoMono() override;
43 | bool isCompressed() override;
44 |
45 | //==============================================================================
46 | AudioFormatReader* createReaderFor (InputStream*, bool deleteStreamIfOpeningFails) override;
47 |
48 | AudioFormatWriter* createWriterFor (OutputStream*, double sampleRateToUse,
49 | unsigned int numberOfChannels, int bitsPerSample,
50 | const StringPairArray& metadataValues, int qualityOptionIndex) override;
51 | };
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/config_types.h:
--------------------------------------------------------------------------------
1 | #ifndef __CONFIG_TYPES_H__
2 | #define __CONFIG_TYPES_H__
3 |
4 | typedef int16_t ogg_int16_t;
5 | typedef unsigned short ogg_uint16_t;
6 | typedef int32_t ogg_int32_t;
7 | typedef unsigned int ogg_uint32_t;
8 | typedef int64_t ogg_int64_t;
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/AUTHORS:
--------------------------------------------------------------------------------
1 | Monty
2 |
3 | and the rest of the Xiph.org Foundation.
4 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 2002-2008 Xiph.org Foundation
2 |
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions
5 | are met:
6 |
7 | - Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 |
10 | - Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in the
12 | documentation and/or other materials provided with the distribution.
13 |
14 | - Neither the name of the Xiph.org Foundation nor the names of its
15 | contributors may be used to endorse or promote products derived from
16 | this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
22 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: bitrate tracking and management
14 | last mod: $Id: bitrate.h 13293 2007-07-24 00:09:47Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_BITRATE_H_
19 | #define _V_BITRATE_H_
20 |
21 | #include "../../codec.h"
22 | #include "codec_internal.h"
23 | #include "os.h"
24 |
25 | /* encode side bitrate tracking */
26 | typedef struct bitrate_manager_state {
27 | int managed;
28 |
29 | long avg_reservoir;
30 | long minmax_reservoir;
31 | long avg_bitsper;
32 | long min_bitsper;
33 | long max_bitsper;
34 |
35 | long short_per_long;
36 | double avgfloat;
37 |
38 | vorbis_block *vb;
39 | int choice;
40 | } bitrate_manager_state;
41 |
42 | typedef struct bitrate_manager_info{
43 | long avg_rate;
44 | long min_rate;
45 | long max_rate;
46 | long reservoir_bits;
47 | double reservoir_bias;
48 |
49 | double slew_damp;
50 |
51 | } bitrate_manager_info;
52 |
53 | extern void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bs);
54 | extern void vorbis_bitrate_clear(bitrate_manager_state *bs);
55 | extern int vorbis_bitrate_managed(vorbis_block *vb);
56 | extern int vorbis_bitrate_addblock(vorbis_block *vb);
57 | extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op);
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: highlevel encoder setup struct separated out for vorbisenc clarity
14 | last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $
15 |
16 | ********************************************************************/
17 |
18 | typedef struct highlevel_byblocktype {
19 | double tone_mask_setting;
20 | double tone_peaklimit_setting;
21 | double noise_bias_setting;
22 | double noise_compand_setting;
23 | } highlevel_byblocktype;
24 |
25 | typedef struct highlevel_encode_setup {
26 | int set_in_stone;
27 | const void *setup;
28 | double base_setting;
29 |
30 | double impulse_noisetune;
31 |
32 | /* bitrate management below all settable */
33 | float req;
34 | int managed;
35 | long bitrate_min;
36 | long bitrate_av;
37 | double bitrate_av_damp;
38 | long bitrate_max;
39 | long bitrate_reservoir;
40 | double bitrate_reservoir_bias;
41 |
42 | int impulse_block_p;
43 | int noise_normalize_p;
44 | int coupling_p;
45 |
46 | double stereo_point_setting;
47 | double lowpass_kHz;
48 | int lowpass_altered;
49 |
50 | double ath_floating_dB;
51 | double ath_absolute_dB;
52 |
53 | double amplitude_track_dBpersec;
54 | double trigger_setting;
55 |
56 | highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
57 |
58 | } highlevel_encode_setup;
59 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: lookup based functions
14 | last mod: $Id: lookup.h 16227 2009-07-08 06:58:46Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_LOOKUP_H_
19 |
20 | #ifdef FLOAT_LOOKUP
21 | extern float vorbis_coslook(float a);
22 | extern float vorbis_invsqlook(float a);
23 | extern float vorbis_invsq2explook(int a);
24 | extern float vorbis_fromdBlook(float a);
25 | #endif
26 | #ifdef INT_LOOKUP
27 | extern long vorbis_invsqlook_i(long a,long e);
28 | extern long vorbis_coslook_i(long a);
29 | extern float vorbis_fromdBlook_i(long a);
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: LPC low level routines
14 | last mod: $Id: lpc.h 16037 2009-05-26 21:10:58Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_LPC_H_
19 | #define _V_LPC_H_
20 |
21 | #include "../../codec.h"
22 |
23 | /* simple linear scale LPC code */
24 | extern float vorbis_lpc_from_data(float *data,float *lpc,int n,int m);
25 |
26 | extern void vorbis_lpc_predict(float *coeff,float *prime,int m,
27 | float *data,long n);
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: LSP (also called LSF) conversion routines
14 | last mod: $Id: lsp.h 16227 2009-07-08 06:58:46Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 |
19 | #ifndef _V_LSP_H_
20 | #define _V_LSP_H_
21 |
22 | extern int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m);
23 |
24 | extern void vorbis_lsp_to_curve(float *curve,int *map,int n,int ln,
25 | float *lsp,int m,
26 | float amp,float ampoffset);
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: modified discrete cosine transform prototypes
14 | last mod: $Id: mdct.h 16227 2009-07-08 06:58:46Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _OGG_mdct_H_
19 | #define _OGG_mdct_H_
20 |
21 | #include "../../codec.h"
22 |
23 |
24 |
25 |
26 |
27 | /*#define MDCT_INTEGERIZED <- be warned there could be some hurt left here*/
28 | #ifdef MDCT_INTEGERIZED
29 |
30 | #define DATA_TYPE int
31 | #define REG_TYPE register int
32 | #define TRIGBITS 14
33 | #define cPI3_8 6270
34 | #define cPI2_8 11585
35 | #define cPI1_8 15137
36 |
37 | #define FLOAT_CONV(x) ((int)((x)*(1<>TRIGBITS)
39 | #define HALVE(x) ((x)>>1)
40 |
41 | #else
42 |
43 | #define DATA_TYPE float
44 | #define REG_TYPE float
45 | #define cPI3_8 .38268343236508977175F
46 | #define cPI2_8 .70710678118654752441F
47 | #define cPI1_8 .92387953251128675613F
48 |
49 | #define FLOAT_CONV(x) (x)
50 | #define MULT_NORM(x) (x)
51 | #define HALVE(x) ((x)*.5f)
52 |
53 | #endif
54 |
55 |
56 | typedef struct {
57 | int n;
58 | int log2n;
59 |
60 | DATA_TYPE *trig;
61 | int *bitrev;
62 |
63 | DATA_TYPE scale;
64 | } mdct_lookup;
65 |
66 | extern void mdct_init(mdct_lookup *lookup,int n);
67 | extern void mdct_clear(mdct_lookup *l);
68 | extern void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out);
69 | extern void mdct_backward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out);
70 |
71 | #endif
72 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: miscellaneous prototypes
14 | last mod: $Id: misc.h 16227 2009-07-08 06:58:46Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_RANDOM_H_
19 | #define _V_RANDOM_H_
20 | #include "../../codec.h"
21 |
22 | extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes);
23 | extern void _vorbis_block_ripcord(vorbis_block *vb);
24 |
25 | #ifdef ANALYSIS
26 | extern int analysis_noisy;
27 | extern void _analysis_output(char *base,int i,float *v,int n,int bark,int dB,
28 | ogg_int64_t off);
29 | extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,
30 | ogg_int64_t off);
31 | #endif
32 |
33 | #ifdef DEBUG_MALLOC
34 |
35 | #define _VDBG_GRAPHFILE "malloc.m"
36 | #undef _VDBG_GRAPHFILE
37 | extern void *_VDBG_malloc(void *ptr,long bytes,char *file,long line);
38 | extern void _VDBG_free(void *ptr,char *file,long line);
39 |
40 | #ifndef MISC_C
41 | #undef _ogg_malloc
42 | #undef _ogg_calloc
43 | #undef _ogg_realloc
44 | #undef _ogg_free
45 |
46 | #define _ogg_malloc(x) _VDBG_malloc(NULL,(x),__FILE__,__LINE__)
47 | #define _ogg_calloc(x,y) _VDBG_malloc(NULL,(x)*(y),__FILE__,__LINE__)
48 | #define _ogg_realloc(x,y) _VDBG_malloc((x),(y),__FILE__,__LINE__)
49 | #define _ogg_free(x) _VDBG_free((x),__FILE__,__LINE__)
50 | #endif
51 | #endif
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: toplevel settings for 44.1/48kHz 5.1 surround modes
14 | last mod: $Id$
15 |
16 | ********************************************************************/
17 |
18 | #include "residue_44p51.h"
19 |
20 | static const double rate_mapping_44p51[12]={
21 | 14000.,20000.,28000.,38000.,46000.,54000.,
22 | 75000.,96000.,120000.,140000.,180000.,240001.
23 | };
24 |
25 | static const ve_setup_data_template ve_setup_44_51={
26 | 11,
27 | rate_mapping_44p51,
28 | quality_mapping_44,
29 | 6,
30 | 40000,
31 | 70000,
32 |
33 | blocksize_short_44,
34 | blocksize_long_44,
35 |
36 | _psy_tone_masteratt_44,
37 | _psy_tone_0dB,
38 | _psy_tone_suppress,
39 |
40 | _vp_tonemask_adj_otherblock,
41 | _vp_tonemask_adj_longblock,
42 | _vp_tonemask_adj_otherblock,
43 |
44 | _psy_noiseguards_44,
45 | _psy_noisebias_impulse,
46 | _psy_noisebias_padding,
47 | _psy_noisebias_trans,
48 | _psy_noisebias_long,
49 | _psy_noise_suppress,
50 |
51 | _psy_compand_44,
52 | _psy_compand_short_mapping,
53 | _psy_compand_long_mapping,
54 |
55 | {_noise_start_short_44,_noise_start_long_44},
56 | {_noise_part_short_44,_noise_part_long_44},
57 | _noise_thresh_44,
58 |
59 | _psy_ath_floater,
60 | _psy_ath_abs,
61 |
62 | _psy_lowpass_44,
63 |
64 | _psy_global_44,
65 | _global_mapping_44,
66 | _psy_stereo_modes_44,
67 |
68 | _floor_books,
69 | _floor,
70 | 3,
71 | _floor_mapping_44,
72 |
73 | _mapres_template_44_51
74 | };
75 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: toplevel settings for 44.1/48kHz uncoupled modes
14 | last mod: $Id: setup_44u.h 16962 2010-03-11 07:30:34Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #include "residue_44u.h"
19 |
20 | static const double rate_mapping_44_un[12]={
21 | 32000.,48000.,60000.,70000.,80000.,86000.,
22 | 96000.,110000.,120000.,140000.,160000.,240001.
23 | };
24 |
25 | static const ve_setup_data_template ve_setup_44_uncoupled={
26 | 11,
27 | rate_mapping_44_un,
28 | quality_mapping_44,
29 | -1,
30 | 40000,
31 | 50000,
32 |
33 | blocksize_short_44,
34 | blocksize_long_44,
35 |
36 | _psy_tone_masteratt_44,
37 | _psy_tone_0dB,
38 | _psy_tone_suppress,
39 |
40 | _vp_tonemask_adj_otherblock,
41 | _vp_tonemask_adj_longblock,
42 | _vp_tonemask_adj_otherblock,
43 |
44 | _psy_noiseguards_44,
45 | _psy_noisebias_impulse,
46 | _psy_noisebias_padding,
47 | _psy_noisebias_trans,
48 | _psy_noisebias_long,
49 | _psy_noise_suppress,
50 |
51 | _psy_compand_44,
52 | _psy_compand_short_mapping,
53 | _psy_compand_long_mapping,
54 |
55 | {_noise_start_short_44,_noise_start_long_44},
56 | {_noise_part_short_44,_noise_part_long_44},
57 | _noise_thresh_44,
58 |
59 | _psy_ath_floater,
60 | _psy_ath_abs,
61 |
62 | _psy_lowpass_44,
63 |
64 | _psy_global_44,
65 | _global_mapping_44,
66 | _psy_stereo_modes_44,
67 |
68 | _floor_books,
69 | _floor,
70 | 2,
71 | _floor_mapping_44,
72 |
73 | _mapres_template_44_uncoupled
74 | };
75 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: registry for time, floor, res backends and channel mappings
14 | last mod: $Id: registry.c 16227 2009-07-08 06:58:46Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #include "../../codec.h"
19 | #include "codec_internal.h"
20 | #include "registry.h"
21 | #include "misc.h"
22 | /* seems like major overkill now; the backend numbers will grow into
23 | the infrastructure soon enough */
24 |
25 | extern const vorbis_func_floor floor0_exportbundle;
26 | extern const vorbis_func_floor floor1_exportbundle;
27 | extern const vorbis_func_residue residue0_exportbundle;
28 | extern const vorbis_func_residue residue1_exportbundle;
29 | extern const vorbis_func_residue residue2_exportbundle;
30 | extern const vorbis_func_mapping mapping0_exportbundle;
31 |
32 | const vorbis_func_floor *const _floor_P[]={
33 | &floor0_exportbundle,
34 | &floor1_exportbundle,
35 | };
36 |
37 | const vorbis_func_residue *const _residue_P[]={
38 | &residue0_exportbundle,
39 | &residue1_exportbundle,
40 | &residue2_exportbundle,
41 | };
42 |
43 | const vorbis_func_mapping *const _mapping_P[]={
44 | &mapping0_exportbundle,
45 | };
46 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: registry for time, floor, res backends and channel mappings
14 | last mod: $Id: registry.h 15531 2008-11-24 23:50:06Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_REG_H_
19 | #define _V_REG_H_
20 |
21 | #define VI_TRANSFORMB 1
22 | #define VI_WINDOWB 1
23 | #define VI_TIMEB 1
24 | #define VI_FLOORB 2
25 | #define VI_RESB 3
26 | #define VI_MAPB 1
27 |
28 | extern const vorbis_func_floor *const _floor_P[];
29 | extern const vorbis_func_residue *const _residue_P[];
30 | extern const vorbis_func_mapping *const _mapping_P[];
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: fft transform
14 | last mod: $Id: smallft.h 13293 2007-07-24 00:09:47Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_SMFT_H_
19 | #define _V_SMFT_H_
20 |
21 | #include "../../codec.h"
22 |
23 | typedef struct {
24 | int n;
25 | float *trigcache;
26 | int *splitcache;
27 | } drft_lookup;
28 |
29 | extern void drft_forward(drft_lookup *l,float *data);
30 | extern void drft_backward(drft_lookup *l,float *data);
31 | extern void drft_init(drft_lookup *l,int n);
32 | extern void drft_clear(drft_lookup *l);
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h:
--------------------------------------------------------------------------------
1 | /********************************************************************
2 | * *
3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 | * *
8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9 | * by the Xiph.Org Foundation http://www.xiph.org/ *
10 | * *
11 | ********************************************************************
12 |
13 | function: window functions
14 | last mod: $Id: window.h 13293 2007-07-24 00:09:47Z xiphmont $
15 |
16 | ********************************************************************/
17 |
18 | #ifndef _V_WINDOW_
19 | #define _V_WINDOW_
20 |
21 | extern float *_vorbis_window_get(int n);
22 | extern void _vorbis_apply_window(float *d,int *winno,long *blocksizes,
23 | int lW,int W,int nW);
24 |
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/format/juce_AudioFormat.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | AudioFormat::AudioFormat (String name, StringArray extensions)
26 | : formatName (name), fileExtensions (extensions)
27 | {
28 | }
29 |
30 | AudioFormat::AudioFormat (StringRef name, StringRef extensions)
31 | : formatName (name.text), fileExtensions (StringArray::fromTokens (extensions, false))
32 | {
33 | }
34 |
35 | AudioFormat::~AudioFormat()
36 | {
37 | }
38 |
39 | bool AudioFormat::canHandleFile (const File& f)
40 | {
41 | for (int i = 0; i < fileExtensions.size(); ++i)
42 | if (f.hasFileExtension (fileExtensions[i]))
43 | return true;
44 |
45 | return false;
46 | }
47 |
48 | const String& AudioFormat::getFormatName() const { return formatName; }
49 | const StringArray& AudioFormat::getFileExtensions() const { return fileExtensions; }
50 | bool AudioFormat::isCompressed() { return false; }
51 | StringArray AudioFormat::getQualityOptions() { return StringArray(); }
52 |
53 | MemoryMappedAudioFormatReader* AudioFormat::createMemoryMappedReader (const File&)
54 | {
55 | return nullptr;
56 | }
57 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_audio_formats.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_formats/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_audio_formats",
3 | "name": "JUCE audio file format codecs",
4 | "version": "3.1.1",
5 | "description": "Classes for reading and writing various audio file formats.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_audio_basics", "version": "matching" } ],
10 |
11 | "include": "juce_audio_formats.h",
12 |
13 | "compile": [ { "file": "juce_audio_formats.cpp", "target": "! xcode" },
14 | { "file": "juce_audio_formats.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "format/*",
17 | "codecs/*",
18 | "sampler/*" ],
19 |
20 | "OSXFrameworks": "CoreAudio CoreMIDI QuartzCore AudioToolbox",
21 | "iOSFrameworks": "AudioToolbox QuartzCore"
22 | }
23 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #define JUCE_INCLUDED_AAX_IN_MM 1
26 | #include "juce_AAX_Wrapper.cpp"
27 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | // Your project must contain an AppConfig.h file with your project-specific settings in it,
26 | // and your header search path must make it accessible to the module's files.
27 | #include "AppConfig.h"
28 |
29 | #include "../utility/juce_CheckSettingMacros.h"
30 |
31 | #if JucePlugin_Build_RTAS
32 |
33 | #include "juce_RTAS_DigiCode_Header.h"
34 |
35 | /*
36 | This file is used to include and build the required digidesign CPP files without your project
37 | needing to reference the files directly. Because these files will be found via your include path,
38 | this means that the project doesn't have to change to cope with people's SDKs being in different
39 | locations.
40 |
41 | Important note on Windows: In your project settings for the three juce_RTAS_DigiCode.cpp files and
42 | the juce_RTAS_Wrapper.cpp file, you need to set the calling convention to "__stdcall".
43 | If you don't do this, you'll get some unresolved externals and will spend a long time wondering what's
44 | going on... All the other files in your project can be set to use the normal __cdecl convention.
45 |
46 | If you get an error building the includes statements below, check your paths - there's a full
47 | list of the necessary Digidesign paths in juce_RTAS_Wrapper.cpp
48 | */
49 |
50 | #include
51 | #include
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacResources.r:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | This dummy file is added to the resources section of the project to
4 | force XCode to create some resources for the dpm. If there aren't any
5 | resources, PT will refuse to load the plugin..
6 | */
7 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def:
--------------------------------------------------------------------------------
1 | EXPORTS
2 | NewPlugIn @1
3 | _PI_GetRoutineDescriptor @2
4 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dshr/MoogFilter/e8c2075646f12b314144e3487dadec430d43a3c2/JuceLibraryCode/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_AUDIO_PLUGIN_CLIENT_H_INCLUDED
26 | #define JUCE_AUDIO_PLUGIN_CLIENT_H_INCLUDED
27 |
28 | #include "../juce_gui_basics/juce_gui_basics.h"
29 | #include "../juce_audio_basics/juce_audio_basics.h"
30 | #include "../juce_audio_processors/juce_audio_processors.h"
31 | #include "utility/juce_CheckSettingMacros.h"
32 |
33 | namespace juce
34 | {
35 | #include "utility/juce_PluginHostType.h"
36 | }
37 |
38 | #endif // JUCE_AUDIO_PLUGIN_CLIENT_H_INCLUDED
39 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "../juce_audio_plugin_client.h"
26 |
27 | using namespace juce;
28 |
29 | namespace juce
30 | {
31 | #if JUCE_MAC && ! DOXYGEN
32 | #define Point juce::Point
33 | #define Component juce::Component
34 |
35 | void repostCurrentNSEvent();
36 | #endif
37 |
38 | //==============================================================================
39 | inline const PluginHostType& getHostType()
40 | {
41 | static PluginHostType hostType;
42 | return hostType;
43 | }
44 | }
45 |
46 | extern AudioProcessor* JUCE_CALLTYPE createPluginFilterOfType (AudioProcessor::WrapperType);
47 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #if JUCE_WINDOWS
26 | #undef _WIN32_WINNT
27 | #define _WIN32_WINNT 0x500
28 | #undef STRICT
29 | #define STRICT 1
30 | #include
31 | #include
32 | #pragma warning (disable : 4312 4355)
33 | #ifdef __INTEL_COMPILER
34 | #pragma warning (disable : 1899)
35 | #endif
36 |
37 | #elif JUCE_LINUX
38 | #include
39 | #include
40 | #include
41 | #include
42 | #include
43 | #undef Font
44 | #undef KeyPress
45 | #undef Drawable
46 | #undef Time
47 |
48 | #else
49 | #if ! (defined (JUCE_SUPPORT_CARBON) || defined (__LP64__))
50 | #define JUCE_SUPPORT_CARBON 1
51 | #endif
52 |
53 | #if JUCE_SUPPORT_CARBON
54 | #define Point CarbonDummyPointName
55 | #define Component CarbonDummyCompName
56 | #include
57 | #include
58 | #undef Point
59 | #undef Component
60 | #else
61 | #include
62 | #endif
63 | #include
64 | #include
65 | #include
66 | #endif
67 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | AudioPluginFormat::AudioPluginFormat() noexcept {}
26 | AudioPluginFormat::~AudioPluginFormat() {}
27 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_audio_processors.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_processors/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_audio_processors",
3 | "name": "JUCE audio plugin hosting classes",
4 | "version": "3.1.1",
5 | "description": "Classes for loading and playing VST, AU, or internally-generated audio processors.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_gui_extra", "version": "matching" },
10 | { "id": "juce_audio_basics", "version": "matching" } ],
11 |
12 | "include": "juce_audio_processors.h",
13 |
14 | "compile": [ { "file": "juce_audio_processors.cpp", "target": "! xcode" },
15 | { "file": "juce_audio_processors.mm", "target": "xcode" } ],
16 |
17 | "browse": [ "processors/*",
18 | "format/*",
19 | "format_types/*",
20 | "scanning/*"
21 | ],
22 |
23 | "OSXFrameworks": "CoreAudio CoreMIDI AudioToolbox",
24 | "iOSFrameworks": "AudioToolbox"
25 | }
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | AudioProcessorEditor::AudioProcessorEditor (AudioProcessor& p) noexcept : processor (p)
26 | {
27 | }
28 |
29 | AudioProcessorEditor::AudioProcessorEditor (AudioProcessor* p) noexcept : processor (*p)
30 | {
31 | // the filter must be valid..
32 | jassert (p != nullptr);
33 | }
34 |
35 | AudioProcessorEditor::~AudioProcessorEditor()
36 | {
37 | // if this fails, then the wrapper hasn't called editorBeingDeleted() on the
38 | // filter for some reason..
39 | jassert (processor.getActiveEditor() != this);
40 | }
41 |
42 | void AudioProcessorEditor::setControlHighlight (ParameterControlHighlightInfo) {}
43 | int AudioProcessorEditor::getControlParameterIndex (Component&) { return -1; }
44 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_GENERICAUDIOPROCESSOREDITOR_H_INCLUDED
26 | #define JUCE_GENERICAUDIOPROCESSOREDITOR_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | A type of UI component that displays the parameters of an AudioProcessor as
32 | a simple list of sliders.
33 |
34 | This can be used for showing an editor for a processor that doesn't supply
35 | its own custom editor.
36 |
37 | @see AudioProcessor
38 | */
39 | class JUCE_API GenericAudioProcessorEditor : public AudioProcessorEditor
40 | {
41 | public:
42 | //==============================================================================
43 | GenericAudioProcessorEditor (AudioProcessor* owner);
44 | ~GenericAudioProcessorEditor();
45 |
46 | //==============================================================================
47 | void paint (Graphics&) override;
48 | void resized() override;
49 |
50 | private:
51 | //==============================================================================
52 | PropertyPanel panel;
53 |
54 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GenericAudioProcessorEditor)
55 | };
56 |
57 |
58 | #endif // JUCE_GENERICAUDIOPROCESSOREDITOR_H_INCLUDED
59 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/files/juce_FileFilter.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | FileFilter::FileFilter (const String& filterDescription)
30 | : description (filterDescription)
31 | {
32 | }
33 |
34 | FileFilter::~FileFilter()
35 | {
36 | }
37 |
38 | const String& FileFilter::getDescription() const noexcept
39 | {
40 | return description;
41 | }
42 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/juce_core.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | #include "juce_core.cpp"
30 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_core",
3 | "name": "JUCE core classes",
4 | "version": "3.1.1",
5 | "description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "ISC Permissive",
8 |
9 | "dependencies": [],
10 |
11 | "include": "juce_core.h",
12 |
13 | "compile": [ { "file": "juce_core.cpp", "target": "! xcode" },
14 | { "file": "juce_core.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "text/*",
17 | "maths/*",
18 | "memory/*",
19 | "containers/*",
20 | "threads/*",
21 | "time/*",
22 | "files/*",
23 | "network/*",
24 | "streams/*",
25 | "logging/*",
26 | "system/*",
27 | "xml/*",
28 | "javascript/*",
29 | "zip/*",
30 | "unit_tests/*",
31 | "misc/*",
32 | "native/*" ],
33 |
34 | "OSXFrameworks": "Cocoa IOKit",
35 | "iOSFrameworks": "Foundation",
36 | "LinuxLibs": "rt dl pthread",
37 | "mingwLibs": "uuid wsock32 wininet version ole32 ws2_32 oleaut32 imm32 comdlg32 shlwapi rpcrt4 winmm"
38 | }
39 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/memory/juce_ContainerDeletePolicy.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | #ifndef JUCE_CONTAINERDELETEPOLICY_H_INCLUDED
30 | #define JUCE_CONTAINERDELETEPOLICY_H_INCLUDED
31 |
32 | //==============================================================================
33 | /**
34 | Used by container classes as an indirect way to delete an object of a
35 | particular type.
36 |
37 | The generic implementation of this class simply calls 'delete', but you can
38 | create a specialised version of it for a particular class if you need to
39 | delete that type of object in a more appropriate way.
40 |
41 | @see ScopedPointer, OwnedArray
42 | */
43 | template
44 | struct ContainerDeletePolicy
45 | {
46 | static void destroy (ObjectType* object)
47 | {
48 | delete object;
49 | }
50 | };
51 |
52 |
53 | #endif // JUCE_CONTAINERDELETEPOLICY_H_INCLUDED
54 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/native/juce_android_Misc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | void Logger::outputDebugString (const String& text)
30 | {
31 | __android_log_print (ANDROID_LOG_INFO, "JUCE", "%s", text.toUTF8().getAddress());
32 | }
33 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/network/juce_NamedPipe.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | NamedPipe::NamedPipe()
30 | {
31 | }
32 |
33 | NamedPipe::~NamedPipe()
34 | {
35 | close();
36 | }
37 |
38 | bool NamedPipe::openExisting (const String& pipeName)
39 | {
40 | close();
41 |
42 | ScopedWriteLock sl (lock);
43 | currentPipeName = pipeName;
44 | return openInternal (pipeName, false);
45 | }
46 |
47 | bool NamedPipe::isOpen() const
48 | {
49 | return pimpl != nullptr;
50 | }
51 |
52 | bool NamedPipe::createNewPipe (const String& pipeName)
53 | {
54 | close();
55 |
56 | ScopedWriteLock sl (lock);
57 | currentPipeName = pipeName;
58 | return openInternal (pipeName, true);
59 | }
60 |
61 | String NamedPipe::getName() const
62 | {
63 | return currentPipeName;
64 | }
65 |
66 | // other methods for this class are implemented in the platform-specific files
67 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/streams/juce_FileInputSource.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | FileInputSource::FileInputSource (const File& f, bool useFileTimeInHash)
30 | : file (f), useFileTimeInHashGeneration (useFileTimeInHash)
31 | {
32 | }
33 |
34 | FileInputSource::~FileInputSource()
35 | {
36 | }
37 |
38 | InputStream* FileInputSource::createInputStream()
39 | {
40 | return file.createInputStream();
41 | }
42 |
43 | InputStream* FileInputSource::createInputStreamFor (const String& relatedItemPath)
44 | {
45 | return file.getSiblingFile (relatedItemPath).createInputStream();
46 | }
47 |
48 | int64 FileInputSource::hashCode() const
49 | {
50 | int64 h = file.hashCode();
51 |
52 | if (useFileTimeInHashGeneration)
53 | h ^= file.getLastModificationTime().toMilliseconds();
54 |
55 | return h;
56 | }
57 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/threads/juce_HighResolutionTimer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the juce_core module of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission to use, copy, modify, and/or distribute this software for any purpose with
8 | or without fee is hereby granted, provided that the above copyright notice and this
9 | permission notice appear in all copies.
10 |
11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
12 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
13 | NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
15 | IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
18 | ------------------------------------------------------------------------------
19 |
20 | NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
21 | All other JUCE modules are covered by a dual GPL/commercial license, so if you are
22 | using any other modules, be sure to check that you also comply with their license.
23 |
24 | For more details, visit www.juce.com
25 |
26 | ==============================================================================
27 | */
28 |
29 | HighResolutionTimer::HighResolutionTimer() { pimpl = new Pimpl (*this); }
30 | HighResolutionTimer::~HighResolutionTimer() { stopTimer(); }
31 |
32 | void HighResolutionTimer::startTimer (int periodMs) { pimpl->start (jmax (1, periodMs)); }
33 | void HighResolutionTimer::stopTimer() { pimpl->stop(); }
34 |
35 | bool HighResolutionTimer::isTimerRunning() const noexcept { return pimpl->periodMs != 0; }
36 | int HighResolutionTimer::getTimerInterval() const noexcept { return pimpl->periodMs; }
37 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/zip/zlib/inffast.h:
--------------------------------------------------------------------------------
1 | /* inffast.h -- header to use inffast.c
2 | * Copyright (C) 1995-2003 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* WARNING: this file should *not* be used by applications. It is
7 | part of the implementation of the compression library and is
8 | subject to change. Applications should only use zlib.h.
9 | */
10 |
11 | void inflate_fast OF((z_streamp strm, unsigned start));
12 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_core/zip/zlib/uncompr.c:
--------------------------------------------------------------------------------
1 | /* uncompr.c -- decompress a memory buffer
2 | * Copyright (C) 1995-2003 Jean-loup Gailly.
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* @(#) $Id: uncompr.c,v 1.1 2007/06/07 17:54:37 jules_rms Exp $ */
7 |
8 | #define ZLIB_INTERNAL
9 | #include "zlib.h"
10 |
11 | /* ===========================================================================
12 | Decompresses the source buffer into the destination buffer. sourceLen is
13 | the byte length of the source buffer. Upon entry, destLen is the total
14 | size of the destination buffer, which must be large enough to hold the
15 | entire uncompressed data. (The size of the uncompressed data must have
16 | been saved previously by the compressor and transmitted to the decompressor
17 | by some mechanism outside the scope of this compression library.)
18 | Upon exit, destLen is the actual size of the compressed buffer.
19 | This function can be used to decompress a whole file at once if the
20 | input file is mmap'ed.
21 |
22 | uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
23 | enough memory, Z_BUF_ERROR if there was not enough room in the output
24 | buffer, or Z_DATA_ERROR if the input data was corrupted.
25 | */
26 | int ZEXPORT uncompress (Bytef *dest,
27 | uLongf *destLen,
28 | const Bytef *source,
29 | uLong sourceLen)
30 | {
31 | z_stream stream;
32 | int err;
33 |
34 | stream.next_in = (Bytef*)source;
35 | stream.avail_in = (uInt)sourceLen;
36 | /* Check for source > 64K on 16-bit machine: */
37 | if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
38 |
39 | stream.next_out = dest;
40 | stream.avail_out = (uInt)*destLen;
41 | if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
42 |
43 | stream.zalloc = (alloc_func)0;
44 | stream.zfree = (free_func)0;
45 |
46 | err = inflateInit(&stream);
47 | if (err != Z_OK) return err;
48 |
49 | err = inflate(&stream, Z_FINISH);
50 | if (err != Z_STREAM_END) {
51 | inflateEnd(&stream);
52 | if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0))
53 | return Z_DATA_ERROR;
54 | return err;
55 | }
56 | *destLen = stream.total_out;
57 |
58 | err = inflateEnd(&stream);
59 | return err;
60 | }
61 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #if defined (JUCE_CRYPTOGRAPHY_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE
26 | /* When you add this cpp file to your project, you mustn't include it in a file where you've
27 | already included any other headers - just put it inside a file on its own, possibly with your config
28 | flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix
29 | header files that the compiler may be using.
30 | */
31 | #error "Incorrect use of JUCE cpp file"
32 | #endif
33 |
34 | // Your project must contain an AppConfig.h file with your project-specific settings in it,
35 | // and your header search path must make it accessible to the module's files.
36 | #include "AppConfig.h"
37 |
38 | #include "juce_cryptography.h"
39 |
40 | namespace juce
41 | {
42 |
43 | #include "encryption/juce_BlowFish.cpp"
44 | #include "encryption/juce_Primes.cpp"
45 | #include "encryption/juce_RSAKey.cpp"
46 | #include "hashing/juce_MD5.cpp"
47 | #include "hashing/juce_SHA256.cpp"
48 | #include "hashing/juce_Whirlpool.cpp"
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_CRYPTOGRAPHY_H_INCLUDED
26 | #define JUCE_CRYPTOGRAPHY_H_INCLUDED
27 |
28 | //=============================================================================
29 | #include "../juce_core/juce_core.h"
30 |
31 | namespace juce
32 | {
33 |
34 | #include "encryption/juce_BlowFish.h"
35 | #include "encryption/juce_Primes.h"
36 | #include "encryption/juce_RSAKey.h"
37 | #include "hashing/juce_MD5.h"
38 | #include "hashing/juce_SHA256.h"
39 | #include "hashing/juce_Whirlpool.h"
40 |
41 | }
42 |
43 | #endif // JUCE_CRYPTOGRAPHY_H_INCLUDED
44 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_cryptography.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_cryptography/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_cryptography",
3 | "name": "JUCE cryptography classes",
4 | "version": "3.1.1",
5 | "description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_core", "version": "matching" } ],
10 |
11 | "include": "juce_cryptography.h",
12 |
13 | "compile": [ { "file": "juce_cryptography.cpp", "target": "! xcode" },
14 | { "file": "juce_cryptography.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "encryption/*",
17 | "hashing/*" ]
18 | }
19 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #if defined (JUCE_DATA_STRUCTURES_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE
26 | /* When you add this cpp file to your project, you mustn't include it in a file where you've
27 | already included any other headers - just put it inside a file on its own, possibly with your config
28 | flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix
29 | header files that the compiler may be using.
30 | */
31 | #error "Incorrect use of JUCE cpp file"
32 | #endif
33 |
34 | // Your project must contain an AppConfig.h file with your project-specific settings in it,
35 | // and your header search path must make it accessible to the module's files.
36 | #include "AppConfig.h"
37 |
38 | #include "juce_data_structures.h"
39 |
40 | namespace juce
41 | {
42 |
43 | #include "values/juce_Value.cpp"
44 | #include "values/juce_ValueTree.cpp"
45 | #include "values/juce_ValueTreeSynchroniser.cpp"
46 | #include "undomanager/juce_UndoManager.cpp"
47 | #include "app_properties/juce_ApplicationProperties.cpp"
48 | #include "app_properties/juce_PropertiesFile.cpp"
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_DATA_STRUCTURES_H_INCLUDED
26 | #define JUCE_DATA_STRUCTURES_H_INCLUDED
27 |
28 | //=============================================================================
29 | #include "../juce_events/juce_events.h"
30 |
31 | namespace juce
32 | {
33 |
34 | #include "undomanager/juce_UndoableAction.h"
35 | #include "undomanager/juce_UndoManager.h"
36 | #include "values/juce_Value.h"
37 | #include "values/juce_ValueTree.h"
38 | #include "values/juce_ValueTreeSynchroniser.h"
39 | #include "app_properties/juce_PropertiesFile.h"
40 | #include "app_properties/juce_ApplicationProperties.h"
41 |
42 | }
43 |
44 | #endif // JUCE_DATA_STRUCTURES_H_INCLUDED
45 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_data_structures.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_data_structures/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_data_structures",
3 | "name": "JUCE data model helper classes",
4 | "version": "3.1.1",
5 | "description": "Classes for undo/redo management, and smart data structures.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_core", "version": "matching" },
10 | { "id": "juce_events", "version": "matching" } ],
11 |
12 | "include": "juce_data_structures.h",
13 |
14 | "compile": [ { "file": "juce_data_structures.cpp", "target": "! xcode" },
15 | { "file": "juce_data_structures.mm", "target": "xcode" } ],
16 |
17 | "browse": [ "values/*",
18 | "undomanager/*",
19 | "app_properties/*" ]
20 | }
21 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/broadcasters/juce_ActionListener.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_ACTIONLISTENER_H_INCLUDED
26 | #define JUCE_ACTIONLISTENER_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | Interface class for delivery of events that are sent by an ActionBroadcaster.
32 |
33 | @see ActionBroadcaster, ChangeListener
34 | */
35 | class JUCE_API ActionListener
36 | {
37 | public:
38 | /** Destructor. */
39 | virtual ~ActionListener() {}
40 |
41 | /** Overridden by your subclass to receive the callback.
42 |
43 | @param message the string that was specified when the event was triggered
44 | by a call to ActionBroadcaster::sendActionMessage()
45 | */
46 | virtual void actionListenerCallback (const String& message) = 0;
47 | };
48 |
49 |
50 | #endif // JUCE_ACTIONLISTENER_H_INCLUDED
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | InterprocessConnectionServer::InterprocessConnectionServer()
26 | : Thread ("Juce IPC server")
27 | {
28 | }
29 |
30 | InterprocessConnectionServer::~InterprocessConnectionServer()
31 | {
32 | stop();
33 | }
34 |
35 | //==============================================================================
36 | bool InterprocessConnectionServer::beginWaitingForSocket (const int portNumber)
37 | {
38 | stop();
39 |
40 | socket = new StreamingSocket();
41 |
42 | if (socket->createListener (portNumber))
43 | {
44 | startThread();
45 | return true;
46 | }
47 |
48 | socket = nullptr;
49 | return false;
50 | }
51 |
52 | void InterprocessConnectionServer::stop()
53 | {
54 | signalThreadShouldExit();
55 |
56 | if (socket != nullptr)
57 | socket->close();
58 |
59 | stopThread (4000);
60 | socket = nullptr;
61 | }
62 |
63 | void InterprocessConnectionServer::run()
64 | {
65 | while ((! threadShouldExit()) && socket != nullptr)
66 | {
67 | ScopedPointer clientSocket (socket->waitForNextConnection());
68 |
69 | if (clientSocket != nullptr)
70 | if (InterprocessConnection* newConnection = createConnectionObject())
71 | newConnection->initialiseWithSocket (clientSocket.release());
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/juce_events.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_EVENTS_H_INCLUDED
26 | #define JUCE_EVENTS_H_INCLUDED
27 |
28 | //=============================================================================
29 | #include "../juce_core/juce_core.h"
30 |
31 | namespace juce
32 | {
33 |
34 | #include "messages/juce_MessageManager.h"
35 | #include "messages/juce_Message.h"
36 | #include "messages/juce_MessageListener.h"
37 | #include "messages/juce_CallbackMessage.h"
38 | #include "messages/juce_DeletedAtShutdown.h"
39 | #include "messages/juce_NotificationType.h"
40 | #include "messages/juce_ApplicationBase.h"
41 | #include "messages/juce_Initialisation.h"
42 | #include "messages/juce_MountedVolumeListChangeDetector.h"
43 | #include "broadcasters/juce_ListenerList.h"
44 | #include "broadcasters/juce_ActionBroadcaster.h"
45 | #include "broadcasters/juce_ActionListener.h"
46 | #include "broadcasters/juce_AsyncUpdater.h"
47 | #include "broadcasters/juce_ChangeListener.h"
48 | #include "broadcasters/juce_ChangeBroadcaster.h"
49 | #include "timers/juce_Timer.h"
50 | #include "timers/juce_MultiTimer.h"
51 | #include "interprocess/juce_InterprocessConnection.h"
52 | #include "interprocess/juce_InterprocessConnectionServer.h"
53 | #include "interprocess/juce_ConnectedChildProcess.h"
54 | #include "native/juce_ScopedXLock.h"
55 |
56 | }
57 |
58 | #endif // JUCE_EVENTS_H_INCLUDED
59 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/juce_events.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_events.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_events",
3 | "name": "JUCE message and event handling classes",
4 | "version": "3.1.1",
5 | "description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_core", "version": "matching" } ],
10 |
11 | "include": "juce_events.h",
12 |
13 | "compile": [ { "file": "juce_events.cpp", "target": "! xcode" },
14 | { "file": "juce_events.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "messages/*",
17 | "timers/*",
18 | "broadcasters/*",
19 | "interprocess/*",
20 | "native/*" ],
21 |
22 | "LinuxLibs": "X11"
23 | }
24 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/messages/juce_MessageListener.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | Message::Message() noexcept {}
26 | Message::~Message() {}
27 |
28 | void Message::messageCallback()
29 | {
30 | if (MessageListener* const r = recipient)
31 | r->handleMessage (*this);
32 | }
33 |
34 | MessageListener::MessageListener() noexcept
35 | {
36 | // Are you trying to create a messagelistener before or after juce has been intialised??
37 | jassert (MessageManager::getInstanceWithoutCreating() != nullptr);
38 | }
39 |
40 | MessageListener::~MessageListener()
41 | {
42 | masterReference.clear();
43 | }
44 |
45 | void MessageListener::postMessage (Message* const message) const
46 | {
47 | message->recipient = const_cast (this);
48 | message->post();
49 | }
50 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_MOUNTEDVOLUMELISTCHANGEDETECTOR_H_INCLUDED
26 | #define JUCE_MOUNTEDVOLUMELISTCHANGEDETECTOR_H_INCLUDED
27 |
28 | #if JUCE_MAC || JUCE_WINDOWS || defined (DOXYGEN)
29 |
30 | //==============================================================================
31 | /**
32 | An instance of this class will provide callbacks when drives are
33 | mounted or unmounted on the system.
34 |
35 | Just inherit from this class and implement the pure virtual method
36 | to get the callbacks, there's no need to do anything else.
37 |
38 | @see File::findFileSystemRoots()
39 | */
40 | class JUCE_API MountedVolumeListChangeDetector
41 | {
42 | public:
43 | MountedVolumeListChangeDetector();
44 | virtual ~MountedVolumeListChangeDetector();
45 |
46 | /** This method is called when a volume is mounted or unmounted. */
47 | virtual void mountedVolumeListChanged() = 0;
48 |
49 | private:
50 | JUCE_PUBLIC_IN_DLL_BUILD (struct Pimpl)
51 | friend struct ContainerDeletePolicy;
52 | ScopedPointer pimpl;
53 |
54 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MountedVolumeListChangeDetector)
55 | };
56 |
57 | #endif
58 |
59 | #endif // JUCE_MOUNTEDVOLUMELISTCHANGEDETECTOR_H_INCLUDED
60 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/messages/juce_NotificationType.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_NOTIFICATIONTYPE_H_INCLUDED
26 | #define JUCE_NOTIFICATIONTYPE_H_INCLUDED
27 |
28 | //==============================================================================
29 | /**
30 | These enums are used in various classes to indicate whether a notification
31 | event should be sent out.
32 | */
33 | enum NotificationType
34 | {
35 | dontSendNotification = 0, /**< No notification message should be sent. */
36 | sendNotification = 1, /**< Requests a notification message, either synchronous or not. */
37 | sendNotificationSync, /**< Requests a synchronous notification. */
38 | sendNotificationAsync, /**< Requests an asynchronous notification. */
39 | };
40 |
41 |
42 | #endif // JUCE_NOTIFICATIONTYPE_H_INCLUDED
43 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_events/native/juce_ScopedXLock.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_SCOPEDXLOCK_H_INCLUDED
26 | #define JUCE_SCOPEDXLOCK_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | #if JUCE_LINUX || DOXYGEN
31 |
32 | /** A handy class that uses XLockDisplay and XUnlockDisplay to lock the X server
33 | using RAII (Only available in Linux!).
34 | */
35 | class ScopedXLock
36 | {
37 | public:
38 | /** Creating a ScopedXLock object locks the X display.
39 | This uses XLockDisplay() to grab the display that Juce is using.
40 | */
41 | ScopedXLock();
42 |
43 | /** Deleting a ScopedXLock object unlocks the X display.
44 | This calls XUnlockDisplay() to release the lock.
45 | */
46 | ~ScopedXLock();
47 | };
48 |
49 | #endif
50 | #endif // JUCE_SCOPEDXLOCK_H_INCLUDED
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | LowLevelGraphicsSoftwareRenderer::LowLevelGraphicsSoftwareRenderer (const Image& image)
26 | : RenderingHelpers::StackBasedLowLevelGraphicsContext
27 | (new RenderingHelpers::SoftwareRendererSavedState (image, image.getBounds()))
28 | {
29 | }
30 |
31 | LowLevelGraphicsSoftwareRenderer::LowLevelGraphicsSoftwareRenderer (const Image& image, Point origin,
32 | const RectangleList& initialClip)
33 | : RenderingHelpers::StackBasedLowLevelGraphicsContext
34 | (new RenderingHelpers::SoftwareRendererSavedState (image, initialClip, origin))
35 | {
36 | }
37 |
38 | LowLevelGraphicsSoftwareRenderer::~LowLevelGraphicsSoftwareRenderer() {}
39 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/effects/juce_GlowEffect.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | GlowEffect::GlowEffect()
26 | : radius (2.0f),
27 | colour (Colours::white)
28 | {
29 | }
30 |
31 | GlowEffect::~GlowEffect()
32 | {
33 | }
34 |
35 | void GlowEffect::setGlowProperties (const float newRadius,
36 | Colour newColour)
37 | {
38 | radius = newRadius;
39 | colour = newColour;
40 | }
41 |
42 | void GlowEffect::applyEffect (Image& image, Graphics& g, float scaleFactor, float alpha)
43 | {
44 | Image temp (image.getFormat(), image.getWidth(), image.getHeight(), true);
45 |
46 | ImageConvolutionKernel blurKernel (roundToInt (radius * scaleFactor * 2.0f));
47 |
48 | blurKernel.createGaussianBlur (radius);
49 | blurKernel.rescaleAllValues (radius);
50 |
51 | blurKernel.applyToImage (temp, image, image.getBounds());
52 |
53 | g.setColour (colour.withMultipliedAlpha (alpha));
54 | g.drawImageAt (temp, 0, 0, true);
55 |
56 | g.setOpacity (alpha);
57 | g.drawImageAt (image, 0, 0, false);
58 | }
59 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt:
--------------------------------------------------------------------------------
1 |
2 | I've included libjpeg in the JUCE tree because loading jpegs is a pretty useful thing to
3 | be able to do, but I've left out as many files as possible to keep it lean-and-mean.
4 |
5 | If you want to get hold of the full version of libjpeg, it's freely available at:
6 |
7 | http://www.ijg.org/
8 |
9 |
10 | Please note that part of the IJG's license for libjpeg states that:
11 |
12 | "If you use it in a program, you must acknowledge somewhere in
13 | your documentation that you've used the IJG code".
14 |
15 | ..so if you release a JUCE program that reads JPEGs, you should probably give them a mention.
16 |
17 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/image_formats/jpglib/jchuff.h:
--------------------------------------------------------------------------------
1 | /*
2 | * jchuff.h
3 | *
4 | * Copyright (C) 1991-1997, Thomas G. Lane.
5 | * This file is part of the Independent JPEG Group's software.
6 | * For conditions of distribution and use, see the accompanying README file.
7 | *
8 | * This file contains declarations for Huffman entropy encoding routines
9 | * that are shared between the sequential encoder (jchuff.c) and the
10 | * progressive encoder (jcphuff.c). No other modules need to see these.
11 | */
12 |
13 | /* The legal range of a DCT coefficient is
14 | * -1024 .. +1023 for 8-bit data;
15 | * -16384 .. +16383 for 12-bit data.
16 | * Hence the magnitude should always fit in 10 or 14 bits respectively.
17 | */
18 |
19 | #ifndef _jchuff_h_
20 | #define _jchuff_h_
21 |
22 | #if BITS_IN_JSAMPLE == 8
23 | #define MAX_COEF_BITS 10
24 | #else
25 | #define MAX_COEF_BITS 14
26 | #endif
27 |
28 | /* Derived data constructed for each Huffman table */
29 |
30 | typedef struct {
31 | unsigned int ehufco[256]; /* code for each symbol */
32 | char ehufsi[256]; /* length of code for each symbol */
33 | /* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */
34 | } c_derived_tbl;
35 |
36 | /* Short forms of external names for systems with brain-damaged linkers. */
37 |
38 | #ifdef NEED_SHORT_EXTERNAL_NAMES
39 | #define jpeg_make_c_derived_tbl jMkCDerived
40 | #define jpeg_gen_optimal_table jGenOptTbl
41 | #endif /* NEED_SHORT_EXTERNAL_NAMES */
42 |
43 | /* Expand a Huffman table definition into the derived format */
44 | EXTERN(void) jpeg_make_c_derived_tbl
45 | JPP((j_compress_ptr cinfo, boolean isDC, int tblno,
46 | c_derived_tbl ** pdtbl));
47 |
48 | /* Generate an optimal table definition given the specified counts */
49 | EXTERN(void) jpeg_gen_optimal_table
50 | JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[]));
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/image_formats/jpglib/jconfig.h:
--------------------------------------------------------------------------------
1 | /* jconfig.vc --- jconfig.h for Microsoft Visual C++ on Windows 95 or NT. */
2 | /* see jconfig.doc for explanations */
3 |
4 | // disable all the warnings under MSVC
5 | #ifdef _MSC_VER
6 | #pragma warning (disable: 4996 4267 4100 4127 4702 4244)
7 | #endif
8 |
9 | #ifdef __BORLANDC__
10 | #pragma warn -8057
11 | #pragma warn -8019
12 | #pragma warn -8004
13 | #pragma warn -8008
14 | #endif
15 |
16 | #define HAVE_PROTOTYPES
17 | #define HAVE_UNSIGNED_CHAR
18 | #define HAVE_UNSIGNED_SHORT
19 | /* #define void char */
20 | /* #define const */
21 | #undef CHAR_IS_UNSIGNED
22 | #define HAVE_STDDEF_H
23 | #define HAVE_STDLIB_H
24 | #undef NEED_BSD_STRINGS
25 | #undef NEED_SYS_TYPES_H
26 | #undef NEED_FAR_POINTERS /* we presume a 32-bit flat memory model */
27 | #undef NEED_SHORT_EXTERNAL_NAMES
28 | #undef INCOMPLETE_TYPES_BROKEN
29 |
30 | /* Define "boolean" as unsigned char, not int, per Windows custom */
31 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
32 | typedef unsigned char boolean;
33 | #endif
34 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
35 |
36 |
37 | #ifdef JPEG_INTERNALS
38 |
39 | #undef RIGHT_SHIFT_IS_UNSIGNED
40 |
41 | #endif /* JPEG_INTERNALS */
42 |
43 | #ifdef JPEG_CJPEG_DJPEG
44 |
45 | #define BMP_SUPPORTED /* BMP image file format */
46 | #define GIF_SUPPORTED /* GIF image file format */
47 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
48 | #undef RLE_SUPPORTED /* Utah RLE image file format */
49 | #define TARGA_SUPPORTED /* Targa image file format */
50 |
51 | #define TWO_FILE_COMMANDLINE /* optional */
52 | #define USE_SETMODE /* Microsoft has setmode() */
53 | #undef NEED_SIGNAL_CATCHER
54 | #undef DONT_USE_B_MODE
55 | #undef PROGRESS_REPORT /* optional */
56 |
57 | #endif /* JPEG_CJPEG_DJPEG */
58 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/image_formats/jpglib/jversion.h:
--------------------------------------------------------------------------------
1 | /*
2 | * jversion.h
3 | *
4 | * Copyright (C) 1991-1998, Thomas G. Lane.
5 | * This file is part of the Independent JPEG Group's software.
6 | * For conditions of distribution and use, see the accompanying README file.
7 | *
8 | * This file contains software version identification.
9 | */
10 |
11 |
12 | #define JVERSION "6b 27-Mar-1998"
13 |
14 | #define JCOPYRIGHT "Copyright (C) 1998, Thomas G. Lane"
15 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/image_formats/pnglib/libpng_readme.txt:
--------------------------------------------------------------------------------
1 |
2 | These files are from the libpng library - http://www.libpng.org/
3 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/juce_graphics.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_graphics.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_graphics",
3 | "name": "JUCE graphics classes",
4 | "version": "3.1.1",
5 | "description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_core", "version": "matching" },
10 | { "id": "juce_events", "version": "matching" } ],
11 |
12 | "include": "juce_graphics.h",
13 |
14 | "compile": [ { "file": "juce_graphics.cpp", "target": "! xcode" },
15 | { "file": "juce_graphics.mm", "target": "xcode" } ],
16 |
17 | "browse": [ "colour/*",
18 | "contexts/*",
19 | "images/*",
20 | "image_formats/*",
21 | "geometry/*",
22 | "placement/*",
23 | "fonts/*",
24 | "effects/*",
25 | "native/*" ],
26 |
27 | "OSXFrameworks": "Cocoa QuartzCore",
28 | "iOSFrameworks": "CoreGraphics CoreText QuartzCore",
29 | "LinuxLibs": "X11 Xinerama Xext freetype"
30 | }
31 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/native/juce_android_GraphicsContext.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | namespace GraphicsHelpers
26 | {
27 | jobject createPaint (Graphics::ResamplingQuality quality)
28 | {
29 | jint constructorFlags = 1 /*ANTI_ALIAS_FLAG*/
30 | | 4 /*DITHER_FLAG*/
31 | | 128 /*SUBPIXEL_TEXT_FLAG*/;
32 |
33 | if (quality > Graphics::lowResamplingQuality)
34 | constructorFlags |= 2; /*FILTER_BITMAP_FLAG*/
35 |
36 | return getEnv()->NewObject (Paint, Paint.constructor, constructorFlags);
37 | }
38 |
39 | const jobject createMatrix (JNIEnv* env, const AffineTransform& t)
40 | {
41 | jobject m = env->NewObject (Matrix, Matrix.constructor);
42 |
43 | jfloat values[9] = { t.mat00, t.mat01, t.mat02,
44 | t.mat10, t.mat11, t.mat12,
45 | 0.0f, 0.0f, 1.0f };
46 |
47 | jfloatArray javaArray = env->NewFloatArray (9);
48 | env->SetFloatArrayRegion (javaArray, 0, 9, values);
49 |
50 | env->CallVoidMethod (m, Matrix.setValues, javaArray);
51 | env->DeleteLocalRef (javaArray);
52 |
53 | return m;
54 | }
55 | }
56 |
57 | ImagePixelData::Ptr NativeImageType::create (Image::PixelFormat format, int width, int height, bool clearImage) const
58 | {
59 | return SoftwareImageType().create (format, width, height, clearImage);
60 | }
61 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_MAC_COREGRAPHICSHELPERS_H_INCLUDED
26 | #define JUCE_MAC_COREGRAPHICSHELPERS_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | namespace
31 | {
32 | template
33 | Rectangle convertToRectInt (RectType r) noexcept
34 | {
35 | return Rectangle ((int) r.origin.x, (int) r.origin.y, (int) r.size.width, (int) r.size.height);
36 | }
37 |
38 | template
39 | Rectangle convertToRectFloat (RectType r) noexcept
40 | {
41 | return Rectangle (r.origin.x, r.origin.y, r.size.width, r.size.height);
42 | }
43 |
44 | template
45 | CGRect convertToCGRect (RectType r) noexcept
46 | {
47 | return CGRectMake ((CGFloat) r.getX(), (CGFloat) r.getY(), (CGFloat) r.getWidth(), (CGFloat) r.getHeight());
48 | }
49 |
50 | template
51 | CGPoint convertToCGPoint (PointType p) noexcept
52 | {
53 | return CGPointMake ((CGFloat) p.x, (CGFloat) p.y);
54 | }
55 | }
56 |
57 | extern CGImageRef juce_createCoreGraphicsImage (const Image&, CGColorSpaceRef, bool mustOutliveSource);
58 | extern CGContextRef juce_getImageContext (const Image&);
59 |
60 | #endif // JUCE_MAC_COREGRAPHICSHELPERS_H_INCLUDED
61 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_ArrowButton.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | ArrowButton::ArrowButton (const String& name, float arrowDirectionInRadians, Colour arrowColour)
26 | : Button (name), colour (arrowColour)
27 | {
28 | path.addTriangle (0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.5f);
29 | path.applyTransform (AffineTransform::rotation (float_Pi * 2.0f * arrowDirectionInRadians, 0.5f, 0.5f));
30 | }
31 |
32 | ArrowButton::~ArrowButton() {}
33 |
34 | void ArrowButton::paintButton (Graphics& g, bool /*isMouseOverButton*/, bool isButtonDown)
35 | {
36 | Path p (path);
37 |
38 | const float offset = isButtonDown ? 1.0f : 0.0f;
39 | p.applyTransform (path.getTransformToScaleToFit (offset, offset, getWidth() - 3.0f, getHeight() - 3.0f, false));
40 |
41 | DropShadow (Colours::black.withAlpha (0.3f), isButtonDown ? 2 : 4, Point()).drawForPath (g, p);
42 |
43 | g.setColour (colour);
44 | g.fillPath (p);
45 | }
46 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_ArrowButton.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_ARROWBUTTON_H_INCLUDED
26 | #define JUCE_ARROWBUTTON_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | A button with an arrow in it.
32 |
33 | @see Button
34 | */
35 | class JUCE_API ArrowButton : public Button
36 | {
37 | public:
38 | //==============================================================================
39 | /** Creates an ArrowButton.
40 |
41 | @param buttonName the name to give the button
42 | @param arrowDirection the direction the arrow should point in, where 0.0 is
43 | pointing right, 0.25 is down, 0.5 is left, 0.75 is up
44 | @param arrowColour the colour to use for the arrow
45 | */
46 | ArrowButton (const String& buttonName,
47 | float arrowDirection,
48 | Colour arrowColour);
49 |
50 | /** Destructor. */
51 | ~ArrowButton();
52 |
53 | /** @internal */
54 | void paintButton (Graphics&, bool isMouseOverButton, bool isButtonDown) override;
55 |
56 | private:
57 | Colour colour;
58 | Path path;
59 |
60 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ArrowButton)
61 | };
62 |
63 |
64 | #endif // JUCE_ARROWBUTTON_H_INCLUDED
65 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_TextButton.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 | file is part of the JUCE library.
4 | Copyright (c) 2013 - Raw Material Software Ltd.
5 |
6 | Permission is granted to use this software under the terms of either:
7 | a) the GPL v2 (or any later version)
8 | b) the Affero GPL v3
9 |
10 | Details of these licenses can be found at: www.gnu.org/licenses
11 |
12 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
13 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15 |
16 | ------------------------------------------------------------------------------
17 |
18 | To release a closed-source product which uses JUCE, commercial licenses are
19 | available: visit www.juce.com for more information.
20 |
21 | ==============================================================================
22 | */
23 |
24 | TextButton::TextButton() : Button (String())
25 | {
26 | }
27 |
28 | TextButton::TextButton (const String& name) : Button (name)
29 | {
30 | }
31 |
32 | TextButton::TextButton (const String& name, const String& toolTip) : Button (name)
33 | {
34 | setTooltip (toolTip);
35 | }
36 |
37 | TextButton::~TextButton()
38 | {
39 | }
40 |
41 | void TextButton::paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown)
42 | {
43 | LookAndFeel& lf = getLookAndFeel();
44 |
45 | lf.drawButtonBackground (g, *this,
46 | findColour (getToggleState() ? buttonOnColourId : buttonColourId),
47 | isMouseOverButton, isButtonDown);
48 |
49 | lf.drawButtonText (g, *this, isMouseOverButton, isButtonDown);
50 | }
51 |
52 | void TextButton::colourChanged()
53 | {
54 | repaint();
55 | }
56 |
57 | void TextButton::changeWidthToFitText()
58 | {
59 | changeWidthToFitText (getHeight());
60 | }
61 |
62 | void TextButton::changeWidthToFitText (const int newHeight)
63 | {
64 | setSize (getBestWidthForHeight (newHeight), newHeight);
65 | }
66 |
67 | int TextButton::getBestWidthForHeight (int buttonHeight)
68 | {
69 | return getLookAndFeel().getTextButtonWidthToFitText (*this, buttonHeight);
70 | }
71 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_ToggleButton.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | ToggleButton::ToggleButton()
26 | : Button (String::empty)
27 | {
28 | setClickingTogglesState (true);
29 | }
30 |
31 | ToggleButton::ToggleButton (const String& buttonText)
32 | : Button (buttonText)
33 | {
34 | setClickingTogglesState (true);
35 | }
36 |
37 | ToggleButton::~ToggleButton()
38 | {
39 | }
40 |
41 | void ToggleButton::paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown)
42 | {
43 | getLookAndFeel().drawToggleButton (g, *this, isMouseOverButton, isButtonDown);
44 | }
45 |
46 | void ToggleButton::changeWidthToFitText()
47 | {
48 | getLookAndFeel().changeToggleButtonWidthToFitText (*this);
49 | }
50 |
51 | void ToggleButton::colourChanged()
52 | {
53 | repaint();
54 | }
55 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | ApplicationCommandInfo::ApplicationCommandInfo (const CommandID cid) noexcept
26 | : commandID (cid), flags (0)
27 | {
28 | }
29 |
30 | void ApplicationCommandInfo::setInfo (const String& shortName_,
31 | const String& description_,
32 | const String& categoryName_,
33 | const int flags_) noexcept
34 | {
35 | shortName = shortName_;
36 | description = description_;
37 | categoryName = categoryName_;
38 | flags = flags_;
39 | }
40 |
41 | void ApplicationCommandInfo::setActive (const bool b) noexcept
42 | {
43 | if (b)
44 | flags &= ~isDisabled;
45 | else
46 | flags |= isDisabled;
47 | }
48 |
49 | void ApplicationCommandInfo::setTicked (const bool b) noexcept
50 | {
51 | if (b)
52 | flags |= isTicked;
53 | else
54 | flags &= ~isTicked;
55 | }
56 |
57 | void ApplicationCommandInfo::addDefaultKeypress (const int keyCode, ModifierKeys modifiers) noexcept
58 | {
59 | defaultKeypresses.add (KeyPress (keyCode, modifiers, 0));
60 | }
61 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/components/juce_ComponentListener.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | void ComponentListener::componentMovedOrResized (Component&, bool, bool) {}
26 | void ComponentListener::componentBroughtToFront (Component&) {}
27 | void ComponentListener::componentVisibilityChanged (Component&) {}
28 | void ComponentListener::componentChildrenChanged (Component&) {}
29 | void ComponentListener::componentParentHierarchyChanged (Component&) {}
30 | void ComponentListener::componentNameChanged (Component&) {}
31 | void ComponentListener::componentBeingDeleted (Component&) {}
32 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_FILEBROWSERLISTENER_H_INCLUDED
26 | #define JUCE_FILEBROWSERLISTENER_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | A listener for user selection events in a file browser.
32 |
33 | This is used by a FileBrowserComponent or FileListComponent.
34 | */
35 | class JUCE_API FileBrowserListener
36 | {
37 | public:
38 | //==============================================================================
39 | /** Destructor. */
40 | virtual ~FileBrowserListener();
41 |
42 | //==============================================================================
43 | /** Callback when the user selects a different file in the browser. */
44 | virtual void selectionChanged() = 0;
45 |
46 | /** Callback when the user clicks on a file in the browser. */
47 | virtual void fileClicked (const File& file, const MouseEvent& e) = 0;
48 |
49 | /** Callback when the user double-clicks on a file in the browser. */
50 | virtual void fileDoubleClicked (const File& file) = 0;
51 |
52 | /** Callback when the browser's root folder changes. */
53 | virtual void browserRootChanged (const File& newRoot) = 0;
54 | };
55 |
56 |
57 | #endif // JUCE_FILEBROWSERLISTENER_H_INCLUDED
58 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_IMAGEPREVIEWCOMPONENT_H_INCLUDED
26 | #define JUCE_IMAGEPREVIEWCOMPONENT_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | A simple preview component that shows thumbnails of image files.
32 |
33 | @see FileChooserDialogBox, FilePreviewComponent
34 | */
35 | class JUCE_API ImagePreviewComponent : public FilePreviewComponent,
36 | private Timer
37 | {
38 | public:
39 | //==============================================================================
40 | /** Creates an ImagePreviewComponent. */
41 | ImagePreviewComponent();
42 |
43 | /** Destructor. */
44 | ~ImagePreviewComponent();
45 |
46 |
47 | //==============================================================================
48 | /** @internal */
49 | void selectedFileChanged (const File& newSelectedFile) override;
50 | /** @internal */
51 | void paint (Graphics&) override;
52 | /** @internal */
53 | void timerCallback() override;
54 |
55 | private:
56 | File fileToLoad;
57 | Image currentThumbnail;
58 | String currentDetails;
59 |
60 | void getThumbSize (int& w, int& h) const;
61 |
62 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ImagePreviewComponent)
63 | };
64 |
65 |
66 | #endif // JUCE_IMAGEPREVIEWCOMPONENT_H_INCLUDED
67 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_gui_basics.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_gui_basics",
3 | "name": "JUCE GUI core classes",
4 | "version": "3.1.1",
5 | "description": "Basic user-interface components and related classes.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_core", "version": "matching" },
10 | { "id": "juce_events", "version": "matching" },
11 | { "id": "juce_graphics", "version": "matching" },
12 | { "id": "juce_data_structures", "version": "matching" } ],
13 |
14 | "include": "juce_gui_basics.h",
15 |
16 | "compile": [ { "file": "juce_gui_basics.cpp", "target": "! xcode" },
17 | { "file": "juce_gui_basics.mm", "target": "xcode" } ],
18 |
19 | "browse": [ "components/*",
20 | "mouse/*",
21 | "keyboard/*",
22 | "widgets/*",
23 | "windows/*",
24 | "menus/*",
25 | "layout/*",
26 | "buttons/*",
27 | "positioning/*",
28 | "drawables/*",
29 | "properties/*",
30 | "lookandfeel/*",
31 | "filebrowser/*",
32 | "commands/*",
33 | "misc/*",
34 | "application/*",
35 | "native/*" ],
36 |
37 | "OSXFrameworks": "Cocoa Carbon QuartzCore",
38 | "iOSFrameworks": "UIKit",
39 | "LinuxLibs": "X11 Xinerama Xext"
40 | }
41 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | CaretComponent::CaretComponent (Component* const keyFocusOwner)
26 | : owner (keyFocusOwner)
27 | {
28 | setPaintingIsUnclipped (true);
29 | setInterceptsMouseClicks (false, false);
30 | }
31 |
32 | CaretComponent::~CaretComponent()
33 | {
34 | }
35 |
36 | void CaretComponent::paint (Graphics& g)
37 | {
38 | g.setColour (findColour (caretColourId, true));
39 | g.fillRect (getLocalBounds());
40 | }
41 |
42 | void CaretComponent::timerCallback()
43 | {
44 | setVisible (shouldBeShown() && ! isVisible());
45 | }
46 |
47 | void CaretComponent::setCaretPosition (const Rectangle& characterArea)
48 | {
49 | startTimer (380);
50 | setVisible (shouldBeShown());
51 | setBounds (characterArea.withWidth (2));
52 | }
53 |
54 | bool CaretComponent::shouldBeShown() const
55 | {
56 | return owner == nullptr || (owner->hasKeyboardFocus (false)
57 | && ! owner->isCurrentlyBlockedByAnotherModalComponent());
58 | }
59 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_KeyListener.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | bool KeyListener::keyStateChanged (const bool, Component*)
26 | {
27 | return false;
28 | }
29 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | ModifierKeys::ModifierKeys() noexcept : flags (0) {}
26 | ModifierKeys::ModifierKeys (int rawFlags) noexcept : flags (rawFlags) {}
27 | ModifierKeys::ModifierKeys (const ModifierKeys& other) noexcept : flags (other.flags) {}
28 |
29 | ModifierKeys& ModifierKeys::operator= (const ModifierKeys other) noexcept
30 | {
31 | flags = other.flags;
32 | return *this;
33 | }
34 |
35 | ModifierKeys ModifierKeys::currentModifiers;
36 |
37 | ModifierKeys ModifierKeys::getCurrentModifiers() noexcept
38 | {
39 | return currentModifiers;
40 | }
41 |
42 | int ModifierKeys::getNumMouseButtonsDown() const noexcept
43 | {
44 | int num = 0;
45 |
46 | if (isLeftButtonDown()) ++num;
47 | if (isRightButtonDown()) ++num;
48 | if (isMiddleButtonDown()) ++num;
49 |
50 | return num;
51 | }
52 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_SystemClipboard.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_SYSTEMCLIPBOARD_H_INCLUDED
26 | #define JUCE_SYSTEMCLIPBOARD_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | Handles reading/writing to the system's clipboard.
32 | */
33 | class JUCE_API SystemClipboard
34 | {
35 | public:
36 | /** Copies a string of text onto the clipboard */
37 | static void copyTextToClipboard (const String& text);
38 |
39 | /** Gets the current clipboard's contents.
40 |
41 | Obviously this might have come from another app, so could contain
42 | anything..
43 | */
44 | static String getTextFromClipboard();
45 | };
46 |
47 | #endif // JUCE_SYSTEMCLIPBOARD_H_INCLUDED
48 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/layout/juce_GroupComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | GroupComponent::GroupComponent (const String& name,
26 | const String& labelText)
27 | : Component (name),
28 | text (labelText),
29 | justification (Justification::left)
30 | {
31 | setInterceptsMouseClicks (false, true);
32 | }
33 |
34 | GroupComponent::~GroupComponent() {}
35 |
36 | void GroupComponent::setText (const String& newText)
37 | {
38 | if (text != newText)
39 | {
40 | text = newText;
41 | repaint();
42 | }
43 | }
44 |
45 | String GroupComponent::getText() const
46 | {
47 | return text;
48 | }
49 |
50 | void GroupComponent::setTextLabelPosition (Justification newJustification)
51 | {
52 | if (justification != newJustification)
53 | {
54 | justification = newJustification;
55 | repaint();
56 | }
57 | }
58 |
59 | void GroupComponent::paint (Graphics& g)
60 | {
61 | getLookAndFeel().drawGroupComponentOutline (g, getWidth(), getHeight(),
62 | text, justification, *this);
63 | }
64 |
65 | void GroupComponent::enablementChanged() { repaint(); }
66 | void GroupComponent::colourChanged() { repaint(); }
67 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseListener.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | void MouseListener::mouseEnter (const MouseEvent&) {}
26 | void MouseListener::mouseExit (const MouseEvent&) {}
27 | void MouseListener::mouseDown (const MouseEvent&) {}
28 | void MouseListener::mouseUp (const MouseEvent&) {}
29 | void MouseListener::mouseDrag (const MouseEvent&) {}
30 | void MouseListener::mouseMove (const MouseEvent&) {}
31 | void MouseListener::mouseDoubleClick (const MouseEvent&) {}
32 | void MouseListener::mouseWheelMove (const MouseEvent&, const MouseWheelDetails&) {}
33 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/native/juce_android_FileChooser.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | void FileChooser::showPlatformDialog (Array& results,
26 | const String& title,
27 | const File& currentFileOrDirectory,
28 | const String& filter,
29 | bool selectsDirectory,
30 | bool selectsFiles,
31 | bool isSaveDialogue,
32 | bool warnAboutOverwritingExistingFiles,
33 | bool selectMultipleFiles,
34 | FilePreviewComponent* extraInfoComponent)
35 | {
36 | // TODO
37 |
38 |
39 | }
40 |
41 | bool FileChooser::isPlatformDialogAvailable()
42 | {
43 | return false;
44 | }
45 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | ButtonPropertyComponent::ButtonPropertyComponent (const String& name,
26 | const bool triggerOnMouseDown)
27 | : PropertyComponent (name)
28 | {
29 | addAndMakeVisible (button);
30 | button.setTriggeredOnMouseDown (triggerOnMouseDown);
31 | button.addListener (this);
32 | }
33 |
34 | ButtonPropertyComponent::~ButtonPropertyComponent()
35 | {
36 | }
37 |
38 | void ButtonPropertyComponent::refresh()
39 | {
40 | button.setButtonText (getButtonText());
41 | }
42 |
43 | void ButtonPropertyComponent::buttonClicked (Button*)
44 | {
45 | buttonClicked();
46 | }
47 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/properties/juce_PropertyComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | PropertyComponent::PropertyComponent (const String& name, const int preferredHeight_)
26 | : Component (name), preferredHeight (preferredHeight_)
27 | {
28 | jassert (name.isNotEmpty());
29 | }
30 |
31 | PropertyComponent::~PropertyComponent() {}
32 |
33 | void PropertyComponent::paint (Graphics& g)
34 | {
35 | LookAndFeel& lf = getLookAndFeel();
36 |
37 | lf.drawPropertyComponentBackground (g, getWidth(), getHeight(), *this);
38 | lf.drawPropertyComponentLabel (g, getWidth(), getHeight(), *this);
39 | }
40 |
41 | void PropertyComponent::resized()
42 | {
43 | if (Component* const c = getChildComponent(0))
44 | c->setBounds (getLookAndFeel().getPropertyComponentContentPosition (*this));
45 | }
46 |
47 | void PropertyComponent::enablementChanged()
48 | {
49 | repaint();
50 | }
51 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_basics/widgets/juce_ImageComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | ImageComponent::ImageComponent (const String& name)
26 | : Component (name),
27 | placement (RectanglePlacement::centred)
28 | {
29 | }
30 |
31 | ImageComponent::~ImageComponent()
32 | {
33 | }
34 |
35 | void ImageComponent::setImage (const Image& newImage)
36 | {
37 | if (image != newImage)
38 | {
39 | image = newImage;
40 | repaint();
41 | }
42 | }
43 |
44 | void ImageComponent::setImage (const Image& newImage, RectanglePlacement placementToUse)
45 | {
46 | if (image != newImage || placement != placementToUse)
47 | {
48 | image = newImage;
49 | placement = placementToUse;
50 | repaint();
51 | }
52 | }
53 |
54 | void ImageComponent::setImagePlacement (RectanglePlacement newPlacement)
55 | {
56 | if (placement != newPlacement)
57 | {
58 | placement = newPlacement;
59 | repaint();
60 | }
61 | }
62 |
63 | const Image& ImageComponent::getImage() const
64 | {
65 | return image;
66 | }
67 |
68 | RectanglePlacement ImageComponent::getImagePlacement() const
69 | {
70 | return placement;
71 | }
72 |
73 | void ImageComponent::paint (Graphics& g)
74 | {
75 | g.setOpacity (1.0f);
76 | g.drawImageWithin (image, 0, 0, getWidth(), getHeight(), placement, false);
77 | }
78 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_CODETOKENISER_H_INCLUDED
26 | #define JUCE_CODETOKENISER_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | A base class for tokenising code so that the syntax can be displayed in a
32 | code editor.
33 |
34 | @see CodeDocument, CodeEditorComponent
35 | */
36 | class JUCE_API CodeTokeniser
37 | {
38 | public:
39 | CodeTokeniser() {}
40 | virtual ~CodeTokeniser() {}
41 |
42 | //==============================================================================
43 | /** Reads the next token from the source and returns its token type.
44 |
45 | This must leave the source pointing to the first character in the
46 | next token.
47 | */
48 | virtual int readNextToken (CodeDocument::Iterator& source) = 0;
49 |
50 | /** Returns a suggested syntax highlighting colour scheme. */
51 | virtual CodeEditorComponent::ColourScheme getDefaultColourScheme() = 0;
52 |
53 | private:
54 | JUCE_LEAK_DETECTOR (CodeTokeniser)
55 | };
56 |
57 |
58 | #endif // JUCE_CODETOKENISER_H_INCLUDED
59 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_LUACODETOKENISER_H_INCLUDED
26 | #define JUCE_LUACODETOKENISER_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | */
32 | class JUCE_API LuaTokeniser : public CodeTokeniser
33 | {
34 | public:
35 | //==============================================================================
36 | LuaTokeniser();
37 | ~LuaTokeniser();
38 |
39 | //==============================================================================
40 | int readNextToken (CodeDocument::Iterator&) override;
41 | CodeEditorComponent::ColourScheme getDefaultColourScheme() override;
42 |
43 | /** The token values returned by this tokeniser. */
44 | enum TokenType
45 | {
46 | tokenType_error = 0,
47 | tokenType_comment,
48 | tokenType_keyword,
49 | tokenType_operator,
50 | tokenType_identifier,
51 | tokenType_integer,
52 | tokenType_float,
53 | tokenType_string,
54 | tokenType_bracket,
55 | tokenType_punctuation
56 | };
57 |
58 | private:
59 | //==============================================================================
60 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LuaTokeniser)
61 | };
62 |
63 | #endif // JUCE_LUACODETOKENISER_H_INCLUDED
64 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_XMLCODETOKENISER_H_INCLUDED
26 | #define JUCE_XMLCODETOKENISER_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | */
32 | class JUCE_API XmlTokeniser : public CodeTokeniser
33 | {
34 | public:
35 | //==============================================================================
36 | XmlTokeniser();
37 | ~XmlTokeniser();
38 |
39 | //==============================================================================
40 | int readNextToken (CodeDocument::Iterator&) override;
41 | CodeEditorComponent::ColourScheme getDefaultColourScheme() override;
42 |
43 | /** The token values returned by this tokeniser. */
44 | enum TokenType
45 | {
46 | tokenType_error = 0,
47 | tokenType_comment,
48 | tokenType_keyword,
49 | tokenType_operator,
50 | tokenType_identifier,
51 | tokenType_string,
52 | tokenType_bracket,
53 | tokenType_punctuation,
54 | tokenType_preprocessor
55 | };
56 |
57 | private:
58 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (XmlTokeniser)
59 | };
60 |
61 |
62 | #endif // JUCE_XMLCODETOKENISER_H_INCLUDED
63 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_gui_extra.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_gui_extra",
3 | "name": "JUCE extended GUI classes",
4 | "version": "3.1.1",
5 | "description": "Miscellaneous GUI classes for specialised tasks.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_gui_basics", "version": "matching" } ],
10 |
11 | "include": "juce_gui_extra.h",
12 |
13 | "compile": [ { "file": "juce_gui_extra.cpp", "target": "! xcode" },
14 | { "file": "juce_gui_extra.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "code_editor/*",
17 | "documents/*",
18 | "embedding/*",
19 | "lookandfeel/*",
20 | "misc/*",
21 | "native/*" ],
22 |
23 | "OSXFrameworks": "WebKit"
24 | }
25 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | AnimatedAppComponent::AnimatedAppComponent()
26 | : lastUpdateTime (Time::getCurrentTime()), totalUpdates (0)
27 | {
28 | setOpaque (true);
29 | }
30 |
31 | void AnimatedAppComponent::setFramesPerSecond (int framesPerSecond)
32 | {
33 | jassert (framesPerSecond > 0 && framesPerSecond < 1000);
34 | startTimerHz (framesPerSecond);
35 | }
36 |
37 | int AnimatedAppComponent::getMillisecondsSinceLastUpdate() const noexcept
38 | {
39 | return (int) (Time::getCurrentTime() - lastUpdateTime).inMilliseconds();
40 | }
41 |
42 | void AnimatedAppComponent::timerCallback()
43 | {
44 | ++totalUpdates;
45 | update();
46 | repaint();
47 | lastUpdateTime = Time::getCurrentTime();
48 | }
49 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #if JUCE_WINDOWS || JUCE_LINUX || JUCE_MAC
26 |
27 | SystemTrayIconComponent::SystemTrayIconComponent()
28 | {
29 | addToDesktop (0);
30 | }
31 |
32 | SystemTrayIconComponent::~SystemTrayIconComponent()
33 | {
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_opengl/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_opengl",
3 | "name": "JUCE OpenGL classes",
4 | "version": "3.1.1",
5 | "description": "Classes for rendering OpenGL in a JUCE window.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_gui_basics", "version": "matching" } ],
10 |
11 | "include": "juce_opengl.h",
12 |
13 | "compile": [ { "file": "juce_opengl.cpp", "target": "! xcode" },
14 | { "file": "juce_opengl.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "opengl/*",
17 | "geometry/*",
18 | "utils/*",
19 | "native/*" ],
20 |
21 | "OSXFrameworks": "OpenGL",
22 | "iOSFrameworks": "OpenGLES",
23 | "LinuxLibs": "GL",
24 | "mingwLibs": "opengl32"
25 | }
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_opengl/juce_opengl.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_opengl.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_opengl/opengl/juce_OpenGLImage.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #ifndef JUCE_OPENGLIMAGE_H_INCLUDED
26 | #define JUCE_OPENGLIMAGE_H_INCLUDED
27 |
28 |
29 | //==============================================================================
30 | /**
31 | A type of ImagePixelData that stores its image data in an OpenGL
32 | framebuffer, allowing a JUCE Image object to wrap a framebuffer.
33 |
34 | By creating an Image from an instance of an OpenGLFrameBufferImage,
35 | you can then use a Graphics object to draw into the framebuffer using normal
36 | JUCE 2D operations.
37 |
38 | @see Image, ImageType, ImagePixelData, OpenGLFrameBuffer
39 | */
40 | class JUCE_API OpenGLImageType : public ImageType
41 | {
42 | public:
43 | OpenGLImageType();
44 | ~OpenGLImageType();
45 |
46 | ImagePixelData::Ptr create (Image::PixelFormat, int width, int height, bool shouldClearImage) const override;
47 | int getTypeID() const override;
48 |
49 | static OpenGLFrameBuffer* getFrameBufferFrom (const Image&);
50 | };
51 |
52 | #endif // JUCE_OPENGLIMAGE_H_INCLUDED
53 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | OpenGLAppComponent::OpenGLAppComponent() : frameCounter (0)
26 | {
27 | setOpaque (true);
28 | openGLContext.setRenderer (this);
29 | openGLContext.attachTo (*this);
30 | openGLContext.setContinuousRepainting (true);
31 | }
32 |
33 | OpenGLAppComponent::~OpenGLAppComponent()
34 | {
35 | // Before your subclass's destructor has completed, you must call
36 | // shutdownOpenGL() to release the GL context. (Otherwise there's
37 | // a danger that it may invoke a GL callback on your class while
38 | // it's in the process of being deleted.
39 | jassert (! openGLContext.isAttached());
40 |
41 | shutdownOpenGL();
42 | }
43 |
44 | void OpenGLAppComponent::shutdownOpenGL()
45 | {
46 | openGLContext.detach();
47 | }
48 |
49 | void OpenGLAppComponent::newOpenGLContextCreated()
50 | {
51 | initialise();
52 | }
53 |
54 | void OpenGLAppComponent::renderOpenGL()
55 | {
56 | ++frameCounter;
57 | render();
58 | }
59 |
60 | void OpenGLAppComponent::openGLContextClosing()
61 | {
62 | shutdown();
63 | }
64 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_video/juce_module_info:
--------------------------------------------------------------------------------
1 | {
2 | "id": "juce_video",
3 | "name": "JUCE video playback and capture classes",
4 | "version": "3.1.1",
5 | "description": "Classes for playing video and capturing camera input.",
6 | "website": "http://www.juce.com/juce",
7 | "license": "GPL/Commercial",
8 |
9 | "dependencies": [ { "id": "juce_gui_extra", "version": "matching" } ],
10 |
11 | "include": "juce_video.h",
12 |
13 | "compile": [ { "file": "juce_video.cpp", "target": "! xcode" },
14 | { "file": "juce_video.mm", "target": "xcode" } ],
15 |
16 | "browse": [ "playback/*",
17 | "capture/*",
18 | "native/*" ],
19 |
20 | "OSXFrameworks": "QTKit QuickTime"
21 | }
22 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_video/juce_video.mm:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | #include "juce_video.cpp"
26 |
--------------------------------------------------------------------------------
/JuceLibraryCode/modules/juce_video/native/juce_android_CameraDevice.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | This file is part of the JUCE library.
5 | Copyright (c) 2013 - Raw Material Software Ltd.
6 |
7 | Permission is granted to use this software under the terms of either:
8 | a) the GPL v2 (or any later version)
9 | b) the Affero GPL v3
10 |
11 | Details of these licenses can be found at: www.gnu.org/licenses
12 |
13 | JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 | A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 |
17 | ------------------------------------------------------------------------------
18 |
19 | To release a closed-source product which uses JUCE, commercial licenses are
20 | available: visit www.juce.com for more information.
21 |
22 | ==============================================================================
23 | */
24 |
25 | struct CameraDevice::Pimpl
26 | {
27 | Pimpl (const String&, int /*index*/, int /*minWidth*/, int /*minHeight*/, int /*maxWidth*/, int /*maxHeight*/)
28 | {
29 | }
30 |
31 | ~Pimpl()
32 | {
33 | }
34 |
35 | void startRecordingToFile (const File&, int /*quality*/)
36 | {
37 | }
38 |
39 | void stopRecording()
40 | {
41 | }
42 |
43 | Time getTimeOfFirstRecordedFrame() const
44 | {
45 | return Time();
46 | }
47 |
48 | void addListener (CameraDevice::Listener* listenerToAdd)
49 | {
50 | const ScopedLock sl (listenerLock);
51 | listeners.addIfNotAlreadyThere (listenerToAdd);
52 | }
53 |
54 | void removeListener (CameraDevice::Listener* listenerToRemove)
55 | {
56 | const ScopedLock sl (listenerLock);
57 | listeners.removeFirstMatchingValue (listenerToRemove);
58 | }
59 |
60 | static StringArray getAvailableDevices()
61 | {
62 | StringArray results;
63 |
64 | return results;
65 | }
66 |
67 | private:
68 | JUCE_DECLARE_NON_COPYABLE (Pimpl)
69 | };
70 |
71 | struct CameraDevice::ViewerComponent : public Component
72 | {
73 | ViewerComponent (CameraDevice&)
74 | {
75 | }
76 |
77 | JUCE_DECLARE_NON_COPYABLE (ViewerComponent)
78 | };
79 |
80 | String CameraDevice::getFileExtension()
81 | {
82 | return ".mov";
83 | }
84 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Desislav Hristov
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | # MoogFilter
2 |
3 | A [JUCE](https://github.com/julianstorer/JUCE) implementation of Antti Huovilainen's non-linear model of the Moog filter. Done as a coursework for a Digital Audio Effects module at Queen Mary University of London.
4 |
5 | #### References:
6 |
7 | - Huovilainen, Antti. "Non-linear digital implementation of the Moog ladder filter." Proc. Int. Conf. on Digital Audio Effects (Naples, Italy, October 2004). 2004 [(link)](http://www.mirlab.org/conference_papers/International_Conference/DAFx%202004/Proc/P_061.pdf)
8 |
--------------------------------------------------------------------------------
/Source/MoogFilter.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // MoogFilter.cpp
3 | // MoogFilter
4 | //
5 | // Created by Desislav Hristov on 26/03/2015.
6 | //
7 | //
8 |
9 | #include "MoogFilter.h"
10 |
11 | MoogFilter::MoogFilter() {
12 | y_a = 0;
13 | y_b = 0;
14 | y_c = 0;
15 | y_d = 0;
16 | y_d_1 = 0;
17 |
18 | frequency = 2000;
19 | resonance = 1;
20 | drive = 1;
21 | }
22 | MoogFilter::~MoogFilter() {
23 |
24 | }
25 | void MoogFilter::processSamples(float *samples, int numSamples){
26 | for (int i = 0; i < 2 * numSamples; i++) {
27 | samples[i/2] = tanhf(samples[i/2] * drive);
28 | y_a = y_a + g * (tanhf(samples[i/2] - resonance * ((y_d_1 + y_d)/2) - tanhf(y_a)));
29 | y_b = y_b + g * (tanhf(y_a) - tanhf(y_b));
30 | y_c = y_c + g * (tanhf(y_b) - tanhf(y_c));
31 | y_d_1 = y_d;
32 | y_d = y_d + g * (tanhf(y_c) - tanhf(y_d));
33 | samples[i/2] = y_d;
34 | }
35 | }
36 | float MoogFilter::getFrequency() {
37 | return frequency;
38 | }
39 | float MoogFilter::getResonance() {
40 | return resonance;
41 | }
42 | float MoogFilter::getDrive() {
43 | return drive;
44 | }
45 |
46 | void MoogFilter::setFrequency(float f) {
47 | if (f > 12000.0f) f = 12000.0f;
48 | if (f < 0.0f) f = 0.0f;
49 | frequency = f;
50 | g = 1 - expf(-2 * tanf(2 * M_PI * frequency/(2 * sampleRate)));
51 | }
52 | void MoogFilter::setResonance(float r) {
53 | if (r > 5.0f) r = 5.0f;
54 | if (r < 0.0f) r = 0.0f;
55 | resonance = r;
56 | }
57 | void MoogFilter::setSampleRate(int s) {
58 | sampleRate = s;
59 | }
60 | void MoogFilter::setDrive(float d) {
61 | if (d > 10.0f) d = 10.0f;
62 | if (d < 0.1f) d = 0.1f;
63 | drive = d;
64 | }
--------------------------------------------------------------------------------
/Source/MoogFilter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MoogFilter.h
3 | // MoogFilter
4 | //
5 | // Created by Desislav Hristov on 26/03/2015.
6 | //
7 | //
8 |
9 | #ifndef __MoogFilter__MoogFilter__
10 | #define __MoogFilter__MoogFilter__
11 |
12 | #include
13 | #include
14 |
15 | class MoogFilter {
16 | float frequency;
17 | float g;
18 | float resonance;
19 | float drive;
20 | int sampleRate;
21 |
22 | float y_a;
23 | float y_b;
24 | float y_c;
25 | float y_d;
26 | float y_d_1;
27 |
28 | public:
29 | MoogFilter();
30 | ~MoogFilter();
31 | void processSamples(float *samples, int numSamples);
32 |
33 | float getFrequency();
34 | float getResonance();
35 | float getDrive();
36 |
37 | void setFrequency(float f);
38 | void setResonance(float r);
39 | void setSampleRate(int s);
40 | void setDrive(float d);
41 | };
42 |
43 | #endif /* defined(__MoogFilter__MoogFilter__) */
44 |
--------------------------------------------------------------------------------