score icon indicating copy to clipboard operation
score copied to clipboard

Suggestion for an improved piano roll midi editor

Open arthur-parmentier opened this issue 4 years ago • 2 comments

Hi!

I thought you would maybe be interested in using this for later versions of Ossia:

https://www.codeproject.com/Articles/4042343/A-Flexible-Direct2D-Pianoroll-for-Your-Music-Apps

arthur-parmentier avatar May 04 '20 13:05 arthur-parmentier

Hello, sadly this is Direct2D which means that this works only for Windows, not on Mac / Linux :/ (and, frankly old versions - most new win32 programs don't use D2D either but rather WPF or more high level APIs). I'm not sure it would integrate in a Qt app cleanly either even on Windows.

However it would be a good idea to list the user interactions available and see how far we can duplicate them.

One thing that is pretty hard with pre-made widgets though, is integration with things such as undo-redo, drag'n'drop from other parts of the app, etc...

jcelerier avatar May 05 '20 13:05 jcelerier

Ok, maybe I can already start the listing:

  • Edit note onset/offset (therefore duration)
  • Quantize/snap to tempo grid (if there is a tempo)
  • Bulk edition
  • Velocity editing
  • Copy/paste individual or groups of notes
  • Whole midi clip stretching (preserving or not preserving duration ratios)
  • Swing
  • import/save file

I was thinking that it would be nice to also bring some of the Ossia specialties, instead of just re-programming the standard piano roll. For instance:

  • linking a note onset/offset to a trigger (or a trigger to a note) or to a process that exists elsewhere is the score
  • real time midi - OSC connection (map midi events with OSC commands, create note, change note properties with OSC...)

arthur-parmentier avatar May 05 '20 14:05 arthur-parmentier