├── .gitignore ├── .travis.yml ├── COPYING ├── JUCE ├── .gitignore └── modules │ ├── juce_audio_basics │ ├── audio_play_head │ │ └── juce_AudioPlayHead.h │ ├── buffers │ │ ├── juce_AudioChannelSet.cpp │ │ ├── juce_AudioChannelSet.h │ │ ├── juce_AudioDataConverters.cpp │ │ ├── juce_AudioDataConverters.h │ │ ├── juce_AudioSampleBuffer.h │ │ ├── juce_FloatVectorOperations.cpp │ │ └── juce_FloatVectorOperations.h │ ├── effects │ │ ├── juce_CatmullRomInterpolator.cpp │ │ ├── juce_CatmullRomInterpolator.h │ │ ├── juce_Decibels.h │ │ ├── juce_IIRFilter.cpp │ │ ├── juce_IIRFilter.h │ │ ├── juce_LagrangeInterpolator.cpp │ │ ├── juce_LagrangeInterpolator.h │ │ ├── juce_LinearSmoothedValue.h │ │ └── juce_Reverb.h │ ├── juce_audio_basics.cpp │ ├── juce_audio_basics.h │ ├── juce_audio_basics.mm │ ├── 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 │ │ ├── juce_MidiRPN.cpp │ │ └── juce_MidiRPN.h │ ├── mpe │ │ ├── juce_MPEInstrument.cpp │ │ ├── juce_MPEInstrument.h │ │ ├── juce_MPEMessages.cpp │ │ ├── juce_MPEMessages.h │ │ ├── juce_MPENote.cpp │ │ ├── juce_MPENote.h │ │ ├── juce_MPESynthesiser.cpp │ │ ├── juce_MPESynthesiser.h │ │ ├── juce_MPESynthesiserBase.cpp │ │ ├── juce_MPESynthesiserBase.h │ │ ├── juce_MPESynthesiserVoice.cpp │ │ ├── juce_MPESynthesiserVoice.h │ │ ├── juce_MPEUtils.cpp │ │ ├── juce_MPEUtils.h │ │ ├── juce_MPEValue.cpp │ │ ├── juce_MPEValue.h │ │ ├── juce_MPEZoneLayout.cpp │ │ └── juce_MPEZoneLayout.h │ ├── native │ │ └── juce_mac_CoreAudioLayouts.h │ ├── sources │ │ ├── juce_AudioSource.h │ │ ├── juce_BufferingAudioSource.cpp │ │ ├── juce_BufferingAudioSource.h │ │ ├── juce_ChannelRemappingAudioSource.cpp │ │ ├── juce_ChannelRemappingAudioSource.h │ │ ├── juce_IIRFilterAudioSource.cpp │ │ ├── juce_IIRFilterAudioSource.h │ │ ├── juce_MemoryAudioSource.cpp │ │ ├── juce_MemoryAudioSource.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_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 │ ├── 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_Oboe.cpp │ │ ├── juce_android_OpenSL.cpp │ │ ├── juce_ios_Audio.cpp │ │ ├── juce_ios_Audio.h │ │ ├── juce_linux_ALSA.cpp │ │ ├── juce_linux_Bela.cpp │ │ ├── juce_linux_JackAudio.cpp │ │ ├── juce_linux_Midi.cpp │ │ ├── juce_mac_CoreAudio.cpp │ │ ├── juce_mac_CoreMidi.cpp │ │ ├── juce_win32_ASIO.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_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 │ └── sampler │ │ ├── juce_Sampler.cpp │ │ └── juce_Sampler.h │ ├── juce_audio_plugin_client │ ├── AAX │ │ ├── juce_AAX_Modifier_Injector.h │ │ └── juce_AAX_Wrapper.cpp │ ├── AU │ │ ├── AUResources.r │ │ ├── CoreAudioUtilityClasses │ │ │ ├── AUBase.cpp │ │ │ ├── AUBase.h │ │ │ ├── AUBaseHelper.h │ │ │ ├── AUBuffer.cpp │ │ │ ├── AUBuffer.h │ │ │ ├── AUCarbonViewBase.cpp │ │ │ ├── AUCarbonViewBase.h │ │ │ ├── AUCarbonViewControl.cpp │ │ │ ├── AUCarbonViewControl.h │ │ │ ├── AUCarbonViewDispatch.cpp │ │ │ ├── AUDispatch.cpp │ │ │ ├── AUDispatch.h │ │ │ ├── AUInputElement.cpp │ │ │ ├── AUInputElement.h │ │ │ ├── AUInputFormatConverter.h │ │ │ ├── AUMIDIBase.cpp │ │ │ ├── AUMIDIBase.h │ │ │ ├── AUOutputBase.cpp │ │ │ ├── AUOutputBase.h │ │ │ ├── AUOutputElement.cpp │ │ │ ├── AUOutputElement.h │ │ │ ├── AUPlugInDispatch.cpp │ │ │ ├── AUPlugInDispatch.h │ │ │ ├── AUScopeElement.cpp │ │ │ ├── AUScopeElement.h │ │ │ ├── AUSilentTimeout.h │ │ │ ├── AUTimestampGenerator.h │ │ │ ├── AUViewLocalizedStringKeys.h │ │ │ ├── CAAUParameter.cpp │ │ │ ├── CAAUParameter.h │ │ │ ├── CAAtomic.h │ │ │ ├── CAAtomicStack.h │ │ │ ├── CAAudioChannelLayout.cpp │ │ │ ├── CAAudioChannelLayout.h │ │ │ ├── CAAutoDisposer.h │ │ │ ├── CADebugMacros.h │ │ │ ├── CADebugPrintf.h │ │ │ ├── CAException.h │ │ │ ├── CAHostTimeBase.h │ │ │ ├── CAMath.h │ │ │ ├── CAMutex.cpp │ │ │ ├── CAMutex.h │ │ │ ├── CAReferenceCounted.h │ │ │ ├── CAStreamBasicDescription.cpp │ │ │ ├── CAStreamBasicDescription.h │ │ │ ├── CAThreadSafeList.h │ │ │ ├── CAVectorUnit.cpp │ │ │ ├── CAVectorUnit.h │ │ │ ├── CAVectorUnitTypes.h │ │ │ ├── CAXException.h │ │ │ ├── CarbonEventHandler.cpp │ │ │ ├── CarbonEventHandler.h │ │ │ ├── ComponentBase.cpp │ │ │ ├── ComponentBase.h │ │ │ ├── MusicDeviceBase.cpp │ │ │ └── MusicDeviceBase.h │ │ ├── juce_AU_Wrapper.mm │ │ └── juce_AUv3_Wrapper.mm │ ├── AUResources.r │ ├── LV2 │ │ ├── includes │ │ │ ├── atom-util.h │ │ │ ├── atom.h │ │ │ ├── buf-size.h │ │ │ ├── instance-access.h │ │ │ ├── lv2.h │ │ │ ├── lv2_external_ui.h │ │ │ ├── lv2_programs.h │ │ │ ├── midi.h │ │ │ ├── options.h │ │ │ ├── port-props.h │ │ │ ├── presets.h │ │ │ ├── state.h │ │ │ ├── time.h │ │ │ ├── ui.h │ │ │ ├── units.h │ │ │ └── urid.h │ │ └── juce_LV2_Wrapper.cpp │ ├── RTAS │ │ ├── juce_RTAS_DigiCode1.cpp │ │ ├── juce_RTAS_DigiCode2.cpp │ │ ├── juce_RTAS_DigiCode3.cpp │ │ ├── juce_RTAS_DigiCode_Header.h │ │ ├── juce_RTAS_MacUtilities.mm │ │ ├── juce_RTAS_WinExports.def │ │ ├── juce_RTAS_WinResources.rsr │ │ ├── juce_RTAS_WinUtilities.cpp │ │ └── juce_RTAS_Wrapper.cpp │ ├── Standalone │ │ ├── juce_StandaloneFilterApp.cpp │ │ └── juce_StandaloneFilterWindow.h │ ├── VST │ │ ├── juce_VSTCallbackHandler.h │ │ ├── juce_VST_Wrapper.cpp │ │ └── juce_VST_Wrapper.mm │ ├── VST3 │ │ └── juce_VST3_Wrapper.cpp │ ├── juce_audio_plugin_client.h │ ├── juce_audio_plugin_client_AAX.cpp │ ├── juce_audio_plugin_client_AAX.mm │ ├── juce_audio_plugin_client_AU.r │ ├── juce_audio_plugin_client_AU_1.mm │ ├── juce_audio_plugin_client_AU_2.mm │ ├── juce_audio_plugin_client_AUv3.mm │ ├── juce_audio_plugin_client_RTAS.r │ ├── juce_audio_plugin_client_RTAS_1.cpp │ ├── juce_audio_plugin_client_RTAS_2.cpp │ ├── juce_audio_plugin_client_RTAS_3.cpp │ ├── juce_audio_plugin_client_RTAS_4.cpp │ ├── juce_audio_plugin_client_RTAS_utils.cpp │ ├── juce_audio_plugin_client_RTAS_utils.mm │ ├── juce_audio_plugin_client_Standalone.cpp │ ├── juce_audio_plugin_client_VST2.cpp │ ├── juce_audio_plugin_client_VST3.cpp │ ├── juce_audio_plugin_client_VST_utils.mm │ ├── juce_audio_plugin_client_utils.cpp │ └── 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_AU_Shared.h │ │ ├── juce_AudioUnitPluginFormat.h │ │ ├── juce_AudioUnitPluginFormat.mm │ │ ├── juce_LADSPAPluginFormat.cpp │ │ ├── juce_LADSPAPluginFormat.h │ │ ├── juce_LegacyAudioParameter.cpp │ │ ├── juce_VST3Common.h │ │ ├── juce_VST3Headers.h │ │ ├── juce_VST3PluginFormat.cpp │ │ ├── juce_VST3PluginFormat.h │ │ ├── juce_VSTCommon.h │ │ ├── juce_VSTInterface.h │ │ ├── juce_VSTMidiEventList.h │ │ ├── juce_VSTPluginFormat.cpp │ │ └── juce_VSTPluginFormat.h │ ├── juce_audio_processors.cpp │ ├── juce_audio_processors.h │ ├── juce_audio_processors.mm │ ├── processors │ │ ├── juce_AudioPluginInstance.cpp │ │ ├── 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 │ └── utilities │ │ ├── juce_AudioParameterBool.h │ │ ├── juce_AudioParameterChoice.h │ │ ├── juce_AudioParameterFloat.h │ │ ├── juce_AudioParameterInt.h │ │ ├── juce_AudioProcessorParameterWithID.h │ │ ├── juce_AudioProcessorParameters.cpp │ │ ├── juce_AudioProcessorValueTreeState.cpp │ │ └── juce_AudioProcessorValueTreeState.h │ ├── juce_audio_utils │ ├── audio_cd │ │ ├── juce_AudioCDBurner.h │ │ ├── juce_AudioCDReader.cpp │ │ └── juce_AudioCDReader.h │ ├── gui │ │ ├── juce_AudioAppComponent.cpp │ │ ├── juce_AudioAppComponent.h │ │ ├── juce_AudioDeviceSelectorComponent.cpp │ │ ├── juce_AudioDeviceSelectorComponent.h │ │ ├── juce_AudioThumbnail.cpp │ │ ├── juce_AudioThumbnail.h │ │ ├── juce_AudioThumbnailBase.h │ │ ├── juce_AudioThumbnailCache.cpp │ │ ├── juce_AudioThumbnailCache.h │ │ ├── juce_AudioVisualiserComponent.cpp │ │ ├── juce_AudioVisualiserComponent.h │ │ ├── juce_BluetoothMidiDevicePairingDialogue.h │ │ ├── juce_MidiKeyboardComponent.cpp │ │ └── juce_MidiKeyboardComponent.h │ ├── juce_audio_utils.cpp │ ├── juce_audio_utils.h │ ├── juce_audio_utils.mm │ ├── native │ │ ├── juce_android_BluetoothMidiDevicePairingDialogue.cpp │ │ ├── juce_ios_BluetoothMidiDevicePairingDialogue.mm │ │ ├── juce_linux_AudioCDReader.cpp │ │ ├── juce_linux_BluetoothMidiDevicePairingDialogue.cpp │ │ ├── juce_mac_AudioCDBurner.mm │ │ ├── juce_mac_AudioCDReader.mm │ │ ├── juce_mac_BluetoothMidiDevicePairingDialogue.mm │ │ ├── juce_win32_AudioCDBurner.cpp │ │ ├── juce_win32_AudioCDReader.cpp │ │ └── juce_win_BluetoothMidiDevicePairingDialogue.cpp │ └── players │ │ ├── juce_AudioProcessorPlayer.cpp │ │ ├── juce_AudioProcessorPlayer.h │ │ ├── juce_SoundPlayer.cpp │ │ └── juce_SoundPlayer.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_HashMap_test.cpp │ │ ├── juce_LinkedListPointer.h │ │ ├── juce_ListenerList.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.cpp │ │ ├── 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 │ ├── 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 │ │ └── juce_StatisticsAccumulator.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_RuntimePermissions.cpp │ │ ├── juce_RuntimePermissions.h │ │ ├── juce_StdFunctionCompat.cpp │ │ ├── juce_StdFunctionCompat.h │ │ ├── juce_Uuid.cpp │ │ ├── juce_Uuid.h │ │ └── juce_WindowsRegistry.h │ ├── native │ │ ├── java │ │ │ ├── AndroidCamera.java │ │ │ ├── AndroidMidi.java │ │ │ ├── AndroidMidiFallback.java │ │ │ ├── AndroidRuntimePermissions.java │ │ │ ├── AndroidSharingContentProvider.java │ │ │ ├── AndroidWebView.java │ │ │ ├── IInAppBillingService.java │ │ │ ├── JuceAppActivity.java │ │ │ ├── JuceFirebaseInstanceIdService.java │ │ │ └── JuceFirebaseMessagingService.java │ │ ├── juce_BasicNativeHeaders.h │ │ ├── juce_android_Files.cpp │ │ ├── juce_android_JNIHelpers.h │ │ ├── juce_android_Misc.cpp │ │ ├── juce_android_Network.cpp │ │ ├── juce_android_RuntimePermissions.cpp │ │ ├── juce_android_SystemStats.cpp │ │ ├── juce_android_Threads.cpp │ │ ├── juce_curl_Network.cpp │ │ ├── juce_linux_CommonFile.cpp │ │ ├── juce_linux_Files.cpp │ │ ├── juce_linux_Network.cpp │ │ ├── juce_linux_SystemStats.cpp │ │ ├── juce_linux_Threads.cpp │ │ ├── juce_mac_ClangBugWorkaround.h │ │ ├── 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 │ │ ├── juce_WebInputStream.cpp │ │ └── juce_WebInputStream.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 │ │ ├── juce_URLInputSource.cpp │ │ └── juce_URLInputSource.h │ ├── system │ │ ├── juce_CompilerSupport.h │ │ ├── juce_PlatformDefs.h │ │ ├── juce_StandardHeader.h │ │ ├── juce_SystemStats.cpp │ │ ├── juce_SystemStats.h │ │ └── juce_TargetPlatform.h │ ├── text │ │ ├── juce_Base64.cpp │ │ ├── juce_Base64.h │ │ ├── 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_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 │ ├── undomanager │ │ ├── juce_UndoManager.cpp │ │ ├── juce_UndoManager.h │ │ └── juce_UndoableAction.h │ └── values │ │ ├── juce_CachedValue.cpp │ │ ├── juce_CachedValue.h │ │ ├── juce_Value.cpp │ │ ├── juce_Value.h │ │ ├── juce_ValueTree.cpp │ │ ├── juce_ValueTree.h │ │ ├── juce_ValueTreeSynchroniser.cpp │ │ ├── juce_ValueTreeSynchroniser.h │ │ └── juce_ValueWithDefault.h │ ├── juce_dsp │ ├── containers │ │ ├── juce_AudioBlock.h │ │ ├── juce_SIMDRegister.h │ │ ├── juce_SIMDRegister_Impl.h │ │ └── juce_SIMDRegister_test.cpp │ ├── filter_design │ │ ├── juce_FilterDesign.cpp │ │ └── juce_FilterDesign.h │ ├── frequency │ │ ├── juce_Convolution.cpp │ │ ├── juce_Convolution.h │ │ ├── juce_FFT.cpp │ │ ├── juce_FFT.h │ │ ├── juce_FFT_test.cpp │ │ ├── juce_Windowing.cpp │ │ └── juce_Windowing.h │ ├── juce_dsp.cpp │ ├── juce_dsp.h │ ├── juce_dsp.mm │ ├── maths │ │ ├── juce_FastMathApproximations.h │ │ ├── juce_LookupTable.cpp │ │ ├── juce_LookupTable.h │ │ ├── juce_Matrix.cpp │ │ ├── juce_Matrix.h │ │ ├── juce_Matrix_test.cpp │ │ ├── juce_Phase.h │ │ ├── juce_Polynomial.h │ │ ├── juce_SpecialFunctions.cpp │ │ └── juce_SpecialFunctions.h │ ├── native │ │ ├── juce_avx_SIMDNativeOps.cpp │ │ ├── juce_avx_SIMDNativeOps.h │ │ ├── juce_fallback_SIMDNativeOps.h │ │ ├── juce_neon_SIMDNativeOps.cpp │ │ ├── juce_neon_SIMDNativeOps.h │ │ ├── juce_sse_SIMDNativeOps.cpp │ │ └── juce_sse_SIMDNativeOps.h │ └── processors │ │ ├── juce_Bias.h │ │ ├── juce_FIRFilter.cpp │ │ ├── juce_FIRFilter.h │ │ ├── juce_FIRFilter_test.cpp │ │ ├── juce_Gain.h │ │ ├── juce_IIRFilter.cpp │ │ ├── juce_IIRFilter.h │ │ ├── juce_IIRFilter_Impl.h │ │ ├── juce_LadderFilter.cpp │ │ ├── juce_LadderFilter.h │ │ ├── juce_Oscillator.h │ │ ├── juce_Oversampling.cpp │ │ ├── juce_Oversampling.h │ │ ├── juce_ProcessContext.h │ │ ├── juce_ProcessorChain.h │ │ ├── juce_ProcessorDuplicator.h │ │ ├── juce_ProcessorWrapper.h │ │ ├── juce_Reverb.h │ │ ├── juce_StateVariableFilter.h │ │ └── juce_WaveShaper.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 │ ├── 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 │ ├── 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_android_Messaging.cpp │ │ ├── juce_ios_MessageManager.mm │ │ ├── juce_linux_EventLoop.h │ │ ├── juce_linux_Messaging.cpp │ │ ├── juce_mac_MessageManager.mm │ │ ├── juce_osx_MessageQueue.h │ │ ├── juce_win32_HiddenMessageWindow.h │ │ ├── juce_win32_Messaging.cpp │ │ ├── juce_win32_WinRTWrapper.cpp │ │ └── juce_win32_WinRTWrapper.h │ └── 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_Parallelogram.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 │ ├── native │ │ ├── juce_RenderingHelpers.h │ │ ├── juce_android_Fonts.cpp │ │ ├── juce_android_GraphicsContext.cpp │ │ ├── juce_android_IconHelpers.cpp │ │ ├── juce_freetype_Fonts.cpp │ │ ├── juce_linux_Fonts.cpp │ │ ├── juce_linux_IconHelpers.cpp │ │ ├── juce_mac_CoreGraphicsContext.h │ │ ├── juce_mac_CoreGraphicsContext.mm │ │ ├── juce_mac_CoreGraphicsHelpers.h │ │ ├── juce_mac_Fonts.mm │ │ ├── juce_mac_IconHelpers.cpp │ │ ├── juce_win32_Direct2DGraphicsContext.cpp │ │ ├── juce_win32_Direct2DGraphicsContext.h │ │ ├── juce_win32_DirectWriteTypeLayout.cpp │ │ ├── juce_win32_DirectWriteTypeface.cpp │ │ ├── juce_win32_Fonts.cpp │ │ └── juce_win32_IconHelpers.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_ContentSharer.cpp │ │ ├── juce_ContentSharer.h │ │ ├── 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 │ ├── 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_FlexBox.cpp │ │ ├── juce_FlexBox.h │ │ ├── juce_FlexItem.h │ │ ├── juce_Grid.cpp │ │ ├── juce_Grid.h │ │ ├── juce_GridItem.cpp │ │ ├── juce_GridItem.h │ │ ├── juce_GridUnitTests.cpp │ │ ├── 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_SidePanel.cpp │ │ ├── juce_SidePanel.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 │ │ ├── juce_LookAndFeel_V4.cpp │ │ └── juce_LookAndFeel_V4.h │ ├── menus │ │ ├── juce_BurgerMenuComponent.cpp │ │ ├── juce_BurgerMenuComponent.h │ │ ├── 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 │ │ ├── juce_JUCESplashScreen.cpp │ │ └── juce_JUCESplashScreen.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_ContentSharer.cpp │ │ ├── juce_android_FileChooser.cpp │ │ ├── juce_android_Windowing.cpp │ │ ├── juce_common_MimeTypes.cpp │ │ ├── juce_ios_ContentSharer.cpp │ │ ├── juce_ios_FileChooser.mm │ │ ├── juce_ios_UIViewComponentPeer.mm │ │ ├── juce_ios_Windowing.mm │ │ ├── juce_linux_FileChooser.cpp │ │ ├── juce_linux_X11.cpp │ │ ├── juce_linux_X11.h │ │ ├── juce_linux_X11_Clipboard.cpp │ │ ├── juce_linux_X11_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_MultiChoicePropertyComponent.cpp │ │ ├── juce_MultiChoicePropertyComponent.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_AndroidViewComponent.h │ │ ├── juce_NSViewComponent.h │ │ ├── juce_UIViewComponent.h │ │ └── juce_XEmbedComponent.h │ ├── juce_gui_extra.cpp │ ├── juce_gui_extra.h │ ├── juce_gui_extra.mm │ ├── 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_PushNotifications.cpp │ │ ├── juce_PushNotifications.h │ │ ├── juce_RecentlyOpenedFilesList.cpp │ │ ├── juce_RecentlyOpenedFilesList.h │ │ ├── juce_SplashScreen.cpp │ │ ├── juce_SplashScreen.h │ │ ├── juce_SystemTrayIconComponent.cpp │ │ ├── juce_SystemTrayIconComponent.h │ │ └── juce_WebBrowserComponent.h │ └── native │ │ ├── juce_AndroidViewComponent.cpp │ │ ├── juce_android_PushNotifications.cpp │ │ ├── juce_android_WebBrowserComponent.cpp │ │ ├── juce_ios_PushNotifications.cpp │ │ ├── juce_ios_UIViewComponent.mm │ │ ├── juce_linux_X11_SystemTrayIcon.cpp │ │ ├── juce_linux_X11_WebBrowserComponent.cpp │ │ ├── juce_linux_XEmbedComponent.cpp │ │ ├── juce_mac_AppleRemote.mm │ │ ├── juce_mac_CarbonViewWrapperComponent.h │ │ ├── juce_mac_NSViewComponent.mm │ │ ├── juce_mac_PushNotifications.cpp │ │ ├── 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_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_X11.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 ├── JuceLibraryCode ├── AppConfig.h ├── BinaryData.cpp ├── BinaryData.h ├── JuceHeader.h ├── ReadMe.txt ├── include_juce_audio_basics.cpp ├── include_juce_audio_basics.mm ├── include_juce_audio_devices.cpp ├── include_juce_audio_devices.mm ├── include_juce_audio_formats.cpp ├── include_juce_audio_formats.mm ├── include_juce_audio_plugin_client_AAX.cpp ├── include_juce_audio_plugin_client_AAX.mm ├── include_juce_audio_plugin_client_AU.r ├── include_juce_audio_plugin_client_AU_1.mm ├── include_juce_audio_plugin_client_AU_2.mm ├── include_juce_audio_plugin_client_AUv3.mm ├── include_juce_audio_plugin_client_RTAS.r ├── include_juce_audio_plugin_client_RTAS_1.cpp ├── include_juce_audio_plugin_client_RTAS_2.cpp ├── include_juce_audio_plugin_client_RTAS_3.cpp ├── include_juce_audio_plugin_client_RTAS_4.cpp ├── include_juce_audio_plugin_client_RTAS_utils.cpp ├── include_juce_audio_plugin_client_RTAS_utils.mm ├── include_juce_audio_plugin_client_Standalone.cpp ├── include_juce_audio_plugin_client_VST2.cpp ├── include_juce_audio_plugin_client_VST3.cpp ├── include_juce_audio_plugin_client_VST_utils.mm ├── include_juce_audio_plugin_client_utils.cpp ├── include_juce_audio_processors.cpp ├── include_juce_audio_processors.mm ├── include_juce_audio_utils.cpp ├── include_juce_audio_utils.mm ├── include_juce_core.cpp ├── include_juce_core.mm ├── include_juce_data_structures.cpp ├── include_juce_data_structures.mm ├── include_juce_events.cpp ├── include_juce_events.mm ├── include_juce_graphics.cpp ├── include_juce_graphics.mm ├── include_juce_gui_basics.cpp ├── include_juce_gui_basics.mm ├── include_juce_gui_extra.cpp ├── include_juce_gui_extra.mm ├── include_juce_opengl.cpp └── include_juce_opengl.mm ├── Makefile ├── README.md ├── VST3_SDK ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── base │ ├── CMakeLists.txt │ ├── LICENSE.txt │ └── source │ │ ├── baseiids.cpp │ │ ├── classfactoryhelpers.h │ │ ├── fbuffer.cpp │ │ ├── fbuffer.h │ │ ├── fcleanup.h │ │ ├── fcommandline.h │ │ ├── fdebug.cpp │ │ ├── fdebug.h │ │ ├── fdynlib.cpp │ │ ├── fdynlib.h │ │ ├── flock.cpp │ │ ├── flock.h │ │ ├── fobject.cpp │ │ ├── fobject.h │ │ ├── fstdmethods.h │ │ ├── fstreamer.cpp │ │ ├── fstreamer.h │ │ ├── fstring.cpp │ │ ├── fstring.h │ │ ├── hexbinary.h │ │ ├── timer.cpp │ │ ├── timer.h │ │ ├── updatehandler.cpp │ │ └── updatehandler.h ├── cmake │ └── modules │ │ ├── AddVST3Library.cmake │ │ ├── Bundle.cmake │ │ ├── ExportedSymbols.cmake │ │ ├── Global.cmake │ │ ├── PlatformIOS.cmake │ │ └── PrefixHeader.cmake ├── index.html ├── pluginterfaces │ ├── LICENSE.txt │ ├── base │ │ ├── conststringtable.cpp │ │ ├── conststringtable.h │ │ ├── falignpop.h │ │ ├── falignpush.h │ │ ├── fplatform.h │ │ ├── fstrdefs.h │ │ ├── ftypes.h │ │ ├── funknown.cpp │ │ ├── funknown.h │ │ ├── futils.h │ │ ├── fvariant.h │ │ ├── geoconstants.h │ │ ├── ibstream.h │ │ ├── icloneable.h │ │ ├── ierrorcontext.h │ │ ├── ipersistent.h │ │ ├── ipluginbase.h │ │ ├── istringresult.h │ │ ├── iupdatehandler.h │ │ ├── keycodes.h │ │ ├── pluginbasefwd.h │ │ ├── smartpointer.h │ │ ├── ucolorspec.h │ │ ├── ustring.cpp │ │ └── ustring.h │ ├── gui │ │ ├── iplugview.h │ │ └── iplugviewcontentscalesupport.h │ ├── test │ │ └── itest.h │ └── vst │ │ ├── ivstattributes.h │ │ ├── ivstaudioprocessor.h │ │ ├── ivstautomationstate.h │ │ ├── ivstchannelcontextinfo.h │ │ ├── ivstcomponent.h │ │ ├── ivstcontextmenu.h │ │ ├── ivsteditcontroller.h │ │ ├── ivstevents.h │ │ ├── ivsthostapplication.h │ │ ├── ivstinterappaudio.h │ │ ├── ivstmessage.h │ │ ├── ivstmidicontrollers.h │ │ ├── ivstnoteexpression.h │ │ ├── ivstparameterchanges.h │ │ ├── ivstplugview.h │ │ ├── ivstprefetchablesupport.h │ │ ├── ivstprocesscontext.h │ │ ├── ivstrepresentation.h │ │ ├── ivstunits.h │ │ ├── vstpresetkeys.h │ │ ├── vstpshpack4.h │ │ └── vsttypes.h └── public.sdk │ ├── CMakeLists.txt │ ├── LICENSE.txt │ └── source │ ├── common │ ├── memorystream.cpp │ ├── memorystream.h │ ├── pluginview.cpp │ └── pluginview.h │ ├── main │ ├── dllmain.cpp │ ├── linuxmain.cpp │ ├── macexport.exp │ ├── macmain.cpp │ ├── pluginfactoryvst3.cpp │ ├── pluginfactoryvst3.h │ └── winexport.def │ ├── vst │ ├── auwrapper │ │ ├── CMakeLists.txt │ │ ├── NSDataIBStream.h │ │ ├── NSDataIBStream.mm │ │ ├── again │ │ │ ├── CMakeLists.txt │ │ │ ├── Info.plist │ │ │ ├── audiounitconfig.h │ │ │ ├── config │ │ │ │ ├── again.xcconfig │ │ │ │ ├── again_debug.xcconfig │ │ │ │ └── again_release.xcconfig │ │ │ └── doc.cpp │ │ ├── aucarbonview.h │ │ ├── aucarbonview.mm │ │ ├── aucocoaview.h │ │ ├── aucocoaview.mm │ │ ├── auresource.r │ │ ├── ausdk.mm │ │ ├── auwrapper.h │ │ ├── auwrapper.mm │ │ ├── auwrapper_prefix.pch │ │ ├── config │ │ │ ├── ausdkpath.xcconfig │ │ │ ├── auwrapper.xcconfig │ │ │ ├── auwrapper_debug.xcconfig │ │ │ └── auwrapper_release.xcconfig │ │ └── generateCocoaClassNamePrefix.rb │ ├── hosting │ │ ├── eventlist.cpp │ │ ├── eventlist.h │ │ ├── hostclasses.cpp │ │ ├── hostclasses.h │ │ ├── module.cpp │ │ ├── module.h │ │ ├── module_linux.cpp │ │ ├── module_mac.mm │ │ ├── module_win32.cpp │ │ ├── optional.h │ │ ├── parameterchanges.cpp │ │ ├── parameterchanges.h │ │ ├── plugprovider.cpp │ │ ├── plugprovider.h │ │ ├── processdata.cpp │ │ ├── processdata.h │ │ ├── stringconvert.cpp │ │ ├── stringconvert.h │ │ └── uid.h │ ├── interappaudio │ │ ├── AudioIO.h │ │ ├── AudioIO.mm │ │ ├── CMakeLists.txt │ │ ├── HostApp.h │ │ ├── HostApp.mm │ │ ├── LaunchScreen.storyboard │ │ ├── MidiIO.h │ │ ├── MidiIO.mm │ │ ├── PresetBrowserView.xib │ │ ├── PresetBrowserViewController.h │ │ ├── PresetBrowserViewController.mm │ │ ├── PresetManager.h │ │ ├── PresetManager.mm │ │ ├── PresetSaveView.xib │ │ ├── PresetSaveViewController.h │ │ ├── PresetSaveViewController.mm │ │ ├── SettingsView.xib │ │ ├── SettingsViewController.h │ │ ├── SettingsViewController.mm │ │ ├── VST3Editor.h │ │ ├── VST3Editor.mm │ │ ├── VST3Plugin.h │ │ ├── VST3Plugin.mm │ │ ├── VSTInterAppAudioAppDelegateBase.h │ │ └── VSTInterAppAudioAppDelegateBase.mm │ ├── testsuite │ │ ├── vsttestsuite.cpp │ │ └── vsttestsuite.h │ ├── vst2wrapper │ │ ├── vst2wrapper.cpp │ │ ├── vst2wrapper.h │ │ └── vst2wrapper.sdk.cpp │ ├── vstaudioeffect.cpp │ ├── vstaudioeffect.h │ ├── vstaudioprocessoralgo.h │ ├── vstbus.cpp │ ├── vstbus.h │ ├── vstbypassprocessor.cpp │ ├── vstbypassprocessor.h │ ├── vstcomponent.cpp │ ├── vstcomponent.h │ ├── vstcomponentbase.cpp │ ├── vstcomponentbase.h │ ├── vsteditcontroller.cpp │ ├── vsteditcontroller.h │ ├── vstguieditor.cpp │ ├── vstguieditor.h │ ├── vstinitiids.cpp │ ├── vstnoteexpressiontypes.cpp │ ├── vstnoteexpressiontypes.h │ ├── vstparameters.cpp │ ├── vstparameters.h │ ├── vstpresetfile.cpp │ ├── vstpresetfile.h │ ├── vstrepresentation.cpp │ ├── vstrepresentation.h │ ├── vstsinglecomponenteffect.cpp │ ├── vstsinglecomponenteffect.h │ └── vstspeakerarray.h │ └── vst3stdsdk.cpp ├── builds ├── linux │ ├── LV2 │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── Makefile.binary │ │ ├── Makefile.ttl_generator │ │ └── lv2_ttl_generator.c │ └── VST │ │ └── Makefile ├── osx │ ├── Helm.entitlements │ ├── Helm.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ ├── Icon.icns │ ├── Info-AAX.plist │ ├── Info-AU.plist │ ├── Info-AUv3_AppExtension.plist │ ├── Info-AUv3_Standalone.plist │ ├── Info-VST.plist │ ├── Info-VST3.plist │ ├── Info.plist │ └── RecentFilesMenuTemplate.nib └── vs17 │ ├── Helm.sln │ ├── Helm_SharedCode.vcxproj │ ├── Helm_SharedCode.vcxproj.filters │ ├── Helm_VST.vcxproj │ ├── Helm_VST.vcxproj.filters │ ├── Helm_VST3.vcxproj │ ├── Helm_VST3.vcxproj.filters │ └── resources.rc ├── changelog ├── concurrentqueue ├── LICENSE.md ├── blockingconcurrentqueue.h └── concurrentqueue.h ├── configure ├── docs ├── helm.1.gz ├── helm_manual.pdf └── thank_you.txt ├── fonts ├── DroidSansMono.ttf ├── LICENSE ├── Roboto-Light.ttf ├── Roboto-Regular.ttf └── Roboto-Thin.ttf ├── helm.jucer ├── images ├── helm_debian_icon.xpm ├── helm_icon_128_1x.ico ├── helm_icon_128_1x.png ├── helm_icon_128_2x.png ├── helm_icon_16_1x.png ├── helm_icon_16_2x.png ├── helm_icon_22_1x.png ├── helm_icon_24_1x.png ├── helm_icon_256_1x.png ├── helm_icon_256_2x.png ├── helm_icon_32_1x.png ├── helm_icon_32_2x.png ├── helm_icon_48_1x.png ├── helm_icon_512_1x.png ├── helm_icon_512_2x.png ├── modulation_selected_active_1x.png ├── modulation_selected_active_2x.png ├── modulation_selected_inactive_1x.png ├── modulation_selected_inactive_2x.png ├── modulation_unselected_active_1x.png ├── modulation_unselected_active_2x.png ├── modulation_unselected_inactive_1x.png └── modulation_unselected_inactive_2x.png ├── mopo ├── .gitignore ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── configure.ac ├── m4 │ └── ax_cxx_compile_stdcxx_11.m4 └── src │ ├── Makefile.am │ ├── alias.cpp │ ├── alias.h │ ├── arpeggiator.cpp │ ├── arpeggiator.h │ ├── biquad_filter.cpp │ ├── biquad_filter.h │ ├── bit_crush.cpp │ ├── bit_crush.h │ ├── bypass_router.cpp │ ├── bypass_router.h │ ├── circular_queue.h │ ├── common.h │ ├── delay.cpp │ ├── delay.h │ ├── distortion.cpp │ ├── distortion.h │ ├── envelope.cpp │ ├── envelope.h │ ├── feedback.cpp │ ├── feedback.h │ ├── formant_manager.cpp │ ├── formant_manager.h │ ├── ladder_filter.cpp │ ├── ladder_filter.h │ ├── linear_slope.cpp │ ├── linear_slope.h │ ├── magnitude_lookup.cpp │ ├── magnitude_lookup.h │ ├── memory.cpp │ ├── memory.h │ ├── midi_lookup.cpp │ ├── midi_lookup.h │ ├── mono_panner.cpp │ ├── mono_panner.h │ ├── mopo.h │ ├── note_handler.h │ ├── operators.cpp │ ├── operators.h │ ├── oscillator.cpp │ ├── oscillator.h │ ├── portamento_slope.cpp │ ├── portamento_slope.h │ ├── processor.cpp │ ├── processor.h │ ├── processor_router.cpp │ ├── processor_router.h │ ├── resonance_lookup.cpp │ ├── resonance_lookup.h │ ├── reverb.cpp │ ├── reverb.h │ ├── reverb_all_pass.cpp │ ├── reverb_all_pass.h │ ├── reverb_comb.cpp │ ├── reverb_comb.h │ ├── reverb_tuning.h │ ├── sample_decay_lookup.cpp │ ├── sample_decay_lookup.h │ ├── simple_delay.cpp │ ├── simple_delay.h │ ├── smooth_filter.cpp │ ├── smooth_filter.h │ ├── smooth_value.cpp │ ├── smooth_value.h │ ├── state_variable_filter.cpp │ ├── state_variable_filter.h │ ├── step_generator.cpp │ ├── step_generator.h │ ├── stutter.cpp │ ├── stutter.h │ ├── tick_router.h │ ├── trigger_operators.cpp │ ├── trigger_operators.h │ ├── utils.h │ ├── value.cpp │ ├── value.h │ ├── voice_handler.cpp │ ├── voice_handler.h │ └── wave.h ├── patches ├── .gitignore └── Factory Presets │ ├── Arp │ ├── CM Kleer Arp.helm │ ├── CM Tremolo.helm │ ├── COA Running Toy.helm │ ├── MT On the Run.helm │ ├── OZ Prarie Arp.helm │ ├── SF Arp 1.helm │ └── SF Arp 2.helm │ ├── Bass │ ├── CM Diddly.helm │ ├── CM Electro Bass.helm │ ├── CM Grit Bass.helm │ ├── CM Subsine.helm │ ├── COA Hard Bass 1.helm │ ├── COA Hard Bass 10.helm │ ├── COA Hard Bass 11.helm │ ├── COA Hard Bass 2.helm │ ├── COA Hard Bass 3.helm │ ├── COA Hard Bass 4.helm │ ├── COA Hard Bass 5.helm │ ├── COA Hard Bass 6.helm │ ├── COA Hard Bass 7.helm │ ├── COA Hard Bass 8.helm │ ├── COA Hard Bass 9.helm │ ├── COA Killer Chipsound Pluck 1.helm │ ├── COA Killer Chipsound Pluck 2.helm │ ├── COA Scary Rotten DNB.helm │ ├── COA Stab Bass Vocal Sound.helm │ ├── COA Stab Bass.helm │ ├── COA Sub-Layer for Trap Kick 1.helm │ ├── COA Sub-Layer for Trap Kick 2.helm │ ├── COA Sub-Layer for Trap Kick 3.helm │ ├── COA Sub-Layer for Trap Kick 4.helm │ ├── COA Sub-Layer for Trap Kick 5.helm │ ├── COA Terror Bass 1.helm │ ├── COA Terror Bass 2.helm │ ├── COA Terror Bass 3.helm │ ├── COA Terror Bass 4.helm │ ├── COA Timpani Digital Bass.helm │ ├── COA Trap Bass 1.helm │ ├── COA Trap Bass 2.helm │ ├── COA Trap Bass 3.helm │ ├── COA Trap Bass 4.helm │ ├── COA Trap Bass 5.helm │ ├── COA Trap Bass 6.helm │ ├── COA Trap Bass 7.helm │ ├── COA Trap Bass 8.helm │ ├── COA Trap Bass 9.helm │ ├── MT Cracklette.helm │ ├── MT Filtered Bass 1.helm │ ├── MT Filtered Bass 2.helm │ ├── MT Spectrum.helm │ ├── MT Stinky Bass 1.helm │ ├── MT Stinky Bass 2.helm │ ├── MT Stinky Bass 3.helm │ ├── SF Bass Formant.helm │ ├── SF Bass Picked.helm │ ├── SF Bass.helm │ ├── SF Contrabass.helm │ └── SF Double Bass.helm │ ├── Chip │ ├── COA Insane Gamer.helm │ ├── COA Random Chip Bass.helm │ ├── MT Bounce.helm │ ├── MT Chip Waltz.helm │ ├── MT Easy Vibrato.helm │ ├── MT Octaves.helm │ ├── MT Punch.helm │ └── MT Wind Up.helm │ ├── Harsh │ ├── CM Hard (Style).helm │ ├── CM Skreech Bass.helm │ └── CM Ugly Mess.helm │ ├── Keys │ ├── CM Bells.helm │ ├── CM Pluck Time.helm │ ├── CM Xylo.helm │ ├── COA 90 Videogame Pluck.helm │ ├── COA Alien Ocarina 1.helm │ ├── COA Alien Ocarina 2.helm │ ├── COA Broken Digital Organ.helm │ ├── COA Pluck Digital String 1.helm │ ├── COA Pluck Digital String 2.helm │ ├── COA Pluck Digital String 3.helm │ ├── COA Plucked Digital String.helm │ ├── COA Post Funk Keys 1.helm │ ├── COA Post Funk Keys 2.helm │ ├── COA Steampunk Phantom of the Opera.helm │ ├── MT Duper Saw.helm │ ├── MT Eighties Science Movie.helm │ ├── MT Organ 1.helm │ ├── MT Organ 2.helm │ ├── MT Striking Discovery.helm │ ├── MT Stuttering Organ.helm │ ├── MT Toy Piano.helm │ ├── OZ Drifter 1.helm │ ├── OZ Drifter 2.helm │ ├── OZ Drifter 3.helm │ ├── OZ Homebase.helm │ ├── OZ Natures Best.helm │ ├── OZ Portamento One.helm │ ├── OZ Prarie.helm │ ├── OZ Skewd with Noise.helm │ ├── OZ Skewd.helm │ ├── SF Brass CC2 A.helm │ ├── SF Brass CC2.helm │ ├── SF Brass Soft Stutter.helm │ ├── SF Brass Soft.helm │ ├── SF Celesta.helm │ ├── SF Formant 1.helm │ ├── SF Formant 2.helm │ ├── SF Piano 1.helm │ ├── SF Piano 2.helm │ ├── SF Piano 3.helm │ ├── SF Piano 4.helm │ ├── SF Piano Tremolo 1.helm │ └── SF Piano Tremolo 2.helm │ ├── LICENSE │ ├── Lead │ ├── CM Hoboe.helm │ ├── CM Monstah Lead.helm │ ├── CM Super(er) Saw.helm │ ├── CM Supersaw Gate.helm │ ├── CM Supersaw.helm │ ├── COA Acid Distorted Lead.helm │ ├── COA Alien Lead Guitar.helm │ ├── COA Arabian Android Flute.helm │ ├── COA Convolution.helm │ ├── COA Digital Reflected Glass 1.helm │ ├── COA Digital Reflected Glass 2.helm │ ├── COA Digital Reflected Glass 3.helm │ ├── COA Electro Bell.helm │ ├── COA Hard Lead 1.helm │ ├── COA Hard Lead 2.helm │ ├── COA Hard Lead 3.helm │ ├── COA Hard Terror Lead.helm │ ├── COA Leadgun.helm │ ├── COA Tension 1.helm │ ├── COA Tension 2.helm │ ├── COA Tension 3.helm │ ├── COA Tension 4.helm │ ├── COA Trumpet.helm │ ├── COA Witchy Lead 1.helm │ ├── COA Witchy Lead 2.helm │ ├── COA Witchy Lead 3.helm │ ├── COA Zap Hard.helm │ ├── MT Formantish.helm │ ├── OZ Freedom.helm │ ├── OZ Gold.helm │ ├── OZ Platinum Poly.helm │ ├── OZ Platinum.helm │ ├── OZ Silverrr.helm │ ├── SF Brass_Portamento.helm │ ├── SF Clarinet.helm │ ├── SF Nasty.helm │ └── SF Pizz.helm │ ├── Pad │ ├── CM Epic.helm │ ├── CM Soothing.helm │ ├── CM Stars.helm │ ├── COA Ambient Metallic.helm │ ├── COA Broken Old Analog.helm │ ├── COA Crispy Pad Organ.helm │ ├── COA Digital Enigma.helm │ ├── COA Digital Wind Ensemble 1.helm │ ├── COA Digital Wind Ensemble 2.helm │ ├── COA Hard Brass Synth Ensemble.helm │ ├── COA Lofi Soft Pad 1.helm │ ├── COA Lofi Soft Pad 2.helm │ ├── COA Lofi Soft Pad 3.helm │ ├── COA Pulsating Pad.helm │ ├── COA Resonant Pad.helm │ ├── COA Sad Scifi Strings 1.helm │ ├── COA Sad Scifi Strings 2.helm │ ├── COA Sad Scifi Strings 3.helm │ ├── COA Scifi Interference.helm │ ├── COA Soft Neo Church Organ.helm │ ├── COA Soft Scifi Pad 1.helm │ ├── COA Soft Scifi Pad 2.helm │ ├── COA Soft Scifi Pad 3.helm │ ├── COA Soft Scifi Pad 4.helm │ ├── COA Soft Scifi Pad 5.helm │ ├── COA Soft Scifi Pad 6.helm │ ├── MT Chamber Chatter.helm │ ├── MT Electrobike Cruise.helm │ ├── MT Fluffy Landscape.helm │ ├── MT Hypnotizing Pulse.helm │ ├── MT Pulsing Daisies.helm │ ├── MT Stuck in the Basement.helm │ ├── MT Talk Radio.helm │ ├── MT Waiting for Takeoff.helm │ ├── MT Wandering Lost.helm │ ├── MT Watching the Clock.helm │ ├── SF Mandolin.helm │ ├── SF OSC 2.helm │ ├── SF Soft Pulse 1.helm │ └── SF Soft Pulse 2.helm │ ├── Percussion │ ├── CM House Pluck.helm │ ├── CM Lo-Fi Pluck.helm │ ├── COA Broken Digital Snare.helm │ ├── COA Cinematic Hit.helm │ ├── COA Closed Hat.helm │ ├── COA Dark Perc 1.helm │ ├── COA Dark Perc 2.helm │ ├── COA Electro Clsd HH.helm │ ├── COA Electro Crash Ride.helm │ ├── COA Electro Kick 1.helm │ ├── COA Electro Kick 2.helm │ ├── COA Electro Kick 3.helm │ ├── COA Electro Kick 4.helm │ ├── COA Electro Metal Perc 1.helm │ ├── COA Electro Metal Perc 2.helm │ ├── COA Electro Open HH.helm │ ├── COA Electro Semiopen HH.helm │ ├── COA Electro Tom 1.helm │ ├── COA Electro Tom 2.helm │ ├── COA Fat HH Clsd.helm │ ├── COA Kung Fu Crash.helm │ ├── COA Kung Fu Fight Crash.helm │ ├── COA Pluck Tom.helm │ ├── COA Toy Snare 1.helm │ ├── COA Toy Snare 2.helm │ ├── OZ Bass 1.helm │ ├── OZ Hat 1.helm │ ├── OZ Hat 2.helm │ ├── OZ Kick 1.helm │ ├── OZ Kick 2.helm │ ├── OZ Snare 1.helm │ ├── OZ Some Kind of Percussion.helm │ ├── OZ Some Kinda Dubby Cycle.helm │ ├── OZ Some Kinda Stab.helm │ ├── SF AD2 4 Toms.helm │ ├── SF Cowbell 1.helm │ ├── SF Cowbell 2.helm │ ├── SF HH High.helm │ ├── SF HH Low Eco 1.helm │ ├── SF HH Low Eco 2.helm │ ├── SF HH Low.helm │ ├── SF HH Silver.helm │ ├── SF Horse 1.helm │ ├── SF Horse 2.helm │ ├── SF Kick 1.helm │ ├── SF Kick 2.helm │ ├── SF Kick 3.helm │ ├── SF Nocky.helm │ ├── SF Snare 1.helm │ ├── SF Snare 2.helm │ ├── SF Snare 3.helm │ ├── SF Snare 4.helm │ ├── SF Snare Brush.helm │ ├── SF Tom 1.helm │ ├── SF Tom 2.helm │ ├── SF Tom 3.helm │ ├── SF Toms Nock 1.helm │ └── SF Toms Nock 2.helm │ └── SFX │ ├── CM Downfall.helm │ ├── CM Riser.helm │ ├── COA Alien Creature Crying.helm │ ├── COA Alien Radio Interferences.helm │ ├── COA Another Angry Robot.helm │ ├── COA Chiptune Automatic Gun 1.helm │ ├── COA Chiptune Automatic Gun 2.helm │ ├── COA Digital Cello Arp.helm │ ├── COA Digital Waterdrops.helm │ ├── COA Lasersword.helm │ ├── COA Satan in Your Headphones 1.helm │ ├── COA Satan in Your Headphones 2.helm │ ├── COA Scifi Gunshot.helm │ ├── COA Sinister Ambient 1.helm │ ├── COA Sinister Ambient 2.helm │ ├── MT Elven Door Stop.helm │ ├── MT Game Show Clock.helm │ ├── MT Glitch Power.helm │ ├── MT Powering On 1.helm │ ├── MT Powering On 2.helm │ ├── MT Pulse Alarm.helm │ ├── MT Rotary Slingshot.helm │ ├── SF Stutter Teeth.helm │ ├── SF Whistle 1.helm │ ├── SF Whistle 2.helm │ ├── SF Whistle 3.helm │ └── SF Wind.helm ├── src ├── common │ ├── border_bounds_constrainer.cpp │ ├── border_bounds_constrainer.h │ ├── file_list_box_model.cpp │ ├── file_list_box_model.h │ ├── helm_common.cpp │ ├── helm_common.h │ ├── load_save.cpp │ ├── load_save.h │ ├── midi_manager.cpp │ ├── midi_manager.h │ ├── startup.cpp │ ├── startup.h │ ├── synth_base.cpp │ ├── synth_base.h │ ├── synth_gui_interface.cpp │ └── synth_gui_interface.h ├── editor_components │ ├── bpm_slider.cpp │ ├── bpm_slider.h │ ├── filter_response.cpp │ ├── filter_response.h │ ├── filter_selector.cpp │ ├── filter_selector.h │ ├── formant_response.cpp │ ├── formant_response.h │ ├── global_tool_tip.cpp │ ├── global_tool_tip.h │ ├── graphical_envelope.cpp │ ├── graphical_envelope.h │ ├── graphical_step_sequencer.cpp │ ├── graphical_step_sequencer.h │ ├── midi_keyboard.cpp │ ├── midi_keyboard.h │ ├── modulation_button.cpp │ ├── modulation_button.h │ ├── modulation_highlight.cpp │ ├── modulation_highlight.h │ ├── modulation_meter.cpp │ ├── modulation_meter.h │ ├── modulation_slider.cpp │ ├── modulation_slider.h │ ├── open_gl_background.cpp │ ├── open_gl_background.h │ ├── open_gl_component.cpp │ ├── open_gl_component.h │ ├── open_gl_envelope.cpp │ ├── open_gl_envelope.h │ ├── open_gl_modulation_meter.cpp │ ├── open_gl_modulation_meter.h │ ├── open_gl_oscilloscope.cpp │ ├── open_gl_oscilloscope.h │ ├── open_gl_peak_meter.cpp │ ├── open_gl_peak_meter.h │ ├── open_gl_wave_viewer.cpp │ ├── open_gl_wave_viewer.h │ ├── oscilloscope.cpp │ ├── oscilloscope.h │ ├── overlay.h │ ├── patch_selector.cpp │ ├── patch_selector.h │ ├── retrigger_selector.cpp │ ├── retrigger_selector.h │ ├── synth_button.cpp │ ├── synth_button.h │ ├── synth_slider.cpp │ ├── synth_slider.h │ ├── tempo_selector.cpp │ ├── tempo_selector.h │ ├── text_selector.cpp │ ├── text_selector.h │ ├── text_slider.cpp │ ├── text_slider.h │ ├── wave_selector.cpp │ ├── wave_selector.h │ ├── wave_viewer.cpp │ ├── wave_viewer.h │ ├── xy_pad.cpp │ └── xy_pad.h ├── editor_sections │ ├── about_section.cpp │ ├── about_section.h │ ├── arp_section.cpp │ ├── arp_section.h │ ├── bpm_section.cpp │ ├── bpm_section.h │ ├── contribute_section.cpp │ ├── contribute_section.h │ ├── delay_section.cpp │ ├── delay_section.h │ ├── delete_section.cpp │ ├── delete_section.h │ ├── distortion_section.cpp │ ├── distortion_section.h │ ├── dynamic_section.cpp │ ├── dynamic_section.h │ ├── envelope_section.cpp │ ├── envelope_section.h │ ├── extra_mod_section.cpp │ ├── extra_mod_section.h │ ├── feedback_section.cpp │ ├── feedback_section.h │ ├── filter_section.cpp │ ├── filter_section.h │ ├── formant_section.cpp │ ├── formant_section.h │ ├── formant_tuner.cpp │ ├── formant_tuner.h │ ├── full_interface.cpp │ ├── full_interface.h │ ├── lfo_section.cpp │ ├── lfo_section.h │ ├── mixer_section.cpp │ ├── mixer_section.h │ ├── modulation_manager.cpp │ ├── modulation_manager.h │ ├── noise_section.cpp │ ├── noise_section.h │ ├── open_gl_modulation_manager.cpp │ ├── open_gl_modulation_manager.h │ ├── oscillator_section.cpp │ ├── oscillator_section.h │ ├── patch_browser.cpp │ ├── patch_browser.h │ ├── reverb_section.cpp │ ├── reverb_section.h │ ├── save_section.cpp │ ├── save_section.h │ ├── step_sequencer_section.cpp │ ├── step_sequencer_section.h │ ├── stutter_section.cpp │ ├── stutter_section.h │ ├── sub_section.cpp │ ├── sub_section.h │ ├── synth_section.cpp │ ├── synth_section.h │ ├── synthesis_interface.cpp │ ├── synthesis_interface.h │ ├── update_check_section.cpp │ ├── update_check_section.h │ ├── voice_section.cpp │ ├── voice_section.h │ ├── volume_section.cpp │ └── volume_section.h ├── look_and_feel │ ├── browser_look_and_feel.cpp │ ├── browser_look_and_feel.h │ ├── colors.cpp │ ├── colors.h │ ├── default_look_and_feel.cpp │ ├── default_look_and_feel.h │ ├── fonts.cpp │ ├── fonts.h │ ├── modulation_look_and_feel.cpp │ ├── modulation_look_and_feel.h │ ├── shaders.cpp │ ├── shaders.h │ ├── text_look_and_feel.cpp │ └── text_look_and_feel.h ├── plugin │ ├── helm_editor.cpp │ ├── helm_editor.h │ ├── helm_plugin.cpp │ ├── helm_plugin.h │ └── value_bridge.h ├── standalone │ ├── helm_computer_keyboard.cpp │ ├── helm_computer_keyboard.h │ ├── helm_editor.cpp │ ├── helm_editor.h │ └── main.cpp └── synthesis │ ├── dc_filter.cpp │ ├── dc_filter.h │ ├── detune_lookup.cpp │ ├── detune_lookup.h │ ├── fixed_point_oscillator.cpp │ ├── fixed_point_oscillator.h │ ├── fixed_point_wave.cpp │ ├── fixed_point_wave.h │ ├── gate.cpp │ ├── gate.h │ ├── helm_engine.cpp │ ├── helm_engine.h │ ├── helm_lfo.cpp │ ├── helm_lfo.h │ ├── helm_module.cpp │ ├── helm_module.h │ ├── helm_oscillators.cpp │ ├── helm_oscillators.h │ ├── helm_voice_handler.cpp │ ├── helm_voice_handler.h │ ├── noise_oscillator.cpp │ ├── noise_oscillator.h │ ├── peak_meter.cpp │ ├── peak_meter.h │ ├── resonance_cancel.cpp │ ├── resonance_cancel.h │ ├── trigger_random.cpp │ ├── trigger_random.h │ ├── value_switch.cpp │ └── value_switch.h └── standalone ├── JuceLibraryCode ├── AppConfig.h ├── BinaryData.cpp ├── BinaryData.h ├── JuceHeader.h ├── ReadMe.txt ├── include_juce_audio_basics.cpp ├── include_juce_audio_basics.mm ├── include_juce_audio_devices.cpp ├── include_juce_audio_devices.mm ├── include_juce_audio_formats.cpp ├── include_juce_audio_formats.mm ├── include_juce_audio_processors.cpp ├── include_juce_audio_processors.mm ├── include_juce_audio_utils.cpp ├── include_juce_audio_utils.mm ├── include_juce_core.cpp ├── include_juce_core.mm ├── include_juce_data_structures.cpp ├── include_juce_data_structures.mm ├── include_juce_events.cpp ├── include_juce_events.mm ├── include_juce_graphics.cpp ├── include_juce_graphics.mm ├── include_juce_gui_basics.cpp ├── include_juce_gui_basics.mm ├── include_juce_gui_extra.cpp ├── include_juce_gui_extra.mm ├── include_juce_opengl.cpp └── include_juce_opengl.mm ├── builds ├── linux │ └── Makefile ├── osx │ ├── Helm.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ ├── Icon.icns │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── helm_icon_128_1x.png │ │ │ ├── helm_icon_128_2x.png │ │ │ ├── helm_icon_16_1x.png │ │ │ ├── helm_icon_16_2x.png │ │ │ ├── helm_icon_256_1x.png │ │ │ ├── helm_icon_256_2x.png │ │ │ ├── helm_icon_32_1x.png │ │ │ ├── helm_icon_32_2x.png │ │ │ ├── helm_icon_512_1x.png │ │ │ └── helm_icon_512_2x.png │ ├── Info-App.plist │ ├── Info.plist │ └── RecentFilesMenuTemplate.nib └── vs17 │ ├── Helm.sln │ ├── Helm_App.vcxproj │ ├── Helm_App.vcxproj.filters │ └── resources.rc ├── helm.desktop └── helm.jucer /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .DS_Store? 3 | *.swp 4 | *.Trashes 5 | xcuserdata 6 | xcshareddata 7 | build 8 | .clang_complete 9 | .vs 10 | .ycm_extra_conf.py* 11 | *.pbxuser 12 | *.perspective 13 | *.perspectivev3 14 | *.sdf 15 | *.suo 16 | *.psess 17 | *.vsp 18 | *.tlog 19 | *.user 20 | *.app 21 | *.opendb 22 | *.opensdf 23 | *.component 24 | *.VST 25 | *.vst 26 | *.VST3 27 | *.vst3 28 | *.tar.gz 29 | Debug 30 | Release 31 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | compiler: g++ 3 | matrix: 4 | include: 5 | - os: linux 6 | addons: 7 | apt: 8 | sources: 9 | - ubuntu-toolchain-r-test 10 | packages: 11 | - g++-6 12 | env: 13 | - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" 14 | 15 | before_install: 16 | - > 17 | - sudo apt-get update -qq 18 | - eval "${MATRIX_EVAL}" 19 | - sudo apt-get install -y mesa-common-dev libasound2-dev libfreetype6-dev 20 | libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev 21 | freeglut3-dev libxcomposite-dev libjack-dev 22 | libcurl4-gnutls-dev g++-4.8 gcc-4.8 23 | script: 24 | - make CONFIG=Release 25 | after_success: 26 | -------------------------------------------------------------------------------- /JUCE/.gitignore: -------------------------------------------------------------------------------- 1 | ._* 2 | *.mode1v3 3 | *.pbxuser 4 | *.perspectivev3 5 | *.user 6 | *.ncb 7 | *.suo 8 | *.ilk 9 | *.pch 10 | *.pdb 11 | *.dep 12 | *.idb 13 | *.manifest 14 | *.manifest.res 15 | *.o 16 | *.d 17 | *.sdf 18 | *.opensdf 19 | *.VC.db 20 | *.VC.opendb 21 | xcuserdata 22 | *.xccheckout 23 | *.xcscmblueprint 24 | contents.xcworkspacedata 25 | .DS_Store 26 | .svn 27 | profile 28 | **/MacOSX/build 29 | **/iOS/build 30 | **/Linux/build 31 | **/LinuxMakefile/build 32 | **/VisualStudio2005/Debug 33 | **/VisualStudio2005/Release 34 | **/VisualStudio2008/Debug 35 | **/VisualStudio2008/Release 36 | **/VisualStudio2010/Debug 37 | **/VisualStudio2010/Release 38 | **/VisualStudio2012/Debug 39 | **/VisualStudio2012/Release 40 | **/VisualStudio2013/Win32 41 | **/VisualStudio2013/x64 42 | **/VisualStudio2015/Win32 43 | **/VisualStudio2015/x64 44 | **/VisualStudio2017/Win32 45 | **/VisualStudio2017/x64 46 | **/Builds/x64 47 | **/.vs 48 | **/CodeBlocks/bin 49 | **/CodeBlocks/obj 50 | **/CodeBlocks/*.depend 51 | **/CodeBlocks/*.layout 52 | **/Builds/Android/.gradle 53 | **/Builds/Android/local.properties 54 | **/Builds/Android/app/build 55 | **/Builds/Android/app/.externalNativeBuild 56 | **/Builds/Android/lib/build 57 | **/Builds/Android/lib/.externalNativeBuild 58 | **/doxygen/doc 59 | **/doxygen/build 60 | extras/Projucer/JUCECompileEngine.dylib 61 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_basics/juce_audio_basics.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | #include "juce_audio_basics.cpp" 24 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_devices/juce_audio_devices.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | #include "juce_audio_devices.cpp" 24 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/AUTHORS: -------------------------------------------------------------------------------- 1 | Monty 2 | 3 | and the rest of the Xiph.org Foundation. 4 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_formats/juce_audio_formats.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_audio_formats.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/AAX/juce_AAX_Modifier_Injector.h: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | namespace juce 28 | { 29 | 30 | #ifndef DOXYGEN 31 | 32 | struct ModifierKeyProvider 33 | { 34 | virtual ~ModifierKeyProvider() {} 35 | virtual int getWin32Modifiers() const = 0; 36 | }; 37 | 38 | struct ModifierKeyReceiver 39 | { 40 | virtual ~ModifierKeyReceiver() {} 41 | virtual void setModifierKeyProvider (ModifierKeyProvider*) = 0; 42 | virtual void removeModifierKeyProvider() = 0; 43 | }; 44 | 45 | #endif 46 | 47 | } // namespace juce 48 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/JUCE/modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/LV2/includes/instance-access.h: -------------------------------------------------------------------------------- 1 | /* 2 | LV2 Instance Access Extension 3 | Copyright 2008-2012 David Robillard 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | */ 17 | 18 | /** 19 | @defgroup instance-access Instance Access 20 | 21 | Access to the LV2_Handle of a plugin for UIs; see 22 | for details. 23 | 24 | @{ 25 | */ 26 | 27 | #ifndef LV2_INSTANCE_ACCESS_H 28 | #define LV2_INSTANCE_ACCESS_H 29 | 30 | #define LV2_INSTANCE_ACCESS_URI "http://lv2plug.in/ns/ext/instance-access" 31 | 32 | #endif /* LV2_INSTANCE_ACCESS_H */ 33 | 34 | /** 35 | @} 36 | */ 37 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/LV2/includes/presets.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2012 David Robillard 3 | 4 | Permission to use, copy, modify, and/or distribute this software for any 5 | purpose with or without fee is hereby granted, provided that the above 6 | copyright notice and this permission notice appear in all copies. 7 | 8 | THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | */ 16 | 17 | /** 18 | @defgroup presets Presets 19 | 20 | Presets for plugins, see for details. 21 | 22 | @{ 23 | */ 24 | 25 | #ifndef LV2_PRESETS_H 26 | #define LV2_PRESETS_H 27 | 28 | #define LV2_PRESETS_URI "http://lv2plug.in/ns/ext/presets" 29 | #define LV2_PRESETS_PREFIX LV2_PRESETS_URI "#" 30 | 31 | #define LV2_PRESETS__Preset LV2_PRESETS_PREFIX "Preset" 32 | #define LV2_PRESETS__preset LV2_PRESETS_PREFIX "preset" 33 | #define LV2_PRESETS__value LV2_PRESETS_PREFIX "value" 34 | 35 | #endif /* LV2_PRESETS_H */ 36 | 37 | /** 38 | @} 39 | */ 40 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | NewPlugIn @1 3 | _PI_GetRoutineDescriptor @2 4 | 5 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/JUCE/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "AAX/juce_AAX_Wrapper.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #define JUCE_INCLUDED_AAX_IN_MM 1 28 | #include "AAX/juce_AAX_Wrapper.cpp" 29 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "AU/juce_AU_Wrapper.mm" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "AU/juce_AUv3_Wrapper.mm" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS.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 | 8 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "RTAS/juce_RTAS_Wrapper.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "RTAS/juce_RTAS_DigiCode1.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "RTAS/juce_RTAS_DigiCode2.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "RTAS/juce_RTAS_DigiCode3.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "RTAS/juce_RTAS_WinUtilities.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "RTAS/juce_RTAS_MacUtilities.mm" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "VST/juce_VST_Wrapper.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "VST3/juce_VST3_Wrapper.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "VST/juce_VST_Wrapper.mm" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "utility/juce_PluginUtilities.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_processors/juce_audio_processors.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_audio_processors.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_audio_utils/juce_audio_utils.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_audio_utils.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/files/juce_FileFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | namespace juce 24 | { 25 | 26 | FileFilter::FileFilter (const String& filterDescription) 27 | : description (filterDescription) 28 | { 29 | } 30 | 31 | FileFilter::~FileFilter() 32 | { 33 | } 34 | 35 | const String& FileFilter::getDescription() const noexcept 36 | { 37 | return description; 38 | } 39 | 40 | } // namespace juce 41 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/juce_core.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | #include "juce_core.cpp" 24 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/misc/juce_RuntimePermissions.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | namespace juce 24 | { 25 | 26 | #if ! JUCE_ANDROID // We currently don't request runtime permissions on any other platform 27 | // than Android, so this file contains a dummy implementation for those. 28 | // This may change in the future. 29 | 30 | void RuntimePermissions::request (PermissionID, Callback callback) { callback (true); } 31 | bool RuntimePermissions::isRequired (PermissionID) { return false; } 32 | bool RuntimePermissions::isGranted (PermissionID) { return true; } 33 | 34 | #endif 35 | 36 | } // namespace juce 37 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/native/java/AndroidRuntimePermissions.java: -------------------------------------------------------------------------------- 1 | @Override 2 | public void onRequestPermissionsResult (int permissionID, String permissions[], int[] grantResults) 3 | { 4 | boolean permissionsGranted = (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED); 5 | 6 | if (! permissionsGranted) 7 | Log.d ("JUCE", "onRequestPermissionsResult: runtime permission was DENIED: " + getAndroidPermissionName (permissionID)); 8 | 9 | Long ptrToCallback = permissionCallbackPtrMap.get (permissionID); 10 | permissionCallbackPtrMap.remove (permissionID); 11 | androidRuntimePermissionsCallback (permissionsGranted, ptrToCallback); 12 | } 13 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/native/java/JuceFirebaseInstanceIdService.java: -------------------------------------------------------------------------------- 1 | package com.juce; 2 | 3 | import com.google.firebase.iid.*; 4 | 5 | public final class JuceFirebaseInstanceIdService extends FirebaseInstanceIdService 6 | { 7 | private native void firebaseInstanceIdTokenRefreshed (String token); 8 | 9 | @Override 10 | public void onTokenRefresh() 11 | { 12 | String token = FirebaseInstanceId.getInstance().getToken(); 13 | 14 | firebaseInstanceIdTokenRefreshed (token); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/native/java/JuceFirebaseMessagingService.java: -------------------------------------------------------------------------------- 1 | package com.juce; 2 | 3 | import com.google.firebase.messaging.*; 4 | 5 | public final class JuceFirebaseMessagingService extends FirebaseMessagingService 6 | { 7 | private native void firebaseRemoteMessageReceived (RemoteMessage message); 8 | private native void firebaseRemoteMessagesDeleted(); 9 | private native void firebaseRemoteMessageSent (String messageId); 10 | private native void firebaseRemoteMessageSendError (String messageId, String error); 11 | 12 | @Override 13 | public void onMessageReceived (RemoteMessage message) 14 | { 15 | firebaseRemoteMessageReceived (message); 16 | } 17 | 18 | @Override 19 | public void onDeletedMessages() 20 | { 21 | firebaseRemoteMessagesDeleted(); 22 | } 23 | 24 | @Override 25 | public void onMessageSent (String messageId) 26 | { 27 | firebaseRemoteMessageSent (messageId); 28 | } 29 | 30 | @Override 31 | public void onSendError (String messageId, Exception e) 32 | { 33 | firebaseRemoteMessageSendError (messageId, e.toString()); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/native/juce_android_Misc.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | namespace juce 24 | { 25 | 26 | void Logger::outputDebugString (const String& text) 27 | { 28 | __android_log_print (ANDROID_LOG_INFO, "JUCE", "%s", text.toUTF8().getAddress()); 29 | } 30 | 31 | } // namespace juce 32 | -------------------------------------------------------------------------------- /JUCE/modules/juce_core/native/juce_mac_ClangBugWorkaround.h: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | 24 | // This hack is a workaround for a bug (?) in Apple's 10.11 SDK headers 25 | // which cause some configurations of Clang to throw out a spurious error.. 26 | #if JUCE_PROJUCER_LIVE_BUILD && (defined (__APPLE_CPP__) || defined(__APPLE_CC__)) 27 | #include 28 | #undef CF_OPTIONS 29 | #define CF_OPTIONS(_type, _name) _type _name; enum 30 | 31 | // This is a workaround for the Xcode 9 version of NSUUID.h causing some errors 32 | // in the live-build engine. 33 | #define _Nullable 34 | #define _Nonnull 35 | #endif 36 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/modules/juce_data_structures/juce_data_structures.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_data_structures.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_dsp/juce_dsp.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_dsp.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_events/juce_events.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | #include "juce_events.cpp" 24 | -------------------------------------------------------------------------------- /JUCE/modules/juce_events/native/juce_win32_WinRTWrapper.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | The code included in this file is provided under the terms of the ISC license 11 | http://www.isc.org/downloads/software-support-policy/isc-license. Permission 12 | To use, copy, modify, and/or distribute this software for any purpose with or 13 | without fee is hereby granted provided that the above copyright notice and 14 | this permission notice appear in all copies. 15 | 16 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 17 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 18 | DISCLAIMED. 19 | 20 | ============================================================================== 21 | */ 22 | 23 | namespace juce 24 | { 25 | JUCE_IMPLEMENT_SINGLETON (WinRTWrapper) 26 | } 27 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/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 | -------------------------------------------------------------------------------- /JUCE/modules/juce_graphics/image_formats/pnglib/libpng_readme.txt: -------------------------------------------------------------------------------- 1 | 2 | These files are from the libpng library - http://www.libpng.org/ 3 | -------------------------------------------------------------------------------- /JUCE/modules/juce_graphics/juce_graphics.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_graphics.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_graphics/native/juce_android_IconHelpers.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | namespace juce 28 | { 29 | Image JUCE_API getIconFromApplication (const String&, int) { return {}; } 30 | } 31 | -------------------------------------------------------------------------------- /JUCE/modules/juce_graphics/native/juce_linux_IconHelpers.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | namespace juce 28 | { 29 | Image JUCE_API getIconFromApplication (const String&, int) { return {}; } 30 | } 31 | -------------------------------------------------------------------------------- /JUCE/modules/juce_graphics/native/juce_win32_IconHelpers.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | namespace juce 28 | { 29 | Image JUCE_API getIconFromApplication (const String&, int) { return {}; } 30 | } 31 | -------------------------------------------------------------------------------- /JUCE/modules/juce_gui_basics/juce_gui_basics.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_gui_basics.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_gui_basics/keyboard/juce_KeyListener.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | namespace juce 28 | { 29 | 30 | bool KeyListener::keyStateChanged (const bool, Component*) 31 | { 32 | return false; 33 | } 34 | 35 | } // namespace juce 36 | -------------------------------------------------------------------------------- /JUCE/modules/juce_gui_extra/juce_gui_extra.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_gui_extra.cpp" 28 | -------------------------------------------------------------------------------- /JUCE/modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | namespace juce 28 | { 29 | 30 | #if JUCE_WINDOWS || JUCE_LINUX || JUCE_MAC 31 | 32 | SystemTrayIconComponent::SystemTrayIconComponent() 33 | { 34 | addToDesktop (0); 35 | } 36 | 37 | SystemTrayIconComponent::~SystemTrayIconComponent() 38 | { 39 | } 40 | 41 | #endif 42 | 43 | } // namespace juce 44 | -------------------------------------------------------------------------------- /JUCE/modules/juce_opengl/juce_opengl.mm: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | 4 | This file is part of the JUCE library. 5 | Copyright (c) 2017 - ROLI Ltd. 6 | 7 | JUCE is an open source library subject to commercial or open-source 8 | licensing. 9 | 10 | By using JUCE, you agree to the terms of both the JUCE 5 End-User License 11 | Agreement and JUCE 5 Privacy Policy (both updated and effective as of the 12 | 27th April 2017). 13 | 14 | End User License Agreement: www.juce.com/juce-5-licence 15 | Privacy Policy: www.juce.com/juce-5-privacy-policy 16 | 17 | Or: You may also use this code under the terms of the GPL v3 (see 18 | www.gnu.org/licenses). 19 | 20 | JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER 21 | EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE 22 | DISCLAIMED. 23 | 24 | ============================================================================== 25 | */ 26 | 27 | #include "juce_opengl.cpp" 28 | -------------------------------------------------------------------------------- /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 Projucer, 6 | and ALL files in this folder will be mercilessly DELETED and completely re-written whenever 7 | the Projucer 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 Projucer has saved its changes). 13 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_basics.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_basics.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_devices.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_devices.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_formats.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_formats.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_AU.r: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS.r: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS_1.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS_2.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS_3.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS_4.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_processors.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_processors.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_utils.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_audio_utils.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_core.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_core.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_data_structures.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_data_structures.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_events.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_events.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_graphics.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_graphics.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_gui_basics.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_gui_basics.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_gui_extra.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_gui_extra.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_opengl.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /JuceLibraryCode/include_juce_opengl.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /VST3_SDK/cmake/modules/ExportedSymbols.cmake: -------------------------------------------------------------------------------- 1 | 2 | #------------------------------------------------------------------------------- 3 | # Exported Symbols 4 | #------------------------------------------------------------------------------- 5 | 6 | function(smtg_set_exported_symbols target exported_symbols_file) 7 | if(MSVC) 8 | set_target_properties(${target} PROPERTIES LINK_FLAGS "/DEF:\"${exported_symbols_file}\"") 9 | elseif(XCODE) 10 | set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_EXPORTED_SYMBOLS_FILE "${exported_symbols_file}") 11 | else() 12 | set_target_properties(${target} PROPERTIES LINK_FLAGS "-exported_symbols_list \"${exported_symbols_file}\"") 13 | endif() 14 | endfunction() 15 | -------------------------------------------------------------------------------- /VST3_SDK/cmake/modules/PlatformIOS.cmake: -------------------------------------------------------------------------------- 1 | 2 | #------------------------------------------------------------------------------- 3 | # Platform 4 | #------------------------------------------------------------------------------- 5 | 6 | function(smtg_set_platform_ios target) 7 | if(NOT MAC) 8 | message(FATAL_ERROR "smtg_set_platform_ios only works on macOS, use it in an if(MAC) block") 9 | endif() 10 | set_target_properties(${target} PROPERTIES OSX_ARCHITECTURES "armv7;arm64") 11 | set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "8.0") 12 | set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_SDKROOT "iphoneos8.0") 13 | endfunction() 14 | -------------------------------------------------------------------------------- /VST3_SDK/cmake/modules/PrefixHeader.cmake: -------------------------------------------------------------------------------- 1 | 2 | #------------------------------------------------------------------------------- 3 | # Prefix Header 4 | #------------------------------------------------------------------------------- 5 | 6 | function(smtg_set_prefix_header target header precompile) 7 | if(MSVC) 8 | elseif(XCODE) 9 | set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${header}") 10 | set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "${precompile}") 11 | else() 12 | target_compile_options(${target} PRIVATE -include "${header}") 13 | endif() 14 | endfunction() 15 | -------------------------------------------------------------------------------- /VST3_SDK/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VST3_SDK/pluginterfaces/base/falignpop.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : SDK Core 3 | // 4 | // Category : SDK Core Interfaces 5 | // Filename : pluginterfaces/base/falignpop.h 6 | // Created by : Steinberg, 01/2004 7 | // Description : Restore alignment settings 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | //--------------------------------------------------------------------------------------------------- 18 | #if TARGET_API_MAC_CARBON 19 | #if PLATFORM_64 20 | #pragma pack(pop) 21 | #else 22 | #pragma options align=reset 23 | #endif 24 | #elif defined __BORLANDC__ 25 | #pragma -a- 26 | #elif WINDOWS 27 | #pragma pack(pop) 28 | #endif 29 | //--------------------------------------------------------------------------------------------------- 30 | -------------------------------------------------------------------------------- /VST3_SDK/pluginterfaces/base/falignpush.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : SDK Core 3 | // 4 | // Category : SDK Core Interfaces 5 | // Filename : pluginterfaces/base/falignpush.h 6 | // Created by : Steinberg, 01/2004 7 | // Description : Set alignment settings 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | //---------------------------------------------------------------------------------------------- 18 | #if TARGET_API_MAC_CARBON 19 | #if PLATFORM_64 20 | #pragma pack(push, 16) 21 | #else 22 | #pragma options align=mac68k 23 | #endif 24 | #elif defined __BORLANDC__ 25 | #pragma -a8 26 | #elif WINDOWS 27 | #pragma pack(push) 28 | #if PLATFORM_64 29 | #pragma pack(16) 30 | #else 31 | #pragma pack(8) 32 | #endif 33 | #endif 34 | //---------------------------------------------------------------------------------------------- 35 | -------------------------------------------------------------------------------- /VST3_SDK/pluginterfaces/base/pluginbasefwd.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : SDK Base 3 | // 4 | // Category : SDK Core Interfaces 5 | // Filename : pluginterfaces/base/pluginbasefwd.h 6 | // Created by : Steinberg, 10/2014 7 | // Description : Forward declarations for pluginterfaces base module 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | 21 | class FUnknown; 22 | class FUID; 23 | 24 | template class IPtr; 25 | 26 | class ICloneable; 27 | class IDependent; 28 | class IUpdateHandler; 29 | 30 | class IBStream; 31 | 32 | } // Steinberg 33 | -------------------------------------------------------------------------------- /VST3_SDK/pluginterfaces/vst/vstpshpack4.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // Version : 3.6.7 4 | // 5 | // Category : Interfaces 6 | // Filename : pluginterfaces/vst/vstpshpack4.h 7 | // Created by : Steinberg, 05/2010 8 | // Description : This file turns 4 Bytes packing of structures on. The file 9 | // pluginterfaces/base/falignpop.h is the complement to this file. 10 | // 11 | //----------------------------------------------------------------------------- 12 | // This file is part of a Steinberg SDK. It is subject to the license terms 13 | // in the LICENSE file found in the top-level directory of this distribution 14 | // and at www.steinberg.net/sdklicenses. 15 | // No part of the SDK, including this file, may be copied, modified, propagated, 16 | // or distributed except according to the terms contained in the LICENSE file. 17 | //----------------------------------------------------------------------------- 18 | 19 | #pragma once 20 | 21 | //---------------------------------------------------------------------------------------------- 22 | #if defined __BORLANDC__ 23 | #pragma -a4 24 | #else 25 | #if (_MSC_VER >= 800 && !defined(_M_I86)) || defined(_PUSHPOP_SUPPORTED) 26 | #pragma warning(disable:4103) 27 | #endif 28 | 29 | #pragma pack(push) 30 | #pragma pack(4) 31 | #endif 32 | -------------------------------------------------------------------------------- /VST3_SDK/public.sdk/source/main/macexport.exp: -------------------------------------------------------------------------------- 1 | _GetPluginFactory 2 | _bundleEntry 3 | _bundleExit 4 | -------------------------------------------------------------------------------- /VST3_SDK/public.sdk/source/main/winexport.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | GetPluginFactory 3 | InitDll 4 | ExitDll 5 | -------------------------------------------------------------------------------- /VST3_SDK/public.sdk/source/vst/auwrapper/generateCocoaClassNamePrefix.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | 3 | require 'time' 4 | 5 | cocoaClassPrefixDir=ARGV[0] 6 | 7 | cocoaClassPrefixDir = ARGV[0] 8 | if cocoaClassPrefixDir == nil 9 | $stdout << "Cannot resolve output directory\n" 10 | exit(-1) 11 | end 12 | 13 | $stdout << "Generating new class prefix for Objective-C classes in #{cocoaClassPrefixDir}\n" 14 | File.open("#{cocoaClassPrefixDir}/aucocoaclassprefix.h", "w+") do |stream| 15 | 16 | t = Time.now.to_i 17 | t.round 18 | id = t.to_s 19 | stream << "#define SMTG_AU_NAMESPACE\t" 20 | stream << "SMTGAUCocoa#{id}_\n" 21 | 22 | end 23 | 24 | -------------------------------------------------------------------------------- /VST3_SDK/public.sdk/source/vst/interappaudio/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(MAC AND XCODE AND IOS_DEVELOPMENT_TEAM) 2 | set(target interappaudio) 3 | 4 | set(${target}_sources 5 | AudioIO.mm 6 | AudioIO.h 7 | HostApp.mm 8 | HostApp.h 9 | MidiIO.mm 10 | MidiIO.h 11 | PresetBrowserViewController.mm 12 | PresetBrowserViewController.h 13 | PresetManager.mm 14 | PresetManager.h 15 | PresetSaveViewController.mm 16 | PresetSaveViewController.h 17 | SettingsViewController.mm 18 | SettingsViewController.h 19 | VST3Editor.mm 20 | VST3Editor.h 21 | VST3Plugin.mm 22 | VST3Plugin.h 23 | VSTInterAppAudioAppDelegateBase.mm 24 | VSTInterAppAudioAppDelegateBase.h 25 | ) 26 | add_library(${target} STATIC ${${target}_sources}) 27 | smtg_set_platform_ios(${target}) 28 | target_link_libraries(${target} PRIVATE sdk_ios "-framework CoreGraphics" "-framework UIKit" "-framework CoreMIDI" "-framework AudioToolbox" "-framework AVFoundation") 29 | endif() 30 | -------------------------------------------------------------------------------- /builds/linux/LV2/.gitignore: -------------------------------------------------------------------------------- 1 | helm.lv2 2 | lv2_ttl_generator 3 | -------------------------------------------------------------------------------- /builds/linux/LV2/Makefile: -------------------------------------------------------------------------------- 1 | ifndef CONFIG 2 | CONFIG=Release 3 | endif 4 | 5 | all: binary ttl_generator lv2 6 | 7 | binary: 8 | $(MAKE) -f Makefile.binary CONFIG=$(CONFIG) DEBCXXFLAGS="$(DEBCXXFLAGS)" DEBLDFLAGS="$(DEBLDFLAGS)" 9 | 10 | ttl_generator: 11 | $(MAKE) -f Makefile.ttl_generator CONFIG=$(CONFIG) 12 | 13 | lv2: ttl_generator binary 14 | ./lv2_ttl_generator build/helm.so 15 | mkdir -p helm.lv2 16 | cp build/helm.so helm.lv2 17 | mv *.ttl helm.lv2 18 | 19 | clean: 20 | $(MAKE) clean CONFIG=$(CONFIG) -f Makefile.binary 21 | $(MAKE) clean CONFIG=$(CONFIG) -f Makefile.ttl_generator 22 | rm -rf build 23 | rm -rf helm.lv2 24 | -------------------------------------------------------------------------------- /builds/linux/LV2/Makefile.ttl_generator: -------------------------------------------------------------------------------- 1 | #!/usr/bin/makefile -f 2 | 3 | all: build 4 | 5 | build: lv2_ttl_generator 6 | 7 | lv2_ttl_generator: lv2_ttl_generator.c 8 | $(CXX) lv2_ttl_generator.c -o lv2_ttl_generator -ldl 9 | 10 | clean: 11 | rm -f lv2_ttl_generator 12 | -------------------------------------------------------------------------------- /builds/osx/Helm.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /builds/osx/Helm.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /builds/osx/Icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/builds/osx/Icon.icns -------------------------------------------------------------------------------- /builds/osx/Info-AAX.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | NSAppTransportSecurity 7 | 8 | NSExceptionDomains 9 | 10 | tytel.org 11 | 12 | NSIncludeSubDomains 13 | 14 | NSTemporaryExceptionAllowsInsecureHTTPLoads 15 | 16 | NSTemporaryExceptionMinimumTLSVersion 17 | TLSv1.1 18 | 19 | 20 | 21 | CFBundleExecutable 22 | ${EXECUTABLE_NAME} 23 | CFBundleIconFile 24 | Icon.icns 25 | CFBundleIdentifier 26 | $(PRODUCT_BUNDLE_IDENTIFIER) 27 | CFBundleName 28 | HelmPlugin 29 | CFBundleDisplayName 30 | HelmPlugin 31 | CFBundlePackageType 32 | TDMw 33 | CFBundleSignature 34 | PTul 35 | CFBundleShortVersionString 36 | 0.9.0 37 | CFBundleVersion 38 | 0.9.0 39 | NSHumanReadableCopyright 40 | Matt Tytel 41 | NSHighResolutionCapable 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /builds/osx/Info-AUv3_Standalone.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | NSAppTransportSecurity 7 | 8 | NSExceptionDomains 9 | 10 | tytel.org 11 | 12 | NSIncludeSubDomains 13 | 14 | NSTemporaryExceptionAllowsInsecureHTTPLoads 15 | 16 | NSTemporaryExceptionMinimumTLSVersion 17 | TLSv1.1 18 | 19 | 20 | 21 | CFBundleExecutable 22 | ${EXECUTABLE_NAME} 23 | CFBundleIconFile 24 | 25 | CFBundleIdentifier 26 | $(PRODUCT_BUNDLE_IDENTIFIER) 27 | CFBundleName 28 | HelmPlugin 29 | CFBundleDisplayName 30 | HelmPlugin 31 | CFBundlePackageType 32 | APPL 33 | CFBundleSignature 34 | ???? 35 | CFBundleShortVersionString 36 | 0.9.0 37 | CFBundleVersion 38 | 0.9.0 39 | NSHumanReadableCopyright 40 | Matt Tytel 41 | NSHighResolutionCapable 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /builds/osx/Info-VST.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | NSAppTransportSecurity 7 | 8 | NSExceptionDomains 9 | 10 | tytel.org 11 | 12 | NSIncludeSubDomains 13 | 14 | NSTemporaryExceptionAllowsInsecureHTTPLoads 15 | 16 | NSTemporaryExceptionMinimumTLSVersion 17 | TLSv1.1 18 | 19 | 20 | 21 | CFBundleExecutable 22 | ${EXECUTABLE_NAME} 23 | CFBundleIconFile 24 | Icon.icns 25 | CFBundleIdentifier 26 | org.tytel.helmplugin 27 | CFBundleName 28 | Helm 29 | CFBundleDisplayName 30 | Helm 31 | CFBundlePackageType 32 | BNDL 33 | CFBundleSignature 34 | ???? 35 | CFBundleShortVersionString 36 | 0.9.0 37 | CFBundleVersion 38 | 0.9.0 39 | NSHumanReadableCopyright 40 | 41 | NSHighResolutionCapable 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /builds/osx/Info-VST3.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | NSAppTransportSecurity 7 | 8 | NSExceptionDomains 9 | 10 | tytel.org 11 | 12 | NSIncludeSubDomains 13 | 14 | NSTemporaryExceptionAllowsInsecureHTTPLoads 15 | 16 | NSTemporaryExceptionMinimumTLSVersion 17 | TLSv1.1 18 | 19 | 20 | 21 | CFBundleExecutable 22 | ${EXECUTABLE_NAME} 23 | CFBundleIconFile 24 | Icon.icns 25 | CFBundleIdentifier 26 | org.tytel.helmplugin 27 | CFBundleName 28 | Helm 29 | CFBundleDisplayName 30 | Helm 31 | CFBundlePackageType 32 | BNDL 33 | CFBundleSignature 34 | ???? 35 | CFBundleShortVersionString 36 | 0.9.0 37 | CFBundleVersion 38 | 0.9.0 39 | NSHumanReadableCopyright 40 | 41 | NSHighResolutionCapable 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /builds/osx/RecentFilesMenuTemplate.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/builds/osx/RecentFilesMenuTemplate.nib -------------------------------------------------------------------------------- /builds/vs17/Helm_VST.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} 7 | 8 | 9 | 10 | 11 | JUCE Library Code 12 | 13 | 14 | 15 | 16 | 17 | JUCE Library Code 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /builds/vs17/Helm_VST3.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} 7 | 8 | 9 | 10 | 11 | JUCE Library Code 12 | 13 | 14 | 15 | 16 | 17 | JUCE Library Code 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /builds/vs17/resources.rc: -------------------------------------------------------------------------------- 1 | #ifdef JUCE_USER_DEFINED_RC_FILE 2 | #include JUCE_USER_DEFINED_RC_FILE 3 | #else 4 | 5 | #undef WIN32_LEAN_AND_MEAN 6 | #define WIN32_LEAN_AND_MEAN 7 | #include 8 | 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION 0,9,0,0 11 | BEGIN 12 | BLOCK "StringFileInfo" 13 | BEGIN 14 | BLOCK "040904E4" 15 | BEGIN 16 | VALUE "CompanyName", "Matt Tytel\0" 17 | VALUE "FileDescription", "Helm\0" 18 | VALUE "FileVersion", "0.9.0\0" 19 | VALUE "ProductName", "Helm\0" 20 | VALUE "ProductVersion", "0.9.0\0" 21 | END 22 | END 23 | 24 | BLOCK "VarFileInfo" 25 | BEGIN 26 | VALUE "Translation", 0x409, 1252 27 | END 28 | END 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /configure: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | -------------------------------------------------------------------------------- /docs/helm.1.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/docs/helm.1.gz -------------------------------------------------------------------------------- /docs/helm_manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/docs/helm_manual.pdf -------------------------------------------------------------------------------- /docs/thank_you.txt: -------------------------------------------------------------------------------- 1 | Thank you SO much for supporting Helm! 2 | People like you make this developing worth while. 3 | -------------------------------------------------------------------------------- /fonts/DroidSansMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/fonts/DroidSansMono.ttf -------------------------------------------------------------------------------- /fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /fonts/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/fonts/Roboto-Thin.ttf -------------------------------------------------------------------------------- /images/helm_icon_128_1x.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_128_1x.ico -------------------------------------------------------------------------------- /images/helm_icon_128_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_128_1x.png -------------------------------------------------------------------------------- /images/helm_icon_128_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_128_2x.png -------------------------------------------------------------------------------- /images/helm_icon_16_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_16_1x.png -------------------------------------------------------------------------------- /images/helm_icon_16_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_16_2x.png -------------------------------------------------------------------------------- /images/helm_icon_22_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_22_1x.png -------------------------------------------------------------------------------- /images/helm_icon_24_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_24_1x.png -------------------------------------------------------------------------------- /images/helm_icon_256_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_256_1x.png -------------------------------------------------------------------------------- /images/helm_icon_256_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_256_2x.png -------------------------------------------------------------------------------- /images/helm_icon_32_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_32_1x.png -------------------------------------------------------------------------------- /images/helm_icon_32_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_32_2x.png -------------------------------------------------------------------------------- /images/helm_icon_48_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_48_1x.png -------------------------------------------------------------------------------- /images/helm_icon_512_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_512_1x.png -------------------------------------------------------------------------------- /images/helm_icon_512_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/helm_icon_512_2x.png -------------------------------------------------------------------------------- /images/modulation_selected_active_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_selected_active_1x.png -------------------------------------------------------------------------------- /images/modulation_selected_active_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_selected_active_2x.png -------------------------------------------------------------------------------- /images/modulation_selected_inactive_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_selected_inactive_1x.png -------------------------------------------------------------------------------- /images/modulation_selected_inactive_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_selected_inactive_2x.png -------------------------------------------------------------------------------- /images/modulation_unselected_active_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_unselected_active_1x.png -------------------------------------------------------------------------------- /images/modulation_unselected_active_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_unselected_active_2x.png -------------------------------------------------------------------------------- /images/modulation_unselected_inactive_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_unselected_inactive_1x.png -------------------------------------------------------------------------------- /images/modulation_unselected_inactive_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/images/modulation_unselected_inactive_2x.png -------------------------------------------------------------------------------- /mopo/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | 6 | # Compiled Dynamic libraries 7 | *.so 8 | *.dylib 9 | 10 | # Compiled Static libraries 11 | *.lai 12 | *.la 13 | *.a 14 | 15 | # Executables 16 | mopo_test 17 | a.out 18 | 19 | # Autotools 20 | ar-lib 21 | *.in 22 | *.la 23 | *.lo 24 | *~ 25 | .deps/ 26 | .libs/ 27 | Makefile 28 | aclocal.m4 29 | autom4te.cache 30 | autoscan.log 31 | compile 32 | config.guess 33 | config.h 34 | config.log 35 | config.status 36 | config.sub 37 | configure 38 | depcomp 39 | install-sh 40 | libtool 41 | ltmain.sh 42 | missing 43 | stamp* 44 | *.tar.gz 45 | -------------------------------------------------------------------------------- /mopo/AUTHORS: -------------------------------------------------------------------------------- 1 | Little IO 2 | Matt Tytel 3 | -------------------------------------------------------------------------------- /mopo/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/mopo/ChangeLog -------------------------------------------------------------------------------- /mopo/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = src 2 | -------------------------------------------------------------------------------- /mopo/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/mopo/NEWS -------------------------------------------------------------------------------- /mopo/README: -------------------------------------------------------------------------------- 1 | mopo: MOdular and POlyphonic synthesis library. 2 | ----------------------------- 3 | 4 | mopo is an audio synthesis library aimed at creating modular polyphonic synthesizers. 5 | -------------------------------------------------------------------------------- /mopo/configure.ac: -------------------------------------------------------------------------------- 1 | # -*- Autoconf -*- 2 | # Process this file with autoconf to produce a configure script. 3 | 4 | AC_PREREQ([2.68]) 5 | AC_CONFIG_MACRO_DIR([m4]) 6 | AC_INIT([mopo], [0.1], [littleioaudio@gmail.com]) 7 | AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 8 | AM_SILENT_RULES(yes) 9 | AC_CONFIG_SRCDIR([src/delay.cpp]) 10 | 11 | # Checks for programs. 12 | AC_PROG_CXX 13 | AC_PROG_CC 14 | AC_PROG_RANLIB 15 | AC_PROG_CXXCPP 16 | AM_PROG_AR 17 | AX_CXX_COMPILE_STDCXX_11([noext], [mandatory]) 18 | 19 | # Checks for libraries. 20 | AC_CHECK_LIB([pthread], [pthread_create]) 21 | 22 | # Checks for header files. 23 | AC_CHECK_HEADERS([limits.h stddef.h stdlib.h string.h strings.h unistd.h]) 24 | 25 | # Checks for typedefs, structures, and compiler characteristics. 26 | AC_C_INLINE 27 | AC_C_RESTRICT 28 | AC_TYPE_SIZE_T 29 | AC_CHECK_TYPES([ptrdiff_t]) 30 | 31 | # Checks for library functions. 32 | AC_FUNC_FORK 33 | AC_FUNC_MALLOC 34 | AC_CHECK_FUNCS([dup2 memset modf pow rmdir strcasecmp strchr strdup strerror]) 35 | 36 | AC_CONFIG_FILES([Makefile 37 | src/Makefile]) 38 | AC_OUTPUT 39 | -------------------------------------------------------------------------------- /mopo/src/alias.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "alias.h" 18 | 19 | namespace mopo { 20 | 21 | Alias::Alias() : Processor(Alias::kNumInputs, 1), 22 | current_sample_(0.0), static_samples_(0.0) { } 23 | 24 | void Alias::process() { 25 | MOPO_ASSERT(inputMatchesBufferSize(kAudio)); 26 | MOPO_ASSERT(inputMatchesBufferSize(kWet)); 27 | MOPO_ASSERT(inputMatchesBufferSize(kFrequency)); 28 | 29 | for (int i = 0; i < buffer_size_; ++i) 30 | tick(i); 31 | } 32 | } // namespace mopo 33 | -------------------------------------------------------------------------------- /mopo/src/bit_crush.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "bit_crush.h" 18 | 19 | #include 20 | 21 | namespace mopo { 22 | 23 | BitCrush::BitCrush() : Processor(BitCrush::kNumInputs, 1), 24 | magnification_(0.0) { } 25 | 26 | void BitCrush::process() { 27 | MOPO_ASSERT(inputMatchesBufferSize(kAudio)); 28 | MOPO_ASSERT(inputMatchesBufferSize(kWet)); 29 | 30 | mopo_float bits = input(kBits)->at(0); 31 | magnification_ = pow(2.0, bits / 2.0); 32 | 33 | for (int i = 0; i < buffer_size_; ++i) 34 | tick(i); 35 | } 36 | } // namespace mopo 37 | -------------------------------------------------------------------------------- /mopo/src/bypass_router.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "bypass_router.h" 18 | 19 | namespace mopo { 20 | 21 | BypassRouter::BypassRouter(int num_inputs, int num_outputs) : 22 | ProcessorRouter(num_inputs, num_outputs) { } 23 | 24 | void BypassRouter::process() { 25 | MOPO_ASSERT(inputMatchesBufferSize(kAudio)); 26 | 27 | mopo_float should_process = input(kOn)->at(0); 28 | if (should_process) 29 | ProcessorRouter::process(); 30 | else { 31 | for (int i = 0; i < numOutputs(); ++i) 32 | utils::copyBuffer(output(i)->buffer, input(kAudio)->source->buffer, buffer_size_); 33 | } 34 | } 35 | } // namespace mopo 36 | -------------------------------------------------------------------------------- /mopo/src/bypass_router.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef BYPASS_ROUTER_H 19 | #define BYPASS_ROUTER_H 20 | 21 | #include "processor_router.h" 22 | 23 | namespace mopo { 24 | 25 | class BypassRouter : public ProcessorRouter { 26 | public: 27 | enum Inputs { 28 | kAudio, 29 | kOn, 30 | kNumInputs 31 | }; 32 | 33 | BypassRouter(int num_inputs = kNumInputs, int num_outputs = 0); 34 | 35 | virtual Processor* clone() const override { 36 | return new BypassRouter(*this); 37 | } 38 | 39 | void process() override; 40 | }; 41 | } // namespace mopo 42 | 43 | #endif // BYPASS_ROUTER_H 44 | -------------------------------------------------------------------------------- /mopo/src/feedback.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "feedback.h" 18 | 19 | #include "processor_router.h" 20 | 21 | namespace mopo { 22 | 23 | void Feedback::process() { 24 | MOPO_ASSERT(inputMatchesBufferSize()); 25 | 26 | refreshOutput(); 27 | 28 | if (control_rate_) 29 | buffer_[0] = input(0)->at(0); 30 | else 31 | utils::copyBuffer(buffer_, input(0)->source->buffer, buffer_size_); 32 | } 33 | 34 | void Feedback::refreshOutput() { 35 | if (control_rate_) 36 | output(0)->buffer[0] = buffer_[0]; 37 | else 38 | utils::copyBuffer(output(0)->buffer, buffer_, MAX_BUFFER_SIZE); 39 | } 40 | } // namespace mopo 41 | -------------------------------------------------------------------------------- /mopo/src/linear_slope.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef LINEAR_SLOPE_H 19 | #define LINEAR_SLOPE_H 20 | 21 | #include "value.h" 22 | 23 | namespace mopo { 24 | 25 | // A processor that will slope to the target value over a given amount of 26 | // time. Useful for portamento or smoothing out values. 27 | class LinearSlope : public Processor { 28 | public: 29 | enum Inputs { 30 | kTarget, 31 | kRunSeconds, 32 | kTriggerJump, 33 | kNumInputs 34 | }; 35 | 36 | LinearSlope(); 37 | virtual ~LinearSlope() { } 38 | 39 | virtual Processor* clone() const override { 40 | return new LinearSlope(*this); 41 | } 42 | 43 | virtual void process() override; 44 | void tick(int i); 45 | 46 | private: 47 | mopo_float last_value_; 48 | }; 49 | } // namespace mopo 50 | 51 | #endif // LINEAR_SLOPE_H 52 | -------------------------------------------------------------------------------- /mopo/src/magnitude_lookup.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "magnitude_lookup.h" 18 | 19 | namespace mopo { 20 | 21 | const MagnitudeLookupSingleton MagnitudeLookup::lookup_; 22 | } // namespace mopo 23 | -------------------------------------------------------------------------------- /mopo/src/memory.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "memory.h" 18 | #include "utils.h" 19 | 20 | #include 21 | #include 22 | 23 | namespace mopo { 24 | 25 | Memory::Memory(int size) : offset_(0) { 26 | size_ = utils::nextPowerOfTwo(size); 27 | bitmask_ = size_ - 1; 28 | memory_ = new mopo_float[size_]; 29 | utils::zeroBuffer(memory_, size_); 30 | } 31 | 32 | Memory::Memory(const Memory& other) { 33 | this->memory_ = new mopo_float[other.size_]; 34 | utils::zeroBuffer(this->memory_, other.size_); 35 | this->size_ = other.size_; 36 | this->bitmask_ = other.bitmask_; 37 | this->offset_ = other.offset_; 38 | } 39 | 40 | Memory::~Memory() { 41 | delete memory_; 42 | } 43 | } // namespace mopo 44 | -------------------------------------------------------------------------------- /mopo/src/midi_lookup.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "midi_lookup.h" 18 | 19 | namespace mopo { 20 | 21 | const MidiLookupSingleton MidiLookup::lookup_; 22 | } // namespace mopo 23 | -------------------------------------------------------------------------------- /mopo/src/note_handler.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef NOTE_HANDLER_H 19 | #define NOTE_HANDLER_H 20 | 21 | #include "common.h" 22 | 23 | namespace mopo { 24 | 25 | class NoteHandler { 26 | public: 27 | virtual ~NoteHandler() { } 28 | virtual void allNotesOff(int sample = 0) = 0; 29 | virtual void noteOn(mopo_float note, mopo_float velocity = 1, 30 | int sample = 0, int channel = 0) = 0; 31 | virtual VoiceEvent noteOff(mopo_float note, int sample = 0) = 0; 32 | }; 33 | } // namespace mopo 34 | 35 | #endif // NOTE_HANDLER_H 36 | -------------------------------------------------------------------------------- /mopo/src/resonance_lookup.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "resonance_lookup.h" 18 | 19 | namespace mopo { 20 | 21 | const ResonanceLookupSingleton ResonanceLookup::lookup_; 22 | } // namespace mopo 23 | -------------------------------------------------------------------------------- /mopo/src/sample_decay_lookup.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "sample_decay_lookup.h" 18 | 19 | namespace mopo { 20 | 21 | const SampleDecayLookupSingleton SampleDecayLookup::lookup_; 22 | } // namespace mopo 23 | -------------------------------------------------------------------------------- /mopo/src/tick_router.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef TICK_ROUTER_H 19 | #define TICK_ROUTER_H 20 | 21 | #include "processor_router.h" 22 | 23 | namespace mopo { 24 | 25 | class TickRouter : public ProcessorRouter { 26 | public: 27 | TickRouter(int num_inputs = 0, int num_outputs = 0) : 28 | ProcessorRouter(num_inputs, num_outputs) { } 29 | 30 | virtual void process() override = 0; 31 | virtual void tick(int i) = 0; 32 | }; 33 | } // namespace mopo 34 | 35 | #endif // PROCESSOR_ROUTER_H 36 | -------------------------------------------------------------------------------- /patches/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .DS_Store? 3 | -------------------------------------------------------------------------------- /src/common/border_bounds_constrainer.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef BORDER_BOUNDS_CONSTRAINER_H 19 | #define BORDER_BOUNDS_CONSTRAINER_H 20 | 21 | #include "JuceHeader.h" 22 | #include "delete_section.h" 23 | 24 | class BorderBoundsConstrainer : public ComponentBoundsConstrainer { 25 | public: 26 | BorderBoundsConstrainer() : ComponentBoundsConstrainer() { } 27 | 28 | virtual void checkBounds(Rectangle& bounds, const Rectangle& previous, 29 | const Rectangle& limits, 30 | bool stretching_top, bool stretching_left, 31 | bool stretching_bottom, bool stretching_right) override; 32 | 33 | void setBorder(BorderSize border) { border_ = border; } 34 | 35 | protected: 36 | BorderSize border_; 37 | }; 38 | 39 | #endif // BORDER_BOUNDS_CONSTRAINER_H 40 | -------------------------------------------------------------------------------- /src/common/startup.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef STARTUP_H 18 | #define STARTUP_H 19 | 20 | #include "JuceHeader.h" 21 | 22 | #include 23 | 24 | class SynthBase; 25 | 26 | namespace mopo { 27 | class StringLayout; 28 | } 29 | 30 | class MidiManager; 31 | 32 | class Startup { 33 | public: 34 | static void doStartupChecks(MidiManager* midi_manager, 35 | mopo::StringLayout* layout = nullptr); 36 | static bool isFirstStartup(); 37 | static void storeOldFactoryPatches(); 38 | static void copyFactoryPatches(); 39 | static void fixPatchesFolder(); 40 | static void updateAllPatches(SynthBase* synth, 41 | std::map* gui_state, 42 | const CriticalSection& critical_section); 43 | }; 44 | 45 | #endif // STARTUP_H 46 | -------------------------------------------------------------------------------- /src/editor_components/bpm_slider.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #include "bpm_slider.h" 18 | #include "synth_gui_interface.h" 19 | 20 | #define FRAMES_PER_SECOND 24 21 | 22 | BpmSlider::BpmSlider(String name) : SynthSlider(name) { 23 | startTimerHz(FRAMES_PER_SECOND); 24 | } 25 | 26 | void BpmSlider::timerCallback() { 27 | SynthGuiInterface* parent = findParentComponentOfClass(); 28 | if (parent == nullptr || parent->getAudioDeviceManager()) { 29 | stopTimer(); 30 | return; 31 | } 32 | 33 | double bpm = parent->getControlValue(getName().toStdString()); 34 | if (getValue() != bpm) 35 | setValue(bpm, NotificationType::dontSendNotification); 36 | } 37 | -------------------------------------------------------------------------------- /src/editor_components/bpm_slider.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef BPM_SLIDER_H 18 | #define BPM_SLIDER_H 19 | 20 | #include "JuceHeader.h" 21 | #include "synth_slider.h" 22 | 23 | class BpmSlider : public SynthSlider, public Timer { 24 | public: 25 | BpmSlider(String name); 26 | 27 | void timerCallback() override; 28 | 29 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(BpmSlider) 30 | }; 31 | 32 | #endif // SYNTH_SLIDER_H 33 | -------------------------------------------------------------------------------- /src/editor_components/global_tool_tip.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef GLOBAL_TOOL_TIP_H 19 | #define GLOBAL_TOOL_TIP_H 20 | 21 | #include "JuceHeader.h" 22 | 23 | class GlobalToolTip : public Component, public Timer { 24 | public: 25 | GlobalToolTip(); 26 | ~GlobalToolTip(); 27 | 28 | void setText(String parameter, String value); 29 | void timerCallback() override; 30 | void paint(Graphics& g) override; 31 | 32 | private: 33 | String shown_parameter_text_; 34 | String shown_value_text_; 35 | String parameter_text_; 36 | String value_text_; 37 | int64 time_updated_; 38 | 39 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(GlobalToolTip) 40 | }; 41 | 42 | #endif // GLOBAL_TOOL_TIP_H 43 | -------------------------------------------------------------------------------- /src/editor_components/midi_keyboard.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef MIDI_KEYBOARD_H 19 | #define MIDI_KEYBOARD_H 20 | 21 | #include "JuceHeader.h" 22 | 23 | class MidiKeyboard : public MidiKeyboardComponent { 24 | public: 25 | MidiKeyboard(MidiKeyboardState& state, Orientation orientation); 26 | 27 | virtual void drawBlackNote(int midiNoteNumber, Graphics& g, 28 | Rectangle area, 29 | bool isDown, bool isOver, 30 | Colour noteFillColour) override; 31 | 32 | private: 33 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(MidiKeyboard) 34 | }; 35 | 36 | #endif // MODULATION_BUTTON_H 37 | -------------------------------------------------------------------------------- /src/editor_components/modulation_highlight.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #include "modulation_highlight.h" 18 | 19 | ModulationHighlight::ModulationHighlight() { 20 | setInterceptsMouseClicks(false, false); 21 | } 22 | 23 | ModulationHighlight::~ModulationHighlight() { 24 | } 25 | 26 | void ModulationHighlight::paint(Graphics& g) { 27 | g.setColour(Colour(0x44ffffff)); 28 | g.fillEllipse(1, 2, getWidth() - 2, getHeight() - 2); 29 | } 30 | 31 | void ModulationHighlight::resized() { 32 | Component::resized(); 33 | repaint(); 34 | } 35 | -------------------------------------------------------------------------------- /src/editor_components/modulation_highlight.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef MODULATION_HIGHLIGHT_H 18 | #define MODULATION_HIGHLIGHT_H 19 | 20 | #include "JuceHeader.h" 21 | #include "processor.h" 22 | #include "synth_slider.h" 23 | 24 | class ModulationHighlight : public Component { 25 | public: 26 | ModulationHighlight(); 27 | virtual ~ModulationHighlight(); 28 | 29 | void paint(Graphics& g) override; 30 | void resized() override; 31 | 32 | void updateValue(); 33 | void updateDrawing(); 34 | 35 | private: 36 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ModulationHighlight) 37 | }; 38 | 39 | #endif // MODULATION_HIGHLIGHT_H 40 | -------------------------------------------------------------------------------- /src/editor_components/modulation_slider.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef MODULATIONS_SLIDER_H 18 | #define MODULATIONS_SLIDER_H 19 | 20 | #include "JuceHeader.h" 21 | #include "synth_slider.h" 22 | 23 | class ModulationSlider : public SynthSlider, public Slider::Listener { 24 | public: 25 | ModulationSlider(SynthSlider* source); 26 | ~ModulationSlider(); 27 | 28 | virtual void mouseDown(const MouseEvent& e) override; 29 | virtual void mouseUp(const MouseEvent& e) override; 30 | void sliderValueChanged(Slider* moved_slider) override; 31 | 32 | SynthSlider* getDestinationSlider() { return destination_slider_; } 33 | 34 | private: 35 | SynthSlider* destination_slider_; 36 | 37 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ModulationSlider) 38 | }; 39 | 40 | #endif // MODULATIONS_SLIDER_H 41 | -------------------------------------------------------------------------------- /src/editor_components/open_gl_component.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #include "open_gl_component.h" 18 | #include "full_interface.h" 19 | 20 | void OpenGLComponent::setViewPort(OpenGLContext& open_gl_context) { 21 | float scale = open_gl_context.getRenderingScale(); 22 | FullInterface* parent = findParentComponentOfClass(); 23 | Rectangle top_level_bounds = parent->getBounds(); 24 | Rectangle global_bounds = parent->getLocalArea(this, getLocalBounds()); 25 | 26 | glViewport(scale * global_bounds.getX(), 27 | scale * (top_level_bounds.getHeight() - global_bounds.getBottom()), 28 | scale * global_bounds.getWidth(), scale * global_bounds.getHeight()); 29 | } 30 | -------------------------------------------------------------------------------- /src/editor_components/open_gl_component.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef OPEN_GL_COMPONENT_H 19 | #define OPEN_GL_COMPONENT_H 20 | 21 | #include "JuceHeader.h" 22 | 23 | class OpenGLComponent : public Component { 24 | public: 25 | OpenGLComponent() { } 26 | virtual ~OpenGLComponent() { } 27 | 28 | void paint(Graphics& g) override { } 29 | 30 | virtual void init(OpenGLContext& open_gl_context) = 0; 31 | virtual void render(OpenGLContext& open_gl_context, bool animate = true) = 0; 32 | virtual void destroy(OpenGLContext& open_gl_context) = 0; 33 | virtual void paintBackground(Graphics& g) = 0; 34 | 35 | protected: 36 | void setViewPort(OpenGLContext& open_gl_context); 37 | 38 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(OpenGLComponent) 39 | }; 40 | 41 | #endif // OPEN_GL_COMPONENT_H 42 | -------------------------------------------------------------------------------- /src/editor_components/oscilloscope.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef OSCILLOSCOPE_H 19 | #define OSCILLOSCOPE_H 20 | 21 | #include "JuceHeader.h" 22 | #include "memory.h" 23 | 24 | class Oscilloscope : public Component, public Timer { 25 | public: 26 | Oscilloscope(); 27 | ~Oscilloscope(); 28 | 29 | void timerCallback() override; 30 | void paint(Graphics& g) override; 31 | void paintBackground(Graphics& g); 32 | void resized() override; 33 | 34 | void resetWavePath(); 35 | void setOutputMemory(const float* memory) { output_memory_ = memory; } 36 | void showRealtimeFeedback(bool show_feedback = true); 37 | 38 | private: 39 | const float* output_memory_; 40 | Path wave_path_; 41 | Image background_; 42 | 43 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Oscilloscope) 44 | }; 45 | 46 | #endif // OSCILLOSCOPE_H 47 | -------------------------------------------------------------------------------- /src/editor_components/retrigger_selector.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef RETRIGGER_SELECTOR_H 18 | #define RETRIGGER_SELECTOR_H 19 | 20 | #include "JuceHeader.h" 21 | #include "synth_slider.h" 22 | 23 | class RetriggerSelector : public SynthSlider { 24 | public: 25 | RetriggerSelector(String name); 26 | 27 | void mouseDown(const MouseEvent& e) override; 28 | void paint(Graphics& g) override; 29 | void resized() override; 30 | void selectType(int type); 31 | 32 | private: 33 | Path arrow_; 34 | 35 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(RetriggerSelector) 36 | }; 37 | 38 | #endif // RETRIGGER_SELECTOR_H 39 | -------------------------------------------------------------------------------- /src/editor_components/tempo_selector.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef TEMPO_SELECTOR_H 18 | #define TEMPO_SELECTOR_H 19 | 20 | #include "JuceHeader.h" 21 | #include "synth_slider.h" 22 | 23 | class TempoSelector : public SynthSlider { 24 | public: 25 | TempoSelector(String name); 26 | 27 | void mouseDown(const MouseEvent& e) override; 28 | void mouseUp(const MouseEvent& e) override; 29 | void paint(Graphics& g) override; 30 | void valueChanged() override; 31 | void resized() override; 32 | 33 | void setFreeSlider(Slider* slider); 34 | void setTempoSlider(Slider* slider); 35 | 36 | private: 37 | Slider* free_slider_; 38 | Slider* tempo_slider_; 39 | 40 | Path arrow_; 41 | Path clock_; 42 | 43 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(TempoSelector) 44 | }; 45 | 46 | #endif // TEMPO_SELECTOR_H 47 | -------------------------------------------------------------------------------- /src/editor_components/text_selector.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef TEXT_SELECTOR_H 18 | #define TEXT_SELECTOR_H 19 | 20 | #include "JuceHeader.h" 21 | #include "synth_slider.h" 22 | 23 | class TextSelector : public SynthSlider { 24 | public: 25 | TextSelector(String name); 26 | 27 | void mouseDown(const MouseEvent& e) override; 28 | void mouseUp(const MouseEvent& e) override; 29 | 30 | void setLongStringLookup(const std::string* lookup) { long_lookup_ = lookup; } 31 | 32 | private: 33 | const std::string* long_lookup_; 34 | 35 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(TextSelector) 36 | }; 37 | 38 | #endif // TEXT_SELECTOR_H 39 | -------------------------------------------------------------------------------- /src/editor_components/text_slider.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef TEXT_SLIDER_H 18 | #define TEXT_SLIDER_H 19 | 20 | #include "JuceHeader.h" 21 | #include "synth_slider.h" 22 | 23 | class TextSlider : public SynthSlider { 24 | public: 25 | TextSlider(String name); 26 | 27 | void paint(Graphics& g) override; 28 | void resized() override; 29 | 30 | void mouseEvent(const MouseEvent& e); 31 | void mouseDown(const MouseEvent& e) override; 32 | void mouseDrag(const MouseEvent& e) override; 33 | 34 | void setShortStringLookup(const std::string* lookup) { short_lookup_ = lookup; } 35 | 36 | private: 37 | const std::string* short_lookup_; 38 | 39 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(TextSlider) 40 | }; 41 | 42 | #endif // TEXT_SLIDER_H 43 | -------------------------------------------------------------------------------- /src/editor_sections/bpm_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef BPM_SECTION_H 19 | #define BPM_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "synth_slider.h" 24 | 25 | class BpmSection : public SynthSection { 26 | public: 27 | BpmSection(String name); 28 | ~BpmSection(); 29 | 30 | void paintBackground(Graphics& g) override; 31 | void resized() override; 32 | 33 | private: 34 | ScopedPointer bpm_; 35 | 36 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(BpmSection) 37 | }; 38 | 39 | #endif // BPM_SECTION_H 40 | -------------------------------------------------------------------------------- /src/editor_sections/delay_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef DELAY_SECTION_H 19 | #define DELAY_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_button.h" 23 | #include "synth_section.h" 24 | #include "synth_slider.h" 25 | #include "tempo_selector.h" 26 | 27 | class DelaySection : public SynthSection { 28 | public: 29 | DelaySection(String name); 30 | ~DelaySection(); 31 | 32 | void paintBackground(Graphics& g) override; 33 | void resized() override; 34 | 35 | private: 36 | ScopedPointer on_; 37 | ScopedPointer frequency_; 38 | ScopedPointer tempo_; 39 | ScopedPointer sync_; 40 | ScopedPointer feedback_; 41 | ScopedPointer dry_wet_; 42 | 43 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DelaySection) 44 | }; 45 | 46 | #endif // DELAY_SECTION_H 47 | -------------------------------------------------------------------------------- /src/editor_sections/distortion_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef DISTORTION_SECTION_H 19 | #define DISTORTION_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "synth_button.h" 24 | #include "synth_slider.h" 25 | #include "text_selector.h" 26 | 27 | class DistortionSection : public SynthSection { 28 | public: 29 | DistortionSection(String name); 30 | ~DistortionSection(); 31 | 32 | void paintBackground(Graphics& g) override; 33 | void resized() override; 34 | 35 | private: 36 | ScopedPointer on_; 37 | ScopedPointer type_; 38 | ScopedPointer drive_; 39 | ScopedPointer mix_; 40 | 41 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistortionSection) 42 | }; 43 | 44 | #endif // DISTORTION_SECTION_H 45 | -------------------------------------------------------------------------------- /src/editor_sections/dynamic_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef DYNAMIC_SECTION_H 19 | #define DYNAMIC_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "synth_slider.h" 24 | 25 | class DynamicSection : public SynthSection { 26 | public: 27 | DynamicSection(String name); 28 | ~DynamicSection(); 29 | 30 | void paintBackground(Graphics& g) override; 31 | void resized() override; 32 | 33 | private: 34 | ScopedPointer portamento_; 35 | ScopedPointer portamento_type_; 36 | ScopedPointer legato_; 37 | 38 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DynamicSection) 39 | }; 40 | 41 | #endif // DYNAMIC_SECTION_H 42 | -------------------------------------------------------------------------------- /src/editor_sections/feedback_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef FEEDBACK_SECTION_H 19 | #define FEEDBACK_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "synth_slider.h" 24 | 25 | class FeedbackSection : public SynthSection { 26 | public: 27 | FeedbackSection(String name); 28 | ~FeedbackSection(); 29 | 30 | void paintBackground(Graphics& g) override; 31 | void resized() override; 32 | 33 | private: 34 | ScopedPointer transpose_; 35 | ScopedPointer tune_; 36 | ScopedPointer amount_; 37 | 38 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(FeedbackSection) 39 | }; 40 | 41 | #endif // FEEDBACK_SECTION_H 42 | -------------------------------------------------------------------------------- /src/editor_sections/formant_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef FORMANT_SECTION_H 19 | #define FORMANT_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_button.h" 23 | #include "synth_section.h" 24 | #include "xy_pad.h" 25 | 26 | class FormantSection : public SynthSection { 27 | public: 28 | FormantSection(String name); 29 | ~FormantSection(); 30 | 31 | void paintBackground(Graphics& g) override; 32 | void resized() override; 33 | void setActive(bool active = true) override; 34 | 35 | private: 36 | ScopedPointer on_; 37 | ScopedPointer x_; 38 | ScopedPointer y_; 39 | ScopedPointer xy_pad_; 40 | 41 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(FormantSection) 42 | }; 43 | 44 | #endif // FORMANT_SECTION_H 45 | -------------------------------------------------------------------------------- /src/editor_sections/formant_tuner.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef FORMANT_TUNER_H 19 | #define FORMANT_TUNER_H 20 | 21 | #include "JuceHeader.h" 22 | #include "formant_response.h" 23 | #include "synth_section.h" 24 | 25 | class FormantTuner : public SynthSection { 26 | public: 27 | FormantTuner(String name); 28 | ~FormantTuner(); 29 | 30 | void paintBackground(Graphics& g) override; 31 | void resized() override; 32 | 33 | static const int kNumFormants = 4; 34 | 35 | private: 36 | ScopedPointer cutoffs_[kNumFormants]; 37 | ScopedPointer resonances_[kNumFormants]; 38 | ScopedPointer gains_[kNumFormants]; 39 | 40 | ScopedPointer formant_response_; 41 | 42 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(FormantTuner) 43 | }; 44 | 45 | #endif // FORMANT_TUNER_H 46 | -------------------------------------------------------------------------------- /src/editor_sections/mixer_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef MIXER_SECTION_H 19 | #define MIXER_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | 24 | class MixerSection : public SynthSection { 25 | public: 26 | MixerSection(String name); 27 | ~MixerSection(); 28 | 29 | void paintBackground(Graphics& g) override; 30 | void resized() override; 31 | 32 | private: 33 | ScopedPointer osc_1_; 34 | ScopedPointer osc_2_; 35 | ScopedPointer sub_; 36 | ScopedPointer noise_; 37 | 38 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(MixerSection) 39 | }; 40 | 41 | #endif // MIXER_SECTION_H 42 | -------------------------------------------------------------------------------- /src/editor_sections/noise_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef NOISE_SECTION_H 19 | #define NOISE_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "synth_slider.h" 24 | 25 | class NoiseSection : public SynthSection { 26 | public: 27 | NoiseSection(String name); 28 | ~NoiseSection(); 29 | 30 | void paintBackground(Graphics& g) override; 31 | void resized() override; 32 | 33 | private: 34 | ScopedPointer volume_; 35 | 36 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NoiseSection) 37 | }; 38 | 39 | #endif // NOISE_SECTION_H 40 | -------------------------------------------------------------------------------- /src/editor_sections/reverb_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef REVERB_SECTION_H 19 | #define REVERB_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_button.h" 23 | #include "synth_section.h" 24 | #include "synth_slider.h" 25 | 26 | class ReverbSection : public SynthSection { 27 | public: 28 | ReverbSection(String name); 29 | ~ReverbSection(); 30 | 31 | void paintBackground(Graphics& g) override; 32 | void resized() override; 33 | 34 | private: 35 | ScopedPointer on_; 36 | ScopedPointer feedback_; 37 | ScopedPointer damping_; 38 | ScopedPointer dry_wet_; 39 | 40 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ReverbSection) 41 | }; 42 | 43 | #endif // REVERB_SECTION_H 44 | -------------------------------------------------------------------------------- /src/editor_sections/sub_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef SUB_SECTION_H 19 | #define SUB_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "wave_selector.h" 24 | #include "wave_viewer.h" 25 | 26 | class SubSection : public SynthSection { 27 | public: 28 | SubSection(String name); 29 | ~SubSection(); 30 | 31 | void paintBackground(Graphics& g) override; 32 | void resized() override; 33 | void reset() override; 34 | 35 | private: 36 | ScopedPointer wave_viewer_; 37 | ScopedPointer wave_selector_; 38 | ScopedPointer shuffle_; 39 | ScopedPointer sub_octave_; 40 | 41 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SubSection) 42 | }; 43 | 44 | #endif // SUB_SECTION_H 45 | -------------------------------------------------------------------------------- /src/editor_sections/voice_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef VOICE_SECTION_H 19 | #define VOICE_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "synth_slider.h" 24 | 25 | class VoiceSection : public SynthSection { 26 | public: 27 | VoiceSection(String name); 28 | ~VoiceSection(); 29 | 30 | void paintBackground(Graphics& g) override; 31 | void resized() override; 32 | 33 | private: 34 | ScopedPointer polyphony_; 35 | ScopedPointer pitch_bend_; 36 | ScopedPointer velocity_track_; 37 | 38 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(VoiceSection) 39 | }; 40 | 41 | #endif // VOICE_SECTION_H 42 | -------------------------------------------------------------------------------- /src/editor_sections/volume_section.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef VOLUME_SECTION_H 19 | #define VOLUME_SECTION_H 20 | 21 | #include "JuceHeader.h" 22 | #include "synth_section.h" 23 | #include "open_gl_peak_meter.h" 24 | 25 | class VolumeSection : public SynthSection { 26 | public: 27 | VolumeSection(String name); 28 | ~VolumeSection(); 29 | 30 | void resized() override; 31 | 32 | private: 33 | ScopedPointer volume_; 34 | ScopedPointer peak_meter_left_; 35 | ScopedPointer peak_meter_right_; 36 | 37 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(VolumeSection) 38 | }; 39 | 40 | #endif // VOLUME_SECTION_H 41 | -------------------------------------------------------------------------------- /src/look_and_feel/browser_look_and_feel.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef BROWSER_LOOK_AND_FEEL_H 18 | #define BROWSER_LOOK_AND_FEEL_H 19 | 20 | #include "JuceHeader.h" 21 | #include "text_look_and_feel.h" 22 | 23 | class BrowserLookAndFeel : public juce::LookAndFeel_V3 { 24 | public: 25 | void drawButtonBackground(Graphics& g, Button& button, const Colour &backgroundColour, 26 | bool hover, bool is_down) override; 27 | 28 | void drawToggleButton(Graphics& g, ToggleButton& button, 29 | bool hover, bool is_down) override; 30 | 31 | Font getTextButtonFont(TextButton&, int buttonHeight) override; 32 | 33 | static BrowserLookAndFeel* instance() { 34 | static BrowserLookAndFeel instance; 35 | return &instance; 36 | } 37 | }; 38 | 39 | #endif // BROWSER_LOOK_AND_FEEL_H 40 | -------------------------------------------------------------------------------- /src/look_and_feel/colors.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #include "colors.h" 18 | 19 | const Colour Colors::background(0xff181818); 20 | const Colour Colors::tab_heading(0xff303030); 21 | const Colour Colors::tab_body(0xff303030); 22 | const Colour Colors::tab_heading_text(0xffbbbbbb); 23 | const Colour Colors::audio(0xff03a9f4); 24 | const Colour Colors::modulation(0xff00e676); 25 | const Colour Colors::graph_disable(0xff777777); 26 | const Colour Colors::graph_fill(0xff565656); 27 | const Colour Colors::control_label_text(0xffbbbbbb); 28 | const Colour Colors::info_background(0xff303030); 29 | const Colour Colors::overlay_screen(0xbb212121); 30 | -------------------------------------------------------------------------------- /src/look_and_feel/colors.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef COLORS_H 19 | #define COLORS_H 20 | 21 | #include "JuceHeader.h" 22 | 23 | class Colors { 24 | public: 25 | static const Colour background; 26 | static const Colour tab_heading; 27 | static const Colour tab_body; 28 | static const Colour audio; 29 | static const Colour modulation; 30 | static const Colour graph_disable; 31 | static const Colour graph_fill; 32 | static const Colour tab_heading_text; 33 | static const Colour control_label_text; 34 | static const Colour info_background; 35 | static const Colour overlay_screen; 36 | 37 | private: 38 | Colors() { } 39 | }; 40 | 41 | #endif // COLORS_H 42 | -------------------------------------------------------------------------------- /src/look_and_feel/fonts.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #include "fonts.h" 18 | 19 | Fonts::Fonts() { 20 | proportional_regular_ = Font(Typeface::createSystemTypefaceFor( 21 | BinaryData::RobotoRegular_ttf, BinaryData::RobotoRegular_ttfSize)); 22 | proportional_light_ = Font(Typeface::createSystemTypefaceFor( 23 | BinaryData::RobotoLight_ttf, BinaryData::RobotoLight_ttfSize)); 24 | monospace_ = Font(Typeface::createSystemTypefaceFor( 25 | BinaryData::DroidSansMono_ttf, BinaryData::DroidSansMono_ttfSize)); 26 | } 27 | -------------------------------------------------------------------------------- /src/look_and_feel/fonts.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #ifndef FONTS_H 18 | #define FONTS_H 19 | 20 | #include "JuceHeader.h" 21 | 22 | class Fonts { 23 | public: 24 | virtual ~Fonts() { } 25 | 26 | Font& proportional_regular() { return proportional_regular_; } 27 | Font& proportional_light() { return proportional_light_; } 28 | Font& monospace() { return monospace_; } 29 | 30 | static Fonts* instance() { 31 | static Fonts instance; 32 | return &instance; 33 | } 34 | 35 | private: 36 | Fonts(); 37 | 38 | static ScopedPointer instance_; 39 | 40 | Font proportional_regular_; 41 | Font proportional_light_; 42 | Font monospace_; 43 | }; 44 | 45 | #endif // FONTS_H 46 | -------------------------------------------------------------------------------- /src/look_and_feel/shaders.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef SHADERS_H 19 | #define SHADERS_H 20 | 21 | class Shaders { 22 | public: 23 | enum Shader { 24 | kBackgroundImageVertex, 25 | kBackgroundImageFragment, 26 | kOscilloscopeVertex, 27 | kOscilloscopeFragment, 28 | kModulationVertex, 29 | kModulationFragment, 30 | kGainMeterVertex, 31 | kGainMeterFragment, 32 | kNumShaders 33 | }; 34 | 35 | static const char* getShader(Shader shader); 36 | 37 | private: 38 | Shaders() { } 39 | 40 | static const char* shaders_[kNumShaders]; 41 | }; 42 | 43 | #endif // SHADERS_H 44 | -------------------------------------------------------------------------------- /src/synthesis/detune_lookup.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "detune_lookup.h" 18 | 19 | namespace mopo { 20 | 21 | const DetuneLookupSingleton DetuneLookup::lookup_; 22 | } // namespace mopo 23 | -------------------------------------------------------------------------------- /src/synthesis/fixed_point_oscillator.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * helm is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * helm is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with helm. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef FIXED_POINT_OSCILLATOR_H 19 | #define FIXED_POINT_OSCILLATOR_H 20 | 21 | #include "mopo.h" 22 | #include "fixed_point_wave.h" 23 | 24 | namespace mopo { 25 | 26 | class FixedPointOscillator : public Processor { 27 | public: 28 | 29 | enum Inputs { 30 | kWaveform, 31 | kPhaseInc, 32 | kReset, 33 | kShuffle, 34 | kAmplitude, 35 | kLowOctave, 36 | kNumInputs 37 | }; 38 | 39 | FixedPointOscillator(); 40 | 41 | virtual void process(); 42 | virtual Processor* clone() const { return new FixedPointOscillator(*this); } 43 | 44 | protected: 45 | unsigned int phase_; 46 | }; 47 | } // namespace mopo 48 | 49 | #endif // FIXED_POINT_OSCILLATOR_H 50 | -------------------------------------------------------------------------------- /src/synthesis/gate.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "gate.h" 18 | #include "utils.h" 19 | #include 20 | 21 | namespace mopo { 22 | 23 | Gate::Gate() : Processor(kNumInputs, 1) { 24 | original_buffer_ = output()->buffer; 25 | } 26 | 27 | void Gate::destroy() { 28 | output()->buffer = original_buffer_; 29 | Processor::destroy(); 30 | } 31 | 32 | void Gate::process() { 33 | int source = (int)input()->at(0); 34 | setSource(source); 35 | } 36 | 37 | inline void Gate::setSource(int source) { 38 | source = utils::iclamp(source, 0, numInputs() - kNumInputs - 1); 39 | output()->buffer = input(kNumInputs + source)->source->buffer; 40 | } 41 | } // namespace mopo 42 | -------------------------------------------------------------------------------- /src/synthesis/gate.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef GATE_H 19 | #define GATE_H 20 | 21 | #include "value.h" 22 | 23 | namespace mopo { 24 | 25 | class Gate : public Processor { 26 | public: 27 | enum Inputs { 28 | kChoice, 29 | kNumInputs 30 | }; 31 | 32 | Gate(); 33 | 34 | virtual void destroy() override; 35 | virtual Processor* clone() const override { return new Gate(*this); } 36 | void process() override; 37 | 38 | private: 39 | void setSource(int source); 40 | 41 | mopo_float* original_buffer_; 42 | }; 43 | } // namespace mopo 44 | 45 | #endif // GATE_H 46 | -------------------------------------------------------------------------------- /src/synthesis/peak_meter.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef PEAK_METER_H 19 | #define PEAK_METER_H 20 | 21 | #include "processor.h" 22 | 23 | namespace mopo { 24 | 25 | class PeakMeter : public Processor { 26 | public: 27 | PeakMeter(); 28 | 29 | virtual Processor* clone() const override { return new PeakMeter(*this); } 30 | void process() override; 31 | 32 | protected: 33 | mopo_float current_peak_left_; 34 | mopo_float current_peak_right_; 35 | }; 36 | } // namespace mopo 37 | 38 | #endif // PEAK_METER_H 39 | -------------------------------------------------------------------------------- /src/synthesis/resonance_cancel.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "resonance_cancel.h" 18 | #include "biquad_filter.h" 19 | 20 | namespace mopo { 21 | 22 | ResonanceCancel::ResonanceCancel() : Processor(kNumInputs, 1, true) { } 23 | 24 | void ResonanceCancel::process() { 25 | BiquadFilter::Type type = static_cast( 26 | static_cast(input(kFilterType)->at(0))); 27 | 28 | if (type == BiquadFilter::kLowShelf || 29 | type == BiquadFilter::kHighShelf || 30 | type == BiquadFilter::kBandShelf) { 31 | output()->buffer[0] = 1.0; 32 | } 33 | else { 34 | output()->buffer[0] = input(kResonance)->source->buffer[0]; 35 | } 36 | } 37 | } // namespace mopo 38 | -------------------------------------------------------------------------------- /src/synthesis/resonance_cancel.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef RESONANCE_CANCEL_H 19 | #define RESONANCE_CANCEL_H 20 | 21 | #include "processor.h" 22 | 23 | namespace mopo { 24 | 25 | // Will output a resonance of 1.0 if the filter type is a shelf filter. 26 | class ResonanceCancel : public Processor { 27 | public: 28 | enum Inputs { 29 | kResonance, 30 | kFilterType, 31 | kNumInputs 32 | }; 33 | 34 | ResonanceCancel(); 35 | 36 | virtual Processor* clone() const { return new ResonanceCancel(*this); } 37 | 38 | void process(); 39 | }; 40 | } // namespace mopo 41 | 42 | #endif // RESONANCE_CANCEL_H 43 | -------------------------------------------------------------------------------- /src/synthesis/trigger_random.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #include "trigger_random.h" 18 | 19 | #include 20 | 21 | namespace mopo { 22 | 23 | TriggerRandom::TriggerRandom() : Processor(1, 1, true), value_(0.0) { } 24 | 25 | void TriggerRandom::process() { 26 | if (input()->source->triggered) 27 | value_ = 2.0 * rand() / RAND_MAX - 1.0; 28 | 29 | output()->buffer[0] = value_; 30 | } 31 | } // namespace mopo 32 | -------------------------------------------------------------------------------- /src/synthesis/trigger_random.h: -------------------------------------------------------------------------------- 1 | /* Copyright 2013-2017 Matt Tytel 2 | * 3 | * mopo is free software: you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation, either version 3 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * mopo is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with mopo. If not, see . 15 | */ 16 | 17 | #pragma once 18 | #ifndef TRIGGER_RANDOM_H 19 | #define TRIGGER_RANDOM_H 20 | 21 | #include "processor.h" 22 | 23 | namespace mopo { 24 | 25 | class TriggerRandom : public Processor { 26 | public: 27 | enum Inputs { 28 | kAudio, 29 | kReset, 30 | kNumInputs 31 | }; 32 | 33 | TriggerRandom(); 34 | virtual ~TriggerRandom() { } 35 | 36 | virtual Processor* clone() const { return new TriggerRandom(*this); } 37 | virtual void process(); 38 | 39 | private: 40 | mopo_float value_; 41 | }; 42 | } // namespace mopo 43 | 44 | #endif // TRIGGER_RANDOM_H 45 | -------------------------------------------------------------------------------- /standalone/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 Projucer, 6 | and ALL files in this folder will be mercilessly DELETED and completely re-written whenever 7 | the Projucer 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 Projucer has saved its changes). 13 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_basics.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_basics.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_devices.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_devices.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_formats.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_formats.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_processors.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_processors.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_utils.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_audio_utils.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_core.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_core.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_data_structures.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_data_structures.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_events.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_events.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_graphics.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_graphics.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_gui_basics.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_gui_basics.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_gui_extra.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_gui_extra.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_opengl.cpp: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/JuceLibraryCode/include_juce_opengl.mm: -------------------------------------------------------------------------------- 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 | */ 7 | 8 | #include "AppConfig.h" 9 | #include 10 | -------------------------------------------------------------------------------- /standalone/builds/osx/Helm.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /standalone/builds/osx/Icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Icon.icns -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_128_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_128_1x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_128_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_128_2x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_16_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_16_1x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_16_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_16_2x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_256_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_256_1x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_256_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_256_2x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_32_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_32_1x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_32_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_32_2x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_512_1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_512_1x.png -------------------------------------------------------------------------------- /standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_512_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/Images.xcassets/AppIcon.appiconset/helm_icon_512_2x.png -------------------------------------------------------------------------------- /standalone/builds/osx/RecentFilesMenuTemplate.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtytel/helm/abdedd527e6e1cf86636f0f1e8a3e75b06ed166a/standalone/builds/osx/RecentFilesMenuTemplate.nib -------------------------------------------------------------------------------- /standalone/builds/vs17/Helm.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 11.00 2 | # Visual Studio 2017 3 | 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Helm - App", "Helm_App.vcxproj", "{7863C457-C663-B9F0-1CA5-F8198DF659DE}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Debug|Win32.Build.0 = Debug|Win32 16 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Debug|x64.ActiveCfg = Debug|x64 17 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Debug|x64.Build.0 = Debug|x64 18 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Release|Win32.ActiveCfg = Release|Win32 19 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Release|Win32.Build.0 = Release|Win32 20 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Release|x64.ActiveCfg = Release|x64 21 | {7863C457-C663-B9F0-1CA5-F8198DF659DE}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /standalone/builds/vs17/resources.rc: -------------------------------------------------------------------------------- 1 | #ifdef JUCE_USER_DEFINED_RC_FILE 2 | #include JUCE_USER_DEFINED_RC_FILE 3 | #else 4 | 5 | #undef WIN32_LEAN_AND_MEAN 6 | #define WIN32_LEAN_AND_MEAN 7 | #include 8 | 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION 0,9,0,0 11 | BEGIN 12 | BLOCK "StringFileInfo" 13 | BEGIN 14 | BLOCK "040904E4" 15 | BEGIN 16 | VALUE "CompanyName", "Matt Tytel\0" 17 | VALUE "FileDescription", "Helm\0" 18 | VALUE "FileVersion", "0.9.0\0" 19 | VALUE "ProductName", "Helm\0" 20 | VALUE "ProductVersion", "0.9.0\0" 21 | END 22 | END 23 | 24 | BLOCK "VarFileInfo" 25 | BEGIN 26 | VALUE "Translation", 0x409, 1252 27 | END 28 | END 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /standalone/helm.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Helm 3 | Comment=A free polyphonic synth with a lot of modulation 4 | Comment[fr]=Un synthétiseur polyphonique libre avec un tas de module 5 | GenericName=Synth 6 | GenericName[fr]=Synthétiseur 7 | Exec=helm 8 | Icon=helm 9 | Terminal=false 10 | Type=Application 11 | Categories=Audio;AudioVideo; 12 | MimeType=text/helm; 13 | --------------------------------------------------------------------------------