[x] Keymap: menu that determines what features of attached preparations to activate: reset phase in Blendrónic and Synchronic, and potentially have use in other preparations as well
[x] Keymap: mode toggle for using MIDI keyboard to select/deselect notes
[x] MIDI Out, for Synchronic (Pascal; wants to use with Disklavier)
[x] Keymap: mode where noteOn and noteOff messages are reversed; noteOn turns notes off, plays hammer/resonance, noteOff starts notes. Super simple, potentially very fun
[ ] SYNCHRONIC BUG: scaling off after 12th step in sustain length mult slider (dt)
[ ] disable pedaling in Direct
[ ] Keymap: filter/mapper. noteOn => filter that determines which note(s) are actually sent on
[ ] remove dependence on STK; bring ADSR and AHDSR into our codebase
[ ] enable computer keyboard to play (a la COS126 Guitar Hero assignment)?
[ ] add Cluster Max to Nostalgic (already has Cluster Min)
[ ] enable pedaling of Synchronic notes? (Pascal again, quite an interesting idea)
[ ] Undo/Redo; even just with a history of 1 (mm)
[x] attach and reattach cables, or just delete cables (mm)
[ ] spring colors reflect stretch/compress (dt)
[ ] UI handles for various things, CC-mapping, buttons/pedals, learnable
[ ] OSC handling. for both input and output. Think Feedback, CMMV...
[ ] allow subfolders in pianos and preparations folders?
[ ] font on Windows is hard to read?
[ ] Windows installer doesn't create a Start menu entry and should
[ ] should we make default volume of sustain pedal controllable via Direct settings?
[ ] packets of transpositions (mm)
[ ] duration and velocity constraints for Spring tuning?
[ ] transpose all values up/down semitone or octave (mm)
[ ] scale all envelope times (per preparation) (mm)
[ ] requantize multislider curve in to more steps (mm)
[ ] ability to simple define number of steps in multislider (mm)
[ ] grey out Adaptive Tuning/Tempo UI elements until they have a Keymap attached, put text to remind user
[ ] new Synchronic Cyclotron display?
[ ] new Adaptive Tempo algorithm
[ ] multiple soundfonts inside a gallery/piano? perhaps via Keymaps?
[ ] random settings/configurations, like Xfm in Max (from van stiefel)
[ ] incorporate Stange adaptive tuning system. ok if it's in progress when the paper comes out. (dt or student)
[ ] HEJI display. basically do this https://www.plainsound.org/HEJI/, displaying the HEJI notation for the last played note; probably would have to show two options, for, say, Db/C#
[ ] add "transpose by interval" function for Absolute tuning? To move an absolute tuning up and down...
[ ] have Synchronic param fields be forward-backward looping (Noah request).
[ ] add second transposition slider for Undertow? (Noah request).
[ ] Keymap mapper/harmonizer. So, 60:[0 4 7] will cause a played C to output 60, 64, 67 to whatever the Keymap is attached to. Put another keyboard in the prep; press one of the bottom keys, it shows which notes will be activated on the top keys, and you can assign there as well.
[ ] have Keymap display notes >88 and <21 in some way. Text window allows, and this means it would be easy to attach some drum pads, things that send MIDI note msgs
[ ] add option to Nostalgic where sustainPedal determines keyOff (as it is now) or not (so sustain can be pressed, but noteLength set by keyUps); actually, three modes: 1. pedal sets length and launches; 2. pedal launches (key down time sets length); 3. pedal ignored.
[ ] "ignore pedal" option for Direct. useful in Synchronic as well?
[x] add Cluster Cap to Synchronic params (currently it is 8 by default and hard-wired)
[ ] Blendrónic
eventually add a toggle so audio in can be used with it
with this, a variation on Mod/Reset which allows you to Trigger an event inside a preparation. So, you could connect a separate Keymap to a Trigger Mod, which would be connected to Blendrónic or Synchronic, and that would reset the metronome phase, or whatever trigger parameter makes sense for that prep. Enables us to separate the audio that goes into a prep from what manipulates its behavior.
[ ] if audio in with Blendrónic is interesting, could consider with other preparations:
Nostalgic:
sample while key is down;
Note Length: begin playback on release, however can’t do length mults > 1, or playback rates > 1;
Synchronic mode: like 120bpm, but again, length mults are an issue
Synchronic;
Sample on key down, continue sampling for length of synchronic note (length mult, playback rate, determines)
Pitch detection; could allow transpositions to be dependent on input pitch
[ ] Mods with smooth time? ramp to new Vals over a period of time
[ ] Scripting. or not?
[ ] Preparation Sequencer; counter to count notes/clusters through prep values
[ ] Option to display preparation name or little bits of info about preparations in graph
[ ] MIDI out, MPE out
[ ] Ableton Link
[ ] multiple versions of the same sPrep open in a single Piano? saving preparation is like saving preset in plugin for use in other projects/FX chains. "Load settings from..." and "Link to..."
[ ] IAA MIDI not working, apparently. maybe a JUCE thing that we can't do anything about for the moment; check when iOS is ready
DONE
v2.4
[x] gallery intended for producers, usage within DAWS (mm)
[x] confusion with "subdivision" sliders when in Adaptive Tempo
[x] add Cluster Thickness slider? exposes the cluster "cap" which is currently hardwired at 8.
[x] Cluster Min/Max display is not showing the right thing
[x] add cluster threshold slider for Nostalgic
[x] example pianos and preps for installer to create folders for
[x] check all plugin formats (dt)
[x] retest soundfonts. add any?
[x] carefully check new noteOff mode in Synchronic, and layers in both Synchronic/Nostalgic
[x] Mods in Pianos that ARE in the default Piano in a Gallery but are ALSO in another Piano are not getting initialized properly in the non-default Piano when the Gallery is opened. Try NS_5_Wallumrod, the Piano Etude5-5; the Tuning mods won't do their thing.
[x] blue status updates on Velocity and Note Length limiting sliders not implemented
[x] "duplicate" in Tuning and Nostalgic mods will crash
[x] Tuning Mods broken. check out NS_5_Wallumrod. multiple issues.
[x] iOS adjustments (dt/mm)
[x] resave all builtin galleries as needed, including with default spring tuning fundamental as "none" (dt)
[x] cluster->addNote(noteNumber) crash on Prelude 2 gallery
[x] "Action:clear" in Mods doesn't seem to do anything?
[x] Mods for spring tuning need some work
[x] try to correct for Logic AU crash; old bK plugin host preference files seem to be the culprit (#default.aupreset, in ~/Library/Audio/Presets/manyarrowsmusic/bitKlavier). somewhere in here, presumably: BKAudioProcessor::setStateInformation. Possibly related to the Stk:setSampleRate issue that I fixed?
[x] comment WantsBigOne class, for future reference
[x] "sets weights" needs to be unset when leaving automatic mode
[x] when in Spring tuning, Direct, Synchronic and Nostalgic transposition values are quantized; this actually looks to be a somewhat complicated problem, as the spring tuning particles are only in motion if they are active, and transposed pitches will generally go to inactive particles. hmmm....
[x] Direct ADSR release not functioning.
[x] when in Spring tuning using Last/Lowest/Automatic, if you close the tuning window, then reopen it, the fundamental is set to the last automatically set fundamental, instead of Last/Lowest/Automatic (dt)
[x] update manual
[x] in Nostalgic, the transposition values aren't showing as text anymore. Same in Direct; something internal to that particular slider class.
[x] default volume of pedal down resonance is too loud
[x] Pitchbend is broken; tried it on two different keyboards, the wheel just makes some noise. initial fix makes it work again, but it gets stuck on notes.
[x] update mtof and ftom so they use variable A (now they always 440!)(dt)
[x] UI adjustments to fit all the new sliders (mm/dt)
[x] when using Host Tempo, should add multiplier field, in case we want to be doing subdivisions, etc...
[x] export preparations to libraries, which can be imported (so we'll have "preparations" folder, along with the "galleries" folder)
[x] in Spring tuning, explore whether using different rest lengths for non-unique intervals (M2nds) can be done on-the-fly; for instance, if a 9/8 is being compressed, see if a 10/9 will do a better job?
[x] similarly, export pianos to libraries, which can then be imported
[x] create hash-table for prep IDs
v2.3
[x] debug spring tuning (mm/dt)
[x] installer for Windows? (tt?)
[x] slightly widen fundamental menu in Tuning; it's too narrow for iPhones (dt)
[x] make sure everything is saving/loading properly in spring tuning
[x] update Tuning unit test (dt)
[x] VST/VST3 on Windows (mm/tt?)
[x] see whether "offset" can/should be applied to spring tuning (dt)
[x] finish SoundFonts for iOS, and related SoundFont bugs (mm)
[x] add manual to installer
[x] finish movable fundamental stuff for spring tuning (dt)
[x] fix bug where anchor scale fundamental isn't doing anything (dt)
[x] submenus for interval scale menu in spring tuning (dt)
[x] tooltips for spring tuning
[x] example galleries for spring tuning, and set good default values (dt)
[x] Tempo tracks DAW (dt) (currently works in Logic (AU) and Sibelius (VST), but not Dorico (VST3)
[x] update manual! (dt)
[x] figure out VST issues, and get VST3 working (needed for Dorico)
[x] add more default tunings, including all the historical temperaments, organize in subfolders.
[x] pull out envelope/playposition function in BKPianoSampler.cpp, to cleanup, but also so we can call it every block to account for pitchBend and Spring tuning adjustments
[x] add reset button to Adaptive Tunings 1/2, to reset fundamental to ET/Anchor scale
[x] iOS: Synchronic parameter textfields are not filling with current Vals (dt)
[x] plugin specific issues; copy-paste, keystrokes, etc... do we want to disable most editing in plugin, and use standalone for that (mm/tt/dt)
[x] or, allow commas in place of spaces (for running plugin inside DAW that uses spacebar as transport)
[x] Unit testing framework and initial unit tests (not relevant to users, but relevant to developers) (tt)
[x] update Comments so you can select subsets of the text; can only select all the text at the moment; also copy-paste into and between comments -- the MDIDemo in JUCE DemoRunner might be of use? (mm/tt)
[x] add toolTip assistance to all params (Noah is generating text for these) (dt)
DONE
v2.2
[x] Generic sample loading using soundfonts (sf2) on MAC
[x] sfz support (mm)
[x] sustain pedal state is sometimes lost (happens when using Sibelius, not sure about otherwise), and can be regained by switching galleries; look into...
[x] cleanup/rewrite KeyboardSlider class; disaster area (dt)
[x] Tuning Edit All for Absolute (OSX); when I click-drag on a key and then press edit all, the click-dragged value gets obliterated (oddly, it works the first time, but not for subsequent click-drags after opening/closing textedit window; also, works when closing and re-opening tuning prep window). I think this needs to wait until we cleanup/rewrite the KeyboardSlider class (dt)
[x] Auto load heavy samples
[x] Generic sample loading using soundfonts (sf2) on WINDOWS (?)
[x] Direct Mod does not support multiple transposition values.....
[x] SoundFont nostalgic bug; if you hold a note for longer than the sample length, it plays Reverse too soon, leaves a gap, then plays Undertow
[x] when Direct has multiple transpositions, its Tuning will now show the last Interval. weird.
[x] grey out Action menu when in preparation view, to avoid confusion
[x] Keymap Edit All; pressing return doesn't do anything.
[x] phantom piano issue
[x] add alert when Remove Gallery is selected; to avoid mistakes
[x] some clicks on long Nostalgic notes? it seems that if undertow goes beyond the end of the sample, it clicks. also finding clicks sometimes with hammer samples, so possibly a fixedDuration sample playback issue. sometimes the hammer clicks seem to be associated with pedal being down.
[x] replace noteOff velocity with saved noteOn velocity (possibly make it an option), since noteOff velocity seems to suck for most keyboards, if it exists at all.
[x] pedal up/down samples
[x] key releases currently do not trigger hammer/resonance when pedal is down, and should.
[x] check sustain pedal/invert code; sometimes it seems to lose track of pedal state... changing galleries seems to fix
[x] Synchronic Mod "gain" is not working; disappears on save
[x] hammer/resonance on iOS and keyboards that don't do NoteOffs properly
[x] simple animations for Synchronic params (left-side); moving colors to indicate, say, current time relative to cluster threshold, and similar for others....
[x] ADSR
[x] fix transp mod bug
[x] Tuning field for defining width of "half-step" (100c by default).
[x] fix absolute tuning slider on iOS; offsets are wrong
[x] change default hammer/resonance gains to something much lower, so current gallery values can stay as they [MIGHT STILL WANT TO REDUCE THESE? NOT SURE HOW MUCH]
[x] fix gallery "open" when loading from outside resources/gallery folder; for now, automatically create local copy
[x] when opening Gallery, don't have a bunch of the objects already selected
[x] add "About bitKlavier..." menu item...
[x] fix bug in Nostalgic Mod, where "beats to skip" isn't being modded properly; check the rest of mods as well
[x] Keymap adds; all on, all off, black on, white on, etc....
[x] Add "current fundamental" display to Adaptive Tuning
v2.5
[x] Blendrónic
[x] Keymap: menu that determines what features of attached preparations to activate: reset phase in Blendrónic and Synchronic, and potentially have use in other preparations as well
[x] Keymap: mode toggle for using MIDI keyboard to select/deselect notes
[x] MIDI Out, for Synchronic (Pascal; wants to use with Disklavier)
[x] Keymap: mode where noteOn and noteOff messages are reversed; noteOn turns notes off, plays hammer/resonance, noteOff starts notes. Super simple, potentially very fun
[ ] SYNCHRONIC BUG: scaling off after 12th step in sustain length mult slider (dt)
[ ] disable pedaling in Direct
[ ] Keymap: filter/mapper. noteOn => filter that determines which note(s) are actually sent on
[ ] remove dependence on STK; bring ADSR and AHDSR into our codebase
[ ] enable computer keyboard to play (a la COS126 Guitar Hero assignment)?
[ ] add Cluster Max to Nostalgic (already has Cluster Min)
[ ] enable pedaling of Synchronic notes? (Pascal again, quite an interesting idea)
[ ] Undo/Redo; even just with a history of 1 (mm)
[x] attach and reattach cables, or just delete cables (mm)
[ ] spring colors reflect stretch/compress (dt)
[ ] UI handles for various things, CC-mapping, buttons/pedals, learnable
[ ] OSC handling. for both input and output. Think Feedback, CMMV...
[ ] allow subfolders in pianos and preparations folders?
[ ] font on Windows is hard to read?
[ ] Windows installer doesn't create a Start menu entry and should
[ ] should we make default volume of sustain pedal controllable via Direct settings?
[ ] packets of transpositions (mm)
[ ] duration and velocity constraints for Spring tuning?
[ ] transpose all values up/down semitone or octave (mm)
[ ] scale all envelope times (per preparation) (mm)
[ ] requantize multislider curve in to more steps (mm)
[ ] ability to simple define number of steps in multislider (mm)
[ ] grey out Adaptive Tuning/Tempo UI elements until they have a Keymap attached, put text to remind user
[ ] new Synchronic Cyclotron display?
[ ] new Adaptive Tempo algorithm
[ ] multiple soundfonts inside a gallery/piano? perhaps via Keymaps?
[ ] random settings/configurations, like Xfm in Max (from van stiefel)
[ ] add Scala file reading (dt, or summer project for student) https://www.mark-henning.de/am_downloads_eng.php ; has C++ for reading/writing SCL/KBM and TUN files ; here are some examples that include KBM files, and also TUN, http://sevish.com/music-resources/. should have this in place before the tuning paper comes out.
[ ] incorporate Stange adaptive tuning system. ok if it's in progress when the paper comes out. (dt or student)
[ ] HEJI display. basically do this https://www.plainsound.org/HEJI/, displaying the HEJI notation for the last played note; probably would have to show two options, for, say, Db/C#
[ ] add "transpose by interval" function for Absolute tuning? To move an absolute tuning up and down...
[ ] have Synchronic param fields be forward-backward looping (Noah request).
[ ] add second transposition slider for Undertow? (Noah request).
[ ] Keymap mapper/harmonizer. So, 60:[0 4 7] will cause a played C to output 60, 64, 67 to whatever the Keymap is attached to. Put another keyboard in the prep; press one of the bottom keys, it shows which notes will be activated on the top keys, and you can assign there as well.
[ ] have Keymap display notes >88 and <21 in some way. Text window allows, and this means it would be easy to attach some drum pads, things that send MIDI note msgs
[ ] add option to Nostalgic where sustainPedal determines keyOff (as it is now) or not (so sustain can be pressed, but noteLength set by keyUps); actually, three modes: 1. pedal sets length and launches; 2. pedal launches (key down time sets length); 3. pedal ignored.
[ ] "ignore pedal" option for Direct. useful in Synchronic as well?
[x] add Cluster Cap to Synchronic params (currently it is 8 by default and hard-wired)
[ ] Blendrónic
[ ] if audio in with Blendrónic is interesting, could consider with other preparations:
[ ] Mods with smooth time? ramp to new Vals over a period of time
[ ] Scripting. or not?
[ ] Preparation Sequencer; counter to count notes/clusters through prep values
[ ] Option to display preparation name or little bits of info about preparations in graph
[ ] MIDI out, MPE out
[ ] Ableton Link
[ ] multiple versions of the same sPrep open in a single Piano? saving preparation is like saving preset in plugin for use in other projects/FX chains. "Load settings from..." and "Link to..."
[ ] IAA MIDI not working, apparently. maybe a JUCE thing that we can't do anything about for the moment; check when iOS is ready
DONE v2.4
[x] gallery intended for producers, usage within DAWS (mm)
[x] confusion with "subdivision" sliders when in Adaptive Tempo
[x] add Cluster Thickness slider? exposes the cluster "cap" which is currently hardwired at 8.
[x] Cluster Min/Max display is not showing the right thing
[x] add cluster threshold slider for Nostalgic
[x] example pianos and preps for installer to create folders for
[x] check all plugin formats (dt)
[x] retest soundfonts. add any?
[x] carefully check new noteOff mode in Synchronic, and layers in both Synchronic/Nostalgic
[x] Mods in Pianos that ARE in the default Piano in a Gallery but are ALSO in another Piano are not getting initialized properly in the non-default Piano when the Gallery is opened. Try NS_5_Wallumrod, the Piano Etude5-5; the Tuning mods won't do their thing.
[x] blue status updates on Velocity and Note Length limiting sliders not implemented
[x] "duplicate" in Tuning and Nostalgic mods will crash
[x] Tuning Mods broken. check out NS_5_Wallumrod. multiple issues.
[x] iOS adjustments (dt/mm)
[x] resave all builtin galleries as needed, including with default spring tuning fundamental as "none" (dt)
[x] cluster->addNote(noteNumber) crash on Prelude 2 gallery
[x] "Action:clear" in Mods doesn't seem to do anything?
[x] Mods for spring tuning need some work
[x] try to correct for Logic AU crash; old bK plugin host preference files seem to be the culprit (#default.aupreset, in ~/Library/Audio/Presets/manyarrowsmusic/bitKlavier). somewhere in here, presumably: BKAudioProcessor::setStateInformation. Possibly related to the Stk:setSampleRate issue that I fixed?
[x] comment WantsBigOne class, for future reference
[x] "sets weights" needs to be unset when leaving automatic mode
[x] when in Spring tuning, Direct, Synchronic and Nostalgic transposition values are quantized; this actually looks to be a somewhat complicated problem, as the spring tuning particles are only in motion if they are active, and transposed pitches will generally go to inactive particles. hmmm....
[x] Direct ADSR release not functioning.
[x] when in Spring tuning using Last/Lowest/Automatic, if you close the tuning window, then reopen it, the fundamental is set to the last automatically set fundamental, instead of Last/Lowest/Automatic (dt)
[x] update manual
[x] in Nostalgic, the transposition values aren't showing as text anymore. Same in Direct; something internal to that particular slider class.
[x] default volume of pedal down resonance is too loud
[x] Pitchbend is broken; tried it on two different keyboards, the wheel just makes some noise. initial fix makes it work again, but it gets stuck on notes.
[x] update mtof and ftom so they use variable A (now they always 440!)(dt)
[x] UI adjustments to fit all the new sliders (mm/dt)
[x] when using Host Tempo, should add multiplier field, in case we want to be doing subdivisions, etc...
[x] export preparations to libraries, which can be imported (so we'll have "preparations" folder, along with the "galleries" folder)
[x] in Spring tuning, explore whether using different rest lengths for non-unique intervals (M2nds) can be done on-the-fly; for instance, if a 9/8 is being compressed, see if a 10/9 will do a better job?
[x] similarly, export pianos to libraries, which can then be imported
[x] create hash-table for prep IDs
v2.3
[x] debug spring tuning (mm/dt)
[x] installer for Windows? (tt?)
[x] slightly widen fundamental menu in Tuning; it's too narrow for iPhones (dt)
[x] make sure everything is saving/loading properly in spring tuning
[x] update Tuning unit test (dt)
[x] VST/VST3 on Windows (mm/tt?)
[x] see whether "offset" can/should be applied to spring tuning (dt)
[x] finish SoundFonts for iOS, and related SoundFont bugs (mm)
[x] add manual to installer
[x] finish movable fundamental stuff for spring tuning (dt)
[x] fix bug where anchor scale fundamental isn't doing anything (dt)
[x] submenus for interval scale menu in spring tuning (dt)
[x] tooltips for spring tuning
[x] example galleries for spring tuning, and set good default values (dt)
[x] Tempo tracks DAW (dt) (currently works in Logic (AU) and Sibelius (VST), but not Dorico (VST3)
[x] update manual! (dt)
[x] figure out VST issues, and get VST3 working (needed for Dorico)
[x] create an Installer for Mac (http://s.sudre.free.fr/Software/Packages/about.html). (dt)
[x] add more default tunings, including all the historical temperaments, organize in subfolders.
[x] pull out envelope/playposition function in BKPianoSampler.cpp, to cleanup, but also so we can call it every block to account for pitchBend and Spring tuning adjustments
[x] add reset button to Adaptive Tunings 1/2, to reset fundamental to ET/Anchor scale
DONE v2.2
[x] iOS release (mm) [ possibly incorporate sf2/sfz as binary resource ]
[x] iOS: Synchronic parameter textfields are not filling with current Vals (dt)
[x] plugin specific issues; copy-paste, keystrokes, etc... do we want to disable most editing in plugin, and use standalone for that (mm/tt/dt)
[x] or, allow commas in place of spaces (for running plugin inside DAW that uses spacebar as transport)
[x] Unit testing framework and initial unit tests (not relevant to users, but relevant to developers) (tt)
[x] update Comments so you can select subsets of the text; can only select all the text at the moment; also copy-paste into and between comments -- the MDIDemo in JUCE DemoRunner might be of use? (mm/tt)
[x] add toolTip assistance to all params (Noah is generating text for these) (dt)
DONE v2.2
[x] Generic sample loading using soundfonts (sf2) on MAC
[x] sfz support (mm)
[x] sustain pedal state is sometimes lost (happens when using Sibelius, not sure about otherwise), and can be regained by switching galleries; look into...
[x] cleanup/rewrite KeyboardSlider class; disaster area (dt)
[x] Tuning Edit All for Absolute (OSX); when I click-drag on a key and then press edit all, the click-dragged value gets obliterated (oddly, it works the first time, but not for subsequent click-drags after opening/closing textedit window; also, works when closing and re-opening tuning prep window). I think this needs to wait until we cleanup/rewrite the KeyboardSlider class (dt)
[x] Auto load heavy samples
[x] Generic sample loading using soundfonts (sf2) on WINDOWS (?)
[x] Direct Mod does not support multiple transposition values.....
[x] SoundFont nostalgic bug; if you hold a note for longer than the sample length, it plays Reverse too soon, leaves a gap, then plays Undertow
[x] when Direct has multiple transpositions, its Tuning will now show the last Interval. weird.
[x] grey out Action menu when in preparation view, to avoid confusion
[x] Keymap Edit All; pressing return doesn't do anything.
[x] phantom piano issue
[x] add alert when Remove Gallery is selected; to avoid mistakes
[x] some clicks on long Nostalgic notes? it seems that if undertow goes beyond the end of the sample, it clicks. also finding clicks sometimes with hammer samples, so possibly a fixedDuration sample playback issue. sometimes the hammer clicks seem to be associated with pedal being down.
[x] replace noteOff velocity with saved noteOn velocity (possibly make it an option), since noteOff velocity seems to suck for most keyboards, if it exists at all.
[x] pedal up/down samples
[x] key releases currently do not trigger hammer/resonance when pedal is down, and should.
[x] check sustain pedal/invert code; sometimes it seems to lose track of pedal state... changing galleries seems to fix
[x] Synchronic Mod "gain" is not working; disappears on save
[x] hammer/resonance on iOS and keyboards that don't do NoteOffs properly
[x] simple animations for Synchronic params (left-side); moving colors to indicate, say, current time relative to cluster threshold, and similar for others....
[x] ADSR
[x] fix transp mod bug
[x] Tuning field for defining width of "half-step" (100c by default).
DONE v2.1
[x] Add "current fundamental" display to Adaptive Tuning