[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
solved: reference points for non-staff lines
From: |
Mark Polesky |
Subject: |
solved: reference points for non-staff lines |
Date: |
Fri, 5 Nov 2010 16:17:52 -0700 (PDT) |
In case anyone cares, I finally was able to determine the
reference points for the individual non-staff lines. Here
they are:
CONTEXT REFERENCE POINT
----------- ---------------
ChordNames baseline
NoteNames baseline
Lyrics baseline
Dynamics vertical center
FiguredBass highest point
FretBoards guitar nut
I'll add this to the doc patch and push it:
http://codereview.appspot.com/2642043/
The test file I used follows below; I attached a png too.
- Mark
* * * * * * * * * * * * * * *
\version "2.13.39"
#(define zero-line
'((padding . -inf.0)
(space . 0)))
\paper {
left-margin = 15\mm
line-width = 90\mm
ragged-right = ##f
score-system-spacing =
#'((padding . 0)
(space . 10)
(stretchability . 0))
}
\layout {
\context { \ChordNames
chordNameLowercaseMinor = ##t
\override VerticalAxisGroup #'inter-staff-spacing = #zero-line
% only because I put a NoteName line in the way (below)
\override VerticalAxisGroup #'inter-loose-line-spacing = #zero-line
}
\context { \Dynamics
\override VerticalAxisGroup #'inter-staff-spacing = #zero-line
}
\context { \FiguredBass
\override VerticalAxisGroup #'inter-staff-spacing = #zero-line
}
\context { \FretBoards
\override VerticalAxisGroup #'staff-affinity = #DOWN
\override VerticalAxisGroup #'inter-staff-spacing = #zero-line
}
\context { \Lyrics
\override VerticalAxisGroup #'inter-staff-spacing = #zero-line
}
\context { \NoteNames
\override VerticalAxisGroup #'inter-staff-spacing = #zero-line
}
\context { \Score
\override TextScript #'staff-padding = #2
\override TimeSignature #'stencil = ##f
\override BarLine #'stencil = ##f
}
}
%% These contexts have reference points at the baseline:
%% ChordNames, NoteNames, and Lyrics
<<
\new ChordNames { \chords { g1:m | } }
\new NoteNames { s1 | g1 | }
\new RhythmicStaff {
\set RhythmicStaff.instrumentName = #"baseline "
\textLengthOn
s1^\markup { \typewriter ChordNames } |
s1^\markup { \typewriter NoteNames } |
s1^\markup { \typewriter Lyrics } |
}
\new Lyrics { \lyrics { \skip 1 | \skip 1 | ghijk1 | } }
>>
%% The reference point for Dynamics is its vertical center
<<
\new RhythmicStaff {
\set RhythmicStaff.instrumentName = #"vertical center "
s1^\markup { \typewriter Dynamics } | s1 | s1 |
}
\new Dynamics { s2\mp s\fp | }
>>
%% The reference point for FiguredBass is its highest point
<<
\new RhythmicStaff {
\set RhythmicStaff.instrumentName = #"highest point "
\textLengthOn
s1^\markup { \typewriter FiguredBass } | s1 | s1 |
}
\new FiguredBass { \figuremode { <6 5>1 | } }
>>
%% The reference point for FretBoards is the guitar nut
\include "predefined-guitar-fretboards.ly"
<<
\new FretBoards { \chordmode { e1 | } }
\new RhythmicStaff {
\set RhythmicStaff.instrumentName = #"guitar nut "
\textLengthOn
s1^\markup { \typewriter FretBoards } | s1 | s1 |
}
>>
ref-points.png
Description: PNG image
- solved: reference points for non-staff lines,
Mark Polesky <=