Esempio n. 1
0
        public static Dictionary <int, Beam> CreateBeams(ABC.Tune tune)
        {
            var beams = new Dictionary <int, Beam>();

            foreach (var voice in tune.voices)
            {
                foreach (var item in voice.items)
                {
                    var duration = item as ABC.Duration;

                    if (duration == null)
                    {
                        continue;
                    }

                    // add this note to a beam if necessary
                    if (duration.beam != 0)
                    {
                        beams.TryGetValue(duration.beam, out Beam beam);
                        if (beam == null)
                        {
                            beam = new Beam(duration.beam, voice.clef);
                            beams[duration.beam] = beam;
                        }

                        beam.items.Add(duration);
                    }
                }
            }

            foreach (var item in beams)
            {
                item.Value.Analyze();
            }

            return(beams);
        }
Esempio n. 2
0
 void OnLoaded(ABC.Tune tune)
 {
     title.text = tune.title;
 }