vol = vol + ID3_vol_tag;
if (vol > 100) {
// Hit limit - have to calculate real adjusment.
current_adjust = vol - 100;


I'd expect that last line to read:
current_adjust = 100 + ID3_vol_tag - vol;
_________________________
--The Amigo