public void TickData_FilledExample() { var tickData = new GtTickData(); tickData.IsStartTick = true; tickData.String6 = 2; tickData.String5 = 4; tickData.String4 = 4; tickData.RemarkOrChordName = "F#"; Assert.IsNull(tickData.String1); Assert.IsNull(tickData.String2); Assert.IsNull(tickData.String3); Assert.AreEqual(4, tickData.String4); Assert.AreEqual(4, tickData.String5); Assert.AreEqual(2, tickData.String6); Assert.IsTrue(tickData.IsStartTick); Assert.IsFalse(tickData.IsEndTick); Assert.AreEqual("F#", tickData.RemarkOrChordName); }
public void TickDataTable_AddTickData_One() { var tickData = new GtTickData(); tickData.RemarkOrChordName = "F#"; tickData.String6 = 2; tickData.String5 = 4; tickData.String4 = 4; var tickDataTable = new GtTickDataTable(10); tickDataTable.AddTickData(new BeatTick(1, 0), new BeatTick(1, 0), tickData); Assert.AreEqual(tickData.RemarkOrChordName, tickDataTable[1, 0].RemarkOrChordName); Assert.AreEqual(tickData.String6, tickDataTable[1, 0].String6); Assert.AreEqual(tickData.String5, tickDataTable[1, 0].String5); Assert.AreEqual(tickData.String4, tickDataTable[1, 0].String4); Assert.AreEqual(tickData.String3, tickDataTable[1, 0].String3); Assert.AreEqual(tickData.String2, tickDataTable[1, 0].String2); Assert.AreEqual(tickData.String1, tickDataTable[1, 0].String1); Assert.IsTrue(tickDataTable[1, 0].IsStartTick); Assert.IsTrue(tickDataTable[1, 0].IsEndTick); }
public void TickDataTable_AddTickData_Invalid() { var tickData = new GtTickData(); var tickDataTable = new GtTickDataTable(10); tickDataTable.AddTickData(new BeatTick(2, 0), new BeatTick(1, 0), tickData); }
public void TickDataTable_AddTickData_DifferentReference() { var tickData = new GtTickData(); var tickDataTable = new GtTickDataTable(10); tickDataTable.AddTickData(new BeatTick(1, 0), new BeatTick(1, 0), tickData); Assert.AreNotSame(tickData, tickDataTable[1, 0]); }
public Double_GtTickDataTable_OneChord() : base(4) { var tickData = new GtTickData(); tickData.RemarkOrChordName = "F#"; tickData.String6 = 2; tickData.String5 = 4; tickData.String4 = 4; this.AddTickData(new BeatTick(1, 0), new BeatTick(1, 470), tickData); }
public Double_GtTickDataTable_1NoteFirstBeat() : base(16) { var tickData = new GtTickData(); tickData.RemarkOrChordName = "E"; tickData.String6 = 0; var position = new BeatTick(1, 0); var duration = 8 * 480; this.AddTickData(position, position.AddTicks(duration), tickData); }
public Double_GtTickDataTable_1Note() : base(16) { var tickData = new GtTickData(); tickData.RemarkOrChordName = "E"; tickData.String6 = 0; //var position = new BeatTick(4, 0); //GtSceneGuitar.SetSceneGuitarNote add 1 beat - I know, must be adjusted. var position = new BeatTick(5, 0); var duration = 8 * 480; this.AddTickData(position, position.AddTicks(duration), tickData); }
public void TickDataTable_AddTickData_Many() { var tickData = new GtTickData(); tickData.RemarkOrChordName = "F#"; tickData.String6 = 2; tickData.String5 = 4; tickData.String4 = 4; var tickDataTable = new GtTickDataTable(10); tickDataTable.AddTickData(new BeatTick(1, 0), new BeatTick(1, 470), tickData); for (int tick = 0; tick < 480; tick += 10) { Assert.AreEqual(tickData.RemarkOrChordName, tickDataTable[1, tick].RemarkOrChordName); Assert.AreEqual(tickData.String6, tickDataTable[1, tick].String6); Assert.AreEqual(tickData.String5, tickDataTable[1, tick].String5); Assert.AreEqual(tickData.String4, tickDataTable[1, tick].String4); if (tick == 0) { //first item Assert.IsTrue(tickDataTable[1, tick].IsStartTick); Assert.IsFalse(tickDataTable[1, tick].IsEndTick); } else if (tick == 470) { //last item Assert.IsFalse(tickDataTable[1, tick].IsStartTick); Assert.IsTrue(tickDataTable[1, tick].IsEndTick); } else { //other item Assert.IsFalse(tickDataTable[1, tick].IsStartTick); Assert.IsFalse(tickDataTable[1, tick].IsEndTick); } } Assert.AreEqual("", tickDataTable[2, 0].RemarkOrChordName); Assert.IsNull(tickDataTable[2, 0].String6); Assert.IsNull(tickDataTable[2, 0].String5); Assert.IsNull(tickDataTable[2, 0].String4); }
public void TickData_Signature() { var tickData = new GtTickData(); Assert.IsNull(tickData.String1); Assert.IsNull(tickData.String2); Assert.IsNull(tickData.String3); Assert.IsNull(tickData.String4); Assert.IsNull(tickData.String5); Assert.IsNull(tickData.String6); Assert.IsFalse(tickData.IsStartTick); Assert.IsFalse(tickData.IsEndTick); Assert.AreEqual("", tickData.RemarkOrChordName); Assert.IsFalse(tickData.DrawChord); }
public void ConvertScoreMomentsInTickTable() { IList <GuitarScoreNote> scoreNotes = new List <GuitarScoreNote>(); scoreNotes.Add(new GuitarScoreNote("G3", 1, 0, 480, null) { RemarkOrChordName = "G" }); var fileLoader = new GtFileLoader(); var tickDataTable = fileLoader.ConvertScoreNotesInTickTable(scoreNotes); Assert.AreEqual(1 + GtFileLoader.NUMBER_ADITIONAL_BEATS, tickDataTable.NumberOfBeats); Assert.AreEqual((1 + GtFileLoader.NUMBER_ADITIONAL_BEATS) * 48, tickDataTable.fItems.Length); for (int i = 0; i < 48; i++) { GtTickData tickData = tickDataTable[1, i * 10]; Assert.IsNull(tickData.String1); Assert.IsNull(tickData.String2); Assert.IsNull(tickData.String3); Assert.IsNull(tickData.String4); Assert.IsNull(tickData.String5); Assert.AreEqual(3, tickData.String6); if (i == 0) { Assert.AreEqual("G", tickData.RemarkOrChordName); } else { Assert.AreEqual("", tickData.RemarkOrChordName); } } }
private void RenderChordPicture(SpriteBatch pSpriteBatch, GtTickData pTickData, int pY) { int notesNumber = 0; int minorFret = int.MaxValue; #region Calculate Minor Fret if (pTickData.String1 != null) { notesNumber++; if (pTickData.String1 < minorFret) { minorFret = pTickData.String1.Value; } } if (pTickData.String2 != null) { notesNumber++; if (pTickData.String2 < minorFret) { minorFret = pTickData.String2.Value; } } if (pTickData.String3 != null) { notesNumber++; if (pTickData.String3 < minorFret) { minorFret = pTickData.String3.Value; } } if (pTickData.String4 != null) { notesNumber++; if (pTickData.String4 < minorFret) { minorFret = pTickData.String4.Value; } } if (pTickData.String5 != null) { notesNumber++; if (pTickData.String5 < minorFret) { minorFret = pTickData.String5.Value; } } if (pTickData.String6 != null) { notesNumber++; if (pTickData.String6 < minorFret) { minorFret = pTickData.String6.Value; } } #endregion int fretShift = 0; //real fret is the position (in picture) plus fretShift if (minorFret > 2) { fretShift = minorFret - 2; } var backgrouRectangle = new Rectangle( this.X + (6 * this.Distance) + 50, pY - 20, 70, 50); pSpriteBatch.Draw( this.Game.ChordPictureBackground, backgrouRectangle, Color.Gray); DrawPositionInChordPicture(pSpriteBatch, 6, pTickData.String6, backgrouRectangle, fretShift); DrawPositionInChordPicture(pSpriteBatch, 5, pTickData.String5, backgrouRectangle, fretShift); DrawPositionInChordPicture(pSpriteBatch, 4, pTickData.String4, backgrouRectangle, fretShift); DrawPositionInChordPicture(pSpriteBatch, 3, pTickData.String3, backgrouRectangle, fretShift); DrawPositionInChordPicture(pSpriteBatch, 2, pTickData.String2, backgrouRectangle, fretShift); DrawPositionInChordPicture(pSpriteBatch, 1, pTickData.String1, backgrouRectangle, fretShift); }
public Double_GtTickDataTable_3200Notes() : base(3200) { var tickData1 = new GtTickData(); tickData1.RemarkOrChordName = "B"; tickData1.String5 = 2; tickData1.String4 = 4; tickData1.String3 = 4; var tickData2 = new GtTickData(); tickData2.RemarkOrChordName = "F#"; tickData2.String6 = 2; tickData2.String5 = 4; tickData2.String4 = 4; var tickData3 = new GtTickData(); tickData3.RemarkOrChordName = "G#"; tickData3.String6 = 4; tickData3.String5 = 6; tickData3.String4 = 6; var tickData4 = new GtTickData(); tickData4.RemarkOrChordName = "E"; tickData4.String6 = 0; tickData4.String5 = 2; tickData4.String4 = 2; var position = new BeatTick(1, 0); var duration = 120; var distance = 240; for (int j = 0; j < 100; j++) { //Insert 8 B (2 for each beat) for (int i = 0; i < 8; i++) { this.AddTickData(position, position.AddTicks(duration), tickData1); position = position.AddTicks(distance); } //Insert 8 F# (2 for each beat) for (int i = 0; i < 8; i++) { this.AddTickData(position, position.AddTicks(duration), tickData2); position = position.AddTicks(distance); } //Insert 8 G# (2 for each beat) for (int i = 0; i < 8; i++) { this.AddTickData(position, position.AddTicks(duration), tickData3); position = position.AddTicks(distance); } //Insert 8 E (2 for each beat) for (int i = 0; i < 8; i++) { this.AddTickData(position, position.AddTicks(duration), tickData4); position = position.AddTicks(distance); } } }
public Double_GtTickDataTable_ChromaticScale() : base(600) { var tickData1 = new GtTickData(); tickData1.RemarkOrChordName = "C"; tickData1.String5 = 3; var tickData2 = new GtTickData(); tickData2.RemarkOrChordName = "C#"; tickData2.String5 = 4; var tickData3 = new GtTickData(); tickData3.RemarkOrChordName = "D"; tickData3.String5 = 5; var tickData4 = new GtTickData(); tickData4.RemarkOrChordName = "D#"; tickData4.String5 = 6; var tickData5 = new GtTickData(); tickData5.RemarkOrChordName = "E"; tickData5.String4 = 2; var tickData6 = new GtTickData(); tickData6.RemarkOrChordName = "F"; tickData6.String4 = 3; var tickData7 = new GtTickData(); tickData7.RemarkOrChordName = "F#"; tickData7.String4 = 4; var tickData8 = new GtTickData(); tickData8.RemarkOrChordName = "G"; tickData8.String4 = 5; var tickData9 = new GtTickData(); tickData9.RemarkOrChordName = "G#"; tickData9.String3 = 1; var tickData10 = new GtTickData(); tickData10.RemarkOrChordName = "A"; tickData10.String3 = 2; var tickData11 = new GtTickData(); tickData11.RemarkOrChordName = "A#"; tickData11.String3 = 3; var tickData12 = new GtTickData(); tickData12.RemarkOrChordName = "B"; tickData12.String3 = 4; var position = new BeatTick(3, 0); var duration = 230; var distance = 240; var ntimes = 1; for (int j = 0; j < 50; j++) { for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData1); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData2); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData3); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData4); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData5); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData6); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData7); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData8); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData9); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData10); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData11); position = position.AddTicks(distance); } for (int i = 0; i < ntimes; i++) { this.AddTickData(position, position.AddTicks(duration), tickData12); position = position.AddTicks(distance); } } }
public Double_GtTickDataTable_32Notes() : base(16) { var tickData1 = new GtTickData(); tickData1.RemarkOrChordName = "B"; tickData1.String5 = 2; tickData1.String4 = 4; tickData1.String3 = 4; var tickData2 = new GtTickData(); tickData2.RemarkOrChordName = "F#"; tickData2.String6 = 2; tickData2.String5 = 4; tickData2.String4 = 4; var tickData3 = new GtTickData(); tickData3.RemarkOrChordName = "G#"; tickData3.String6 = 4; tickData3.String5 = 6; tickData3.String4 = 6; var tickData4 = new GtTickData(); tickData4.RemarkOrChordName = "E"; tickData4.String6 = 0; tickData4.String5 = 2; tickData4.String4 = 2; var position = new BeatTick(1, 0); var duration = 120; var distance = 240; var distanceInMiliseconds = 500; //0.5 sec (60 BPM) var positionInMiliseconds = 0; //Insert 8 B (2 for each beat) for (int i = 0; i < 8; i++) { tickData1.MomentInMiliseconds = positionInMiliseconds; this.AddTickData(position, position.AddTicks(duration), tickData1); position = position.AddTicks(distance); positionInMiliseconds += distanceInMiliseconds; } //Insert 8 F# (2 for each beat) for (int i = 0; i < 8; i++) { tickData2.MomentInMiliseconds = positionInMiliseconds; this.AddTickData(position, position.AddTicks(duration), tickData2); position = position.AddTicks(distance); positionInMiliseconds += distanceInMiliseconds; } distanceInMiliseconds = 250; //0.25 sec (120 BPM) //Insert 8 G# (2 for each beat) for (int i = 0; i < 8; i++) { tickData3.MomentInMiliseconds = positionInMiliseconds; this.AddTickData(position, position.AddTicks(duration), tickData3); position = position.AddTicks(distance); positionInMiliseconds += distanceInMiliseconds; } //Insert 8 E (2 for each beat) for (int i = 0; i < 8; i++) { tickData4.MomentInMiliseconds = positionInMiliseconds; this.AddTickData(position, position.AddTicks(duration), tickData4); position = position.AddTicks(distance); positionInMiliseconds += distanceInMiliseconds; } }