PcSpk() public method

public PcSpk ( byte instrument ) : void
instrument byte
return void
Ejemplo n.º 1
0
        public void SetInstrument(byte[] data)
        {
            if (Se.PcSpeaker)
            {
                Instrument.PcSpk(data);
            }
            else
            {
                Instrument.Adlib(data);
            }

            if (ClearToTransmit())
            {
                Instrument.Send(MidiChannel);
            }
        }
Ejemplo n.º 2
0
 public void CopyTo(Instrument dest)
 {
     dest.PcSpk(_instrument);
 }
Ejemplo n.º 3
0
 public void CopyTo(Instrument dest)
 {
     dest.PcSpk(_instrument);
 }
Ejemplo n.º 4
0
        internal protected void CopyGlobalInstrument(byte slot, Instrument dest)
        {
            if (slot >= 32)
                return;

            // Both the AdLib code and the PC Speaker code use an all zero instrument
            // as default in the original, thus we do the same.
            // PC Speaker instrument size is 23, while AdLib instrument size is 30.
            // Thus we just use a 30 byte instrument data array as default.
            var defaultInstr = new byte[PcSpeaker ? 23 : 30];

            if (_global_instruments[slot].IsValid)
            {
                // In case we have an valid instrument set up, copy it to the part.
                _global_instruments[slot].CopyTo(dest);
            }
            else if (PcSpeaker)
            {
                Debug.WriteLine("Trying to use non-existent global PC Speaker instrument {0}", slot);
                dest.PcSpk(defaultInstr);
            }
            else
            {
                Debug.WriteLine("Trying to use non-existent global AdLib instrument {0}", slot);
                dest.Adlib(defaultInstr);
            }
        }