ID:2504143
 
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
It would be very helpful if sound datum could have an indication of when it ends by giving it duration var with a value that is a duration of sound at New()

Particularly for creating a "sound system" with token datums that track position of clients relative to the source in order to change their sound offset in real time.

Currently there is no way of reliably tell if sound has ended, hence deleting the datum that holds a sound becomes a tag of workarounds. This however, can fix the issue by doing something like this:

spawn(sound.duration)
del(sound_token)


It's good enough to make a fully fledged "3d sound system" around really.

The problem though only applies to sounds that don't loop, those can be ended and deleted outside of the sound system by the things that called them in the first place, same doesn't apply to the sounds that are not looped as said above.
This would be really helpful thing, I'm using advanced sound system too and I have to write sound duration manually so it could work correctly.
client.SoundQuery() is implemented in 513.