I think I spotted another issue:
When using a parameter which has a velocity, it can happen that the parameter passes right over its timeline, ignoring sustain points, when it has a high velocity and the framerate is low. You can reproduce this quite simple using some event with a parameter with velocity of 5.0 over a range of 0.0 to 1.0. Play this event, eg. in the 3ddemo example application (make sure to get a bad framerate by calling sleep(50) in the loop) and see how the sound plays to the end instead of looping at the sustain point.
- Agrokonz asked 12 years ago
I investigated further on this and stumbled upon the following:
When I start an event multiple times (getting the handle just once at startup and using play() and keyOff() to start and stop the event), the event plays correctly the first time, but when I restart it, it skips the sustain point as described. When I instead use play() and stop() (that is, not keying off the cursor to let the event play to its end but explicitly stopping it fully), it plays always correctly.
When I get a new handle to the event each time I start it, I can play it back correctly as many times as I have specified in the Max playbacks property in the designer before it starts skipping the sustain point again. Again, if I use stop() instead of keyOff(), all is fine.
The event itself is set to oneshot, so it should stop itself when the last sound is finished.
My vague assumption is that either the event doesn’t stop properly when it is keyed off and finished playback or somehow the parameters are not restarting properly when playing an event which has been keyed off prior.
Actually, the last thing is quite improbable since I tried resetting the parameter value manually to zero to make sure it restarts there. But maybe it’s something like the parameter stays in some kind of "keyed off state" when the event is restarted?
Hope that helps, this problem is really nasty…
I actually noticed something similar and it sounds like it might be related. In a scene that puts a lot of strain on my machine, the parameters just plain don’t modulate at the proper speed, resulting in music tracks bleeding into one another or timed effects launching immediately after loading the project instead of waiting like they’re supposed to. In some cases the channels in the event that has the modulating parameter will cut out and come back in intermittently. I had assumed it was because we were using an old FMOD build (x.07.04) and was going to reserve judgment until we updated, but now I’m a little more curious about the situation after reading your post.
Please login first to submit.