Hello FMOD !
1) Is it a bad design to call Sound::release() even if some channels are playing this sound ?
If not, I assume it’s normal these channels stop when the sound is released but the FMOD_CHANNEL_CALLBACKTYPE_END is not fired.
2) When a channel loop end, FMOD_CHANNEL_CALLBACKTYPE_END is not fired neither. (channel->isPlaying() return true !)
What is the normal behaviour ?
- JulBaxter asked 7 years ago
If you check the result you should find that Channel::isPlaying is returning FMOD_ERR_INVALID_HANDLE and the boolean which is passed in is unmodified. The FMOD_CHANNEL_CALLBACKTYPE_END is for channels naturally stopping and does not include channel stealing and invalidation by other means.
- Guest answered 7 years ago
Scuse me, I was not clear.
When I say Channel->IsPlaying return true, I mean it return FMOD_OK and the boolean which is passed in is true.
Is a channel loop end (loopcount = 1 for example ) a natural stop ?
EDIT : Yes apparently channel loop end is a natural stop. (end callback is fired)
- JulBaxter answered 7 years ago
"The FMOD_CHANNEL_CALLBACKTYPE_END is for channels naturally stopping and does not include channel stealing and invalidation by other means."
Is there another callback that we can use to handle channel stopping or invalidation by other means? For instance, when the system is released, all channels are stopped and I need to do some cleanup when that happens to keep the integrity of the data structures in my program.
- dragondust answered 6 years ago
Please login first to submit.