Home

2024

Worklog

LETSGO Game

Finish multi-note instruments

Date
August 24, 2024
Hours
3
Tags
UnrealCodeC++LETSGO

Got the AudioPlatform sounds rebuilt using multi-note instrument. This gets the current demo to feature parity. This allowed me to close the PR:

After refactoring InstrumentSchedule to include the SoundCue in the PerBarSchedule, I realized that was untested. Testing → Debugging led to several massages of the data structure to work as expected.

Additionally, and surprisingly, I found that the AudioPlatform’s didn’t seem to be creating APlatformAudioCuePlayer. Or maybe it was, but in a very confusing fashion. I decided to rework Audio Platform to create the Audio Cue Player using SpawnActor, following the same pattern of Actor creation ownership that the rest of the code has. This should make it clearer that AudioPlatforms have a PlatformAudioCuePlayer.

Now that I think about it, I could actually move the Instrument attachment from PlatformAudioCuePlayer and put directly in the AudioPlatform. This may could allow me to completely delete PlatformAudioCuePlayer, which is a confusing entity as AudioCuePlayer exists and is what Instrument uses to play each note.

Something to consider.

Another small thing to improve is that the drums are too loud compared to the CheeseKey synth. I think I am going to rebuild the UMetaSoundSource to have a variable sound input. This would allow me to build in volume and effect controls for each sound, and pass in the SoundCue by reference.