I know that the event system seems to have functionality for unattended shifts and fades and such, but I can’t see any easy way to programmatically set up such events (especially in C or other languages than C++), or to take advantage of any of that functionality. Are there any ways that I could, say, set up a sound and tell it to fade over the next N seconds, or such? The only idea I’ve been able to come up so far is using 3D positioning and velocity, but I’m not sure if the velocity values are actually applied to position, or just used when calculating doppler.
- Janus asked 12 years ago
[quote="brett":368z2vz9]Beside that there is no specific programatical way to fade out an event.[/quote:368z2vz9]Is it possible to get one? I’m looking for some sort of way to programmatically create the sorts of curves you can create in the designer; otherwise I have to repeatedly change volumes or parameters every few milliseconds, which is a bit complicated sometimes.
Another option would be the ability to add some sort of ‘volume curve callback’ to individual channels that fires every time the mixer is ready for a new volume level (i.e. after the micro volume ramping has finished ramping), or fires at set intervals when attached to a channel. Then as long as System::update is called regularly a user would have a straightforward way to keep track of which channels have a fade in progress.
Right now I do something like that manually, but it’d be a lot simpler if there was some sort of support for it in the mixer. It’s not a big deal, since FMod3 didn’t have it either, but it’d be nice.
Something as simple as ‘velocities’ for pan and volume on particular channels would probably be adequate and quite simple to implement, as well, but it would be a bit of an additional API complication, so I’m not sure if you’re after that. Building it on top of the event system would probably work too, though that means you have to use events instead of channels to access the functionality.
Please login first to submit.