diff --git a/.gitignore b/.gitignore
index e364423..99cd74b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,47 +1,58 @@
-# OS files
-.DS_Store
-*.orig
-*.bak
-*~
-*.tmp
-*.rej
-\#*\#
-*.sublime-workspace
-
-# Xcode
-xcuserdata/
-build
-CoreAudioUtilityClasses
-CoreAudioUtilityClasses.zip
-
-# Unity
-Library
-bin
-obj
-UserSettings/
-Temp/
+# Local files and folders generated by Unity
+[Bb]uild/
+[Bb]uilds/
+[Bb]uild/
+[Bb]uilds/
+CodeCoverage/
+Library/
Logs/
-*.orig.*
-
-# VS
-*.csproj.user
-!PlatformDependent/WinRT/Tests/VSUnitTests/Assembly-CSharp/Assembly-CSharp.csproj.user
+obj/
+Temp/
+UserSettings/
+Assets/EntityCache
+Assets/EntityCache.meta
+Assets/InitTestScene*
+Assets/GlobalEntitiesDependencies/
+Assets/GlobalEntitiesDependencies.meta
+Assets/SceneDependencyCache/
+Assets/SceneDependencyCache.meta
+Assets/StreamingAssets/
+Assets/StreamingAssets.meta
+Assets/Resources/PerformanceTestRunInfo.json
+Assets/Resources/PerformanceTestRunInfo.json.meta
+
+# IDE project files
+*.csproj
+*.sln
*.suo
-*.vcxproj.user
-.vs/
-
-# VS intellisense files next to solution file for C++ projects - global configuration should perhaps place it elsewhere
-*.sdf
-
-# temporary locking file for solution access
-*.opensdf
+.idea
+.vs
+.vscode
+.vsconfig
-# resharper
-*.sln.DotSettings.user
+# ReSharper user settings file
+*.DotSettings.user
-# MonoDevelop
-*.userprefs
-
-# ctags:
-.tags
-.tags_sorted_by_file
+# Files generated by merging and stashing
+*.orig
+*.orig.meta
+*.rej
+*.rej.meta
+*_BASE_*
+*_LOCAL_*
+*_REMOTE_*
+*~Stashed changes
+
+# Files generated by code formatting tools
+*.uncrustify
+*.uncrustify.*
+*.preformat.bak*
+
+# Files and Folders generated when running upm-ci locally
+.bin
+.download
+.Editor/
+upm-ci~/
+
+# Overrides
+!*~
diff --git a/Assets/NewAudioMixer.mixer b/Assets/NewAudioMixer.mixer
new file mode 100644
index 0000000..077abde
--- /dev/null
+++ b/Assets/NewAudioMixer.mixer
@@ -0,0 +1,148 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!244 &-7977118129546025922
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: e3f3801202c07421495c60dbc6130bc5
+ m_EffectName: Demo Attenuator
+ m_MixLevel: 80019f6bc56ce415883c2bd221e7ad6d
+ m_Parameters:
+ - m_ParameterName: Gain
+ m_GUID: f074baf01ee4d4bae8bb3595cd9d9ee6
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!244 &-6432890646224930610
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: 9fae1466c181749d4a963cd2c8247a79
+ m_EffectName: SFX Reverb
+ m_MixLevel: 30e6265883d9440bba3e4ecb4e6cd329
+ m_Parameters:
+ - m_ParameterName: Dry Level
+ m_GUID: a9b6aef626caa471788684083299b9d9
+ - m_ParameterName: Room
+ m_GUID: db2e2b5f47eb3461387376c67bff7bcf
+ - m_ParameterName: Room HF
+ m_GUID: 142c663cb79ae4d2cb51d5e5c836eba4
+ - m_ParameterName: Decay Time
+ m_GUID: aa4b646bfd413496ab5980ada022465f
+ - m_ParameterName: Decay HF Ratio
+ m_GUID: a7b18a7fb8e4b41828348f4d0cc05167
+ - m_ParameterName: Reflections
+ m_GUID: 8e53a2b6790944dd98c037f88b9a6aaa
+ - m_ParameterName: Reflect Delay
+ m_GUID: a918dd74ea72b41f5836b612e4ac7687
+ - m_ParameterName: Reverb
+ m_GUID: 77491a67840c947449756b6d063e22d9
+ - m_ParameterName: Reverb Delay
+ m_GUID: 2f61bf2dfab804394853aeb790660906
+ - m_ParameterName: Diffusion
+ m_GUID: 2bfe215075d6d42ed8fd5ee0a5c9c6d9
+ - m_ParameterName: Density
+ m_GUID: 765277769b4a74ebfa8abaac4eecf855
+ - m_ParameterName: HF Reference
+ m_GUID: f1b44a44880e64b46be590bd7700e65d
+ - m_ParameterName: Room LF
+ m_GUID: 982ccb864f15741449fb5a096db35d41
+ - m_ParameterName: LF Reference
+ m_GUID: 29a51b49abd754f65809d4047cb09288
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!244 &-2407325020692116709
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: 3ae98694ba6334b919d21efb19615406
+ m_EffectName: Demo Noise Generator
+ m_MixLevel: 3768fa0c5ff7048a4a87f71f63620d07
+ m_Parameters: []
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!241 &24100000
+AudioMixerController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: NewAudioMixer
+ m_OutputGroup: {fileID: 0}
+ m_MasterGroup: {fileID: 24300002}
+ m_Snapshots:
+ - {fileID: 24500006}
+ m_StartSnapshot: {fileID: 24500006}
+ m_SuspendThreshold: -80
+ m_EnableSuspend: 1
+ m_UpdateMode: 0
+ m_ExposedParameters: []
+ m_AudioMixerGroupViews:
+ - guids:
+ - f217ed59ca913484dbaeeea4c2ff958f
+ name: View
+ m_CurrentViewIndex: 0
+ m_TargetSnapshot: {fileID: 24500006}
+--- !u!243 &24300002
+AudioMixerGroupController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Master
+ m_AudioMixer: {fileID: 24100000}
+ m_GroupID: f217ed59ca913484dbaeeea4c2ff958f
+ m_Children: []
+ m_Volume: 19b1434771a424f08843b48fa343bcda
+ m_Pitch: f785cdbfb153a441d875e428f3f8c24f
+ m_Send: 00000000000000000000000000000000
+ m_Effects:
+ - {fileID: 24400004}
+ - {fileID: -2407325020692116709}
+ - {fileID: -7977118129546025922}
+ - {fileID: -6432890646224930610}
+ m_UserColorIndex: 0
+ m_Mute: 0
+ m_Solo: 0
+ m_BypassEffects: 0
+--- !u!244 &24400004
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: 17b1a810e382b4106967fc8951672d31
+ m_EffectName: Attenuation
+ m_MixLevel: 801609dd472f64188931cede9177f3be
+ m_Parameters: []
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!245 &24500006
+AudioMixerSnapshotController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Snapshot
+ m_AudioMixer: {fileID: 24100000}
+ m_SnapshotID: 49ae24ea2c8064ba8b2388f789f5d8b8
+ m_FloatValues:
+ f074baf01ee4d4bae8bb3595cd9d9ee6: 0
+ 19b1434771a424f08843b48fa343bcda: 0
+ a21399b777b8c4e8e8ad6827892ac04e: 24
+ 0a75b67a94a56403fa6d0d8e3b3c448e: -72
+ db2e2b5f47eb3461387376c67bff7bcf: -10000
+ m_TransitionOverrides: {}
diff --git a/Assets/NewAudioMixer.mixer.meta b/Assets/NewAudioMixer.mixer.meta
new file mode 100644
index 0000000..4f5de14
--- /dev/null
+++ b/Assets/NewAudioMixer.mixer.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 01b92bdf8ee444c85bd872c9f621ed93
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 24100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta
index 860bc2e..17a0700 100644
--- a/Assets/Plugins.meta
+++ b/Assets/Plugins.meta
@@ -1,6 +1,8 @@
fileFormatVersion: 2
-guid: 0cd9cc8c2d1778943869a1c67c9da38f
+guid: 9fa7046a3e8114216aa3bcfa3bf274c5
folderAsset: yes
DefaultImporter:
+ externalObjects: {}
userData:
assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle.meta b/Assets/Plugins/AudioPluginExample.bundle.meta
new file mode 100644
index 0000000..a5e2a09
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle.meta
@@ -0,0 +1,34 @@
+fileFormatVersion: 2
+guid: 452d15f8b81394c00b05bb98bb80219b
+folderAsset: yes
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 1
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents.meta
new file mode 100644
index 0000000..e829417
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 72be786bb6ba74e1dbf2085a95f9bf05
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Info.plist b/Assets/Plugins/AudioPluginExample.bundle/Contents/Info.plist
new file mode 100644
index 0000000..3b1c06b
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Info.plist
@@ -0,0 +1,48 @@
+
+
+
+
+ BuildMachineOSBuild
+ 21F79
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AudioPluginExample
+ CFBundleIdentifier
+ com.yourcompany.AudioPluginExample.AudioPluginExample
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AudioPluginExample
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 13F100
+ DTPlatformName
+ macosx
+ DTPlatformVersion
+ 12.3
+ DTSDKBuild
+ 21E226
+ DTSDKName
+ macosx12.3
+ DTXcode
+ 1341
+ DTXcodeBuild
+ 13F100
+ LSMinimumSystemVersion
+ 11.0
+ NSHumanReadableCopyright
+
+
+
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Info.plist.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents/Info.plist.meta
new file mode 100644
index 0000000..a88559f
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Info.plist.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8eff7b3843f9244aea31590337256815
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS.meta
new file mode 100644
index 0000000..bb2fe57
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5794948facdee4824a32fdc099de61b9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS/AudioPluginExample b/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS/AudioPluginExample
new file mode 100755
index 0000000..8edfe3f
Binary files /dev/null and b/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS/AudioPluginExample differ
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS/AudioPluginExample.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS/AudioPluginExample.meta
new file mode 100644
index 0000000..ed27bf1
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/MacOS/AudioPluginExample.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d0861742cd45844e9b26a01bb3a9c2e2
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources.meta
new file mode 100644
index 0000000..e73efeb
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c7d48493f42204e40a14b0f57bc5f26d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/README.md b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/README.md
new file mode 100644
index 0000000..57cc8a2
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/README.md
@@ -0,0 +1,81 @@
+# A Revised SDK for Unity Naive Audio Plug-ins
+
+This repository contains a proposal for an updated Unity Native Audio Plugin SDK.
+
+## Why
+
+Working with the original SDK, I found that it is quite convoluted and exposes
+an unnecessary amount of the low-level C API to users. Furthermore, it uses the
+C macro preprocessor extensively which is fragile and cumbersome to debug.
+
+Moreover, the project is somewhat of a mouthful with almost 30 audio effects and
+instruments of varying complexity. A lot of those plug-ins are not
+production-ready as they do memory allocation and mutex locking on the audio
+thread. This includes the convolution reverb. In my opinion, a leaner project
+with a few, simple plug-ins that demonstrate the SDK, is a better approach,
+provided our goal is to teach users how the SDK works.
+
+Also, right now the 'AudioPluginUtil' component is a frankenstein mash-up of
+essential functions related to the SDK and convenience functions for doing
+complex number algebra (why don't we use std::complex?!), Fourier transforms,
+mutex locking (users should probably use std::mutex instead), and other stuff.
+
+Finally, the original SDK needs some love anyway, as the Xcode project no longer
+compiles out-of-the-box (haven't been able to test the VS project).
+
+## Approach
+
+I've created a clean C++17 layer that completely shields the low-level API from
+the user. It declares a handful of interfaces that users implement and then the
+SDK handles all low-level stuff behind the scenes. All of the SDK that users
+need to understand is contained in a single header,
+'UnityAudioPluginInterface.hpp', which is about 100 lines of code. Having a
+clean and self-contained C++ interface simplifies the mental burden that we put
+on our users. Also, getting rid of all the macro-preprocessor non-sense and
+weird callbacks such as 'AudioPluginUtil::RegisterParameter' from the original
+SDK, makes plug-ins easier to maintain and debug.
+
+On top of the C++ interface, I have implemented two simple plug-ins, an
+attenuator and a noise generator. Both are very simple plugins. We could probably
+do with an extra and more complicated plug-in with multiple parameters and more
+advanced DSP.
+
+I have also created a Unity project, an Xcode project (for macOS) and a Visual
+Studio project (for Windows) and tested that the code compiles on both platforms.
+On macOS, I have verified that the plug-ins can load and that they work as expected.
+I haven't been able to do this on Windows as I don't have a Windows machine yet.
+
+NOTE: I haven't made any changes to the low-level C API. (So far!)
+
+## Unclarified Points
+
+1. We need to discuss what version of Unity / Xcode / Visual Studio we want to
+use for the SDK.
+
+2. The way parameters is exposed in the new SDK via a callback function that
+returns a vector of parameter descriptors (in the 'EntryPoint' struct) is not
+as userfriendly as it could be.
+
+3. Is it ok to use the C++ Standard Library (STL)?
+
+## Next Steps
+
+1. We need to implement a sane way to transfer samples from the managed code to
+a plugin. The way it is done now in the convolution reverb example is a bit of
+a hack and uses locks and memory allocation on the audio thread.
+
+2. Better functionality for sending events to plugins from the managed code
+would be useful for any kind of procedural audio that we want to trigger from
+within a game.
+
+3. This one is a little bit complicated! If we made it possible to pass data
+to a 'UnityAudioEffect_CreateCallback', e.g. via the 'UnityAudioEffectState'
+struct, we can most likely merge the 'UnityAudioPluginInterface-Raw.hpp' and
+'UnityAudioPluginInterface-Raw.inl' headers into the
+'UnityAudioPluginInterface.cpp' file. As of now, we need to include both of the
+'Raw'-files in the 'EntryPoints.cpp'-file, which is annoying. Getting rid of
+those two files, 'UnityAudioPluginInterface.hpp' would be the only file that
+users ever need to think about.
+
+4. A more complex demo effect, such as an equalizer or something similar, with
+multiple parameters would be nice.
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/README.md.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/README.md.meta
new file mode 100644
index 0000000..028c3a9
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/README.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ba8d96e56ca7d4f0397fd74e3e5f72bc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/UnityAudioPluginInterface-Raw.inl b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/UnityAudioPluginInterface-Raw.inl
new file mode 100644
index 0000000..2b44326
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/UnityAudioPluginInterface-Raw.inl
@@ -0,0 +1,78 @@
+#ifdef AUDIO_PLUGIN_INTERFACE_RAW_INL
+# error
+#else
+# define AUDIO_PLUGIN_INTERFACE_RAW_INL
+#endif
+
+#include "UnityAudioPluginInterface-Raw.h"
+
+typedef struct UnityAudioEffectState RawUnityAudioEffectState;
+
+namespace audio::plugin::raw::impl
+{
+
+extern float raw_effect_state_get_sample_rate
+ (
+ RawUnityAudioEffectState const *
+ );
+
+extern int raw_effect_state_get_max_buffer_sample_count
+ (
+ RawUnityAudioEffectState const *
+ );
+
+extern void raw_effect_state_set_plugin
+ (
+ RawUnityAudioEffectState *,
+ std::unique_ptr
+ );
+
+} // namespace
+
+namespace audio::plugin::raw
+{
+
+struct RawEntryPoint
+{
+ char const * name;
+ UnityAudioEffect_CreateCallback raw_plugin_factory;
+ std::vector (* parameters) ();
+};
+
+template
+UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK factory
+ (
+ RawUnityAudioEffectState * raw_effect_state
+ )
+{
+ plugin::DspConfiguration const dsp_configuration
+ {
+ .sample_rate = impl::raw_effect_state_get_sample_rate(raw_effect_state),
+ .max_sample_count = impl::raw_effect_state_get_max_buffer_sample_count(raw_effect_state)
+ };
+
+ auto plugin = entry_point.factory(dsp_configuration);
+
+ impl::raw_effect_state_set_plugin(raw_effect_state, std::move(plugin));
+
+ return static_cast(UNITY_AUDIODSP_OK);
+}
+
+template RawEntryPoint raw
+ (
+ )
+{
+ return RawEntryPoint
+ {
+ .name = entry_point.name,
+ .raw_plugin_factory = factory,
+ .parameters = entry_point.parameters
+ };
+}
+
+struct EffectData
+{
+ alignas(16) std::unique_ptr plugin;
+};
+
+} // namespace
diff --git a/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/UnityAudioPluginInterface-Raw.inl.meta b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/UnityAudioPluginInterface-Raw.inl.meta
new file mode 100644
index 0000000..716cde0
--- /dev/null
+++ b/Assets/Plugins/AudioPluginExample.bundle/Contents/Resources/UnityAudioPluginInterface-Raw.inl.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f856d3b8376464eea8d83c2e0edca304
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/x86.meta b/Assets/Plugins/x86.meta
old mode 100755
new mode 100644
index c3b3cd6..3d00933
--- a/Assets/Plugins/x86.meta
+++ b/Assets/Plugins/x86.meta
@@ -1,9 +1,8 @@
fileFormatVersion: 2
-guid: d02373d93b4b79e41af291b26708f322
+guid: 287feb52d56254c0ebff87f85a3b3509
folderAsset: yes
-timeCreated: 1425156097
-licenseType: Pro
DefaultImporter:
+ externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Plugins/x86/AudioPluginExample.dll b/Assets/Plugins/x86/AudioPluginExample.dll
new file mode 100644
index 0000000..7073def
Binary files /dev/null and b/Assets/Plugins/x86/AudioPluginExample.dll differ
diff --git a/Assets/Plugins/x86/AudioPluginExample.dll.meta b/Assets/Plugins/x86/AudioPluginExample.dll.meta
new file mode 100644
index 0000000..deb9689
--- /dev/null
+++ b/Assets/Plugins/x86/AudioPluginExample.dll.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: 8ba1acea3bb3743dd9e508d0076e2b4c
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 1
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ CPU: x86
+ DefaultValueInitialized: true
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 0
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/x86_64.meta b/Assets/Plugins/x86_64.meta
old mode 100755
new mode 100644
index 189ed48..396a28a
--- a/Assets/Plugins/x86_64.meta
+++ b/Assets/Plugins/x86_64.meta
@@ -1,9 +1,8 @@
fileFormatVersion: 2
-guid: 08cfceeb8a0af76409eaeb6bbd906e6d
+guid: ab843e2588f4b495abe93ed6b1756016
folderAsset: yes
-timeCreated: 1425156097
-licenseType: Pro
DefaultImporter:
+ externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Plugins/x86_64/AudioPluginExample.dll b/Assets/Plugins/x86_64/AudioPluginExample.dll
new file mode 100644
index 0000000..5efef6f
Binary files /dev/null and b/Assets/Plugins/x86_64/AudioPluginExample.dll differ
diff --git a/Assets/Plugins/x86_64/AudioPluginExample.dll.meta b/Assets/Plugins/x86_64/AudioPluginExample.dll.meta
new file mode 100644
index 0000000..c185ef5
--- /dev/null
+++ b/Assets/Plugins/x86_64/AudioPluginExample.dll.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: 5873d890d66a64cdba2b428d7c1e81bd
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 1
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ DefaultValueInitialized: true
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ Standalone: Win
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity
new file mode 100644
index 0000000..05606ea
--- /dev/null
+++ b/Assets/Scenes/SampleScene.unity
@@ -0,0 +1,361 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 500
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &519420028
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 519420032}
+ - component: {fileID: 519420031}
+ - component: {fileID: 519420029}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &519420029
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 519420028}
+ m_Enabled: 1
+--- !u!20 &519420031
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 519420028}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 0
+ m_HDR: 1
+ m_AllowMSAA: 0
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &519420032
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 519420028}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &951732239
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 951732241}
+ - component: {fileID: 951732240}
+ - component: {fileID: 951732242}
+ m_Layer: 0
+ m_Name: Audio Source
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!82 &951732240
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 951732239}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 24300002, guid: 01b92bdf8ee444c85bd872c9f621ed93, type: 2}
+ m_audioClip: {fileID: 8300000, guid: 12d48de65a467450f817cc4b4152f257, type: 3}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 1
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!4 &951732241
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 951732239}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.3831299, y: -0.04344771, z: -0.007175405}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!164 &951732242
+AudioReverbFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 951732239}
+ m_Enabled: 1
+ m_DryLevel: 0
+ m_Room: 0
+ m_RoomHF: 0
+ m_DecayTime: 1
+ m_DecayHFRatio: 0.5
+ m_ReflectionsLevel: -10000
+ m_ReverbLevel: 0
+ m_ReverbDelay: 0.04
+ m_Diffusion: 100
+ m_Density: 100
+ m_HFReference: 5000
+ m_RoomLF: 0
+ m_LFReference: 250
+ m_ReflectionsDelay: 0
+ m_ReverbPreset: 27
diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/SampleScene.unity.meta
new file mode 100644
index 0000000..c1e3c88
--- /dev/null
+++ b/Assets/Scenes/SampleScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2cda990e2423bbf4892e6590ba056729
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/scenes.meta b/Assets/scenes.meta
index 998aa78..7fe8e10 100644
--- a/Assets/scenes.meta
+++ b/Assets/scenes.meta
@@ -1,9 +1,8 @@
fileFormatVersion: 2
-guid: fc57f3660251d45489f3509c23d3f98f
+guid: 131a6b21c8605f84396be9f6751fb6e3
folderAsset: yes
-timeCreated: 1424053913
-licenseType: Pro
DefaultImporter:
+ externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
diff --git a/GUICode/AudioPluginDemoGUI/AudioPluginDemoGUI.csproj b/GUICode/AudioPluginDemoGUI/AudioPluginDemoGUI.csproj
deleted file mode 100644
index 2da360d..0000000
--- a/GUICode/AudioPluginDemoGUI/AudioPluginDemoGUI.csproj
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {47F13371-1B08-4167-8CB2-176B2C8FBE2B}
- Library
- Properties
- AudioPluginDemoGUI
- AudioPluginDemoGUI
- 512
- v3.5
-
-
- True
- full
- False
- bin\Debug
- DEBUG;TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
- True
- bin\Release
- TRACE
- prompt
- 4
-
-
-
-
-
- none
-
-
-
-
-
-
-
-
-
-
- ..\..\..\..\..\..\Applications\Unity\Unity.app\Contents\Frameworks\Managed\UnityEditor.dll
-
-
- ..\..\..\..\..\..\Applications\Unity\Unity.app\Contents\Frameworks\Managed\UnityEngine.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cp $(TargetPath) ..\..\..\..\Assets\Editor
-
-
-
\ No newline at end of file
diff --git a/GUICode/AudioPluginDemoGUI/AudioPluginDemoGUI.sln b/GUICode/AudioPluginDemoGUI/AudioPluginDemoGUI.sln
deleted file mode 100644
index ef18af9..0000000
--- a/GUICode/AudioPluginDemoGUI/AudioPluginDemoGUI.sln
+++ /dev/null
@@ -1,23 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AudioPluginDemoGUI", "AudioPluginDemoGUI.csproj", "{47F13371-1B08-4167-8CB2-176B2C8FBE2B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {47F13371-1B08-4167-8CB2-176B2C8FBE2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {47F13371-1B08-4167-8CB2-176B2C8FBE2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {47F13371-1B08-4167-8CB2-176B2C8FBE2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {47F13371-1B08-4167-8CB2-176B2C8FBE2B}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
- StartupItem = AudioPluginDemoGUI.csproj
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/Assets/Editor.meta b/LEGACY/Assets/Editor.meta
similarity index 100%
rename from Assets/Editor.meta
rename to LEGACY/Assets/Editor.meta
diff --git a/Assets/Editor/AudioPluginDemoGUI.dll b/LEGACY/Assets/Editor/AudioPluginDemoGUI.dll
similarity index 100%
rename from Assets/Editor/AudioPluginDemoGUI.dll
rename to LEGACY/Assets/Editor/AudioPluginDemoGUI.dll
diff --git a/Assets/Editor/AudioPluginDemoGUI.dll.meta b/LEGACY/Assets/Editor/AudioPluginDemoGUI.dll.meta
similarity index 100%
rename from Assets/Editor/AudioPluginDemoGUI.dll.meta
rename to LEGACY/Assets/Editor/AudioPluginDemoGUI.dll.meta
diff --git a/LEGACY/Assets/Plugins.meta b/LEGACY/Assets/Plugins.meta
new file mode 100644
index 0000000..860bc2e
--- /dev/null
+++ b/LEGACY/Assets/Plugins.meta
@@ -0,0 +1,6 @@
+fileFormatVersion: 2
+guid: 0cd9cc8c2d1778943869a1c67c9da38f
+folderAsset: yes
+DefaultImporter:
+ userData:
+ assetBundleName:
diff --git a/Assets/Plugins/AudioPluginDemo.bundle.meta b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle.meta
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle.meta
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle.meta
diff --git a/Assets/Plugins/AudioPluginDemo.bundle/Contents.meta b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents.meta
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle/Contents.meta
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents.meta
diff --git a/Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist
diff --git a/Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist.meta b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist.meta
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist.meta
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/Info.plist.meta
diff --git a/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS.meta b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS.meta
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS.meta
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS.meta
diff --git a/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo
diff --git a/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo.meta b/LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo.meta
similarity index 100%
rename from Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo.meta
rename to LEGACY/Assets/Plugins/AudioPluginDemo.bundle/Contents/MacOS/AudioPluginDemo.meta
diff --git a/Assets/Plugins/UWP.meta b/LEGACY/Assets/Plugins/UWP.meta
similarity index 100%
rename from Assets/Plugins/UWP.meta
rename to LEGACY/Assets/Plugins/UWP.meta
diff --git a/Assets/Plugins/UWP/ARM.meta b/LEGACY/Assets/Plugins/UWP/ARM.meta
similarity index 100%
rename from Assets/Plugins/UWP/ARM.meta
rename to LEGACY/Assets/Plugins/UWP/ARM.meta
diff --git a/Assets/Plugins/UWP/ARM/AudioPluginDemo.dll b/LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.dll
similarity index 100%
rename from Assets/Plugins/UWP/ARM/AudioPluginDemo.dll
rename to LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.dll
diff --git a/Assets/Plugins/UWP/ARM/AudioPluginDemo.dll.meta b/LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.dll.meta
similarity index 100%
rename from Assets/Plugins/UWP/ARM/AudioPluginDemo.dll.meta
rename to LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.dll.meta
diff --git a/Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb b/LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb
similarity index 100%
rename from Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb
rename to LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb
diff --git a/Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb.meta b/LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb.meta
similarity index 100%
rename from Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb.meta
rename to LEGACY/Assets/Plugins/UWP/ARM/AudioPluginDemo.pdb.meta
diff --git a/Assets/Plugins/UWP/ARM64.meta b/LEGACY/Assets/Plugins/UWP/ARM64.meta
similarity index 100%
rename from Assets/Plugins/UWP/ARM64.meta
rename to LEGACY/Assets/Plugins/UWP/ARM64.meta
diff --git a/Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll b/LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll
similarity index 100%
rename from Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll
rename to LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll
diff --git a/Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll.meta b/LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll.meta
similarity index 100%
rename from Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll.meta
rename to LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.dll.meta
diff --git a/Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb b/LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb
similarity index 100%
rename from Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb
rename to LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb
diff --git a/Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb.meta b/LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb.meta
similarity index 100%
rename from Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb.meta
rename to LEGACY/Assets/Plugins/UWP/ARM64/AudioPluginDemo.pdb.meta
diff --git a/Assets/Plugins/UWP/x64.meta b/LEGACY/Assets/Plugins/UWP/x64.meta
similarity index 100%
rename from Assets/Plugins/UWP/x64.meta
rename to LEGACY/Assets/Plugins/UWP/x64.meta
diff --git a/Assets/Plugins/UWP/x64/AudioPluginDemo.dll b/LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.dll
similarity index 100%
rename from Assets/Plugins/UWP/x64/AudioPluginDemo.dll
rename to LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.dll
diff --git a/Assets/Plugins/UWP/x64/AudioPluginDemo.dll.meta b/LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.dll.meta
similarity index 100%
rename from Assets/Plugins/UWP/x64/AudioPluginDemo.dll.meta
rename to LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.dll.meta
diff --git a/Assets/Plugins/UWP/x64/AudioPluginDemo.pdb b/LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.pdb
similarity index 100%
rename from Assets/Plugins/UWP/x64/AudioPluginDemo.pdb
rename to LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.pdb
diff --git a/Assets/Plugins/UWP/x64/AudioPluginDemo.pdb.meta b/LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.pdb.meta
similarity index 100%
rename from Assets/Plugins/UWP/x64/AudioPluginDemo.pdb.meta
rename to LEGACY/Assets/Plugins/UWP/x64/AudioPluginDemo.pdb.meta
diff --git a/Assets/Plugins/UWP/x86.meta b/LEGACY/Assets/Plugins/UWP/x86.meta
similarity index 100%
rename from Assets/Plugins/UWP/x86.meta
rename to LEGACY/Assets/Plugins/UWP/x86.meta
diff --git a/Assets/Plugins/UWP/x86/AudioPluginDemo.dll b/LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.dll
similarity index 100%
rename from Assets/Plugins/UWP/x86/AudioPluginDemo.dll
rename to LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.dll
diff --git a/Assets/Plugins/UWP/x86/AudioPluginDemo.dll.meta b/LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.dll.meta
similarity index 100%
rename from Assets/Plugins/UWP/x86/AudioPluginDemo.dll.meta
rename to LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.dll.meta
diff --git a/Assets/Plugins/UWP/x86/AudioPluginDemo.pdb b/LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.pdb
similarity index 100%
rename from Assets/Plugins/UWP/x86/AudioPluginDemo.pdb
rename to LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.pdb
diff --git a/Assets/Plugins/UWP/x86/AudioPluginDemo.pdb.meta b/LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.pdb.meta
similarity index 100%
rename from Assets/Plugins/UWP/x86/AudioPluginDemo.pdb.meta
rename to LEGACY/Assets/Plugins/UWP/x86/AudioPluginDemo.pdb.meta
diff --git a/LEGACY/Assets/Plugins/x86.meta b/LEGACY/Assets/Plugins/x86.meta
new file mode 100755
index 0000000..c3b3cd6
--- /dev/null
+++ b/LEGACY/Assets/Plugins/x86.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d02373d93b4b79e41af291b26708f322
+folderAsset: yes
+timeCreated: 1425156097
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/x86/AudioPluginDemo.dll b/LEGACY/Assets/Plugins/x86/AudioPluginDemo.dll
similarity index 100%
rename from Assets/Plugins/x86/AudioPluginDemo.dll
rename to LEGACY/Assets/Plugins/x86/AudioPluginDemo.dll
diff --git a/Assets/Plugins/x86/AudioPluginDemo.dll.meta b/LEGACY/Assets/Plugins/x86/AudioPluginDemo.dll.meta
similarity index 100%
rename from Assets/Plugins/x86/AudioPluginDemo.dll.meta
rename to LEGACY/Assets/Plugins/x86/AudioPluginDemo.dll.meta
diff --git a/LEGACY/Assets/Plugins/x86_64.meta b/LEGACY/Assets/Plugins/x86_64.meta
new file mode 100755
index 0000000..189ed48
--- /dev/null
+++ b/LEGACY/Assets/Plugins/x86_64.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 08cfceeb8a0af76409eaeb6bbd906e6d
+folderAsset: yes
+timeCreated: 1425156097
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/x86_64/AudioPluginDemo.dll b/LEGACY/Assets/Plugins/x86_64/AudioPluginDemo.dll
similarity index 100%
rename from Assets/Plugins/x86_64/AudioPluginDemo.dll
rename to LEGACY/Assets/Plugins/x86_64/AudioPluginDemo.dll
diff --git a/Assets/Plugins/x86_64/AudioPluginDemo.dll.meta b/LEGACY/Assets/Plugins/x86_64/AudioPluginDemo.dll.meta
similarity index 100%
rename from Assets/Plugins/x86_64/AudioPluginDemo.dll.meta
rename to LEGACY/Assets/Plugins/x86_64/AudioPluginDemo.dll.meta
diff --git a/Assets/demos.unity b/LEGACY/Assets/demos.unity
similarity index 100%
rename from Assets/demos.unity
rename to LEGACY/Assets/demos.unity
diff --git a/Assets/demos.unity.meta b/LEGACY/Assets/demos.unity.meta
similarity index 100%
rename from Assets/demos.unity.meta
rename to LEGACY/Assets/demos.unity.meta
diff --git a/Assets/materials.meta b/LEGACY/Assets/materials.meta
similarity index 100%
rename from Assets/materials.meta
rename to LEGACY/Assets/materials.meta
diff --git a/Assets/materials/concrete.mat b/LEGACY/Assets/materials/concrete.mat
similarity index 100%
rename from Assets/materials/concrete.mat
rename to LEGACY/Assets/materials/concrete.mat
diff --git a/Assets/materials/concrete.mat.meta b/LEGACY/Assets/materials/concrete.mat.meta
similarity index 100%
rename from Assets/materials/concrete.mat.meta
rename to LEGACY/Assets/materials/concrete.mat.meta
diff --git a/Assets/materials/granulator fractal.mat b/LEGACY/Assets/materials/granulator fractal.mat
similarity index 100%
rename from Assets/materials/granulator fractal.mat
rename to LEGACY/Assets/materials/granulator fractal.mat
diff --git a/Assets/materials/granulator fractal.mat.meta b/LEGACY/Assets/materials/granulator fractal.mat.meta
similarity index 100%
rename from Assets/materials/granulator fractal.mat.meta
rename to LEGACY/Assets/materials/granulator fractal.mat.meta
diff --git a/Assets/materials/metal.mat b/LEGACY/Assets/materials/metal.mat
similarity index 100%
rename from Assets/materials/metal.mat
rename to LEGACY/Assets/materials/metal.mat
diff --git a/Assets/materials/metal.mat.meta b/LEGACY/Assets/materials/metal.mat.meta
similarity index 100%
rename from Assets/materials/metal.mat.meta
rename to LEGACY/Assets/materials/metal.mat.meta
diff --git a/Assets/materials/routingtest.mat b/LEGACY/Assets/materials/routingtest.mat
similarity index 100%
rename from Assets/materials/routingtest.mat
rename to LEGACY/Assets/materials/routingtest.mat
diff --git a/Assets/materials/routingtest.mat.meta b/LEGACY/Assets/materials/routingtest.mat.meta
similarity index 100%
rename from Assets/materials/routingtest.mat.meta
rename to LEGACY/Assets/materials/routingtest.mat.meta
diff --git a/Assets/materials/wall.mat b/LEGACY/Assets/materials/wall.mat
similarity index 100%
rename from Assets/materials/wall.mat
rename to LEGACY/Assets/materials/wall.mat
diff --git a/Assets/materials/wall.mat.meta b/LEGACY/Assets/materials/wall.mat.meta
similarity index 100%
rename from Assets/materials/wall.mat.meta
rename to LEGACY/Assets/materials/wall.mat.meta
diff --git a/Assets/mixers.meta b/LEGACY/Assets/mixers.meta
similarity index 100%
rename from Assets/mixers.meta
rename to LEGACY/Assets/mixers.meta
diff --git a/Assets/mixers/convolution reverb.mixer b/LEGACY/Assets/mixers/convolution reverb.mixer
similarity index 100%
rename from Assets/mixers/convolution reverb.mixer
rename to LEGACY/Assets/mixers/convolution reverb.mixer
diff --git a/Assets/mixers/convolution reverb.mixer.meta b/LEGACY/Assets/mixers/convolution reverb.mixer.meta
similarity index 100%
rename from Assets/mixers/convolution reverb.mixer.meta
rename to LEGACY/Assets/mixers/convolution reverb.mixer.meta
diff --git a/Assets/mixers/engine.mixer b/LEGACY/Assets/mixers/engine.mixer
similarity index 100%
rename from Assets/mixers/engine.mixer
rename to LEGACY/Assets/mixers/engine.mixer
diff --git a/Assets/mixers/engine.mixer.meta b/LEGACY/Assets/mixers/engine.mixer.meta
similarity index 100%
rename from Assets/mixers/engine.mixer.meta
rename to LEGACY/Assets/mixers/engine.mixer.meta
diff --git a/Assets/mixers/fire.mixer b/LEGACY/Assets/mixers/fire.mixer
similarity index 100%
rename from Assets/mixers/fire.mixer
rename to LEGACY/Assets/mixers/fire.mixer
diff --git a/Assets/mixers/fire.mixer.meta b/LEGACY/Assets/mixers/fire.mixer.meta
similarity index 100%
rename from Assets/mixers/fire.mixer.meta
rename to LEGACY/Assets/mixers/fire.mixer.meta
diff --git a/Assets/mixers/glottal.mixer b/LEGACY/Assets/mixers/glottal.mixer
similarity index 100%
rename from Assets/mixers/glottal.mixer
rename to LEGACY/Assets/mixers/glottal.mixer
diff --git a/Assets/mixers/glottal.mixer.meta b/LEGACY/Assets/mixers/glottal.mixer.meta
similarity index 100%
rename from Assets/mixers/glottal.mixer.meta
rename to LEGACY/Assets/mixers/glottal.mixer.meta
diff --git a/Assets/mixers/granulator fractal demo.mixer b/LEGACY/Assets/mixers/granulator fractal demo.mixer
similarity index 100%
rename from Assets/mixers/granulator fractal demo.mixer
rename to LEGACY/Assets/mixers/granulator fractal demo.mixer
diff --git a/Assets/mixers/granulator fractal demo.mixer.meta b/LEGACY/Assets/mixers/granulator fractal demo.mixer.meta
similarity index 100%
rename from Assets/mixers/granulator fractal demo.mixer.meta
rename to LEGACY/Assets/mixers/granulator fractal demo.mixer.meta
diff --git a/Assets/mixers/granulator live demo.mixer b/LEGACY/Assets/mixers/granulator live demo.mixer
similarity index 100%
rename from Assets/mixers/granulator live demo.mixer
rename to LEGACY/Assets/mixers/granulator live demo.mixer
diff --git a/Assets/mixers/granulator live demo.mixer.meta b/LEGACY/Assets/mixers/granulator live demo.mixer.meta
similarity index 100%
rename from Assets/mixers/granulator live demo.mixer.meta
rename to LEGACY/Assets/mixers/granulator live demo.mixer.meta
diff --git a/Assets/mixers/granulator pitch shifting.mixer b/LEGACY/Assets/mixers/granulator pitch shifting.mixer
similarity index 100%
rename from Assets/mixers/granulator pitch shifting.mixer
rename to LEGACY/Assets/mixers/granulator pitch shifting.mixer
diff --git a/Assets/mixers/granulator pitch shifting.mixer.meta b/LEGACY/Assets/mixers/granulator pitch shifting.mixer.meta
similarity index 100%
rename from Assets/mixers/granulator pitch shifting.mixer.meta
rename to LEGACY/Assets/mixers/granulator pitch shifting.mixer.meta
diff --git a/Assets/mixers/metering.mixer b/LEGACY/Assets/mixers/metering.mixer
similarity index 100%
rename from Assets/mixers/metering.mixer
rename to LEGACY/Assets/mixers/metering.mixer
diff --git a/Assets/mixers/metering.mixer.meta b/LEGACY/Assets/mixers/metering.mixer.meta
similarity index 100%
rename from Assets/mixers/metering.mixer.meta
rename to LEGACY/Assets/mixers/metering.mixer.meta
diff --git a/Assets/mixers/midisynthesizer.mixer b/LEGACY/Assets/mixers/midisynthesizer.mixer
similarity index 100%
rename from Assets/mixers/midisynthesizer.mixer
rename to LEGACY/Assets/mixers/midisynthesizer.mixer
diff --git a/Assets/mixers/midisynthesizer.mixer.meta b/LEGACY/Assets/mixers/midisynthesizer.mixer.meta
similarity index 100%
rename from Assets/mixers/midisynthesizer.mixer.meta
rename to LEGACY/Assets/mixers/midisynthesizer.mixer.meta
diff --git a/Assets/mixers/physics1.mixer b/LEGACY/Assets/mixers/physics1.mixer
similarity index 100%
rename from Assets/mixers/physics1.mixer
rename to LEGACY/Assets/mixers/physics1.mixer
diff --git a/Assets/mixers/physics1.mixer.meta b/LEGACY/Assets/mixers/physics1.mixer.meta
similarity index 100%
rename from Assets/mixers/physics1.mixer.meta
rename to LEGACY/Assets/mixers/physics1.mixer.meta
diff --git a/Assets/mixers/physics2.mixer b/LEGACY/Assets/mixers/physics2.mixer
similarity index 100%
rename from Assets/mixers/physics2.mixer
rename to LEGACY/Assets/mixers/physics2.mixer
diff --git a/Assets/mixers/physics2.mixer.meta b/LEGACY/Assets/mixers/physics2.mixer.meta
similarity index 100%
rename from Assets/mixers/physics2.mixer.meta
rename to LEGACY/Assets/mixers/physics2.mixer.meta
diff --git a/Assets/mixers/pitch detection.mixer b/LEGACY/Assets/mixers/pitch detection.mixer
similarity index 100%
rename from Assets/mixers/pitch detection.mixer
rename to LEGACY/Assets/mixers/pitch detection.mixer
diff --git a/Assets/mixers/pitch detection.mixer.meta b/LEGACY/Assets/mixers/pitch detection.mixer.meta
similarity index 100%
rename from Assets/mixers/pitch detection.mixer.meta
rename to LEGACY/Assets/mixers/pitch detection.mixer.meta
diff --git a/Assets/mixers/spatializerreverb.mixer b/LEGACY/Assets/mixers/spatializerreverb.mixer
similarity index 100%
rename from Assets/mixers/spatializerreverb.mixer
rename to LEGACY/Assets/mixers/spatializerreverb.mixer
diff --git a/Assets/mixers/spatializerreverb.mixer.meta b/LEGACY/Assets/mixers/spatializerreverb.mixer.meta
similarity index 100%
rename from Assets/mixers/spatializerreverb.mixer.meta
rename to LEGACY/Assets/mixers/spatializerreverb.mixer.meta
diff --git a/Assets/mixers/speaker routing.mixer b/LEGACY/Assets/mixers/speaker routing.mixer
similarity index 100%
rename from Assets/mixers/speaker routing.mixer
rename to LEGACY/Assets/mixers/speaker routing.mixer
diff --git a/Assets/mixers/speaker routing.mixer.meta b/LEGACY/Assets/mixers/speaker routing.mixer.meta
similarity index 100%
rename from Assets/mixers/speaker routing.mixer.meta
rename to LEGACY/Assets/mixers/speaker routing.mixer.meta
diff --git a/Assets/mixers/swords.mixer b/LEGACY/Assets/mixers/swords.mixer
similarity index 100%
rename from Assets/mixers/swords.mixer
rename to LEGACY/Assets/mixers/swords.mixer
diff --git a/Assets/mixers/swords.mixer.meta b/LEGACY/Assets/mixers/swords.mixer.meta
similarity index 100%
rename from Assets/mixers/swords.mixer.meta
rename to LEGACY/Assets/mixers/swords.mixer.meta
diff --git a/Assets/mixers/synthesizers.mixer b/LEGACY/Assets/mixers/synthesizers.mixer
similarity index 100%
rename from Assets/mixers/synthesizers.mixer
rename to LEGACY/Assets/mixers/synthesizers.mixer
diff --git a/Assets/mixers/synthesizers.mixer.meta b/LEGACY/Assets/mixers/synthesizers.mixer.meta
similarity index 100%
rename from Assets/mixers/synthesizers.mixer.meta
rename to LEGACY/Assets/mixers/synthesizers.mixer.meta
diff --git a/Assets/mixers/teleport demo.mixer b/LEGACY/Assets/mixers/teleport demo.mixer
similarity index 100%
rename from Assets/mixers/teleport demo.mixer
rename to LEGACY/Assets/mixers/teleport demo.mixer
diff --git a/Assets/mixers/teleport demo.mixer.meta b/LEGACY/Assets/mixers/teleport demo.mixer.meta
similarity index 100%
rename from Assets/mixers/teleport demo.mixer.meta
rename to LEGACY/Assets/mixers/teleport demo.mixer.meta
diff --git a/Assets/mixers/vocoder.mixer b/LEGACY/Assets/mixers/vocoder.mixer
similarity index 100%
rename from Assets/mixers/vocoder.mixer
rename to LEGACY/Assets/mixers/vocoder.mixer
diff --git a/Assets/mixers/vocoder.mixer.meta b/LEGACY/Assets/mixers/vocoder.mixer.meta
similarity index 100%
rename from Assets/mixers/vocoder.mixer.meta
rename to LEGACY/Assets/mixers/vocoder.mixer.meta
diff --git a/Assets/mixers/voicefx.mixer b/LEGACY/Assets/mixers/voicefx.mixer
similarity index 100%
rename from Assets/mixers/voicefx.mixer
rename to LEGACY/Assets/mixers/voicefx.mixer
diff --git a/Assets/mixers/voicefx.mixer.meta b/LEGACY/Assets/mixers/voicefx.mixer.meta
similarity index 100%
rename from Assets/mixers/voicefx.mixer.meta
rename to LEGACY/Assets/mixers/voicefx.mixer.meta
diff --git a/Assets/mixers/wahwah.mixer b/LEGACY/Assets/mixers/wahwah.mixer
similarity index 100%
rename from Assets/mixers/wahwah.mixer
rename to LEGACY/Assets/mixers/wahwah.mixer
diff --git a/Assets/mixers/wahwah.mixer.meta b/LEGACY/Assets/mixers/wahwah.mixer.meta
similarity index 100%
rename from Assets/mixers/wahwah.mixer.meta
rename to LEGACY/Assets/mixers/wahwah.mixer.meta
diff --git a/Assets/mixers/weather.mixer b/LEGACY/Assets/mixers/weather.mixer
similarity index 100%
rename from Assets/mixers/weather.mixer
rename to LEGACY/Assets/mixers/weather.mixer
diff --git a/Assets/mixers/weather.mixer.meta b/LEGACY/Assets/mixers/weather.mixer.meta
similarity index 100%
rename from Assets/mixers/weather.mixer.meta
rename to LEGACY/Assets/mixers/weather.mixer.meta
diff --git a/Assets/physics materials.meta b/LEGACY/Assets/physics materials.meta
similarity index 100%
rename from Assets/physics materials.meta
rename to LEGACY/Assets/physics materials.meta
diff --git a/Assets/physics materials/floor.physicMaterial b/LEGACY/Assets/physics materials/floor.physicMaterial
similarity index 100%
rename from Assets/physics materials/floor.physicMaterial
rename to LEGACY/Assets/physics materials/floor.physicMaterial
diff --git a/Assets/physics materials/floor.physicMaterial.meta b/LEGACY/Assets/physics materials/floor.physicMaterial.meta
similarity index 100%
rename from Assets/physics materials/floor.physicMaterial.meta
rename to LEGACY/Assets/physics materials/floor.physicMaterial.meta
diff --git a/LEGACY/Assets/scenes.meta b/LEGACY/Assets/scenes.meta
new file mode 100644
index 0000000..998aa78
--- /dev/null
+++ b/LEGACY/Assets/scenes.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: fc57f3660251d45489f3509c23d3f98f
+folderAsset: yes
+timeCreated: 1424053913
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/scenes/convolution reverb.unity b/LEGACY/Assets/scenes/convolution reverb.unity
similarity index 100%
rename from Assets/scenes/convolution reverb.unity
rename to LEGACY/Assets/scenes/convolution reverb.unity
diff --git a/Assets/scenes/convolution reverb.unity.meta b/LEGACY/Assets/scenes/convolution reverb.unity.meta
similarity index 100%
rename from Assets/scenes/convolution reverb.unity.meta
rename to LEGACY/Assets/scenes/convolution reverb.unity.meta
diff --git a/Assets/scenes/engine.unity b/LEGACY/Assets/scenes/engine.unity
similarity index 100%
rename from Assets/scenes/engine.unity
rename to LEGACY/Assets/scenes/engine.unity
diff --git a/Assets/scenes/engine.unity.meta b/LEGACY/Assets/scenes/engine.unity.meta
similarity index 100%
rename from Assets/scenes/engine.unity.meta
rename to LEGACY/Assets/scenes/engine.unity.meta
diff --git a/Assets/scenes/fire.unity b/LEGACY/Assets/scenes/fire.unity
similarity index 100%
rename from Assets/scenes/fire.unity
rename to LEGACY/Assets/scenes/fire.unity
diff --git a/Assets/scenes/fire.unity.meta b/LEGACY/Assets/scenes/fire.unity.meta
similarity index 100%
rename from Assets/scenes/fire.unity.meta
rename to LEGACY/Assets/scenes/fire.unity.meta
diff --git a/Assets/scenes/glottal.unity b/LEGACY/Assets/scenes/glottal.unity
similarity index 100%
rename from Assets/scenes/glottal.unity
rename to LEGACY/Assets/scenes/glottal.unity
diff --git a/Assets/scenes/glottal.unity.meta b/LEGACY/Assets/scenes/glottal.unity.meta
similarity index 100%
rename from Assets/scenes/glottal.unity.meta
rename to LEGACY/Assets/scenes/glottal.unity.meta
diff --git a/Assets/scenes/granulator fractal demo.unity b/LEGACY/Assets/scenes/granulator fractal demo.unity
similarity index 100%
rename from Assets/scenes/granulator fractal demo.unity
rename to LEGACY/Assets/scenes/granulator fractal demo.unity
diff --git a/Assets/scenes/granulator fractal demo.unity.meta b/LEGACY/Assets/scenes/granulator fractal demo.unity.meta
similarity index 100%
rename from Assets/scenes/granulator fractal demo.unity.meta
rename to LEGACY/Assets/scenes/granulator fractal demo.unity.meta
diff --git a/Assets/scenes/granulator live demo.unity b/LEGACY/Assets/scenes/granulator live demo.unity
similarity index 100%
rename from Assets/scenes/granulator live demo.unity
rename to LEGACY/Assets/scenes/granulator live demo.unity
diff --git a/Assets/scenes/granulator live demo.unity.meta b/LEGACY/Assets/scenes/granulator live demo.unity.meta
similarity index 100%
rename from Assets/scenes/granulator live demo.unity.meta
rename to LEGACY/Assets/scenes/granulator live demo.unity.meta
diff --git a/Assets/scenes/granulator pitch shifting.unity b/LEGACY/Assets/scenes/granulator pitch shifting.unity
similarity index 100%
rename from Assets/scenes/granulator pitch shifting.unity
rename to LEGACY/Assets/scenes/granulator pitch shifting.unity
diff --git a/Assets/scenes/granulator pitch shifting.unity.meta b/LEGACY/Assets/scenes/granulator pitch shifting.unity.meta
similarity index 100%
rename from Assets/scenes/granulator pitch shifting.unity.meta
rename to LEGACY/Assets/scenes/granulator pitch shifting.unity.meta
diff --git a/Assets/scenes/metering.unity b/LEGACY/Assets/scenes/metering.unity
similarity index 100%
rename from Assets/scenes/metering.unity
rename to LEGACY/Assets/scenes/metering.unity
diff --git a/Assets/scenes/metering.unity.meta b/LEGACY/Assets/scenes/metering.unity.meta
similarity index 100%
rename from Assets/scenes/metering.unity.meta
rename to LEGACY/Assets/scenes/metering.unity.meta
diff --git a/Assets/scenes/midisynthesizer.unity b/LEGACY/Assets/scenes/midisynthesizer.unity
similarity index 100%
rename from Assets/scenes/midisynthesizer.unity
rename to LEGACY/Assets/scenes/midisynthesizer.unity
diff --git a/Assets/scenes/midisynthesizer.unity.meta b/LEGACY/Assets/scenes/midisynthesizer.unity.meta
similarity index 100%
rename from Assets/scenes/midisynthesizer.unity.meta
rename to LEGACY/Assets/scenes/midisynthesizer.unity.meta
diff --git a/Assets/scenes/physics1.unity b/LEGACY/Assets/scenes/physics1.unity
similarity index 100%
rename from Assets/scenes/physics1.unity
rename to LEGACY/Assets/scenes/physics1.unity
diff --git a/Assets/scenes/physics1.unity.meta b/LEGACY/Assets/scenes/physics1.unity.meta
similarity index 100%
rename from Assets/scenes/physics1.unity.meta
rename to LEGACY/Assets/scenes/physics1.unity.meta
diff --git a/Assets/scenes/physics2.unity b/LEGACY/Assets/scenes/physics2.unity
similarity index 100%
rename from Assets/scenes/physics2.unity
rename to LEGACY/Assets/scenes/physics2.unity
diff --git a/Assets/scenes/physics2.unity.meta b/LEGACY/Assets/scenes/physics2.unity.meta
similarity index 100%
rename from Assets/scenes/physics2.unity.meta
rename to LEGACY/Assets/scenes/physics2.unity.meta
diff --git a/Assets/scenes/pitch detection.unity b/LEGACY/Assets/scenes/pitch detection.unity
similarity index 100%
rename from Assets/scenes/pitch detection.unity
rename to LEGACY/Assets/scenes/pitch detection.unity
diff --git a/Assets/scenes/pitch detection.unity.meta b/LEGACY/Assets/scenes/pitch detection.unity.meta
similarity index 100%
rename from Assets/scenes/pitch detection.unity.meta
rename to LEGACY/Assets/scenes/pitch detection.unity.meta
diff --git a/Assets/scenes/spatialization.unity b/LEGACY/Assets/scenes/spatialization.unity
similarity index 100%
rename from Assets/scenes/spatialization.unity
rename to LEGACY/Assets/scenes/spatialization.unity
diff --git a/Assets/scenes/spatialization.unity.meta b/LEGACY/Assets/scenes/spatialization.unity.meta
similarity index 100%
rename from Assets/scenes/spatialization.unity.meta
rename to LEGACY/Assets/scenes/spatialization.unity.meta
diff --git a/Assets/scenes/speakerrouting.unity b/LEGACY/Assets/scenes/speakerrouting.unity
similarity index 100%
rename from Assets/scenes/speakerrouting.unity
rename to LEGACY/Assets/scenes/speakerrouting.unity
diff --git a/Assets/scenes/speakerrouting.unity.meta b/LEGACY/Assets/scenes/speakerrouting.unity.meta
similarity index 100%
rename from Assets/scenes/speakerrouting.unity.meta
rename to LEGACY/Assets/scenes/speakerrouting.unity.meta
diff --git a/Assets/scenes/swords.unity b/LEGACY/Assets/scenes/swords.unity
similarity index 100%
rename from Assets/scenes/swords.unity
rename to LEGACY/Assets/scenes/swords.unity
diff --git a/Assets/scenes/swords.unity.meta b/LEGACY/Assets/scenes/swords.unity.meta
similarity index 100%
rename from Assets/scenes/swords.unity.meta
rename to LEGACY/Assets/scenes/swords.unity.meta
diff --git a/Assets/scenes/synthesizers.unity b/LEGACY/Assets/scenes/synthesizers.unity
similarity index 100%
rename from Assets/scenes/synthesizers.unity
rename to LEGACY/Assets/scenes/synthesizers.unity
diff --git a/Assets/scenes/synthesizers.unity.meta b/LEGACY/Assets/scenes/synthesizers.unity.meta
similarity index 100%
rename from Assets/scenes/synthesizers.unity.meta
rename to LEGACY/Assets/scenes/synthesizers.unity.meta
diff --git a/Assets/scenes/teleport.unity b/LEGACY/Assets/scenes/teleport.unity
similarity index 100%
rename from Assets/scenes/teleport.unity
rename to LEGACY/Assets/scenes/teleport.unity
diff --git a/Assets/scenes/teleport.unity.meta b/LEGACY/Assets/scenes/teleport.unity.meta
similarity index 100%
rename from Assets/scenes/teleport.unity.meta
rename to LEGACY/Assets/scenes/teleport.unity.meta
diff --git a/Assets/scenes/velvetreverb.unity b/LEGACY/Assets/scenes/velvetreverb.unity
similarity index 100%
rename from Assets/scenes/velvetreverb.unity
rename to LEGACY/Assets/scenes/velvetreverb.unity
diff --git a/Assets/scenes/velvetreverb.unity.meta b/LEGACY/Assets/scenes/velvetreverb.unity.meta
similarity index 100%
rename from Assets/scenes/velvetreverb.unity.meta
rename to LEGACY/Assets/scenes/velvetreverb.unity.meta
diff --git a/Assets/scenes/vocoder.unity b/LEGACY/Assets/scenes/vocoder.unity
similarity index 100%
rename from Assets/scenes/vocoder.unity
rename to LEGACY/Assets/scenes/vocoder.unity
diff --git a/Assets/scenes/vocoder.unity.meta b/LEGACY/Assets/scenes/vocoder.unity.meta
similarity index 100%
rename from Assets/scenes/vocoder.unity.meta
rename to LEGACY/Assets/scenes/vocoder.unity.meta
diff --git a/Assets/scenes/voicefx.unity b/LEGACY/Assets/scenes/voicefx.unity
similarity index 100%
rename from Assets/scenes/voicefx.unity
rename to LEGACY/Assets/scenes/voicefx.unity
diff --git a/Assets/scenes/voicefx.unity.meta b/LEGACY/Assets/scenes/voicefx.unity.meta
similarity index 100%
rename from Assets/scenes/voicefx.unity.meta
rename to LEGACY/Assets/scenes/voicefx.unity.meta
diff --git a/Assets/scenes/wahwah.unity b/LEGACY/Assets/scenes/wahwah.unity
similarity index 100%
rename from Assets/scenes/wahwah.unity
rename to LEGACY/Assets/scenes/wahwah.unity
diff --git a/Assets/scenes/wahwah.unity.meta b/LEGACY/Assets/scenes/wahwah.unity.meta
similarity index 100%
rename from Assets/scenes/wahwah.unity.meta
rename to LEGACY/Assets/scenes/wahwah.unity.meta
diff --git a/Assets/scenes/weather.unity b/LEGACY/Assets/scenes/weather.unity
similarity index 100%
rename from Assets/scenes/weather.unity
rename to LEGACY/Assets/scenes/weather.unity
diff --git a/Assets/scenes/weather.unity.meta b/LEGACY/Assets/scenes/weather.unity.meta
similarity index 100%
rename from Assets/scenes/weather.unity.meta
rename to LEGACY/Assets/scenes/weather.unity.meta
diff --git a/Assets/scripts.meta b/LEGACY/Assets/scripts.meta
similarity index 100%
rename from Assets/scripts.meta
rename to LEGACY/Assets/scripts.meta
diff --git a/Assets/scripts/AudioRecorder.cs b/LEGACY/Assets/scripts/AudioRecorder.cs
similarity index 100%
rename from Assets/scripts/AudioRecorder.cs
rename to LEGACY/Assets/scripts/AudioRecorder.cs
diff --git a/Assets/scripts/AudioRecorder.cs.meta b/LEGACY/Assets/scripts/AudioRecorder.cs.meta
similarity index 100%
rename from Assets/scripts/AudioRecorder.cs.meta
rename to LEGACY/Assets/scripts/AudioRecorder.cs.meta
diff --git a/Assets/scripts/CircularMotion.cs b/LEGACY/Assets/scripts/CircularMotion.cs
similarity index 100%
rename from Assets/scripts/CircularMotion.cs
rename to LEGACY/Assets/scripts/CircularMotion.cs
diff --git a/Assets/scripts/CircularMotion.cs.meta b/LEGACY/Assets/scripts/CircularMotion.cs.meta
similarity index 100%
rename from Assets/scripts/CircularMotion.cs.meta
rename to LEGACY/Assets/scripts/CircularMotion.cs.meta
diff --git a/Assets/scripts/Clicker.cs b/LEGACY/Assets/scripts/Clicker.cs
similarity index 100%
rename from Assets/scripts/Clicker.cs
rename to LEGACY/Assets/scripts/Clicker.cs
diff --git a/Assets/scripts/Clicker.cs.meta b/LEGACY/Assets/scripts/Clicker.cs.meta
similarity index 100%
rename from Assets/scripts/Clicker.cs.meta
rename to LEGACY/Assets/scripts/Clicker.cs.meta
diff --git a/Assets/scripts/ConvolutionReverbUploadIR.cs b/LEGACY/Assets/scripts/ConvolutionReverbUploadIR.cs
similarity index 100%
rename from Assets/scripts/ConvolutionReverbUploadIR.cs
rename to LEGACY/Assets/scripts/ConvolutionReverbUploadIR.cs
diff --git a/Assets/scripts/ConvolutionReverbUploadIR.cs.meta b/LEGACY/Assets/scripts/ConvolutionReverbUploadIR.cs.meta
similarity index 100%
rename from Assets/scripts/ConvolutionReverbUploadIR.cs.meta
rename to LEGACY/Assets/scripts/ConvolutionReverbUploadIR.cs.meta
diff --git a/Assets/scripts/DemoSelector.cs b/LEGACY/Assets/scripts/DemoSelector.cs
similarity index 100%
rename from Assets/scripts/DemoSelector.cs
rename to LEGACY/Assets/scripts/DemoSelector.cs
diff --git a/Assets/scripts/DemoSelector.cs.meta b/LEGACY/Assets/scripts/DemoSelector.cs.meta
similarity index 100%
rename from Assets/scripts/DemoSelector.cs.meta
rename to LEGACY/Assets/scripts/DemoSelector.cs.meta
diff --git a/Assets/scripts/DemoSelectorBackButton.cs b/LEGACY/Assets/scripts/DemoSelectorBackButton.cs
similarity index 100%
rename from Assets/scripts/DemoSelectorBackButton.cs
rename to LEGACY/Assets/scripts/DemoSelectorBackButton.cs
diff --git a/Assets/scripts/DemoSelectorBackButton.cs.meta b/LEGACY/Assets/scripts/DemoSelectorBackButton.cs.meta
similarity index 100%
rename from Assets/scripts/DemoSelectorBackButton.cs.meta
rename to LEGACY/Assets/scripts/DemoSelectorBackButton.cs.meta
diff --git a/Assets/scripts/EngineControl.cs b/LEGACY/Assets/scripts/EngineControl.cs
similarity index 100%
rename from Assets/scripts/EngineControl.cs
rename to LEGACY/Assets/scripts/EngineControl.cs
diff --git a/Assets/scripts/EngineControl.cs.meta b/LEGACY/Assets/scripts/EngineControl.cs.meta
similarity index 100%
rename from Assets/scripts/EngineControl.cs.meta
rename to LEGACY/Assets/scripts/EngineControl.cs.meta
diff --git a/Assets/scripts/FireSelector.cs b/LEGACY/Assets/scripts/FireSelector.cs
similarity index 100%
rename from Assets/scripts/FireSelector.cs
rename to LEGACY/Assets/scripts/FireSelector.cs
diff --git a/Assets/scripts/FireSelector.cs.meta b/LEGACY/Assets/scripts/FireSelector.cs.meta
similarity index 100%
rename from Assets/scripts/FireSelector.cs.meta
rename to LEGACY/Assets/scripts/FireSelector.cs.meta
diff --git a/Assets/scripts/FlyCam.cs b/LEGACY/Assets/scripts/FlyCam.cs
similarity index 100%
rename from Assets/scripts/FlyCam.cs
rename to LEGACY/Assets/scripts/FlyCam.cs
diff --git a/Assets/scripts/FlyCam.cs.meta b/LEGACY/Assets/scripts/FlyCam.cs.meta
similarity index 100%
rename from Assets/scripts/FlyCam.cs.meta
rename to LEGACY/Assets/scripts/FlyCam.cs.meta
diff --git a/Assets/scripts/FullscreenShader.cs b/LEGACY/Assets/scripts/FullscreenShader.cs
similarity index 100%
rename from Assets/scripts/FullscreenShader.cs
rename to LEGACY/Assets/scripts/FullscreenShader.cs
diff --git a/Assets/scripts/FullscreenShader.cs.meta b/LEGACY/Assets/scripts/FullscreenShader.cs.meta
similarity index 100%
rename from Assets/scripts/FullscreenShader.cs.meta
rename to LEGACY/Assets/scripts/FullscreenShader.cs.meta
diff --git a/Assets/scripts/GlottalControl.cs b/LEGACY/Assets/scripts/GlottalControl.cs
similarity index 100%
rename from Assets/scripts/GlottalControl.cs
rename to LEGACY/Assets/scripts/GlottalControl.cs
diff --git a/Assets/scripts/GlottalControl.cs.meta b/LEGACY/Assets/scripts/GlottalControl.cs.meta
similarity index 100%
rename from Assets/scripts/GlottalControl.cs.meta
rename to LEGACY/Assets/scripts/GlottalControl.cs.meta
diff --git a/Assets/scripts/GranulatorController.cs b/LEGACY/Assets/scripts/GranulatorController.cs
similarity index 100%
rename from Assets/scripts/GranulatorController.cs
rename to LEGACY/Assets/scripts/GranulatorController.cs
diff --git a/Assets/scripts/GranulatorController.cs.meta b/LEGACY/Assets/scripts/GranulatorController.cs.meta
similarity index 100%
rename from Assets/scripts/GranulatorController.cs.meta
rename to LEGACY/Assets/scripts/GranulatorController.cs.meta
diff --git a/Assets/scripts/GranulatorDebug.cs b/LEGACY/Assets/scripts/GranulatorDebug.cs
similarity index 100%
rename from Assets/scripts/GranulatorDebug.cs
rename to LEGACY/Assets/scripts/GranulatorDebug.cs
diff --git a/Assets/scripts/GranulatorDebug.cs.meta b/LEGACY/Assets/scripts/GranulatorDebug.cs.meta
similarity index 100%
rename from Assets/scripts/GranulatorDebug.cs.meta
rename to LEGACY/Assets/scripts/GranulatorDebug.cs.meta
diff --git a/Assets/scripts/GranulatorUploadSample.cs b/LEGACY/Assets/scripts/GranulatorUploadSample.cs
similarity index 100%
rename from Assets/scripts/GranulatorUploadSample.cs
rename to LEGACY/Assets/scripts/GranulatorUploadSample.cs
diff --git a/Assets/scripts/GranulatorUploadSample.cs.meta b/LEGACY/Assets/scripts/GranulatorUploadSample.cs.meta
similarity index 100%
rename from Assets/scripts/GranulatorUploadSample.cs.meta
rename to LEGACY/Assets/scripts/GranulatorUploadSample.cs.meta
diff --git a/Assets/scripts/ImpactNoiseGenerator.cs b/LEGACY/Assets/scripts/ImpactNoiseGenerator.cs
similarity index 100%
rename from Assets/scripts/ImpactNoiseGenerator.cs
rename to LEGACY/Assets/scripts/ImpactNoiseGenerator.cs
diff --git a/Assets/scripts/ImpactNoiseGenerator.cs.meta b/LEGACY/Assets/scripts/ImpactNoiseGenerator.cs.meta
similarity index 100%
rename from Assets/scripts/ImpactNoiseGenerator.cs.meta
rename to LEGACY/Assets/scripts/ImpactNoiseGenerator.cs.meta
diff --git a/Assets/scripts/ImpactSignal.cs b/LEGACY/Assets/scripts/ImpactSignal.cs
similarity index 100%
rename from Assets/scripts/ImpactSignal.cs
rename to LEGACY/Assets/scripts/ImpactSignal.cs
diff --git a/Assets/scripts/ImpactSignal.cs.meta b/LEGACY/Assets/scripts/ImpactSignal.cs.meta
similarity index 100%
rename from Assets/scripts/ImpactSignal.cs.meta
rename to LEGACY/Assets/scripts/ImpactSignal.cs.meta
diff --git a/Assets/scripts/InfoText.cs b/LEGACY/Assets/scripts/InfoText.cs
similarity index 100%
rename from Assets/scripts/InfoText.cs
rename to LEGACY/Assets/scripts/InfoText.cs
diff --git a/Assets/scripts/InfoText.cs.meta b/LEGACY/Assets/scripts/InfoText.cs.meta
similarity index 100%
rename from Assets/scripts/InfoText.cs.meta
rename to LEGACY/Assets/scripts/InfoText.cs.meta
diff --git a/Assets/scripts/KeySampleTrigger.cs b/LEGACY/Assets/scripts/KeySampleTrigger.cs
similarity index 100%
rename from Assets/scripts/KeySampleTrigger.cs
rename to LEGACY/Assets/scripts/KeySampleTrigger.cs
diff --git a/Assets/scripts/KeySampleTrigger.cs.meta b/LEGACY/Assets/scripts/KeySampleTrigger.cs.meta
similarity index 100%
rename from Assets/scripts/KeySampleTrigger.cs.meta
rename to LEGACY/Assets/scripts/KeySampleTrigger.cs.meta
diff --git a/Assets/scripts/MicrophoneFeed.cs b/LEGACY/Assets/scripts/MicrophoneFeed.cs
similarity index 100%
rename from Assets/scripts/MicrophoneFeed.cs
rename to LEGACY/Assets/scripts/MicrophoneFeed.cs
diff --git a/Assets/scripts/MicrophoneFeed.cs.meta b/LEGACY/Assets/scripts/MicrophoneFeed.cs.meta
similarity index 100%
rename from Assets/scripts/MicrophoneFeed.cs.meta
rename to LEGACY/Assets/scripts/MicrophoneFeed.cs.meta
diff --git a/Assets/scripts/MidiSynthPhrase.cs b/LEGACY/Assets/scripts/MidiSynthPhrase.cs
similarity index 100%
rename from Assets/scripts/MidiSynthPhrase.cs
rename to LEGACY/Assets/scripts/MidiSynthPhrase.cs
diff --git a/Assets/scripts/MidiSynthPhrase.cs.meta b/LEGACY/Assets/scripts/MidiSynthPhrase.cs.meta
similarity index 100%
rename from Assets/scripts/MidiSynthPhrase.cs.meta
rename to LEGACY/Assets/scripts/MidiSynthPhrase.cs.meta
diff --git a/Assets/scripts/ModifyWave.cs b/LEGACY/Assets/scripts/ModifyWave.cs
similarity index 100%
rename from Assets/scripts/ModifyWave.cs
rename to LEGACY/Assets/scripts/ModifyWave.cs
diff --git a/Assets/scripts/ModifyWave.cs.meta b/LEGACY/Assets/scripts/ModifyWave.cs.meta
similarity index 100%
rename from Assets/scripts/ModifyWave.cs.meta
rename to LEGACY/Assets/scripts/ModifyWave.cs.meta
diff --git a/Assets/scripts/MoveController.cs b/LEGACY/Assets/scripts/MoveController.cs
similarity index 100%
rename from Assets/scripts/MoveController.cs
rename to LEGACY/Assets/scripts/MoveController.cs
diff --git a/Assets/scripts/MoveController.cs.meta b/LEGACY/Assets/scripts/MoveController.cs.meta
similarity index 100%
rename from Assets/scripts/MoveController.cs.meta
rename to LEGACY/Assets/scripts/MoveController.cs.meta
diff --git a/Assets/scripts/NoiseSweep.cs b/LEGACY/Assets/scripts/NoiseSweep.cs
similarity index 100%
rename from Assets/scripts/NoiseSweep.cs
rename to LEGACY/Assets/scripts/NoiseSweep.cs
diff --git a/Assets/scripts/NoiseSweep.cs.meta b/LEGACY/Assets/scripts/NoiseSweep.cs.meta
similarity index 100%
rename from Assets/scripts/NoiseSweep.cs.meta
rename to LEGACY/Assets/scripts/NoiseSweep.cs.meta
diff --git a/Assets/scripts/PhysicsSpawner.cs b/LEGACY/Assets/scripts/PhysicsSpawner.cs
similarity index 100%
rename from Assets/scripts/PhysicsSpawner.cs
rename to LEGACY/Assets/scripts/PhysicsSpawner.cs
diff --git a/Assets/scripts/PhysicsSpawner.cs.meta b/LEGACY/Assets/scripts/PhysicsSpawner.cs.meta
similarity index 100%
rename from Assets/scripts/PhysicsSpawner.cs.meta
rename to LEGACY/Assets/scripts/PhysicsSpawner.cs.meta
diff --git a/Assets/scripts/PitchDetectDemo.cs b/LEGACY/Assets/scripts/PitchDetectDemo.cs
similarity index 100%
rename from Assets/scripts/PitchDetectDemo.cs
rename to LEGACY/Assets/scripts/PitchDetectDemo.cs
diff --git a/Assets/scripts/PitchDetectDemo.cs.meta b/LEGACY/Assets/scripts/PitchDetectDemo.cs.meta
similarity index 100%
rename from Assets/scripts/PitchDetectDemo.cs.meta
rename to LEGACY/Assets/scripts/PitchDetectDemo.cs.meta
diff --git a/Assets/scripts/SetStartTime.cs b/LEGACY/Assets/scripts/SetStartTime.cs
similarity index 100%
rename from Assets/scripts/SetStartTime.cs
rename to LEGACY/Assets/scripts/SetStartTime.cs
diff --git a/Assets/scripts/SetStartTime.cs.meta b/LEGACY/Assets/scripts/SetStartTime.cs.meta
similarity index 100%
rename from Assets/scripts/SetStartTime.cs.meta
rename to LEGACY/Assets/scripts/SetStartTime.cs.meta
diff --git a/Assets/scripts/ShowPlayPos.cs b/LEGACY/Assets/scripts/ShowPlayPos.cs
similarity index 100%
rename from Assets/scripts/ShowPlayPos.cs
rename to LEGACY/Assets/scripts/ShowPlayPos.cs
diff --git a/Assets/scripts/ShowPlayPos.cs.meta b/LEGACY/Assets/scripts/ShowPlayPos.cs.meta
similarity index 100%
rename from Assets/scripts/ShowPlayPos.cs.meta
rename to LEGACY/Assets/scripts/ShowPlayPos.cs.meta
diff --git a/Assets/scripts/SilentAudioSource.cs b/LEGACY/Assets/scripts/SilentAudioSource.cs
similarity index 100%
rename from Assets/scripts/SilentAudioSource.cs
rename to LEGACY/Assets/scripts/SilentAudioSource.cs
diff --git a/Assets/scripts/SilentAudioSource.cs.meta b/LEGACY/Assets/scripts/SilentAudioSource.cs.meta
similarity index 100%
rename from Assets/scripts/SilentAudioSource.cs.meta
rename to LEGACY/Assets/scripts/SilentAudioSource.cs.meta
diff --git a/Assets/scripts/SineOsc.cs b/LEGACY/Assets/scripts/SineOsc.cs
similarity index 100%
rename from Assets/scripts/SineOsc.cs
rename to LEGACY/Assets/scripts/SineOsc.cs
diff --git a/Assets/scripts/SineOsc.cs.meta b/LEGACY/Assets/scripts/SineOsc.cs.meta
similarity index 100%
rename from Assets/scripts/SineOsc.cs.meta
rename to LEGACY/Assets/scripts/SineOsc.cs.meta
diff --git a/Assets/scripts/SpatializerUserParams.cs b/LEGACY/Assets/scripts/SpatializerUserParams.cs
similarity index 100%
rename from Assets/scripts/SpatializerUserParams.cs
rename to LEGACY/Assets/scripts/SpatializerUserParams.cs
diff --git a/Assets/scripts/SpatializerUserParams.cs.meta b/LEGACY/Assets/scripts/SpatializerUserParams.cs.meta
similarity index 100%
rename from Assets/scripts/SpatializerUserParams.cs.meta
rename to LEGACY/Assets/scripts/SpatializerUserParams.cs.meta
diff --git a/Assets/scripts/SpeakerRouting.cs b/LEGACY/Assets/scripts/SpeakerRouting.cs
similarity index 100%
rename from Assets/scripts/SpeakerRouting.cs
rename to LEGACY/Assets/scripts/SpeakerRouting.cs
diff --git a/Assets/scripts/SpeakerRouting.cs.meta b/LEGACY/Assets/scripts/SpeakerRouting.cs.meta
similarity index 100%
rename from Assets/scripts/SpeakerRouting.cs.meta
rename to LEGACY/Assets/scripts/SpeakerRouting.cs.meta
diff --git a/Assets/scripts/VoiceFXModulations.cs b/LEGACY/Assets/scripts/VoiceFXModulations.cs
similarity index 100%
rename from Assets/scripts/VoiceFXModulations.cs
rename to LEGACY/Assets/scripts/VoiceFXModulations.cs
diff --git a/Assets/scripts/VoiceFXModulations.cs.meta b/LEGACY/Assets/scripts/VoiceFXModulations.cs.meta
similarity index 100%
rename from Assets/scripts/VoiceFXModulations.cs.meta
rename to LEGACY/Assets/scripts/VoiceFXModulations.cs.meta
diff --git a/Assets/scripts/WeatherAnimator.cs b/LEGACY/Assets/scripts/WeatherAnimator.cs
similarity index 100%
rename from Assets/scripts/WeatherAnimator.cs
rename to LEGACY/Assets/scripts/WeatherAnimator.cs
diff --git a/Assets/scripts/WeatherAnimator.cs.meta b/LEGACY/Assets/scripts/WeatherAnimator.cs.meta
similarity index 100%
rename from Assets/scripts/WeatherAnimator.cs.meta
rename to LEGACY/Assets/scripts/WeatherAnimator.cs.meta
diff --git a/Assets/shaders.meta b/LEGACY/Assets/shaders.meta
similarity index 100%
rename from Assets/shaders.meta
rename to LEGACY/Assets/shaders.meta
diff --git a/Assets/shaders/granulator fractal.shader b/LEGACY/Assets/shaders/granulator fractal.shader
similarity index 100%
rename from Assets/shaders/granulator fractal.shader
rename to LEGACY/Assets/shaders/granulator fractal.shader
diff --git a/Assets/shaders/granulator fractal.shader.meta b/LEGACY/Assets/shaders/granulator fractal.shader.meta
similarity index 100%
rename from Assets/shaders/granulator fractal.shader.meta
rename to LEGACY/Assets/shaders/granulator fractal.shader.meta
diff --git a/Assets/sounds.meta b/LEGACY/Assets/sounds.meta
similarity index 100%
rename from Assets/sounds.meta
rename to LEGACY/Assets/sounds.meta
diff --git a/Assets/sounds/car.ogg b/LEGACY/Assets/sounds/car.ogg
similarity index 100%
rename from Assets/sounds/car.ogg
rename to LEGACY/Assets/sounds/car.ogg
diff --git a/Assets/sounds/car.ogg.meta b/LEGACY/Assets/sounds/car.ogg.meta
similarity index 100%
rename from Assets/sounds/car.ogg.meta
rename to LEGACY/Assets/sounds/car.ogg.meta
diff --git a/Assets/sounds/hammer.wav b/LEGACY/Assets/sounds/hammer.wav
similarity index 100%
rename from Assets/sounds/hammer.wav
rename to LEGACY/Assets/sounds/hammer.wav
diff --git a/Assets/sounds/hammer.wav.meta b/LEGACY/Assets/sounds/hammer.wav.meta
similarity index 100%
rename from Assets/sounds/hammer.wav.meta
rename to LEGACY/Assets/sounds/hammer.wav.meta
diff --git a/Assets/sounds/horse.ogg b/LEGACY/Assets/sounds/horse.ogg
similarity index 100%
rename from Assets/sounds/horse.ogg
rename to LEGACY/Assets/sounds/horse.ogg
diff --git a/Assets/sounds/horse.ogg.meta b/LEGACY/Assets/sounds/horse.ogg.meta
similarity index 100%
rename from Assets/sounds/horse.ogg.meta
rename to LEGACY/Assets/sounds/horse.ogg.meta
diff --git a/Assets/sounds/impulseresponses.meta b/LEGACY/Assets/sounds/impulseresponses.meta
similarity index 100%
rename from Assets/sounds/impulseresponses.meta
rename to LEGACY/Assets/sounds/impulseresponses.meta
diff --git a/Assets/sounds/impulseresponses/ir_carpark.wav b/LEGACY/Assets/sounds/impulseresponses/ir_carpark.wav
similarity index 100%
rename from Assets/sounds/impulseresponses/ir_carpark.wav
rename to LEGACY/Assets/sounds/impulseresponses/ir_carpark.wav
diff --git a/Assets/sounds/impulseresponses/ir_carpark.wav.meta b/LEGACY/Assets/sounds/impulseresponses/ir_carpark.wav.meta
similarity index 100%
rename from Assets/sounds/impulseresponses/ir_carpark.wav.meta
rename to LEGACY/Assets/sounds/impulseresponses/ir_carpark.wav.meta
diff --git a/Assets/sounds/impulseresponses/ir_stpatrick.wav b/LEGACY/Assets/sounds/impulseresponses/ir_stpatrick.wav
similarity index 100%
rename from Assets/sounds/impulseresponses/ir_stpatrick.wav
rename to LEGACY/Assets/sounds/impulseresponses/ir_stpatrick.wav
diff --git a/Assets/sounds/impulseresponses/ir_stpatrick.wav.meta b/LEGACY/Assets/sounds/impulseresponses/ir_stpatrick.wav.meta
similarity index 100%
rename from Assets/sounds/impulseresponses/ir_stpatrick.wav.meta
rename to LEGACY/Assets/sounds/impulseresponses/ir_stpatrick.wav.meta
diff --git a/Assets/sounds/impulseresponses/ir_york.wav b/LEGACY/Assets/sounds/impulseresponses/ir_york.wav
similarity index 100%
rename from Assets/sounds/impulseresponses/ir_york.wav
rename to LEGACY/Assets/sounds/impulseresponses/ir_york.wav
diff --git a/Assets/sounds/impulseresponses/ir_york.wav.meta b/LEGACY/Assets/sounds/impulseresponses/ir_york.wav.meta
similarity index 100%
rename from Assets/sounds/impulseresponses/ir_york.wav.meta
rename to LEGACY/Assets/sounds/impulseresponses/ir_york.wav.meta
diff --git a/Assets/sounds/loop.ogg b/LEGACY/Assets/sounds/loop.ogg
similarity index 100%
rename from Assets/sounds/loop.ogg
rename to LEGACY/Assets/sounds/loop.ogg
diff --git a/Assets/sounds/loop.ogg.meta b/LEGACY/Assets/sounds/loop.ogg.meta
similarity index 100%
rename from Assets/sounds/loop.ogg.meta
rename to LEGACY/Assets/sounds/loop.ogg.meta
diff --git a/Assets/sounds/scraping.ogg b/LEGACY/Assets/sounds/scraping.ogg
similarity index 100%
rename from Assets/sounds/scraping.ogg
rename to LEGACY/Assets/sounds/scraping.ogg
diff --git a/Assets/sounds/scraping.ogg.meta b/LEGACY/Assets/sounds/scraping.ogg.meta
similarity index 100%
rename from Assets/sounds/scraping.ogg.meta
rename to LEGACY/Assets/sounds/scraping.ogg.meta
diff --git a/Assets/sounds/speech.wav b/LEGACY/Assets/sounds/speech.wav
similarity index 100%
rename from Assets/sounds/speech.wav
rename to LEGACY/Assets/sounds/speech.wav
diff --git a/Assets/sounds/speech.wav.meta b/LEGACY/Assets/sounds/speech.wav.meta
similarity index 100%
rename from Assets/sounds/speech.wav.meta
rename to LEGACY/Assets/sounds/speech.wav.meta
diff --git a/Assets/sounds/stylistic.mp3 b/LEGACY/Assets/sounds/stylistic.mp3
similarity index 100%
rename from Assets/sounds/stylistic.mp3
rename to LEGACY/Assets/sounds/stylistic.mp3
diff --git a/Assets/sounds/stylistic.mp3.meta b/LEGACY/Assets/sounds/stylistic.mp3.meta
similarity index 100%
rename from Assets/sounds/stylistic.mp3.meta
rename to LEGACY/Assets/sounds/stylistic.mp3.meta
diff --git a/Assets/sounds/uss.ogg b/LEGACY/Assets/sounds/uss.ogg
similarity index 100%
rename from Assets/sounds/uss.ogg
rename to LEGACY/Assets/sounds/uss.ogg
diff --git a/Assets/sounds/uss.ogg.meta b/LEGACY/Assets/sounds/uss.ogg.meta
similarity index 100%
rename from Assets/sounds/uss.ogg.meta
rename to LEGACY/Assets/sounds/uss.ogg.meta
diff --git a/Assets/sounds/vocal1.ogg b/LEGACY/Assets/sounds/vocal1.ogg
similarity index 100%
rename from Assets/sounds/vocal1.ogg
rename to LEGACY/Assets/sounds/vocal1.ogg
diff --git a/Assets/sounds/vocal1.ogg.meta b/LEGACY/Assets/sounds/vocal1.ogg.meta
similarity index 100%
rename from Assets/sounds/vocal1.ogg.meta
rename to LEGACY/Assets/sounds/vocal1.ogg.meta
diff --git a/Assets/sounds/water.mp3 b/LEGACY/Assets/sounds/water.mp3
similarity index 100%
rename from Assets/sounds/water.mp3
rename to LEGACY/Assets/sounds/water.mp3
diff --git a/Assets/sounds/water.mp3.meta b/LEGACY/Assets/sounds/water.mp3.meta
similarity index 100%
rename from Assets/sounds/water.mp3.meta
rename to LEGACY/Assets/sounds/water.mp3.meta
diff --git a/Documentation/AmbisonicAudio.pdf b/LEGACY/Documentation/AmbisonicAudio.pdf
similarity index 100%
rename from Documentation/AmbisonicAudio.pdf
rename to LEGACY/Documentation/AmbisonicAudio.pdf
diff --git a/Documentation/AudioSpatializerSDK.pdf b/LEGACY/Documentation/AudioSpatializerSDK.pdf
similarity index 100%
rename from Documentation/AudioSpatializerSDK.pdf
rename to LEGACY/Documentation/AudioSpatializerSDK.pdf
diff --git a/Documentation/NativeAudioPluginSDK.pdf b/LEGACY/Documentation/NativeAudioPluginSDK.pdf
similarity index 100%
rename from Documentation/NativeAudioPluginSDK.pdf
rename to LEGACY/Documentation/NativeAudioPluginSDK.pdf
diff --git a/GUICode/AudioPluginDemoGUI/ConvolutionReverbCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/ConvolutionReverbCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/ConvolutionReverbCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/ConvolutionReverbCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/CorrelationMeterCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/CorrelationMeterCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/CorrelationMeterCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/CorrelationMeterCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/EqualizerCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/EqualizerCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/EqualizerCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/EqualizerCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/GUIHelpers.cs b/LEGACY/GUICode/AudioPluginDemoGUI/GUIHelpers.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/GUIHelpers.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/GUIHelpers.cs
diff --git a/GUICode/AudioPluginDemoGUI/GranulatorCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/GranulatorCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/GranulatorCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/GranulatorCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/LoudnessMeterCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/LoudnessMeterCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/LoudnessMeterCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/LoudnessMeterCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/MathHelpers.cs b/LEGACY/GUICode/AudioPluginDemoGUI/MathHelpers.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/MathHelpers.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/MathHelpers.cs
diff --git a/GUICode/AudioPluginDemoGUI/ModalFilterCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/ModalFilterCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/ModalFilterCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/ModalFilterCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/MultibandCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/MultibandCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/MultibandCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/MultibandCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/OscilloscopeCustomGUI.cs b/LEGACY/GUICode/AudioPluginDemoGUI/OscilloscopeCustomGUI.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/OscilloscopeCustomGUI.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/OscilloscopeCustomGUI.cs
diff --git a/GUICode/AudioPluginDemoGUI/Properties/AssemblyInfo.cs b/LEGACY/GUICode/AudioPluginDemoGUI/Properties/AssemblyInfo.cs
similarity index 100%
rename from GUICode/AudioPluginDemoGUI/Properties/AssemblyInfo.cs
rename to LEGACY/GUICode/AudioPluginDemoGUI/Properties/AssemblyInfo.cs
diff --git a/LICENSE b/LEGACY/LICENSE
similarity index 100%
rename from LICENSE
rename to LEGACY/LICENSE
diff --git a/NativeCode/AudioPluginInterface.h b/LEGACY/NativeCode/AudioPluginInterface.h
similarity index 100%
rename from NativeCode/AudioPluginInterface.h
rename to LEGACY/NativeCode/AudioPluginInterface.h
diff --git a/NativeCode/AudioPluginUtil.cpp b/LEGACY/NativeCode/AudioPluginUtil.cpp
similarity index 100%
rename from NativeCode/AudioPluginUtil.cpp
rename to LEGACY/NativeCode/AudioPluginUtil.cpp
diff --git a/NativeCode/AudioPluginUtil.h b/LEGACY/NativeCode/AudioPluginUtil.h
similarity index 100%
rename from NativeCode/AudioPluginUtil.h
rename to LEGACY/NativeCode/AudioPluginUtil.h
diff --git a/NativeCode/BuildTeleportDemo.bat b/LEGACY/NativeCode/BuildTeleportDemo.bat
similarity index 100%
rename from NativeCode/BuildTeleportDemo.bat
rename to LEGACY/NativeCode/BuildTeleportDemo.bat
diff --git a/NativeCode/BuildTeleportDemo.sh b/LEGACY/NativeCode/BuildTeleportDemo.sh
similarity index 100%
rename from NativeCode/BuildTeleportDemo.sh
rename to LEGACY/NativeCode/BuildTeleportDemo.sh
diff --git a/NativeCode/Makefile b/LEGACY/NativeCode/Makefile
similarity index 100%
rename from NativeCode/Makefile
rename to LEGACY/NativeCode/Makefile
diff --git a/NativeCode/PluginList.h b/LEGACY/NativeCode/PluginList.h
similarity index 100%
rename from NativeCode/PluginList.h
rename to LEGACY/NativeCode/PluginList.h
diff --git a/NativeCode/Plugin_ConvolutionReverb.cpp b/LEGACY/NativeCode/Plugin_ConvolutionReverb.cpp
similarity index 100%
rename from NativeCode/Plugin_ConvolutionReverb.cpp
rename to LEGACY/NativeCode/Plugin_ConvolutionReverb.cpp
diff --git a/NativeCode/Plugin_CorrelationMeter.cpp b/LEGACY/NativeCode/Plugin_CorrelationMeter.cpp
similarity index 100%
rename from NativeCode/Plugin_CorrelationMeter.cpp
rename to LEGACY/NativeCode/Plugin_CorrelationMeter.cpp
diff --git a/NativeCode/Plugin_Equalizer.cpp b/LEGACY/NativeCode/Plugin_Equalizer.cpp
similarity index 100%
rename from NativeCode/Plugin_Equalizer.cpp
rename to LEGACY/NativeCode/Plugin_Equalizer.cpp
diff --git a/NativeCode/Plugin_Granulator.cpp b/LEGACY/NativeCode/Plugin_Granulator.cpp
similarity index 100%
rename from NativeCode/Plugin_Granulator.cpp
rename to LEGACY/NativeCode/Plugin_Granulator.cpp
diff --git a/NativeCode/Plugin_ImpactGenerator.cpp b/LEGACY/NativeCode/Plugin_ImpactGenerator.cpp
similarity index 100%
rename from NativeCode/Plugin_ImpactGenerator.cpp
rename to LEGACY/NativeCode/Plugin_ImpactGenerator.cpp
diff --git a/NativeCode/Plugin_ImpulseGenerator.cpp b/LEGACY/NativeCode/Plugin_ImpulseGenerator.cpp
similarity index 100%
rename from NativeCode/Plugin_ImpulseGenerator.cpp
rename to LEGACY/NativeCode/Plugin_ImpulseGenerator.cpp
diff --git a/NativeCode/Plugin_LevelMixer.cpp b/LEGACY/NativeCode/Plugin_LevelMixer.cpp
similarity index 100%
rename from NativeCode/Plugin_LevelMixer.cpp
rename to LEGACY/NativeCode/Plugin_LevelMixer.cpp
diff --git a/NativeCode/Plugin_Lofinator.cpp b/LEGACY/NativeCode/Plugin_Lofinator.cpp
similarity index 100%
rename from NativeCode/Plugin_Lofinator.cpp
rename to LEGACY/NativeCode/Plugin_Lofinator.cpp
diff --git a/NativeCode/Plugin_LoudnessMeter.cpp b/LEGACY/NativeCode/Plugin_LoudnessMeter.cpp
similarity index 100%
rename from NativeCode/Plugin_LoudnessMeter.cpp
rename to LEGACY/NativeCode/Plugin_LoudnessMeter.cpp
diff --git a/NativeCode/Plugin_ModalFilter.cpp b/LEGACY/NativeCode/Plugin_ModalFilter.cpp
similarity index 100%
rename from NativeCode/Plugin_ModalFilter.cpp
rename to LEGACY/NativeCode/Plugin_ModalFilter.cpp
diff --git a/NativeCode/Plugin_Multiband.cpp b/LEGACY/NativeCode/Plugin_Multiband.cpp
similarity index 100%
rename from NativeCode/Plugin_Multiband.cpp
rename to LEGACY/NativeCode/Plugin_Multiband.cpp
diff --git a/NativeCode/Plugin_NoiseBox.cpp b/LEGACY/NativeCode/Plugin_NoiseBox.cpp
similarity index 100%
rename from NativeCode/Plugin_NoiseBox.cpp
rename to LEGACY/NativeCode/Plugin_NoiseBox.cpp
diff --git a/NativeCode/Plugin_Oscilloscope.cpp b/LEGACY/NativeCode/Plugin_Oscilloscope.cpp
similarity index 100%
rename from NativeCode/Plugin_Oscilloscope.cpp
rename to LEGACY/NativeCode/Plugin_Oscilloscope.cpp
diff --git a/NativeCode/Plugin_PitchDetector.cpp b/LEGACY/NativeCode/Plugin_PitchDetector.cpp
similarity index 100%
rename from NativeCode/Plugin_PitchDetector.cpp
rename to LEGACY/NativeCode/Plugin_PitchDetector.cpp
diff --git a/NativeCode/Plugin_RingModulator.cpp b/LEGACY/NativeCode/Plugin_RingModulator.cpp
similarity index 100%
rename from NativeCode/Plugin_RingModulator.cpp
rename to LEGACY/NativeCode/Plugin_RingModulator.cpp
diff --git a/NativeCode/Plugin_Routing.cpp b/LEGACY/NativeCode/Plugin_Routing.cpp
similarity index 100%
rename from NativeCode/Plugin_Routing.cpp
rename to LEGACY/NativeCode/Plugin_Routing.cpp
diff --git a/NativeCode/Plugin_Spatializer.cpp b/LEGACY/NativeCode/Plugin_Spatializer.cpp
similarity index 100%
rename from NativeCode/Plugin_Spatializer.cpp
rename to LEGACY/NativeCode/Plugin_Spatializer.cpp
diff --git a/NativeCode/Plugin_SpatializerReverb.cpp b/LEGACY/NativeCode/Plugin_SpatializerReverb.cpp
similarity index 100%
rename from NativeCode/Plugin_SpatializerReverb.cpp
rename to LEGACY/NativeCode/Plugin_SpatializerReverb.cpp
diff --git a/NativeCode/Plugin_StereoWidener.cpp b/LEGACY/NativeCode/Plugin_StereoWidener.cpp
similarity index 100%
rename from NativeCode/Plugin_StereoWidener.cpp
rename to LEGACY/NativeCode/Plugin_StereoWidener.cpp
diff --git a/NativeCode/Plugin_Synthesizer.cpp b/LEGACY/NativeCode/Plugin_Synthesizer.cpp
similarity index 100%
rename from NativeCode/Plugin_Synthesizer.cpp
rename to LEGACY/NativeCode/Plugin_Synthesizer.cpp
diff --git a/NativeCode/Plugin_TeeBee.cpp b/LEGACY/NativeCode/Plugin_TeeBee.cpp
similarity index 100%
rename from NativeCode/Plugin_TeeBee.cpp
rename to LEGACY/NativeCode/Plugin_TeeBee.cpp
diff --git a/NativeCode/Plugin_TeeDee.cpp b/LEGACY/NativeCode/Plugin_TeeDee.cpp
similarity index 100%
rename from NativeCode/Plugin_TeeDee.cpp
rename to LEGACY/NativeCode/Plugin_TeeDee.cpp
diff --git a/NativeCode/Plugin_Teleport.cpp b/LEGACY/NativeCode/Plugin_Teleport.cpp
similarity index 100%
rename from NativeCode/Plugin_Teleport.cpp
rename to LEGACY/NativeCode/Plugin_Teleport.cpp
diff --git a/NativeCode/Plugin_TubeResonator.cpp b/LEGACY/NativeCode/Plugin_TubeResonator.cpp
similarity index 100%
rename from NativeCode/Plugin_TubeResonator.cpp
rename to LEGACY/NativeCode/Plugin_TubeResonator.cpp
diff --git a/NativeCode/Plugin_Vocoder.cpp b/LEGACY/NativeCode/Plugin_Vocoder.cpp
similarity index 100%
rename from NativeCode/Plugin_Vocoder.cpp
rename to LEGACY/NativeCode/Plugin_Vocoder.cpp
diff --git a/NativeCode/Plugin_WahWah.cpp b/LEGACY/NativeCode/Plugin_WahWah.cpp
similarity index 100%
rename from NativeCode/Plugin_WahWah.cpp
rename to LEGACY/NativeCode/Plugin_WahWah.cpp
diff --git a/NativeCode/TeleportDemo.cpp b/LEGACY/NativeCode/TeleportDemo.cpp
similarity index 100%
rename from NativeCode/TeleportDemo.cpp
rename to LEGACY/NativeCode/TeleportDemo.cpp
diff --git a/NativeCode/TeleportDemo.exe b/LEGACY/NativeCode/TeleportDemo.exe
similarity index 100%
rename from NativeCode/TeleportDemo.exe
rename to LEGACY/NativeCode/TeleportDemo.exe
diff --git a/NativeCode/TeleportDemoOSX b/LEGACY/NativeCode/TeleportDemoOSX
similarity index 100%
rename from NativeCode/TeleportDemoOSX
rename to LEGACY/NativeCode/TeleportDemoOSX
diff --git a/NativeCode/TeleportLib.cpp b/LEGACY/NativeCode/TeleportLib.cpp
similarity index 100%
rename from NativeCode/TeleportLib.cpp
rename to LEGACY/NativeCode/TeleportLib.cpp
diff --git a/NativeCode/TeleportLib.h b/LEGACY/NativeCode/TeleportLib.h
similarity index 100%
rename from NativeCode/TeleportLib.h
rename to LEGACY/NativeCode/TeleportLib.h
diff --git a/NativeCode/UWP/AudioPluginDemo.def b/LEGACY/NativeCode/UWP/AudioPluginDemo.def
similarity index 100%
rename from NativeCode/UWP/AudioPluginDemo.def
rename to LEGACY/NativeCode/UWP/AudioPluginDemo.def
diff --git a/NativeCode/UWP/AudioPluginDemo.vcxproj b/LEGACY/NativeCode/UWP/AudioPluginDemo.vcxproj
similarity index 100%
rename from NativeCode/UWP/AudioPluginDemo.vcxproj
rename to LEGACY/NativeCode/UWP/AudioPluginDemo.vcxproj
diff --git a/NativeCode/UWP/AudioPluginDemo.vcxproj.filters b/LEGACY/NativeCode/UWP/AudioPluginDemo.vcxproj.filters
similarity index 100%
rename from NativeCode/UWP/AudioPluginDemo.vcxproj.filters
rename to LEGACY/NativeCode/UWP/AudioPluginDemo.vcxproj.filters
diff --git a/NativeCode/VisualStudio/AudioPluginDemo.vcproj b/LEGACY/NativeCode/VisualStudio/AudioPluginDemo.vcproj
similarity index 100%
rename from NativeCode/VisualStudio/AudioPluginDemo.vcproj
rename to LEGACY/NativeCode/VisualStudio/AudioPluginDemo.vcproj
diff --git a/NativeCode/VisualStudio/AudioPluginDemo.vcxproj b/LEGACY/NativeCode/VisualStudio/AudioPluginDemo.vcxproj
similarity index 100%
rename from NativeCode/VisualStudio/AudioPluginDemo.vcxproj
rename to LEGACY/NativeCode/VisualStudio/AudioPluginDemo.vcxproj
diff --git a/NativeCode/Xcode/AUTeleport.component_prebuilt.zip b/LEGACY/NativeCode/Xcode/AUTeleport.component_prebuilt.zip
similarity index 100%
rename from NativeCode/Xcode/AUTeleport.component_prebuilt.zip
rename to LEGACY/NativeCode/Xcode/AUTeleport.component_prebuilt.zip
diff --git a/NativeCode/Xcode/AUTeleport/AUTeleport.cpp b/LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.cpp
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/AUTeleport.cpp
rename to LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.cpp
diff --git a/NativeCode/Xcode/AUTeleport/AUTeleport.exp b/LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.exp
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/AUTeleport.exp
rename to LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.exp
diff --git a/NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.pbxproj b/LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.pbxproj
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.pbxproj
rename to LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.pbxproj
diff --git a/NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/NativeCode/Xcode/AUTeleport/AUTeleportVersion.h b/LEGACY/NativeCode/Xcode/AUTeleport/AUTeleportVersion.h
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/AUTeleportVersion.h
rename to LEGACY/NativeCode/Xcode/AUTeleport/AUTeleportVersion.h
diff --git a/NativeCode/Xcode/AUTeleport/AUTeleport_Prefix.pch b/LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport_Prefix.pch
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/AUTeleport_Prefix.pch
rename to LEGACY/NativeCode/Xcode/AUTeleport/AUTeleport_Prefix.pch
diff --git a/NativeCode/Xcode/AUTeleport/English.lproj/InfoPlist.strings b/LEGACY/NativeCode/Xcode/AUTeleport/English.lproj/InfoPlist.strings
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/English.lproj/InfoPlist.strings
rename to LEGACY/NativeCode/Xcode/AUTeleport/English.lproj/InfoPlist.strings
diff --git a/NativeCode/Xcode/AUTeleport/Info.plist b/LEGACY/NativeCode/Xcode/AUTeleport/Info.plist
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/Info.plist
rename to LEGACY/NativeCode/Xcode/AUTeleport/Info.plist
diff --git a/NativeCode/Xcode/AUTeleport/readme.txt b/LEGACY/NativeCode/Xcode/AUTeleport/readme.txt
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/readme.txt
rename to LEGACY/NativeCode/Xcode/AUTeleport/readme.txt
diff --git a/NativeCode/Xcode/AUTeleport/version.plist b/LEGACY/NativeCode/Xcode/AUTeleport/version.plist
similarity index 100%
rename from NativeCode/Xcode/AUTeleport/version.plist
rename to LEGACY/NativeCode/Xcode/AUTeleport/version.plist
diff --git a/NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.pbxproj b/LEGACY/NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.pbxproj
similarity index 100%
rename from NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.pbxproj
rename to LEGACY/NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.pbxproj
diff --git a/NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/LEGACY/NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to LEGACY/NativeCode/Xcode/AudioPluginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/NativeCode/Xcode/Info.plist b/LEGACY/NativeCode/Xcode/Info.plist
similarity index 100%
rename from NativeCode/Xcode/Info.plist
rename to LEGACY/NativeCode/Xcode/Info.plist
diff --git a/NativeCode/hrtftable.cpp b/LEGACY/NativeCode/hrtftable.cpp
similarity index 100%
rename from NativeCode/hrtftable.cpp
rename to LEGACY/NativeCode/hrtftable.cpp
diff --git a/LEGACY/Packages/manifest.json b/LEGACY/Packages/manifest.json
new file mode 100644
index 0000000..6f16758
--- /dev/null
+++ b/LEGACY/Packages/manifest.json
@@ -0,0 +1,12 @@
+{
+ "dependencies": {
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.physics2d": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.uielements": "1.0.0"
+ }
+}
diff --git a/LEGACY/ProjectSettings/AudioManager.asset b/LEGACY/ProjectSettings/AudioManager.asset
new file mode 100644
index 0000000..230f9a9
Binary files /dev/null and b/LEGACY/ProjectSettings/AudioManager.asset differ
diff --git a/LEGACY/ProjectSettings/ClusterInputManager.asset b/LEGACY/ProjectSettings/ClusterInputManager.asset
new file mode 100644
index 0000000..45e4688
Binary files /dev/null and b/LEGACY/ProjectSettings/ClusterInputManager.asset differ
diff --git a/LEGACY/ProjectSettings/DynamicsManager.asset b/LEGACY/ProjectSettings/DynamicsManager.asset
new file mode 100644
index 0000000..9c6dafc
Binary files /dev/null and b/LEGACY/ProjectSettings/DynamicsManager.asset differ
diff --git a/LEGACY/ProjectSettings/EditorBuildSettings.asset b/LEGACY/ProjectSettings/EditorBuildSettings.asset
new file mode 100644
index 0000000..1a806df
Binary files /dev/null and b/LEGACY/ProjectSettings/EditorBuildSettings.asset differ
diff --git a/LEGACY/ProjectSettings/EditorSettings.asset b/LEGACY/ProjectSettings/EditorSettings.asset
new file mode 100644
index 0000000..ce44d0a
Binary files /dev/null and b/LEGACY/ProjectSettings/EditorSettings.asset differ
diff --git a/LEGACY/ProjectSettings/GraphicsSettings.asset b/LEGACY/ProjectSettings/GraphicsSettings.asset
new file mode 100644
index 0000000..cd5079d
Binary files /dev/null and b/LEGACY/ProjectSettings/GraphicsSettings.asset differ
diff --git a/LEGACY/ProjectSettings/InputManager.asset b/LEGACY/ProjectSettings/InputManager.asset
new file mode 100644
index 0000000..4142b00
Binary files /dev/null and b/LEGACY/ProjectSettings/InputManager.asset differ
diff --git a/ProjectSettings/NavMeshLayers.asset b/LEGACY/ProjectSettings/NavMeshAreas.asset
similarity index 100%
rename from ProjectSettings/NavMeshLayers.asset
rename to LEGACY/ProjectSettings/NavMeshAreas.asset
diff --git a/LEGACY/ProjectSettings/NavMeshLayers.asset b/LEGACY/ProjectSettings/NavMeshLayers.asset
new file mode 100644
index 0000000..dbde028
Binary files /dev/null and b/LEGACY/ProjectSettings/NavMeshLayers.asset differ
diff --git a/LEGACY/ProjectSettings/NetworkManager.asset b/LEGACY/ProjectSettings/NetworkManager.asset
new file mode 100644
index 0000000..dee2bd2
Binary files /dev/null and b/LEGACY/ProjectSettings/NetworkManager.asset differ
diff --git a/LEGACY/ProjectSettings/Physics2DSettings.asset b/LEGACY/ProjectSettings/Physics2DSettings.asset
new file mode 100644
index 0000000..bfdc04b
Binary files /dev/null and b/LEGACY/ProjectSettings/Physics2DSettings.asset differ
diff --git a/LEGACY/ProjectSettings/ProjectSettings.asset b/LEGACY/ProjectSettings/ProjectSettings.asset
new file mode 100644
index 0000000..565b03d
Binary files /dev/null and b/LEGACY/ProjectSettings/ProjectSettings.asset differ
diff --git a/LEGACY/ProjectSettings/ProjectVersion.txt b/LEGACY/ProjectSettings/ProjectVersion.txt
new file mode 100644
index 0000000..93895bd
--- /dev/null
+++ b/LEGACY/ProjectSettings/ProjectVersion.txt
@@ -0,0 +1,2 @@
+m_EditorVersion: 2019.1.10f1
+m_EditorVersionWithRevision: 2019.1.10f1 (f007ed779b7a)
diff --git a/LEGACY/ProjectSettings/QualitySettings.asset b/LEGACY/ProjectSettings/QualitySettings.asset
new file mode 100644
index 0000000..46d0c80
Binary files /dev/null and b/LEGACY/ProjectSettings/QualitySettings.asset differ
diff --git a/LEGACY/ProjectSettings/TagManager.asset b/LEGACY/ProjectSettings/TagManager.asset
new file mode 100644
index 0000000..be8af68
Binary files /dev/null and b/LEGACY/ProjectSettings/TagManager.asset differ
diff --git a/LEGACY/ProjectSettings/TimeManager.asset b/LEGACY/ProjectSettings/TimeManager.asset
new file mode 100644
index 0000000..4e9283a
Binary files /dev/null and b/LEGACY/ProjectSettings/TimeManager.asset differ
diff --git a/LEGACY/ProjectSettings/UnityConnectSettings.asset b/LEGACY/ProjectSettings/UnityConnectSettings.asset
new file mode 100644
index 0000000..87a786c
Binary files /dev/null and b/LEGACY/ProjectSettings/UnityConnectSettings.asset differ
diff --git a/LEGACY/README.md b/LEGACY/README.md
new file mode 100644
index 0000000..36b78bb
--- /dev/null
+++ b/LEGACY/README.md
@@ -0,0 +1,12 @@
+# README #
+
+This repository hosts the official Unity Native Audio Plugin SDK. It is a standard Unity project that comes with prebuilt plugin effects and custom GUIs for OSX and Windows. Full source code for all plugin effects is provided, both for the native code (Xcode/VisualStudio C++ projects code in the NativeCode folder) as well as the custom GUIs (MonoDevelop project in the GUICode folder).
+
+### What license are these demos shipped under? ###
+Like the rest of the Unity open source projects, everything in this repository is released under an MIT/X11 license.
+
+### Additional dependencies ###
+While all other scenes in the project are self-contained and self-running, the “teleport” scene demonstrates how to send audio from external applications into Unity. This can either happen through the NativeCode/TeleportDemo.cpp command line program which can act both as a sender or receiver or via the included AUTeleport demo in NativeCode/Xcode/AUTeleport which shows how to send audio from an AudioUnits plugin that can be inserted in the output bus of sequencers like Logic and send audio data from there into the native audio plugin on the Unity side. A prebuilt version of the plugin is included, but if you want to build it yourself, you need to download the additional “Core Audio Utility Classes” source code from Apple as mentioned in NativeCode/Xcode/AUTeleport/readme.txt
+
+### Further information ###
+For diagrams describing some of the demos and techniques used see [the slides from Unite Europe 2015](http://files.unity3d.com/janm/UniteEurope2015.pdf)
\ No newline at end of file
diff --git a/NativeCode/UWP/AudioPluginDemo.sln b/NativeCode/UWP/AudioPluginDemo.sln
deleted file mode 100644
index bf3c89c..0000000
--- a/NativeCode/UWP/AudioPluginDemo.sln
+++ /dev/null
@@ -1,43 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2026
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPluginDemo", "AudioPluginDemo.vcxproj", "{F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|ARM = Debug|ARM
- Debug|ARM64 = Debug|ARM64
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|ARM = Release|ARM
- Release|ARM64 = Release|ARM64
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|ARM.ActiveCfg = Debug|ARM
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|ARM.Build.0 = Debug|ARM
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|ARM64.Build.0 = Debug|ARM64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|x64.ActiveCfg = Debug|x64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|x64.Build.0 = Debug|x64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|x86.ActiveCfg = Debug|Win32
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Debug|x86.Build.0 = Debug|Win32
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|ARM.ActiveCfg = Release|ARM
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|ARM.Build.0 = Release|ARM
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|ARM64.ActiveCfg = Release|ARM64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|ARM64.Build.0 = Release|ARM64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|x64.ActiveCfg = Release|x64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|x64.Build.0 = Release|x64
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|x86.ActiveCfg = Release|Win32
- {F6A95E8F-BBD9-4CBC-BE14-0EEB54AEFB4D}.Release|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {1B38564E-D6E4-474D-97D2-30B3B395FCB6}
- EndGlobalSection
-EndGlobal
diff --git a/NativeCode/VisualStudio/AudioPluginDemo.sln b/NativeCode/VisualStudio/AudioPluginDemo.sln
deleted file mode 100644
index 2f12da7..0000000
--- a/NativeCode/VisualStudio/AudioPluginDemo.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPluginDemo", "AudioPluginDemo.vcxproj", "{F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Debug|Win32.ActiveCfg = Debug|Win32
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Debug|Win32.Build.0 = Debug|Win32
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Debug|x64.ActiveCfg = Debug|x64
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Debug|x64.Build.0 = Debug|x64
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Release|Win32.ActiveCfg = Release|Win32
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Release|Win32.Build.0 = Release|Win32
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Release|x64.ActiveCfg = Release|x64
- {F7CFEF5A-54BD-42E8-A59E-54ABAEB4EA9C}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 6f16758..9e02b62 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,12 +1,45 @@
{
"dependencies": {
+ "com.unity.collab-proxy": "1.15.18",
+ "com.unity.feature.2d": "1.0.0",
+ "com.unity.ide.rider": "3.0.15",
+ "com.unity.ide.visualstudio": "2.0.16",
+ "com.unity.ide.vscode": "1.2.5",
+ "com.unity.test-framework": "1.1.31",
+ "com.unity.textmeshpro": "3.0.6",
+ "com.unity.timeline": "1.6.4",
+ "com.unity.ugui": "1.0.0",
+ "com.unity.visualscripting": "1.7.8",
+ "com.unity.modules.ai": "1.0.0",
+ "com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.cloth": "1.0.0",
+ "com.unity.modules.director": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.particlesystem": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.physics2d": "1.0.0",
+ "com.unity.modules.screencapture": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0",
+ "com.unity.modules.terrainphysics": "1.0.0",
+ "com.unity.modules.tilemap": "1.0.0",
"com.unity.modules.ui": "1.0.0",
- "com.unity.modules.uielements": "1.0.0"
+ "com.unity.modules.uielements": "1.0.0",
+ "com.unity.modules.umbra": "1.0.0",
+ "com.unity.modules.unityanalytics": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.unitywebrequesttexture": "1.0.0",
+ "com.unity.modules.unitywebrequestwww": "1.0.0",
+ "com.unity.modules.vehicles": "1.0.0",
+ "com.unity.modules.video": "1.0.0",
+ "com.unity.modules.vr": "1.0.0",
+ "com.unity.modules.wind": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
}
}
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
new file mode 100644
index 0000000..4ea1eb7
--- /dev/null
+++ b/Packages/packages-lock.json
@@ -0,0 +1,483 @@
+{
+ "dependencies": {
+ "com.unity.2d.animation": {
+ "version": "7.0.6",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.2d.common": "6.0.3",
+ "com.unity.2d.sprite": "1.0.0",
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.uielements": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.common": {
+ "version": "6.0.3",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.2d.sprite": "1.0.0",
+ "com.unity.mathematics": "1.1.0",
+ "com.unity.modules.uielements": "1.0.0",
+ "com.unity.burst": "1.5.1"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.path": {
+ "version": "5.0.2",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.pixel-perfect": {
+ "version": "5.0.1",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.psdimporter": {
+ "version": "6.0.4",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.2d.animation": "7.0.6",
+ "com.unity.2d.common": "6.0.3",
+ "com.unity.2d.sprite": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.sprite": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.2d.spriteshape": {
+ "version": "7.0.4",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.mathematics": "1.1.0",
+ "com.unity.2d.common": "6.0.3",
+ "com.unity.2d.path": "5.0.2",
+ "com.unity.modules.physics2d": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.tilemap": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.2d.tilemap.extras": {
+ "version": "2.2.3",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.modules.tilemap": "1.0.0",
+ "com.unity.2d.tilemap": "1.0.0",
+ "com.unity.ugui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.burst": {
+ "version": "1.6.6",
+ "depth": 3,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.mathematics": "1.2.1"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.collab-proxy": {
+ "version": "1.15.18",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.services.core": "1.0.1"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ext.nunit": {
+ "version": "1.0.6",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.feature.2d": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.2d.animation": "7.0.6",
+ "com.unity.2d.pixel-perfect": "5.0.1",
+ "com.unity.2d.psdimporter": "6.0.4",
+ "com.unity.2d.sprite": "1.0.0",
+ "com.unity.2d.spriteshape": "7.0.4",
+ "com.unity.2d.tilemap": "1.0.0",
+ "com.unity.2d.tilemap.extras": "2.2.3"
+ }
+ },
+ "com.unity.ide.rider": {
+ "version": "3.0.15",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ext.nunit": "1.0.6"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.visualstudio": {
+ "version": "2.0.16",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.9"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.vscode": {
+ "version": "1.2.5",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.mathematics": {
+ "version": "1.2.6",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.nuget.newtonsoft-json": {
+ "version": "3.0.2",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.services.core": {
+ "version": "1.4.0",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.nuget.newtonsoft-json": "3.0.2",
+ "com.unity.modules.androidjni": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.test-framework": {
+ "version": "1.1.31",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ext.nunit": "1.0.6",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.textmeshpro": {
+ "version": "3.0.6",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.timeline": {
+ "version": "1.6.4",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.modules.director": "1.0.0",
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.particlesystem": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ugui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0"
+ }
+ },
+ "com.unity.visualscripting": {
+ "version": "1.7.8",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.modules.ai": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.androidjni": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.animation": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.assetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.audio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.cloth": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.director": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.animation": "1.0.0"
+ }
+ },
+ "com.unity.modules.imageconversion": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.imgui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.jsonserialize": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.particlesystem": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics2d": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.screencapture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.subsystems": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.terrain": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.terrainphysics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0"
+ }
+ },
+ "com.unity.modules.tilemap": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics2d": "1.0.0"
+ }
+ },
+ "com.unity.modules.ui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.uielements": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.uielementsnative": "1.0.0"
+ }
+ },
+ "com.unity.modules.uielementsnative": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.umbra": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unityanalytics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequest": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unitywebrequestassetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestaudio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.audio": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequesttexture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestwww": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.vehicles": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.video": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.vr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
+ }
+ },
+ "com.unity.modules.wind": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.xr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.subsystems": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset
index 230f9a9..27287fe 100644
Binary files a/ProjectSettings/AudioManager.asset and b/ProjectSettings/AudioManager.asset differ
diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset
index 45e4688..e7886b2 100644
Binary files a/ProjectSettings/ClusterInputManager.asset and b/ProjectSettings/ClusterInputManager.asset differ
diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset
index 9c6dafc..72d1430 100644
Binary files a/ProjectSettings/DynamicsManager.asset and b/ProjectSettings/DynamicsManager.asset differ
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
index 1a806df..82ab0f5 100644
Binary files a/ProjectSettings/EditorBuildSettings.asset and b/ProjectSettings/EditorBuildSettings.asset differ
diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset
index ce44d0a..fa3ed49 100644
Binary files a/ProjectSettings/EditorSettings.asset and b/ProjectSettings/EditorSettings.asset differ
diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset
index cd5079d..c165afb 100644
Binary files a/ProjectSettings/GraphicsSettings.asset and b/ProjectSettings/GraphicsSettings.asset differ
diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset
index 4142b00..b16147e 100644
Binary files a/ProjectSettings/InputManager.asset and b/ProjectSettings/InputManager.asset differ
diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset
new file mode 100644
index 0000000..5b5face
--- /dev/null
+++ b/ProjectSettings/MemorySettings.asset
@@ -0,0 +1,35 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!387306366 &1
+MemorySettings:
+ m_ObjectHideFlags: 0
+ m_EditorMemorySettings:
+ m_MainAllocatorBlockSize: -1
+ m_ThreadAllocatorBlockSize: -1
+ m_MainGfxBlockSize: -1
+ m_ThreadGfxBlockSize: -1
+ m_CacheBlockSize: -1
+ m_TypetreeBlockSize: -1
+ m_ProfilerBlockSize: -1
+ m_ProfilerEditorBlockSize: -1
+ m_BucketAllocatorGranularity: -1
+ m_BucketAllocatorBucketsCount: -1
+ m_BucketAllocatorBlockSize: -1
+ m_BucketAllocatorBlockCount: -1
+ m_ProfilerBucketAllocatorGranularity: -1
+ m_ProfilerBucketAllocatorBucketsCount: -1
+ m_ProfilerBucketAllocatorBlockSize: -1
+ m_ProfilerBucketAllocatorBlockCount: -1
+ m_TempAllocatorSizeMain: -1
+ m_JobTempAllocatorBlockSize: -1
+ m_BackgroundJobTempAllocatorBlockSize: -1
+ m_JobTempAllocatorReducedBlockSize: -1
+ m_TempAllocatorSizeGIBakingWorker: -1
+ m_TempAllocatorSizeNavMeshWorker: -1
+ m_TempAllocatorSizeAudioWorker: -1
+ m_TempAllocatorSizeCloudWorker: -1
+ m_TempAllocatorSizeGfx: -1
+ m_TempAllocatorSizeJobWorker: -1
+ m_TempAllocatorSizeBackgroundWorker: -1
+ m_TempAllocatorSizePreloadManager: -1
+ m_PlatformMemorySettings: {}
diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset
index dbde028..ad2654e 100644
Binary files a/ProjectSettings/NavMeshAreas.asset and b/ProjectSettings/NavMeshAreas.asset differ
diff --git a/ProjectSettings/NetworkManager.asset b/ProjectSettings/NetworkManager.asset
index dee2bd2..5dc6a83 100644
Binary files a/ProjectSettings/NetworkManager.asset and b/ProjectSettings/NetworkManager.asset differ
diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset
new file mode 100644
index 0000000..b3a65dd
--- /dev/null
+++ b/ProjectSettings/PackageManagerSettings.asset
@@ -0,0 +1,44 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+ m_ObjectHideFlags: 61
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_EnablePreReleasePackages: 0
+ m_EnablePackageDependencies: 0
+ m_AdvancedSettingsExpanded: 1
+ m_ScopedRegistriesSettingsExpanded: 1
+ m_SeeAllPackageVersions: 0
+ oneTimeWarningShown: 0
+ m_Registries:
+ - m_Id: main
+ m_Name:
+ m_Url: https://packages.unity.com
+ m_Scopes: []
+ m_IsDefault: 1
+ m_Capabilities: 7
+ m_UserSelectedRegistryName:
+ m_UserAddingNewScopedRegistry: 0
+ m_RegistryInfoDraft:
+ m_ErrorMessage:
+ m_Original:
+ m_Id:
+ m_Name:
+ m_Url:
+ m_Scopes: []
+ m_IsDefault: 0
+ m_Capabilities: 0
+ m_Modified: 0
+ m_Name:
+ m_Url:
+ m_Scopes:
+ -
+ m_SelectedScopeIndex: 0
diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset
index bfdc04b..6cfcdda 100644
Binary files a/ProjectSettings/Physics2DSettings.asset and b/ProjectSettings/Physics2DSettings.asset differ
diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset
new file mode 100644
index 0000000..67a94da
--- /dev/null
+++ b/ProjectSettings/PresetManager.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1386491679 &1
+PresetManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_DefaultPresets: {}
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 565b03d..8bbbc23 100644
Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index 93895bd..4cb0460 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2019.1.10f1
-m_EditorVersionWithRevision: 2019.1.10f1 (f007ed779b7a)
+m_EditorVersion: 2021.3.6f1
+m_EditorVersionWithRevision: 2021.3.6f1 (7da38d85baf6)
diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset
index 46d0c80..bcd6706 100644
Binary files a/ProjectSettings/QualitySettings.asset and b/ProjectSettings/QualitySettings.asset differ
diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json
new file mode 100644
index 0000000..6f3e60f
--- /dev/null
+++ b/ProjectSettings/SceneTemplateSettings.json
@@ -0,0 +1,167 @@
+{
+ "templatePinStates": [],
+ "dependencyTypeInfos": [
+ {
+ "userAdded": false,
+ "type": "UnityEngine.AnimationClip",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.Animations.AnimatorController",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.AnimatorOverrideController",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.Audio.AudioMixerController",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.ComputeShader",
+ "ignore": true,
+ "defaultInstantiationMode": 1,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Cubemap",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.GameObject",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.LightingDataAsset",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": false
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.LightingSettings",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Material",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.MonoScript",
+ "ignore": true,
+ "defaultInstantiationMode": 1,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.PhysicMaterial",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.PhysicsMaterial2D",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Rendering.VolumeProfile",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.SceneAsset",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": false
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Shader",
+ "ignore": true,
+ "defaultInstantiationMode": 1,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.ShaderVariantCollection",
+ "ignore": true,
+ "defaultInstantiationMode": 1,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Texture",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Texture2D",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Timeline.TimelineAsset",
+ "ignore": false,
+ "defaultInstantiationMode": 0,
+ "supportsModification": true
+ }
+ ],
+ "defaultDependencyTypeInfo": {
+ "userAdded": false,
+ "type": "",
+ "ignore": false,
+ "defaultInstantiationMode": 1,
+ "supportsModification": true
+ },
+ "newSceneOverride": 0
+}
\ No newline at end of file
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
index be8af68..1c92a78 100644
Binary files a/ProjectSettings/TagManager.asset and b/ProjectSettings/TagManager.asset differ
diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset
index 4e9283a..558a017 100644
Binary files a/ProjectSettings/TimeManager.asset and b/ProjectSettings/TimeManager.asset differ
diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset
index 87a786c..6125b30 100644
Binary files a/ProjectSettings/UnityConnectSettings.asset and b/ProjectSettings/UnityConnectSettings.asset differ
diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset
new file mode 100644
index 0000000..46f38e1
--- /dev/null
+++ b/ProjectSettings/VFXManager.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!937362698 &1
+VFXManager:
+ m_ObjectHideFlags: 0
+ m_IndirectShader: {fileID: 0}
+ m_CopyBufferShader: {fileID: 0}
+ m_SortShader: {fileID: 0}
+ m_StripUpdateShader: {fileID: 0}
+ m_RenderPipeSettingsPath:
+ m_FixedTimeStep: 0.016666668
+ m_MaxDeltaTime: 0.05
+ m_CompiledVersion: 0
+ m_RuntimeVersion: 0
diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset
new file mode 100644
index 0000000..dca2881
--- /dev/null
+++ b/ProjectSettings/VersionControlSettings.asset
@@ -0,0 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!890905787 &1
+VersionControlSettings:
+ m_ObjectHideFlags: 0
+ m_Mode: Visible Meta Files
+ m_CollabEditorSettings:
+ inProgressEnabled: 1
diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset
new file mode 100644
index 0000000..482590c
--- /dev/null
+++ b/ProjectSettings/XRSettings.asset
@@ -0,0 +1,10 @@
+{
+ "m_SettingKeys": [
+ "VR Device Disabled",
+ "VR Device User Alert"
+ ],
+ "m_SettingValues": [
+ "False",
+ "False"
+ ]
+}
\ No newline at end of file
diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config
new file mode 100644
index 0000000..e69de29
diff --git a/README.md b/README.md
index 36b78bb..e4b8c24 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,81 @@
-# README #
-
-This repository hosts the official Unity Native Audio Plugin SDK. It is a standard Unity project that comes with prebuilt plugin effects and custom GUIs for OSX and Windows. Full source code for all plugin effects is provided, both for the native code (Xcode/VisualStudio C++ projects code in the NativeCode folder) as well as the custom GUIs (MonoDevelop project in the GUICode folder).
-
-### What license are these demos shipped under? ###
-Like the rest of the Unity open source projects, everything in this repository is released under an MIT/X11 license.
-
-### Additional dependencies ###
-While all other scenes in the project are self-contained and self-running, the “teleport” scene demonstrates how to send audio from external applications into Unity. This can either happen through the NativeCode/TeleportDemo.cpp command line program which can act both as a sender or receiver or via the included AUTeleport demo in NativeCode/Xcode/AUTeleport which shows how to send audio from an AudioUnits plugin that can be inserted in the output bus of sequencers like Logic and send audio data from there into the native audio plugin on the Unity side. A prebuilt version of the plugin is included, but if you want to build it yourself, you need to download the additional “Core Audio Utility Classes” source code from Apple as mentioned in NativeCode/Xcode/AUTeleport/readme.txt
-
-### Further information ###
-For diagrams describing some of the demos and techniques used see [the slides from Unite Europe 2015](http://files.unity3d.com/janm/UniteEurope2015.pdf)
\ No newline at end of file
+# A Revised SDK for Unity Native Audio Plug-ins
+
+This repository contains a proposal for an updated Unity Native Audio Plugin SDK.
+
+## Why
+
+Working with the original SDK, I found that it is quite convoluted and exposes
+an unnecessary amount of the low-level C API to users. Furthermore, it uses the
+C macro preprocessor extensively which is fragile and cumbersome to debug.
+
+Moreover, the project is somewhat of a mouthful with almost 30 audio effects and
+instruments of varying complexity. A lot of those plug-ins are not
+production-ready as they do memory allocation and mutex locking on the audio
+thread. This includes the convolution reverb. In my opinion, a leaner project
+with a few, simple plug-ins that demonstrate the SDK, is a better approach,
+provided our goal is to teach users how the SDK works.
+
+Also, right now the 'AudioPluginUtil' component is a frankenstein mash-up of
+essential functions related to the SDK and convenience functions for doing
+complex number algebra (why don't we use std::complex?!), Fourier transforms,
+mutex locking (users should probably use std::mutex instead), and other stuff.
+
+Finally, the original SDK needs some love anyway, as the Xcode project no longer
+compiles out-of-the-box (haven't been able to test the VS project).
+
+## Approach
+
+I've created a clean C++17 layer that completely shields the low-level API from
+the user. It declares a handful of interfaces that users implement and then the
+SDK handles all low-level stuff behind the scenes. All of the SDK that users
+need to understand is contained in a single header,
+'UnityAudioPluginInterface.hpp', which is about 100 lines of code. Having a
+clean and self-contained C++ interface simplifies the mental burden that we put
+on our users. Also, getting rid of all the macro-preprocessor non-sense and
+weird callbacks such as 'AudioPluginUtil::RegisterParameter' from the original
+SDK, makes plug-ins easier to maintain and debug.
+
+On top of the C++ interface, I have implemented two simple plug-ins, an
+attenuator and a noise generator. Both are very simple plugins. We could probably
+do with an extra and more complicated plug-in with multiple parameters and more
+advanced DSP.
+
+I have also created a Unity project, an Xcode project (for macOS) and a Visual
+Studio project (for Windows) and tested that the code compiles on both platforms.
+On macOS, I have verified that the plug-ins can load and that they work as expected.
+I haven't been able to do this on Windows as I don't have a Windows machine yet.
+
+NOTE: I haven't made any changes to the low-level C API. (So far!)
+
+## Unclarified Points
+
+1. We need to discuss what version of Unity / Xcode / Visual Studio we want to
+use for the SDK.
+
+2. The way parameters is exposed in the new SDK via a callback function that
+returns a vector of parameter descriptors (in the 'EntryPoint' struct) is not
+as userfriendly as it could be.
+
+3. Is it ok to use the C++ Standard Library (STL)?
+
+## Next Steps
+
+1. We need to implement a sane way to transfer samples from the managed code to
+a plugin. The way it is done now in the convolution reverb example is a bit of
+a hack and uses locks and memory allocation on the audio thread.
+
+2. Better functionality for sending events to plugins from the managed code
+would be useful for any kind of procedural audio that we want to trigger from
+within a game.
+
+3. This one is a little bit complicated! If we made it possible to pass data
+to a 'UnityAudioEffect_CreateCallback', e.g. via the 'UnityAudioEffectState'
+struct, we can most likely merge the 'UnityAudioPluginInterface-Raw.hpp' and
+'UnityAudioPluginInterface-Raw.inl' headers into the
+'UnityAudioPluginInterface.cpp' file. As of now, we need to include both of the
+'Raw'-files in the 'EntryPoints.cpp'-file, which is annoying. Getting rid of
+those two files, 'UnityAudioPluginInterface.hpp' would be the only file that
+users ever need to think about.
+
+4. A more complex demo effect, such as an equalizer or something similar, with
+multiple parameters and a GUI.
diff --git a/SDK/EntryPoints.cpp b/SDK/EntryPoints.cpp
new file mode 100644
index 0000000..5e8504c
--- /dev/null
+++ b/SDK/EntryPoints.cpp
@@ -0,0 +1,15 @@
+#include "UnityAudioPluginInterface-Raw.hpp"
+
+namespace attenuator { extern audio::plugin::EntryPoint const entry_point; };
+namespace noise_generator { extern audio::plugin::EntryPoint const entry_point; };
+
+namespace audio
+{
+
+extern std::vector const entry_points
+{
+ plugin::raw::raw(),
+ plugin::raw::raw(),
+};
+
+} // namespace
diff --git a/SDK/Plugin_Attenuator.cpp b/SDK/Plugin_Attenuator.cpp
new file mode 100644
index 0000000..974229b
--- /dev/null
+++ b/SDK/Plugin_Attenuator.cpp
@@ -0,0 +1,142 @@
+#include "UnityAudioPluginInterface.hpp"
+
+#include
+#include
+
+namespace attenuator
+{
+
+namespace dsp
+{
+
+static float db_to_ratio(float dB)
+{
+ return powf(10.0f, dB / 20.0f);
+}
+
+} // namespace
+
+struct Lpf
+{
+ Lpf (float sample_rate, float cutoff_frequency)
+ {
+ float const T = 1.0f / sample_rate;
+ float const G = 1.0f / (1.0f + T * 0.5f * cutoff_frequency);
+
+ a = T * 0.5f * cutoff_frequency * G;
+ b = G;
+ }
+
+ float process (float x)
+ {
+ auto const y = a * x + b * z;
+ z = (y + y) - z;
+ return y;
+ }
+
+ void reset ()
+ {
+ z = 0.0f;
+ }
+
+ private:
+
+ float prewarp(float w, float T)
+ {
+ return (2.0f / T) * tan((T / 2.0) * w);
+ }
+
+ float a, b, c, d, z {};
+};
+
+struct Parameters
+{
+ struct Index { enum { gain }; };
+
+ static audio::plugin::ParameterDescriptor constexpr descriptors [] =
+ {
+ audio::plugin::ParameterDescriptor
+ {
+ .name = "Gain", .unit = "dB",
+ .min_value = -72.0f, .max_value = +24.0f,
+ .default_value = 0.0f,
+ .display_scale = 1.0f, .display_exp = 1.0f
+ }
+ };
+
+ float gain { descriptors[Index::gain].default_value };
+};
+
+struct Plugin : audio::plugin::Plugin
+{
+ static constexpr float smoother_lpf_cutoff = 10.0f;
+
+ Parameters parameters;
+ Lpf smoother;
+
+ Plugin (audio::plugin::DspConfiguration configuration)
+ : smoother { configuration.sample_rate, smoother_lpf_cutoff } {}
+
+ std::optional get_float_parameter (int index) const override
+ {
+ switch (index)
+ {
+ case Parameters::Index::gain: return { parameters.gain };
+ }
+
+ return {};
+ }
+
+ bool set_float_parameter (int index, float value) override
+ {
+ switch (index)
+ {
+ case Parameters::Index::gain: parameters.gain = value; return true;
+ }
+
+ return false;
+ }
+
+ void process
+ (
+ uint32_t flags,
+ float * input_buffer, float * output_buffer,
+ int input_channel_count, int output_channel_count,
+ int channel_sample_count
+ ) override
+ {
+ for (int n = 0; n < channel_sample_count; n++)
+ {
+ for (int channel = 0; channel < output_channel_count; channel++)
+ {
+ auto x = input_buffer[n * output_channel_count + channel];
+ auto y = x * dsp::db_to_ratio(smoother.process(parameters.gain));
+ output_buffer[n * output_channel_count + channel] = y;
+ }
+ }
+ }
+
+ void reset () override
+ {
+ smoother.reset();
+ }
+};
+
+extern audio::plugin::EntryPoint const entry_point
+{
+ .name = "Demo Attenuator",
+
+ .factory = [](audio::plugin::DspConfiguration configuration)
+ -> std::unique_ptr
+ {
+ return std::make_unique(configuration);
+ },
+
+ .parameters = []()
+ {
+ return std::vector
+ (Parameters::descriptors, std::end(Parameters::descriptors));
+ }
+};
+
+} // namespace
diff --git a/SDK/Plugin_NoiseGenerator.cpp b/SDK/Plugin_NoiseGenerator.cpp
new file mode 100644
index 0000000..b2df96e
--- /dev/null
+++ b/SDK/Plugin_NoiseGenerator.cpp
@@ -0,0 +1,95 @@
+#include "UnityAudioPluginInterface.hpp"
+
+#include
+#include
+
+namespace noise_generator {
+
+struct NoiseSource
+{
+ float process ()
+ {
+ // Non-cryptographic integer hash function taken from
+ // https://github.com/skeeto/hash-prospector
+
+ uint32_t x = state;
+
+ x ^= x >> 17;
+ x *= 0xed5ad4bb;
+ x ^= x >> 11;
+ x *= 0xac4c1b51;
+ x ^= x >> 15;
+ x *= 0x31848bab;
+ x ^= x >> 14;
+
+ state += 1;
+
+ uint32_t constexpr mask = 0xFFFFFF; // 24 bits of precision.
+
+ return (float) (x & mask) * (1.0f / (float) mask);
+ }
+
+ private: uint32_t state {};
+};
+
+struct Plugin : audio::plugin::Plugin
+{
+ NoiseSource noise_source {};
+
+ Plugin (audio::plugin::DspConfiguration) {}
+
+ std::optional get_float_parameter (int index) const override
+ {
+ return {};
+ }
+
+ bool set_float_parameter (int index, float value) override
+ {
+ return false;
+ }
+
+ void process
+ (
+ uint32_t flags,
+ float * input_buffer, float * output_buffer,
+ int input_channel_count, int output_channel_count,
+ int channel_sample_count
+ ) override
+ {
+ if (audio::plugin::Flags::is_inactive(flags))
+ {
+ memcpy(output_buffer, input_buffer,
+ sizeof(float) * channel_sample_count * output_channel_count);
+ }
+ else
+ {
+ for (int n = 0; n < channel_sample_count; n++)
+ {
+ for (int channel = 0; channel < output_channel_count; channel++)
+ {
+ auto y = noise_source.process();
+
+ output_buffer[n * output_channel_count + channel] = y;
+ }
+ }
+ }
+ }
+};
+
+extern audio::plugin::EntryPoint const entry_point
+{
+ .name = "Demo Noise Generator",
+
+ .factory = [](audio::plugin::DspConfiguration configuration)
+ -> std::unique_ptr
+ {
+ return std::make_unique(configuration);
+ },
+
+ .parameters = []()
+ {
+ return std::vector();
+ }
+};
+
+} // namespace
diff --git a/SDK/UnityAudioPluginInterface-Raw.h b/SDK/UnityAudioPluginInterface-Raw.h
new file mode 100644
index 0000000..5043d47
--- /dev/null
+++ b/SDK/UnityAudioPluginInterface-Raw.h
@@ -0,0 +1,311 @@
+#pragma once
+
+#define UNITY_AUDIO_PLUGIN_API_VERSION 0x010402
+
+#ifndef UNITY_PREFIX_CONFIGURE_H
+
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64)
+# define PLATFORM_WIN 1
+# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
+# define PLATFORM_WINRT 1
+# endif
+#elif defined(__MACH__) || defined(__APPLE__)
+# define PLATFORM_OSX 1
+#elif defined(__ANDROID__)
+# define PLATFORM_ANDROID 1
+#elif defined(__linux__)
+# define PLATFORM_LINUX 1
+#endif
+
+#if defined(_AMD64_) || defined(__LP64__) || defined(_M_ARM64)
+# define PLATFORM_ARCH_64 1
+# define PLATFORM_ARCH_32 0
+#else
+# define PLATFORM_ARCH_64 0
+# define PLATFORM_ARCH_32 1
+#endif
+
+#ifndef SInt16_defined
+# define SInt16_defined
+typedef signed short SInt16;
+#endif
+
+#ifndef UInt16_defined
+# define UInt16_defined
+typedef unsigned short UInt16;
+#endif
+
+#ifndef UInt8_defined
+# define UInt8_defined
+typedef unsigned char UInt8;
+#endif
+
+#ifndef SInt8_defined
+# define SInt8_defined
+typedef signed char SInt8;
+#endif
+
+#if PLATFORM_ARCH_64
+# if PLATFORM_LINUX
+# ifndef SInt32_defined
+# define SInt32_defined
+typedef signed int SInt32;
+# endif
+# ifndef UInt32_defined
+# define UInt32_defined
+typedef unsigned int UInt32;
+# endif
+# ifndef UInt64_defined
+# define UInt64_defined
+typedef unsigned long UInt64;
+# endif
+# ifndef SInt64_defined
+# define SInt64_defined
+typedef signed long SInt64;
+# endif
+# elif PLATFORM_OSX
+# ifndef SInt32_defined
+# define SInt32_defined
+typedef signed int SInt32;
+# endif
+# ifndef UInt32_defined
+# define UInt32_defined
+typedef unsigned int UInt32;
+# endif
+# ifndef UInt64_defined
+# define UInt64_defined
+typedef unsigned long long UInt64;
+# endif
+# ifndef SInt64_defined
+# define SInt64_defined
+typedef signed long long SInt64;
+# endif
+# elif PLATFORM_WIN
+# ifndef SInt32_defined
+# define SInt32_defined
+typedef signed long SInt32;
+# endif
+# ifndef UInt32_defined
+# define UInt32_defined
+typedef unsigned long UInt32;
+# endif
+# ifndef UInt64_defined
+# define UInt64_defined
+typedef unsigned long long UInt64;
+# endif
+# ifndef SInt64_defined
+# define SInt64_defined
+typedef signed long long SInt64;
+# endif
+# else // Android, ...
+# ifndef SInt32_defined
+# define SInt32_defined
+typedef signed int SInt32;
+# endif
+# ifndef UInt32_defined
+# define UInt32_defined
+typedef unsigned int UInt32;
+# endif
+# ifndef UInt64_defined
+# define UInt64_defined
+typedef unsigned long long UInt64;
+# endif
+# ifndef SInt64_defined
+# define SInt64_defined
+typedef signed long long SInt64;
+# endif
+# endif
+#else
+# ifndef SInt32_defined
+# define SInt32_defined
+typedef signed int SInt32;
+# endif
+# ifndef UInt32_defined
+# define UInt32_defined
+typedef unsigned int UInt32;
+# endif
+# ifndef UInt64_defined
+# define UInt64_defined
+typedef unsigned long long UInt64;
+# endif
+# ifndef SInt64_defined
+# define SInt64_defined
+typedef signed long long SInt64;
+# endif
+#endif
+
+#endif
+
+#if PLATFORM_WINRT
+#define AUDIO_CALLING_CONVENTION __stdcall
+#else
+#define AUDIO_CALLING_CONVENTION
+#endif
+
+#if PLATFORM_WIN
+ #define UNITY_AUDIODSP_CALLBACK __stdcall
+#elif PLATFORM_OSX
+ #define UNITY_AUDIODSP_CALLBACK
+#else
+ #define UNITY_AUDIODSP_CALLBACK
+#endif
+
+// Attribute to make function be exported from a plugin
+#if PLATFORM_WIN
+ #define UNITY_AUDIODSP_EXPORT_API __declspec(dllexport)
+#else
+ #define UNITY_AUDIODSP_EXPORT_API
+#endif
+
+#if defined(__CYGWIN32__)
+ #define UNITY_AUDIODSP_CALLBACK __stdcall
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64)
+ #define UNITY_AUDIODSP_CALLBACK __stdcall
+#elif defined(__MACH__) || defined(__ANDROID__) || defined(__linux__)
+ #define UNITY_AUDIODSP_CALLBACK
+#else
+ #define UNITY_AUDIODSP_CALLBACK
+#endif
+
+#define UNITY_AUDIODSP_RESULT int
+
+#include
+
+enum
+{
+ UNITY_AUDIODSP_OK = 0,
+ UNITY_AUDIODSP_ERR_UNSUPPORTED = 1,
+};
+
+struct UnityAudioEffectState;
+
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_CreateCallback)(UnityAudioEffectState* state);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_ReleaseCallback)(UnityAudioEffectState* state);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_ResetCallback)(UnityAudioEffectState* state);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_ProcessCallback)(UnityAudioEffectState* state, float* inbuffer, float* outbuffer, unsigned int length, int inchannels, int outchannels);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_SetPositionCallback)(UnityAudioEffectState* state, unsigned int pos);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_SetFloatParameterCallback)(UnityAudioEffectState* state, int index, float value);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_GetFloatParameterCallback)(UnityAudioEffectState* state, int index, float* value, char *valuestr);
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_GetFloatBufferCallback)(UnityAudioEffectState* state, const char* name, float* buffer, int numsamples);
+
+enum UnityAudioEffectDefinitionFlags
+{
+ UnityAudioEffectDefinitionFlags_IsSideChainTarget = 1 << 0, // Does this effect need a side chain buffer and can it be targeted by a Send?
+ UnityAudioEffectDefinitionFlags_IsSpatializer = 1 << 1, // Should this plugin be inserted at sources and take over panning?
+ UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder = 1 << 2, // Should this plugin be used for ambisonic decoding? Added in Unity 2017.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010400.
+ UnityAudioEffectDefinitionFlags_AppliesDistanceAttenuation = 1 << 3, // Spatializers Only: Does this spatializer apply distance-based attenuation? Added in Unity 2017.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010400.
+ UnityAudioEffectDefinitionFlags_NeedsSpatializerData = 1 << 4 // For effects that are not spatializers or ambisonic decoders, but want access to UnityAudioSpatializerData. AudioSource-related data will be set to default values for mixer effects. Added in Unity 2018.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010402.
+};
+
+enum UnityAudioEffectStateFlags
+{
+ UnityAudioEffectStateFlags_IsPlaying = 1 << 0, // Set when engine is in play mode. Also true while paused.
+ UnityAudioEffectStateFlags_IsPaused = 1 << 1, // Set when engine is paused mode.
+ UnityAudioEffectStateFlags_IsMuted = 1 << 2, // Set when effect is being muted (only available in the editor)
+ UnityAudioEffectStateFlags_IsSideChainTarget = 1 << 3, // Does this effect need a side chain buffer and can it be targeted by a Send?
+};
+
+// This callback can be used to override the way distance attenuation is performed on AudioSources.
+// distanceIn is the distance between the source and the listener and attenuationOut is the output volume.
+// attenuationIn is the volume-curve based attenuation that would have been applied by Unity if this callback were not set.
+// A typical attenuation curve may look like this: *attenuationOut = 1.0f / max(1.0f, distanceIn);
+// The callback may also be used to apply a secondary gain on top of the one through attenuationIn by Unity's AudioSource curve.
+typedef UNITY_AUDIODSP_RESULT (UNITY_AUDIODSP_CALLBACK * UnityAudioEffect_DistanceAttenuationCallback)(UnityAudioEffectState* state, float distanceIn, float attenuationIn, float* attenuationOut);
+
+struct UnityAudioSpatializerData
+{
+ float listenermatrix[16]; // Matrix that transforms sourcepos into the local space of the listener
+ float sourcematrix[16]; // Transform matrix of audio source
+ float spatialblend; // Distance-controlled spatial blend
+ float reverbzonemix; // Reverb zone mix level parameter (and curve) on audio source
+ float spread; // Spread parameter of the audio source (0..360 degrees)
+ float stereopan; // Stereo panning parameter of the audio source (-1 = fully left, 1 = fully right)
+ UnityAudioEffect_DistanceAttenuationCallback distanceattenuationcallback; // The spatializer plugin may override the distance attenuation in order to influence the voice prioritization (leave this callback as NULL to use the built-in audio source attenuation curve)
+ float minDistance; // Min distance of the audio source. This value may be helpful to determine when to apply near-field effects. Added in Unity 2018.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010401.
+ float maxDistance; // Max distance of the audio source. Added in Unity 2018.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010401.
+};
+
+struct UnityAudioAmbisonicData
+{
+ float listenermatrix[16]; // Matrix that transforms sourcepos into the local space of the listener
+ float sourcematrix[16]; // Transform matrix of audio source
+ float spatialblend; // Distance-controlled spatial blend
+ float reverbzonemix; // Reverb zone mix level parameter (and curve) on audio source
+ float spread; // Spread parameter of the audio source (0..360 degrees)
+ float stereopan; // Stereo panning parameter of the audio source (-1 = fully left, 1 = fully right)
+ UnityAudioEffect_DistanceAttenuationCallback distanceattenuationcallback; // The ambisonic decoder plugin may override the distance attenuation in order to influence the voice prioritization (leave this callback as NULL to use the built-in audio source attenuation curve)
+ int ambisonicOutChannels; // This tells ambisonic decoders how many output channels will actually be used.
+ float volume; // Volume/mute of the audio source. If the the source is muted, volume is set to 0.0; otherwise, it is set to the audio source's volume. Volume is applied after the ambisonic decoder, so this is just informational. Added in Unity 2018.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010401.
+};
+
+struct UnityAudioEffectState
+{
+ //union
+ //{
+ //struct
+ //{
+ UInt32 structsize; // Size of this struct
+ UInt32 samplerate; // System sample rate
+ UInt64 currdsptick; // Pointer to a sample counter marking the start of the current block being processed
+ UInt64 prevdsptick; // Used for determining when DSPs are bypassed and so sidechain info becomes invalid
+ float* sidechainbuffer; // Side-chain buffers to read from
+ void* effectdata; // Internal data for the effect
+ UInt32 flags; // Various flags through which information can be queried from the host
+ void* internal; // Internal data, do not touch!
+
+ // Version 1.0 of the plugin API only contains data up to here, so perform a state->structsize >= sizeof(UnityAudioEffectState) in your code before you
+ // access any of this data in order to detect whether the host API is older than the plugin.
+
+ UnityAudioSpatializerData* spatializerdata; // Data for spatializers
+ UInt32 dspbuffersize; // Number of frames being processed per process callback. Use this to allocate temporary buffers before processing starts.
+ UInt32 hostapiversion; // Version of plugin API used by host
+
+ UnityAudioAmbisonicData* ambisonicdata; // Data for ambisonic plugins. Added in Unity 2017.1, with UNITY_AUDIO_PLUGIN_API_VERSION 0x010400.
+ //};
+ //unsigned char pad[80]; // This padding was historically due to PS3 SPU DMA requirements. We aren't removing it now because plugins may rely on this struct being at least this size.
+ //};
+#ifdef __cplusplus
+ template inline T* GetEffectData() const
+ {
+ assert(effectdata);
+ assert(internal);
+ return (T*)effectdata;
+ }
+#endif
+};
+
+struct UnityAudioParameterDefinition
+{
+ char name[16]; // Display name on the GUI
+ char unit[16]; // Scientific unit of parameter to be appended after the value in textboxes
+ const char* description; // Description of parameter (displayed in tool tips, automatically generated documentation, etc.)
+ float min; // Minimum value of the parameter
+ float max; // Maximum value of the parameter
+ float defaultval; // Default and initial value of the parameter
+ float displayscale; // Scale factor used only for the display of parameters (i.e. 100 for a percentage value ranging from 0 to 1)
+ float displayexponent; // Exponent for mapping parameters to sliders
+};
+
+struct UnityAudioEffectDefinition
+{
+ UInt32 structsize; // Size of this struct
+ UInt32 paramstructsize; // Size of paramdesc fields
+ UInt32 apiversion; // Plugin API version
+ UInt32 pluginversion; // Version of this plugin
+ UInt32 channels; // Number of channels. Effects should set this to 0 and process any number of input/output channels they get in the process callback. Generator elements should specify a >0 value here.
+ UInt32 numparameters; // The number of parameters exposed by this plugin.
+ UInt64 flags; // Various capabilities and requirements of the plugin.
+ char name[32]; // Name used for registration of the effect. This name will also be displayed in the GUI.
+ UnityAudioEffect_CreateCallback create; // The create callback is called when DSP unit is created and can be null.
+ UnityAudioEffect_ReleaseCallback release; // The release callback is called just before the plugin is freed and should free any data associated with this specific instance of the plugin. No further callbacks related to the instance will happen after this function has been called.
+ UnityAudioEffect_ResetCallback reset; // The reset callback is called by the user to bring back the plugin instance into its initial state. Use to avoid clicks or artifacts.
+ UnityAudioEffect_ProcessCallback process; // The processing callback is repeatedly called with a block of input audio to read from and an output block to write to.
+ UnityAudioEffect_SetPositionCallback setposition; // The position callback can be used for implementing seek operations.
+ UnityAudioParameterDefinition* paramdefs; // A pointer to the definitions of the parameters exposed by this plugin. This data pointed to must remain valid for the whole lifetime of the dynamic library (ideally it's static).
+ UnityAudioEffect_SetFloatParameterCallback setfloatparameter; // This is called whenever one of the exposed parameters is changed.
+ UnityAudioEffect_GetFloatParameterCallback getfloatparameter; // This is called to query parameter values.
+ UnityAudioEffect_GetFloatBufferCallback getfloatbuffer; // Get N samples of named buffer. Used for displaying analysis data from the runtime.
+};
+
+// This function fills in N pointers for the N effects contained in the library and returns N.
+extern "C" UNITY_AUDIODSP_EXPORT_API int AUDIO_CALLING_CONVENTION UnityGetAudioEffectDefinitions(UnityAudioEffectDefinition*** descptr);
diff --git a/SDK/UnityAudioPluginInterface-Raw.hpp b/SDK/UnityAudioPluginInterface-Raw.hpp
new file mode 100644
index 0000000..34b0fd0
--- /dev/null
+++ b/SDK/UnityAudioPluginInterface-Raw.hpp
@@ -0,0 +1,24 @@
+#ifndef AUDIO_PLUGIN_INTERFACE_RAW_HPP
+#define AUDIO_PLUGIN_INTERFACE_RAW_HPP
+
+#include "UnityAudioPluginInterface.hpp"
+
+namespace audio::plugin::raw
+{
+
+struct RawEntryPoint;
+
+template RawEntryPoint raw ();
+
+} // namespace
+
+#include "UnityAudioPluginInterface-Raw.inl"
+
+namespace audio::plugin
+{
+
+extern std::vector const entry_points;
+
+} // namespace
+
+#endif /* AUDIO_PLUGIN_INTERFACE_RAW_HPP */
diff --git a/SDK/UnityAudioPluginInterface-Raw.inl b/SDK/UnityAudioPluginInterface-Raw.inl
new file mode 100644
index 0000000..2b44326
--- /dev/null
+++ b/SDK/UnityAudioPluginInterface-Raw.inl
@@ -0,0 +1,78 @@
+#ifdef AUDIO_PLUGIN_INTERFACE_RAW_INL
+# error
+#else
+# define AUDIO_PLUGIN_INTERFACE_RAW_INL
+#endif
+
+#include "UnityAudioPluginInterface-Raw.h"
+
+typedef struct UnityAudioEffectState RawUnityAudioEffectState;
+
+namespace audio::plugin::raw::impl
+{
+
+extern float raw_effect_state_get_sample_rate
+ (
+ RawUnityAudioEffectState const *
+ );
+
+extern int raw_effect_state_get_max_buffer_sample_count
+ (
+ RawUnityAudioEffectState const *
+ );
+
+extern void raw_effect_state_set_plugin
+ (
+ RawUnityAudioEffectState *,
+ std::unique_ptr
+ );
+
+} // namespace
+
+namespace audio::plugin::raw
+{
+
+struct RawEntryPoint
+{
+ char const * name;
+ UnityAudioEffect_CreateCallback raw_plugin_factory;
+ std::vector (* parameters) ();
+};
+
+template
+UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK factory
+ (
+ RawUnityAudioEffectState * raw_effect_state
+ )
+{
+ plugin::DspConfiguration const dsp_configuration
+ {
+ .sample_rate = impl::raw_effect_state_get_sample_rate(raw_effect_state),
+ .max_sample_count = impl::raw_effect_state_get_max_buffer_sample_count(raw_effect_state)
+ };
+
+ auto plugin = entry_point.factory(dsp_configuration);
+
+ impl::raw_effect_state_set_plugin(raw_effect_state, std::move(plugin));
+
+ return static_cast(UNITY_AUDIODSP_OK);
+}
+
+template RawEntryPoint raw
+ (
+ )
+{
+ return RawEntryPoint
+ {
+ .name = entry_point.name,
+ .raw_plugin_factory = factory,
+ .parameters = entry_point.parameters
+ };
+}
+
+struct EffectData
+{
+ alignas(16) std::unique_ptr plugin;
+};
+
+} // namespace
diff --git a/SDK/UnityAudioPluginInterface.cpp b/SDK/UnityAudioPluginInterface.cpp
new file mode 100644
index 0000000..19d190c
--- /dev/null
+++ b/SDK/UnityAudioPluginInterface.cpp
@@ -0,0 +1,220 @@
+#include "UnityAudioPluginInterface.hpp"
+#include "UnityAudioPluginInterface-Raw.h"
+#include "UnityAudioPluginInterface-Raw.hpp"
+
+#include
+#include
+
+extern float audio::plugin::raw::impl::raw_effect_state_get_sample_rate
+ (
+ RawUnityAudioEffectState const * raw_effect_state
+ )
+{
+ return static_cast(raw_effect_state->samplerate);
+}
+
+extern int audio::plugin::raw::impl::raw_effect_state_get_max_buffer_sample_count
+ (
+ RawUnityAudioEffectState const * raw_effect_state
+ )
+{
+ return static_cast(raw_effect_state->dspbuffersize);
+}
+
+extern void audio::plugin::raw::impl::raw_effect_state_set_plugin
+ (
+ RawUnityAudioEffectState * raw_effect_state,
+ std::unique_ptr plugin
+ )
+{
+ EffectData * effect_data = new audio::plugin::raw::EffectData;
+
+ effect_data->plugin = std::move(plugin);
+
+ raw_effect_state->effectdata = static_cast(effect_data);
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK release_callback
+ (
+ UnityAudioEffectState * state
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ effect_data->plugin = nullptr;
+ delete effect_data;
+
+ return UNITY_AUDIODSP_OK;
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK set_float_parameter_callback
+ (
+ UnityAudioEffectState * state,
+ int index,
+ float value
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ bool const did_set = effect_data->plugin->set_float_parameter(index, value);
+
+ return did_set ? UNITY_AUDIODSP_OK : UNITY_AUDIODSP_ERR_UNSUPPORTED;
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK get_float_parameter_callback
+ (
+ UnityAudioEffectState * state,
+ int index,
+ float * value,
+ char * valuestr
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ auto optional_value = effect_data->plugin->get_float_parameter(index);
+
+ if (optional_value) { *value = *optional_value; }
+
+ if (valuestr != nullptr) { valuestr[0] = 0; }
+
+ return optional_value ? UNITY_AUDIODSP_OK : UNITY_AUDIODSP_ERR_UNSUPPORTED;
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK get_float_buffer_callback
+ (
+ UnityAudioEffectState * state,
+ char const * name,
+ float * buffer,
+ int numsamples
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ bool const did_write =
+ effect_data->plugin->get_float_buffer(name, buffer, numsamples);
+
+ return did_write ? UNITY_AUDIODSP_OK : UNITY_AUDIODSP_ERR_UNSUPPORTED;;
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK process_callback
+ (
+ UnityAudioEffectState * state,
+ float * inbuffer,
+ float * outbuffer,
+ unsigned int length,
+ int inchannels,
+ int outchannels
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ effect_data->plugin->process
+ (
+ state->flags, inbuffer, outbuffer, inchannels, outchannels, length
+ );
+
+ return UNITY_AUDIODSP_OK;
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK reset_callback
+ (
+ UnityAudioEffectState * state
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ effect_data->plugin->reset();
+
+ return UNITY_AUDIODSP_OK;
+}
+
+static UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK set_position_callback
+ (
+ UnityAudioEffectState * state,
+ unsigned int position
+ )
+{
+ auto effect_data = state->GetEffectData();
+
+ effect_data->plugin->set_position(static_cast(position));
+
+ return UNITY_AUDIODSP_OK;
+}
+
+void declare_effect
+ (
+ UnityAudioEffectDefinition & definition,
+ audio::plugin::raw::RawEntryPoint entry_point
+ )
+{
+ memset(&definition, 0, sizeof(definition));
+ memcpy(definition.name, entry_point.name, sizeof(definition.name));
+ definition.structsize = sizeof(UnityAudioEffectDefinition);
+ definition.paramstructsize = sizeof(UnityAudioParameterDefinition);
+ definition.apiversion = UNITY_AUDIO_PLUGIN_API_VERSION;
+ definition.pluginversion = 0x010000;
+ definition.create = entry_point.raw_plugin_factory;
+ definition.release = release_callback;
+ definition.process = process_callback;
+ definition.reset = reset_callback;
+ definition.setfloatparameter = set_float_parameter_callback;
+ definition.getfloatparameter = get_float_parameter_callback;
+ definition.getfloatbuffer = get_float_buffer_callback;
+ definition.setposition = set_position_callback;
+
+ auto parameters = entry_point.parameters();
+
+ definition.numparameters = static_cast(parameters.size());
+ definition.paramdefs =
+ new UnityAudioParameterDefinition [definition.numparameters];
+
+ for (auto & parameter_dsc : parameters)
+ {
+ auto index = ¶meter_dsc - ¶meters[0];
+
+ memcpy(
+ definition.paramdefs[index].name,
+ parameter_dsc.name,
+ sizeof(UnityAudioParameterDefinition::name)
+ );
+
+ memcpy(
+ definition.paramdefs[index].unit,
+ parameter_dsc.unit,
+ sizeof(UnityAudioParameterDefinition::unit)
+ );
+
+ definition.paramdefs[index].description = "";
+ definition.paramdefs[index].defaultval = parameter_dsc.default_value;
+ definition.paramdefs[index].displayscale = parameter_dsc.display_scale;
+ definition.paramdefs[index].displayexponent = parameter_dsc.display_exp;
+ definition.paramdefs[index].min = parameter_dsc.min_value;
+ definition.paramdefs[index].max = parameter_dsc.max_value;
+ }
+}
+
+extern "C" UNITY_AUDIODSP_EXPORT_API int AUDIO_CALLING_CONVENTION
+ UnityGetAudioEffectDefinitions
+ (
+ UnityAudioEffectDefinition * * * output
+ )
+{
+ static std::atomic_flag is_initialised {};
+ static UnityAudioEffectDefinition definitions [256];
+ static UnityAudioEffectDefinition * definition_pointers [256];
+
+ static const size_t entry_points_count = audio::entry_points.size();
+
+ if (!is_initialised.test_and_set())
+ {
+ for (size_t index = 0; index < entry_points_count; index++)
+ {
+ declare_effect(definitions[index], audio::entry_points[index]);
+ definition_pointers[index] = &definitions[index];
+ }
+ }
+
+ *output = definition_pointers;
+
+ return static_cast(entry_points_count);
+}
diff --git a/SDK/UnityAudioPluginInterface.hpp b/SDK/UnityAudioPluginInterface.hpp
new file mode 100644
index 0000000..3799415
--- /dev/null
+++ b/SDK/UnityAudioPluginInterface.hpp
@@ -0,0 +1,93 @@
+#ifndef AUDIO_PLUGIN_INTERFACE_HPP
+#define AUDIO_PLUGIN_INTERFACE_HPP
+
+#include
+#include
+#include
+
+namespace audio::plugin
+{
+
+struct Flags
+{
+ enum
+ {
+ is_playing = 0b0001, // Set when engine is in play/paused mode.
+ is_paused = 0b0010, // Set when engine is paused mode.
+ is_muted = 0b0100, // Set when the plugin is being muted.
+ is_side_chain_target = 0b1000 // Does this effect need a side chain buffer and can it be targeted by a Send?
+ };
+
+ static constexpr bool is_inactive (uint32_t flags)
+ {
+ return !(flags & is_playing) || (flags & (is_muted | is_paused));
+ }
+};
+
+struct Plugin
+{
+ virtual ~Plugin() {}
+
+ virtual std::optional get_float_parameter (int index) const = 0;
+
+ virtual bool set_float_parameter (int index, float value) = 0;
+
+ virtual void process
+ (
+ uint32_t flags,
+ float * input_buffer,
+ float * output_buffer,
+ int input_channel_count,
+ int output_channel_count,
+ int per_channel_sample_count
+ ) = 0;
+
+ virtual bool get_float_buffer
+ (char const * name, float * buffer, int sample_count) { return false; }
+
+ virtual void set_position(int position) {}
+
+ virtual void reset () {}
+
+ virtual void load_buffer (int sample_count, float * buffer, int slot) {}
+};
+
+struct ParameterDescriptor
+{
+ char name [16], unit [16];
+ float min_value, max_value, default_value;
+ float display_scale, display_exp;
+};
+
+struct DspConfiguration
+{
+ float sample_rate;
+ int max_sample_count;
+};
+
+struct EntryPoint
+{
+ char name [32];
+ std::unique_ptr (* factory) (DspConfiguration);
+ std::vector (* parameters) ();
+};
+
+} // namespace
+
+namespace audio::plugin::raw
+{
+
+struct RawEntryPoint;
+
+template RawEntryPoint raw ();
+
+} // namespace
+
+namespace audio
+{
+
+extern std::vector const entry_points;
+
+} // namespace
+
+#endif /* AUDIO_PLUGIN_INTERFACE_HPP */
diff --git a/SDK/VisualStudio/AudioPluginExample.vcxproj b/SDK/VisualStudio/AudioPluginExample.vcxproj
new file mode 100644
index 0000000..5450f84
--- /dev/null
+++ b/SDK/VisualStudio/AudioPluginExample.vcxproj
@@ -0,0 +1,196 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 16.0
+ Win32Proj
+ {d933b291-151a-4d71-a502-2838d96db51d}
+ AudioPluginExample
+ 10.0
+
+
+
+ DynamicLibrary
+ true
+ v142
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v142
+ true
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v142
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v142
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;AUDIOPLUGINEXAMPLE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ NotUsing
+
+
+ stdcpp20
+ stdc17
+
+
+ Windows
+ true
+ false
+
+
+ xcopy /y "$(TargetPath)" "..\..\Assets\Plugins\x86\"
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;AUDIOPLUGINEXAMPLE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ NotUsing
+
+
+ stdcpp20
+ stdc17
+
+
+ Windows
+ true
+ true
+ true
+ false
+
+
+ xcopy /y "$(TargetPath)" "..\..\Assets\Plugins\x86\"
+
+
+
+
+ Level3
+ true
+ _DEBUG;AUDIOPLUGINEXAMPLE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ NotUsing
+
+
+ stdcpp20
+ stdc17
+
+
+ Windows
+ true
+ false
+
+
+ xcopy /y "$(TargetPath)" "..\..\Assets\Plugins\x86_64\"
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;AUDIOPLUGINEXAMPLE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ NotUsing
+
+
+ stdcpp20
+ stdc17
+
+
+ Windows
+ true
+ true
+ true
+ false
+
+
+ xcopy /y "$(TargetPath)" "..\..\Assets\Plugins\x86_64\"
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SDK/VisualStudio/AudioPluginExample.vcxproj.filters b/SDK/VisualStudio/AudioPluginExample.vcxproj.filters
new file mode 100644
index 0000000..67f39b8
--- /dev/null
+++ b/SDK/VisualStudio/AudioPluginExample.vcxproj.filters
@@ -0,0 +1,45 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/SDK/VisualStudio/AudioPluginExample.vcxproj.user b/SDK/VisualStudio/AudioPluginExample.vcxproj.user
new file mode 100644
index 0000000..0f14913
--- /dev/null
+++ b/SDK/VisualStudio/AudioPluginExample.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.lastbuildstate b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.lastbuildstate
new file mode 100644
index 0000000..0d2d5ed
--- /dev/null
+++ b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.lastbuildstate
@@ -0,0 +1,2 @@
+PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
+Debug|Win32|\\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\|
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.write.1u.tlog b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.write.1u.tlog
new file mode 100644
index 0000000..805fb2d
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.write.1u.tlog differ
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/CL.command.1.tlog b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/CL.command.1.tlog
new file mode 100644
index 0000000..22d7c6d
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/CL.command.1.tlog differ
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/CL.write.1.tlog b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/CL.write.1.tlog
new file mode 100644
index 0000000..0e0a633
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/CL.write.1.tlog differ
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.command.1.tlog b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.command.1.tlog
new file mode 100644
index 0000000..504621e
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.command.1.tlog differ
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.read.1.tlog b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.read.1.tlog
new file mode 100644
index 0000000..7dd41e3
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.read.1.tlog differ
diff --git a/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.write.1.tlog b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.write.1.tlog
new file mode 100644
index 0000000..4a7c493
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPlu.d933b291.tlog/link.write.1.tlog differ
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.dll b/SDK/VisualStudio/Debug/AudioPluginExample.dll
new file mode 100644
index 0000000..7073def
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPluginExample.dll differ
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.dll.recipe b/SDK/VisualStudio/Debug/AudioPluginExample.dll.recipe
new file mode 100644
index 0000000..2a20d04
--- /dev/null
+++ b/SDK/VisualStudio/Debug/AudioPluginExample.dll.recipe
@@ -0,0 +1,11 @@
+
+
+
+
+ \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\Debug\AudioPluginExample.dll
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.exp b/SDK/VisualStudio/Debug/AudioPluginExample.exp
new file mode 100644
index 0000000..f4c1abe
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPluginExample.exp differ
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.ilk b/SDK/VisualStudio/Debug/AudioPluginExample.ilk
new file mode 100644
index 0000000..c9cf0a5
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPluginExample.ilk differ
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.lib b/SDK/VisualStudio/Debug/AudioPluginExample.lib
new file mode 100644
index 0000000..aec141b
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPluginExample.lib differ
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.log b/SDK/VisualStudio/Debug/AudioPluginExample.log
new file mode 100644
index 0000000..34df290
--- /dev/null
+++ b/SDK/VisualStudio/Debug/AudioPluginExample.log
@@ -0,0 +1,10 @@
+ EntryPoints.cpp
+ Plugin_Attenuator.cpp
+ Plugin_NoiseGenerator.cpp
+ Plugin_Reverb.cpp
+ UnityAudioPluginInterface.cpp
+ Generating Code...
+ Creating library \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\Debug\AudioPluginExample.lib and object \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\Debug\AudioPluginExample.exp
+ AudioPluginExample.vcxproj -> \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\Debug\AudioPluginExample.dll
+ \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\Debug\AudioPluginExample.dll
+ 1 File(s) copied
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.pdb b/SDK/VisualStudio/Debug/AudioPluginExample.pdb
new file mode 100644
index 0000000..e15d9e4
Binary files /dev/null and b/SDK/VisualStudio/Debug/AudioPluginExample.pdb differ
diff --git a/SDK/VisualStudio/Debug/AudioPluginExample.vcxproj.FileListAbsolute.txt b/SDK/VisualStudio/Debug/AudioPluginExample.vcxproj.FileListAbsolute.txt
new file mode 100644
index 0000000..3dee280
--- /dev/null
+++ b/SDK/VisualStudio/Debug/AudioPluginExample.vcxproj.FileListAbsolute.txt
@@ -0,0 +1 @@
+\\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\Debug\AudioPluginExample.dll
diff --git a/SDK/VisualStudio/Debug/EntryPoints.obj b/SDK/VisualStudio/Debug/EntryPoints.obj
new file mode 100644
index 0000000..1d6b5bf
Binary files /dev/null and b/SDK/VisualStudio/Debug/EntryPoints.obj differ
diff --git a/SDK/VisualStudio/Debug/Plugin_Attenuator.obj b/SDK/VisualStudio/Debug/Plugin_Attenuator.obj
new file mode 100644
index 0000000..6638d17
Binary files /dev/null and b/SDK/VisualStudio/Debug/Plugin_Attenuator.obj differ
diff --git a/SDK/VisualStudio/Debug/Plugin_NoiseGenerator.obj b/SDK/VisualStudio/Debug/Plugin_NoiseGenerator.obj
new file mode 100644
index 0000000..2ec343a
Binary files /dev/null and b/SDK/VisualStudio/Debug/Plugin_NoiseGenerator.obj differ
diff --git a/SDK/VisualStudio/Debug/Plugin_Reverb.obj b/SDK/VisualStudio/Debug/Plugin_Reverb.obj
new file mode 100644
index 0000000..34204bc
Binary files /dev/null and b/SDK/VisualStudio/Debug/Plugin_Reverb.obj differ
diff --git a/SDK/VisualStudio/Debug/UnityAudioPluginInterface.obj b/SDK/VisualStudio/Debug/UnityAudioPluginInterface.obj
new file mode 100644
index 0000000..49a524e
Binary files /dev/null and b/SDK/VisualStudio/Debug/UnityAudioPluginInterface.obj differ
diff --git a/SDK/VisualStudio/Debug/vc142.idb b/SDK/VisualStudio/Debug/vc142.idb
new file mode 100644
index 0000000..e4305a8
Binary files /dev/null and b/SDK/VisualStudio/Debug/vc142.idb differ
diff --git a/SDK/VisualStudio/Debug/vc142.pdb b/SDK/VisualStudio/Debug/vc142.pdb
new file mode 100644
index 0000000..714b65f
Binary files /dev/null and b/SDK/VisualStudio/Debug/vc142.pdb differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.lastbuildstate b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.lastbuildstate
new file mode 100644
index 0000000..2cd62c9
--- /dev/null
+++ b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.lastbuildstate
@@ -0,0 +1,2 @@
+PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
+Debug|x64|\\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\|
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.write.1u.tlog b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.write.1u.tlog
new file mode 100644
index 0000000..eb22d55
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/AudioPluginExample.write.1u.tlog differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/CL.command.1.tlog b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/CL.command.1.tlog
new file mode 100644
index 0000000..e818534
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/CL.command.1.tlog differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/CL.write.1.tlog b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/CL.write.1.tlog
new file mode 100644
index 0000000..9294248
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/CL.write.1.tlog differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.command.1.tlog b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.command.1.tlog
new file mode 100644
index 0000000..f9a29dc
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.command.1.tlog differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.read.1.tlog b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.read.1.tlog
new file mode 100644
index 0000000..3a19ff8
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.read.1.tlog differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.write.1.tlog b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.write.1.tlog
new file mode 100644
index 0000000..eb3d131
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPlu.d933b291.tlog/link.write.1.tlog differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.dll b/SDK/VisualStudio/x64/Debug/AudioPluginExample.dll
new file mode 100644
index 0000000..5efef6f
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPluginExample.dll differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.dll.recipe b/SDK/VisualStudio/x64/Debug/AudioPluginExample.dll.recipe
new file mode 100644
index 0000000..ea596a5
--- /dev/null
+++ b/SDK/VisualStudio/x64/Debug/AudioPluginExample.dll.recipe
@@ -0,0 +1,11 @@
+
+
+
+
+ \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\x64\Debug\AudioPluginExample.dll
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.exp b/SDK/VisualStudio/x64/Debug/AudioPluginExample.exp
new file mode 100644
index 0000000..d8feee9
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPluginExample.exp differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.ilk b/SDK/VisualStudio/x64/Debug/AudioPluginExample.ilk
new file mode 100644
index 0000000..83b2f5c
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPluginExample.ilk differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.lib b/SDK/VisualStudio/x64/Debug/AudioPluginExample.lib
new file mode 100644
index 0000000..b268f80
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPluginExample.lib differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.log b/SDK/VisualStudio/x64/Debug/AudioPluginExample.log
new file mode 100644
index 0000000..aaad6a2
--- /dev/null
+++ b/SDK/VisualStudio/x64/Debug/AudioPluginExample.log
@@ -0,0 +1,9 @@
+ EntryPoints.cpp
+ Plugin_Attenuator.cpp
+ Plugin_NoiseGenerator.cpp
+ Plugin_Reverb.cpp
+ UnityAudioPluginInterface.cpp
+ Generating Code...
+ AudioPluginExample.vcxproj -> \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\x64\Debug\AudioPluginExample.dll
+ \\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\x64\Debug\AudioPluginExample.dll
+ 1 File(s) copied
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.pch b/SDK/VisualStudio/x64/Debug/AudioPluginExample.pch
new file mode 100644
index 0000000..d86c334
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPluginExample.pch differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.pdb b/SDK/VisualStudio/x64/Debug/AudioPluginExample.pdb
new file mode 100644
index 0000000..1b58d91
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/AudioPluginExample.pdb differ
diff --git a/SDK/VisualStudio/x64/Debug/AudioPluginExample.vcxproj.FileListAbsolute.txt b/SDK/VisualStudio/x64/Debug/AudioPluginExample.vcxproj.FileListAbsolute.txt
new file mode 100644
index 0000000..e7885d2
--- /dev/null
+++ b/SDK/VisualStudio/x64/Debug/AudioPluginExample.vcxproj.FileListAbsolute.txt
@@ -0,0 +1 @@
+\\Mac\Home\Documents\Unity\Native Audio SDK\AudioPluginExample\VisualStudio\x64\Debug\AudioPluginExample.dll
diff --git a/SDK/VisualStudio/x64/Debug/EntryPoints.obj b/SDK/VisualStudio/x64/Debug/EntryPoints.obj
new file mode 100644
index 0000000..ea54f04
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/EntryPoints.obj differ
diff --git a/SDK/VisualStudio/x64/Debug/Plugin_Attenuator.obj b/SDK/VisualStudio/x64/Debug/Plugin_Attenuator.obj
new file mode 100644
index 0000000..175abb3
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/Plugin_Attenuator.obj differ
diff --git a/SDK/VisualStudio/x64/Debug/Plugin_NoiseGenerator.obj b/SDK/VisualStudio/x64/Debug/Plugin_NoiseGenerator.obj
new file mode 100644
index 0000000..cbac2f8
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/Plugin_NoiseGenerator.obj differ
diff --git a/SDK/VisualStudio/x64/Debug/Plugin_Reverb.obj b/SDK/VisualStudio/x64/Debug/Plugin_Reverb.obj
new file mode 100644
index 0000000..45bec60
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/Plugin_Reverb.obj differ
diff --git a/SDK/VisualStudio/x64/Debug/UnityAudioPluginInterface.obj b/SDK/VisualStudio/x64/Debug/UnityAudioPluginInterface.obj
new file mode 100644
index 0000000..b7d4649
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/UnityAudioPluginInterface.obj differ
diff --git a/SDK/VisualStudio/x64/Debug/vc142.idb b/SDK/VisualStudio/x64/Debug/vc142.idb
new file mode 100644
index 0000000..334dcc0
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/vc142.idb differ
diff --git a/SDK/VisualStudio/x64/Debug/vc142.pdb b/SDK/VisualStudio/x64/Debug/vc142.pdb
new file mode 100644
index 0000000..680483d
Binary files /dev/null and b/SDK/VisualStudio/x64/Debug/vc142.pdb differ
diff --git a/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.pbxproj b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..d4002c7
--- /dev/null
+++ b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.pbxproj
@@ -0,0 +1,330 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 55;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ AC41D0F32885C1BE0027C287 /* EntryPoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC41D0F22885C1BE0027C287 /* EntryPoints.cpp */; };
+ AC41D0F62885C2270027C287 /* Plugin_Attenuator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC41D0F42885C2270027C287 /* Plugin_Attenuator.cpp */; };
+ AC41D10028883EBE0027C287 /* Plugin_NoiseGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC41D0FF28883EBE0027C287 /* Plugin_NoiseGenerator.cpp */; };
+ AC68075728AE46E500200A57 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = AC68075528AE46E500200A57 /* README.md */; };
+ AC98BC7828A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.inl in Resources */ = {isa = PBXBuildFile; fileRef = AC98BC7728A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.inl */; };
+ AC98BC7A28A3EF69001FCE9B /* UnityAudioPluginInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC98BC7928A3EF69001FCE9B /* UnityAudioPluginInterface.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ AC41D0E02885BF840027C287 /* AudioPluginExample.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AudioPluginExample.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ AC41D0EE2885C0A50027C287 /* UnityAudioPluginInterface.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = UnityAudioPluginInterface.hpp; path = ../UnityAudioPluginInterface.hpp; sourceTree = ""; };
+ AC41D0F22885C1BE0027C287 /* EntryPoints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EntryPoints.cpp; path = ../EntryPoints.cpp; sourceTree = ""; };
+ AC41D0F42885C2270027C287 /* Plugin_Attenuator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Plugin_Attenuator.cpp; path = ../Plugin_Attenuator.cpp; sourceTree = ""; };
+ AC41D0FF28883EBE0027C287 /* Plugin_NoiseGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Plugin_NoiseGenerator.cpp; path = ../Plugin_NoiseGenerator.cpp; sourceTree = ""; };
+ AC68075528AE46E500200A57 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../../README.md; sourceTree = ""; };
+ AC98BC7528A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = "UnityAudioPluginInterface-Raw.hpp"; path = "../UnityAudioPluginInterface-Raw.hpp"; sourceTree = ""; };
+ AC98BC7628A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UnityAudioPluginInterface-Raw.h"; path = "../UnityAudioPluginInterface-Raw.h"; sourceTree = ""; };
+ AC98BC7728A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "UnityAudioPluginInterface-Raw.inl"; path = "../UnityAudioPluginInterface-Raw.inl"; sourceTree = ""; };
+ AC98BC7928A3EF69001FCE9B /* UnityAudioPluginInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnityAudioPluginInterface.cpp; path = ../UnityAudioPluginInterface.cpp; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ AC41D0DD2885BF840027C287 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ AC41D0D72885BF840027C287 = {
+ isa = PBXGroup;
+ children = (
+ AC41D0EB2885C06D0027C287 /* Source */,
+ AC41D0E12885BF840027C287 /* Products */,
+ );
+ sourceTree = "";
+ };
+ AC41D0E12885BF840027C287 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ AC41D0E02885BF840027C287 /* AudioPluginExample.bundle */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ AC41D0EB2885C06D0027C287 /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ AC68075528AE46E500200A57 /* README.md */,
+ AC41D0EE2885C0A50027C287 /* UnityAudioPluginInterface.hpp */,
+ AC98BC7928A3EF69001FCE9B /* UnityAudioPluginInterface.cpp */,
+ AC98BC7628A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.h */,
+ AC98BC7528A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.hpp */,
+ AC98BC7728A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.inl */,
+ AC41D0F22885C1BE0027C287 /* EntryPoints.cpp */,
+ AC41D0F42885C2270027C287 /* Plugin_Attenuator.cpp */,
+ AC41D0FF28883EBE0027C287 /* Plugin_NoiseGenerator.cpp */,
+ );
+ name = Source;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ AC41D0DF2885BF840027C287 /* AudioPluginExample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = AC41D0E42885BF840027C287 /* Build configuration list for PBXNativeTarget "AudioPluginExample" */;
+ buildPhases = (
+ AC41D0DC2885BF840027C287 /* Sources */,
+ AC41D0DD2885BF840027C287 /* Frameworks */,
+ AC41D0DE2885BF840027C287 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = AudioPluginExample;
+ productName = AudioPluginExample;
+ productReference = AC41D0E02885BF840027C287 /* AudioPluginExample.bundle */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ AC41D0D82885BF840027C287 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = 1;
+ LastUpgradeCheck = 1340;
+ TargetAttributes = {
+ AC41D0DF2885BF840027C287 = {
+ CreatedOnToolsVersion = 13.4.1;
+ };
+ };
+ };
+ buildConfigurationList = AC41D0DB2885BF840027C287 /* Build configuration list for PBXProject "UnityAudioPluginSDK" */;
+ compatibilityVersion = "Xcode 13.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = AC41D0D72885BF840027C287;
+ productRefGroup = AC41D0E12885BF840027C287 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ AC41D0DF2885BF840027C287 /* AudioPluginExample */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ AC41D0DE2885BF840027C287 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AC98BC7828A3ED44001FCE9B /* UnityAudioPluginInterface-Raw.inl in Resources */,
+ AC68075728AE46E500200A57 /* README.md in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ AC41D0DC2885BF840027C287 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AC41D10028883EBE0027C287 /* Plugin_NoiseGenerator.cpp in Sources */,
+ AC98BC7A28A3EF69001FCE9B /* UnityAudioPluginInterface.cpp in Sources */,
+ AC41D0F32885C1BE0027C287 /* EntryPoints.cpp in Sources */,
+ AC41D0F62885C2270027C287 /* Plugin_Attenuator.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ AC41D0E22885BF840027C287 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++17";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_PEDANTIC = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ AC41D0E32885BF840027C287 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++17";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_PEDANTIC = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ AC41D0E52885BF840027C287 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ COMBINE_HIDPI_IMAGES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ DEPLOYMENT_LOCATION = YES;
+ DSTROOT = "$(PROJECT_DIR)/../../Assets";
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ INFOPLIST_KEY_NSPrincipalClass = "";
+ INSTALL_PATH = /Plugins;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioPluginExample.AudioPluginExample;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = NO;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Debug;
+ };
+ AC41D0E62885BF840027C287 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ COMBINE_HIDPI_IMAGES = YES;
+ COPY_PHASE_STRIP = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ DEPLOYMENT_LOCATION = YES;
+ DSTROOT = "$(PROJECT_DIR)/../../Assets";
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ INFOPLIST_KEY_NSPrincipalClass = "";
+ INSTALL_PATH = /Plugins;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioPluginExample.AudioPluginExample;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = NO;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ AC41D0DB2885BF840027C287 /* Build configuration list for PBXProject "UnityAudioPluginSDK" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ AC41D0E22885BF840027C287 /* Debug */,
+ AC41D0E32885BF840027C287 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ AC41D0E42885BF840027C287 /* Build configuration list for PBXNativeTarget "AudioPluginExample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ AC41D0E52885BF840027C287 /* Debug */,
+ AC41D0E62885BF840027C287 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = AC41D0D82885BF840027C287 /* Project object */;
+}
diff --git a/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..399b588
--- /dev/null
+++ b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/xcuserdata/niswegmann.xcuserdatad/UserInterfaceState.xcuserstate b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/xcuserdata/niswegmann.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..a702191
Binary files /dev/null and b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/project.xcworkspace/xcuserdata/niswegmann.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/xcuserdata/niswegmann.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/xcuserdata/niswegmann.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 0000000..ff05bd2
--- /dev/null
+++ b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/xcuserdata/niswegmann.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,6 @@
+
+
+
diff --git a/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/xcuserdata/niswegmann.xcuserdatad/xcschemes/xcschememanagement.plist b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/xcuserdata/niswegmann.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..68ef363
--- /dev/null
+++ b/SDK/Xcode/UnityAudioPluginSDK.xcodeproj/xcuserdata/niswegmann.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,14 @@
+
+
+
+
+ SchemeUserState
+
+ AudioPluginExample.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+
+
+