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