I tried, but I didn't get it.
I want to share my conclusions, which may be wrong, just to share them.
If I understood correctly, the midi editor is currently watertight. It is isolated from MidiEngine. This prevents capturing midi input events.
The midi editor is limited to editing the existing score (Sequence) already recorded. This approach surprised me, and I found it ingenious. It makes the editor more modular and avoids possible conflicts with events.
However, it is necessary to be able to view the events in the "piano roll". If I knew how to do it, my approach would be the following:
INTRODUCTION:
The keyboard is in MidiEditList. There (not only there, but the ones there are the most useful) are the methods that do the magic of lighting the keys "dragNoteOn/drafNoteOff".
dragNoteOn has a monophonic approach, and I think it is valid for what is needed. It's not about visualizing the polyphonic action of the keyboard (there are other external tools that do the job for that), but about being able to intuitively locate the last current event within the "piano roll" to make editing more fluid.
STEPS:
1 Connect MidiEditList with MidiEngine.
2 In MidiEditList create the captureNoteTOdragNote method. This method would capture only the last note with the MidiEngine method "qtractorMidiEngine::capture". If the captured key is noteOn it would use the method: dragNoteOn(captureNote, -1). If it is noteOff: resetDragState().
I tried, but I didn't get it.
I want to share my conclusions, which may be wrong, just to share them.
If I understood correctly, the midi editor is currently watertight. It is isolated from MidiEngine. This prevents capturing midi input events.
The midi editor is limited to editing the existing score (Sequence) already recorded. This approach surprised me, and I found it ingenious. It makes the editor more modular and avoids possible conflicts with events.
However, it is necessary to be able to view the events in the "piano roll". If I knew how to do it, my approach would be the following:
INTRODUCTION:
The keyboard is in MidiEditList. There (not only there, but the ones there are the most useful) are the methods that do the magic of lighting the keys "dragNoteOn/drafNoteOff".
dragNoteOn has a monophonic approach, and I think it is valid for what is needed. It's not about visualizing the polyphonic action of the keyboard (there are other external tools that do the job for that), but about being able to intuitively locate the last current event within the "piano roll" to make editing more fluid.
STEPS:
1 Connect MidiEditList with MidiEngine.
2 In MidiEditList create the captureNoteTOdragNote method. This method would capture only the last note with the MidiEngine method "qtractorMidiEngine::capture". If the captured key is noteOn it would use the method: dragNoteOn(captureNote, -1). If it is noteOff: resetDragState().