Sound functions sound(file, mode[, x, y[, radius]]) - play a sound as defined by file with mode 0 for global, in which case the volume remains constant and the position and radius don't matter, 1 for local, in which case it is played at the position x, y with the radius radius and the volume falls off with distance, 100+id for player-only global, in which case the position and radius don't matter, and 200+id for player-only local. Returns the new sound ID.
soundstop(sid) - stop the sound with the ID sid. Returns nothing.
soundpause(sid) - pause the sound with the ID sid. Returns nothing.
soundplay(sid) - resumes a paused sound or plays a stopped sound anew with the ID sid. Returns nothing.
soundvolume(sid, vol) - sets a sound's maximum volume (unaffected by distance falloff) to vol. Returns nothing.
soundposition(sid, x, y) - change the position of sound sid to x, y. Returns nothing.
soundradius(sid, radius) - change the sound radius to radius. Returns nothing.
freesound(sid) - remove the sound object sid. As opposed to soundstop, a removed sound object cannot be replayed or modified. Returns nothing.
And finally, a couple of very useful but not crucial functions would be:
soundseek(sid, ms) - skip to the position ms (milliseconds) in the sound. When applied to stopped or paused sounds, they will start playing at this position when soundplay is called. Playing sounds skip directly to this point.
Depending on the implementation, this may be not possible at all, possible for stopped/paused sounds only, or possible for any sounds.
soundattenuation(sid, att) - sets a sound's attenuation mode. att can be either a pre-defined string or a function. If att is a function, then the distance to the listener is provided to it, and it must return the sound volume. Returns nothing.
I assume CS2D implements attenuation somehow because map sounds get quieter as you go further - I therefore think that adding the ability to provide a custom algorithm is feasible. The default algorithm, as well as potentially a couple of pre-defined ones, can be accessed with strings.