Commit graph

37 commits

Author SHA1 Message Date
John Stäck
ba6182d1e6
Merge branch 'master' into johans-senaste 2023-02-27 13:14:45 +01:00
John Stack
1a543a6734 Changes up to 1.6.0 2023-02-27 12:56:49 +01:00
Mikael Degerfält
6ddd2aa111 Use enum naming convention
The same naming convention for enum as was used in menu should also apply to new enum.
Fixed some compiler warnings in menu.
Moved enum and struct in globals.h away from the middle of #define block.
2021-07-29 20:30:09 +02:00
Mikael Degerfält
b5b6d890c0 Harmonizer refactoring
Removed code duplication by using structs and functions.
2021-07-14 18:55:24 +02:00
Johan Berglund
c8bd07799a * New quarter tone setting for Pinky Key (NuEVI) and Mod Key (NuRAD) – QTN. This makes the Pinky/Mod key a key for playing one quarter tone down using pitchbend (MIDI) or directly affecting the built in note CV output (using CV module or NuEVI CV/Plus). Pitch bend range for MIDI synth needs to be two semitones up/dn (or compensated for in pitch bend divider setting in the controller to make the resulting range two semitones up/dn). On NuRAD, it is recommended to set the 3rd LH Pinky key (EXTRA PKEY setting) to mirror MOD key for playablility.
* Changes to extra controller harmonics settings (experimental). Reverse direction options (ending with an ‘R’) available following the ones going up. This can be used with experimental mouthpieces where increased lip tension creates less touched sensor area.
2021-07-09 14:38:32 +02:00
Johan Berglund
27071c44bd * Added three new settings in EXTRAS MENU – CV TUNE, CV SCALE and CV EC LFO. The first two allow for software tuning of the CV output for 1V/Oct when using NuEVI CV, NuEVI Plus or NuEVI/NuRAD with external CV box or module. Also makes more simple versions of the CV boards possible (no potentiometers for adjustment). The CV EC LFO setting controls a new CV LFO vibrato function for the extra controller (lip sensor). It can be set to OFF (no extra controller LFO vibrato) or values 1 through 8, which represent vibrato freq from 4.5Hz to 8Hz. Default value is 3 (5.5Hz). 2021-02-20 15:35:01 +01:00
Johan Berglund
822e15e33d Adjusted default breath cal offset value. Added inverted octave rollers option for NuEVI (EVR in fingering menu). Support for CME WIDI chip connected to Teensy underside pads. Alternate Serial2 TX pad 31 for separate MIDI output, jumper sensing between pads 27 and 28 and power control for WIDI using pad 33. The old "slow midi" function (touching pinky key when pressing enter to toggle on/off) now repurpused for WIDI power control (only available when pads 27 and 28 are bridged). 2021-01-01 11:57:26 +01:00
Johan Berglund
b80f9247a2 Added compile option to include a MPR121 board adress scanning function for troubleshooting (MENU button at startup). Changed the destination setup for bite and lever to be less confusing and more powerful (custom CCs now possible). The VIB CTL item in the VIBRATO menu is now removed, and in SETUP CTL menu you will find BITE CTL, BITE CC, LEVER CTL and LEVER CC.
BITE CTL and LEVER CTL can both be set to any of these destinations:
	OFF - no destination active for this controller
	VIB - vibrato
	GLD - glide/portamento (defined by GLIDE MOD and GLIDE LMT settings)
	CC  - custom CC output (defined in GLIDE CC and LEVER CC settings)

Settings in GLIDE CC and LEVER CC are only used when corresponding control is set to CC in its CTL setting as described above.
2020-09-04 11:32:40 +02:00
Johan Berglund
c2d429c3f7 * AUTOCAL is available for each ADJUST menu page. With cursor on THR or MAX bar, press UP and DOWN buttons at the same time (and keep off the sensors being calibrated). AUTOCAL will be displayed for two seconds, then updated settings will be shown.
[removed for now - needs work] * Experimental breath controlled harmonic series (BRTH HARM and BR HM SEL settings). Like the lip sensor harmonics function, this shifts the fingered note up the harmonic series. For improved switching speed, try turning down the key deglitch time. (If this function is to be kept, I will probably need to tweak it quite a bit. Tongueing into higher notes and releasing them does not work well currently.)
2020-08-21 07:49:36 +02:00
Johan Berglund
ee438c200d * Adjustment setting for thumb lever (for optimizing thumb portamento control). By setting THR (level of push force to activate) and MAX (level of push force to achieve maximum set portamento) values close to eachother at the desired point of activation, the new glide limit setting to desired rate will create a switching type set rate controller (similar to Crumar EVI glide key). With THR and MAX setup with separation to taste, a continous control up to level set by glide limit is achieved.
* Glide setting SWO, SWitching Only, sending only Glide on/off (CC#65) for use with synths where glide rate CC#5 is used in non standard ways, for example some DSI/Sequential synths like the Prophet REV2 or Prophet 12 where glide rates are set individually for each oscillator.

* Glide limit setting for portamento. Doubles as setting for portamento level sent using pinky key/mod key in GLD mode. (Can be changed both in menu and in GLD mode.)

* Setting of level for LVL, LVP and GLD now reqires touching both pinky/mod and third trill/RHp3 for setting mode activation, this to avoid accidental change of setting when pinky/mod key is touched.

* Rate of setting movement up and down for LVL, LVP and GLD has been adjusted. Became very much too fast after the timing issues were solved in 1.5b1

* A short delay before note offs in legato transitions is added to make playback of recorded midi behave correctly (keeping note on and note off from being registered on the same timestamp).
2020-08-19 23:07:38 +02:00
Johan Berglund
b9a8742fc1 NuEVI and NuRAD: Timing and speed issue solved - SSD1306 display library needed editing to prevent it from lowering I2C bus speed. Added setting to enable/disable the on the fly key switching. NuRAD: Changed touch sensor reading equalisation from offset to multiplier to improve coherence of readings. 2020-07-22 13:24:56 +02:00
Johan Berglund
cc188f2196 For NuRAD: Fix for SAX fingering (LH2+RH2 now plays Bb). Added Gate Hold functionality from NuEVI, using thumb folded in over R2 through R5 in place of the "doorknob" grip on the EVI. For NuRAD and NuEVI: New POLY PLAY functionality with a number of harmonizer settings and additional rotator setups. 2020-07-19 13:52:06 +02:00
Johan Berglund
c7c1825b62 Fix for SAX fingering and updated fingering chart (NuRAD). Experimental fingerings using rollers for harmonic series (NuEVI). LED indication for extra controller sensor and startup LED check and also fail check for MPR121 sensor boards (NuRAD). 2020-06-04 11:43:46 +02:00
Johan Berglund
9a2e6b002f Added battery type setting and detailed battery info in ABOUT menu (support for NiMH and LiPo batteries). Added lip sensor activated harmonic series, with settings for range and series type. Added NuRAD overview drawing. Changes to CC lables (from 1 & 2 to A & B). 2020-04-27 11:19:08 +02:00
Johan Berglund
0f65c0d3d8 Added fingerings for NuRAD - SAX, EVI, EVR and EWX. Added setting for extra pinky key (NuRAD). Fix for quickpatch function (NuEVI/NuRAD). Rotator menu moved to main menu (NuEVI/NuRAD). Activation of legacy patch selection and settings now only done in extras menu. Changed zero setting in rotator to set rotators off and move on to next one (you can now rotate between 2-4 notes or set to static chord or interval). Changed order of some menu items. 2020-03-17 13:31:34 +01:00
Johan Berglund
7eccf7eeec New settings for better portamento performance on Roland SE-02. SEL for switching between OFF and LIN, SEE for switching between OFF and EXP. 2020-02-24 18:27:06 +01:00
Johan Berglund
4decdf1d72 Now it's also NuRAD firmware! Set define for compile option NURAD in hardware.h to switch. Added a new little thing for NuEVI too: releasing the rollers leaves octave in current one instead of going to bottom octave unless coming down from first roller. This is helpful against bass hum from filter leak when setting the EVI aside, using pitch CV from NuEVI and synth with no VCA in use or gate open (drone mode). 2019-12-11 16:12:01 +01:00
Johan Berglund
58d7584f87 Added static glide/portamento control as pinky key setting. Use LEVEL control to set glide time. 2019-10-20 14:16:10 +02:00
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
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
John Stäck
9e76cfbdde Upper bound on length of version string for sysex message 2019-08-15 08:04:41 +02:00
John Stäck
660d6583b3 Rename midi value conversion functions to something that possibly makes more sense 2019-08-15 08:04:14 +02:00
John Stäck
186be9ceb6 Proper bounds for breath cc value 2019-08-15 07:53:04 +02:00
John Stäck
fc36e5939b Add "magic" CRC value that skips verification (for testing purposes) 2019-08-09 08:19:02 +02:00
John Stäck
1e9b470619 Actually match teensy/arduino signatures 2019-08-04 11:20:17 +02:00
John Stäck
8e6effaa41 no printf() in teensy code 2019-08-04 10:53:54 +02:00
John Stäck
1cdface168 Handle receiving of sysex conig data 2019-08-04 10:51:48 +02:00
John Stäck
72b305830f Add facility to receive config via sysex 2019-07-30 11:55:20 +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
25d22fc42f Make (almost) all EEPROM settings read be bounded, and rewritten if "out of bounds" 2019-07-25 11:58:09 +02:00
John Stäck
c8e96343d0 Move EEPROM read/write functions to settings 2019-07-25 11:07:41 +02:00
John Stäck
9fbfde3867 Force flags from dipSw to "nice 1-bit values" to prevent menus from locking up 2019-07-25 09:24:58 +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