NScumm.Core.Audio.SoftSynth.AdlibMidiDriver.AdLibPart.Volume C# (CSharp) Method

Volume() public method

public Volume ( byte value ) : void
value byte
return void
            public override void Volume(byte value)
            {
                _volEff = value;
                for (var voice = _voice; voice != null; voice = voice.Next)
                {
                    #if ENABLE_OPL3
                        if (!_owner._opl3Mode) {
                    #endif
                    _owner.AdlibSetParam(voice.Channel, 0, volumeTable[volumeLookupTable[voice.Vol2, _volEff >> 2]]);
                    if (voice.TwoChan != 0)
                    {
                        _owner.AdlibSetParam(voice.Channel, 13, volumeTable[volumeLookupTable[voice.Vol1, _volEff >> 2]]);
                    }
                    #if ENABLE_OPL3
                        } else {
                        _owner.adlibSetParam(voice._channel, 0, g_volumeTable[((voice._vol2    + 1) * _volEff) >> 7], true);
                        _owner.adlibSetParam(voice._channel, 0, g_volumeTable[((voice._secVol2 + 1) * _volEff) >> 7], false);
                        if (voice._twoChan) {
                        _owner.adlibSetParam(voice._channel, 13, g_volumeTable[((voice._vol1    + 1) * _volEff) >> 7], true);
                        }
                        if (voice._secTwoChan) {
                        _owner.adlibSetParam(voice._channel, 13, g_volumeTable[((voice._secVol1 + 1) * _volEff) >> 7], false);
                        }
                        }
                    #endif
                }
            }