diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4923565..e646bd0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -197,6 +197,57 @@ juce_add_binary_data (${PLUGIN_NAME}_Assets SOURCES
"./plugin/Resources/WavetablesFLAC/Hyper/Hyper 05.wt2048"
"./plugin/Resources/WavetablesFLAC/Hyper/Hyper 07.wt2048"
"./plugin/Resources/WavetablesFLAC/Hyper/Hyper 06.wt2048"
+
+ "./plugin/Resources/Presets/HavenSteps/E-Bass.xml"
+ "./plugin/Resources/Presets/HavenSteps/90sEP.xml"
+ "./plugin/Resources/Presets/HavenSteps/Medas4.xml"
+ "./plugin/Resources/Presets/HavenSteps/Flutish.xml"
+ "./plugin/Resources/Presets/HavenSteps/Game Bass.xml"
+ "./plugin/Resources/Presets/HavenSteps/BrokenCom.xml"
+ "./plugin/Resources/Presets/HavenSteps/Rhodeys.xml"
+ "./plugin/Resources/Presets/HavenSteps/80s Dirty Lead.xml"
+ "./plugin/Resources/Presets/HavenSteps/NylonSteel.xml"
+ "./plugin/Resources/Presets/HavenSteps/Raiser.xml"
+ "./plugin/Resources/Presets/HavenSteps/Duke Bass.xml"
+ "./plugin/Resources/Presets/HavenSteps/Simbad.xml"
+ "./plugin/Resources/Presets/HavenSteps/DramaLead.xml"
+ "./plugin/Resources/Presets/HavenSteps/SteelS.xml"
+ "./plugin/Resources/Presets/HavenSteps/16bit Dream.xml"
+ "./plugin/Resources/Presets/HavenSteps/Play That Funky Music.xml"
+ "./plugin/Resources/Presets/HavenSteps/BossB.xml"
+ "./plugin/Resources/Presets/HavenSteps/MovieTrailerS.xml"
+ "./plugin/Resources/Presets/HavenSteps/Lazzzer.xml"
+ "./plugin/Resources/Presets/HavenSteps/PadThai.xml"
+ "./plugin/Resources/Presets/HavenSteps/Bassison.xml"
+ "./plugin/Resources/Presets/HavenSteps/8bit dream.xml"
+ "./plugin/Resources/Presets/HavenSteps/The Classic.xml"
+ "./plugin/Resources/Presets/HavenSteps/Dramahit.xml"
+ "./plugin/Resources/Presets/HavenSteps/Unistep.xml"
+ "./plugin/Resources/Presets/HavenSteps/LostTechno.xml"
+ "./plugin/Resources/Presets/HavenSteps/Monoglis Madness.xml"
+ "./plugin/Resources/Presets/HavenSteps/Concuas.xml"
+ "./plugin/Resources/Presets/HavenSteps/CrazyBrass.xml"
+ "./plugin/Resources/Presets/HavenSteps/DayDreaming.xml"
+ "./plugin/Resources/Presets/HavenSteps/BeauKeys.xml"
+ "./plugin/Resources/Presets/HavenSteps/Pulse Droner.xml"
+ "./plugin/Resources/Presets/HavenSteps/Nostromo.xml"
+ "./plugin/Resources/Presets/HavenSteps/Cimbalom.xml"
+ "./plugin/Resources/Presets/HavenSteps/Shamisen.xml"
+ "./plugin/Resources/Presets/HavenSteps/Decisive.xml"
+ "./plugin/Resources/Presets/HavenSteps/HavenSteps.xml"
+ "./plugin/Resources/Presets/HavenSteps/Angles.xml"
+ "./plugin/Resources/Presets/HavenSteps/CrazyOrgan.xml"
+ "./plugin/Resources/Presets/HavenSteps/80's 4th.xml"
+ "./plugin/Resources/Presets/HavenSteps/Stars.xml"
+ "./plugin/Resources/Presets/HavenSteps/PLead.xml"
+ "./plugin/Resources/Presets/HavenSteps/SomeChurch.xml"
+ "./plugin/Resources/Presets/HavenSteps/Bassity.xml"
+ "./plugin/Resources/Presets/HavenSteps/WoW.xml"
+ "./plugin/Resources/Presets/HavenSteps/Snare.xml"
+ "./plugin/Resources/Presets/HavenSteps/Sweeper.xml"
+ "./plugin/Resources/Presets/HavenSteps/PalmBlass.xml"
+ "./plugin/Resources/Presets/HavenSteps/Alejandr0.xml"
+ "./plugin/Resources/Presets/HavenSteps/Navi.xml"
)
set_target_properties(${PLUGIN_NAME}_Assets PROPERTIES UNITY_BUILD ON UNITY_BUILD_MODE BATCH UNITY_BUILD_BATCH_SIZE 10)
diff --git a/modules/gin b/modules/gin
index 79ce3a2..6323285 160000
--- a/modules/gin
+++ b/modules/gin
@@ -1 +1 @@
-Subproject commit 79ce3a2200dd2a7f5465edfcb6892c7900a1fbab
+Subproject commit 6323285974ac00e4573bb870039e1b970c321239
diff --git a/plugin/Resources/Presets/HavenSteps/16bit Dream.xml b/plugin/Resources/Presets/HavenSteps/16bit Dream.xml
new file mode 100644
index 0000000..97313b2
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/16bit Dream.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/80's 4th.xml b/plugin/Resources/Presets/HavenSteps/80's 4th.xml
new file mode 100644
index 0000000..894c5bc
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/80's 4th.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/80s Dirty Lead.xml b/plugin/Resources/Presets/HavenSteps/80s Dirty Lead.xml
new file mode 100644
index 0000000..bb8b258
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/80s Dirty Lead.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/8bit dream.xml b/plugin/Resources/Presets/HavenSteps/8bit dream.xml
new file mode 100644
index 0000000..a3cbba9
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/8bit dream.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/90sEP.xml b/plugin/Resources/Presets/HavenSteps/90sEP.xml
new file mode 100644
index 0000000..c9c7016
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/90sEP.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Alejandr0.xml b/plugin/Resources/Presets/HavenSteps/Alejandr0.xml
new file mode 100644
index 0000000..3cc74a6
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Alejandr0.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Angles.xml b/plugin/Resources/Presets/HavenSteps/Angles.xml
new file mode 100644
index 0000000..84ebc38
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Angles.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Bassison.xml b/plugin/Resources/Presets/HavenSteps/Bassison.xml
new file mode 100644
index 0000000..e9f4d69
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Bassison.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Bassity.xml b/plugin/Resources/Presets/HavenSteps/Bassity.xml
new file mode 100644
index 0000000..34b5b02
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Bassity.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/BeauKeys.xml b/plugin/Resources/Presets/HavenSteps/BeauKeys.xml
new file mode 100644
index 0000000..8990c4e
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/BeauKeys.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/BossB.xml b/plugin/Resources/Presets/HavenSteps/BossB.xml
new file mode 100644
index 0000000..e385caf
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/BossB.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/BrokenCom.xml b/plugin/Resources/Presets/HavenSteps/BrokenCom.xml
new file mode 100644
index 0000000..56a7375
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/BrokenCom.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Cimbalom.xml b/plugin/Resources/Presets/HavenSteps/Cimbalom.xml
new file mode 100644
index 0000000..89997a2
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Cimbalom.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Concuas.xml b/plugin/Resources/Presets/HavenSteps/Concuas.xml
new file mode 100644
index 0000000..f60d071
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Concuas.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/CrazyBrass.xml b/plugin/Resources/Presets/HavenSteps/CrazyBrass.xml
new file mode 100644
index 0000000..4a80d79
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/CrazyBrass.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/CrazyOrgan.xml b/plugin/Resources/Presets/HavenSteps/CrazyOrgan.xml
new file mode 100644
index 0000000..0829ff3
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/CrazyOrgan.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/DayDreaming.xml b/plugin/Resources/Presets/HavenSteps/DayDreaming.xml
new file mode 100644
index 0000000..0ea9c74
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/DayDreaming.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Decisive.xml b/plugin/Resources/Presets/HavenSteps/Decisive.xml
new file mode 100644
index 0000000..87f2afe
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Decisive.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/DramaLead.xml b/plugin/Resources/Presets/HavenSteps/DramaLead.xml
new file mode 100644
index 0000000..204e344
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/DramaLead.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Dramahit.xml b/plugin/Resources/Presets/HavenSteps/Dramahit.xml
new file mode 100644
index 0000000..e43bdfb
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Dramahit.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Duke Bass.xml b/plugin/Resources/Presets/HavenSteps/Duke Bass.xml
new file mode 100644
index 0000000..0474834
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Duke Bass.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/E-Bass.xml b/plugin/Resources/Presets/HavenSteps/E-Bass.xml
new file mode 100644
index 0000000..b5a8d14
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/E-Bass.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Flutish.xml b/plugin/Resources/Presets/HavenSteps/Flutish.xml
new file mode 100644
index 0000000..c537460
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Flutish.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Game Bass.xml b/plugin/Resources/Presets/HavenSteps/Game Bass.xml
new file mode 100644
index 0000000..f5b592f
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Game Bass.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/HavenSteps.xml b/plugin/Resources/Presets/HavenSteps/HavenSteps.xml
new file mode 100644
index 0000000..4a2d56b
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/HavenSteps.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Lazzzer.xml b/plugin/Resources/Presets/HavenSteps/Lazzzer.xml
new file mode 100644
index 0000000..8373e66
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Lazzzer.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/LostTechno.xml b/plugin/Resources/Presets/HavenSteps/LostTechno.xml
new file mode 100644
index 0000000..ea64d1f
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/LostTechno.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Medas4.xml b/plugin/Resources/Presets/HavenSteps/Medas4.xml
new file mode 100644
index 0000000..a44d0cf
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Medas4.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Monoglis Madness.xml b/plugin/Resources/Presets/HavenSteps/Monoglis Madness.xml
new file mode 100644
index 0000000..24c4a59
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Monoglis Madness.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/MovieTrailerS.xml b/plugin/Resources/Presets/HavenSteps/MovieTrailerS.xml
new file mode 100644
index 0000000..2bd7a86
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/MovieTrailerS.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Navi.xml b/plugin/Resources/Presets/HavenSteps/Navi.xml
new file mode 100644
index 0000000..2c192fb
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Navi.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Nostromo.xml b/plugin/Resources/Presets/HavenSteps/Nostromo.xml
new file mode 100644
index 0000000..f15dc2c
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Nostromo.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/NylonSteel.xml b/plugin/Resources/Presets/HavenSteps/NylonSteel.xml
new file mode 100644
index 0000000..02c850c
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/NylonSteel.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/PLead.xml b/plugin/Resources/Presets/HavenSteps/PLead.xml
new file mode 100644
index 0000000..c1c48b2
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/PLead.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/PadThai.xml b/plugin/Resources/Presets/HavenSteps/PadThai.xml
new file mode 100644
index 0000000..0cae947
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/PadThai.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/PalmBlass.xml b/plugin/Resources/Presets/HavenSteps/PalmBlass.xml
new file mode 100644
index 0000000..ecd3f61
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/PalmBlass.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Play That Funky Music.xml b/plugin/Resources/Presets/HavenSteps/Play That Funky Music.xml
new file mode 100644
index 0000000..912a6a4
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Play That Funky Music.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Pulse Droner.xml b/plugin/Resources/Presets/HavenSteps/Pulse Droner.xml
new file mode 100644
index 0000000..d7c8429
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Pulse Droner.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Raiser.xml b/plugin/Resources/Presets/HavenSteps/Raiser.xml
new file mode 100644
index 0000000..c3c6704
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Raiser.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Rhodeys.xml b/plugin/Resources/Presets/HavenSteps/Rhodeys.xml
new file mode 100644
index 0000000..36bdb41
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Rhodeys.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Shamisen.xml b/plugin/Resources/Presets/HavenSteps/Shamisen.xml
new file mode 100644
index 0000000..9ff3807
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Shamisen.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Simbad.xml b/plugin/Resources/Presets/HavenSteps/Simbad.xml
new file mode 100644
index 0000000..9925faf
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Simbad.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Snare.xml b/plugin/Resources/Presets/HavenSteps/Snare.xml
new file mode 100644
index 0000000..d6602c0
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Snare.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/SomeChurch.xml b/plugin/Resources/Presets/HavenSteps/SomeChurch.xml
new file mode 100644
index 0000000..411ee61
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/SomeChurch.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Stars.xml b/plugin/Resources/Presets/HavenSteps/Stars.xml
new file mode 100644
index 0000000..f027027
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Stars.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/SteelS.xml b/plugin/Resources/Presets/HavenSteps/SteelS.xml
new file mode 100644
index 0000000..3f899a6
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/SteelS.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Sweeper.xml b/plugin/Resources/Presets/HavenSteps/Sweeper.xml
new file mode 100644
index 0000000..964681a
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Sweeper.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/The Classic.xml b/plugin/Resources/Presets/HavenSteps/The Classic.xml
new file mode 100644
index 0000000..79fb9c4
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/The Classic.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/Unistep.xml b/plugin/Resources/Presets/HavenSteps/Unistep.xml
new file mode 100644
index 0000000..8bc1aa4
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/Unistep.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Resources/Presets/HavenSteps/WoW.xml b/plugin/Resources/Presets/HavenSteps/WoW.xml
new file mode 100644
index 0000000..d3955cb
--- /dev/null
+++ b/plugin/Resources/Presets/HavenSteps/WoW.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin/Source/PluginProcessor.cpp b/plugin/Source/PluginProcessor.cpp
index c5b6c18..cf04069 100644
--- a/plugin/Source/PluginProcessor.cpp
+++ b/plugin/Source/PluginProcessor.cpp
@@ -352,6 +352,7 @@ void WavetableAudioProcessor::ReverbParams::setup (WavetableAudioProcessor& p)
mix = p.addExtParam ("rvbMix", "Mix", "", "", {0.0f, 1.0f, 0.0f, 1.0f}, 0.0f, 0.0f);
}
+#if 0
void convertWavetables()
{
auto src = juce::File (__FILE__).getChildFile ("../../Resources/Wavetables");
@@ -386,12 +387,74 @@ void convertWavetables()
}
}
+void extractWavetables()
+{
+ auto save = [] (const juce::File& dst, const juce::String& name, const juce::MemoryBlock& mb)
+ {
+ auto sz = gin::getWavetableSize (mb);
+ jassert (sz > 0);
+ if (sz <= 0)
+ return;
+
+ auto f = dst.getChildFile (name + ".wav");
+
+ f.replaceWithData (mb.getData(), mb.getSize());
+ };
+
+ auto src = juce::File ("/Users/rrabien/Downloads/HavenSteps");
+ auto dst = juce::File ("/Users/rrabien/Downloads/HavenSteps_out");
+
+ for (auto f : src.findChildFiles (juce::File::findFiles, false, "*.xml"))
+ {
+ auto preset = juce::ValueTree::fromXml (f.loadFileAsString());
+ auto state = preset.getChildWithName ("state");
+
+ auto name1 = state.getProperty ("wt1");
+ auto name2 = state.getProperty ("wt2");
+
+ juce::MemoryBlock mb1;
+ juce::MemoryBlock mb2;
+
+ mb1.fromBase64Encoding (state.getProperty ("wt1Data").toString());
+ mb2.fromBase64Encoding (state.getProperty ("wt1Data").toString());
+
+ auto changed = false;
+ if (mb1.getSize() > 0)
+ {
+ save (dst, name1, mb1);
+
+ mb1.reset();
+ state.setProperty ("wt1Data", mb1.toBase64Encoding(), nullptr);
+ changed = true;
+ }
+
+ if (mb2.getSize() > 0)
+ {
+ save (dst, name2, mb2);
+
+ mb2.reset();
+ state.setProperty ("wt2Data", mb2.toBase64Encoding(), nullptr);
+ changed = true;
+ }
+
+ if (changed)
+ dst.getChildFile (f.getFileName()).replaceWithText (preset.toXmlString());
+ else
+ f.copyFileTo (dst.getChildFile (f.getFileName()));
+ }
+}
+#endif
+
//==============================================================================
WavetableAudioProcessor::WavetableAudioProcessor() : gin::Processor (false)
{
- //convertWavetables();
-
- lf = std::make_unique();
+ {
+ auto sz = 0;
+ for (auto i = 0; i < BinaryData::namedResourceListSize; i++)
+ if (juce::String (BinaryData::originalFilenames[i]).endsWith (".xml"))
+ if (auto data = BinaryData::getNamedResource (BinaryData::namedResourceList[i], sz))
+ extractProgram (BinaryData::originalFilenames[i], data, sz);
+ }
enableLegacyMode();
setVoiceStealingEnabled (true);