I had a bunch of different approaches sketched out on how Composer was actually supposed to work, but I think I’ve figured out how the Music Composer is going to work.
On one side, it’s pulling in event data from the GameMode
when musical state data is changed/updated.
- Specifically for the notes of the musical scale that is coming from external source (like
AudioPlatforms
) - Right now its updating the internal “Scale” object, but not actioning on it further. There may need to be additional logic to loop through stored composer data and update with scale. Many implications
On the other, it’s managing a set of ComposerData
structs that contains everything the Composer needs to do to actually compose music.
I have half the strategy pattern for choosing how to compose music, being the interface and a single concrete strategy. The hard part is choosing an appropriate strategy and giving it the data it needs.
I think the ComposerData struct will solve the majority of these problems.
Well, maybe its more of a hope.
But at least its a single direction, and so far makes some sense.