public ITouchpad BuildTouchpad(uint firstNNotes = 0)
        {
            for (var noteIdx = 0; noteIdx < _song.SongNotes.Length || (noteIdx < firstNNotes && firstNNotes != 0); noteIdx++)
            {
                var songNote = _song.SongNotes[noteIdx];
                var tick     = songNote.Time / OneColLen;
                _touchpad.Tap(_noteCoords.CoordsById[songNote.KeyId], (tick + 1) * 2 - 1);
                //Console.WriteLine($"{tick}\t{songNote.KeyId}\t{_noteCoords.CoordsById[songNote.KeyId].Note}");
            }

            return(_touchpad);
        }
        public ITouchpad BuildTouchpad(uint firstNNotes = 0)
        {
            for (var i = 0; i < _notes.Count; i++)
            {
                var musicalNote = _notes[i];
                if (musicalNote.Type == EMusicalNoteType.Delay)
                {
                    continue;
                }

                var notePos = _noteCoords.CoordsByNote[musicalNote.Type][musicalNote.Octave];
                _touchpad.Tap(notePos, (i + 1) * 2 - 1);

                if (firstNNotes != 0 && i > firstNNotes)
                {
                    break;
                }
            }

            return(_touchpad);
        }