public void InsertScoreBackwardWithNote(NoteBook noteBook, ScoreBook database, Score baseScore, ScoreBook newScores) { int initialScoreTick = baseScore.StartTick; InsertScoreBackward(database, baseScore, newScores); //score以降に含まれるすべてのノーツに対して位置をずらす int deltaTick = 0; newScores.ForEach(x => deltaTick += ScoreInfo.MaxBeatDiv * x.BeatNumer / x.BeatDenom); noteBook.RelocateNoteTickAfterScoreTick(initialScoreTick, deltaTick); UpdateNoteLocation?.Invoke(this); }
public void InsertScoreForwardWithNote(NoteBook noteBook, ScoreBook database, Score baseScore, ScoreBook newScores) { if (database.Next(baseScore) == null) { SetScore(database, newScores); } else { InsertScoreBackwardWithNote(noteBook, database, database.Next(baseScore), newScores); } }
public void InsertScoreBackwardWithNote(NoteBook noteBook, ScoreBook scoreBook, Score score, int beatNumer, int beatDenom, int barCount) { int initialScoreTick = score.StartTick; InsertScoreBackward(scoreBook, score, beatNumer, beatDenom, barCount); //score以降に含まれるすべてのノーツに対して位置をずらす int deltaTick = barCount * ScoreInfo.MaxBeatDiv * beatNumer / beatDenom; noteBook.RelocateNoteTickAfterScoreTick(initialScoreTick, deltaTick); UpdateNoteLocation?.Invoke(this); }
public void InsertScoreForwardWithNote(NoteBook noteBook, ScoreBook scoreBook, Score score, int beatNumer, int beatDenom, int barCount) { if (scoreBook.Next(score) == null) { SetScore(scoreBook, beatNumer, beatDenom, barCount); } else { InsertScoreBackwardWithNote(noteBook, scoreBook, scoreBook.Next(score), beatNumer, beatDenom, barCount); } }