Fine, here:
https://github.com/ArmageddonGames/Z...df9fa3457e847f

This does not expose any of the allegro audio variables to the user. It's a function pair:
Audio->AdjustVolume(in percent)
Audio->AdjustSFXVolume(int percent)

Calling them should always set the volume to an absolute percentage of the user volume, so, AdjustVolume(100) would result in the volume remaining the same.

Volume changes revert to the user setting son quest exit, win game, etc..

If the audio API changes in the future, this binds it to only segregated music and sfx volume, rather than our present, three distinct types (at the function level). (AdjustVolume affects MIDI, DIGI, and Enhanced Music simultaneously.)

Is that sufficient?