Ejemplo n.º 1
0
 public static PatternData ToData(Pattern pattern)
 {
     return(new PatternData
     {
         BarsCount = pattern.Info.BarsCount,
         BeatsPerBar = pattern.Info.BeatsPerBar,
         TimeUnitsPerBeat = pattern.Info.UnitsPerBeat.Index,
         SuggestedBpm = pattern.Info.SuggestedBpm,
         Sounds = pattern.Sounds.Sounds.Select(s => ToData(s, pattern.Sounds)).ToArray(),
         Beats = pattern.AllBeats().Select(b => ToData(b, pattern.Sounds)).ToArray()
     });
 }
Ejemplo n.º 2
0
 public BeatsDrawer(Pattern pattern, IGridCoordinatesProvider grid)
 {
     this.pattern      = pattern;
     this.grid         = grid;
     this.patternPaint = new SKPaint
     {
         Color       = SKColors.White,
         IsAntialias = true,
         Style       = SKPaintStyle.StrokeAndFill
     };
     this.patternSounds = pattern.Sounds;
     foreach (var beat in pattern.AllBeats())
     {
         var coord = grid.Coordinates(beat.Sound.Instrument, beat.T);
         patternBeats.Add(new PointAndMark(coord, beat.Sound.Mark));
     }
 }