/// <summary> /// /// </summary> /// <param name="parentModule"></param> /// <param name="noteOnEvent"></param> /// <param name="programNumber"></param> /// <param name="slot"></param> public TMS5220Sound(TMS5220 parentModule, TMS5220SoundManager manager, TimbreBase timbre, int tindex, TaggedNoteOnEvent noteOnEvent, int slot) : base(parentModule, manager, timbre, tindex, noteOnEvent, slot) { this.parentModule = parentModule; this.timbre = (TMS5220Timbre)timbre; bw = new BitWriter(parentModule); }
/// <summary> /// /// </summary> public TMS5220(uint unitNumber) : base(unitNumber) { GainLeft = DEFAULT_GAIN; GainRight = DEFAULT_GAIN; Timbres = new TMS5220Timbre[InstrumentBase.DEFAULT_MAX_TIMBRES]; for (int i = 0; i < InstrumentBase.DEFAULT_MAX_TIMBRES; i++) { Timbres[i] = new TMS5220Timbre(); } setPresetInstruments(); this.soundManager = new TMS5220SoundManager(this); processingThread = new Thread(new ThreadStart(processFifoQueue)); processingThread.IsBackground = true; processingThread.Start(); }