Closed cclark2a closed 5 years ago
Hat off for your hard work that benefit all of us, the Rackers...thanks...
'insert' and 'select' button are now implemented, but work differently from the original description.
insert is now a momentary (stateless) button that adds a note or replaces the current selection. select button has three states : off, start selection, extend selection. When select is off, horizontal wheel changes duration, vertical wheel changes pitch. When select is on, horizontal wheel changes selection, vertical wheel selects part.
Next up, implement 'rest' button.
Rest is now implemented, part has the slimmest of implementations. Next, add unit tests to find corner case bugs and to keep everything working.
Tempo is now accurate, started work on load/save, time signature, sustain/release
Just a quick note of support and encouragement. I've been testing each git push, NoteTaker is coming along nicely now. Latest pull tested well, I haven't checked all features yet, but the notes play back correctly. Btw, NoteTaker's pitches are out of audible range when the Fundamental VCO1 is at its default frequency setting. Users might think the module doesn't work right unless they think to turn the VCO frequency control all the way to the left.
Thanks for the kind words.
The goal is to map any MIDI pitch 0 - 127 to a voltage. At 1 V/O, MIDI can represent a swing of 10.58 volts. I could bias the output so that its range is -5.29 V to 5.29 V, which would maybe map better to the Fundamental VCO.
I don't mind trying that to see what it feels like. The V/Oct jack allows the user to choose any bias they want, so there's no functionality lost by changing it.
Just spent way more time on that than I intended :). It looks like if I set MIDI middle C to zero volts, the VCO-1 FREQ in the 12 o'clock position produces middle C / 261 Hz, maso menos. I'll check that it the next time I upload.
NoteTaker state is now persistent. If you run it, make an edit (e.g., move the vertical wheel to change a note's pitch), quit Rack, and re-run, the edit will be preserved.
It's likely that this introduces bugs that will "brick" NoteTaker. While I'm not ready for general bug fixing, if this happens, let me know, and I'll see what I can do. To help me debug, click on the unlabeled lower right button to generate output in your terminal.
The top nine work items are now complete. Continuing to work on stability bugs.
All of the inputs and outputs do something now.
On my way to supporting triplets, started beamed notes. Way more complicated than I guessed, barely working. Take a look at saved file '1' for work in progress.
Enough is done that I'm ready to move out of development and into testing. Final UI changes planned are:
It should be working well enough to validate the feature set. If there is some essential use that is unmet, now is the time to let me know.
NoteTaker's display widget used VCV incorrectly; a rewrite is underway. Probably a week or two before functionality is back to where it was two weeks ago.
Functionality for the display widget is restored. Fixed some bugs around saving, triplets, multiple parts.
While there's more to do, and more bugs, I'm going to close this and move on to converting the module to the 1.0 API.
Here's what I plan to do next on NoteTaker, approximately in order of implementation
flesh out 'insert' button up wheel inserts a new note, duplicating the note to the left down wheel deletes the note on the left
flesh out 'select' button left / right wheel extends the selection up / down wheel transposes the selection select followed by insert allows deleting, pasting, duplicating selection
flesh out 'rest' button select, rest changes selected notes to rests insert, rest, up adds a rest at the insertion point select, duration, changes length of rest
flesh out 'part' button up / down wheel allows choosing one or all parts (midi channels, CV / GATE 1-4) select, part, insert allows moving a passage from one channel to another allow multiple treble or bass clefs
add time signature, show bars
add key signature
add tempo
add button to load and save files
enable wheels to transpose and change tempo at run time
add slurs (notes that change CV but do not trigger gate)
add triplets, quintuplets
add tremolo, vibrato, glissando, grace notes, swing, ...