Committing the sweeping changes made yesterday and today, this change updates the ComposerState
s ComposerData
objects into a shared pointer. Additionally, ComposerData→ScheduleData
is also now a TSharedPtr
.
As a result of the change, much of the code I wrote is slightly flawed in the “crash at runtime” way.
That being said, the Conductor object is technically up and working, acting as the source of truth for the main clock being used by Composer and Instruments, as well as tying ComposerData to Instruments.
I did have an idea late yesterday to put Instrument in a FInstrumentSchedule
. I think this would very much optimize some of the complexity in the Conductor.
But for now, I am just trying to get the Composer to create the correct Instrument Schedules, and Instruments to correctly read those same schedules, without having to result to too much jankiness.
In that regard, I am almost successful.