Oh goodness, it was staring me in the face all this time. I’m using Rider and working with a debugger attached is definitely something I need to dive into to make my life easier. ![]()
As I was trying a bunch of random stuff, me using QuartzGetWorld() gave me a different error message, so I guess I immediately assumed it might have been the appropriate way to do it. This whole world context stuff is something I need to look up to get a better grasp on how it works. So far GetWorld() has been enough in pretty much every use-case. Seems like that is still true…
However, looking at it a bit deeper - it seems like this method returns a nullptr.
// AudioMixerClockHandle.h
UWorld* WorldPtr{ nullptr };
UWorld* QuartzGetWorld() const { return GCObjectMembers.WorldPtr; }
But when using the normal GetWorld() I also got an error, something about Tuples. I can try and reproduce it if it’s of interest.
So I think ultimately what fixed it, was this line of code;
UQuartzSubsystem* QuartzSubsystem = UQuartzSubsystem::Get(World);
Once I popped that in, it no longer crashes and it starts playing the music. Thank you! ![]()
I’m hoping to figure out how to make use of Quartz to get audio synced up, would love to create something similar to BeatStar or Clone Hero and ultimately release it as a open source project that everyone can make use of and contribute to. Ambitious goal, I know ![]()
Excited to see what’s new in 5.1, oh and I’m on 5.0.3 - the latest available via the Epic Games Launcher.
Edit:
It seems like using Quartz breaks the default Tick event, is this a known bug or intended behaviour?
I thought I messed something up so I tried to make a new fairly barebones class, and the moment I start using Quartz - the Tick event no longer fires.
Are we supposed to subscribe to a quantization event using EQuartzCommandQuantization::Tick instead?