bcressey wrote:
Creating a sound channel with a specific volume is trivial.
Damusix already does that

It does the following: to assign a sound to a channel ...
1) Channel is previously created.
2) Damusix changes the channel volume.
3) Eventually the sound plays.
Damusix stores in its kernel several information of its managed channels, including volume, repetitions, sound notifications, etc. So whenever the channels are initialized with the specified volume at the time of the assignment.
I understand that having a formal Glk call to do this can be optimal, but I want to say that Damusix already does by itself.

Saludos!
EDITED:
bcressey wrote:
They do allow a timed fade, but not bounded by a specific volume - only to full or zero.
OMG. Damusix already does this.

Damusix's fades can have arbitrary volumes... 25% to 80%, 100% to 50%, etc. You can even do that after a fade occurs another, producing a lot of fun effects.

See ya!