public void AddMasterBar(MasterBarBounds bounds) { if (bounds.StaveGroupBounds == null) { bounds.StaveGroupBounds = _currentStaveGroup; _masterBarLookup[bounds.Index] = bounds; _currentStaveGroup.AddBar(bounds); } else { _masterBarLookup[bounds.Index] = bounds; } }
public static BoundsLookup FromJson(object json, Score score) { var lookup = new BoundsLookup(); var staveGroups = json.Member <FastList <StaveGroupBounds> >("StaveGroups"); foreach (var staveGroup in staveGroups) { var sg = new StaveGroupBounds(); sg.VisualBounds = staveGroup.VisualBounds; sg.RealBounds = staveGroup.RealBounds; lookup.AddStaveGroup(sg); foreach (var masterBar in staveGroup.Bars) { var mb = new MasterBarBounds(); mb.Index = masterBar.Index; mb.IsFirstOfLine = masterBar.IsFirstOfLine; mb.LineAlignedBounds = masterBar.LineAlignedBounds; mb.VisualBounds = masterBar.VisualBounds; mb.RealBounds = masterBar.RealBounds; sg.AddBar(mb); foreach (var bar in masterBar.Bars) { var b = new BarBounds(); b.VisualBounds = bar.VisualBounds; b.RealBounds = bar.RealBounds; mb.AddBar(b); foreach (var beat in bar.Beats) { var bb = new BeatBounds(); bb.VisualBounds = beat.VisualBounds; bb.RealBounds = beat.RealBounds; bb.Beat = score .Tracks[beat.Member <int>("TrackIndex")] .Staves[beat.Member <int>("StaffIndex")] .Bars[beat.Member <int>("BarIndex")] .Voices[beat.Member <int>("VoiceIndex")] .Beats[beat.Member <int>("BeatIndex")]; b.AddBeat(bb); } } } } return(lookup); }
public static BoundsLookup FromJson(object json, Score score) { var lookup = new BoundsLookup(); var staveGroups = json.Member("StaveGroups").As<FastList<StaveGroupBounds>>(); foreach (var staveGroup in staveGroups) { var sg = new StaveGroupBounds(); sg.VisualBounds = staveGroup.VisualBounds; sg.RealBounds = staveGroup.RealBounds; lookup.AddStaveGroup(sg); foreach (var masterBar in staveGroup.Bars) { var mb = new MasterBarBounds(); mb.IsFirstOfLine = masterBar.IsFirstOfLine; mb.VisualBounds = masterBar.VisualBounds; mb.RealBounds = masterBar.RealBounds; sg.AddBar(mb); foreach (var bar in masterBar.Bars) { var b = new BarBounds(); b.VisualBounds = bar.VisualBounds; b.RealBounds = bar.RealBounds; mb.AddBar(b); foreach (var beat in bar.Beats) { var bb = new BeatBounds(); bb.VisualBounds = beat.VisualBounds; bb.RealBounds = beat.RealBounds; bb.Beat = score .Tracks[beat.Member("TrackIndex").As<int>()] .Staves[beat.Member("StaffIndex").As<int>()] .Bars[beat.Member("BarIndex").As<int>()] .Voices[beat.Member("VoiceIndex").As<int>()] .Beats[beat.Member("BeatIndex").As<int>()]; b.AddBeat(bb); } } } } return lookup; }
public void AddMasterBar(MasterBarBounds bounds) { bounds.StaveGroupBounds = _currentStaveGroup; _currentStaveGroup.AddBar(bounds); }