コード例 #1
0
        int Track_chord_count(MusicXml.Domain.Score mxml, int track)
        {
            int chord_count     = 0;
            int max_chord_count = 0;

            if (mxml != null && track >= 0 && track <= mxml.Parts.Count)
            {
                var measures = mxml.Parts[track].Measures;
                foreach (var measure in measures)
                {
                    foreach (var measure_element in measure.MeasureElements)
                    {
                        if ((bool)GetPropertyVaue(measure_element.Element, "IsChordTone"))
                        {
                            chord_count += 1;
                        }
                        else
                        {
                            chord_count = 1;
                        }
                        if (chord_count > max_chord_count)
                        {
                            max_chord_count = chord_count;
                        }
                    }
                }
            }
            return(max_chord_count);
        }
コード例 #2
0
 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;
 }