コード例 #1
0
 public MusicTrack GetMusicTrack(SBN program, FTBN bank)
 {
     foreach (var track in Tracks)
     {
         if (track is MusicTrack musicTrack && musicTrack.Program == program && musicTrack.Bank == bank)
         {
             return(musicTrack);
         }
     }
     return(null);
 }
コード例 #2
0
 public override IContainsGlowing GetGlowingForNote(SBN note)
 {
     if (!_noteMapper.TryGetValue(note, out var realNote))
     {
         if (_realNoteIdx >= NumObjects)
         {
             return(null);
         }
         realNote = _noteMapper[note] = (SBN)_realNoteIdx++;
     }
     return(TheGlows[realNote]);
 }
コード例 #3
0
 public BankLsbSelectEvent(SBN bankTail)
 {
     _bankTail = bankTail;
 }
コード例 #4
0
 public BankMsbSelectEvent(SBN bankHead)
 {
     _bankHead = bankHead;
 }
コード例 #5
0
 public ProgramChangeMidiEvent(SBN program)
 {
     _program = program;
 }
コード例 #6
0
        public IContainsGlowing GetGlowingForNote(SBN note)
        {
            var noteNum = note - _startNum;

            return(!noteNum.InRange(0, NumBars) ? null : _theGlows[noteNum]);
        }
コード例 #7
0
 public MusicTrack(FTBN bank, SBN program, bool isDrumTrack = false)
 {
     _bank       = bank;
     Program     = program;
     IsDrumTrack = isDrumTrack;
 }
コード例 #8
0
 public ProgramTrack GetMusicTrack(SBN program) => GetMusicTrack(program, 0);
コード例 #9
0
        public virtual IContainsGlowing GetGlowingForNote(SBN note)
        {
            var noteNum = note - StartNum;

            return(!noteNum.InRange(0, NumObjects) ? null : TheGlows[noteNum]);
        }
コード例 #10
0
//    public new NoteOnEvent Corresponding
//    {
//        get => (NoteOnEvent) base.Corresponding;
//        internal set
//        {
//            if(value == null) throw new ArgumentNullException(nameof(value));
//            base.Corresponding = value;
//        }
//    }

        public NoteOffEvent(SBN noteNumber, SBN velocity)
            : base(noteNumber, velocity)
        {
        }
コード例 #11
0
 protected NoteEvent(SBN noteNumber, SBN velocity)
 {
     NoteNumber = noteNumber;
     Velocity   = velocity;
 }
コード例 #12
0
 public ExpressionChangeEvent(SBN expression)
 {
     Expression = expression;
 }
コード例 #13
0
 public VolumeChangeEvent(SBN volume)
 {
     Volume = volume;
 }