From e4987c2322d5d8ac0fba7b389f345be51221f04b Mon Sep 17 00:00:00 2001
From: Christian Colglazier <christian@cacolglazier.com>
Date: Sun, 24 Oct 2021 20:00:25 -0400
Subject: [PATCH] Fixed menu and sound output

---
 src/droplets/noise_droplet.cpp |  2 +-
 src/droplets/vco_droplet.cpp   |  2 +-
 src/menu.cpp                   | 10 +++++-----
 src/menu.h                     |  1 +
 4 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/droplets/noise_droplet.cpp b/src/droplets/noise_droplet.cpp
index fb65f8f..7cff786 100644
--- a/src/droplets/noise_droplet.cpp
+++ b/src/droplets/noise_droplet.cpp
@@ -10,7 +10,7 @@ NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch,
 void NoiseDroplet::Control() {}
 
 void NoiseDroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer out, size_t size) {
-  for (size_t i = 0; i < size; i += 2) {
+  for (size_t i = 0; i < size; i++) {
     float sig = noise.Process();
     for (size_t chn = GetChannelMin(); chn < GetChannelMax(); chn++) {
       out[chn][i] = sig;
diff --git a/src/droplets/vco_droplet.cpp b/src/droplets/vco_droplet.cpp
index 1462d7f..5418fb3 100644
--- a/src/droplets/vco_droplet.cpp
+++ b/src/droplets/vco_droplet.cpp
@@ -53,7 +53,7 @@ void VCODroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer
   
   Patch()->ProcessAnalogControls();
   
-  for (size_t i = 0; i < size; i += 2) {
+  for (size_t i = 0; i < size; i++) {
     // Read Knobs
     freq = mtof(freqctrl.Process() + finectrl.Process());
     if (GetState() == DropletState::kFull) {
diff --git a/src/menu.cpp b/src/menu.cpp
index 0bb6b5c..cb4a855 100644
--- a/src/menu.cpp
+++ b/src/menu.cpp
@@ -5,9 +5,9 @@ Menu::Menu(DaisyPatch* m_patch,
 	   DropletManager* m_manager) {
   patch = m_patch;
   state = m_state;
-  state = m_state;
+  manager = m_manager;
 }
-const std::string MENU_ITEMS[] = {"TEST",
+const std::string MENU_ITEMS[] = {"Split",
   "Change",
   "VCO", 
   "Noise"};
@@ -16,10 +16,9 @@ const int MAX_CHAR_LENGTH = 15;
 const int MENU_X[] = {0,  5,  10,  5,  0};
 const int MENU_Y[] = {0, 11,  22, 41, 52};
 int selectedMenuItem = 0;
-bool inMenu = false;
 
 bool Menu::InMenu() {
-  return inMenu;
+  return this->inMenu;
 }
 
 void Menu::SetInMenu(bool menuState) {
@@ -35,11 +34,12 @@ void Menu::FilterMenuSelection() {
 }
 
 std::string Menu::FilterMenuText(int position) {
+  //return std::to_string(position);
   if (position >= MENU_SIZE || position < 0) {
     return "";
   } else {
     if (ConvertState(position) == MenuState::kSplit) {
-      if (!manager->GetSplitMode()) {
+      if (manager->GetSplitMode()) {
 	return "Merge";
       } else {
 	return "Split";
diff --git a/src/menu.h b/src/menu.h
index fd4521a..23a5a2a 100644
--- a/src/menu.h
+++ b/src/menu.h
@@ -17,6 +17,7 @@ class Menu {
   DaisyPatch* patch;
   DropletManager* manager;
   DropletState state;
+  bool inMenu = false;
 
   /*
    * Converts a number to the related menu state.