Beispiel #1
0
        private void ParseScorePart(IXmlNode element)
        {
            string id    = element.GetAttribute("id");
            var    track = new Track();

            _trackById[id] = track;
            _score.AddTrack(track);
            element.IterateChildren(c =>
            {
                if (c.NodeType == XmlNodeType.Element)
                {
                    switch (c.LocalName)
                    {
                    case "part-name":
                        track.Name = Std.GetNodeValue(c.FirstChild);
                        break;

                    case "part-abbreviation":
                        track.ShortName = Std.GetNodeValue(c.FirstChild);
                        break;

                    case "midi-instrument":
                        ParseMidiInstrument(c, track);
                        break;
                    }
                }
            });

            if (track.Tuning == null || track.Tuning.Length == 0)
            {
                track.Tuning = Tuning.GetDefaultTuningFor(6).Tunings;
            }
        }
        public void TestTuning()
        {
            var tex = @"\tuning E4 B3 G3 D3 A2 E2
                        .
                        0.5.1";

            var score = ParseTex(tex);

            Assert.AreEqual(string.Join(",", Tuning.GetDefaultTuningFor(6).Tunings), string.Join(",", score.Tracks[0].Staves[0].Tuning));
        }
Beispiel #3
0
        /// <summary>
        /// Initializes the song with some required default values.
        /// </summary>
        /// <returns></returns>
        private void CreateDefaultScore()
        {
            _score            = new Score();
            _score.Tempo      = 120;
            _score.TempoLabel = "";

            _track = new Track(1);
            _track.PlaybackInfo.Program          = 25;
            _track.PlaybackInfo.PrimaryChannel   = TrackChannels[0];
            _track.PlaybackInfo.SecondaryChannel = TrackChannels[1];
            _track.Tuning = Tuning.GetDefaultTuningFor(6).Tunings;

            _score.AddTrack(_track);
        }
Beispiel #4
0
        public void TestStandard()
        {
            var standard   = Tuning.GetDefaultTuningFor(6);
            var tuningText = new[] { "E4", "B3", "G3", "D3", "A2", "E2" };

            var tuning      = new int[tuningText.Length];
            var tuningText2 = new string[tuningText.Length];

            for (int i = 0; i < tuningText.Length; i++)
            {
                tuning[i]      = TuningParser.GetTuningForText(tuningText[i]);
                tuningText2[i] = Tuning.GetTextForTuning(tuning[i], true);
            }

            Assert.AreEqual(string.Join(",", standard.Tunings), string.Join(",", tuning));
            Assert.AreEqual(string.Join(",", tuningText), string.Join(",", tuningText2));
        }