示例#1
0
            /// <summary>
            ///
            /// </summary>
            /// <returns></returns>
            private int searchEmptySlot(TaggedNoteOnEvent note, MT32Timbre timbre)
            {
                int emptySlot = -1;

                emptySlot = SearchEmptySlotAndOff(parentModule, instOnSounds, note, 32);
                return(emptySlot);
            }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        public MT32(uint unitNumber) : base(unitNumber)
        {
            GainLeft   = DEFAULT_GAIN;
            GainRight  = DEFAULT_GAIN;
            FilterMode = FilterMode.None;

            this.soundManager = new MT32SoundManager(this);

            Timbres = new MT32Timbre[InstrumentBase.DEFAULT_MAX_TIMBRES];
            for (int i = 0; i < InstrumentBase.DEFAULT_MAX_TIMBRES; i++)
            {
                Timbres[i] = new MT32Timbre();
            }
        }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="parentModule"></param>
 /// <param name="noteOnEvent"></param>
 /// <param name="programNumber"></param>
 /// <param name="slot"></param>
 public MT32Sound(MT32 parentModule, MT32SoundManager manager, TimbreBase timbre, int tindex, TaggedNoteOnEvent noteOnEvent, int slot) : base(parentModule, manager, timbre, tindex, noteOnEvent, slot)
 {
     this.parentModule  = parentModule;
     this.programNumber = (SevenBitNumber)parentModule.ProgramNumbers[noteOnEvent.Channel];
     this.timbre        = (MT32Timbre)timbre;
 }