John Stäck
75ee097857
Merge branch 'master' into sysex
2019-08-26 16:09:32 +02:00
Johan Berglund
bab51190e1
Fix for bite vibrato sensitivity. Added increased range of sensitivity settings. Added possibility to use both bite and lever for vibrato at the same time. Separate timing interval for breath (trying to get speed up again). Moved Teensy touch sense calls for pinky key and special key to function less often called (every standard CC interval). Changed menu name VEL BIAS to VEL BOOST which is a more accurate description.
2019-08-25 12:38:02 +02:00
Johan Berglund
8ad8803c57
Added AT (aftertouch) instead of OFF for Level control.
2019-08-21 18:33:09 +02:00
Johan Berglund
d5506ff2b9
Added secondary CC for extra controller and a Level CC control (stored), both with new settings for pinky key. New pinky settings: "EC2" sends on/off (127/0) for extra ctr CC2. "ECS" uses pinky key as switch between sending primary and secondary CC with extra controller. "LVL" lights up breath and portamento LEDs to indicate level (breath LED on full is max level, portamento LED full is min level), and level can be adjusted with K5 (up) and K1 (down). "LVP" is the same as "LVL", but with stored level transmitted at power up.
2019-08-21 08:44:22 +02:00
Johan Berglund
fcf3bf2e17
Adjust bite vibrato sensitivity range.
2019-08-20 09:19:52 +02:00
John Stäck
2741ff5a27
Config management mode, to send/receive config via usb midi sysex
2019-07-29 17:05:10 +02:00
John Stäck
4966a7ea42
Incorporate Filters code into NuEVI repo for smoother setup.
2019-07-27 16:58:34 +02:00
John Stäck
c6ad2b6c53
Init variables to avoid (incorrect) compiler warnings
2019-07-27 13:32:39 +02:00
John Stäck
3ae4147d7e
Move all the LED things to a separate file, as mentioned in comments
2019-07-27 00:42:27 +02:00
John Stäck
3903ec7b98
Mistakes were made
2019-07-27 00:20:01 +02:00
John Stäck
a5385a9ec1
Wrap status led usage in neat functions
2019-07-27 00:06:52 +02:00
John Stäck
e04a14ef95
Simplify readSwitches()
2019-07-26 23:42:08 +02:00
John Stäck
16e9bd0407
Define constant for "dipswitch" positions
2019-07-25 09:09:00 +02:00
John Stäck
ae41482351
Move all EEPROM stuff into settings file
...
Refactor version upgrade logic
Add some new settings values
2019-07-25 08:50:54 +02:00
John Stäck
def0dcacd0
Remove global var for wireless power, add wl channel menu
2019-07-25 08:48:28 +02:00
John Stäck
33bfc9ea08
Use settings flag for DAC output mode (remove CVSCALEBOARD define)
2019-07-25 08:48:28 +02:00
John Stäck
671dfe9b2c
Define constant for "dipswitch" positions
2019-07-25 08:47:58 +02:00
John Stäck
7b179d4343
Add settings for fast boot, bcas mode, 3rd trill, dac out
2019-07-25 08:47:58 +02:00
John Stäck
c38adcd56c
Move all EEPROM stuff into settings file
...
Refactor version upgrade logic
Add some new settings values
2019-07-25 08:47:58 +02:00
John Stäck
66b782da16
Menu option to set midibeam power level
2019-07-20 10:38:23 +02:00
Johan Berglund
407683bbc3
Added portamento on vibrato lever when vibrato is controlled with bite
2019-07-18 14:50:35 +02:00
Johan Berglund
ed7db007eb
Removed SR and SR+ from CC list
2019-07-18 14:07:52 +02:00
Johan Berglund
597991c968
Added possibility to use bite sensor for vibrato.
2019-07-18 13:58:28 +02:00
Johan Berglund
1cc50cff63
Added secondary breath CC setting (free 1-127) with a rise multiplier to make this CC rise faster than primary CC, for example to get a fast rising VCA control together with a less steep VCF slope. Changed portamento sensor name to BITE. Put SNS dots for MPR121 and Teensy touch keys on separate rows to avoid blanking when redrawn. Note: Update resets to factory settings.
2019-07-15 13:46:34 +02:00
Johan Berglund
1d34681c40
EXTRAS menu page added, with items LEGACY PB, LEGACY BR, GATE HOLD and SPECIAL KEY to enable/disable these special functions.
2019-07-15 07:51:44 +02:00
Johan Berglund
9f7fbb60c3
Deglitching on keys also for CV note pitch. CV note pitch now also changes immediately when new note is fingered in note off state, not waiting for new note on.
2019-07-12 13:57:34 +02:00
Mikael Degerfält
68d8ac984b
Out of bounds check fix
2019-06-26 23:45:15 +02:00
Mikael Degerfält
faf4f528b3
Custom draw function for curve to show the form and not just name
...
Draw the curve as well as the name of curve. Could be optimised a bit by not evaluating the curve every pixel, but something like every third pixel. Could also draw dots instead of lines if we need extra speed.
2019-06-26 17:52:43 +02:00
Mikael Degerfält
5d333432ce
Removed switch statement for curves, use array lookup instead
2019-06-25 23:00:45 +02:00
John Stäck
cc86c357a0
Move defines elsewhere as they're used in multiple places
2019-06-25 13:42:22 +02:00
John Stäck
416b2a1730
Restructure and clarify defined constants
2019-06-25 13:42:22 +02:00
John Stäck
bc31cb9eef
Remove stale commented-out code
2019-06-25 13:42:22 +02:00
John Stäck
549c2797b0
Use pin names rather than hardcoding
2019-06-25 13:42:22 +02:00
John Stäck
7342de4d82
Annotate "fingering math" for readability
2019-06-25 13:41:34 +02:00
John Stäck
34a3dd0613
Merge pull request #17 from Trasselfrisyr/numenu
...
Full Menu Refactoring
2019-06-25 13:06:02 +02:00
John Stäck
b6ed8126b7
Allow midi+serial usb type too (useful for "console debugging")
2019-06-24 15:38:29 +02:00
John Stäck
50b1fe9eb3
Check for correct target platform and USB type
2019-06-24 15:00:00 +02:00
Mikael Degerfält
bddbffd51d
Moved over the rotation menu to new system
...
Had to change how the values where stored in RAM from singed to unsigned to be able to use the generic menu features. Also had to add the MenuEntrySub as a parameter to the menu callback functions to be able fo display and store the correct values.
Did some major cleanup now that the special case of rotator menu is gone together with all uses of the old version of the sub menu struct.
2019-06-23 17:14:18 +02:00
Mikael Degerfält
4c4d0e8b5a
Unified main and patch menu input handling
...
Now all menu pages are handled the same way, which is great because now I can implement scrolling in the menu pages.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
0d0ea5051d
Made the sensor adjust menu driven by data
...
* Moved menu titles and option names into data structures.
* Unified select menu option code
* Also unified handling of menu selection, although main and rotator menus are still handled the old way.
* Moved struct definitions to numenu.h
* Grouped functions and variables together based on usage.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
e362546e3c
First iteration of menu cleanup
...
* Broke up the code into more general functions instead of duplicating code
* Made stuff const and removed variables no longer used
* Use defines for menu button values
* Changed the order or things to avoid forward declarations
* Use array lookup instead of switch-case on some menu options
* Adjust menu functionification
* Cleaned up sensor rendering
2019-06-23 17:14:17 +02:00
Mikael Degerfält
25a31d8df8
Write new factor constants even if old version was < 24
...
This bug would probably never happen in real life, and could be fix by holding down menu and enter buttons at startup. But a bug is a bug.
The only reason I found this bug is that the simulator didn’t initialise EEPROM to 0xff, and even after I did that it crashed, because a version of 0xffff wasn't handled.
2019-06-23 10:24:42 +02:00
Mikael Degerfält
c43be09b1f
Save memory by changing int arrays to const short arrays
...
No need to have them in RAM since they are never changed, and their value was never higher than 14 bits, so using 32 was just a waste.
2019-06-09 16:53:17 +02:00
Mikael Degerfält
cc3323fd03
Move access to usbMIDI to midi.ino
...
NuEVI.ino shouldn’t have to know about usbMIDI.
2019-06-08 22:22:13 +02:00
Mikael Degerfält
921fdb1266
Global namespace cleanup
...
Moved variables only used in menu to menu code. Variables only used in NuEVI.ino removed from globals.h and made static.
2019-06-08 15:34:16 +02:00
Mikael Degerfält
58ea673994
Moved settings #defines to settings.h
...
I did feel like they belong in config.h
2019-06-04 23:34:26 +02:00
Mikael Degerfält
4bf2a3a91e
Renamed menu.ino to menu.cpp
...
This change required lots of other changes to have it compile. I had to declare all variables from NuEVI.ino used by the menu as extern in a separate header file (globals.h).
Also I moved all defines from NuEVI.ino to a config.h file. I think some of these could be moved back or even moved into menu.cpp.
I declared many variables and functions in menu.cpp as static and moved them around to avoid forward declarations. For simplicity I did some forward declarations anyway.
Some varibles only used in menu.cpp was moved from NuEVI.ino instead of having them as externals.
2019-06-03 19:24:21 +02:00
Johan Berglund
f0010cb08c
Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages.
2019-05-25 11:05:17 +02:00
Johan Berglund
f06eb0b9a4
Cleanup
2019-03-21 09:28:21 +01:00
Johan Berglund
37c77356d5
Added way to enter regular menu instead of rotator menu (touch special key) if touch sensing is set too high. Added support for pneumatic bite sensing (add-on board). Experimental pitch CV out for built-in add-on CV scaler board (#define CVSCALEBOARD). LED brightness fix.
2019-03-21 09:15:28 +01:00