private void CreateScoreInfoGlyphs()
{
var flags = Renderer.Settings.Layout.Get("hideInfo", false) ? HeaderFooterElements.None : HeaderFooterElements.All;
var score = Renderer.Score;
var res = Renderer.RenderingResources;
ScoreInfoGlyphs = new FastDictionary<HeaderFooterElements, TextGlyph>();
if (!string.IsNullOrEmpty(score.Title) && (flags & HeaderFooterElements.Title) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.Title] = new TextGlyph(0, 0, score.Title, res.TitleFont, TextAlign.Center);
}
if (!string.IsNullOrEmpty(score.SubTitle) && (flags & HeaderFooterElements.SubTitle) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.SubTitle] = new TextGlyph(0, 0, score.SubTitle, res.SubTitleFont, TextAlign.Center);
}
if (!string.IsNullOrEmpty(score.Artist) && (flags & HeaderFooterElements.Artist) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.Artist] = new TextGlyph(0, 0, score.Artist, res.SubTitleFont, TextAlign.Center);
}
if (!string.IsNullOrEmpty(score.Album) && (flags & HeaderFooterElements.Album) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.Album] = new TextGlyph(0, 0, score.Album, res.SubTitleFont, TextAlign.Center);
}
if (!string.IsNullOrEmpty(score.Music) && score.Music == score.Words && (flags & HeaderFooterElements.WordsAndMusic) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.WordsAndMusic] = new TextGlyph(0, 0, "Music and Words by " + score.Words, res.WordsFont, TextAlign.Center);
}
else
{
if (!string.IsNullOrEmpty(score.Music) && (flags & HeaderFooterElements.Music) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.Music] = new TextGlyph(0, 0, "Music by " + score.Music, res.WordsFont, TextAlign.Right);
}
if (!string.IsNullOrEmpty(score.Words) && (flags & HeaderFooterElements.Words) != 0)
{
ScoreInfoGlyphs[HeaderFooterElements.Words] = new TextGlyph(0, 0, "Words by " + score.Music, res.WordsFont, TextAlign.Left);
}
}
// tuning info
if (Renderer.Tracks.Length == 1 && !Renderer.Tracks[0].IsPercussion)
{
var tuning = Tuning.FindTuning(Renderer.Tracks[0].Tuning);
if (tuning != null)
{
TuningGlyph = new TuningGlyph(0, 0, Scale, Renderer.RenderingResources, tuning);
}
}
}