From 3445c79f23abcbf423699a0656d0952332ed0b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20Degerf=C3=A4lt?= Date: Sun, 23 Jun 2019 10:38:10 +0200 Subject: [PATCH 1/2] Press buttons 1-7 for valves and trills and left index input Also moved bug workaround code to be in the same function for simpler removal at later stage. --- simulation/src/nuevisim.cpp | 50 +++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/simulation/src/nuevisim.cpp b/simulation/src/nuevisim.cpp index 8982c7c..7a09bd0 100644 --- a/simulation/src/nuevisim.cpp +++ b/simulation/src/nuevisim.cpp @@ -288,20 +288,6 @@ static void doGlobalsWindow() // int vibThrLo; // int vibZero; -// // Key variables, TRUE (1) for pressed, FALSE (0) for not pressed -// byte K1; // Valve 1 (pitch change -2) -// byte K2; // Valve 2 (pitch change -1) -// byte K3; // Valve 3 (pitch change -3) -// byte K4; // Left Hand index finger (pitch change -5) -// byte K5; // Trill key 1 (pitch change +2) -// byte K6; // Trill key 2 (pitch change +1) -// byte K7; // Trill key 3 (pitch change +4) - -// byte halfPitchBendKey; -// byte specialKey; -// byte pinkyKey; - - } ImGui::End(); @@ -438,6 +424,14 @@ static void SimLoop(std::function continue_predicate, std::function continue_predicate, std::function continue_predicate, std::function bool { return true; }, loop ); SimQuit(); return 0; @@ -567,11 +574,6 @@ static int SimInit() touchSensor.mockFilteredData(i, 4095); } - - // Dummy to always force full reset of EEPROM, to circumvent bug in NuEVI.ino - digitalInputs[mPin] = 0; - digitalInputs[ePin] = 0; - return result; } From 315013eb2b2010b1521a1cf6fd5905cd4f0e1a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20Degerf=C3=A4lt?= Date: Sun, 23 Jun 2019 13:34:19 +0200 Subject: [PATCH 2/2] Updated readme --- simulation/readme.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/simulation/readme.md b/simulation/readme.md index 79013e1..164779b 100644 --- a/simulation/readme.md +++ b/simulation/readme.md @@ -1,22 +1,22 @@ -## Simulator for NuEVI +# Simulator for NuEVI This is a simple SDL2 based simulator that runs the NuEVI firmware compiled for MacOS. This is for testing the menu and is not supposed to produce any midi events. +## Requirements -### Requirements - - * The Filters library must be installed in ~/Documents/Arduino/libraries/Filters. - * SDL2 must be installed on your machine. - * You probably need to have XCode and XCodes command line tools installed as well. +* The Filters library must be installed in ~/Documents/Arduino/libraries/Filters. +* [SDL2.framework](https://www.libsdl.org/download-2.0.php) must be installed on your machine in /Library/Frameworks/ (or ~/Library/Frameworks/). +* You probably need to have XCode and XCodes command line tools installed as well, but using brew to install make and clang might be enough. [Dear Imgui](https://github.com/ocornut/imgui) is pulled in as an git submodule. Run `git submodule init` and `git submodule update` to get the code. The code is tested with tag v1.70 of ImGui, so if you run into problems make sure that is the checked out version. +## Know limitations -### Know limitations +Currently only some input is simulated, and the default values are not based on real hardware. There is also a limitation on some keyboards on how many buttons can be pressed at the same time. This means that all menu functions cannot be tested. -Currently the only input simulated are the menu buttons (use the arrow keys). This means that all menu functions cannot be tested, since the rotator menu cannot be opened. There is also a limitation on some keyboard on how many buttons can be pressed at the same time. +## Future plans - -### Future plans - - * Add a Dear ImGUI based UI for simulating all other inputs. +* Add simulation for all inputs +* Show MIDI status in UI +* Add in-app log window +* Fake real breath input by keypress