Exemple #1
0
        public void Add_0_Ticks()
        {
            var a = new BeatTick(1, 0);
            var b = a.AddTicks(0);

            Assert.AreEqual(a, b);
        }
        public void FillTickDataTable_1NoteWithMomentInMiliseconds()
        {
            var note          = new GuitarScoreNote("G3", 1, 0, 480, 1000);
            var tickDataTable = new GtTickDataTable(1);
            var fileLoader    = new GtFileLoader();

            fileLoader.FillTickDataTable(tickDataTable, note);

            for (var pos = new BeatTick(1, 0); pos < new BeatTick(2, 0); pos = pos.AddTicks(10))
            {
                var tickData = tickDataTable[pos.Beat, pos.Tick];

                Assert.AreEqual(pos == new BeatTick(1, 0), tickData.IsStartTick);
                Assert.AreEqual(pos == new BeatTick(1, 470), tickData.IsEndTick);

                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 (pos == new BeatTick(1, 0))
                {
                    Assert.AreEqual(1000, tickData.MomentInMiliseconds);
                }
                else
                {
                    Assert.IsNull(tickData.MomentInMiliseconds);
                }
            }
        }
Exemple #3
0
        public void Diferent_2()
        {
            BeatTick a = new BeatTick(1, 100);
            BeatTick b = new BeatTick(2, 100);

            Assert.IsTrue(a != b);
        }
Exemple #4
0
        private static void AssertFSharpAt(GtSceneGuitar pGuitarItem, BeatTick pStartPosition, string pMessage)
        {
            {
                var notes = pGuitarItem.Notes.Where(p => (p.String == 6) && (p.Fret == 2) && (p.StartPosition == pStartPosition));

                Assert.AreEqual(1, notes.Count(), pMessage);

                Assert.AreEqual(pStartPosition, notes.ElementAt(0).StartPosition, pMessage);
                Assert.AreEqual(new BeatTick(pStartPosition.Beat, 470), notes.ElementAt(0).EndPosition, pMessage);
            }
            {
                var notes = pGuitarItem.Notes.Where(p => (p.String == 5) && (p.Fret == 4) && (p.StartPosition == pStartPosition));

                Assert.AreEqual(1, notes.Count(), pMessage);

                Assert.AreEqual(pStartPosition, notes.ElementAt(0).StartPosition, pMessage);
                Assert.AreEqual(new BeatTick(pStartPosition.Beat, 470), notes.ElementAt(0).EndPosition, pMessage);
            }
            {
                var notes = pGuitarItem.Notes.Where(p => (p.String == 4) && (p.Fret == 4) && (p.StartPosition == pStartPosition));

                Assert.AreEqual(1, notes.Count(), pMessage);

                Assert.AreEqual(pStartPosition, notes.ElementAt(0).StartPosition, pMessage);
                Assert.AreEqual(new BeatTick(pStartPosition.Beat, 470), notes.ElementAt(0).EndPosition, pMessage);
            }
        }
Exemple #5
0
        public void Add_1_Tick()
        {
            var a = new BeatTick(1, 0);
            var b = a.AddTicks(1);

            Assert.AreEqual(a.Beat, b.Beat);
            Assert.AreEqual(a.Tick + 1, b.Tick);
        }
Exemple #6
0
        public void Add_Many_Ticks()
        {
            var a = new BeatTick(1, 120);
            var b = a.AddTicks(480 + 480 + 10);

            Assert.AreEqual(a.Beat + 2, b.Beat);
            Assert.AreEqual(a.Tick + 10, b.Tick);
        }
Exemple #7
0
        public void Less_2()
        {
            BeatTick a = new BeatTick(1, 100);
            BeatTick b = new BeatTick(1, 110);

            Assert.IsTrue(a < b);
            Assert.IsTrue(b > a);
        }
Exemple #8
0
        public void Add_1_Tick_ChangingTheBeat()
        {
            var a = new BeatTick(1, 479);
            var b = a.AddTicks(1);

            Assert.AreEqual(2, b.Beat);
            Assert.AreEqual(0, b.Tick);
        }
Exemple #9
0
        public void Equal()
        {
            BeatTick a = new BeatTick(1, 100);
            BeatTick b = new BeatTick(1, 100);

            Assert.IsTrue(a == b);
            Assert.IsTrue(a <= b);
            Assert.IsTrue(a >= b);
        }
Exemple #10
0
        public void CurrentExpectedPlayingNotes_Tolerance_InBounds2()
        {
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_32Notes(), 30);

            var position = new BeatTick(2, 0);

            guitar.ForceCurrentPosition(position);
            Assert.AreEqual(3, guitar.CurrentStartingNotes.Count);

            guitar.ForceCurrentPosition(position.AddTicks(200));
            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);
        }
Exemple #11
0
        public void CurrentExpectedPlayingNotes_StartingAtFirstBeat()
        {
            //1 note at 1:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1NoteFirstBeat(), 30);

            var position = new BeatTick(1, 0);

            guitar.ForceCurrentPosition(position);

            Assert.AreEqual(1, guitar.CurrentStartingNotes.Count);
            Assert.AreEqual(1, guitar.CurrentExpectedPlayingNotes.Count);
        }
Exemple #12
0
        public Double_SongPlayerWithTimer(BeatTick pDuration)
        {
            this.fExecutionLog = new List <string>();

            this.fCurrentPosition = new BeatTick(1, 0);

            this.fTimer          = new Timer(10 * TICK_AS_MILISECONDS);
            this.fTimer.Elapsed += new ElapsedEventHandler(fTimer_Elapsed);

            this.fSongPlayerStatus = SongPlayerStatus.Stopped;

            this.fDuration = pDuration;
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        public void CurrentStartingNotes_Tolerance_OutOfBounds()
        {
            //1 note at 5:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 30);

            var position = new BeatTick(5, 0);

            guitar.ForceCurrentPosition(position.AddTicks(GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS + 1));
            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);

            guitar.ForceCurrentPosition(position.SubTicks(GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS + 1));
            Assert.AreEqual(0, guitar.CurrentStartingNotes.Count);
        }
Exemple #15
0
        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);
        }
Exemple #16
0
        public void CurrentExpectedPlayingNotes_Tolerance_InBounds()
        {
            //1 note at 5:0
            var guitar = new GtSceneGuitar(new Double_GtTickDataTable_1Note(), 30);

            var position = new BeatTick(5, 0);

            guitar.ForceCurrentPosition(position.SubTicks(GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS));
            Assert.AreEqual(1, guitar.CurrentStartingNotes.Count);

            //the note at (5:0) has 8 beats of duration.
            guitar.ForceCurrentPosition(position.AddTicks((8 * 480) + GtSceneGuitar.PLAYER_TOLERANCE_IN_TICKS));
            Assert.AreEqual(1, guitar.CurrentExpectedPlayingNotes.Count);
        }
Exemple #17
0
        public void FillTickDataTable(GtTickDataTable pTickDataTable, GuitarScoreNote pGuitarScoreNote)
        {
            var pos = new BeatTick(pGuitarScoreNote.Beat, pGuitarScoreNote.Tick);

            pTickDataTable[pos.Beat, pos.Tick].IsStartTick         = true;
            pTickDataTable[pos.Beat, pos.Tick].MomentInMiliseconds = pGuitarScoreNote.MomentInMiliseconds;
            if (pTickDataTable[pos.Beat, pos.Tick].RemarkOrChordName != string.Empty)
            {
                pTickDataTable[pos.Beat, pos.Tick].RemarkOrChordName += " ";
            }
            pTickDataTable[pos.Beat, pos.Tick].RemarkOrChordName += pGuitarScoreNote.RemarkOrChordName;

            int duration = (int)pGuitarScoreNote.DurationInTicks;

            for (int i = 0; i < duration; i += 10)
            {
                pos = (new BeatTick(pGuitarScoreNote.Beat, pGuitarScoreNote.Tick)).AddTicks(i);

                switch (pGuitarScoreNote.DefaultNotePosition.String)
                {
                case 1:
                    pTickDataTable[pos.Beat, pos.Tick].String1 = pGuitarScoreNote.DefaultNotePosition.Fret;
                    break;

                case 2:
                    pTickDataTable[pos.Beat, pos.Tick].String2 = pGuitarScoreNote.DefaultNotePosition.Fret;
                    break;

                case 3:
                    pTickDataTable[pos.Beat, pos.Tick].String3 = pGuitarScoreNote.DefaultNotePosition.Fret;
                    break;

                case 4:
                    pTickDataTable[pos.Beat, pos.Tick].String4 = pGuitarScoreNote.DefaultNotePosition.Fret;
                    break;

                case 5:
                    pTickDataTable[pos.Beat, pos.Tick].String5 = pGuitarScoreNote.DefaultNotePosition.Fret;
                    break;

                case 6:
                    pTickDataTable[pos.Beat, pos.Tick].String6 = pGuitarScoreNote.DefaultNotePosition.Fret;
                    break;
                }
            }

            pTickDataTable[pos.Beat, pos.Tick].IsEndTick = true;
        }
Exemple #18
0
        public void ValidTick_TheBound()
        {
            BeatTick a = new BeatTick(1, 479);

            Assert.AreEqual(479, a.Tick);
        }
Exemple #19
0
 public void InvalidTick_1()
 {
     BeatTick a = new BeatTick(1, -1);
 }
Exemple #20
0
 public void InvalidBeat_2()
 {
     BeatTick a = new BeatTick(-1, 0);
 }
Exemple #21
0
 public void InvalidBeat_1()
 {
     BeatTick a = new BeatTick(0, 0);
 }
Exemple #22
0
        public void NullBeatTick()
        {
            BeatTick a = new BeatTick(-1, -1);

            Assert.AreEqual(BeatTick.NullValue, a);
        }
Exemple #23
0
        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;
            }
        }
Exemple #24
0
        public void SubTicks(int pTicks)
        {
            var a = new BeatTick(10, 479);

            Assert.AreEqual(a.AddTicks(-pTicks), a.SubTicks(pTicks));
        }
Exemple #25
0
        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);
                }
            }
        }
Exemple #26
0
        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);
                }
            }
        }
Exemple #27
0
 public void InvalidTick_2()
 {
     BeatTick a = new BeatTick(1, 480);
 }