The cancelCurrentInteraction is currently unimplemented in SheetInpainterGraphicalView.
Comment
This is not trivial with the current layout, which listens to 'click' events on the individual overlay boxes.
Idea
Ideally, should refactor SheetInpainterGraphicalView to listen to the click-drag selection interaction on the container, allowing to cancel an interaction at the container level.
We should then toggle/untoggle the underlying boxes on 'pointerenter'/'pointerleave' similarly to the SpectrogramInpainterGraphicalView.
This would have the additional benefit of enabling multi-box selections.
Sometimes the playback cursor in PIANOTO gets stuck during playback. Slightly surprisingly the piano roll keeps scrolling so this is not a total failure of the Tone display callbacks.
Not sure why and when this happens but this seems to be caused by inpainting operations.
Currently the MIDI Record functionality in PIANOTO starts by erasing the whole content of the piano roll.
We should add the possibility to record on-the-fly during playback for a proper dialogue-like setting.
Boxes are created aligned to quarter-notes and multiple of quarter-notes.
This is fine for standard 4/4 pieces but becomes problematic for e.g. pieces in 6/8 time signature.
Switching to beats will also make relying on Tone.Transport.position (in bars:beats:sixteenths format) more meaningful and straightforward.
Initiating a request in NONOTO does not trigger an immediate modification of the content, thus the (hackish) way of clicking on Undo to abort the request e.g. PIANOTO does not succeed and instead jumps back one state plus erases the latest state.
Could simply add an "abort" button to clarify things. Potentially an info-bubble that appears over the inpainted zone.
Integrate dependencies to the simplebar and opensheetmusicdisplay forks in the package.json file by linking directly to the respective source repositories.
When seeking manually via the seek-bar on top of the piano roll, if seeking to a position on the left of the very beginning (thus restarting from the beginning), the first notes in the sequence are sometimes not being played.
In measures containing e.g. only a whole note, the last quarter-note time-container has width zero.
This furthermore causes undesired scrolls to the beginning of the sheet when scrolling is active and trying to scroll to these boxes.