コード例 #1
0
        public void ConvertNotesInGuitarScoreNote()
        {
            var importer = new GuitarMusicXmlImporter();

            XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest);

            var track = new TrackInfo()
            {
                Id   = "P1",
                Name = ""
            };

            XmlNodeList notes = importer.ListAllNotesOfOneTrack(xmlDoc, track);


            var scoreNotes = new SortedList <GuitarScoreNote, GuitarScoreNote>();

            importer.ConvertNotesInGuitarScoreNote(scoreNotes, notes);

            Assert.AreEqual(6, scoreNotes.Count);

            {
                var scoreNote = scoreNotes.ElementAt(0).Value;
                Assert.AreEqual("C#4", scoreNote.NoteId);
                Assert.AreEqual(1, scoreNote.Beat);
                Assert.AreEqual(0, scoreNote.Tick);
                Assert.AreEqual(480, scoreNote.DurationInTicks);
                Assert.AreEqual(0, scoreNote.MomentInMiliseconds);
                Assert.AreEqual(5, scoreNote.DefaultNotePosition.String);
                Assert.AreEqual(4, scoreNote.DefaultNotePosition.Fret);
                Assert.AreEqual("C9", scoreNote.RemarkOrChordName);
            }

            {
                var scoreNote = scoreNotes.ElementAt(1).Value;
                Assert.AreEqual("C#4", scoreNote.NoteId);
                Assert.AreEqual(2, scoreNote.Beat);
                Assert.AreEqual(0, scoreNote.Tick);
                Assert.AreEqual(240, scoreNote.DurationInTicks);
                Assert.AreEqual(0, scoreNote.MomentInMiliseconds);
                Assert.AreEqual(5, scoreNote.DefaultNotePosition.String);
                Assert.AreEqual(4, scoreNote.DefaultNotePosition.Fret);
                Assert.AreEqual("", scoreNote.RemarkOrChordName);
            }

            {
                var scoreNote = scoreNotes.ElementAt(2).Value;
                Assert.AreEqual("D4", scoreNote.NoteId);
                Assert.AreEqual(2, scoreNote.Beat);
                Assert.AreEqual(240, scoreNote.Tick);
                Assert.AreEqual(240, scoreNote.DurationInTicks);
                Assert.AreEqual(0, scoreNote.MomentInMiliseconds);
                Assert.AreEqual(5, scoreNote.DefaultNotePosition.String);
                Assert.AreEqual(5, scoreNote.DefaultNotePosition.Fret);
                Assert.AreEqual("", scoreNote.RemarkOrChordName);
            }

            {
                var scoreNote = scoreNotes.ElementAt(3).Value;
                Assert.AreEqual("E4", scoreNote.NoteId);
                Assert.AreEqual(4, scoreNote.Beat);
                Assert.AreEqual(0, scoreNote.Tick);
                Assert.AreEqual(480, scoreNote.DurationInTicks);
                Assert.AreEqual(0, scoreNote.MomentInMiliseconds);
                Assert.AreEqual(5, scoreNote.DefaultNotePosition.String);
                Assert.AreEqual(7, scoreNote.DefaultNotePosition.Fret);
                Assert.AreEqual("E9", scoreNote.RemarkOrChordName);
            }

            {
                var scoreNote = scoreNotes.ElementAt(4).Value;
                Assert.AreEqual("C#4", scoreNote.NoteId);
                Assert.AreEqual(5, scoreNote.Beat);
                Assert.AreEqual(0, scoreNote.Tick);
                Assert.AreEqual(1920, scoreNote.DurationInTicks);
                Assert.AreEqual(0, scoreNote.MomentInMiliseconds);
                Assert.AreEqual(5, scoreNote.DefaultNotePosition.String);
                Assert.AreEqual(4, scoreNote.DefaultNotePosition.Fret);
                Assert.AreEqual("", scoreNote.RemarkOrChordName);
            }

            {
                var scoreNote = scoreNotes.ElementAt(5).Value;
                Assert.AreEqual("G#4", scoreNote.NoteId);
                Assert.AreEqual(5, scoreNote.Beat);
                Assert.AreEqual(0, scoreNote.Tick);
                Assert.AreEqual(1920, scoreNote.DurationInTicks);
                Assert.AreEqual(0, scoreNote.MomentInMiliseconds);
                Assert.AreEqual(4, scoreNote.DefaultNotePosition.String);
                Assert.AreEqual(6, scoreNote.DefaultNotePosition.Fret);
                Assert.AreEqual("", scoreNote.RemarkOrChordName);
            }
        }
コード例 #2
0
        public void ListAllNotesOfOneTrack()
        {
            var importer = new GuitarMusicXmlImporter();

            XmlDocument xmlDoc = importer.OpenMusicXmlFile(MusicXmlTest);

            var track = new TrackInfo()
            {
                Id   = "P1",
                Name = ""
            };

            XmlNodeList nodes = importer.ListAllNotesOfOneTrack(xmlDoc, track);

            Assert.AreEqual(9, nodes.Count);

            {
                Assert.AreEqual("C9", nodes[0].InnerText);
            }

            {
                var step = nodes[1].SelectSingleNode("descendant::step");
                Assert.IsNotNull(step);
                Assert.AreEqual("C", step.InnerText);
            }

            {
                var step = nodes[2].SelectSingleNode("descendant::step");
                Assert.IsNotNull(step);
                Assert.AreEqual("C", step.InnerText);
            }

            {
                var step = nodes[3].SelectSingleNode("descendant::step");
                Assert.IsNotNull(step);
                Assert.AreEqual("D", step.InnerText);
            }

            {
                var step = nodes[4].SelectSingleNode("descendant::step");
                Assert.IsNull(step);
                var rest = nodes[4].SelectSingleNode("descendant::rest");
                Assert.IsNotNull(rest);
            }

            {
                Assert.AreEqual("E9", nodes[5].InnerText);
            }

            {
                var step = nodes[6].SelectSingleNode("descendant::step");
                Assert.IsNotNull(step);
                Assert.AreEqual("E", step.InnerText);
            }

            {
                var step = nodes[7].SelectSingleNode("descendant::step");
                Assert.IsNotNull(step);
                Assert.AreEqual("C", step.InnerText);
            }

            {
                var step = nodes[8].SelectSingleNode("descendant::step");
                Assert.IsNotNull(step);
                Assert.AreEqual("G", step.InnerText);
            }
        }