Beispiel #1
0
 public void RegisterBarRenderer(string key, int index, BarRendererBase renderer)
 {
     if (!_barRendererLookup.ContainsKey(key))
     {
         _barRendererLookup[key] = new FastDictionary<int, BarRendererBase>();
     }
     _barRendererLookup[key][index] = renderer;
 }
Beispiel #2
0
 public void AddBarRenderer(BarRendererBase renderer)
 {
     renderer.Staff = this;
     renderer.Index = BarRenderers.Count;
     renderer.ReLayout();
     BarRenderers.Add(renderer);
     StaveGroup.Layout.RegisterBarRenderer(StaveId, renderer);
 }
Beispiel #3
0
 public void UnregisterBarRenderer(string key, BarRendererBase renderer)
 {
     if (_barRendererLookup.ContainsKey(key))
     {
         var lookup = _barRendererLookup[key];
         lookup.Remove(GetBarRendererId(renderer.Bar.Staff.Track.Index, renderer.Bar.Index));
     }
 }
Beispiel #4
0
 public void UnregisterBarRenderer(string key, BarRendererBase renderer)
 {
     if (_barRendererLookup.ContainsKey(key))
     {
         var lookup = _barRendererLookup[key];
         lookup.Remove(renderer.Bar.Id);
     }
 }
Beispiel #5
0
 public void RegisterBarRenderer(string key, BarRendererBase renderer)
 {
     if (!_barRendererLookup.ContainsKey(key))
     {
         _barRendererLookup[key] = new FastDictionary <string, BarRendererBase>();
     }
     _barRendererLookup[key][GetBarRendererId(renderer.Bar.Staff.Track.Index, renderer.Bar.Index)] = renderer;
 }
 public void RegisterBarRenderer(string key, int index, BarRendererBase renderer)
 {
     if (!_barRendererLookup.ContainsKey(key))
     {
         _barRendererLookup[key] = new FastDictionary <int, BarRendererBase>();
     }
     _barRendererLookup[key][index] = renderer;
 }
Beispiel #7
0
 protected override float GetStartX(BarRendererBase noteRenderer)
 {
     if (StartBeat.IsRest)
     {
         return(noteRenderer.GetBeatX(StartBeat));
     }
     else
     {
         return(noteRenderer.GetNoteX(StartBeat.MinNote));
     }
 }
Beispiel #8
0
 protected virtual float CalculateEndX(BarRendererBase endBeatRenderer, Beat endBeat, float cx, BeatXPosition endPosition)
 {
     if (endBeat == null)
     {
         return(cx + endBeatRenderer.X + X + Width);
     }
     else
     {
         return(cx + endBeatRenderer.X + endBeatRenderer.GetBeatX(endBeat, endPosition));
     }
 }
Beispiel #9
0
 protected override float GetEndX(BarRendererBase noteRenderer)
 {
     if (EndBeat.IsRest)
     {
         return(noteRenderer.GetBeatX(EndBeat));
     }
     else
     {
         return(noteRenderer.GetNoteX(EndBeat.MinNote, false));
     }
 }
Beispiel #10
0
        protected override BeamDirection GetBeamDirection(Beat beat, BarRendererBase noteRenderer)
        {
            // invert direction (if stems go up, ties go down to not cross them)
            switch (((ScoreBarRenderer)noteRenderer).GetBeatDirection(beat))
            {
            case BeamDirection.Up:
                return(BeamDirection.Down);

            case BeamDirection.Down:
            default:
                return(BeamDirection.Up);
            }
        }
Beispiel #11
0
        public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
        {
            int tempo;

            if (beat.Voice.Bar.MasterBar.TempoAutomation != null)
            {
                tempo = (int)(beat.Voice.Bar.MasterBar.TempoAutomation.Value);
            }
            else
            {
                tempo = beat.Voice.Bar.Staff.Track.Score.Tempo;
            }
            return(new TempoGlyph(0, 0, tempo));
        }
Beispiel #12
0
        public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
        {
            var res = renderer.Resources;

            if (beat.Slap)
            {
                return(new TextGlyph(0, 0, "S", res.EffectFont));
            }
            if (beat.Pop)
            {
                return(new TextGlyph(0, 0, "P", res.EffectFont));
            }
            return(new TextGlyph(0, 0, "T", res.EffectFont));
        }
Beispiel #13
0
        protected override float GetStartY(BarRendererBase noteRenderer, BeamDirection direction)
        {
            if (StartBeat.IsRest)
            {
                // below all lines
                return(((ScoreBarRenderer)noteRenderer).GetScoreY(9));
            }

            switch (direction)
            {
            case BeamDirection.Up:
                // below lowest note
                return(noteRenderer.GetNoteY(StartBeat.MinNote));

            default:
                return(noteRenderer.GetNoteY(StartBeat.MaxNote));
            }
        }
Beispiel #14
0
        public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
        {
            var finger = Fingers.Unknown;
            var isLeft = false;
            var note   = beat.Notes[0];

            if (note.LeftHandFinger != Fingers.Unknown)
            {
                finger = note.LeftHandFinger;
                isLeft = true;
            }
            else if (note.RightHandFinger != Fingers.Unknown)
            {
                finger = note.RightHandFinger;
            }

            var s = ModelUtils.FingerToString(renderer.Settings, beat, finger, isLeft);

            return(new TextGlyph(0, 0, s, renderer.Resources.FingeringFont, TextAlign.Left));
        }
Beispiel #15
0
        public void AddBar(Bar bar)
        {
            BarRendererBase renderer;

            if (bar == null)
            {
                renderer = new BarRendererBase(bar);
            }
            else
            {
                renderer = _factory.Create(bar);
            }
            renderer.Staff = this;
            renderer.Index = BarRenderers.Count;
            renderer.DoLayout();
            BarRenderers.Add(renderer);
            if (bar != null)
            {
                StaveGroup.Layout.RegisterBarRenderer(StaveId, renderer);
            }
        }
Beispiel #16
0
        public void AddBar(Bar bar, BarLayoutingInfo layoutingInfo)
        {
            BarRendererBase renderer;

            if (bar == null)
            {
                renderer = new BarRendererBase(StaveGroup.Layout.Renderer, bar);
            }
            else
            {
                renderer = _factory.Create(StaveGroup.Layout.Renderer, bar, StaveGroup.Layout.Renderer.Settings.Staves);
            }
            renderer.Staff         = this;
            renderer.Index         = BarRenderers.Count;
            renderer.LayoutingInfo = layoutingInfo;
            renderer.DoLayout();
            renderer.RegisterLayoutingInfo();
            BarRenderers.Add(renderer);
            if (bar != null)
            {
                StaveGroup.Layout.RegisterBarRenderer(StaveId, renderer);
            }
        }
Beispiel #17
0
        protected override float GetEndY(BarRendererBase noteRenderer, BeamDirection direction)
        {
            if (EndBeat.IsRest)
            {
                switch (direction)
                {
                case BeamDirection.Up:
                    return(((ScoreBarRenderer)noteRenderer).GetScoreY(9));

                default:
                    return(((ScoreBarRenderer)noteRenderer).GetScoreY(0));
                }
            }

            switch (direction)
            {
            case BeamDirection.Up:
                // below lowest note
                return(((ScoreBarRenderer)noteRenderer).GetNoteY(EndBeat.MinNote));

            default:
                return(((ScoreBarRenderer)noteRenderer).GetNoteY(EndBeat.MaxNote));
            }
        }
Beispiel #18
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new VibratoGlyph(0, 5 * renderer.Scale, 1.4f));
 }
Beispiel #19
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new FadeInGlyph(0, 0));
 }
Beispiel #20
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new TextGlyph(0, 0, "Capo. fret " + beat.Voice.Bar.Staff.Track.Capo, renderer.Resources.EffectFont));
 }
Beispiel #21
0
 public override EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new TrillGlyph(0, 0));
 }
 public override EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new LineRangedGlyph("P.M."));
 }
Beispiel #23
0
 public void UnregisterBarRenderer(string key, BarRendererBase renderer)
 {
     if (_barRendererLookup.ContainsKey(key))
     {
         var lookup = _barRendererLookup[key];
         lookup.Remove(GetBarRendererId(renderer.Bar.Staff.Track.Index, renderer.Bar.Index));
     }
 }
Beispiel #24
0
 protected virtual float GetEndX(BarRendererBase noteRenderer)
 {
     return(0);
 }
Beispiel #25
0
 protected virtual float GetEndY(BarRendererBase noteRenderer, BeamDirection direction)
 {
     return(0);
 }
Beispiel #26
0
 protected virtual BeamDirection GetBeamDirection(Beat beat, BarRendererBase noteRenderer)
 {
     return(BeamDirection.Down);
 }
Beispiel #27
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new PickStrokeGlyph(0, 0, beat.PickStroke));
 }
Beispiel #28
0
 protected override BeamDirection GetBeamDirection(Note note, BarRendererBase noteRenderer)
 {
     return ((ScoreBarRenderer)noteRenderer).GetBeatDirection(note.Beat);
 }
Beispiel #29
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new BeatVibratoGlyph(VibratoType.Slight));
 }
Beispiel #30
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new LineRangedGlyph("LetRing"));
 }
 public override EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new TextGlyph(0, 0, HarmonicToString(_beatType), renderer.Resources.EffectFont));
 }
Beispiel #32
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new TripletFeelGlyph(beat.Voice.Bar.MasterBar.TripletFeel));
 }
Beispiel #33
0
 protected override BeamDirection GetBeamDirection(Note note, BarRendererBase noteRenderer)
 {
     return StartNote.String > 3
         ? BeamDirection.Down
         : BeamDirection.Up;
 }
Beispiel #34
0
 public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat)
 {
     return(new DynamicsGlyph(0, 0, beat.Dynamic));
 }
Beispiel #35
0
 public void RegisterBarRenderer(string key, BarRendererBase renderer)
 {
     if (!_barRendererLookup.ContainsKey(key))
     {
         _barRendererLookup[key] = new FastDictionary<string, BarRendererBase>();
     }
     _barRendererLookup[key][GetBarRendererId(renderer.Bar.Staff.Track.Index, renderer.Bar.Index)] = renderer;
 }
Beispiel #36
0
 protected virtual BeamDirection GetBeamDirection(Note note, BarRendererBase noteRenderer)
 {
     return BeamDirection.Down;
 }