public void CreateMusicPiece(string filename) { _score = MusicXmlParser.GetScore(filename); Guide = new GuidesController(MidiController) { Score = _score, Piano = Piano, Sheet = SheetController }; Sheet = SheetController.SheetModel; //stop program from crashing when reloading musicpiece. Sheet.Reset(); AddGreatStaffsToSheet(); AddMeasuresToGreatStaffs(); AddNotesToMeasures(); Guide.staffEndReached += staffEndReached; Guide.GoToFirstStaff += GoToFirstStaff; Guide.HoldPosition += this.HoldPosition; MidiController.Guide = Guide; KeyboardController.Guide = Guide; }
public void Measure_with_decimal_width_attribute() { var scoreWithoutMeasureWidthAttribute = MusicXmlParser.GetScore(@"TestData\MusicXmlWithChords.xml"); var part = scoreWithoutMeasureWidthAttribute.Parts[0]; var measure = part.Measures[0]; Assert.That(measure.Width, Is.EqualTo(199.25)); }
public void Is_chord_tone_false_for_note_without_chord_tag() { var score = MusicXmlParser.GetScore("TestData/MusicXmlWithChords.xml"); var part = score.Parts[0]; var measure = part.Measures[0]; var note = measure.MeasureElements[0].Element as Note; Assert.That(note.IsChordTone, Is.False); }
public void Measure_without_width_attribute_returns_negative_one() { var scoreWithoutMeasureWidthAttribute = MusicXmlParser.GetScore(@"TestData\MusicXmlWithoutMeasureWidthAttribute.xml"); var part = scoreWithoutMeasureWidthAttribute.Parts[0]; var measure = part.Measures[0]; Assert.That(measure.Width, Is.EqualTo(-1)); }
void LoadTracks() { mxml = MusicXmlParser.GetScore(file_txt.Text); track_cbx.Items.Clear(); foreach (var part in mxml.Parts) { track_cbx.Items.Add(part.Name); } track_cbx.SelectedIndex = 0; track_cbx.IsEnabled = true; }
public void Is_chord_tone_true_for_note_with_chord_tag() { const int knownChordToneIndex = 1; const int knownPartWithChord = 1; var score = MusicXmlParser.GetScore("TestData/MusicXmlWithChords.xml"); var part = score.Parts[knownPartWithChord]; var measure = part.Measures[0]; var note = measure.MeasureElements[knownChordToneIndex].Element as Note; Assert.That(note.IsChordTone, Is.True); }
/// <summary> /// 读取XML文件 /// </summary> /// <param name="file"></param> private void LoadXMLFile(string file) { score = MusicXmlParser.GetScore(Resources.Load <TextAsset>(file)); PartDevideIndex.Clear(); PartDevideIndex.Add(0); foreach (var measure in score.Parts[0].Measures) { if (measure.Attributes?.BarLine == "light-light") { PartDevideIndex.Add(measure.Number); } } }
public void SetUp() { _scoreWithStaffValues = MusicXmlParser.GetScore("TestData/MusicXmlWithStaffValues.xml"); }
public void insertNewPartitureXml(string path, string login, int originalVersionId) { MusicXmlParser parser = new MusicXmlParser(); Score newScore = parser.GetScore(path); partiture partiture = new partiture { pk_partiture_id = partituresTable.Count() + 1, work_number = newScore.MovementNumber.ToString(), title = newScore.MovementTitle, tempo = newScore.Parts.FirstOrDefault <Part>().Measures.FirstOrDefault <Measure>().Attributes.Divisions.ToString(), meter = newScore.Parts.FirstOrDefault <Part>().Measures.FirstOrDefault <Measure>().Attributes.Time.Beats.ToString() + "/" + newScore.Parts.FirstOrDefault <Part>().Measures.FirstOrDefault <Measure>().Attributes.Time.Mode, note_length = "1/4", part_key = keyFromFifths(newScore.Parts.FirstOrDefault <Part>().Measures.FirstOrDefault().Attributes.Key.Fifths), filepath = path }; if (originalVersionId == 0) { partiture.version_of = partituresTable.Count() + 1; } else { partiture.version_of = originalVersionId; } creators creators = new creators(); creators.pk_creators_id = creatorsTable.Count() + 1; creators.composer = newScore.Identification.Composer; creators.poet = (newScore.Identification.Poet != string.Empty) ? newScore.Identification.Poet : newScore.Identification.Lyricist; System.Diagnostics.Debug.Print(creators.composer + creators.poet); creators.authors_of = (partituresTable.Count() > 0) ? partituresTable.Count() + 1 : 1; if (newScore.Instrument != null) { if (newScore.Instrument.Name != string.Empty) { instruments instrument = new instruments { pk_instrument_id = instrumentsTable.Count() + 1, instrument_name = newScore.Instrument.Name, fk_part_in = (partituresTable.Count() > 0) ? partituresTable.Count() + 1 : 1 }; instrumentsTable.InsertOnSubmit(instrument); } } else { instruments instrument = new instruments { pk_instrument_id = instrumentsTable.Count() + 1, instrument_name = string.Empty, fk_part_in = (partituresTable.Count() > 0) ? partituresTable.Count() + 1 : 1 }; instrumentsTable.InsertOnSubmit(instrument); } software soft = new software { pk_software_id = softwareTable.Count() + 1, software_name = newScore.Identification.Encoding.Software, encoding_date = newScore.Identification.Encoding.EncodingDate, fk_used_for_encoding = (partituresTable.Count() > 0) ? partituresTable.Count() + 1 : 1 }; addedby added = new addedby { id = addedTable.Count() + 1, fk_user_id = GetUserIdByLogin(login), fk_partiture_id = (partituresTable.Count() > 0) ? partituresTable.Count() + 1 : 1, added_on = DateTime.Now }; partituresTable.InsertOnSubmit(partiture); creatorsTable.InsertOnSubmit(creators); softwareTable.InsertOnSubmit(soft); addedTable.InsertOnSubmit(added); db.SubmitChanges(); }