Conversation
vsariola
left a comment
There was a problem hiding this comment.
Cool stuff, accepting notes through the MIDI while jamming seems to be the point of this? There was so much changes to many different files, so it's a bit difficult to review what it actually does.
- Please properly rebase to the master. You have essentially just reverted all the changes there :) In particular, the refactorings e.g. MIDIContexter -> MIDIContext, m.d.Loop -> m.Loop and you removed again the fixUnitParams...
- There's a ton of minor style changes (e.g. renaming method receivers), documentation (comments), and changing .gitignore. These probably should go to separate commits, with
style:,doc:andchore:type indicators. - I'd appreciate if you can already squash the commits, because it seems that there's more different types of changes than one
feat:commit here. I recommend you making a backup branch of your current commit history, if you start removing some of those unrelated style/doc/chore changes from the PR. - Please add a message in the CHANGELOG.md (on the first line after "Added") to describe what feature you actually added.
|
Oh, and all the VST binaries don't seem to build, that would have to be sorted out also. |
|
So, I got to experiment with this properly. I have a question: normally, when recording and jamming, we interpret the midi channel to correspond to the instrument that is being played. But now you input whatever MIDI notes have arrived at the current cursor position. Little bit confusingly, the player still respects the channel instrument as the instrument being played, so even if you input a note on track corresponding to instrument Foo, but the channel of the MIDI message corresponds to instrument Bar, the player will play instrument Bar. I guess at least we should at least somehow trigger the right instrument to not confuse the user? In your use case, I think you intentionally do not want to respect the channel information of the MIDI message, right? So you want to have a MIDI keyboard near by, and place the cursor where-ever, and input a note at that position, so it's almost similar as pressing a note on keyboard? |
b920c95 to
37dab09
Compare
37dab09 to
da83478
Compare
|
Merged, thank you for your contribution! |
|
Just a little heads up that I completely reworked the MIDI input logic so that the MIDI events work just as an alternative to keyboard. Namely, if the MIDI input mode is turned on, all MIDI events are sent to GUI and the GUI is free to deal with them as it pleases. If not, they are sent directly to the player. The GUI ignores the channel of the MIDI note on event, and now it works like the keyboard: if a track is selected, then it inputs a note to the track. Otherwise, it triggers the currently selected instrument. Now, this did remove the "chord" input support i.e. inputting nodes on multiple tracks. But I remember you indicated that it would need anyway rethinking a bit, especially for the velocity. I am also still thinking of the note velocity: if it should be a deeper rethinking of the entire sointu internals (poking things even on the synth side), and not just a fancy way to input notes on the GUI side. |
I just rebased your current upstream master and I think I made it work again, but...
Expecting your feedback ;)