Hi,

On 2/18/22 10:00, mark_at_yahoo via Rosegarden-devel wrote:
The new (in 21.12??) black key highlighting in the Matrix Editor is
awesome! Wanting something like this instead of the old triad
highlights was one of the two missing features in 17.12 that prompted
me to look into the source code, so imagine my surprise when I found
it had already been implemented. Not that I can imagine anyone being
interested my motivations. ;)

What might be of interest is that IMO there's a bug (or missing
feature) in the new highlighting. The old triad version respected key
changes and also major-vs-minor, re-aligning the tonic triad's root to
the new key and switching the third between natural and flat.

I think the new black key highlighting should do something similar,
both aligning to the tonic of the current key, and highlighting "black
keys" that are the accidentals in that key depending on if it's major
or minor. I'm sure that's clear, but just to beat a dead horse I'm
saying tonic plus 1,3,6,8,10 semitones in major keys, and tonic plus
1,4,6,9,11 semitones for minor keys.
The black key mode really relates to the black keys on the piano
keyboard which is, of course, independent of the key of the composition.
I think you are talking about a new feature - "highlight scale". This
would be identical to the black key mode if we are in C major.

I also think that the tonic needs to be highlighted differently than
the other non-black/non-tonic keys. It was fine to have it the same
with the triad highlighting because the gap between the fifth and the
next tonic made it obvious, but with all the non-accidental scale
notes the same it's too cluttered and not immediately apparent.
If we were in, for example, A major a "highlight scale" mode would
highlight the notes of that scale - A, B, C#, D, E, F#, G# with a
special highlight for the A.

I have a partly working implementation of the all the above, and will
submit a merge request for review, hopefully in a day or two. It's a
fairly easy change, but I'd also like to be presumptuous and do a
little cleanup in MatrixScene.cpp at the same time. On that subject,
it seems like the current black key highlighting code is a bit
preliminary. For instance, the triad highlighting is still in there,
settable in the user's configuration (I think. I'm not familiar with
that subsystem). Is the intent to add a "triad/black-keys" control to
the GUI to allow switching it on the fly (for users who liked it the
old way)?
The highlight mode is switchable in the matrix editor under
view->highlight. A new highlight mode should be selectable there.

As a pure feature request, I'd also like to add user selectable scales
and modes to the Segment -> Add Key Change... dialog that (I assume)
is shared between the Matrix and Notation Editors. Instead of the
current "Major,Minor" pulldown menu. I'd like to see two: One for
scales with Major, Natural Minor, Harmonic Minor, Melodic Minor, Minor
Pentatonic, Major Pentatonic, Blues, Whole Tone, Whole/Half Tone ...
the list can go on forever, see sites like https://allthescales.org/.
Or maybe have a "Custom" entry with additional buttons to select any
subset of the 12TET notes. (Yes, melodic minor is weird. Just the
ascending version because descending is same as natural and I can't
figure out how it could be dynamically switched between the two.)
So Setting the key to, say harmonic minor would not affect the key
signature but would be visible in the new "highlight scale" mode. Are
there any other places where this would have an effect ?

And then also a Mode menu: Ionian (default), Dorian, Phrygian, Lydian,
Mixolydian, Aeolian, and Locrian. Yes, Major+Aeolian is the same as
Minor+Ionian, but I don't think the redundancy is a problem, and
despite being an extremely unskilled/amateur musician my understanding
is that is does make sense to talk about modes of other-than-major
scales. Also yes, there's things like Aeolian and Locrian not making
sense for the pentatonic scales because there's not enough notes in
them, but that could be handled by forcing the offset back within
range or just wrapping around modulo scale size, with or without a
warning message in either case.

Unless I get a response of "This is the stupidest feature request
we've ever heard", I'll try to implement it and submit for review and
possible approval. That will take a bit longer as my Qt-fu (adding
menus and rearranging dialogs) is pretty weak, but the actual
algorithmic code for computing in-vs-out notes of scales+modes is
trivial (and something I've done many times before in simple ad-hoc
MIDI utilities that I've written over the past few years for my own use).
Certainly not a stupid feature. In my opinion you can go ahead with this.

   Philip


_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to
unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel



_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to