AnalogTapeModel

Physical modelling signal processing for analog tape recording
Log | Files | Refs | Submodules | README | LICENSE

commit 2baae13496804d66997e3de1911ddc9a858a0059
parent 5bed50f025048349b15687e54ec0a13e2763237e
Author: jatinchowdhury18 <jatinchowdhury18@users.noreply.github.com>
Date:   Thu,  7 Feb 2019 16:20:45 -0800

Create Plugin

Diffstat:
M.gitignore | 18++++++++++++++++++
A.gitmodules | 3+++
APlugin/CHOWTapeModel.jucer | 104+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
APlugin/Juce | 1+
APlugin/JuceLibraryCode/AppConfig.h | 456+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
APlugin/JuceLibraryCode/JuceHeader.h | 47+++++++++++++++++++++++++++++++++++++++++++++++
APlugin/JuceLibraryCode/ReadMe.txt | 12++++++++++++
APlugin/JuceLibraryCode/include_juce_audio_basics.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_basics.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_devices.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_devices.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_formats.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_formats.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_AU.r | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS.r | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_1.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_2.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_3.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_4.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_processors.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_processors.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_utils.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_audio_utils.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_core.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_core.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_cryptography.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_cryptography.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_data_structures.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_data_structures.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_events.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_events.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_graphics.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_graphics.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_gui_basics.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_gui_basics.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_gui_extra.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_gui_extra.mm | 9+++++++++
APlugin/JuceLibraryCode/include_juce_opengl.cpp | 9+++++++++
APlugin/JuceLibraryCode/include_juce_opengl.mm | 9+++++++++
APlugin/Source/PluginEditor.cpp | 42++++++++++++++++++++++++++++++++++++++++++
APlugin/Source/PluginEditor.h | 35+++++++++++++++++++++++++++++++++++
APlugin/Source/PluginProcessor.cpp | 191+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
APlugin/Source/PluginProcessor.h | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
APlugin/Source/Processors/HysteresisProcessing.cpp | 11+++++++++++
APlugin/Source/Processors/HysteresisProcessing.h | 11+++++++++++
58 files changed, 1397 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -8,3 +8,21 @@ Refs *.blg 420_paper.log *.out + +#JUCE generated content +Builds +BinaryData.h +BinaryData.cpp +BinaryData2.cpp + +#Windows Temp Cache Files +[Tt]humbs.db + +#macOS Finder and whatnot +.DS_Store +*.DS_Store +*.swp +*~ + +#Visual Studio Code files +.vscode/ diff --git a/.gitmodules b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Plugin/Juce"] + path = Plugin/Juce + url = https://github.com/WeAreROLI/Juce.git diff --git a/Plugin/CHOWTapeModel.jucer b/Plugin/CHOWTapeModel.jucer @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<JUCERPROJECT id="uS0OjK" name="CHOWTapeModel" projectType="audioplug" jucerVersion="5.4.2"> + <MAINGROUP id="oKBSK1" name="CHOWTapeModel"> + <GROUP id="{7659EE80-6477-48A0-C7B6-CD8900735F10}" name="Source"> + <FILE id="y330sp" name="PluginProcessor.cpp" compile="1" resource="0" + file="Source/PluginProcessor.cpp"/> + <FILE id="FvqAFZ" name="PluginProcessor.h" compile="0" resource="0" + file="Source/PluginProcessor.h"/> + <FILE id="Z0ozGS" name="PluginEditor.cpp" compile="1" resource="0" + file="Source/PluginEditor.cpp"/> + <FILE id="IAaXYH" name="PluginEditor.h" compile="0" resource="0" file="Source/PluginEditor.h"/> + </GROUP> + </MAINGROUP> + <EXPORTFORMATS> + <XCODE_MAC targetFolder="Builds/MacOSX"> + <CONFIGURATIONS> + <CONFIGURATION isDebug="1" name="Debug"/> + <CONFIGURATION isDebug="0" name="Release"/> + </CONFIGURATIONS> + <MODULEPATHS> + <MODULEPATH id="juce_audio_basics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_devices" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_formats" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_plugin_client" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_processors" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_utils" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_core" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_cryptography" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_data_structures" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_events" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_graphics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_gui_basics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_gui_extra" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_opengl" path="../../../ShiftyLoop/juce/modules"/> + </MODULEPATHS> + </XCODE_MAC> + <VS2017 targetFolder="Builds/VisualStudio2017"> + <CONFIGURATIONS> + <CONFIGURATION isDebug="1" name="Debug"/> + <CONFIGURATION isDebug="0" name="Release"/> + </CONFIGURATIONS> + <MODULEPATHS> + <MODULEPATH id="juce_audio_basics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_devices" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_formats" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_plugin_client" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_processors" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_utils" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_core" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_cryptography" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_data_structures" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_events" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_graphics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_gui_basics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_gui_extra" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_opengl" path="../../../ShiftyLoop/juce/modules"/> + </MODULEPATHS> + </VS2017> + <LINUX_MAKE targetFolder="Builds/LinuxMakefile"> + <CONFIGURATIONS> + <CONFIGURATION isDebug="1" name="Debug"/> + <CONFIGURATION isDebug="0" name="Release"/> + </CONFIGURATIONS> + <MODULEPATHS> + <MODULEPATH id="juce_audio_basics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_devices" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_formats" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_plugin_client" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_processors" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_audio_utils" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_core" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_cryptography" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_data_structures" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_events" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_graphics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_gui_basics" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_gui_extra" path="../../../ShiftyLoop/juce/modules"/> + <MODULEPATH id="juce_opengl" path="../../../ShiftyLoop/juce/modules"/> + </MODULEPATHS> + </LINUX_MAKE> + </EXPORTFORMATS> + <MODULES> + <MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_audio_plugin_client" showAllCode="1" useLocalCopy="0" + useGlobalPath="1"/> + <MODULE id="juce_audio_processors" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_audio_utils" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_core" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_cryptography" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_events" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + <MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/> + </MODULES> + <LIVE_SETTINGS> + <WINDOWS/> + </LIVE_SETTINGS> + <JUCEOPTIONS JUCE_VST3_CAN_REPLACE_VST2="0" JUCE_STRICT_REFCOUNTEDPOINTER="1"/> +</JUCERPROJECT> diff --git a/Plugin/Juce b/Plugin/Juce @@ -0,0 +1 @@ +Subproject commit ebe136f7c2bd7e129dc854bb67121e4ce85562c6 diff --git a/Plugin/JuceLibraryCode/AppConfig.h b/Plugin/JuceLibraryCode/AppConfig.h @@ -0,0 +1,456 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + There's a section below where you can add your own custom code safely, and the + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. + + Any commented-out settings will assume their default values. + +*/ + +#pragma once + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Projucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +/* + ============================================================================== + + In accordance with the terms of the JUCE 5 End-Use License Agreement, the + JUCE Code in SECTION A cannot be removed, changed or otherwise rendered + ineffective unless you have a JUCE Indie or Pro license, or are using JUCE + under the GPL v3 license. + + End User License Agreement: www.juce.com/juce-5-licence + + ============================================================================== +*/ + +// BEGIN SECTION A + +#ifndef JUCE_DISPLAY_SPLASH_SCREEN + #define JUCE_DISPLAY_SPLASH_SCREEN 1 +#endif + +#ifndef JUCE_REPORT_APP_USAGE + #define JUCE_REPORT_APP_USAGE 1 +#endif + +// END SECTION A + +#define JUCE_USE_DARK_SPLASH_SCREEN 1 + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_plugin_client 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_utils 1 +#define JUCE_MODULE_AVAILABLE_juce_core 1 +#define JUCE_MODULE_AVAILABLE_juce_cryptography 1 +#define JUCE_MODULE_AVAILABLE_juce_data_structures 1 +#define JUCE_MODULE_AVAILABLE_juce_events 1 +#define JUCE_MODULE_AVAILABLE_juce_graphics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1 +#define JUCE_MODULE_AVAILABLE_juce_opengl 1 + +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + +//============================================================================== +// juce_audio_devices flags: + +#ifndef JUCE_USE_WINRT_MIDI + //#define JUCE_USE_WINRT_MIDI 0 +#endif + +#ifndef JUCE_ASIO + //#define JUCE_ASIO 0 +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI 1 +#endif + +#ifndef JUCE_WASAPI_EXCLUSIVE + //#define JUCE_WASAPI_EXCLUSIVE 0 +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND 1 +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA 1 +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK 0 +#endif + +#ifndef JUCE_BELA + //#define JUCE_BELA 0 +#endif + +#ifndef JUCE_USE_ANDROID_OBOE + //#define JUCE_USE_ANDROID_OBOE 0 +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES 0 +#endif + +#ifndef JUCE_DISABLE_AUDIO_MIXING_WITH_OTHER_APPS + //#define JUCE_DISABLE_AUDIO_MIXING_WITH_OTHER_APPS 0 +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC 1 +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS 1 +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT 0 +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT 0 +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT 1 +#endif + +//============================================================================== +// juce_audio_plugin_client flags: + +#ifndef JUCE_VST3_CAN_REPLACE_VST2 + #define JUCE_VST3_CAN_REPLACE_VST2 0 +#endif + +#ifndef JUCE_FORCE_USE_LEGACY_PARAM_IDS + //#define JUCE_FORCE_USE_LEGACY_PARAM_IDS 0 +#endif + +#ifndef JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE + //#define JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE 0 +#endif + +#ifndef JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS + //#define JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS 1 +#endif + +#ifndef JUCE_STANDALONE_FILTER_WINDOW_USE_KIOSK_MODE + //#define JUCE_STANDALONE_FILTER_WINDOW_USE_KIOSK_MODE 0 +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST 0 +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 0 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU 0 +#endif + +#ifndef JUCE_PLUGINHOST_LADSPA + //#define JUCE_PLUGINHOST_LADSPA 0 +#endif + +//============================================================================== +// juce_audio_utils flags: + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER 0 +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER 0 +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG 0 +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS 0 +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS 1 +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES 0 +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE 1 +#endif + +#ifndef JUCE_USE_CURL + //#define JUCE_USE_CURL 0 +#endif + +#ifndef JUCE_LOAD_CURL_SYMBOLS_LAZILY + //#define JUCE_LOAD_CURL_SYMBOLS_LAZILY 0 +#endif + +#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS + //#define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 +#endif + +#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES + //#define JUCE_ALLOW_STATIC_NULL_VARIABLES 1 +#endif + +#ifndef JUCE_STRICT_REFCOUNTEDPOINTER + #define JUCE_STRICT_REFCOUNTEDPOINTER 1 +#endif + +//============================================================================== +// juce_events flags: + +#ifndef JUCE_EXECUTE_APP_SUSPEND_ON_IOS_BACKGROUND_TASK + //#define JUCE_EXECUTE_APP_SUSPEND_ON_IOS_BACKGROUND_TASK 0 +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER 1 +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE 1 +#endif + +#ifndef JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING + //#define JUCE_DISABLE_COREGRAPHICS_FONT_SMOOTHING 0 +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING 0 +#endif + +#ifndef JUCE_USE_XRANDR + //#define JUCE_USE_XRANDR 1 +#endif + +#ifndef JUCE_USE_XINERAMA + //#define JUCE_USE_XINERAMA 1 +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM 1 +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER 0 +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR 1 +#endif + +#ifndef JUCE_WIN_PER_MONITOR_DPI_AWARE + //#define JUCE_WIN_PER_MONITOR_DPI_AWARE 1 +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER 1 +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR 0 +#endif + +//============================================================================== +// Audio plugin settings.. + +#ifndef JucePlugin_Build_VST + #define JucePlugin_Build_VST 0 +#endif +#ifndef JucePlugin_Build_VST3 + #define JucePlugin_Build_VST3 1 +#endif +#ifndef JucePlugin_Build_AU + #define JucePlugin_Build_AU 1 +#endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 0 +#endif +#ifndef JucePlugin_Build_RTAS + #define JucePlugin_Build_RTAS 0 +#endif +#ifndef JucePlugin_Build_AAX + #define JucePlugin_Build_AAX 0 +#endif +#ifndef JucePlugin_Build_Standalone + #define JucePlugin_Build_Standalone 1 +#endif +#ifndef JucePlugin_Build_Unity + #define JucePlugin_Build_Unity 0 +#endif +#ifndef JucePlugin_Enable_IAA + #define JucePlugin_Enable_IAA 0 +#endif +#ifndef JucePlugin_Name + #define JucePlugin_Name "CHOWTapeModel" +#endif +#ifndef JucePlugin_Desc + #define JucePlugin_Desc "CHOWTapeModel" +#endif +#ifndef JucePlugin_Manufacturer + #define JucePlugin_Manufacturer "yourcompany" +#endif +#ifndef JucePlugin_ManufacturerWebsite + #define JucePlugin_ManufacturerWebsite "" +#endif +#ifndef JucePlugin_ManufacturerEmail + #define JucePlugin_ManufacturerEmail "" +#endif +#ifndef JucePlugin_ManufacturerCode + #define JucePlugin_ManufacturerCode 0x4d616e75 // 'Manu' +#endif +#ifndef JucePlugin_PluginCode + #define JucePlugin_PluginCode 0x5573306f // 'Us0o' +#endif +#ifndef JucePlugin_IsSynth + #define JucePlugin_IsSynth 0 +#endif +#ifndef JucePlugin_WantsMidiInput + #define JucePlugin_WantsMidiInput 0 +#endif +#ifndef JucePlugin_ProducesMidiOutput + #define JucePlugin_ProducesMidiOutput 0 +#endif +#ifndef JucePlugin_IsMidiEffect + #define JucePlugin_IsMidiEffect 0 +#endif +#ifndef JucePlugin_EditorRequiresKeyboardFocus + #define JucePlugin_EditorRequiresKeyboardFocus 0 +#endif +#ifndef JucePlugin_Version + #define JucePlugin_Version 1.0.0 +#endif +#ifndef JucePlugin_VersionCode + #define JucePlugin_VersionCode 0x10000 +#endif +#ifndef JucePlugin_VersionString + #define JucePlugin_VersionString "1.0.0" +#endif +#ifndef JucePlugin_VSTUniqueID + #define JucePlugin_VSTUniqueID JucePlugin_PluginCode +#endif +#ifndef JucePlugin_VSTCategory + #define JucePlugin_VSTCategory kPlugCategEffect +#endif +#ifndef JucePlugin_Vst3Category + #define JucePlugin_Vst3Category "Fx" +#endif +#ifndef JucePlugin_AUMainType + #define JucePlugin_AUMainType 'aufx' +#endif +#ifndef JucePlugin_AUSubType + #define JucePlugin_AUSubType JucePlugin_PluginCode +#endif +#ifndef JucePlugin_AUExportPrefix + #define JucePlugin_AUExportPrefix CHOWTapeModelAU +#endif +#ifndef JucePlugin_AUExportPrefixQuoted + #define JucePlugin_AUExportPrefixQuoted "CHOWTapeModelAU" +#endif +#ifndef JucePlugin_AUManufacturerCode + #define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_CFBundleIdentifier + #define JucePlugin_CFBundleIdentifier com.yourcompany.CHOWTapeModel +#endif +#ifndef JucePlugin_RTASCategory + #define JucePlugin_RTASCategory 0 +#endif +#ifndef JucePlugin_RTASManufacturerCode + #define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_RTASProductId + #define JucePlugin_RTASProductId JucePlugin_PluginCode +#endif +#ifndef JucePlugin_RTASDisableBypass + #define JucePlugin_RTASDisableBypass 0 +#endif +#ifndef JucePlugin_RTASDisableMultiMono + #define JucePlugin_RTASDisableMultiMono 0 +#endif +#ifndef JucePlugin_AAXIdentifier + #define JucePlugin_AAXIdentifier com.yourcompany.CHOWTapeModel +#endif +#ifndef JucePlugin_AAXManufacturerCode + #define JucePlugin_AAXManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_AAXProductId + #define JucePlugin_AAXProductId JucePlugin_PluginCode +#endif +#ifndef JucePlugin_AAXCategory + #define JucePlugin_AAXCategory 0 +#endif +#ifndef JucePlugin_AAXDisableBypass + #define JucePlugin_AAXDisableBypass 0 +#endif +#ifndef JucePlugin_AAXDisableMultiMono + #define JucePlugin_AAXDisableMultiMono 0 +#endif +#ifndef JucePlugin_IAAType + #define JucePlugin_IAAType 0x61757278 // 'aurx' +#endif +#ifndef JucePlugin_IAASubType + #define JucePlugin_IAASubType JucePlugin_PluginCode +#endif +#ifndef JucePlugin_IAAName + #define JucePlugin_IAAName "yourcompany: CHOWTapeModel" +#endif +#ifndef JucePlugin_VSTNumMidiInputs + #define JucePlugin_VSTNumMidiInputs 16 +#endif +#ifndef JucePlugin_VSTNumMidiOutputs + #define JucePlugin_VSTNumMidiOutputs 16 +#endif + +//============================================================================== +#ifndef JUCE_STANDALONE_APPLICATION + #if defined(JucePlugin_Name) && defined(JucePlugin_Build_Standalone) + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif +#endif diff --git a/Plugin/JuceLibraryCode/JuceHeader.h b/Plugin/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,47 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + This is the header file that your files should include in order to get all the + JUCE library headers. You should avoid including the JUCE headers directly in + your own source files, because that wouldn't pick up the correct configuration + options for your app. + +*/ + +#pragma once + +#include "AppConfig.h" + +#include <juce_audio_basics/juce_audio_basics.h> +#include <juce_audio_devices/juce_audio_devices.h> +#include <juce_audio_formats/juce_audio_formats.h> +#include <juce_audio_plugin_client/juce_audio_plugin_client.h> +#include <juce_audio_processors/juce_audio_processors.h> +#include <juce_audio_utils/juce_audio_utils.h> +#include <juce_core/juce_core.h> +#include <juce_cryptography/juce_cryptography.h> +#include <juce_data_structures/juce_data_structures.h> +#include <juce_events/juce_events.h> +#include <juce_graphics/juce_graphics.h> +#include <juce_gui_basics/juce_gui_basics.h> +#include <juce_gui_extra/juce_gui_extra.h> +#include <juce_opengl/juce_opengl.h> + + +#if ! DONT_SET_USING_JUCE_NAMESPACE + // If your code uses a lot of JUCE classes, then this will obviously save you + // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE. + using namespace juce; +#endif + +#if ! JUCE_DONT_DECLARE_PROJECTINFO +namespace ProjectInfo +{ + const char* const projectName = "CHOWTapeModel"; + const char* const companyName = ""; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif diff --git a/Plugin/JuceLibraryCode/ReadMe.txt b/Plugin/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +The purpose of this folder is to contain files that are auto-generated by the Projucer, +and ALL files in this folder will be mercilessly DELETED and completely re-written whenever +the Projucer saves your project. + +Therefore, it's a bad idea to make any manual changes to the files in here, or to +put any of your own files in here if you don't want to lose them. (Of course you may choose +to add the folder's contents to your version-control system so that you can re-merge your own +modifications after the Projucer has saved its changes). diff --git a/Plugin/JuceLibraryCode/include_juce_audio_basics.cpp b/Plugin/JuceLibraryCode/include_juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_basics/juce_audio_basics.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_basics.mm b/Plugin/JuceLibraryCode/include_juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_basics/juce_audio_basics.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_devices.cpp b/Plugin/JuceLibraryCode/include_juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_devices/juce_audio_devices.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_devices.mm b/Plugin/JuceLibraryCode/include_juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_devices/juce_audio_devices.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_formats.cpp b/Plugin/JuceLibraryCode/include_juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_formats/juce_audio_formats.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_formats.mm b/Plugin/JuceLibraryCode/include_juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_formats/juce_audio_formats.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AU.r b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AU.r @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client_AU.r> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS.r b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS.r @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client_RTAS.r> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_1.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_2.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_3.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_4.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.mm b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp b/Plugin/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_processors.cpp b/Plugin/JuceLibraryCode/include_juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_processors/juce_audio_processors.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_processors.mm b/Plugin/JuceLibraryCode/include_juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_processors/juce_audio_processors.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_utils.cpp b/Plugin/JuceLibraryCode/include_juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_utils/juce_audio_utils.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_audio_utils.mm b/Plugin/JuceLibraryCode/include_juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_audio_utils/juce_audio_utils.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_core.cpp b/Plugin/JuceLibraryCode/include_juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_core/juce_core.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_core.mm b/Plugin/JuceLibraryCode/include_juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_core/juce_core.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_cryptography.cpp b/Plugin/JuceLibraryCode/include_juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_cryptography/juce_cryptography.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_cryptography.mm b/Plugin/JuceLibraryCode/include_juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_cryptography/juce_cryptography.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_data_structures.cpp b/Plugin/JuceLibraryCode/include_juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_data_structures/juce_data_structures.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_data_structures.mm b/Plugin/JuceLibraryCode/include_juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_data_structures/juce_data_structures.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_events.cpp b/Plugin/JuceLibraryCode/include_juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_events/juce_events.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_events.mm b/Plugin/JuceLibraryCode/include_juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_events/juce_events.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_graphics.cpp b/Plugin/JuceLibraryCode/include_juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_graphics/juce_graphics.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_graphics.mm b/Plugin/JuceLibraryCode/include_juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_graphics/juce_graphics.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_gui_basics.cpp b/Plugin/JuceLibraryCode/include_juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_gui_basics/juce_gui_basics.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_gui_basics.mm b/Plugin/JuceLibraryCode/include_juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_gui_basics/juce_gui_basics.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_gui_extra.cpp b/Plugin/JuceLibraryCode/include_juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_gui_extra/juce_gui_extra.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_gui_extra.mm b/Plugin/JuceLibraryCode/include_juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_gui_extra/juce_gui_extra.mm> diff --git a/Plugin/JuceLibraryCode/include_juce_opengl.cpp b/Plugin/JuceLibraryCode/include_juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_opengl/juce_opengl.cpp> diff --git a/Plugin/JuceLibraryCode/include_juce_opengl.mm b/Plugin/JuceLibraryCode/include_juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include <juce_opengl/juce_opengl.mm> diff --git a/Plugin/Source/PluginEditor.cpp b/Plugin/Source/PluginEditor.cpp @@ -0,0 +1,42 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin editor. + + ============================================================================== +*/ + +#include "PluginProcessor.h" +#include "PluginEditor.h" + +//============================================================================== +ChowtapeModelAudioProcessorEditor::ChowtapeModelAudioProcessorEditor (ChowtapeModelAudioProcessor& p) + : AudioProcessorEditor (&p), processor (p) +{ + // Make sure that before the constructor has finished, you've set the + // editor's size to whatever you need it to be. + setSize (400, 300); +} + +ChowtapeModelAudioProcessorEditor::~ChowtapeModelAudioProcessorEditor() +{ +} + +//============================================================================== +void ChowtapeModelAudioProcessorEditor::paint (Graphics& g) +{ + // (Our component is opaque, so we must completely fill the background with a solid colour) + g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); + + g.setColour (Colours::white); + g.setFont (15.0f); + g.drawFittedText ("Hello World!", getLocalBounds(), Justification::centred, 1); +} + +void ChowtapeModelAudioProcessorEditor::resized() +{ + // This is generally where you'll want to lay out the positions of any + // subcomponents in your editor.. +} diff --git a/Plugin/Source/PluginEditor.h b/Plugin/Source/PluginEditor.h @@ -0,0 +1,35 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin editor. + + ============================================================================== +*/ + +#pragma once + +#include "../JuceLibraryCode/JuceHeader.h" +#include "PluginProcessor.h" + +//============================================================================== +/** +*/ +class ChowtapeModelAudioProcessorEditor : public AudioProcessorEditor +{ +public: + ChowtapeModelAudioProcessorEditor (ChowtapeModelAudioProcessor&); + ~ChowtapeModelAudioProcessorEditor(); + + //============================================================================== + void paint (Graphics&) override; + void resized() override; + +private: + // This reference is provided as a quick way for your editor to + // access the processor object that created it. + ChowtapeModelAudioProcessor& processor; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChowtapeModelAudioProcessorEditor) +}; diff --git a/Plugin/Source/PluginProcessor.cpp b/Plugin/Source/PluginProcessor.cpp @@ -0,0 +1,191 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin processor. + + ============================================================================== +*/ + +#include "PluginProcessor.h" +#include "PluginEditor.h" + +//============================================================================== +ChowtapeModelAudioProcessor::ChowtapeModelAudioProcessor() +#ifndef JucePlugin_PreferredChannelConfigurations + : AudioProcessor (BusesProperties() + #if ! JucePlugin_IsMidiEffect + #if ! JucePlugin_IsSynth + .withInput ("Input", AudioChannelSet::stereo(), true) + #endif + .withOutput ("Output", AudioChannelSet::stereo(), true) + #endif + ) +#endif +{ +} + +ChowtapeModelAudioProcessor::~ChowtapeModelAudioProcessor() +{ +} + +//============================================================================== +const String ChowtapeModelAudioProcessor::getName() const +{ + return JucePlugin_Name; +} + +bool ChowtapeModelAudioProcessor::acceptsMidi() const +{ + #if JucePlugin_WantsMidiInput + return true; + #else + return false; + #endif +} + +bool ChowtapeModelAudioProcessor::producesMidi() const +{ + #if JucePlugin_ProducesMidiOutput + return true; + #else + return false; + #endif +} + +bool ChowtapeModelAudioProcessor::isMidiEffect() const +{ + #if JucePlugin_IsMidiEffect + return true; + #else + return false; + #endif +} + +double ChowtapeModelAudioProcessor::getTailLengthSeconds() const +{ + return 0.0; +} + +int ChowtapeModelAudioProcessor::getNumPrograms() +{ + return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs, + // so this should be at least 1, even if you're not really implementing programs. +} + +int ChowtapeModelAudioProcessor::getCurrentProgram() +{ + return 0; +} + +void ChowtapeModelAudioProcessor::setCurrentProgram (int index) +{ +} + +const String ChowtapeModelAudioProcessor::getProgramName (int index) +{ + return {}; +} + +void ChowtapeModelAudioProcessor::changeProgramName (int index, const String& newName) +{ +} + +//============================================================================== +void ChowtapeModelAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock) +{ + // Use this method as the place to do any pre-playback + // initialisation that you need.. +} + +void ChowtapeModelAudioProcessor::releaseResources() +{ + // When playback stops, you can use this as an opportunity to free up any + // spare memory, etc. +} + +#ifndef JucePlugin_PreferredChannelConfigurations +bool ChowtapeModelAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts) const +{ + #if JucePlugin_IsMidiEffect + ignoreUnused (layouts); + return true; + #else + // This is the place where you check if the layout is supported. + // In this template code we only support mono or stereo. + if (layouts.getMainOutputChannelSet() != AudioChannelSet::mono() + && layouts.getMainOutputChannelSet() != AudioChannelSet::stereo()) + return false; + + // This checks if the input layout matches the output layout + #if ! JucePlugin_IsSynth + if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet()) + return false; + #endif + + return true; + #endif +} +#endif + +void ChowtapeModelAudioProcessor::processBlock (AudioBuffer<float>& buffer, MidiBuffer& midiMessages) +{ + ScopedNoDenormals noDenormals; + auto totalNumInputChannels = getTotalNumInputChannels(); + auto totalNumOutputChannels = getTotalNumOutputChannels(); + + // In case we have more outputs than inputs, this code clears any output + // channels that didn't contain input data, (because these aren't + // guaranteed to be empty - they may contain garbage). + // This is here to avoid people getting screaming feedback + // when they first compile a plugin, but obviously you don't need to keep + // this code if your algorithm always overwrites all the output channels. + for (auto i = totalNumInputChannels; i < totalNumOutputChannels; ++i) + buffer.clear (i, 0, buffer.getNumSamples()); + + // This is the place where you'd normally do the guts of your plugin's + // audio processing... + // Make sure to reset the state if your inner loop is processing + // the samples and the outer loop is handling the channels. + // Alternatively, you can process the samples with the channels + // interleaved by keeping the same state. + for (int channel = 0; channel < totalNumInputChannels; ++channel) + { + auto* channelData = buffer.getWritePointer (channel); + + // ..do something to the data... + } +} + +//============================================================================== +bool ChowtapeModelAudioProcessor::hasEditor() const +{ + return true; // (change this to false if you choose to not supply an editor) +} + +AudioProcessorEditor* ChowtapeModelAudioProcessor::createEditor() +{ + return new ChowtapeModelAudioProcessorEditor (*this); +} + +//============================================================================== +void ChowtapeModelAudioProcessor::getStateInformation (MemoryBlock& destData) +{ + // You should use this method to store your parameters in the memory block. + // You could do that either as raw data, or use the XML or ValueTree classes + // as intermediaries to make it easy to save and load complex data. +} + +void ChowtapeModelAudioProcessor::setStateInformation (const void* data, int sizeInBytes) +{ + // You should use this method to restore your parameters from this memory block, + // whose contents will have been created by the getStateInformation() call. +} + +//============================================================================== +// This creates new instances of the plugin.. +AudioProcessor* JUCE_CALLTYPE createPluginFilter() +{ + return new ChowtapeModelAudioProcessor(); +} diff --git a/Plugin/Source/PluginProcessor.h b/Plugin/Source/PluginProcessor.h @@ -0,0 +1,61 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin processor. + + ============================================================================== +*/ + +#pragma once + +#include "../JuceLibraryCode/JuceHeader.h" + +//============================================================================== +/** +*/ +class ChowtapeModelAudioProcessor : public AudioProcessor +{ +public: + //============================================================================== + ChowtapeModelAudioProcessor(); + ~ChowtapeModelAudioProcessor(); + + //============================================================================== + void prepareToPlay (double sampleRate, int samplesPerBlock) override; + void releaseResources() override; + + #ifndef JucePlugin_PreferredChannelConfigurations + bool isBusesLayoutSupported (const BusesLayout& layouts) const override; + #endif + + void processBlock (AudioBuffer<float>&, MidiBuffer&) override; + + //============================================================================== + AudioProcessorEditor* createEditor() override; + bool hasEditor() const override; + + //============================================================================== + const String getName() const override; + + bool acceptsMidi() const override; + bool producesMidi() const override; + bool isMidiEffect() const override; + double getTailLengthSeconds() const override; + + //============================================================================== + int getNumPrograms() override; + int getCurrentProgram() override; + void setCurrentProgram (int index) override; + const String getProgramName (int index) override; + void changeProgramName (int index, const String& newName) override; + + //============================================================================== + void getStateInformation (MemoryBlock& destData) override; + void setStateInformation (const void* data, int sizeInBytes) override; + +private: + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChowtapeModelAudioProcessor) +}; diff --git a/Plugin/Source/Processors/HysteresisProcessing.cpp b/Plugin/Source/Processors/HysteresisProcessing.cpp @@ -0,0 +1,11 @@ +/* + ============================================================================== + + HysteresisProcessing.cpp + Created: 7 Feb 2019 4:18:29pm + Author: jatin + + ============================================================================== +*/ + +#include "HysteresisProcessing.h" diff --git a/Plugin/Source/Processors/HysteresisProcessing.h b/Plugin/Source/Processors/HysteresisProcessing.h @@ -0,0 +1,11 @@ +/* + ============================================================================== + + HysteresisProcessing.h + Created: 7 Feb 2019 4:18:29pm + Author: jatin + + ============================================================================== +*/ + +#pragma once