diff --git a/.gitignore b/.gitignore index 259148f..82d63c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Builds +*/Builds + # Prerequisites *.d diff --git a/BasicUpmixer/BasicUpmixer.jucer b/BasicUpmixer/BasicUpmixer.jucer new file mode 100644 index 0000000..4205f31 --- /dev/null +++ b/BasicUpmixer/BasicUpmixer.jucer @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BasicUpmixer/JuceLibraryCode/JuceHeader.h b/BasicUpmixer/JuceLibraryCode/JuceHeader.h new file mode 100644 index 0000000..512ed7c --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,48 @@ +/* + + 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#if defined (JUCE_PROJUCER_VERSION) && JUCE_PROJUCER_VERSION < JUCE_VERSION + /** If you've hit this error then the version of the Projucer that was used to generate this project is + older than the version of the JUCE modules being included. To fix this error, re-save your project + using the latest version of the Projucer or, if you aren't using the Projucer to manage your project, + remove the JUCE_PROJUCER_VERSION define. + */ + #error "This project was last saved using an outdated version of the Projucer! Re-save this project with the latest version to fix this error." +#endif + + +#if ! JUCE_DONT_DECLARE_PROJECTINFO +namespace ProjectInfo +{ + const char* const projectName = "BasicUpmixer"; + const char* const companyName = "my1e5"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif diff --git a/BasicUpmixer/JuceLibraryCode/JucePluginDefines.h b/BasicUpmixer/JuceLibraryCode/JucePluginDefines.h new file mode 100644 index 0000000..c8cca12 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/JucePluginDefines.h @@ -0,0 +1,162 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#pragma once + +//============================================================================== +// 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_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_Build_LV2 + #define JucePlugin_Build_LV2 0 +#endif +#ifndef JucePlugin_Enable_IAA + #define JucePlugin_Enable_IAA 0 +#endif +#ifndef JucePlugin_Enable_ARA + #define JucePlugin_Enable_ARA 0 +#endif +#ifndef JucePlugin_Name + #define JucePlugin_Name "Basic Upmixer" +#endif +#ifndef JucePlugin_Desc + #define JucePlugin_Desc "A stereo to left/right/centre upmixer" +#endif +#ifndef JucePlugin_Manufacturer + #define JucePlugin_Manufacturer "my1e5" +#endif +#ifndef JucePlugin_ManufacturerWebsite + #define JucePlugin_ManufacturerWebsite " " +#endif +#ifndef JucePlugin_ManufacturerEmail + #define JucePlugin_ManufacturerEmail "" +#endif +#ifndef JucePlugin_ManufacturerCode + #define JucePlugin_ManufacturerCode 0x4d793165 +#endif +#ifndef JucePlugin_PluginCode + #define JucePlugin_PluginCode 0x4d793165 +#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 BasicUpmixerAU +#endif +#ifndef JucePlugin_AUExportPrefixQuoted + #define JucePlugin_AUExportPrefixQuoted "BasicUpmixerAU" +#endif +#ifndef JucePlugin_AUManufacturerCode + #define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_CFBundleIdentifier + #define JucePlugin_CFBundleIdentifier +#endif +#ifndef JucePlugin_AAXIdentifier + #define JucePlugin_AAXIdentifier my1e5.BasicUpmixer +#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 +#endif +#ifndef JucePlugin_IAASubType + #define JucePlugin_IAASubType JucePlugin_PluginCode +#endif +#ifndef JucePlugin_IAAName + #define JucePlugin_IAAName "my1e5: Basic Upmixer" +#endif +#ifndef JucePlugin_VSTNumMidiInputs + #define JucePlugin_VSTNumMidiInputs 16 +#endif +#ifndef JucePlugin_VSTNumMidiOutputs + #define JucePlugin_VSTNumMidiOutputs 16 +#endif +#ifndef JucePlugin_ARAContentTypes + #define JucePlugin_ARAContentTypes 0 +#endif +#ifndef JucePlugin_ARATransformationFlags + #define JucePlugin_ARATransformationFlags 0 +#endif +#ifndef JucePlugin_ARAFactoryID + #define JucePlugin_ARAFactoryID "com.my1e5.BasicUpmixer.factory" +#endif +#ifndef JucePlugin_ARADocumentArchiveID + #define JucePlugin_ARADocumentArchiveID "com.my1e5.BasicUpmixer.aradocumentarchive.1.0.0" +#endif +#ifndef JucePlugin_ARACompatibleArchiveIDs + #define JucePlugin_ARACompatibleArchiveIDs "" +#endif diff --git a/BasicUpmixer/JuceLibraryCode/ReadMe.txt b/BasicUpmixer/JuceLibraryCode/ReadMe.txt new file mode 100644 index 0000000..1e6784f --- /dev/null +++ b/BasicUpmixer/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/BasicUpmixer/JuceLibraryCode/include_juce_audio_basics.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_basics.cpp new file mode 100644 index 0000000..4070844 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_basics.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_basics.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_basics.mm new file mode 100644 index 0000000..0c09914 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_basics.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_devices.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_devices.cpp new file mode 100644 index 0000000..c9c2d11 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_devices.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_devices.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_devices.mm new file mode 100644 index 0000000..77e69b1 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_devices.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_formats.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_formats.cpp new file mode 100644 index 0000000..78e74f7 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_formats.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_formats.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_formats.mm new file mode 100644 index 0000000..0adf319 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_formats.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000..a20d1e3 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000..0d740d8 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_ARA.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_ARA.cpp new file mode 100644 index 0000000..d64efb0 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_ARA.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU.r b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU.r new file mode 100644 index 0000000..207c35e --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU.r @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000..0924b03 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000..402f054 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000..5c705a2 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_LV2.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_LV2.cpp new file mode 100644 index 0000000..dd2858f --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_LV2.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_LV2.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_LV2.mm new file mode 100644 index 0000000..ef6fab7 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_LV2.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000..198ae8c --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp new file mode 100644 index 0000000..acf6830 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000..b019de9 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000..ac79442 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000..0b79acb --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000..6c06467 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors.cpp new file mode 100644 index 0000000..0dbc0b6 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors.mm new file mode 100644 index 0000000..dac7f37 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors_ara.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors_ara.cpp new file mode 100644 index 0000000..1651fc5 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors_ara.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp new file mode 100644 index 0000000..1151b5a --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_utils.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_audio_utils.cpp new file mode 100644 index 0000000..f31e8b6 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_utils.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_audio_utils.mm b/BasicUpmixer/JuceLibraryCode/include_juce_audio_utils.mm new file mode 100644 index 0000000..4dfd5b4 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_audio_utils.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_core.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_core.cpp new file mode 100644 index 0000000..6f55178 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_core.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_core.mm b/BasicUpmixer/JuceLibraryCode/include_juce_core.mm new file mode 100644 index 0000000..db83b69 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_core.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_data_structures.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_data_structures.cpp new file mode 100644 index 0000000..f53f241 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_data_structures.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_data_structures.mm b/BasicUpmixer/JuceLibraryCode/include_juce_data_structures.mm new file mode 100644 index 0000000..db212c9 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_data_structures.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_events.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_events.cpp new file mode 100644 index 0000000..33a3a69 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_events.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_events.mm b/BasicUpmixer/JuceLibraryCode/include_juce_events.mm new file mode 100644 index 0000000..6ad0eda --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_events.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_graphics.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_graphics.cpp new file mode 100644 index 0000000..12f6750 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_graphics.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_graphics.mm b/BasicUpmixer/JuceLibraryCode/include_juce_graphics.mm new file mode 100644 index 0000000..ab22eb4 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_graphics.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_gui_basics.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_gui_basics.cpp new file mode 100644 index 0000000..80a5878 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_gui_basics.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_gui_basics.mm b/BasicUpmixer/JuceLibraryCode/include_juce_gui_basics.mm new file mode 100644 index 0000000..708837c --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_gui_basics.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_gui_extra.cpp b/BasicUpmixer/JuceLibraryCode/include_juce_gui_extra.cpp new file mode 100644 index 0000000..ea050e5 --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_gui_extra.cpp @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/JuceLibraryCode/include_juce_gui_extra.mm b/BasicUpmixer/JuceLibraryCode/include_juce_gui_extra.mm new file mode 100644 index 0000000..9bb3fea --- /dev/null +++ b/BasicUpmixer/JuceLibraryCode/include_juce_gui_extra.mm @@ -0,0 +1,8 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include diff --git a/BasicUpmixer/Source/PluginEditor.cpp b/BasicUpmixer/Source/PluginEditor.cpp new file mode 100644 index 0000000..b839857 --- /dev/null +++ b/BasicUpmixer/Source/PluginEditor.cpp @@ -0,0 +1,40 @@ +/* + ============================================================================== + + This file contains the basic framework code for a JUCE plugin editor. + + ============================================================================== +*/ + +#include "PluginProcessor.h" +#include "PluginEditor.h" + +//============================================================================== +BasicUpmixerAudioProcessorEditor::BasicUpmixerAudioProcessorEditor (BasicUpmixerAudioProcessor& p) + : AudioProcessorEditor (&p), audioProcessor (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); +} + +BasicUpmixerAudioProcessorEditor::~BasicUpmixerAudioProcessorEditor() +{ +} + +//============================================================================== +void BasicUpmixerAudioProcessorEditor::paint (juce::Graphics& g) +{ + // (Our component is opaque, so we must completely fill the background with a solid colour) + g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId)); + + g.setColour (juce::Colours::white); + g.setFont (15.0f); + g.drawFittedText ("Basic Upmixer\nL=L, R=R, C=0.5*(L+R)", getLocalBounds(), juce::Justification::centred, 1); +} + +void BasicUpmixerAudioProcessorEditor::resized() +{ + // This is generally where you'll want to lay out the positions of any + // subcomponents in your editor.. +} diff --git a/BasicUpmixer/Source/PluginEditor.h b/BasicUpmixer/Source/PluginEditor.h new file mode 100644 index 0000000..5f2c039 --- /dev/null +++ b/BasicUpmixer/Source/PluginEditor.h @@ -0,0 +1,33 @@ +/* + ============================================================================== + + This file contains the basic framework code for a JUCE plugin editor. + + ============================================================================== +*/ + +#pragma once + +#include +#include "PluginProcessor.h" + +//============================================================================== +/** +*/ +class BasicUpmixerAudioProcessorEditor : public juce::AudioProcessorEditor +{ +public: + BasicUpmixerAudioProcessorEditor (BasicUpmixerAudioProcessor&); + ~BasicUpmixerAudioProcessorEditor() override; + + //============================================================================== + void paint (juce::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. + BasicUpmixerAudioProcessor& audioProcessor; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BasicUpmixerAudioProcessorEditor) +}; diff --git a/BasicUpmixer/Source/PluginProcessor.cpp b/BasicUpmixer/Source/PluginProcessor.cpp new file mode 100644 index 0000000..8efc2fa --- /dev/null +++ b/BasicUpmixer/Source/PluginProcessor.cpp @@ -0,0 +1,185 @@ +/* + ============================================================================== + + This file contains the basic framework code for a JUCE plugin processor. + + ============================================================================== +*/ + +#include "PluginProcessor.h" +#include "PluginEditor.h" + +//============================================================================== +BasicUpmixerAudioProcessor::BasicUpmixerAudioProcessor() +#ifndef JucePlugin_PreferredChannelConfigurations + : AudioProcessor (BusesProperties() + #if ! JucePlugin_IsMidiEffect + #if ! JucePlugin_IsSynth + .withInput ("Input", juce::AudioChannelSet::stereo(), true) + #endif + .withOutput ("Output", juce::AudioChannelSet::createLCR(), true) + #endif + ) +#endif +{ +} + +BasicUpmixerAudioProcessor::~BasicUpmixerAudioProcessor() +{ +} + +//============================================================================== +const juce::String BasicUpmixerAudioProcessor::getName() const +{ + return JucePlugin_Name; +} + +bool BasicUpmixerAudioProcessor::acceptsMidi() const +{ + #if JucePlugin_WantsMidiInput + return true; + #else + return false; + #endif +} + +bool BasicUpmixerAudioProcessor::producesMidi() const +{ + #if JucePlugin_ProducesMidiOutput + return true; + #else + return false; + #endif +} + +bool BasicUpmixerAudioProcessor::isMidiEffect() const +{ + #if JucePlugin_IsMidiEffect + return true; + #else + return false; + #endif +} + +double BasicUpmixerAudioProcessor::getTailLengthSeconds() const +{ + return 0.0; +} + +int BasicUpmixerAudioProcessor::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 BasicUpmixerAudioProcessor::getCurrentProgram() +{ + return 0; +} + +void BasicUpmixerAudioProcessor::setCurrentProgram (int index) +{ +} + +const juce::String BasicUpmixerAudioProcessor::getProgramName (int index) +{ + return {}; +} + +void BasicUpmixerAudioProcessor::changeProgramName (int index, const juce::String& newName) +{ +} + +//============================================================================== +void BasicUpmixerAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock) +{ + // Use this method as the place to do any pre-playback + // initialisation that you need.. +} + +void BasicUpmixerAudioProcessor::releaseResources() +{ + // When playback stops, you can use this as an opportunity to free up any + // spare memory, etc. +} + +#ifndef JucePlugin_PreferredChannelConfigurations +bool BasicUpmixerAudioProcessor::isBusesLayoutSupported(const BusesLayout& layouts) const +{ + const juce::AudioChannelSet& mainInput = layouts.getMainInputChannelSet(); + const juce::AudioChannelSet& mainOutput = layouts.getMainOutputChannelSet(); + + return mainInput.size() == 2 && mainOutput.size() == 3; +} +#endif + +void BasicUpmixerAudioProcessor::processBlock (juce::AudioBuffer& buffer, juce::MidiBuffer& midiMessages) +{ + juce::ScopedNoDenormals noDenormals; + auto totalNumInputChannels = getTotalNumInputChannels(); + auto totalNumOutputChannels = getTotalNumOutputChannels(); + + // Find buffer length + const int numSamples = buffer.getNumSamples(); + if (numSamples == 0) { + return; // Exit if no samples + } + + // 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()); + + // Initialise write pointers + auto outputL = buffer.getWritePointer(0); + auto outputR = buffer.getWritePointer(1); + auto outputC = buffer.getWritePointer(2); + + // Main processing loop + for (int n = 0; n < numSamples; ++n) + { + float inputL = buffer.getSample(0, n); + float inputR = buffer.getSample(1, n); + + outputL[n] = inputL; + outputR[n] = inputR; + outputC[n] = 0.5f * (inputL + inputR); + + } +} + +//============================================================================== +bool BasicUpmixerAudioProcessor::hasEditor() const +{ + return true; // (change this to false if you choose to not supply an editor) +} + +juce::AudioProcessorEditor* BasicUpmixerAudioProcessor::createEditor() +{ + return new BasicUpmixerAudioProcessorEditor (*this); +} + +//============================================================================== +void BasicUpmixerAudioProcessor::getStateInformation (juce::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 BasicUpmixerAudioProcessor::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.. +juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter() +{ + return new BasicUpmixerAudioProcessor(); +} diff --git a/BasicUpmixer/Source/PluginProcessor.h b/BasicUpmixer/Source/PluginProcessor.h new file mode 100644 index 0000000..772db70 --- /dev/null +++ b/BasicUpmixer/Source/PluginProcessor.h @@ -0,0 +1,62 @@ +/* + ============================================================================== + + This file contains the basic framework code for a JUCE plugin processor. + + ============================================================================== +*/ + +#pragma once + +#include + +//============================================================================== +/** +*/ +class BasicUpmixerAudioProcessor : public juce::AudioProcessor + #if JucePlugin_Enable_ARA + , public juce::AudioProcessorARAExtension + #endif +{ +public: + //============================================================================== + BasicUpmixerAudioProcessor(); + ~BasicUpmixerAudioProcessor() override; + + //============================================================================== + void prepareToPlay (double sampleRate, int samplesPerBlock) override; + void releaseResources() override; + + #ifndef JucePlugin_PreferredChannelConfigurations + bool isBusesLayoutSupported (const BusesLayout& layouts) const override; + #endif + + void processBlock (juce::AudioBuffer&, juce::MidiBuffer&) override; + + //============================================================================== + juce::AudioProcessorEditor* createEditor() override; + bool hasEditor() const override; + + //============================================================================== + const juce::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 juce::String getProgramName (int index) override; + void changeProgramName (int index, const juce::String& newName) override; + + //============================================================================== + void getStateInformation (juce::MemoryBlock& destData) override; + void setStateInformation (const void* data, int sizeInBytes) override; + +private: + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BasicUpmixerAudioProcessor) +};