Init() public method

public Init ( int rate ) : void
rate int
return void
Beispiel #1
0
        public AdLibMusic(Mixer mixer, Disk disk)
            : base(mixer, disk)
        {
            _driverFileBase = 60202;
            _sampleRate = mixer.OutputRate;

            _opl = new DosBoxOPL(OplType.Opl2);
            _opl.Init(_sampleRate);

            _soundHandle = _mixer.PlayStream(SoundType.Music, this, -1, Mixer.MaxChannelVolume, 0, false, true);
        }
Beispiel #2
0
        public Player_AD(ScummEngine scumm, IMixer mixer)
        {
            _vm = scumm;
            _mixer = mixer;
            _rate = mixer.OutputRate;
            // TODO: vs OPL
            //        _opl2 = OPL::Config::create();
            _opl2 = new DosBoxOPL(OplType.Opl2);
            _opl2.Init(_rate);

            _samplesPerCallback = _rate / AD_CALLBACK_FREQUENCY;
            _samplesPerCallbackRemainder = _rate % AD_CALLBACK_FREQUENCY;
            _samplesTillCallback = 0;
            _samplesTillCallbackRemainder = 0;

            WriteReg(0x01, 0x00);
            WriteReg(0xBD, 0x00);
            WriteReg(0x08, 0x00);
            WriteReg(0x01, 0x20);

            _soundHandle = _mixer.PlayStream(SoundType.Plain, this, -1, Mixer.MaxChannelVolume, 0, false, true);

            _engineMusicTimer = 0;
            _soundPlaying = -1;

            _curOffset = 0;

            _sfxTimer = 4;
            _rndSeed = 1;

            for (int i = 0; i < _sfx.Length; ++i)
            {
                _sfx[i] = new SfxSlot();
                _sfx[i].Resource = -1;
                for (int j = 0; j < _sfx[i].Channels.Length; ++j)
                {
                    _sfx[i].Channels[j].HardwareChannel = -1;
                }
            }

            _numHWChannels = _hwChannels.Length;

            _musicVolume = _sfxVolume = 255;
            _isSeeking = false;
        }