I really like UI for the track selection and "operations". Often the
tracks are unlabeled so seeing exactly which staves disappear in the
score with each check mark is quite helpful. It will also encourage more
exploration for other MIDI settings and hopeful helps users get a nicer
score. Below are some thoughts as I used the new GUI for the first time.
Main UI issues
1. When I went to Display > MIDI Import Panel nothing happened
initially. Then I noticed I needed to drag the panel up from the bottom.
Is the panel height set to zero by default?
2. My main concern is that this UI does not use the typical File > Open
method that is standard for every other file type. I would recommend
removing the custom file picker UI (the left side of your mockup).
Instead, the rest of your UI could appear after the user opens a MIDI
file via File > Open. The current "Import" button would be relabeled
"Apply" (or something similar).
This approach would also eliminate the need for a menu item in
the Display menu (this menu is already crowded). In other words the new
MIDI import UI would appear automatically when someone imports a MIDI
file (when it is needed and helpful), but not distract when it is unneeded.
1. When I dragged the panel up from the bottom, it shrunk the Navigator,
instead of the page view. I expected the Navigator to stay the same
height (so it would remain usable) and the page viewing section (which
has the most available space) to become smaller.
2. The MIDI panel close button uses a different image than the Edit >
Find close button. Also the MIDI panel title and close button is
right-aligned while the Edit > Fine close button is left-aligned
3. I noticed the "Instrument" column is often blank (since the MIDI file
often does not label each track). I wonder if there is value in showing
the sound name (based on General MIDI), either in a separate column or
as a substitute when the instrument label is missing. Of course this
would be a low priority feature compared to tuplet recognition and other
MIDI import features.
1. Having it as a docked panel is nice but not strictly necessary. If
some of the issues mentioned above (such as default height and
competition with the Navigator) or not easy to solve, a floating dialog
2. I haven't had a chance to read over the features planed for MIDI
import but it would be worth thinking through the UI for the completed
feature set. Some questions that came to mind were how the LH/RH
separation would work if you wanted to select a different split point,
where the quantization settings would go, etc. Probably you have some
preliminary thoughts on this already.
David Bolton-2, thank you for feedback.
Sorry for the late answer, I saw your post just now. Dind't know that there is no notification on topic reply... Now I know that I need to subscribe the post.
1. About MIDI panel height. Yes, strange thing with zero height - I set minimum height of it to 150.
But when I enlarge it manually the issue didn't repeat. So I don't know yet how to solve this, some piece of advice could be helpful .
2. MIDI panel appears now on import or open recent MIDI file event.
About file picker. The current idea is:
- user opens midi file
- file is imported as is - without operations on its tracks
- after that user can apply different operations or unmark some tracks and push Import button to update import result and see the immediate difference
- user may want to import different file and pick it through the Browse button - here it is
- and repeat the set of operations, then press Import
If this solution is not good and it's better to show this panel only during one single import - please tell me about it, and I'll rebuild the ui.
On minor issues.
I agree, it's better to shrink the page view and leave navigator height the same - or place MIDI panel in the bottom dock section.
Close button - I'll try the Edit->Find close icon. By the way - which one looks better in your opinion?
Instruments - yeah, very often there is no instrument defined for the track. There is a function in midi/midiinstrument.cpp that returns empty string if midi track type is MT_UNKNOWN = 0. Maybe set the track instrument to Grand Piano in that case or ignore midi type value?
Split point for LH/RH - I think to include fixed split point separation ability as well as LH/RH "smart" option - and put all of it on MIDI panel, so user will have a choice.
"where the quantization settings would go" - could you please explain this thought, sorry, didn't understand?
The screenshots look good. I'll play more will a local build in the
I'm curious to know more about the quantization setting "Reduce to
shorter notes in bar" and its use-cases. Does it give results that
differ from selecting something like 64th notes as the quantization
setting for the whole piece?
The option "Reduce to shorter notes in bar" works only
if there are MIDI events in bar shorter than main quantization value.
So to keep such fast events program reduces quant value (only in that bar).
But if all the notes in some bar are, for example, 8th and 16th, and the quant value is 1/16,
then it will remain 1/16 during that bar, and no garbage short (1/32 or similar) notes will appear.