Interesting.
To be sure, I just tested both SoundCues and SoundWaves using Fade In with a variety of Start Times both Looping and not Looping and verified Fade In Start Time is working. And it should because in the code, Fade In just calls Play with a Volume Adjustment from 0 to your input level. To simplify the problem, I tested it with these two very concise cases:
To more closely mimic your scenario, I used a Wave Param node in the SoundCue and passed my SoundWave in directly. Again, both Looped and non Looped worked.
[HR][/HR]
I’m not sure how different your Music Manager is from mine. In my General Music Sequencer, I use a custom struct called a Music Clip which allows me to define whether or not the sound is supposed to be looped.
If you look at the Kite Music Sequencer child object, you’ll see I have a custom defined array of Music Clips where I define which of the Music Clips are meant to loop and which are not. I do this because looping behavior is unclear in SoundCues (whereas it’s very clear in SoundWaves) so I can’t query the USoundBase variable “Music” in the Music Clip reliably. There is a lot of other data in there that I add manually, one of the reasons is that I can’t retrieve duration values from a looped SoundCue because they just return 10,000 seconds.
In my Calculate Start Time for Next Transition function, I attempt to calculate the transition time of entry into the next clip. If your implementation is similar or based off of mine, this is where I would look for bugs (because this is the scariest part of the script, certainly the most delicate).
If you’re updating your implementation based off my script, then it’s worth noting that one of the assumptions I made in my General Music Sequencer, which for your case, might be something to modify (or maybe you already have, depending on how much of it was used for you), is that a music clip that is not looping (bLooping FALSE) is uninterruptible. Which I did as a convenience (or rather to simplify the music transition problem space somewhat).
[HR][/HR]
However, if you’re experiencing a bug with Fade In with my above BP examples, then there definitely is a problem. I always try to make my tests as clear of extra bits as possible when isolating an issue, so on my end, it appears to be working correctly. So let me know if you’re still seeing this behavior on these simpler cases.
