28.02.2010, 22:55
Hi, it's me again.
Well we've been using the plugin for a while now and I've got a few thoughts. Requests actually.
The first one is relatively simple I think. I thought of Audio_PlayEx(), which would allow me to set sound's volume and 3d position. Right now setting volume or 3Dpos on a short audio just doesn't make any difference or it applies after a short while of playing, which seriously doesn't sound nice.
The second one is far more complicated. Even after you've added support for ingame coordinates in 0.4, there's still no easy and efficient way to create a sound in a place, which would be streamed only to players who are close enough (not to waste the bandwidth). As a result I support the streaming in PAWN. I have to create an array of ongoing streams and check whether players are close enough. If so, I run the stream and set it's 3D position for each player. It one gets too far away I turn it off. It's PAWN, which also means it's inefficient.
If you'd make anything like Audio_PlayInPlace, PlayOnCoordinates or whatever, you could return a single ID, which we could easily modify or remove. It would speed up the process so much - at the moment we've got to care about all the IDs for every player, which is a pain in the ass really.
But there's more. As you wouldn't deal with PAWN but with the TCP server, the distance checking code could possibly be run in a separate thread every second or so.
Regards.
Well we've been using the plugin for a while now and I've got a few thoughts. Requests actually.
The first one is relatively simple I think. I thought of Audio_PlayEx(), which would allow me to set sound's volume and 3d position. Right now setting volume or 3Dpos on a short audio just doesn't make any difference or it applies after a short while of playing, which seriously doesn't sound nice.
The second one is far more complicated. Even after you've added support for ingame coordinates in 0.4, there's still no easy and efficient way to create a sound in a place, which would be streamed only to players who are close enough (not to waste the bandwidth). As a result I support the streaming in PAWN. I have to create an array of ongoing streams and check whether players are close enough. If so, I run the stream and set it's 3D position for each player. It one gets too far away I turn it off. It's PAWN, which also means it's inefficient.
If you'd make anything like Audio_PlayInPlace, PlayOnCoordinates or whatever, you could return a single ID, which we could easily modify or remove. It would speed up the process so much - at the moment we've got to care about all the IDs for every player, which is a pain in the ass really.
But there's more. As you wouldn't deal with PAWN but with the TCP server, the distance checking code could possibly be run in a separate thread every second or so.
Regards.