You are here

Add new comment

After much consideration, these are my thoughts on the matter. I tried to reason about my intuition and interpret David's experience.

In general I would consider the "legato-operation-et-al" not as a single operation to achieve any kind of legato out-of-the-box, but as a toolbox enhancement to assist with legato-related issues. I think I have approached the task more from the side of graphic design, definitely having the music application in mind. In this regard, I would not use "legato" and "mono/poly" as terms (but more about this below). I would use terms that describe what happens (or does not happen) to the boxes that represent notes. Again, these are my views, I believe they provide some insight, but can be safely disregarded. It was a fun intellectual exercise anyway.

In the following, "value-textbox" and "unit-dropdown" are supposed to be exactly like "Duration"'s (or at least the "Time" functionality is provided). All the following operations indirectly set the selected notes' durations (they indeed resize), by defining complementary durations (length of space/gap to insert and length to trim or extend). I therefore believe it makes sense to provide the "Duration"'s choices for these. I find the time in seconds especially important, since in an ADSR envelope the release time (the release being initiated by the NoteOff event) is commonly expressed/measured/felt in seconds. Additionally, what if the release time is bigger than a beat, the highest value currently allowed?

The following textual mockup presents a suggested incremental approach to enhance the "Resize" tab of the "MIDI Tools" towards assisting with legato. The "Resize" tab is definitely perfect for anything assisting with legato. In a dropdown, the first choice would be the default one. In a checkbox, the default state is unchecked.

----
Spacing: value-textbox, unit-dropdown, Right/Left-dropdown [resizing direction - optional if only the right side of each box is considered], "No shortening"-checkbox [mono/poly equivalent - questionable (see below)]
Trim: value-textbox, unit-dropdown, Right/Left-dropdown [trimming side - optional if only right-trimming is considered]
Extend: value-textbox, unit-dropdown, Right/Left-dropdown [extending side - optional if only right-extending is considered]
----

General notes:
Spacing: "Spacing" under the "Resize" category will... resize! A value of zero in the textbox would correspond to the current "normal" legato. Higher values insert equal spaces/gaps. Negative spaces can either be disallowed or silently allowed (I am not 100% sure what I mean here, but I have negative margins in CSS in mind, which somehow work but are not advertized). I try to apply the general design philosophy to make the common case simple and intuitive. Validation by users (David?) is definitely needed. If a user wants legato with extending over the next note (outlier case in my book), they could apply zero space, then deselect the last note and apply "extend" (see below). Or hack their way using a negative space (if allowed).
Trim: Not essential for assisting with legato (if you define spacing correctly, nothing else is needed), but I believe it would be nice to have for the MIDI toolbox, for fine-tuning durations of notes of various lengths.
Extend: If negative spacing is disallowed, this would be the required additional step for the "Mantovani strings" (in my book this would be an additional step for an uncommon case), if I understood David's mention correctly. This would just require deselecting the last note before applying. In general, also nice to have for the toolbox, for fine-tuning durations of various lengths.

As a final remark, the "No shortening"-checkbox (or something equivalent) would not be needed, if we suppose that the user knows what will happen, and just takes care to deselect the notes that would otherwise be affected. (Edit: This is wrong. Deselecting a note that overlaps with the next one (or touches the next one and a non-zero space is now specified, or a smaller space between the two notes already exists than the new space specified), to keep it unaffected before applying a possibly shortening operation, would eventually connect the previous note to the next one. Not the desired outcome.) It is time for me to get out of the rabbit hole, so I will leave that thought be for now.

Terminology issues: Shortening or shrinking? Spacing sounds nice, or not?

These are my two Euro-cents. Rui and David, you have a fuller picture, combined.