lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: solved: reference points for non-staff lines


From: Trevor Daniels
Subject: Re: solved: reference points for non-staff lines
Date: Fri, 5 Nov 2010 23:38:28 -0000

Good work, Mark.

I'd prefer to see your image in the docs rather than text.

Trevor

----- Original Message ----- From: "Mark Polesky" <address@hidden>
To: "lilypond-devel" <address@hidden>
Sent: Friday, November 05, 2010 11:17 PM
Subject: solved: reference points for non-staff lines


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 |
 }






--------------------------------------------------------------------------------


_______________________________________________
lilypond-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-devel






reply via email to

[Prev in Thread] Current Thread [Next in Thread]