Ok, taking the chance to totally ignore Instruments/MetaSounds/etc. shenanigans as I am shook from the 2 week disaster that was having the MetaSound OnFinished output in the OnPlay pin.
So, bouncing back to Phases, starting with SetThirds. I created a skeleton Phase:
But the majority of the work was setting up a way to get the possible thirds for a given tonic note.
The point of this Phase is to present the user with the option to have the music be a Minor 3rd, or Major 3rd. So I need to grab the appropriate set of notes for [iii, III].
That was simple enough, so simple that I immediately extended it to grab an interval (2nd, 3rd … 7th).
I need to rename this from GetInterval
to GetPossibleIntervals
for clarity.
Additionally, thinking a little bit into the future, I might need to have this take a set of Notes in a current scale. If during the game we have root of C chosen, and an augmented 6th defined, and we want the 7nd to be chosen, there might be Note overlap if not careful.
That’d likely be a fairly… jazzy… scale to end up with, but something to keep in mind.