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)); }
/// <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); }
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)); }