in <a class="title" href="user/lilypond-program.pdf">PDF</a>)
<br>(how to install and run the program)
-<li><a class="title" href="../input/lsr/collated-files.html">Snippets</a>
+<li><a class="title" href="../input/lsr/snippets/index.html">Snippets</a>
+(in <a class="title" href="../input/lsr/snippets-big-page.html">one big page</a>,
+in <a class="title" href="../input/lsr/snippets.pdf">PDF</a>)
<br>(Short tricks, tips, and examples)
</ul>
fractions. This allows some forms of microtonal music. For example,
Turkish makam music uses 1/9th tone alterations.
-@lilypondfile{pitches/makam.ly}
+@lilypondfile{makam.ly}
verbatim quote will not show the @code{relative} block.
@example
-\relative c' { % begin verbatim
+\relative c' @{ % begin verbatim
c4 e2 g4
f2 e % end verbatim
-}
+@}
@end example
@item texidoc
@c usage: @lsr{ancient,custodes.ly}
@macro lsr{DIR,TEXT}
@ifhtml
-@uref{source/input/lsr/\DIR\/collated-files.html#\TEXT\,@file{\DIR\/\TEXT\}}
+@uref{source/input/lsr/snippets/\DIR\.html#\TEXT\,@file{\DIR\/\TEXT\}}
@end ifhtml
@ifnothtml
@file{\DIR\/\TEXT\}
@macro lsrdir{DIR}
@ifhtml
-@uref{source/input/lsr/\DIR\/collated-files.html,@file{\DIR\}/}
+@uref{source/input/lsr/snippets\DIR\.html,\DIR\}
@end ifhtml
@ifnothtml
-@file{\DIR\}
+\DIR\
@end ifnothtml
@end macro
@commonprop
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/preventing-extra-naturals-from-being-automatically-added.ly}
+{preventing-extra-naturals-from-being-automatically-added.ly}
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
+{dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
-@lilypondfile[lilyquote,ragged-right,texidoc]{pitches/makam.ly}
+@lilypondfile[lilyquote,ragged-right,texidoc]{makam.ly}
@seealso
@commonprop
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/transposing-pitches-with-minimum-accidentals-smart-transpose.ly}
+{transposing-pitches-with-minimum-accidentals-smart-transpose.ly}
@seealso
@commonprop
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/clefs-commonly-tweaked-properties.ly}
+{clefs-commonly-tweaked-properties.ly}
@seealso
@commonprop
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly}
+{preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly}
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/non-traditional-key-signatures.ly}
+{non-traditional-key-signatures.ly}
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
+{dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
@seealso
@commonprop
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/adding-ambiti-per-voice.ly}
+{adding-ambiti-per-voice.ly}
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/ambiti-multiple-voices.ly}
+{ambiti-multiple-voices.ly}
@seealso
@commonprop
@lilypondfile[lilyquote,ragged-right,texidoc]
-{pitches/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly}
+{applying-noteheads-styles-depending-on-the-step-of-the-scale.ly}
@seealso
def source_links_replace (m, source_val):
return 'href="' + os.path.join (source_val, m.group (1)) + '"'
-splitted_docs_re = re.compile ('Documentation/user/out-www/(lilypond|music-glossary|lilypond-program|lilypond-learning)/')
+splitted_docs_re = re.compile ('(input/lsr/out-www/snippets|Documentation/user/out-www/(lilypond|music-glossary|lilypond-program|lilypond-learning))/')
# On systems without symlinks (e.g. Windows), docs are not very usable
# Get rid of symlinks references here
'''
TODO:
- * Add @nodes, plit at sections?
- * Less kludged first introduction file
- * include *.texi files for text at start of section?
+ * Add @nodes, split at sections?
'''
import sys
import os
-import string
import getopt
program_name = 'lys-to-tely'
+include_snippets = '@lysnippets'
def help ():
- sys.stdout.write (r"""Usage: lys-to-tely [OPTIONS]... LY-FILE...
+ sys.stdout.write (r"""Usage: %(program_name)s [OPTIONS]... LY-FILE...
Construct tely doc from LY-FILEs.
Options:
-h, --help print this help
-o, --output=NAME write tely doc to NAME
-t, --title=TITLE set tely doc title TITLE
-
-""")
+ --template=TEMPLATE use TEMPLATE as Texinfo template file,
+ instead of standard template; TEMPLATE should contain a command
+ '%(include_snippets)s' to tell where to insert LY-FILEs. When this option
+ is used, NAME and TITLE are ignored
+""" % vars ())
sys.exit (0)
-(options, files) = getopt.getopt(sys.argv[1:], 'hn:t:', [
- 'help', 'name=', 'title='])
-
-name="ly-doc"
-title="Ly Doc"
-for opt in options:
- o = opt[0]
- a = opt[1]
- if o == '-h' or o == '--help':
- help ()
- elif o == '-n' or o == '--name':
- name = a
- elif o == '-t' or o == '--title':
- title = a
- else:
- raise 'unknown opt ', o
-
-def strip_extension (f, ext):
- (p, e) = os.path.splitext (f)
- if e == ext:
- e = ''
- return p + e
+(options, files) = getopt.getopt (sys.argv[1:], 'hn:t:',
+ ['help', 'name=', 'title=', 'template='])
-if files:
- dir = os.path.dirname (name)
- if not dir:
- dir = "."
- name = strip_extension (os.path.basename (name), ".tely")
-
- s = '''\input texinfo
-@setfilename %s.info
-@settitle %s
+name = "ly-doc"
+title = "Ly Doc"
+template = '''\input texinfo
+@setfilename %%(name)s.info
+@settitle %%(name)s
@documentencoding utf-8
@iftex
@end iftex
@finalout @c we do not want black boxes.
-
+
@c fool ls-latex
@ignore
@author Han-Wen Nienhuys and Jan Nieuwenhuizen
-@title %s
+@title %%(title)s
@end ignore
@node Top, , , (dir)
-''' % (name, title, title)
- def name2line (n):
- # UGR
- s = r"""
+%s
+
+@bye
+''' % include_snippets
+
+for opt in options:
+ o = opt[0]
+ a = opt[1]
+ if o == '-h' or o == '--help':
+ help ()
+ elif o == '-n' or o == '--name':
+ name = a
+ elif o == '-t' or o == '--title':
+ title = a
+ elif o == '--template':
+ template = open (a, 'r').read ()
+ else:
+ raise 'unknown opt ', o
+
+def name2line (n):
+ # UGR
+ s = r"""
@ifhtml
@html
<A NAME="%s"></A>
@end html
@end ifhtml
-""" % n
-
- s += "\n\n@lilypondfile[printfilename,texidoc]{%s}" % n
- return s
+
+@lilypondfile[printfilename,texidoc]{%s}""" % (n, n)
+ return s
+
+if files:
+ dir = os.path.dirname (name) or "."
+# don't strip .tely extension, input/lsr uses .itely
+ name = os.path.basename (name)
+ template = template % vars ()
+
files.sort ()
- s = s + string.join (map (lambda x: name2line (x), files), "\n")
- s = s + '\n@bye\n'
- f = "%s/%s.tely" % (dir, name)
+ s = "\n".join (map (name2line, files))
+ s = template.replace (include_snippets, s, 1)
+ f = "%s/%s" % (dir, name)
sys.stderr.write ("%s: writing %s..." % (program_name, f))
h = open (f, "w")
h.write (s)
# not Unix philosophy, but hey, at least we notice when
# we don't distribute any .ly files.
sys.stderr.write ("No files specified. Doing nothing")
-
#!/usr/bin/python
+
import sys
import os
-import os.path
-import shutil
+import glob
-dirs = []
-# NR 1
-dirs.extend(['pitches', 'rhythms', 'expressive',
-'repeats', 'simultaneous', 'staff', 'editorial', 'text'])
-# NR 2
-dirs.extend(['vocal', 'chords', 'piano',
-'percussion', 'guitar', 'strings', 'bagpipes', 'ancient'])
+USAGE = ''' Usage: makelsr.py LSR_SNIPPETS_DIR
+This script must be run from top of the source tree;
+it updates snippets input/lsr with snippets in input/new or LSR_SNIPPETS_DIR.
+'''
+
+LY_HEADER = '''%%%% Do not edit this file; it is auto-generated from LSR!
+%%%% Tags: %s
+'''
+DEST = os.path.join ('input', 'lsr')
+NEW_LYS = os.path.join ('input', 'new')
+
+TAGS = []
+# NR 1
+TAGS.extend (['pitches', 'rhythms', 'expressive-marks',
+'repeats', 'simultaneous-notes', 'staff-notation', 'editorial-and-educational-use', 'text'])
+# NR 2
+TAGS.extend (['vocal-music', 'chords', 'piano-music',
+'percussion', 'guitar', 'strings', 'bagpipes', 'ancient-notation'])
+TAGS.append ('other')
-#
-#dirs.extend(['real-music'])
-#dirs = ['ancient','chords','connecting','contemporary','expressive','education','guitar','parts','pitch','repeats','scheme','spacing','staff','text','vocal','other','nonmusic','engravers','instrument']
-notsafe=[]
+def exit_with_usage (n=0):
+ sys.stderr.write (USAGE)
+ sys.exit (n)
try:
in_dir = sys.argv[1]
except:
- print "Please specify input_file."
- sys.exit()
-
-def copy_with_warning(src, dest):
- msg = '%% Do not edit this file; it is auto-generated from LSR!\n'
- open (dest, 'w').write( msg + open (src).read() )
-
-
-def copy_dir_with_test(srcdir, destdir):
- global notsafe
- global notconvert
- if not(os.path.exists(srcdir)):
- return
- file_names = os.listdir (srcdir)
- for file in file_names:
- if (file.endswith ('.ly')):
- src = os.path.join (srcdir, file)
- destname = file.replace (';', '-')
- dest = os.path.join (destdir, destname)
- copy_with_warning(src, dest)
- os.system('convert-ly -e ' + dest)
- if os.path.exists( dest + '~' ):
- os.remove( dest + '~' )
- # the -V seems to make unsafe snippets fail nicer/sooner.
- s = os.system('nice lilypond -V -dno-print-pages -dsafe -o /tmp/lsrtest ' + dest)
- #s = os.system('nice lilypond -dno-print-pages -dsafe -o /tmp/lsrtest ' + dest)
- if s:
- notsafe.append(dest)
-
-
-for dir in dirs:
- srcdir = os.path.join (in_dir, dir)
- destdir = os.path.join ('input', 'lsr', dir)
- if not(os.path.isdir(destdir)):
- print "Please run this script from the head of the source tree,"
- print " and/or check that you have the right categories."
- sys.exit()
-
- ## clean out existing files
- file_names = os.listdir (destdir)
- for file in file_names:
- if (file.endswith ('.ly')):
- os.remove( os.path.join(destdir,file) )
- ## copy in new files from LSR download
- copy_dir_with_test( srcdir, destdir )
- ## copy in new files in source tree
- copy_dir_with_test( os.path.join ('input', 'new', dir), destdir )
-
-
-file=open("lsr-unsafe.txt", 'w')
-for s in notsafe:
- file.write(s+'\n')
-file.close()
-
-print
-print
-print "Unsafe files printed in lsr-unsafe.txt: CHECK MANUALLY!"
-print " xargs git-diff < lsr-unsafe.txt"
-print
+ exit_with_usage (2)
+
+if not (os.path.isdir (DEST) and os.path.isdir (NEW_LYS)):
+ exit_with_usage (3)
+
+unsafe = []
+unconverted = []
+
+def copy_ly (srcdir, name, tags):
+ global unsafe
+ global unconverted
+ dest = os.path.join (DEST, name)
+ f = open (dest, 'w')
+ f.write (LY_HEADER % ', '.join (tags))
+ f.write (open (os.path.join (srcdir, name)).read ())
+ f.close ()
+ e = os.system('convert-ly -e ' + dest)
+ if e:
+ unconverted.append (dest)
+ if os.path.exists (dest + '~'):
+ os.remove (dest + '~')
+ # -V seems to make unsafe snippets fail nicer/sooner
+ e = os.system ('nice lilypond -V -dno-print-pages -dsafe -o /tmp/lsrtest ' + dest)
+ if e:
+ unsafe.append (dest)
+
+def read_source (src):
+ s = {}
+ l = {}
+ for tag in TAGS:
+ srcdir = os.path.join (src, tag)
+ l[tag] = set (map (os.path.basename, glob.glob (os.path.join (srcdir, '*.ly'))))
+ for f in l[tag]:
+ if f in s.keys ():
+ s[f][1].append (tag)
+ else:
+ s[f] = (srcdir, [tag])
+ return s, l
+
+def dump_file_list (file, list):
+ f = open (file, 'w')
+ f.write ('\n'.join (list) + '\n')
+
+## clean out existing lys and generated files
+map (os.remove, glob.glob (os.path.join (DEST, '*.ly')) +
+ glob.glob (os.path.join (DEST, '*.snippet-list')))
+
+# read LSR source
+snippets, tag_lists = read_source (in_dir)
+# read input/new
+s, l = read_source (NEW_LYS)
+snippets.update (s)
+for t in TAGS:
+ tag_lists[t].update (l[t])
+
+for (name, (srcdir, tags)) in snippets.items ():
+ copy_ly (srcdir, name, tags)
+
+for (tag, file_set) in tag_lists.items ():
+ dump_file_list (os.path.join (DEST, tag + '.snippet-list'), file_set)
+
+if unconverted:
+ sys.stderr.write ('These files could not be converted successfully by convert-ly:\n')
+ sys.stderr.write ('\n'.join (unconverted))
+
+dump_file_list ('lsr-unsafe.txt', unsafe)
+sys.stderr.write ('''
+
+Unsafe files printed in lsr-unsafe.txt: CHECK MANUALLY!
+ xargs git-diff < lsr-unsafe.txt
+
+''')
-depth = ../../
+depth = ../..
-# NR 1
-SUBDIRS = pitches rhythms expressive repeats simultaneous staff editorial text
-# NR 2
-SUBDIRS += vocal chords piano percussion guitar strings bagpipes ancient
-
-
-SUBDIRS += other
-
-### FIXME: temporary template for creating other dirs.
-### will be removed once everything else is stable.
-SUBDIRS += null
+# urg, can't name itely templates foo.itely.in because of standard rule
STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+LOCALSTEPMAKE_TEMPLATES=lilypond ly
EXTRA_DIST_FILES=README
+
include $(depth)/make/stepmake.make
-TITLE=LilyPond Examples
+IN_ITELY_FILES = $(call src-wildcard,*-intro.itely)
+GENERATED_ITELY_FILES = $(IN_ITELY_FILES:%-intro.itely=$(outdir)/%.itely)
+
+$(outdir)/%.itely: %-intro.itely %.snippet-list
+ xargs $(PYTHON) $(buildscript-dir)/lys-to-tely.py --name=$@ --template=$< < $*.snippet-list
+
+$(outdir)/snippets.texi: snippets.tely $(GENERATED_ITELY_FILES)
+ $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BINARY) $(LILYPOND_BOOK_INCLUDES)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) $<
+
+$(outdir)/snippets-big-page.html: $(outdir)/snippets.texi $(OUT_PNG_IMAGES)
+ $(MAKEINFO) -I$(outdir) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html --no-split --no-headers $<
+
+
+$(outdir)/snippets/index.html: $(outdir)/snippets.texi $(OUT_PNG_IMAGES) $(OUT_EPS_IMAGES)
+ mkdir -p $(dir $@)
+ $(MAKEINFO) -I$(outdir) --output=$(dir $@) --css-include=$(top-src-dir)/Documentation/texinfo.css --html $<
+local-WWW: $(outdir)/snippets.pdf $(outdir)/snippets/index.html $(outdir)/snippets-big-page.html
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: chords, ancient-notation
+\version "2.11.35"
+
+\header { texidoc = "
+When writing a figured bass, here's a way to specify if you want your
+figures to be placed above or below the bass notes, by defining the
+BassFigureAlignmentPositioning #'direction property (exclusively in a
+Staff context). Choices are #UP (or #1), #CENTER (or #0) and #DOWN (or
+#-1).
+
+As you can see here, this property can be changed as many times as you
+wish. Use \\once \\override if you dont want the tweak to apply to the
+whole score.
+" }
+
+bass = { \clef bass g4 b, c d e d8 c d2}
+continuo = \figuremode {
+ < _ >4 < 6 >8
+ \once \override Staff.BassFigureAlignmentPositioning #'direction = #CENTER
+ <5/> < _ >4
+ \override Staff.BassFigureAlignmentPositioning #'direction = #UP
+ < _+ > < 6 >
+ \set Staff.useBassFigureExtenders = ##t
+ \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
+ < 4 >4. < 4 >8 < _+ >4
+ }
+\score {
+ << \new Staff = bassStaff \bass
+ \context Staff = bassStaff \continuo >>
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches, staff-notation, vocal-music
+\version "2.11.35"
+
+\header { texidoc = "
+Ambits can be added per voice. In that case, the ambitus must be moved
+manually to prevent collisions.
+" }
+
+{
+\new Staff <<
+ \new Voice \with {
+ \consists "Ambitus_engraver"
+ } \relative c'' {
+ \override Ambitus #'X-offset = # 2.0
+ \voiceOne
+ c4 a d e f1
+ }
+ \new Voice \with {
+ \consists "Ambitus_engraver"
+ } \relative c' {
+ \voiceTwo
+ es4 f g as b1
+ }
+>>
+
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: staff-notation
+\version "2.11.35"
+
+\header { texidoc = "
+You can add (possibly temporarily) an extra staff after the beginning
+of a piece.
+" }
+
+\score {
+ <<
+ \new Staff \relative c''{ c1 c c c c }
+ \new StaffGroup \relative c''{
+ \new Staff
+ c1 c
+ << c1 \new Staff { c1 } >>
+ c
+ }
+ >>
+ \layout {
+
+ \context{
+ \Score
+
+ }
+ }
+}
+
+
+
+
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: staff-notation
+\version "2.11.35"
+
+\header { texidoc = "
+When adding a new Staff at a line break, LilyPond will unfortunately
+add some extra space at the end of the line before the break (to fit in
+a key signature change, which will never be printed anyway). The
+workaround is to add a setting of Staff.explicitKeySignatureVisibility
+as is shown in the example. In version 2.10 and earlier, you have to do
+a similar setting for the time signatures, see the example.
+" }
+
+\score {
+ \new StaffGroup \relative c''{
+ \new Staff
+ \key f \major
+ c1 c^"Unwanted extra space" \break
+ << { c1 c }
+ \new Staff {
+ \key f \major
+ c1 c
+ }
+ >>
+ c1 c^"Fixed here" \break
+ << { c1 c }
+ \new Staff {
+ \once \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
+ %The next line is not needed in 2.11.x or later:
+ \once \override Staff.TimeSignature #'break-visibility = #end-of-line-invisible
+ \key f \major
+ c1 c
+ }
+ >>
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms, expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+LilyPond syntax can involve many unusual placements for parentheses,
+brackets etc., which might sometimes have to be interleaved.For
+example, when entering a manual beam, the left square bracket has to be
+placed after the starting note and its duration, not before. Similarly,
+the right square bracket should directly follow the note which is to be
+at the end of the requested beaming, even if this note happens to be
+inside a tuplet section. This snippet demonstrates how to superpose
+manual beaming, manual slurs, ties, and phrasing slurs, while using
+tuplet sections (enclosed with curly braces).
+" }
+
+{
+ r16[ g16 \times 2/3 {r16 e'8] }
+
+ g16( a \times 2/3 {b d e') }
+
+ g8[( a \times 2/3 {b d') e'~]}
+
+ \times 4/5 {e'32\( a b d' e'} a'4.\)
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms, percussion
+\version "2.11.35"
+
+\header { texidoc = "
+LilyPond makes drums input quite easy, with powerful pre-configured
+tools such as the \\drummode function and the DrumStaff context: drums
+are placed to their own staff positions (with a special clef symbol)
+and have note heads according to the drum. You can easily attach an
+extra symbol to the drum, and restrict the number of lines.
+" }
+
+drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
+drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
+timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} }
+
+\score {
+ \repeat "volta" 2 {
+ <<
+ \new DrumStaff \with {
+ drumStyleTable = #timbales-style
+ \override StaffSymbol #'line-count = #2
+ \override BarLine #'bar-size = #2
+ } <<
+ \set Staff.instrumentName = "timbales"
+ \timb
+ >>
+ \new DrumStaff <<
+ \set Staff.instrumentName = "drums"
+ \new DrumVoice {\stemUp \drh }
+ \new DrumVoice {\stemDown \drl }
+ >>
+ >>
+ }
+ \layout {}
+
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 120 4)
+ }
+ }
+
+
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: guitar
+\version "2.11.35"
+
+\header { texidoc = "
+To add fingerings to tablatures, you can use a combination of
+@code{\\markup} and @code{\\finger}.
+" }
+
+one = \markup{ \finger "1" }
+two = \markup{ \finger "2" }
+threetwo = \markup{ \column {\finger "3" \finger "2"} }
+threefour = \markup{ \column {\finger "3" \finger "4"} }
+
+\score {
+
+\context TabStaff {
+
+\stemUp
+
+{ e8\4^\one b\2 < e, g\3 e'\1 >^>[ b\2 e\4] < a\3 fis'\1 >^>^\threetwo[ b\2 e\4] }
+
+}
+
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+The parenthesize function is a special tweak that encloses objects in
+parentheses. The associated grob is Score.ParenthesesItem.
+" }
+
+\relative {
+ c4 -\parenthesize -.
+
+ \override ParenthesesItem #'padding = #0.1
+ <d \parenthesize fis a>
+
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text, vocal-music
+\version "2.11.35"
+
+\header { texidoc = "
+This snippets shows you how to bring the lyrics line closer to the
+Staff.
+" }
+
+% Default layout:
+\score{
+<<
+\new Staff \new Voice = m \relative c'{ c4 d e f g f e d c1 }
+\new Lyrics \lyricsto m {aa aa aa aa aa aa aa aa aa }
+ >>
+}
+
+% Reducing the minimum space below the Staff and above the Lyrics:
+\score{
+<<
+\new Staff \with {\override VerticalAxisGroup #'minimum-Y-extent = #'(-1
+. 4)}
+ \new Voice = m \relative c'{ c4 d e f g f e d c1 }
+\new Lyrics \with {\override VerticalAxisGroup #'minimum-Y-extent =
+#'(-1.2 . 1)}
+\lyricsto m {aa aa aa aa aa aa aa aa aa }
+ >>
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text
+\version "2.11.35"
+
+\header { texidoc = "
+Instrument names are generally printed at the left side of the staves.
+To align the names of several different intruments, you can put them in
+a \\markup block and use one of the following possibilites:
+
+
+*
+ Right-aligned instrument names: this is LilyPond's default behavior
+
+*
+ Center-aligned instrument names: with the \\hcenter-in #n syntax, you
+ can place the instrument names inside a padded box (n being the width
+ of the box)
+
+*
+ Left-aligned instrument names: you have to print the names on top of an
+ empty box, using the \\combine command
+ with a \\hspace #n object.
+
+
+" }
+
+\paper{
+ indent = #0
+ left-margin = #30
+ line-width = #160
+}
+
+\new StaffGroup \relative
+<<
+ \new Staff {
+ \set Staff.instrumentName = "blabla"
+ c1^"default" c1 \break
+ \set Staff.instrumentName = \markup { \hcenter-in #10 "blabla" }
+ c1^"centered" c1 \break
+ \set Staff.instrumentName = \markup {\combine \hspace #8 "blabla" }
+ c1^"left-aligned" c1
+
+ }
+ \new Staff {
+ \set Staff.instrumentName = "blo"
+ c1 c1 \break
+ \set Staff.instrumentName = \markup { \hcenter-in #10 "blo" }
+ c1 c1 \break
+ \set Staff.instrumentName = \markup {\combine \hspace #8 "blo" }
+ c1 c1
+ }
+
+>>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text, vocal-music
+\version "2.11.35"
+
+\header { texidoc = "
+You can specify different horizontal alignment for your lyrics, by
+overriding the #'self-alignment-X property of the LyricText object. #-1
+is left, #0 is center and #1 is right; however, you can use #LEFT,
+#CENTER and #RIGHT as well.
+" }
+
+\relative c'' {
+c1 c c}
+\addlyrics {\once \override LyricText #'self-alignment-X = #LEFT "This is left-aligned"
+\once \override LyricText #'self-alignment-X = #CENTER "This is centered"
+\once \override LyricText #'self-alignment-X = #1 "this is right-aligned" }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+You can alter the number of stems in a beam. In this example, two sets
+of four 32nds are joined, as if they were 8th notes.
+
+
+
+" }
+
+\relative {
+ #(override-auto-beam-setting '(end * * * *) 1 4)
+ f32 g a b b a g f
+
+ f32 g a
+ \set stemRightBeamCount = #1 b
+ \set stemLeftBeamCount = #1 b
+ a g f
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+If you have multiple voices in a single staff and you want a single
+ambitus per staff rather than per voice, add the
+@code{Ambitus_engraver} to the @code{Staff} context rather than to the
+@code{Voice} context.
+
+This example uses one advanced feature,
+
+
+@code{ \\override Ambitus #'X-offset = #-1.0 }
+
+
+
+This code moves the ambitus to the left. The same effect could have
+been achieved with @code{extra-offset}, but then the formatting system
+would not reserve space for the moved object.
+
+
+
+" }
+
+\new Staff \with {
+ \consists "Ambitus_engraver"
+}
+<<
+ \new Voice \with {
+ \remove "Ambitus_engraver"
+ } \relative c'' {
+ \override Ambitus #'X-offset = #-1.0
+ \voiceOne
+ c4 a d e f2
+ }
+ \new Voice \with {
+ \remove "Ambitus_engraver"
+ } \relative c' {
+ \voiceTwo
+ es4 f g as b2
+ }
+>>
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: ancient-notation
+\version "2.11.35"
+
+\header { texidoc = "
+Here are shown many (all?) of the symbols that are included in
+LilyPond's support of ancient notation.
+
+
+" }
+
+upperStaff = \context GregorianStaff = "upperStaff" <<
+ \context GregorianVoice <<
+ \set Score.timing = ##f
+% \set Score.forceAccidental = ##t %%%%%%%% FIXME: what happened to this property?
+
+ \override Staff.StaffSymbol #'line-count = #4
+
+ \transpose c c {
+ \override Staff.KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+ \override Staff.Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+ \override NoteHead #'style = #'vaticana.punctum
+ \key es \major
+ \clef "vaticana-fa2"
+ c!1 des! e! f! ges!
+
+ \override NoteHead #'style = #'vaticana.inclinatum
+ a! b! ces'
+ \override Staff.BarLine #'bar-size = #3.0 \bar "|"
+% \break % 1 (8*1)
+
+ \override NoteHead #'style = #'vaticana.quilisma
+ b! des'! ges! fes!
+ \breathe
+ \clef "vaticana-fa1"
+ \override NoteHead #'style = #'vaticana.plica
+ es d
+ \override NoteHead #'style = #'vaticana.reverse-plica
+ c d
+ \override Staff.BarLine #'bar-size = #3.0 \bar "|"
+% \break %2 (8*1)
+
+ \override NoteHead #'style = #'vaticana.punctum-cavum
+ es f
+ \override NoteHead #'style = #'vaticana.lpes
+ g as
+ \override NoteHead #'style = #'vaticana.upes
+ bes as
+ \override NoteHead #'style = #'vaticana.vupes
+ g f
+ \override NoteHead #'style = #'vaticana.linea-punctum
+ \override Staff.BarLine #'bar-size = #2.0 \bar "|"
+% \break % 3 (8*1)
+
+ es d
+ \override NoteHead #'style = #'vaticana.epiphonus
+ c d
+ \override NoteHead #'style = #'vaticana.cephalicus
+ es f
+
+ \override Staff.KeySignature #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
+ \override Staff.Accidental #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
+ \override Staff.Custos #'style = #'medicaea
+ \override NoteHead #'style = #'medicaea.punctum
+ \clef "medicaea-fa2"
+ ces! des!
+ \override Staff.BarLine #'bar-size = #3.0 \bar "|"
+% \break % 4 (8*1)
+
+ e! f! ges!
+ \clef "medicaea-do2"
+ \override NoteHead #'style = #'medicaea.inclinatum
+ a! b! ces'!
+ \override NoteHead #'style = #'medicaea.virga
+ b! a!
+ \override Staff.BarLine #'bar-size = #3.0 \bar "|"
+% \break % 5 (8*1)
+
+ ges! fes!
+ \clef "medicaea-fa1"
+ \override NoteHead #'style = #'medicaea.rvirga
+ e! des! ces!
+
+ \override Staff.KeySignature #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
+ \override Staff.Accidental #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
+ \override Staff.Custos #'style = #'hufnagel
+ \override NoteHead #'style = #'hufnagel.punctum
+ \clef "hufnagel-fa2"
+ ces! des! es!
+ \override Staff.BarLine #'bar-size = #3.0 \bar "|"
+% \break % 6 (8*1)
+
+ fes! ges!
+ \clef "hufnagel-do2"
+ \override NoteHead #'style = #'hufnagel.lpes
+ as! bes! ces'!
+ \override NoteHead #'style = #'hufnagel.virga
+ bes! as!
+ \override Staff.BarLine #'bar-size = #3.0 \bar "|"
+% \break % 7 (8*1)
+
+ ges! fes!
+ \clef "hufnagel-do-fa"
+ \override NoteHead #'style = #'hufnagel.punctum
+ es! des! ces! des! es! fes!
+ \bar "||"
+% \break % 8 (8*1)
+
+ s32*1
+% \break % 12 (32*1)
+ }
+ >>
+>>
+
+lowerStaff = \context MensuralStaff = "lowerStaff" <<
+ \context MensuralVoice <<
+
+ % this is broken until further notice -- see refman
+ % \override Staff.StaffSymbol #'line-count = #5
+ \applyOutput #'Staff #(outputproperty-compatibility (make-type-checker 'staff-symbol-interface) 'line-count 5)
+
+ \transpose c c {
+ \set autoBeaming = ##f
+ \override NoteHead #'style = #'neomensural
+ \override Rest #'style = #'neomensural
+ \key a \major
+
+% FIXME: lily crashes on some (invalid?) ligatures with:
+% ERROR: In procedure gh_scm2int:
+% ERROR: Wrong type argument in position 1: ()
+
+% FIXME: lily emits "Programming error: Infinity or NaN encountered"
+% on many ligatures such as BB.
+
+ cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
+ \set Staff.forceClef = ##t
+ \clef "neomensural-c2"
+ cis1
+ \bar "|"
+% \break % 2 (16*1)
+
+ \[ g\breve dis''\longa \]
+ b\breve \[ a\longa d\longa \]
+ \clef "petrucci-c2"
+% \break % 4 (16*1)
+
+ fis1 ces1
+ \clef "petrucci-c2"
+ r\longa
+ \set Staff.forceClef = ##t
+ \clef "mensural-c2"
+ r\breve
+ \bar "|"
+% \break % 5 (8*1)
+
+ r2
+ \clef "mensural-g"
+ r4 r8 r16 r16
+ \override NoteHead #'style = #'mensural
+ \override Stem #'flag-style = #'mensural
+ \override Stem #'thickness = #1.0
+ \override Rest #'style = #'mensural
+ \clef "petrucci-f"
+ c8 b, c16 b, c32 b, c64 b, c64 b,
+ d8 e d16 e d32 e d64 e d64 e
+ r\longa
+ \set Staff.forceClef = ##t
+ \clef "petrucci-f"
+ r\breve
+ \bar "|"
+% \break % 6 (8*1)
+
+ r\breve
+ \clef "mensural-f"
+ % FIXME: must set Stem flag-style to #'neomensural to avoid
+ % segmentation fault on r8/r16/r32. (Strange: what has
+ % Stem flag-style to do with mensural rests?)
+ \override Stem #'flag-style = #'neomensural
+ % FIXME: produces warnings about "flag `neomensurald4' (or 3) not found".
+ r2 r4 r8 r16 r16
+ \override Stem #'flag-style = #'mensural
+ \set Staff.forceClef = ##t
+ \clef "mensural-f"
+ e\breve f g a1
+ \clef "mensural-g"
+% \break % 7 (8*1)
+
+ \[ bes'!\longa a'!\longa c''!\longa \]
+ e'1 d' c' d' \bar "|"
+ \bar "|"
+% \break % 9 (16*1)
+
+ bes'!\longa fis'!1 as'!1 ges'!\longa % lig
+ \set Staff.forceClef = ##t
+ \clef "mensural-g"
+ e'2 d' c' \bar "|"
+% \break % 11 (16*1)
+
+ \set Staff.forceClef = ##t
+ \clef "petrucci-g"
+ c'2 d' e' f'
+ \clef "petrucci-g"
+ g' as'! bes'! cis''!
+ bes'! as'! gis'! fis'!
+ \set Staff.forceClef = ##t
+ \clef "mensural-g"
+ es'! des'! cis'!1 \bar "||"
+% \break % 12 (8*1)
+ }
+ >>
+>>
+
+\paper {
+ line-thickness = #(/ staff-space 5.0)
+}
+
+\score {
+ \context Score <<
+ \upperStaff
+ \lowerStaff
+ >>
+ \layout {
+% do we want to keep these settings? -gp
+ line-width = 17.25\cm
+ textheight = 26.0\cm
+ indent = 0.0
+ \context {
+ \Score
+ \accepts MensuralStaff
+ \accepts GregorianStaff
+% timing = ##f %%%%%%%% FIXME: this has no effect
+ }
+ \context {
+ \Voice
+ \name MensuralVoice
+ \alias Voice
+ \remove Ligature_bracket_engraver
+ \consists Mensural_ligature_engraver
+ \override NoteHead #'style = #'mensural
+% \override Stem #'flag-style = #'mensural %%%%%%%% FIXME: this core dumps
+ \override Stem #'thickness = #1.0
+ \override Rest #'style = #'mensural
+ autoBeaming = ##f
+ }
+ \context {
+ \Voice
+ \name GregorianVoice
+ \alias Voice
+ \remove Ligature_bracket_engraver
+% \consists Gregorian_ligature_engraver %%%%%%%% TODO: not yet implemented
+ \override NoteHead #'style = #'vaticana.punctum
+ autoBeaming = ##f
+ }
+ \context {
+ \Staff
+ \name MensuralStaff
+ \alias Staff
+ \accepts MensuralVoice
+ \consists Custos_engraver
+ \override TimeSignature #'style = #'mensural
+ \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
+ \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
+ \override Custos #'style = #'mensural
+ \override Custos #'neutral-position = #3
+ \override Custos #'neutral-direction = #-1
+ clefGlyph = #"clefs.petrucci-c2"
+ clefPosition = #-2
+ clefOctavation = #0
+ }
+ \context {
+ \Staff
+ \name GregorianStaff
+ \alias Staff
+ \accepts GregorianVoice
+ \consists Custos_engraver
+ \remove Time_signature_engraver
+ \override StaffSymbol #'thickness = #2.0
+ \override StaffSymbol #'line-count = #4
+ \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+ \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+ \override Custos #'style = #'vaticana
+ \override Custos #'neutral-position = #4
+ \override Custos #'neutral-direction = #-1
+ clefGlyph = #"clefs.vaticana-do"
+ clefPosition = #1
+ clefOctavation = #0
+ }
+ \context {
+ \RemoveEmptyStaffContext
+ \accepts MensuralVoice
+ \accepts GregorianVoice
+ }
+ }
+}
+
+
--- /dev/null
+@node Ancient notation
+@unnumbered Ancient notation
+
+@lysnippets
+
--- /dev/null
+ancient-fonts.ly
+adding-a-figured-bass-above-or-below-the-notes.ly
+chant-or-psalms-notation.ly
+ancient-time-signatures.ly
+custodes.ly
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: ancient-notation
+\version "2.11.35"
+
+\header { texidoc = "
+Time signatures may also be engraved in an old style.
+
+
+" }
+
+\score {
+ {
+ \override Staff.TimeSignature #'style = #'neomensural
+ s1
+ }
+ \layout {raggedright = ##t}
+}
+
+
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-When writing a figured bass, here's a way to specify if you want your
-figures to be placed above or below the bass notes, by defining the
-BassFigureAlignmentPositioning #'direction property (exclusively in a
-Staff context). Choices are #UP (or #1), #CENTER (or #0) and #DOWN (or
-#-1).
-
-As you can see here, this property can be changed as many times as you
-wish. Use \\once \\override if you dont want the tweak to apply to the
-whole score.
-" }
-
-bass = { \clef bass g4 b, c d e d8 c d2}
-continuo = \figuremode {
- < _ >4 < 6 >8
- \once \override Staff.BassFigureAlignmentPositioning #'direction = #CENTER
- <5/> < _ >4
- \override Staff.BassFigureAlignmentPositioning #'direction = #UP
- < _+ > < 6 >
- \set Staff.useBassFigureExtenders = ##t
- \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
- < 4 >4. < 4 >8 < _+ >4
- }
-\score {
- << \new Staff = bassStaff \bass
- \context Staff = bassStaff \continuo >>
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Here are shown many (all?) of the symbols that are included in
-LilyPond's support of ancient notation.
-
-
-" }
-
-upperStaff = \context GregorianStaff = "upperStaff" <<
- \context GregorianVoice <<
- \set Score.timing = ##f
-% \set Score.forceAccidental = ##t %%%%%%%% FIXME: what happened to this property?
-
- \override Staff.StaffSymbol #'line-count = #4
-
- \transpose c c {
- \override Staff.KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
- \override Staff.Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
- \override NoteHead #'style = #'vaticana.punctum
- \key es \major
- \clef "vaticana-fa2"
- c!1 des! e! f! ges!
-
- \override NoteHead #'style = #'vaticana.inclinatum
- a! b! ces'
- \override Staff.BarLine #'bar-size = #3.0 \bar "|"
-% \break % 1 (8*1)
-
- \override NoteHead #'style = #'vaticana.quilisma
- b! des'! ges! fes!
- \breathe
- \clef "vaticana-fa1"
- \override NoteHead #'style = #'vaticana.plica
- es d
- \override NoteHead #'style = #'vaticana.reverse-plica
- c d
- \override Staff.BarLine #'bar-size = #3.0 \bar "|"
-% \break %2 (8*1)
-
- \override NoteHead #'style = #'vaticana.punctum-cavum
- es f
- \override NoteHead #'style = #'vaticana.lpes
- g as
- \override NoteHead #'style = #'vaticana.upes
- bes as
- \override NoteHead #'style = #'vaticana.vupes
- g f
- \override NoteHead #'style = #'vaticana.linea-punctum
- \override Staff.BarLine #'bar-size = #2.0 \bar "|"
-% \break % 3 (8*1)
-
- es d
- \override NoteHead #'style = #'vaticana.epiphonus
- c d
- \override NoteHead #'style = #'vaticana.cephalicus
- es f
-
- \override Staff.KeySignature #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
- \override Staff.Accidental #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
- \override Staff.Custos #'style = #'medicaea
- \override NoteHead #'style = #'medicaea.punctum
- \clef "medicaea-fa2"
- ces! des!
- \override Staff.BarLine #'bar-size = #3.0 \bar "|"
-% \break % 4 (8*1)
-
- e! f! ges!
- \clef "medicaea-do2"
- \override NoteHead #'style = #'medicaea.inclinatum
- a! b! ces'!
- \override NoteHead #'style = #'medicaea.virga
- b! a!
- \override Staff.BarLine #'bar-size = #3.0 \bar "|"
-% \break % 5 (8*1)
-
- ges! fes!
- \clef "medicaea-fa1"
- \override NoteHead #'style = #'medicaea.rvirga
- e! des! ces!
-
- \override Staff.KeySignature #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
- \override Staff.Accidental #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
- \override Staff.Custos #'style = #'hufnagel
- \override NoteHead #'style = #'hufnagel.punctum
- \clef "hufnagel-fa2"
- ces! des! es!
- \override Staff.BarLine #'bar-size = #3.0 \bar "|"
-% \break % 6 (8*1)
-
- fes! ges!
- \clef "hufnagel-do2"
- \override NoteHead #'style = #'hufnagel.lpes
- as! bes! ces'!
- \override NoteHead #'style = #'hufnagel.virga
- bes! as!
- \override Staff.BarLine #'bar-size = #3.0 \bar "|"
-% \break % 7 (8*1)
-
- ges! fes!
- \clef "hufnagel-do-fa"
- \override NoteHead #'style = #'hufnagel.punctum
- es! des! ces! des! es! fes!
- \bar "||"
-% \break % 8 (8*1)
-
- s32*1
-% \break % 12 (32*1)
- }
- >>
->>
-
-lowerStaff = \context MensuralStaff = "lowerStaff" <<
- \context MensuralVoice <<
-
- % this is broken until further notice -- see refman
- % \override Staff.StaffSymbol #'line-count = #5
- \applyOutput #'Staff #(outputproperty-compatibility (make-type-checker 'staff-symbol-interface) 'line-count 5)
-
- \transpose c c {
- \set autoBeaming = ##f
- \override NoteHead #'style = #'neomensural
- \override Rest #'style = #'neomensural
- \key a \major
-
-% FIXME: lily crashes on some (invalid?) ligatures with:
-% ERROR: In procedure gh_scm2int:
-% ERROR: Wrong type argument in position 1: ()
-
-% FIXME: lily emits "Programming error: Infinity or NaN encountered"
-% on many ligatures such as BB.
-
- cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
- \set Staff.forceClef = ##t
- \clef "neomensural-c2"
- cis1
- \bar "|"
-% \break % 2 (16*1)
-
- \[ g\breve dis''\longa \]
- b\breve \[ a\longa d\longa \]
- \clef "petrucci-c2"
-% \break % 4 (16*1)
-
- fis1 ces1
- \clef "petrucci-c2"
- r\longa
- \set Staff.forceClef = ##t
- \clef "mensural-c2"
- r\breve
- \bar "|"
-% \break % 5 (8*1)
-
- r2
- \clef "mensural-g"
- r4 r8 r16 r16
- \override NoteHead #'style = #'mensural
- \override Stem #'flag-style = #'mensural
- \override Stem #'thickness = #1.0
- \override Rest #'style = #'mensural
- \clef "petrucci-f"
- c8 b, c16 b, c32 b, c64 b, c64 b,
- d8 e d16 e d32 e d64 e d64 e
- r\longa
- \set Staff.forceClef = ##t
- \clef "petrucci-f"
- r\breve
- \bar "|"
-% \break % 6 (8*1)
-
- r\breve
- \clef "mensural-f"
- % FIXME: must set Stem flag-style to #'neomensural to avoid
- % segmentation fault on r8/r16/r32. (Strange: what has
- % Stem flag-style to do with mensural rests?)
- \override Stem #'flag-style = #'neomensural
- % FIXME: produces warnings about "flag `neomensurald4' (or 3) not found".
- r2 r4 r8 r16 r16
- \override Stem #'flag-style = #'mensural
- \set Staff.forceClef = ##t
- \clef "mensural-f"
- e\breve f g a1
- \clef "mensural-g"
-% \break % 7 (8*1)
-
- \[ bes'!\longa a'!\longa c''!\longa \]
- e'1 d' c' d' \bar "|"
- \bar "|"
-% \break % 9 (16*1)
-
- bes'!\longa fis'!1 as'!1 ges'!\longa % lig
- \set Staff.forceClef = ##t
- \clef "mensural-g"
- e'2 d' c' \bar "|"
-% \break % 11 (16*1)
-
- \set Staff.forceClef = ##t
- \clef "petrucci-g"
- c'2 d' e' f'
- \clef "petrucci-g"
- g' as'! bes'! cis''!
- bes'! as'! gis'! fis'!
- \set Staff.forceClef = ##t
- \clef "mensural-g"
- es'! des'! cis'!1 \bar "||"
-% \break % 12 (8*1)
- }
- >>
->>
-
-\paper {
- line-thickness = #(/ staff-space 5.0)
-}
-
-\score {
- \context Score <<
- \upperStaff
- \lowerStaff
- >>
- \layout {
-% do we want to keep these settings? -gp
- line-width = 17.25\cm
- textheight = 26.0\cm
- indent = 0.0
- \context {
- \Score
- \accepts MensuralStaff
- \accepts GregorianStaff
-% timing = ##f %%%%%%%% FIXME: this has no effect
- }
- \context {
- \Voice
- \name MensuralVoice
- \alias Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
- \override NoteHead #'style = #'mensural
-% \override Stem #'flag-style = #'mensural %%%%%%%% FIXME: this core dumps
- \override Stem #'thickness = #1.0
- \override Rest #'style = #'mensural
- autoBeaming = ##f
- }
- \context {
- \Voice
- \name GregorianVoice
- \alias Voice
- \remove Ligature_bracket_engraver
-% \consists Gregorian_ligature_engraver %%%%%%%% TODO: not yet implemented
- \override NoteHead #'style = #'vaticana.punctum
- autoBeaming = ##f
- }
- \context {
- \Staff
- \name MensuralStaff
- \alias Staff
- \accepts MensuralVoice
- \consists Custos_engraver
- \override TimeSignature #'style = #'mensural
- \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
- \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
- \override Custos #'style = #'mensural
- \override Custos #'neutral-position = #3
- \override Custos #'neutral-direction = #-1
- clefGlyph = #"clefs.petrucci-c2"
- clefPosition = #-2
- clefOctavation = #0
- }
- \context {
- \Staff
- \name GregorianStaff
- \alias Staff
- \accepts GregorianVoice
- \consists Custos_engraver
- \remove Time_signature_engraver
- \override StaffSymbol #'thickness = #2.0
- \override StaffSymbol #'line-count = #4
- \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
- \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
- \override Custos #'style = #'vaticana
- \override Custos #'neutral-position = #4
- \override Custos #'neutral-direction = #-1
- clefGlyph = #"clefs.vaticana-do"
- clefPosition = #1
- clefOctavation = #0
- }
- \context {
- \RemoveEmptyStaffContext
- \accepts MensuralVoice
- \accepts GregorianVoice
- }
- }
-}
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Time signatures may also be engraved in an old style.
-
-
-" }
-
-\score {
- {
- \override Staff.TimeSignature #'style = #'neomensural
- s1
- }
- \layout {raggedright = ##t}
-}
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This form of notation is used for the chant of the Psalms, where verses
-aren't always the same length.
-" }
-
-stemon = { \override Staff.Stem #'transparent = ##f }
-stemoff = { \override Staff.Stem #'transparent = ##t }
-
-\score {
-\new Staff \with {\remove "Time_signature_engraver" }
-{
- \key g \minor
- \set Score.timing = ##f
- \stemoff a'\breve bes'4 g'4
- \stemon a'2 \bar "||"
- \stemoff a'\breve g'4 a'4
- \stemon f'2 \bar "||"
- \stemoff a'\breve^\markup { \italic flexe }
- \stemon g'2 \bar "||"
-}
-\layout { raggedright = ##t}
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Custodes may be engraved in various styles.
-" }
-
-\layout {
- \context {
- \Staff
- \consists Custos_engraver
- }
- ragged-right = ##t
-}
-
-{
- \override Staff.Custos #'neutral-position = #4
-
- \override Staff.Custos #'style = #'hufnagel
- c'1^"hufnagel"
- \break < d' a' f''>1
-
- \override Staff.Custos #'style = #'medicaea
- c'1^"medicaea"
- \break < d' a' f''>1
-
- \override Staff.Custos #'style = #'vaticana
- c'1^"vaticana"
- \break < d' a' f''>1
-
- \override Staff.Custos #'style = #'mensural
- c'1^"mensural"
- \break < d' a' f''>1
-}
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: other
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+The shapeNoteStyles property gives you the ability to define various
+note heads styles for each step of the scale (as defined by the key
+signature or the \"tonic\" property).
+
+This property requires a set of symbols, which can be purely arbitrary
+(geometrical expressions such as triangle, cross, xcircle etc. are
+allowed) or based on old American engraving tradition (you can use some
+latin note names as well).
+
+That said, if you're trying to imitate old American song books, you may
+also want to try LilyPond's predefined note heads styles, through
+shortcut commands such as \aikenHeads or \sacredHarpHeads.
+
+This exemple shows different ways to obtain shape note heads, and
+demonstrates the ability to transpose a melody without losing the
+correspondance between harmonic functions and note heads styles.
+" }
+
+fragment = {
+ \key c \major
+ c1 d e f g a b c
+ \break
+}
+
+\relative {
+ \set shapeNoteStyles = ##(do re mi fa #f la ti)
+ \fragment
+}
+
+% temporary change help LSR integration -gp
+%{
+\transpose c d
+ \relative {
+ \set shapeNoteStyles = ##(do re mi fa #f la ti)
+ \fragment
+}
+
+\relative {
+ \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
+ \fragment
+}
+%}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+Lilypond can subdivide beams automatically. Set the property
+subdivideBeams, and beams are subdivided at beat positions (as
+specified in beat length)
+" }
+
+\relative{ b'32^"default"[ a g f c' b a g f e d' c b a g f ]
+ \set subdivideBeams = ##t
+ b32^"subdivision enabled"[ a g f c' b a g f e d' c b a g f ]
+ \set Score.beatLength = #(ly:make-moment 1 8)
+ b32^"beatLength 1 8"[ a g f c' b a g f e d' c b a g f ]
+ \set Score.beatLength = #(ly:make-moment 1 16)
+ b32^"beatLength 1 16"[ a g f c' b a g f e d' c b a g f ]
+ }
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+In time signature 2/2 or 4/4 the beam are @code{ _____
+ _ _ Default | | | | I want | | | |. } Use a \"macro\" with
+#(override-auto-beam-setting '.....
+
+
+
+" }
+
+% Automatic beams two per two in 4/4 or 2/2 time signature
+% _____
+% Default | | | |
+% _ _
+% I want | | | |
+
+% The good way adapted from David Bobrof
+
+% macro for beamed two per two in 2/2 and 4/4 time signature
+qbeam={
+ #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
+ #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
+ #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff)
+ }
+% other macros
+timeFractionstyle={ \override Staff.TimeSignature #'style = #'()}
+textn = ^\markup{ without the macro }
+texty = ^\markup{ with the macro }
+
+\score {
+ <<
+ \new Staff << \relative c'' {
+ \timeFractionstyle
+ \time 4/4
+ g8\textn g g g g g g g g g g g4 g8 g g
+ }
+ >>
+
+ %Use the macro
+
+ \new Staff << \relative c'' {
+ \timeFractionstyle
+ \time 4/4
+ \qbeam
+ g8\texty g g g g g g g g g g g4 g8 g g
+ }
+ >>
+ >>
+\layout{ raggedright = ##t }
+}
--- /dev/null
+@node Bagpipes
+@unnumbered Bagpipes
+
+@lysnippets
+
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+By default, beams can't be printed across line breaks. Here's a way to
+force the line break, by setting the @code{#'breakable} property. See
+also in the manual the \"Line Breaking\" and \"Manual beams\" sections.
+" }
+
+\layout { ragged-right= ##t }
+
+\relative c'' {
+ \override Score.Beam #'breakable = ##t
+ \time 3/16 c16-[ d e \break f-]
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: editorial-and-educational-use, text
+\version "2.11.35"
+
+\header { texidoc = "
+The \\whiteout command underlays a white box under a markup. Since
+staff lines are in a lower layer than most other grobs, this white box
+will not overlap any other grob.
+" }
+
+\paper
+{
+ ragged-right = ##t
+}
+{
+ \override TextScript #'extra-offset = #'(2 . 4)
+ c'4-\markup { \whiteout \pad-markup #0.5 foo } c
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+Breathing signs are available in different tastes: commas (default),
+ticks, vees and `railroad tracks' (caesura).
+" }
+
+{
+ %% Modern notation:
+ \new Staff {
+ \relative c'' {
+ \key es \major \time 3/4
+
+ %% this bar contains no \breathe
+ <<
+ { g4 as g } \\
+ { es4 bes es }
+ >> |
+
+ %% by default, \breathe uses the rcomma, just as if saying:
+ %% \override BreathingSign #'text =
+ % #(make-musicglyph-markup "scripts.rcomma")
+ <<
+ { g4 as g } \\
+ { es4 \breathe bes es }
+ >> |
+
+ %% rvarcomma and lvarcomma are variations of the default rcomma
+ %% and lcomma
+
+ %% N.B.: must use Staff context here, since we start a Voice below
+ \override Staff.BreathingSign #'text =
+ #(make-musicglyph-markup "scripts.rvarcomma")
+ <<
+ { g4 as g } \\
+ { es4 \breathe bes es }
+ >> |
+
+ %% wedge
+ \override BreathingSign #'text =
+ #(make-musicglyph-markup "scripts.upbow")
+ es8 d es f g8 \breathe f |
+
+ %% caesura
+ \override BreathingSign #'text =
+ #(make-musicglyph-markup "scripts.caesura.curved")
+ es8[ d] \breathe es[ f g f] |
+ es2 r4 \bar "||" \break
+ }
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+In order to make parts of a crescendo hairpin invisible, the following
+method is used: A white rectangle is drawn on top of the respective
+part of the crescendo hairpin, making it invisible. the rectangle is
+defined as postscript code within a text markup. In order to fine tune
+the position and size of the markup, the number preceding the
+\"setgray\" in the postscript definition can be set to a value <1
+making it grey. The two numbes before the \"scale\" in the postscript
+code are responsible for the width and height of the rectangle, the two
+numbers before the \"translate\" change the x- and y-origin of the
+rectangle. Make sure to put the Hairpin in a lower layer than the Text
+Markup to actually draw the rectangle above the hairpin.
+" }
+
+\score
+{
+ \relative c' {
+ << {
+ \dynamicUp
+ \override DynamicLineSpanner #'staff-padding = #4
+ r2 r16 c'8.\pp r4
+ } \\ {
+ \override DynamicLineSpanner #'layer = #0
+ des,2~\mf \<
+ \override TextScript #'layer = #2
+ des16_\markup { \postscript #"1.9 -4.5 translate 5 4 scale 1 setgray 0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto 0 0 lineto fill" }
+ r8. des4~ des16-> \sff
+ }
+ >>
+ }
+ \layout { ragged-right = ##t}
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+A caesura is sometimes denoted with a double \"railtracks\" breath mark
+with a fermata sign positioned over the top of the railtracks. This
+snippet should present an optically pleasing combination of railtracks
+and a fermata.
+" }
+
+{
+ \context Voice {
+ c''2.
+ % use some scheme code to construct the symbol
+ \override BreathingSign #'text = #(markup #:line
+ (#:musicglyph "scripts.caesura.curved"
+ #:translate (cons -1.75 1.6)
+ #:musicglyph "scripts.ufermata"
+ ))
+ \breathe c''4
+ % set the breathe mark back to normal
+ \revert BreathingSign #'text
+ c''2. \breathe c''4
+ \bar "|."
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks, text
+\version "2.11.35"
+
+\header { texidoc = "
+This example provides a function to typeset hairpin (de)crescendo with
+some additional text below it, such as \"molto\" or \"poco\".
+
+The example also illustrates how to use modify the way an object
+normally is printed, using some Scheme code.
+" }
+
+hairpinWithCenteredText = #(define-music-function
+ (parser location text) (markup?)
+#{
+\override Voice.Hairpin #'stencil = #(lambda (grob)
+ (ly:stencil-aligned-to
+ (ly:stencil-combine-at-edge
+ (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
+ Y
+ DOWN
+ (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
+ X LEFT))
+\override Voice.Hairpin #'text = $text
+#})
+
+
+hairpinMolto = \hairpinWithCenteredText \markup {\italic "molto"}
+hairpinMore = \hairpinWithCenteredText \markup {\bigger "moltissimo"}
+
+\new Staff {
+ \hairpinMolto c'2\< c'2\f
+ \hairpinMore c'2\< c'2\f
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+To make the \\flageolet circle smaller you can use the following scheme
+code (found in the Lilypond-user-archive)
+" }
+
+F = #(let ((m (make-music 'ArticulationEvent
+ 'articulation-type "flageolet")))
+ (set! (ly:music-property m 'tweaks)
+ (acons 'font-size -3
+ (ly:music-property m 'tweaks)))
+ m)
+
+\relative c'' { d4^\flageolet_\markup {"orginal \flageolet "} d4_\flageolet
+ c4^\F_\markup {smaller } c4_\F
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: simultaneous-notes, editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+Individual noteheads in a chord can be modified with the @code{\\tweak}
+command inside a chord, by altering the @code{'font-size} property.
+
+
+Inside the chord (within the brackets @code{< >}), before the note to
+be altered, place the @code{\\tweak} command, followed by
+@code{#'font-size} and define the proper size like @code{#-2} (a tiny
+notehead).
+
+
+The code for the chord example shown: @code{}
+" }
+
+\header{
+ title = "Modify an individual notehead's size in a chord"
+}
+
+Notes = \relative {
+ <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup{A tiny e}_\markup{A big c}
+}
+
+\score{
+ \Notes
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks, editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+The appearance of slurs may be changed from solid to dotted or dashed.
+
+
+" }
+
+\score{
+ \relative c'{
+ c( d e c) |
+ \slurDotted
+ c( d e c) |
+ \slurSolid
+ c( d e c) |
+ \slurDashed
+ c( d e c) |
+ \slurSolid
+ c( d e c) |
+ }
+ \layout{ raggedright=##t }
+}
+
+
+
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: chords
+\version "2.11.35"
+
+\header { texidoc = "
+The english naming of chords (default) can be changed to german
+(@code{\\germanChords} replaces B and Bes to H and B) or semi-german
+(@code{\\semiGermanChords} replaces B and Bes to H and Bb).
+
+
+
+" }
+
+music = \chordmode {
+ c1/c cis/cis
+ b/b bis/bis bes/bes
+}
+
+%% The following is only here to print the names of the
+%% chords styles; it can be removed if you do not need to
+%% print them.
+
+\layout {
+ \context {\ChordNames \consists Instrument_name_engraver }
+}
+
+<<
+ \new ChordNames {
+ \set ChordNames.instrumentName = #"default"
+ \music
+ }
+ \new ChordNames {
+ \set ChordNames.instrumentName = #"german"
+ \germanChords \music }
+ \new ChordNames {
+ \set ChordNames.instrumentName = #"semi-german"
+ \semiGermanChords \music }
+ \context Voice { \music }
+>>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: editorial-and-educational-use, text
+\version "2.11.35"
+
+\header { texidoc = "
+The default font families for text can be overridden with
+@code{make-pango-font-tree}.
+" }
+
+\paper {
+ % change for other default global staff size.
+ myStaffSize = #20
+ %{
+ run
+ lilypond -dshow-available-fonts blabla
+ to show all fonts available in the process log.
+ %}
+
+ #(define fonts
+ (make-pango-font-tree "Times New Roman"
+ "Nimbus Sans"
+ "Luxi Mono"
+;; "Helvetica"
+;; "Courier"
+ (/ myStaffSize 20)))
+}
+
+\relative {
+ c'^\markup {
+ roman: foo \bold bla \italic bar \italic \bold baz
+ }
+ c'_\markup {
+ \override #'(font-family . sans)
+ {
+ sans: foo \bold bla \italic bar \italic \bold baz
+ }
+ }
+ c'^\markup {
+ \override #'(font-family . typewriter)
+ {
+ mono: foo \bold bla \italic bar \italic \bold baz
+ }
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: staff-notation
+\version "2.11.35"
+
+\header { texidoc = "
+The number of lines in a staff may changed by overriding
+@code{line-count} in the properties of @code{StaffSymbol}.
+
+
+" }
+
+upper = \relative c'' {
+ c1 d e f
+}
+
+lower = \relative c {
+ c1 b a g
+}
+
+\score {
+ \context PianoStaff <<
+ \new Staff <<
+ \upper
+ >>
+ \new Staff {
+ \override Staff.StaffSymbol #'line-count = #4
+ \clef bass
+ \lower
+ }
+ >>
+
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: staff-notation
+\version "2.11.35"
+
+\header { texidoc = "
+In order to change staff sizes, both @code{staff-space} and
+@code{fontSize} must be scaled.
+" }
+
+{
+ \new Staff \relative c'' { \dynamicDown c8 \ff c c c c c c c }
+}
+
+{
+ \new Staff \with {
+ fontSize = #-3
+ \override StaffSymbol #'staff-space = #(magstep -3)
+ } {
+ \clef bass
+ c8 c c c c c c c
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+The measureLength variable, together with measurePosition, determines
+when a barline is needed. However, when using \\compressMusic, the
+scaling of durations makes it difficult to change time signatures
+without making a mess of it.
+
+Therefore, measureLength has to be set manually, using the
+ly:make-moment callback. The second argument has to be the same as the
+second argument of \\compressMusic.
+" }
+
+\layout {
+ \context { \Score
+ \remove "Timing_translator"
+ \remove "Default_bar_line_engraver"
+ }
+ \context {
+ \Staff
+ \consists "Timing_translator"
+ \consists "Default_bar_line_engraver"
+ }
+}
+
+<<
+ \new Staff {
+ \compressMusic #'( 8 . 5 ) {
+ \time 6/8
+ \set Timing.measureLength = #(ly:make-moment 3 5)
+ b8 b b b b b
+ \time 2/4
+ \set Timing.measureLength = #(ly:make-moment 2 5)
+ b4 b
+ }
+ }
+ \new Staff {
+ \clef bass
+ \time 2/4
+ c2 d e f }
+ >>
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms, vocal-music, ancient-notation
+\version "2.11.35"
+
+\header { texidoc = "
+This form of notation is used for the chant of the Psalms, where verses
+aren't always the same length.
+" }
+
+stemon = { \override Staff.Stem #'transparent = ##f }
+stemoff = { \override Staff.Stem #'transparent = ##t }
+
+\score {
+\new Staff \with {\remove "Time_signature_engraver" }
+{
+ \key g \minor
+ \set Score.timing = ##f
+ \stemoff a'\breve bes'4 g'4
+ \stemon a'2 \bar "||"
+ \stemoff a'\breve g'4 a'4
+ \stemon f'2 \bar "||"
+ \stemoff a'\breve^\markup { \italic flexe }
+ \stemon g'2 \bar "||"
+}
+\layout { raggedright = ##t}
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: chords
+\version "2.11.35"
+
+\header { texidoc = "
+The property @code{chordNameExceptions} can used to store a list of
+special notations for specific chords.
+" }
+
+% 7sus4 denoted with ^7 wahh
+chExceptionMusic = {
+ <c f g bes>1-\markup { \super "7" "wahh" }
+}
+
+% add to existing exceptions.
+chExceptions = #(append
+ (sequential-music-to-chord-exceptions chExceptionMusic #t)
+ ignatzekExceptions)
+
+theMusic = \chordmode {
+ c:7sus4 c:dim7/+f
+ \set chordNameExceptions = #chExceptions
+ c:7sus4 c:dim7/+f
+}
+
+\layout {
+ ragged-right = ##t
+}
+
+<< \context ChordNames \theMusic
+ \context Voice \theMusic
+>>
+
--- /dev/null
+@node Chords
+@unnumbered Chords
+
+@lysnippets
+
--- /dev/null
+chord-name-exceptions.ly
+changing-the-chord-names-to-german-or-semi-german-notation.ly
+adding-a-figured-bass-above-or-below-the-notes.ly
+clusters.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-When writing a figured bass, here's a way to specify if you want your
-figures to be placed above or below the bass notes, by defining the
-BassFigureAlignmentPositioning #'direction property (exclusively in a
-Staff context). Choices are #UP (or #1), #CENTER (or #0) and #DOWN (or
-#-1).
-
-As you can see here, this property can be changed as many times as you
-wish. Use \\once \\override if you dont want the tweak to apply to the
-whole score.
-" }
-
-bass = { \clef bass g4 b, c d e d8 c d2}
-continuo = \figuremode {
- < _ >4 < 6 >8
- \once \override Staff.BassFigureAlignmentPositioning #'direction = #CENTER
- <5/> < _ >4
- \override Staff.BassFigureAlignmentPositioning #'direction = #UP
- < _+ > < 6 >
- \set Staff.useBassFigureExtenders = ##t
- \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
- < 4 >4. < 4 >8 < _+ >4
- }
-\score {
- << \new Staff = bassStaff \bass
- \context Staff = bassStaff \continuo >>
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The english naming of chords (default) can be changed to german
-(@code{\\germanChords} replaces B and Bes to H and B) or semi-german
-(@code{\\semiGermanChords} replaces B and Bes to H and Bb).
-
-
-
-" }
-
-music = \chordmode {
- c1/c cis/cis
- b/b bis/bis bes/bes
-}
-
-%% The following is only here to print the names of the
-%% chords styles; it can be removed if you do not need to
-%% print them.
-
-\layout {
- \context {\ChordNames \consists Instrument_name_engraver }
-}
-
-<<
- \new ChordNames {
- \set ChordNames.instrumentName = #"default"
- \music
- }
- \new ChordNames {
- \set ChordNames.instrumentName = #"german"
- \germanChords \music }
- \new ChordNames {
- \set ChordNames.instrumentName = #"semi-german"
- \semiGermanChords \music }
- \context Voice { \music }
->>
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The property @code{chordNameExceptions} can used to store a list of
-special notations for specific chords.
-" }
-
-% 7sus4 denoted with ^7 wahh
-chExceptionMusic = {
- <c f g bes>1-\markup { \super "7" "wahh" }
-}
-
-% add to existing exceptions.
-chExceptions = #(append
- (sequential-music-to-chord-exceptions chExceptionMusic #t)
- ignatzekExceptions)
-
-theMusic = \chordmode {
- c:7sus4 c:dim7/+f
- \set chordNameExceptions = #chExceptions
- c:7sus4 c:dim7/+f
-}
-
-\layout {
- ragged-right = ##t
-}
-
-<< \context ChordNames \theMusic
- \context Voice \theMusic
->>
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Clusters are a device to denote that a complete range of notes is to be
-played.
-" }
-
-\layout {
- ragged-right = ##t
-}
-
-fragment = \relative c' {
- c4 f4 <e d'>4
- <g a>8 <e a> a4 c2 <d b>4 e4
- c4
-}
-
-<<
- \new Staff \fragment
- \new Staff \makeClusters \fragment
->>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches, staff-notation, editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+The command @code{\\clef \"treble_8\"} is equivalent to setting
+@code{clefGlyph}, @code{clefPosition} (which controls the Y position of
+the clef), @code{middleCPosition} and @code{clefOctavation}. A clef is
+printed when any of these properties are changed.
+
+
+Note that changing the glyph, the position of the clef, or the
+octavation, does not in itself change the position of subsequent notes
+on the staff: the position of middle C must also be specified to do
+this. The positional parameters are relative to the staff centre line,
+positive numbers displacing upwards, counting 1 for each line and
+space. The clefOctavation value would normally be set to 7, -7, 15 or
+-15, but other values are not invalid.
+
+
+When a clef change takes place at a line break the new clef symbol is
+printed at both the end of the previous line and the beginning of the
+new line by default. If the warning clef at the end of the previous
+line in not required it can be suppressed by setting the
+explicitClefVisibility Staff property to the value @code{
+end-of-line-invisible: \\set Staff.explicitClefVisibility =
+#end-of-line-invisible } The default behaviour can be recovered with
+@code{\\unset Staff.explicitClefVisibility}
+
+
+The following examples show the possibilities when setting these
+properties manually. On the first line, the manual changes preserve the
+standard relative positioning of clefs and notes, whereas on the second
+line, they do not.
+" }
+
+{
+ % The default treble clef
+ c'4
+ % The standard bass clef
+ \set Staff.clefGlyph = #"clefs.F"
+ \set Staff.clefPosition = #2
+ \set Staff.middleCPosition = #6
+ c'4
+ % The baritone clef
+ \set Staff.clefGlyph = #"clefs.C"
+ \set Staff.clefPosition = #4
+ \set Staff.middleCPosition = #4
+ c'4
+ % The standard choral tenor clef
+ \set Staff.clefGlyph = #"clefs.G"
+ \set Staff.clefPosition = #-2
+ \set Staff.clefOctavation = #-7
+ \set Staff.middleCPosition = #1
+ c'4
+ % A non-standard clef
+ \set Staff.clefPosition = #0
+ \set Staff.clefOctavation = #0
+ \set Staff.middleCPosition = #-4
+ c'4 \break
+
+ % The following clef changes do not preserve
+ % the normal relationship between notes and clefs:
+
+ \set Staff.clefGlyph = #"clefs.F"
+ \set Staff.clefPosition = #2
+ c'4
+ \set Staff.clefGlyph = #"clefs.G"
+ c'4
+ \set Staff.clefGlyph = #"clefs.C"
+ c'4
+ \set Staff.clefOctavation = #7
+ c'4
+ \set Staff.clefOctavation = #0
+ \set Staff.clefPosition = #0
+ c'4
+ \set Staff.middleCPosition = #4
+ c'4
+ }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: simultaneous-notes, chords, piano-music
+\version "2.11.35"
+
+\header { texidoc = "
+Clusters are a device to denote that a complete range of notes is to be
+played.
+" }
+
+\layout {
+ ragged-right = ##t
+}
+
+fragment = \relative c' {
+ c4 f4 <e d'>4
+ <g a>8 <e a> a4 c2 <d b>4 e4
+ c4
+}
+
+<<
+ \new Staff \fragment
+ \new Staff \makeClusters \fragment
+>>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+LilyPond gives you the ability to assign different colors to any grob
+in your score, such as NoteHeads, Alterations, Beams and so on, by
+simply overriding the #'color property and choosing your color (over
+200 colors are available, see the \"List of Colors\" Appendix in the
+Manual).
+" }
+
+\relative {
+ \override Accidental #'color = #darkgreen
+ \override Beam #'color = #cyan
+ \override NoteHead #'color = #darkyellow
+ c4
+ \override NoteHead #'color = #red
+ f
+ \override NoteHead #'color = #darkmagenta
+ g
+ \override NoteHead #'color = #darkblue
+ b
+ \override NoteHead #'color = #green
+ \override Stem #'color = #blue
+ e8 es d dis e4 r
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks, text
+\version "2.11.35"
+
+\header { texidoc = "
+Some dynamics may involve text indications (such as \"più forte\",
+\"piano subito\", etc.). They can be produced using a \\markup bloc.
+" }
+
+\layout{ragged-right = ##t}
+
+piuf = \markup { \italic "molto" \dynamic "f" }
+
+\relative c''{
+ c-\piuf
+ c
+ c2\< c2\!
+
+ c2\< c2\!
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: simultaneous-notes, text
+\version "2.11.35"
+
+\header { texidoc = "
+The part combiner tool ( \\partcombine command ) allows you to combine
+different parts on a same Staff. You can choose whether you want or
+don't want to add texts such as \"solo\" or \"a2\", by defining the
+printPartCombineTexts property.
+
+For vocal scores (hymns), there is no need to add \"solo\"/\"a2\"
+texts, so they should be switched off. However, you'd better not use it
+if there are any solos, as they won't be indicated. In such cases, you
+may simply want to use standard LilyPond polyphony.
+
+This snippet presents the three ways two parts can be printed on a same
+staff : standard polyphony, \\partcombine whitout texts, and
+\\partcombine with texts.
+
+
+" }
+
+musicUp = { \time 4/4
+ \relative c'' {
+ a4 c4.(g8) a4 |
+ g4 e' g,( a8 b) |
+ c b a2.
+ }
+}
+
+musicDown = {
+ \relative c'' {
+ g4 e4.(d8) c4 |
+ r2 g'4( f8 e) |
+ d2 a
+ }
+}
+\score{
+ \new Staff {
+ \set Staff.instrumentName = "Standard polyphony "
+ << \musicUp \\ \musicDown >>
+ }
+ \layout{
+ indent = 6.0\cm
+ }
+}
+
+\score{
+ \context Staff {
+ \set Staff.instrumentName = "PartCombine without texts "
+ \partcombine \musicUp \musicDown
+ }
+ \layout{
+ indent = 6.0\cm
+ \context {
+ \Voice
+ printPartCombineTexts = ##f
+ }
+ }
+}
+
+\score{
+ \context Staff {
+ \set Staff.instrumentName = "PartCombine with texts "
+ \partcombine \musicUp \musicDown
+ }
+ \layout{
+ indent = 6.0\cm
+ \context {
+ \Voice
+ printPartCombineTexts = ##t
+ }
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+Odd 20th century time signatures (such as \"5/8\") can often be played
+as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
+more inequal metrics. LilyPond can make such musics quite easy to read
+and play, by explicitly printing the compound time signatures and
+adapting the automatic beaming behaviour. (You can even add graphic
+measure groping indications, the appropriate snippet in this database.)
+
+" }
+
+#(define (compound-time one two num)
+ (markup #:override '(baseline-skip . 0) #:number
+ (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))
+
+
+\relative {
+ %% compound time signature hack
+ \time 5/8
+ \override Staff.TimeSignature #'stencil = #ly:text-interface::print
+ \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8" )
+ #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
+ c8 d e fis gis | c fis, gis e d | c8 d e4 gis8
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+The Scheme function @code{set-time-signature}, in combination with the
+Measure grouping engraver, it will create MeasureGrouping signs. Such
+signs ease reading rhythmically complex modern music. In the following
+example, the 9/8 measure is subdivided in 2, 2, 2 and 3. This is
+passed to @code{set-time-signature} as the third argument @code{(2 2 2
+3)}
+
+
+" }
+
+\score {
+ \relative c'' {
+ #(set-time-signature 9 8 '(2 2 2 3))
+ g8[ g] d[ d] g[ g] a8[( bes g]) |
+ #(set-time-signature 5 8 '(3 2))
+ a4. g4
+ }
+ \layout {
+ \context {
+ \Staff
+ \consists "Measure_grouping_engraver"
+ }
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms
+\version "2.11.35"
+
+\header { texidoc = "
+Default behaviour of tuplet-bracket visibility is to print a bracket
+unless there is a beam of the same length as the tuplet. To control the
+visibility of tuplet brackets, you can set the property TupletBracket
+#'bracket-visibility to either ##t (always print a bracket), ##f (never
+print a bracket) or #'if-no-beam (only print a bracket if there is no
+beam).
+" }
+
+mus = \relative c'' {
+ \times 2/3 {c16 [ d e } f8]
+ \times 2/3 {c8 d e }
+ \times 2/3 { c4 d e }
+}
+
+\new Voice \relative c'{
+ << \mus s4^"default" >>
+ \override TupletBracket #'bracket-visibility = #'if-no-beam
+ << \mus s4^"'if-no-beam" >>
+ \override TupletBracket #'bracket-visibility = ##t
+ << \mus s4^"#t" >>
+ \override TupletBracket #'bracket-visibility = ##f
+ << \mus s4^"#f" >>
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+In music that contains many occurrences of the same sequence of notes
+at different pitches, you can use the following music function. It
+takes a note, of which the pitch is used. The supporting Scheme
+functions were borrowed from the Tips and Tricks document in the manual.
+
+This example creates the rhythm used throughout Mars, from The Planets,
+by Gustav Holst.
+" }
+
+#(define (make-note-req p d)
+ (make-music 'NoteEvent
+ 'duration d
+ 'pitch p))
+
+#(define (make-note p d)
+ (make-music 'EventChord
+ 'elements (list (make-note-req p d))))
+
+#(define (seq-music-list elts)
+ (make-music 'SequentialMusic
+ 'elements elts))
+
+#(define (make-triplet elt)
+ (make-music 'TimeScaledMusic
+ 'denominator 3
+ 'numerator 2
+ 'element elt))
+
+
+rhythm = #(define-music-function (parser location note) (ly:music?)
+ "Make the rhythm in Mars (the Planets) at the given note's pitch"
+ (let* ((p (ly:music-property
+ (car (ly:music-property note 'elements))
+ 'pitch)))
+ (seq-music-list (list
+ (make-triplet (seq-music-list (list
+ (make-note p (ly:make-duration 3 0 2 3))
+ (make-note p (ly:make-duration 3 0 2 3))
+ (make-note p (ly:make-duration 3 0 2 3))
+ )))
+ (make-note p (ly:make-duration 2 0))
+ (make-note p (ly:make-duration 2 0))
+ (make-note p (ly:make-duration 3 0))
+ (make-note p (ly:make-duration 3 0))
+ (make-note p (ly:make-duration 2 0))
+ ))))
+
+\score {
+ \new Staff {
+ \time 5/4
+
+ \rhythm c'
+ \rhythm c''
+ \rhythm g
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: staff-notation, editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+To create blank staves, you must generate empty measures, removing also
+from the @code{Score} context the @code{Bar_number_engraver}, and from
+the @code{Staff} context the @code{Time_signature_engraver}, the
+@code{Clef_engraver} and the @code{Bar_engraver}.
+" }
+
+\header {
+ tagline = ""
+}
+
+#(set-global-staff-size 20)
+
+\score {
+ {
+ \repeat unfold 12 { s1 \break }
+ }
+ \layout {
+ indent = 0\in
+ \context {
+ \Staff
+ \remove Time_signature_engraver
+ \remove Clef_engraver
+ \remove Bar_engraver
+ }
+ \context {
+ \Score
+ \remove Bar_number_engraver
+ }
+ }
+}
+
+\paper {
+ #(set-paper-size "letter")
+ raggedlastbottom = ##f
+ linewidth = 7.5\in
+ leftmargin = 0.5\in
+ bottommargin = 0.25\in
+ topmargin = 0.25\in
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+This example shows prelude in C major of Bach's Well-Tempered Klavier
+1, but coded using Scheme functions to avoid typing work.
+
+BROKEN (?) IN 2.11, COMMENTED OUT.
+" }
+
+{ c'4 }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks, text
+\version "2.11.35"
+
+\header { texidoc = "
+The \\startTextSpan and \\stopTextSpan commands give you the ability to
+create text spanners as easily as pedals indications or octavations.
+Override some properties of the TextSpanner object to modify its
+output.
+" }
+
+\relative c''{
+ \override TextSpanner #'edge-text = #'("bla" . "blu")
+ a \startTextSpan
+ b c
+ a \stopTextSpan
+
+ \override TextSpanner #'dash-period = #2
+ \override TextSpanner #'dash-fraction = #0.0
+ a \startTextSpan
+ b c
+ a \stopTextSpan
+
+ \revert TextSpanner #'style
+ \override TextSpanner #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
+ \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'(0 . -2) }
+
+ a \startTextSpan
+ b c
+ a \stopTextSpan
+
+
+ \set Staff.middleCPosition = #-13
+
+ \override TextSpanner #'dash-period = #10
+ \override TextSpanner #'dash-fraction = #.5
+ \override TextSpanner #'thickness = #10
+ a \startTextSpan
+ b c
+ a \stopTextSpan
+ \set Staff.middleCPosition = #-6
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: ancient-notation
+\version "2.11.35"
+
+\header { texidoc = "
+Custodes may be engraved in various styles.
+" }
+
+\layout {
+ \context {
+ \Staff
+ \consists Custos_engraver
+ }
+ ragged-right = ##t
+}
+
+{
+ \override Staff.Custos #'neutral-position = #4
+
+ \override Staff.Custos #'style = #'hufnagel
+ c'1^"hufnagel"
+ \break < d' a' f''>1
+
+ \override Staff.Custos #'style = #'medicaea
+ c'1^"medicaea"
+ \break < d' a' f''>1
+
+ \override Staff.Custos #'style = #'vaticana
+ c'1^"vaticana"
+ \break < d' a' f''>1
+
+ \override Staff.Custos #'style = #'mensural
+ c'1^"mensural"
+ \break < d' a' f''>1
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: vocal-music, piano-music, strings
+\version "2.11.35"
+
+\header { texidoc = "
+Problem: How to know which MidiInstrument would be best for your
+composition? Solution: A Lilypond demo file.
+" }
+
+%\version "2.11.35"
+
+basemelodie = { c'4. \mf g c'16 b' c'' d'' | e'' d'' e'' f'' g''4 g'''4 r | r1 }
+melodie = { \tempo 4 = 150 \basemelodie }
+
+\header {
+ title = "Demo of all midi sounds"
+ arranger = "Myself"
+}
+
+\score {
+ \new Staff <<
+ \new Voice { \melodie
+ } %Voice
+ >> %Staff
+ \layout { }
+} %score
+
+\score {
+ \new Staff <<
+ \tempo 4 = 180
+ %\set Staff.instrumentName="S/A"
+ %\set Staff.midiMinimumVolume = #0.2
+ %\set Staff.midiMaximumVolume = #0.4
+ %\set Voice.dynamicAbsoluteVolumeFunction = #0.6
+ \new Voice { r \mf
+ \set Staff.midiInstrument="acoustic grand" \melodie
+ \set Staff.midiInstrument="bright acoustic" \melodie
+ \set Staff.midiInstrument="electric grand" \melodie
+ \set Staff.midiInstrument="honky-tonk" \melodie
+ \set Staff.midiInstrument="electric piano 1" \melodie
+ \set Staff.midiInstrument="electric piano 2" \melodie
+ \set Staff.midiInstrument="harpsichord" \melodie
+ \set Staff.midiInstrument="clav" \melodie
+ \set Staff.midiInstrument="celesta" \melodie
+ \set Staff.midiInstrument="glockenspiel" \melodie
+ \set Staff.midiInstrument="music box" \melodie
+ \set Staff.midiInstrument="vibraphone" \melodie
+ \set Staff.midiInstrument="marimba" \melodie
+ \set Staff.midiInstrument="xylophone" \melodie
+ \set Staff.midiInstrument="tubular bells" \melodie
+ \set Staff.midiInstrument="dulcimer" \melodie
+ \set Staff.midiInstrument="drawbar organ" \melodie
+ \set Staff.midiInstrument="percussive organ" \melodie
+ \set Staff.midiInstrument="rock organ" \melodie
+ \set Staff.midiInstrument="church organ" \melodie
+ \set Staff.midiInstrument="reed organ" \melodie
+ \set Staff.midiInstrument="accordion" \melodie
+ \set Staff.midiInstrument="harmonica" \melodie
+ \set Staff.midiInstrument="concertina" \melodie
+ \set Staff.midiInstrument="acoustic guitar (nylon)" \melodie
+ \set Staff.midiInstrument="acoustic guitar (steel)" \melodie
+ \set Staff.midiInstrument="electric guitar (jazz)" \melodie
+ \set Staff.midiInstrument="electric guitar (clean)" \melodie
+ \set Staff.midiInstrument="electric guitar (muted)" \melodie
+ \set Staff.midiInstrument="overdriven guitar" \melodie
+ \set Staff.midiInstrument="distorted guitar" \melodie
+ \set Staff.midiInstrument="acoustic bass" \melodie
+ \set Staff.midiInstrument="electric bass (finger)" \melodie
+ \set Staff.midiInstrument="electric bass (pick)" \melodie
+ \set Staff.midiInstrument="fretless bass" \melodie
+ \set Staff.midiInstrument="slap bass 1" \melodie
+ \set Staff.midiInstrument="slap bass 2" \melodie
+ \set Staff.midiInstrument="synth bass 1" \melodie
+ \set Staff.midiInstrument="synth bass 2" \melodie
+ \set Staff.midiInstrument="violin" \melodie
+ \set Staff.midiInstrument="viola" \melodie
+ \set Staff.midiInstrument="cello" \melodie
+ \set Staff.midiInstrument="contrabass" \melodie
+ \set Staff.midiInstrument="tremolo strings" \melodie
+ \set Staff.midiInstrument="pizzicato strings" \melodie
+ \set Staff.midiInstrument="orchestral strings" \melodie
+ \set Staff.midiInstrument="timpani" \melodie
+ \set Staff.midiInstrument="string ensemble 1" \melodie
+ \set Staff.midiInstrument="string ensemble 2" \melodie
+ \set Staff.midiInstrument="synthstrings 1" \melodie
+ \set Staff.midiInstrument="synthstrings 2" \melodie
+ \set Staff.midiInstrument="choir aahs" \melodie
+ \set Staff.midiInstrument="voice oohs" \melodie
+ \set Staff.midiInstrument="synth voice" \melodie
+ \set Staff.midiInstrument="orchestra hit" \melodie
+ \set Staff.midiInstrument="trumpet" \melodie
+ \set Staff.midiInstrument="trombone" \melodie
+ \set Staff.midiInstrument="tuba" \melodie
+ \set Staff.midiInstrument="muted trumpet" \melodie
+ \set Staff.midiInstrument="french horn" \melodie
+ \set Staff.midiInstrument="brass section" \melodie
+ \set Staff.midiInstrument="synthbrass 1" \melodie
+ \set Staff.midiInstrument="synthbrass 2" \melodie
+ \set Staff.midiInstrument="soprano sax" \melodie
+ \set Staff.midiInstrument="alto sax" \melodie
+ \set Staff.midiInstrument="tenor sax" \melodie
+ \set Staff.midiInstrument="baritone sax" \melodie
+ \set Staff.midiInstrument="oboe" \melodie
+ \set Staff.midiInstrument="english horn" \melodie
+ \set Staff.midiInstrument="bassoon" \melodie
+ \set Staff.midiInstrument="clarinet" \melodie
+ \set Staff.midiInstrument="piccolo" \melodie
+ \set Staff.midiInstrument="flute" \melodie
+ \set Staff.midiInstrument="recorder" \melodie
+ \set Staff.midiInstrument="pan flute" \melodie
+ \set Staff.midiInstrument="blown bottle" \melodie
+ \set Staff.midiInstrument="shakuhachi" \melodie
+ \set Staff.midiInstrument="whistle" \melodie
+ \set Staff.midiInstrument="ocarina" \melodie
+ \set Staff.midiInstrument="lead 1 (square)" \melodie
+ \set Staff.midiInstrument="lead 2 (sawtooth)" \melodie
+ \set Staff.midiInstrument="lead 3 (calliope)" \melodie
+ \set Staff.midiInstrument="lead 4 (chiff)" \melodie
+ \set Staff.midiInstrument="lead 5 (charang)" \melodie
+ \set Staff.midiInstrument="lead 6 (voice)" \melodie
+ \set Staff.midiInstrument="lead 7 (fifths)" \melodie
+ \set Staff.midiInstrument="lead 8 (bass+lead)" \melodie
+ \set Staff.midiInstrument="pad 1 (new age)" \melodie
+ \set Staff.midiInstrument="pad 2 (warm)" \melodie
+ \set Staff.midiInstrument="pad 3 (polysynth)" \melodie
+ \set Staff.midiInstrument="pad 4 (choir)" \melodie
+ \set Staff.midiInstrument="pad 5 (bowed)" \melodie
+ \set Staff.midiInstrument="pad 6 (metallic)" \melodie
+ \set Staff.midiInstrument="pad 7 (halo)" \melodie
+ \set Staff.midiInstrument="pad 8 (sweep)" \melodie
+ \set Staff.midiInstrument="fx 1 (rain)" \melodie
+ \set Staff.midiInstrument="fx 2 (soundtrack)" \melodie
+ \set Staff.midiInstrument="fx 3 (crystal)" \melodie
+ \set Staff.midiInstrument="fx 4 (atmosphere)" \melodie
+ \set Staff.midiInstrument="fx 5 (brightness)" \melodie
+ \set Staff.midiInstrument="fx 6 (goblins)" \melodie
+ \set Staff.midiInstrument="fx 7 (echoes)" \melodie
+ \set Staff.midiInstrument="fx 8 (sci-fi)" \melodie
+ \set Staff.midiInstrument="sitar" \melodie
+ \set Staff.midiInstrument="banjo" \melodie
+ \set Staff.midiInstrument="shamisen" \melodie
+ \set Staff.midiInstrument="koto" \melodie
+ \set Staff.midiInstrument="kalimba" \melodie
+ \set Staff.midiInstrument="bagpipe" \melodie
+ \set Staff.midiInstrument="fiddle" \melodie
+ \set Staff.midiInstrument="shanai" \melodie
+ \set Staff.midiInstrument="tinkle bell" \melodie
+ \set Staff.midiInstrument="agogo" \melodie
+ \set Staff.midiInstrument="steel drums" \melodie
+ \set Staff.midiInstrument="woodblock" \melodie
+ \set Staff.midiInstrument="taiko drum" \melodie
+ \set Staff.midiInstrument="melodic tom" \melodie
+ \set Staff.midiInstrument="synth drum" \melodie
+ \set Staff.midiInstrument="reverse cymbal" \melodie
+ \set Staff.midiInstrument="guitar fret noise" \melodie
+ \set Staff.midiInstrument="breath noise" \melodie
+ \set Staff.midiInstrument="seashore" \melodie
+ \set Staff.midiInstrument="bird tweet" \melodie
+ \set Staff.midiInstrument="telephone ring" \melodie
+ \set Staff.midiInstrument="helicopter" \melodie
+ \set Staff.midiInstrument="applause" \melodie
+ \set Staff.midiInstrument="gunshot" \melodie
+ } %Voice
+ >> %Staff
+ \midi { }
+} %score
+
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text
+\version "2.11.35"
+
+\header { texidoc = "
+A demonstration of all headers.
+" }
+
+\header {
+copyright = "copyright"
+title = "title"
+subtitle = "subtitle"
+composer = "composer"
+arranger = "arranger"
+instrument = "instrument"
+metre = "metre"
+opus = "opus"
+piece = "piece"
+poet = "poet"
+texidoc = "All header fields with special meanings."
+ copyright = "public domain"
+ enteredby = "jcn"
+ source = "urtext"
+
+}
+
+
+\score {
+ \relative c'' { c1 c1 c1 c1 }
+}
+
+\score {
+ \relative c'' { c1 c1 c1 c1 }
+
+ \header {
+
+ title = "localtitle"
+ subtitle = "localsubtitle"
+ composer = "localcomposer"
+ arranger = "localarranger"
+ instrument = "localinstrument"
+ metre = "localmetre"
+ opus = "localopus"
+ piece = "localpiece"
+ poet = "localpoet"
+ copyright = "localcopyright"
+ }
+}
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+In early XXth century works, starting with Schönberg, Berg and Webern
+(the \"second\" Viennese school), every pitch in the twelve- note scale
+has to be regarded as equal, without any hierarchy such as the
+classical (tonal) degrees. Therefore, these composers print one
+accidental for each note, even at natural pitches, to emphasize their
+new approach to music theory and language. This snippet shows how to
+achieve such notation rules with LilyPond.
+" }
+
+% thanks to Rune Zedeler for this cool function :)
+
+webernAccidentals = {
+ % the 5s are just "a value different from any accidental"
+ \set Staff.keySignature = #'((0 . 5) (1 . 5) (2 . 5) (3 . 5)
+ (4 . 5) (5 . 5) (6 . 5))
+ \set Staff.extraNatural = ##f
+ #(set-accidental-style 'forget)
+}
+
+\layout {
+ \context { \Staff \remove Key_engraver }
+}
+\score {
+ {
+ \webernAccidentals
+ c' dis' cis' cis'
+ c' dis' cis' cis'
+ c' c' dis' des'
+ }
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: other
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+The @code{print-function} can be overridden to draw a box around an
+arbitrary grob.
+" }
+
+\relative c'' {
+
+ \override TextScript #'stencil =
+ #(make-stencil-boxer 0.1 0.3 ly:text-interface::print)
+
+ c'4^"foo"
+
+ \override Stem #'stencil =
+ #(make-stencil-boxer 0.05 0.25 ly:stem::print)
+
+ \override Score.RehearsalMark #'stencil =
+ #(make-stencil-boxer 0.15 0.3 ly:text-interface::print)
+ b8
+ \revert Stem #'stencil
+
+
+ c4. c4 \mark "F" c1
+}
+
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: other
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+The \circle command allows you to draw circles around various objects
+(for example fingering indications). However, some objects require
+specific tweaks: rehearsal marks depend on the Score.markFormatter
+context, bar numbers on the Score.BarNumber context, and so on.
+
+You can tweak the printing of your circles by setting some properties
+such as #'thickness, #'circle-padding or #'font-size.
+" }
+
+\relative c'{
+c1
+\set Score.markFormatter
+ = #(lambda (mark context)
+ (make-circle-markup (format-mark-numbers mark context)))
+\mark \default
+c2 d^\markup{\circle \finger "2"}
+\override Score.BarNumber #'break-visibility = #all-visible
+\override Score.BarNumber #'stencil
+ = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
+}
--- /dev/null
+@node Editorial and educational use
+@unnumbered Editorial and educational use
+
+@lysnippets
+
--- /dev/null
+creating-blank-staves.ly
+applying-noteheads-styles-depending-on-the-step-of-the-scale.ly
+changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
+coloring-objects.ly
+inserting-score-fragments-above-the-staff,-as-markups.ly
+rhythmic-slashes.ly
+changing-the-default-text-font-family.ly
+clefs-commonly-tweaked-properties.ly
+blanking-staff-lines-using-the--whiteout-command.ly
+changing-an-individual-notes-size-in-a-chord.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The shapeNoteStyles property gives you the ability to define various
-note heads styles for each step of the scale (as defined by the key
-signature or the \"tonic\" property).
-
-This property requires a set of symbols, which can be purely arbitrary
-(geometrical expressions such as triangle, cross, xcircle etc. are
-allowed) or based on old American engraving tradition (you can use some
-latin note names as well).
-
-That said, if you're trying to imitate old American song books, you may
-also want to try LilyPond's predefined note heads styles, through
-shortcut commands such as \\aikenHeads or \\sacredHarpHeads.
-
-This exemple shows different ways to obtain shape note heads, and
-demonstrates the ability to transpose a melody without losing the
-correspondance between harmonic functions and note heads styles.
-" }
-
-fragment = {
- \key c \major
- c1 d e f g a b c
- \break
-}
-
-\relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
-}
-
-% temporary change help LSR integration -gp
-%{
-\transpose c d
- \relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
-}
-
-\relative {
- \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
- \fragment
-}
-%}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The \\whiteout command underlays a white box under a markup. Since
-staff lines are in a lower layer than most other grobs, this white box
-will not overlap any other grob.
-" }
-
-\paper
-{
- ragged-right = ##t
-}
-{
- \override TextScript #'extra-offset = #'(2 . 4)
- c'4-\markup { \whiteout \pad-markup #0.5 foo } c
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Individual noteheads in a chord can be modified with the @code{\\tweak}
-command inside a chord, by altering the @code{'font-size} property.
-
-
-Inside the chord (within the brackets @code{< >}), before the note to
-be altered, place the @code{\\tweak} command, followed by
-@code{#'font-size} and define the proper size like @code{#-2} (a tiny
-notehead).
-
-
-The code for the chord example shown: @code{}
-" }
-
-\header{
- title = "Modify an individual notehead's size in a chord"
-}
-
-Notes = \relative {
- <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup{A tiny e}_\markup{A big c}
-}
-
-\score{
- \Notes
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The appearance of slurs may be changed from solid to dotted or dashed.
-
-
-" }
-
-\score{
- \relative c'{
- c( d e c) |
- \slurDotted
- c( d e c) |
- \slurSolid
- c( d e c) |
- \slurDashed
- c( d e c) |
- \slurSolid
- c( d e c) |
- }
- \layout{ raggedright=##t }
-}
-
-
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The command @code{\\clef \"treble_8\"} is equivalent to setting
-@code{clefGlyph}, @code{clefPosition} (which controls the Y position of
-the clef), @code{middleCPosition} and @code{clefOctavation}. A clef is
-printed when any of these properties are changed.
-
-
-Note that changing the glyph, the position of the clef, or the
-octavation, does not in itself change the position of subsequent notes
-on the staff: the position of middle C must also be specified to do
-this. The positional parameters are relative to the staff centre line,
-positive numbers displacing upwards, counting 1 for each line and
-space. The clefOctavation value would normally be set to 7, -7, 15 or
--15, but other values are not invalid.
-
-
-When a clef change takes place at a line break the new clef symbol is
-printed at both the end of the previous line and the beginning of the
-new line by default. If the warning clef at the end of the previous
-line in not required it can be suppressed by setting the
-explicitClefVisibility Staff property to the value @code{
-end-of-line-invisible: \\set Staff.explicitClefVisibility =
-#end-of-line-invisible } The default behaviour can be recovered with
-@code{\\unset Staff.explicitClefVisibility}
-
-
-The following examples show the possibilities when setting these
-properties manually. On the first line, the manual changes preserve the
-standard relative positioning of clefs and notes, whereas on the second
-line, they do not.
-" }
-
-{
- % The default treble clef
- c'4
- % The standard bass clef
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- \set Staff.middleCPosition = #6
- c'4
- % The baritone clef
- \set Staff.clefGlyph = #"clefs.C"
- \set Staff.clefPosition = #4
- \set Staff.middleCPosition = #4
- c'4
- % The standard choral tenor clef
- \set Staff.clefGlyph = #"clefs.G"
- \set Staff.clefPosition = #-2
- \set Staff.clefOctavation = #-7
- \set Staff.middleCPosition = #1
- c'4
- % A non-standard clef
- \set Staff.clefPosition = #0
- \set Staff.clefOctavation = #0
- \set Staff.middleCPosition = #-4
- c'4 \break
-
- % The following clef changes do not preserve
- % the normal relationship between notes and clefs:
-
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- c'4
- \set Staff.clefGlyph = #"clefs.G"
- c'4
- \set Staff.clefGlyph = #"clefs.C"
- c'4
- \set Staff.clefOctavation = #7
- c'4
- \set Staff.clefOctavation = #0
- \set Staff.clefPosition = #0
- c'4
- \set Staff.middleCPosition = #4
- c'4
- }
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-LilyPond gives you the ability to assign different colors to any grob
-in your score, such as NoteHeads, Alterations, Beams and so on, by
-simply overriding the #'color property and choosing your color (over
-200 colors are available, see the \"List of Colors\" Appendix in the
-Manual).
-" }
-
-\relative {
- \override Accidental #'color = #darkgreen
- \override Beam #'color = #cyan
- \override NoteHead #'color = #darkyellow
- c4
- \override NoteHead #'color = #red
- f
- \override NoteHead #'color = #darkmagenta
- g
- \override NoteHead #'color = #darkblue
- b
- \override NoteHead #'color = #green
- \override Stem #'color = #blue
- e8 es d dis e4 r
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-To create blank staves, you must generate empty measures, removing also
-from the @code{Score} context the @code{Bar_number_engraver}, and from
-the @code{Staff} context the @code{Time_signature_engraver}, the
-@code{Clef_engraver} and the @code{Bar_engraver}.
-" }
-
-\header {
- tagline = ""
-}
-
-#(set-global-staff-size 20)
-
-\score {
- {
- \repeat unfold 12 { s1 \break }
- }
- \layout {
- indent = 0\in
- \context {
- \Staff
- \remove Time_signature_engraver
- \remove Clef_engraver
- \remove Bar_engraver
- }
- \context {
- \Score
- \remove Bar_number_engraver
- }
- }
-}
-
-\paper {
- #(set-paper-size "letter")
- raggedlastbottom = ##f
- linewidth = 7.5\in
- leftmargin = 0.5\in
- bottommargin = 0.25\in
- topmargin = 0.25\in
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In \"simple\" lead-sheets, sometimes no actual notes are written,
-instead only \"rhythmic patterns\" and chords above the measures are
-noted giving the structure of a song. Such a feature is for example
-useful while creating/transcribing the structure of a song and also
-when sharing lead sheets with guitarists or jazz musicians.
-
-The standard support for this is described in section \"Measure
-repeats\", but then the first beat has to be an ordinary note or rest.
-
-This example shows two solutions to this problem, by redefining
-ordinary rests to be printed as slashes. (If the duration of each beat
-is not a quarter note, replace the r4 in the definitions by a rest of
-the appropriate duration).
-" }
-
-% Macro to print single slash
-rs = {
-\once \override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
-\once \override Rest #'thickness = #'0.48
-\once \override Rest #'slope = #'1.7
-r4
-}
-
-
-% Function to print a specified number of slashes
-comp = #(define-music-function (parser location count) ( integer?)
-#{
-\override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
-\override Rest #'thickness = #'0.48
-\override Rest #'slope = #'1.7
-\repeat unfold $count { r4 }
-\revert Rest #'stencil
-#})
-
-\score{
-\relative c'{
- c d e f | \rs \rs \rs \rs | \comp #4 |
-}
-}
--- /dev/null
+@node Expressive marks
+@unnumbered Expressive marks
+
+@lysnippets
+
--- /dev/null
+combining-dynamics-with-markup-texts.ly
+glissando-contempary.ly
+breathing-sign.ly
+changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
+caesura-railtracks-with-fermata.ly
+adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly
+center-text-below-hairpin-dynamics.ly
+adding-parentheses-around-an-expressive-mark.ly
+line-arrows.ly
+changing--flageolet-mark-size.ly
+creating-text-spanners.ly
+broken-crescendo-hairpin.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-LilyPond syntax can involve many unusual placements for parentheses,
-brackets etc., which might sometimes have to be interleaved.For
-example, when entering a manual beam, the left square bracket has to be
-placed after the starting note and its duration, not before. Similarly,
-the right square bracket should directly follow the note which is to be
-at the end of the requested beaming, even if this note happens to be
-inside a tuplet section. This snippet demonstrates how to superpose
-manual beaming, manual slurs, ties, and phrasing slurs, while using
-tuplet sections (enclosed with curly braces).
-" }
-
-{
- r16[ g16 \times 2/3 {r16 e'8] }
-
- g16( a \times 2/3 {b d e') }
-
- g8[( a \times 2/3 {b d') e'~]}
-
- \times 4/5 {e'32\( a b d' e'} a'4.\)
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The parenthesize function is a special tweak that encloses objects in
-parentheses. The associated grob is Score.ParenthesesItem.
-" }
-
-\relative {
- c4 -\parenthesize -.
-
- \override ParenthesesItem #'padding = #0.1
- <d \parenthesize fis a>
-
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Breathing signs are available in different tastes: commas (default),
-ticks, vees and `railroad tracks' (caesura).
-" }
-
-{
- %% Modern notation:
- \new Staff {
- \relative c'' {
- \key es \major \time 3/4
-
- %% this bar contains no \breathe
- <<
- { g4 as g } \\
- { es4 bes es }
- >> |
-
- %% by default, \breathe uses the rcomma, just as if saying:
- %% \override BreathingSign #'text =
- % #(make-musicglyph-markup "scripts.rcomma")
- <<
- { g4 as g } \\
- { es4 \breathe bes es }
- >> |
-
- %% rvarcomma and lvarcomma are variations of the default rcomma
- %% and lcomma
-
- %% N.B.: must use Staff context here, since we start a Voice below
- \override Staff.BreathingSign #'text =
- #(make-musicglyph-markup "scripts.rvarcomma")
- <<
- { g4 as g } \\
- { es4 \breathe bes es }
- >> |
-
- %% wedge
- \override BreathingSign #'text =
- #(make-musicglyph-markup "scripts.upbow")
- es8 d es f g8 \breathe f |
-
- %% caesura
- \override BreathingSign #'text =
- #(make-musicglyph-markup "scripts.caesura.curved")
- es8[ d] \breathe es[ f g f] |
- es2 r4 \bar "||" \break
- }
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In order to make parts of a crescendo hairpin invisible, the following
-method is used: A white rectangle is drawn on top of the respective
-part of the crescendo hairpin, making it invisible. the rectangle is
-defined as postscript code within a text markup. In order to fine tune
-the position and size of the markup, the number preceding the
-\"setgray\" in the postscript definition can be set to a value <1
-making it grey. The two numbes before the \"scale\" in the postscript
-code are responsible for the width and height of the rectangle, the two
-numbers before the \"translate\" change the x- and y-origin of the
-rectangle. Make sure to put the Hairpin in a lower layer than the Text
-Markup to actually draw the rectangle above the hairpin.
-" }
-
-\score
-{
- \relative c' {
- << {
- \dynamicUp
- \override DynamicLineSpanner #'staff-padding = #4
- r2 r16 c'8.\pp r4
- } \\ {
- \override DynamicLineSpanner #'layer = #0
- des,2~\mf \<
- \override TextScript #'layer = #2
- des16_\markup { \postscript #"1.9 -4.5 translate 5 4 scale 1 setgray 0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto 0 0 lineto fill" }
- r8. des4~ des16-> \sff
- }
- >>
- }
- \layout { ragged-right = ##t}
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-A caesura is sometimes denoted with a double \"railtracks\" breath mark
-with a fermata sign positioned over the top of the railtracks. This
-snippet should present an optically pleasing combination of railtracks
-and a fermata.
-" }
-
-{
- \context Voice {
- c''2.
- % use some scheme code to construct the symbol
- \override BreathingSign #'text = #(markup #:line
- (#:musicglyph "scripts.caesura.curved"
- #:translate (cons -1.75 1.6)
- #:musicglyph "scripts.ufermata"
- ))
- \breathe c''4
- % set the breathe mark back to normal
- \revert BreathingSign #'text
- c''2. \breathe c''4
- \bar "|."
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This example provides a function to typeset hairpin (de)crescendo with
-some additional text below it, such as \"molto\" or \"poco\".
-
-The example also illustrates how to use modify the way an object
-normally is printed, using some Scheme code.
-" }
-
-hairpinWithCenteredText = #(define-music-function
- (parser location text) (markup?)
-#{
-\override Voice.Hairpin #'stencil = #(lambda (grob)
- (ly:stencil-aligned-to
- (ly:stencil-combine-at-edge
- (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
- Y
- DOWN
- (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
- X LEFT))
-\override Voice.Hairpin #'text = $text
-#})
-
-
-hairpinMolto = \hairpinWithCenteredText \markup {\italic "molto"}
-hairpinMore = \hairpinWithCenteredText \markup {\bigger "moltissimo"}
-
-\new Staff {
- \hairpinMolto c'2\< c'2\f
- \hairpinMore c'2\< c'2\f
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-To make the \\flageolet circle smaller you can use the following scheme
-code (found in the Lilypond-user-archive)
-" }
-
-F = #(let ((m (make-music 'ArticulationEvent
- 'articulation-type "flageolet")))
- (set! (ly:music-property m 'tweaks)
- (acons 'font-size -3
- (ly:music-property m 'tweaks)))
- m)
-
-\relative c'' { d4^\flageolet_\markup {"orginal \flageolet "} d4_\flageolet
- c4^\F_\markup {smaller } c4_\F
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The appearance of slurs may be changed from solid to dotted or dashed.
-
-
-" }
-
-\score{
- \relative c'{
- c( d e c) |
- \slurDotted
- c( d e c) |
- \slurSolid
- c( d e c) |
- \slurDashed
- c( d e c) |
- \slurSolid
- c( d e c) |
- }
- \layout{ raggedright=##t }
-}
-
-
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Some dynamics may involve text indications (such as \"più forte\",
-\"piano subito\", etc.). They can be produced using a \\markup bloc.
-" }
-
-\layout{ragged-right = ##t}
-
-piuf = \markup { \italic "molto" \dynamic "f" }
-
-\relative c''{
- c-\piuf
- c
- c2\< c2\!
-
- c2\< c2\!
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The \\startTextSpan and \\stopTextSpan commands give you the ability to
-create text spanners as easily as pedals indications or octavations.
-Override some properties of the TextSpanner object to modify its
-output.
-" }
-
-\relative c''{
- \override TextSpanner #'edge-text = #'("bla" . "blu")
- a \startTextSpan
- b c
- a \stopTextSpan
-
- \override TextSpanner #'dash-period = #2
- \override TextSpanner #'dash-fraction = #0.0
- a \startTextSpan
- b c
- a \stopTextSpan
-
- \revert TextSpanner #'style
- \override TextSpanner #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
- \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'(0 . -2) }
-
- a \startTextSpan
- b c
- a \stopTextSpan
-
-
- \set Staff.middleCPosition = #-13
-
- \override TextSpanner #'dash-period = #10
- \override TextSpanner #'dash-fraction = #.5
- \override TextSpanner #'thickness = #10
- a \startTextSpan
- b c
- a \stopTextSpan
- \set Staff.middleCPosition = #-6
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\header {
- texidoc = "Arrows can be applied to text-spanners and line-spanners (such as the Glissando)"
-}
-
-\version "2.11.35"
-
-\paper {
- ragged-right = ##t
-}
-
-\relative c'' {
- \override TextSpanner #'bound-padding = #1.0
- \override TextSpanner #'dash-fraction = #'()
- \override TextSpanner #'bound-details #'right #'arrow = ##t
- \override TextSpanner #'bound-details #'left #'text = #"fof"
- \override TextSpanner #'bound-details #'right #'text = #"gag"
- \override TextSpanner #'bound-details #'right #'padding = #0.6
-
- \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #CENTER
- \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #CENTER
-
- \override Glissando #'bound-details #'right #'arrow = ##t
- \override Glissando #'arrow-length = #0.5
- \override Glissando #'arrow-width = #0.25
-
- a8\startTextSpan gis8 a4 b4\glissando
- b,4 | g' c\stopTextSpan c
-}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+This Scheme-based snippet allows you to generate 32 random notes (or as
+many as you want), based on the current time (or any randomish number
+you might wish to specify instead, so you can obtain the same random
+notes each time): i.e. to get different random notes patterns, just
+change this number.
+" }
+
+\score {
+{ #(let ((random-state (seed->random-state (current-time))))
+ (ly:export
+ (make-music 'SequentialMusic 'elements
+ (map (lambda x
+ (let ((idx (random 12 random-state)))
+ (make-music 'EventChord
+ 'elements (list (make-music 'NoteEvent
+ 'duration (ly:make-duration 2 0 1 1)
+ 'pitch (ly:make-pitch (quotient idx 7)
+ (remainder idx 7)
+ 0))))))
+ (make-list 32)))))
+ }
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches, expressive-marks
+\version "2.11.35"
+
+\header { texidoc = "
+Use a glissando without final note. Contemporary glissando !
+" }
+
+\relative c'' {
+ \override Glissando #'style = #'zigzag
+ \time 3/4
+ c4 c
+ \cadenzaOn c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
+ \bar "|"
+ }
+
+\addlyrics { Use cadenzaOn glissando hideNotes }
+\addlyrics { unHideNotes cadenzaOff, skip_and_\bar \skip 4 }
+\layout{raggedright = ##t}
+\header { tagline="" }
+
--- /dev/null
+@node Guitar
+@unnumbered Guitar
+
+@lysnippets
+
--- /dev/null
+letter-tablature-formatting.ly
+adding-fingerings-to-tablatures.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-## Hmm, would this work? No -- if we really want examples, move
-## to other dir (input/) comes to mind.
-## examples = font20 ancient-font
-## LOCALSTEPMAKE_TEMPLATES += ly mutopia
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Advanced snippets
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Advanced snippets')
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-To add fingerings to tablatures, you can use a combination of
-@code{\\markup} and @code{\\finger}.
-" }
-
-one = \markup{ \finger "1" }
-two = \markup{ \finger "2" }
-threetwo = \markup{ \column {\finger "3" \finger "2"} }
-threefour = \markup{ \column {\finger "3" \finger "4"} }
-
-\score {
-
-\context TabStaff {
-
-\stemUp
-
-{ e8\4^\one b\2 < e, g\3 e'\1 >^>[ b\2 e\4] < a\3 fis'\1 >^>^\threetwo[ b\2 e\4] }
-
-}
-
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-You can format a tablature with letters instead of numbers - so that
-0->a, 1->b, 2->c, etc.
-
-BROKEN IN 2.11, COMMENTED OUT.
-" }
-{ c'4 }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms, percussion
+\version "2.11.35"
+
+\header { texidoc = "
+Though the set-time-signature thing was not the most essential here, it
+has been included to show the beat of this piece (which is a template
+of a real balkan song!).
+" }
+
+#(define (compound-time one two three four five six seven eight nine ten num)
+ (markup #:override '(baseline-skip . 0) #:number
+ (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num)) #:vcenter "+" (#:column (three num)) #:vcenter "+" (#:column (four num)) #:vcenter "+" (#:column (five num)) #:vcenter "+" (#:column (six num)) #:vcenter "+" (#:column (seven num)) #:vcenter "+" (#:column (eight num)) #:vcenter "+" (#:column (nine num)) #:vcenter "+" (#:column (ten num))))))
+
+
+melody =
+{ \relative c'' {
+ \set Staff.instrumentName = "Bb Sop."
+ \key g \major \time 25/8
+ \override Staff.TimeSignature #'stencil = #ly:text-interface::print
+ \override Staff.TimeSignature #'text = #(compound-time "3" "2" "2" "3" "2" "2" "2" "3" "2" "2" "8" )
+ c8[ c c] d4 c8[ c] b[ c b] a4 g fis8[ e d c] b'[ c d] e4-^ fis8[ g] | \break
+ c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4 |
+ c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 | \break
+ c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 |
+ c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 | \break }
+}
+drum = {
+ \new DrumStaff \drummode
+ {
+ \bar "|:" bd4. ^\markup { "Drums" } sn4 bd \bar ":" sn4. bd4 sn \bar ":"
+ bd sn bd4. sn4 bd \bar ":|"
+ }
+}
+
+{
+ \melody
+ \drum
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text, vocal-music
+\version "2.11.35"
+
+\header { texidoc = "
+This can be achieved by separating those syllables by tildes.
+" }
+
+\lyrics {
+ wa~o~a
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: staff-notation, editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+The \\markup command is quite versatile. In this snippet, it contains a
+\\score bloc instead of texts or marks.
+" }
+
+tuning = \markup {
+ \score {
+ \new Staff \with {
+ \remove Time_signature_engraver
+ } {
+ \clef bass <c, g, d g>1
+ }
+ \layout { ragged-right = ##t }
+ }
+}
+
+
+\header {
+ title = "Solo Cello Suites"
+ subtitle = "Suite IV"
+ subsubtitle = \markup { "Originalstimmung:" \tuning }
+}
+
+\relative {
+ \time 4/8
+ \times 2/3 { c'8 d e } \times 2/3 {c d e}
+ \times 2/3 { c8 d e } \times 2/3 {c d e}
+ g8 a8 g8 a
+ g8 a8 g8 a
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: guitar
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+You can format a tablature with letters instead of numbers - so that
+0->a, 1->b, 2->c, etc.
+
+BROKEN IN 2.11, COMMENTED OUT.
+" }
+{ c'4 }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: expressive-marks
+\header {
+ texidoc = "Arrows can be applied to text-spanners and line-spanners (such as the Glissando)"
+}
+
+\version "2.11.35"
+
+\paper {
+ ragged-right = ##t
+}
+
+\relative c'' {
+ \override TextSpanner #'bound-padding = #1.0
+ \override TextSpanner #'dash-fraction = #'()
+ \override TextSpanner #'bound-details #'right #'arrow = ##t
+ \override TextSpanner #'bound-details #'left #'text = #"fof"
+ \override TextSpanner #'bound-details #'right #'text = #"gag"
+ \override TextSpanner #'bound-details #'right #'padding = #0.6
+
+ \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #CENTER
+ \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #CENTER
+
+ \override Glissando #'bound-details #'right #'arrow = ##t
+ \override Glissando #'arrow-length = #0.5
+ \override Glissando #'arrow-width = #0.25
+
+ a8\startTextSpan gis8 a4 b4\glissando
+ b,4 | g' c\stopTextSpan c
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\header {
+
+ texidoc = "Makam is Turkish type of melody that uses 1/9 tone
+ microtonal alterations."
+
+}
+
+
+\version "2.11.35"
+
+%{
+
+Define 1/9 alterations.
+
+%}
+
+
+#(define-public KOMA 1/9)
+#(define-public BAKIYE 4/9)
+#(define-public KUCUK 5/9)
+#(define-public BUYUKMUCENNEB 8/9)
+
+%{
+
+Define pitch names
+
+%}
+
+makamPitchNames = #`(
+ (c . ,(ly:make-pitch -1 0 NATURAL))
+ (d . ,(ly:make-pitch -1 1 NATURAL))
+ (e . ,(ly:make-pitch -1 2 NATURAL))
+ (f . ,(ly:make-pitch -1 3 NATURAL))
+ (g . ,(ly:make-pitch -1 4 NATURAL))
+ (a . ,(ly:make-pitch -1 5 NATURAL))
+ (b . ,(ly:make-pitch -1 6 NATURAL))
+
+ (cc . ,(ly:make-pitch -1 0 KOMA))
+ (dc . ,(ly:make-pitch -1 1 KOMA))
+ (ec . ,(ly:make-pitch -1 2 KOMA))
+ (fc . ,(ly:make-pitch -1 3 KOMA))
+ (gc . ,(ly:make-pitch -1 4 KOMA))
+ (ac . ,(ly:make-pitch -1 5 KOMA))
+ (bc . ,(ly:make-pitch -1 6 KOMA))
+
+ (cb . ,(ly:make-pitch -1 0 BAKIYE))
+ (db . ,(ly:make-pitch -1 1 BAKIYE))
+ (eb . ,(ly:make-pitch -1 2 BAKIYE))
+ (fb . ,(ly:make-pitch -1 3 BAKIYE))
+ (gb . ,(ly:make-pitch -1 4 BAKIYE))
+ (ab . ,(ly:make-pitch -1 5 BAKIYE))
+ (bb . ,(ly:make-pitch -1 6 BAKIYE))
+
+ (ck . ,(ly:make-pitch -1 0 KUCUK))
+ (dk . ,(ly:make-pitch -1 1 KUCUK))
+ (ek . ,(ly:make-pitch -1 2 KUCUK))
+ (fk . ,(ly:make-pitch -1 3 KUCUK))
+ (gk . ,(ly:make-pitch -1 4 KUCUK))
+ (ak . ,(ly:make-pitch -1 5 KUCUK))
+ (bk . ,(ly:make-pitch -1 6 KUCUK))
+
+ (cbm . ,(ly:make-pitch -1 0 BUYUKMUCENNEB))
+ (dbm . ,(ly:make-pitch -1 1 BUYUKMUCENNEB))
+ (ebm . ,(ly:make-pitch -1 2 BUYUKMUCENNEB))
+ (fbm . ,(ly:make-pitch -1 3 BUYUKMUCENNEB))
+ (gbm . ,(ly:make-pitch -1 4 BUYUKMUCENNEB))
+ (abm . ,(ly:make-pitch -1 5 BUYUKMUCENNEB))
+ (bbm . ,(ly:make-pitch -1 6 BUYUKMUCENNEB))
+
+ ;; f for flat.
+ (cfc . ,(ly:make-pitch -1 0 (- KOMA)))
+ (dfc . ,(ly:make-pitch -1 1 (- KOMA)))
+ (efc . ,(ly:make-pitch -1 2 (- KOMA)))
+ (ffc . ,(ly:make-pitch -1 3 (- KOMA)))
+ (gfc . ,(ly:make-pitch -1 4 (- KOMA)))
+ (afc . ,(ly:make-pitch -1 5 (- KOMA)))
+ (bfc . ,(ly:make-pitch -1 6 (- KOMA)))
+
+ (cfb . ,(ly:make-pitch -1 0 (- BAKIYE)))
+ (dfb . ,(ly:make-pitch -1 1 (- BAKIYE)))
+ (efb . ,(ly:make-pitch -1 2 (- BAKIYE)))
+ (ffb . ,(ly:make-pitch -1 3 (- BAKIYE)))
+ (gfb . ,(ly:make-pitch -1 4 (- BAKIYE)))
+ (afb . ,(ly:make-pitch -1 5 (- BAKIYE)))
+ (bfb . ,(ly:make-pitch -1 6 (- BAKIYE)))
+
+ (cfk . ,(ly:make-pitch -1 0 (- KUCUK)))
+ (dfk . ,(ly:make-pitch -1 1 (- KUCUK)))
+ (efk . ,(ly:make-pitch -1 2 (- KUCUK)))
+ (ffk . ,(ly:make-pitch -1 3 (- KUCUK)))
+ (gfk . ,(ly:make-pitch -1 4 (- KUCUK)))
+ (afk . ,(ly:make-pitch -1 5 (- KUCUK)))
+ (bfk . ,(ly:make-pitch -1 6 (- KUCUK)))
+
+ (cfbm . ,(ly:make-pitch -1 0 (- BUYUKMUCENNEB)))
+ (dfbm . ,(ly:make-pitch -1 1 (- BUYUKMUCENNEB)))
+ (efbm . ,(ly:make-pitch -1 2 (- BUYUKMUCENNEB)))
+ (ffbm . ,(ly:make-pitch -1 3 (- BUYUKMUCENNEB)))
+ (gfbm . ,(ly:make-pitch -1 4 (- BUYUKMUCENNEB)))
+ (afbm . ,(ly:make-pitch -1 5 (- BUYUKMUCENNEB)))
+ (bfbm . ,(ly:make-pitch -1 6 (- BUYUKMUCENNEB)))
+
+)
+
+
+%% set pitch names.
+pitchnames = \makamPitchNames
+#(ly:parser-set-note-names parser makamPitchNames)
+
+\paper
+{
+ ragged-right = ##t
+}
+
+
+makamGlyphs = #'((1 . "accidentals.doublesharp")
+ (8/9 . "accidentals.sharp.slashslashslash.stemstem")
+ (5/9 . "accidentals.sharp.slashslashslash.stem")
+ (4/9 . "accidentals.sharp")
+ (1/9 . "accidentals.sharp.slashslash.stem")
+ (0 . "accidentals.natural")
+ (-1/9 . "accidentals.mirroredflat")
+ (-4/9 . "accidentals.flat.slash")
+ (-5/9 . "accidentals.flat")
+ (-8/9 . "accidentals.flat.slashslash")
+ (-1 . "accidentals.flatflat")
+ )
+
+\relative {
+
+ %{ define alteration <-> symbol mapping. The following glyphs are available.
+
+ accidentals.sharp
+ accidentals.sharp.slashslash.stem
+ accidentals.sharp.slashslashslash.stemstem
+ accidentals.sharp.slashslashslash.stem
+ accidentals.sharp.slashslash.stemstemstem
+ accidentals.natural
+ accidentals.flat
+ accidentals.flat.slash
+ accidentals.flat.slashslash
+ accidentals.mirroredflat.flat
+ accidentals.mirroredflat
+ accidentals.flatflat
+ accidentals.flatflat.slash
+ accidentals.doublesharp
+
+ %}
+
+ \override Accidental #'glyph-name-alist = \makamGlyphs
+
+ \override Staff.KeySignature #'glyph-name-alist = \makamGlyphs
+ \set Staff.keySignature = #'(
+ (3 . 4/9)
+ (6 . -1/9))
+
+ c cc db fk gbm gfc gfb efk dfbm
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: other
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+Setting the @code{transparent} property will cause an object to be
+printed in `invisible ink': the object is not printed, but all its
+other behavior is retained. The object still takes up space, it takes
+part in collisions, and slurs, and ties and beams can be attached to it.
+
+
+The snippet demonstrates how to connect different voices using ties.
+Normally, ties only connect two notes in the same voice. By
+introducing a tie in a different voice, and blanking the first up-stem
+in that voice, the tie appears to cross voices.
+" }
+
+\relative c'' {
+<< {
+ \once \override Stem #'transparent = ##t
+ b8~ b8\noBeam
+} \\ {
+ b[ g8]
+} >>
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text
+\version "2.11.35"
+
+\header {
+ texidoc = "Text that can spread over pages is entered with the
+@code{\\markuplines} command."
+}
+
+#(set-default-paper-size "a6")
+
+#(define-markup-list-command (paragraph layout props args) (markup-list?)
+ (interpret-markup-list layout props
+ (make-justified-lines-markup-list (cons (make-hspace-markup 2) args))))
+
+%% Candide, Voltaire
+\markuplines \override-lines #'(baseline-skip . 2.5) {
+ \paragraph {
+ Il y avait en Westphalie, dans le château de M. le baron de
+ Thunder-ten-tronckh, un jeune garçon à qui la nature avait donné
+ les mœurs les plus douces. Sa physionomie annonçait son âme.
+ Il avait le jugement assez droit, avec l'esprit le plus simple ;
+ c'est, je crois, pour cette raison qu'on le nommait Candide. Les
+ anciens domestiques de la maison soupçonnaient qu'il était fils
+ de la sœur de monsieur le baron et d'un bon et honnête
+ gentilhomme du voisinage, que cette demoiselle ne voulut jamais
+ épouser parce qu'il n'avait pu prouver que soixante et onze
+ quartiers, et que le reste de son arbre généalogique avait été
+ perdu par l'injure du temps.
+ }
+ \paragraph {
+ Monsieur le baron était un des plus puissants seigneurs de la
+ Westphalie, car son château avait une porte et des fenêtres. Sa
+ grande salle même était ornée d'une tapisserie. Tous les chiens
+ de ses basses-cours composaient une meute dans le besoin ; ses
+ palefreniers étaient ses piqueurs; le vicaire du village était
+ son grand-aumônier. Ils l'appelaient tous monseigneur, et ils
+ riaient quand il faisait des contes.
+ }
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches, staff-notation
+\version "2.11.35"
+
+\header { texidoc = "
+The commonly used @code{\\key} command sets the context property
+Staff.keySignature. However, non-standard key signatures can be
+specified by setting this property directly. The format of this command
+is a list: @code{ \\set Staff.keySignature =
+ #'((octave . step) . alter) } where, for each element in the list,
+octave specifies the octave (0 being the octave from middle C to the B
+above), step specifies the note within the octave (0 means C and 6
+means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the
+leading comma.) Here is an example of a possible key signature for
+generating a whole-tone scale:
+
+
+" }
+
+\relative c' {
+ \new Staff {
+ \set Staff.keySignature =
+ #`(((0 . 3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
+ c d e fis aes bes c2
+ }
+ }
+
--- /dev/null
+@node Other
+@unnumbered Other
+
+@lysnippets
+
--- /dev/null
+applying-noteheads-styles-depending-on-the-step-of-the-scale.ly
+using-the--tweak-command-to-tweak-individual-grobs.ly
+drawing-circles-around-various-objects.ly
+making-an-object-invisibile-with-the-transparent-property.ly
+drawing-boxes-around-grobs.ly
+outputting-the-version-number.ly
+++ /dev/null
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-## Hmm, would this work? No -- if we really want examples, move
-## to other dir (input/) comes to mind.
-## examples = font20 ancient-font
-## LOCALSTEPMAKE_TEMPLATES += ly mutopia
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Advanced snippets
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Advanced snippets')
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-The shapeNoteStyles property gives you the ability to define various
-note heads styles for each step of the scale (as defined by the key
-signature or the \"tonic\" property).
-
-This property requires a set of symbols, which can be purely arbitrary
-(geometrical expressions such as triangle, cross, xcircle etc. are
-allowed) or based on old American engraving tradition (you can use some
-latin note names as well).
-
-That said, if you're trying to imitate old American song books, you may
-also want to try LilyPond's predefined note heads styles, through
-shortcut commands such as \aikenHeads or \sacredHarpHeads.
-
-This exemple shows different ways to obtain shape note heads, and
-demonstrates the ability to transpose a melody without losing the
-correspondance between harmonic functions and note heads styles.
-" }
-
-fragment = {
- \key c \major
- c1 d e f g a b c
- \break
-}
-
-\relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
-}
-
-% temporary change help LSR integration -gp
-%{
-\transpose c d
- \relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
-}
-
-\relative {
- \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
- \fragment
-}
-%}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-The @code{print-function} can be overridden to draw a box around an
-arbitrary grob.
-" }
-
-\relative c'' {
-
- \override TextScript #'stencil =
- #(make-stencil-boxer 0.1 0.3 ly:text-interface::print)
-
- c'4^"foo"
-
- \override Stem #'stencil =
- #(make-stencil-boxer 0.05 0.25 ly:stem::print)
-
- \override Score.RehearsalMark #'stencil =
- #(make-stencil-boxer 0.15 0.3 ly:text-interface::print)
- b8
- \revert Stem #'stencil
-
-
- c4. c4 \mark "F" c1
-}
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-The \circle command allows you to draw circles around various objects
-(for example fingering indications). However, some objects require
-specific tweaks: rehearsal marks depend on the Score.markFormatter
-context, bar numbers on the Score.BarNumber context, and so on.
-
-You can tweak the printing of your circles by setting some properties
-such as #'thickness, #'circle-padding or #'font-size.
-" }
-
-\relative c'{
-c1
-\set Score.markFormatter
- = #(lambda (mark context)
- (make-circle-markup (format-mark-numbers mark context)))
-\mark \default
-c2 d^\markup{\circle \finger "2"}
-\override Score.BarNumber #'break-visibility = #all-visible
-\override Score.BarNumber #'stencil
- = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-Setting the @code{transparent} property will cause an object to be
-printed in `invisible ink': the object is not printed, but all its
-other behavior is retained. The object still takes up space, it takes
-part in collisions, and slurs, and ties and beams can be attached to it.
-
-
-The snippet demonstrates how to connect different voices using ties.
-Normally, ties only connect two notes in the same voice. By
-introducing a tie in a different voice, and blanking the first up-stem
-in that voice, the tie appears to cross voices.
-" }
-
-\relative c'' {
-<< {
- \once \override Stem #'transparent = ##t
- b8~ b8\noBeam
-} \\ {
- b[ g8]
-} >>
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-By putting the output of
- @code{lilypond-version} into a lyric, it is possible to print the
- version number of LilyPond in a score, or in a document generated
- with @code{lilypond-book}. Another possibility is to append the
- version number to the doc-string, in this manner:
-" }
-
-\score { \context Lyrics {
- \override Score.RehearsalMark #'self-alignment-X = #LEFT
- \mark #(ly:export (string-append "Processed with LilyPond version " (lilypond-version)))
- s2
- }
-}
-
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-With the @code{\tweak} command, you can tune every grob directly. Here
-are some examples of available tweaks.
-
-
-" }
-
-\paper {
- ragged-right = ##t
-}
-
-{
- \set fingeringOrientations = #'(right)
- <
- \tweak #'font-size #3 c
- \tweak #'color #red d-\tweak #'font-size #8 -4
- \tweak #'style #'cross g
- \tweak #'duration-log #1 a
- >4
-}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: other
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+By putting the output of
+ @code{lilypond-version} into a lyric, it is possible to print the
+ version number of LilyPond in a score, or in a document generated
+ with @code{lilypond-book}. Another possibility is to append the
+ version number to the doc-string, in this manner:
+" }
+
+\score { \context Lyrics {
+ \override Score.RehearsalMark #'self-alignment-X = #LEFT
+ \mark #(ly:export (string-append "Processed with LilyPond version " (lilypond-version)))
+ s2
+ }
+}
+
+
+
--- /dev/null
+@node Percussion
+@unnumbered Percussion
+
+@lysnippets
+
--- /dev/null
+adding-drum-parts.ly
+heavily-customized-polymetric-time-signatures.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-LilyPond makes drums input quite easy, with powerful pre-configured
-tools such as the \\drummode function and the DrumStaff context: drums
-are placed to their own staff positions (with a special clef symbol)
-and have note heads according to the drum. You can easily attach an
-extra symbol to the drum, and restrict the number of lines.
-" }
-
-drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
-drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} }
-
-\score {
- \repeat "volta" 2 {
- <<
- \new DrumStaff \with {
- drumStyleTable = #timbales-style
- \override StaffSymbol #'line-count = #2
- \override BarLine #'bar-size = #2
- } <<
- \set Staff.instrumentName = "timbales"
- \timb
- >>
- \new DrumStaff <<
- \set Staff.instrumentName = "drums"
- \new DrumVoice {\stemUp \drh }
- \new DrumVoice {\stemDown \drl }
- >>
- >>
- }
- \layout {}
-
- \midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 120 4)
- }
- }
-
-
-}
-
--- /dev/null
+@node Piano
+@unnumbered Piano
+
+@lysnippets
+
--- /dev/null
+clusters.ly
+demo-midiinstruments.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
--- /dev/null
+@node Pitches
+@unnumbered Pitches
+
+@lysnippets
+
--- /dev/null
+applying-noteheads-styles-depending-on-the-step-of-the-scale.ly
+glissando-contempary.ly
+ambiti-multiple-voices.ly
+volta-multi-staff.ly
+transposing-pitches-with-minimum-accidentals-smart-transpose.ly
+makam.ly
+preventing-extra-naturals-from-being-automatically-added.ly
+generating-random-notes.ly
+adding-ambiti-per-voice.ly
+clefs-commonly-tweaked-properties.ly
+dodecaphonic-style-accidentals-for-each-note-including-naturals.ly
+preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly
+creating-music-with-scheme-music-box.ly
+creating-a-sequence-of-notes-on-various-pitches.ly
+non-traditional-key-signatures.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Ambits can be added per voice. In that case, the ambitus must be moved
-manually to prevent collisions.
-" }
-
-{
-\new Staff <<
- \new Voice \with {
- \consists "Ambitus_engraver"
- } \relative c'' {
- \override Ambitus #'X-offset = # 2.0
- \voiceOne
- c4 a d e f1
- }
- \new Voice \with {
- \consists "Ambitus_engraver"
- } \relative c' {
- \voiceTwo
- es4 f g as b1
- }
->>
-
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-If you have multiple voices in a single staff and you want a single
-ambitus per staff rather than per voice, add the
-@code{Ambitus_engraver} to the @code{Staff} context rather than to the
-@code{Voice} context.
-
-This example uses one advanced feature,
-
-
-@code{ \\override Ambitus #'X-offset = #-1.0 }
-
-
-
-This code moves the ambitus to the left. The same effect could have
-been achieved with @code{extra-offset}, but then the formatting system
-would not reserve space for the moved object.
-
-
-
-" }
-
-\new Staff \with {
- \consists "Ambitus_engraver"
-}
-<<
- \new Voice \with {
- \remove "Ambitus_engraver"
- } \relative c'' {
- \override Ambitus #'X-offset = #-1.0
- \voiceOne
- c4 a d e f2
- }
- \new Voice \with {
- \remove "Ambitus_engraver"
- } \relative c' {
- \voiceTwo
- es4 f g as b2
- }
->>
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The shapeNoteStyles property gives you the ability to define various
-note heads styles for each step of the scale (as defined by the key
-signature or the \"tonic\" property).
-
-This property requires a set of symbols, which can be purely arbitrary
-(geometrical expressions such as triangle, cross, xcircle etc. are
-allowed) or based on old American engraving tradition (you can use some
-latin note names as well).
-
-That said, if you're trying to imitate old American song books, you may
-also want to try LilyPond's predefined note heads styles, through
-shortcut commands such as \\aikenHeads or \\sacredHarpHeads.
-
-This exemple shows different ways to obtain shape note heads, and
-demonstrates the ability to transpose a melody without losing the
-correspondance between harmonic functions and note heads styles.
-" }
-
-fragment = {
- \key c \major
- c1 d e f g a b c
- \break
-}
-
-\relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
-}
-
-% temporary change help LSR integration -gp
-%{
-\transpose c d
- \relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
-}
-
-\relative {
- \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
- \fragment
-}
-%}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The command @code{\\clef \"treble_8\"} is equivalent to setting
-@code{clefGlyph}, @code{clefPosition} (which controls the Y position of
-the clef), @code{middleCPosition} and @code{clefOctavation}. A clef is
-printed when any of these properties are changed.
-
-
-Note that changing the glyph, the position of the clef, or the
-octavation, does not in itself change the position of subsequent notes
-on the staff: the position of middle C must also be specified to do
-this. The positional parameters are relative to the staff centre line,
-positive numbers displacing upwards, counting 1 for each line and
-space. The clefOctavation value would normally be set to 7, -7, 15 or
--15, but other values are not invalid.
-
-
-When a clef change takes place at a line break the new clef symbol is
-printed at both the end of the previous line and the beginning of the
-new line by default. If the warning clef at the end of the previous
-line in not required it can be suppressed by setting the
-explicitClefVisibility Staff property to the value @code{
-end-of-line-invisible: \\set Staff.explicitClefVisibility =
-#end-of-line-invisible } The default behaviour can be recovered with
-@code{\\unset Staff.explicitClefVisibility}
-
-
-The following examples show the possibilities when setting these
-properties manually. On the first line, the manual changes preserve the
-standard relative positioning of clefs and notes, whereas on the second
-line, they do not.
-" }
-
-{
- % The default treble clef
- c'4
- % The standard bass clef
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- \set Staff.middleCPosition = #6
- c'4
- % The baritone clef
- \set Staff.clefGlyph = #"clefs.C"
- \set Staff.clefPosition = #4
- \set Staff.middleCPosition = #4
- c'4
- % The standard choral tenor clef
- \set Staff.clefGlyph = #"clefs.G"
- \set Staff.clefPosition = #-2
- \set Staff.clefOctavation = #-7
- \set Staff.middleCPosition = #1
- c'4
- % A non-standard clef
- \set Staff.clefPosition = #0
- \set Staff.clefOctavation = #0
- \set Staff.middleCPosition = #-4
- c'4 \break
-
- % The following clef changes do not preserve
- % the normal relationship between notes and clefs:
-
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- c'4
- \set Staff.clefGlyph = #"clefs.G"
- c'4
- \set Staff.clefGlyph = #"clefs.C"
- c'4
- \set Staff.clefOctavation = #7
- c'4
- \set Staff.clefOctavation = #0
- \set Staff.clefPosition = #0
- c'4
- \set Staff.middleCPosition = #4
- c'4
- }
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In music that contains many occurrences of the same sequence of notes
-at different pitches, you can use the following music function. It
-takes a note, of which the pitch is used. The supporting Scheme
-functions were borrowed from the Tips and Tricks document in the manual.
-
-This example creates the rhythm used throughout Mars, from The Planets,
-by Gustav Holst.
-" }
-
-#(define (make-note-req p d)
- (make-music 'NoteEvent
- 'duration d
- 'pitch p))
-
-#(define (make-note p d)
- (make-music 'EventChord
- 'elements (list (make-note-req p d))))
-
-#(define (seq-music-list elts)
- (make-music 'SequentialMusic
- 'elements elts))
-
-#(define (make-triplet elt)
- (make-music 'TimeScaledMusic
- 'denominator 3
- 'numerator 2
- 'element elt))
-
-
-rhythm = #(define-music-function (parser location note) (ly:music?)
- "Make the rhythm in Mars (the Planets) at the given note's pitch"
- (let* ((p (ly:music-property
- (car (ly:music-property note 'elements))
- 'pitch)))
- (seq-music-list (list
- (make-triplet (seq-music-list (list
- (make-note p (ly:make-duration 3 0 2 3))
- (make-note p (ly:make-duration 3 0 2 3))
- (make-note p (ly:make-duration 3 0 2 3))
- )))
- (make-note p (ly:make-duration 2 0))
- (make-note p (ly:make-duration 2 0))
- (make-note p (ly:make-duration 3 0))
- (make-note p (ly:make-duration 3 0))
- (make-note p (ly:make-duration 2 0))
- ))))
-
-\score {
- \new Staff {
- \time 5/4
-
- \rhythm c'
- \rhythm c''
- \rhythm g
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This example shows prelude in C major of Bach's Well-Tempered Klavier
-1, but coded using Scheme functions to avoid typing work.
-
-BROKEN (?) IN 2.11, COMMENTED OUT.
-" }
-
-{ c'4 }
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In early XXth century works, starting with Schönberg, Berg and Webern
-(the \"second\" Viennese school), every pitch in the twelve- note scale
-has to be regarded as equal, without any hierarchy such as the
-classical (tonal) degrees. Therefore, these composers print one
-accidental for each note, even at natural pitches, to emphasize their
-new approach to music theory and language. This snippet shows how to
-achieve such notation rules with LilyPond.
-" }
-
-% thanks to Rune Zedeler for this cool function :)
-
-webernAccidentals = {
- % the 5s are just "a value different from any accidental"
- \set Staff.keySignature = #'((0 . 5) (1 . 5) (2 . 5) (3 . 5)
- (4 . 5) (5 . 5) (6 . 5))
- \set Staff.extraNatural = ##f
- #(set-accidental-style 'forget)
-}
-
-\layout {
- \context { \Staff \remove Key_engraver }
-}
-\score {
- {
- \webernAccidentals
- c' dis' cis' cis'
- c' dis' cis' cis'
- c' c' dis' des'
- }
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This Scheme-based snippet allows you to generate 32 random notes (or as
-many as you want), based on the current time (or any randomish number
-you might wish to specify instead, so you can obtain the same random
-notes each time): i.e. to get different random notes patterns, just
-change this number.
-" }
-
-\score {
-{ #(let ((random-state (seed->random-state (current-time))))
- (ly:export
- (make-music 'SequentialMusic 'elements
- (map (lambda x
- (let ((idx (random 12 random-state)))
- (make-music 'EventChord
- 'elements (list (make-music 'NoteEvent
- 'duration (ly:make-duration 2 0 1 1)
- 'pitch (ly:make-pitch (quotient idx 7)
- (remainder idx 7)
- 0))))))
- (make-list 32)))))
- }
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\header {
-
- texidoc = "Makam is Turkish type of melody that uses 1/9 tone
- microtonal alterations."
-
-}
-
-
-\version "2.11.35"
-
-%{
-
-Define 1/9 alterations.
-
-%}
-
-
-#(define-public KOMA 1/9)
-#(define-public BAKIYE 4/9)
-#(define-public KUCUK 5/9)
-#(define-public BUYUKMUCENNEB 8/9)
-
-%{
-
-Define pitch names
-
-%}
-
-makamPitchNames = #`(
- (c . ,(ly:make-pitch -1 0 NATURAL))
- (d . ,(ly:make-pitch -1 1 NATURAL))
- (e . ,(ly:make-pitch -1 2 NATURAL))
- (f . ,(ly:make-pitch -1 3 NATURAL))
- (g . ,(ly:make-pitch -1 4 NATURAL))
- (a . ,(ly:make-pitch -1 5 NATURAL))
- (b . ,(ly:make-pitch -1 6 NATURAL))
-
- (cc . ,(ly:make-pitch -1 0 KOMA))
- (dc . ,(ly:make-pitch -1 1 KOMA))
- (ec . ,(ly:make-pitch -1 2 KOMA))
- (fc . ,(ly:make-pitch -1 3 KOMA))
- (gc . ,(ly:make-pitch -1 4 KOMA))
- (ac . ,(ly:make-pitch -1 5 KOMA))
- (bc . ,(ly:make-pitch -1 6 KOMA))
-
- (cb . ,(ly:make-pitch -1 0 BAKIYE))
- (db . ,(ly:make-pitch -1 1 BAKIYE))
- (eb . ,(ly:make-pitch -1 2 BAKIYE))
- (fb . ,(ly:make-pitch -1 3 BAKIYE))
- (gb . ,(ly:make-pitch -1 4 BAKIYE))
- (ab . ,(ly:make-pitch -1 5 BAKIYE))
- (bb . ,(ly:make-pitch -1 6 BAKIYE))
-
- (ck . ,(ly:make-pitch -1 0 KUCUK))
- (dk . ,(ly:make-pitch -1 1 KUCUK))
- (ek . ,(ly:make-pitch -1 2 KUCUK))
- (fk . ,(ly:make-pitch -1 3 KUCUK))
- (gk . ,(ly:make-pitch -1 4 KUCUK))
- (ak . ,(ly:make-pitch -1 5 KUCUK))
- (bk . ,(ly:make-pitch -1 6 KUCUK))
-
- (cbm . ,(ly:make-pitch -1 0 BUYUKMUCENNEB))
- (dbm . ,(ly:make-pitch -1 1 BUYUKMUCENNEB))
- (ebm . ,(ly:make-pitch -1 2 BUYUKMUCENNEB))
- (fbm . ,(ly:make-pitch -1 3 BUYUKMUCENNEB))
- (gbm . ,(ly:make-pitch -1 4 BUYUKMUCENNEB))
- (abm . ,(ly:make-pitch -1 5 BUYUKMUCENNEB))
- (bbm . ,(ly:make-pitch -1 6 BUYUKMUCENNEB))
-
- ;; f for flat.
- (cfc . ,(ly:make-pitch -1 0 (- KOMA)))
- (dfc . ,(ly:make-pitch -1 1 (- KOMA)))
- (efc . ,(ly:make-pitch -1 2 (- KOMA)))
- (ffc . ,(ly:make-pitch -1 3 (- KOMA)))
- (gfc . ,(ly:make-pitch -1 4 (- KOMA)))
- (afc . ,(ly:make-pitch -1 5 (- KOMA)))
- (bfc . ,(ly:make-pitch -1 6 (- KOMA)))
-
- (cfb . ,(ly:make-pitch -1 0 (- BAKIYE)))
- (dfb . ,(ly:make-pitch -1 1 (- BAKIYE)))
- (efb . ,(ly:make-pitch -1 2 (- BAKIYE)))
- (ffb . ,(ly:make-pitch -1 3 (- BAKIYE)))
- (gfb . ,(ly:make-pitch -1 4 (- BAKIYE)))
- (afb . ,(ly:make-pitch -1 5 (- BAKIYE)))
- (bfb . ,(ly:make-pitch -1 6 (- BAKIYE)))
-
- (cfk . ,(ly:make-pitch -1 0 (- KUCUK)))
- (dfk . ,(ly:make-pitch -1 1 (- KUCUK)))
- (efk . ,(ly:make-pitch -1 2 (- KUCUK)))
- (ffk . ,(ly:make-pitch -1 3 (- KUCUK)))
- (gfk . ,(ly:make-pitch -1 4 (- KUCUK)))
- (afk . ,(ly:make-pitch -1 5 (- KUCUK)))
- (bfk . ,(ly:make-pitch -1 6 (- KUCUK)))
-
- (cfbm . ,(ly:make-pitch -1 0 (- BUYUKMUCENNEB)))
- (dfbm . ,(ly:make-pitch -1 1 (- BUYUKMUCENNEB)))
- (efbm . ,(ly:make-pitch -1 2 (- BUYUKMUCENNEB)))
- (ffbm . ,(ly:make-pitch -1 3 (- BUYUKMUCENNEB)))
- (gfbm . ,(ly:make-pitch -1 4 (- BUYUKMUCENNEB)))
- (afbm . ,(ly:make-pitch -1 5 (- BUYUKMUCENNEB)))
- (bfbm . ,(ly:make-pitch -1 6 (- BUYUKMUCENNEB)))
-
-)
-
-
-%% set pitch names.
-pitchnames = \makamPitchNames
-#(ly:parser-set-note-names parser makamPitchNames)
-
-\paper
-{
- ragged-right = ##t
-}
-
-
-makamGlyphs = #'((1 . "accidentals.doublesharp")
- (8/9 . "accidentals.sharp.slashslashslash.stemstem")
- (5/9 . "accidentals.sharp.slashslashslash.stem")
- (4/9 . "accidentals.sharp")
- (1/9 . "accidentals.sharp.slashslash.stem")
- (0 . "accidentals.natural")
- (-1/9 . "accidentals.mirroredflat")
- (-4/9 . "accidentals.flat.slash")
- (-5/9 . "accidentals.flat")
- (-8/9 . "accidentals.flat.slashslash")
- (-1 . "accidentals.flatflat")
- )
-
-\relative {
-
- %{ define alteration <-> symbol mapping. The following glyphs are available.
-
- accidentals.sharp
- accidentals.sharp.slashslash.stem
- accidentals.sharp.slashslashslash.stemstem
- accidentals.sharp.slashslashslash.stem
- accidentals.sharp.slashslash.stemstemstem
- accidentals.natural
- accidentals.flat
- accidentals.flat.slash
- accidentals.flat.slashslash
- accidentals.mirroredflat.flat
- accidentals.mirroredflat
- accidentals.flatflat
- accidentals.flatflat.slash
- accidentals.doublesharp
-
- %}
-
- \override Accidental #'glyph-name-alist = \makamGlyphs
-
- \override Staff.KeySignature #'glyph-name-alist = \makamGlyphs
- \set Staff.keySignature = #'(
- (3 . 4/9)
- (6 . -1/9))
-
- c cc db fk gbm gfc gfb efk dfbm
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The commonly used @code{\\key} command sets the context property
-Staff.keySignature. However, non-standard key signatures can be
-specified by setting this property directly. The format of this command
-is a list: @code{ \\set Staff.keySignature =
- #'((octave . step) . alter) } where, for each element in the list,
-octave specifies the octave (0 being the octave from middle C to the B
-above), step specifies the note within the octave (0 means C and 6
-means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the
-leading comma.) Here is an example of a possible key signature for
-generating a whole-tone scale:
-
-
-" }
-
-\relative c' {
- \new Staff {
- \set Staff.keySignature =
- #`(((0 . 3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
- c d e fis aes bes c2
- }
- }
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In accordance with standard typesetting rules, a natural sign is
-printed before a sharp or flat if a previous accidental on the same
-note needs to be canceled. To change this behavior, set the
-extraNatural property to \"false\" in the Staff context.
-" }
-
-\relative {
-aeses'4 aes ais a
-\set Staff.extraNatural = ##f
-aeses4 aes ais a
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-When the key signature changes, natural signs are automatically printed
-to cancel any accidentals from previous key signatures. This may be
-altered by setting to \"false\" the printKeyCancellation property in
-the Staff context.
-" }
-
-\relative {
-\key d \major
-a b cis d
-\key g \minor
-a bes c d
-\set Staff.printKeyCancellation = ##f
-\key d \major
-a b cis d
-\key g \minor
-a bes c d
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-There is a way to enforce enharmonic modifications for notes in order
-to have the minimum number of accidentals. In that case, ``Double
-accidentals should be removed, as well as E-sharp (-> F), bC (-> B), bF
-(-> E), B-sharp (-> C).'', as proposed by a request for a new feature.
-In this manner, the most natural enharmonic notes are chosen in this
-example.
-" }
-
-#(define (naturalise-pitch p)
- (let* ((o (ly:pitch-octave p))
- (a (ly:pitch-alteration p))
- (n (ly:pitch-notename p)))
-
- (cond
- ((and (> a 1) (or (eq? n 6) (eq? n 2)))
- (set! a (- a 2))
- (set! n (+ n 1)))
- ((and (< a -1) (or (eq? n 0) (eq? n 3)))
- (set! a (+ a 2))
- (set! n (- n 1))))
-
- (cond
- ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
- ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
-
- (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
- (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
-
- (ly:make-pitch o n a)))
-
-#(define (naturalise music)
- (let* ((es (ly:music-property music 'elements))
- (e (ly:music-property music 'element))
- (p (ly:music-property music 'pitch)))
-
- (if (pair? es)
- (ly:music-set-property!
- music 'elements
- (map (lambda (x) (naturalise x)) es)))
-
- (if (ly:music? e)
- (ly:music-set-property!
- music 'element
- (naturalise e)))
-
- (if (ly:pitch? p)
- (begin
- (set! p (naturalise-pitch p))
- (ly:music-set-property! music 'pitch p)))
-
- music))
-
-music = \relative c' { c4 d e f g a b c }
-
-naturaliseMusic =
-#(define-music-function (parser location m)
- (ly:music?)
- (naturalise m))
-
-\score {
- \context Staff {
- \transpose c ais \music
- \naturaliseMusic \transpose c ais \music
- \transpose c deses \music
- \naturaliseMusic \transpose c deses \music
- }
- \layout { ragged-right = ##t}
-}
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\header {
- texidoc = "By adding @code{Volta_engraver}, repeat brackets
- can be put over staves other than the topmost one in a score."
-}
-
-\version "2.11.36"
-
-vmus = {
- \repeat volta 2 c1 \alternative { d e }
-}
-
-\relative c'' <<
- \new StaffGroup <<
- \context Staff \vmus
- \new Staff \vmus
- >>
- \new StaffGroup <<
- \new Staff \with { \consists Volta_engraver }
- \vmus
- \new Staff \vmus
- >>
->>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: repeats
+\version "2.11.35"
+
+\header { texidoc = "
+If you want to place an exiting segno sign and add text like \"D.S. al
+Coda\" next to it where usually the staff lines are you can use this
+snippet. The coda will resume in a new line. Theres a variation
+documented in this snippet, where the coda will remain on the same
+line.
+" }
+
+{
+ \clef treble
+ \key g \major
+ \time 4/4
+ \relative c'' {
+ \repeat unfold 2 {
+ | c4 c c c
+ }
+
+ % Set segno sign as rehearsal mark and adjust size if needed
+ % \once \override Score.RehearsalMark #'font-size = #3
+ \mark \markup { \musicglyph #"scripts.segno" }
+ \repeat unfold 2 {
+ | c4 c c c
+ }
+
+ % Set coda sign as rehearsal mark and adjust size if needed
+ \once \override Score.RehearsalMark #'font-size = #4
+ \mark \markup { \musicglyph #"scripts.coda" }
+ \repeat unfold 2 {
+ | c4 c c c
+ }
+
+ % Should Coda be on anew line?
+ % Coda NOT on new line: use \nobreak
+ % Coda on new line: DON'T use \nobreak
+ % \noBreak
+
+ \bar "||"
+
+ % Set segno sign as rehearsal mark and adjust size if needed
+ \once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
+ % \once \override Score.RehearsalMark #'font-size = #3
+ \mark \markup { \musicglyph #"scripts.segno" }
+
+ % Here begins the trickery!
+ % \cadenzaOn will suppress the bar count and \stopStaff removes the staff lines.
+ \cadenzaOn
+ \stopStaff
+ % Some examples of possible text-displays
+
+ % text line-aligned
+ % ==================
+ % Move text to the desired position
+ % \once \override TextScript #'extra-offset = #'( 2 . -3.5 )
+ % | s1*0^\markup { D.S. al Coda } }
+
+ % text center-aligned
+ % ====================
+ % Move text to the desired position
+ % \once \override TextScript #'extra-offset = #'( 6 . -5.0 )
+ % | s1*0^\markup { \center-align { D.S. "al Coda" } }
+
+ % text and symbols center-aligned
+ % ===============================
+ % Move text to the desired position and tweak spacing for optimum text alignment
+ \once \override TextScript #'extra-offset = #'( 8 . -5.5 )
+ \once \override TextScript #'word-space = #1.5
+ | s1*0^\markup { \center-align { "D.S. al Coda" \line { \musicglyph #"scripts.coda" \musicglyph #"scripts.tenuto" \musicglyph #"scripts.coda"} } }
+
+ % Increasing the unfold counter will expand the staff-free space
+ \repeat unfold 4 {
+ s4 s4 s4 s4
+ \bar ""
+ }
+ % Resume bar count and show staff lines again
+ \startStaff
+ \cadenzaOff
+
+ % Should Coda be on new line?
+ % Coda NOT on new line: DON'T use \break
+ % Coda on new line: use \break
+ \break
+
+ % Show up, you clef and key!
+ \once \override Staff.KeySignature #'break-visibility = #end-of-line-invisible
+ \once \override Staff.Clef #'break-visibility = #end-of-line-invisible
+
+ % Set coda sign as rehearsal mark and adjust size and position
+
+ % Put the coda sign ontop of the (treble-)clef dependend on coda's line-position
+
+ % Coda NOT on new line, use this:
+ % \once \override Score.RehearsalMark #'extra-offset = #'( -2 . 1.75 )
+
+ % Coda on new line, use this:
+ \once \override Score.RehearsalMark #'extra-offset = #'( -8.42 . 1.75 )
+
+ \once \override Score.RehearsalMark #'font-size = #5
+ \mark \markup { \musicglyph #"scripts.coda" }
+
+ % The coda
+ \repeat unfold 5 {
+ | c4 c c c
+ }
+ \bar"|."
+ }
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+In accordance with standard typesetting rules, a natural sign is
+printed before a sharp or flat if a previous accidental on the same
+note needs to be canceled. To change this behavior, set the
+extraNatural property to \"false\" in the Staff context.
+" }
+
+\relative {
+aeses'4 aes ais a
+\set Staff.extraNatural = ##f
+aeses4 aes ais a
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+When the key signature changes, natural signs are automatically printed
+to cancel any accidentals from previous key signatures. This may be
+altered by setting to \"false\" the printKeyCancellation property in
+the Staff context.
+" }
+
+\relative {
+\key d \major
+a b cis d
+\key g \minor
+a bes c d
+\set Staff.printKeyCancellation = ##f
+\key d \major
+a b cis d
+\key g \minor
+a bes c d
+}
--- /dev/null
+@node Repeats
+@unnumbered Repeats
+
+@lysnippets
+
--- /dev/null
+positioning-segno-and-coda-with-line-break.ly
+volta-multi-staff.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\header {
- texidoc = "By adding @code{Volta_engraver}, repeat brackets
- can be put over staves other than the topmost one in a score."
-}
-
-\version "2.11.36"
-
-vmus = {
- \repeat volta 2 c1 \alternative { d e }
-}
-
-\relative c'' <<
- \new StaffGroup <<
- \context Staff \vmus
- \new Staff \vmus
- >>
- \new StaffGroup <<
- \new Staff \with { \consists Volta_engraver }
- \vmus
- \new Staff \vmus
- >>
->>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: rhythms, editorial-and-educational-use
+\version "2.11.35"
+
+\header { texidoc = "
+In \"simple\" lead-sheets, sometimes no actual notes are written,
+instead only \"rhythmic patterns\" and chords above the measures are
+noted giving the structure of a song. Such a feature is for example
+useful while creating/transcribing the structure of a song and also
+when sharing lead sheets with guitarists or jazz musicians.
+
+The standard support for this is described in section \"Measure
+repeats\", but then the first beat has to be an ordinary note or rest.
+
+This example shows two solutions to this problem, by redefining
+ordinary rests to be printed as slashes. (If the duration of each beat
+is not a quarter note, replace the r4 in the definitions by a rest of
+the appropriate duration).
+" }
+
+% Macro to print single slash
+rs = {
+\once \override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
+\once \override Rest #'thickness = #'0.48
+\once \override Rest #'slope = #'1.7
+r4
+}
+
+
+% Function to print a specified number of slashes
+comp = #(define-music-function (parser location count) ( integer?)
+#{
+\override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
+\override Rest #'thickness = #'0.48
+\override Rest #'slope = #'1.7
+\repeat unfold $count { r4 }
+\revert Rest #'stencil
+#})
+
+\score{
+\relative c'{
+ c d e f | \rs \rs \rs \rs | \comp #4 |
+}
+}
--- /dev/null
+@node Rhythms
+@unnumbered Rhythms
+
+@lysnippets
+
--- /dev/null
+altering-the-number-of-stems-in-a-beam.ly
+chant-or-psalms-notation.ly
+conducting-signs,-measure-grouping-signs.ly
+heavily-customized-polymetric-time-signatures.ly
+rhythmic-slashes.ly
+adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly
+changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
+automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
+automatic-beam-subdivisions.ly
+controlling-tuplet-bracket-visibility.ly
+beam-across-line-breaks.ly
+adding-drum-parts.ly
+compound-time-signatures.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{ texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file.
-
-@ifhtml
-Also available as a @uref{collated-files.pdf,PDF}
-@end ifhtml
-"}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-LilyPond syntax can involve many unusual placements for parentheses,
-brackets etc., which might sometimes have to be interleaved.For
-example, when entering a manual beam, the left square bracket has to be
-placed after the starting note and its duration, not before. Similarly,
-the right square bracket should directly follow the note which is to be
-at the end of the requested beaming, even if this note happens to be
-inside a tuplet section. This snippet demonstrates how to superpose
-manual beaming, manual slurs, ties, and phrasing slurs, while using
-tuplet sections (enclosed with curly braces).
-" }
-
-{
- r16[ g16 \times 2/3 {r16 e'8] }
-
- g16( a \times 2/3 {b d e') }
-
- g8[( a \times 2/3 {b d') e'~]}
-
- \times 4/5 {e'32\( a b d' e'} a'4.\)
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-LilyPond makes drums input quite easy, with powerful pre-configured
-tools such as the \\drummode function and the DrumStaff context: drums
-are placed to their own staff positions (with a special clef symbol)
-and have note heads according to the drum. You can easily attach an
-extra symbol to the drum, and restrict the number of lines.
-" }
-
-drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
-drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} }
-
-\score {
- \repeat "volta" 2 {
- <<
- \new DrumStaff \with {
- drumStyleTable = #timbales-style
- \override StaffSymbol #'line-count = #2
- \override BarLine #'bar-size = #2
- } <<
- \set Staff.instrumentName = "timbales"
- \timb
- >>
- \new DrumStaff <<
- \set Staff.instrumentName = "drums"
- \new DrumVoice {\stemUp \drh }
- \new DrumVoice {\stemDown \drl }
- >>
- >>
- }
- \layout {}
-
- \midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 120 4)
- }
- }
-
-
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-You can alter the number of stems in a beam. In this example, two sets
-of four 32nds are joined, as if they were 8th notes.
-
-
-
-" }
-
-\relative {
- #(override-auto-beam-setting '(end * * * *) 1 4)
- f32 g a b b a g f
-
- f32 g a
- \set stemRightBeamCount = #1 b
- \set stemLeftBeamCount = #1 b
- a g f
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Lilypond can subdivide beams automatically. Set the property
-subdivideBeams, and beams are subdivided at beat positions (as
-specified in beat length)
-" }
-
-\relative{ b'32^"default"[ a g f c' b a g f e d' c b a g f ]
- \set subdivideBeams = ##t
- b32^"subdivision enabled"[ a g f c' b a g f e d' c b a g f ]
- \set Score.beatLength = #(ly:make-moment 1 8)
- b32^"beatLength 1 8"[ a g f c' b a g f e d' c b a g f ]
- \set Score.beatLength = #(ly:make-moment 1 16)
- b32^"beatLength 1 16"[ a g f c' b a g f e d' c b a g f ]
- }
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In time signature 2/2 or 4/4 the beam are @code{ _____
- _ _ Default | | | | I want | | | |. } Use a \"macro\" with
-#(override-auto-beam-setting '.....
-
-
-
-" }
-
-% Automatic beams two per two in 4/4 or 2/2 time signature
-% _____
-% Default | | | |
-% _ _
-% I want | | | |
-
-% The good way adapted from David Bobrof
-
-% macro for beamed two per two in 2/2 and 4/4 time signature
-qbeam={
- #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
- #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
- #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff)
- }
-% other macros
-timeFractionstyle={ \override Staff.TimeSignature #'style = #'()}
-textn = ^\markup{ without the macro }
-texty = ^\markup{ with the macro }
-
-\score {
- <<
- \new Staff << \relative c'' {
- \timeFractionstyle
- \time 4/4
- g8\textn g g g g g g g g g g g4 g8 g g
- }
- >>
-
- %Use the macro
-
- \new Staff << \relative c'' {
- \timeFractionstyle
- \time 4/4
- \qbeam
- g8\texty g g g g g g g g g g g4 g8 g g
- }
- >>
- >>
-\layout{ raggedright = ##t }
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-By default, beams can't be printed across line breaks. Here's a way to
-force the line break, by setting the @code{#'breakable} property. See
-also in the manual the \"Line Breaking\" and \"Manual beams\" sections.
-" }
-
-\layout { ragged-right= ##t }
-
-\relative c'' {
- \override Score.Beam #'breakable = ##t
- \time 3/16 c16-[ d e \break f-]
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The measureLength variable, together with measurePosition, determines
-when a barline is needed. However, when using \\compressMusic, the
-scaling of durations makes it difficult to change time signatures
-without making a mess of it.
-
-Therefore, measureLength has to be set manually, using the
-ly:make-moment callback. The second argument has to be the same as the
-second argument of \\compressMusic.
-" }
-
-\layout {
- \context { \Score
- \remove "Timing_translator"
- \remove "Default_bar_line_engraver"
- }
- \context {
- \Staff
- \consists "Timing_translator"
- \consists "Default_bar_line_engraver"
- }
-}
-
-<<
- \new Staff {
- \compressMusic #'( 8 . 5 ) {
- \time 6/8
- \set Timing.measureLength = #(ly:make-moment 3 5)
- b8 b b b b b
- \time 2/4
- \set Timing.measureLength = #(ly:make-moment 2 5)
- b4 b
- }
- }
- \new Staff {
- \clef bass
- \time 2/4
- c2 d e f }
- >>
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This form of notation is used for the chant of the Psalms, where verses
-aren't always the same length.
-" }
-
-stemon = { \override Staff.Stem #'transparent = ##f }
-stemoff = { \override Staff.Stem #'transparent = ##t }
-
-\score {
-\new Staff \with {\remove "Time_signature_engraver" }
-{
- \key g \minor
- \set Score.timing = ##f
- \stemoff a'\breve bes'4 g'4
- \stemon a'2 \bar "||"
- \stemoff a'\breve g'4 a'4
- \stemon f'2 \bar "||"
- \stemoff a'\breve^\markup { \italic flexe }
- \stemon g'2 \bar "||"
-}
-\layout { raggedright = ##t}
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Odd 20th century time signatures (such as \"5/8\") can often be played
-as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
-more inequal metrics. LilyPond can make such musics quite easy to read
-and play, by explicitly printing the compound time signatures and
-adapting the automatic beaming behaviour. (You can even add graphic
-measure groping indications, the appropriate snippet in this database.)
-
-" }
-
-#(define (compound-time one two num)
- (markup #:override '(baseline-skip . 0) #:number
- (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))
-
-
-\relative {
- %% compound time signature hack
- \time 5/8
- \override Staff.TimeSignature #'stencil = #ly:text-interface::print
- \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8" )
- #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
- c8 d e fis gis | c fis, gis e d | c8 d e4 gis8
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The Scheme function @code{set-time-signature}, in combination with the
-Measure grouping engraver, it will create MeasureGrouping signs. Such
-signs ease reading rhythmically complex modern music. In the following
-example, the 9/8 measure is subdivided in 2, 2, 2 and 3. This is
-passed to @code{set-time-signature} as the third argument @code{(2 2 2
-3)}
-
-
-" }
-
-\score {
- \relative c'' {
- #(set-time-signature 9 8 '(2 2 2 3))
- g8[ g] d[ d] g[ g] a8[( bes g]) |
- #(set-time-signature 5 8 '(3 2))
- a4. g4
- }
- \layout {
- \context {
- \Staff
- \consists "Measure_grouping_engraver"
- }
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Default behaviour of tuplet-bracket visibility is to print a bracket
-unless there is a beam of the same length as the tuplet. To control the
-visibility of tuplet brackets, you can set the property TupletBracket
-#'bracket-visibility to either ##t (always print a bracket), ##f (never
-print a bracket) or #'if-no-beam (only print a bracket if there is no
-beam).
-" }
-
-mus = \relative c'' {
- \times 2/3 {c16 [ d e } f8]
- \times 2/3 {c8 d e }
- \times 2/3 { c4 d e }
-}
-
-\new Voice \relative c'{
- << \mus s4^"default" >>
- \override TupletBracket #'bracket-visibility = #'if-no-beam
- << \mus s4^"'if-no-beam" >>
- \override TupletBracket #'bracket-visibility = ##t
- << \mus s4^"#t" >>
- \override TupletBracket #'bracket-visibility = ##f
- << \mus s4^"#f" >>
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Though the set-time-signature thing was not the most essential here, it
-has been included to show the beat of this piece (which is a template
-of a real balkan song!).
-" }
-
-#(define (compound-time one two three four five six seven eight nine ten num)
- (markup #:override '(baseline-skip . 0) #:number
- (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num)) #:vcenter "+" (#:column (three num)) #:vcenter "+" (#:column (four num)) #:vcenter "+" (#:column (five num)) #:vcenter "+" (#:column (six num)) #:vcenter "+" (#:column (seven num)) #:vcenter "+" (#:column (eight num)) #:vcenter "+" (#:column (nine num)) #:vcenter "+" (#:column (ten num))))))
-
-
-melody =
-{ \relative c'' {
- \set Staff.instrumentName = "Bb Sop."
- \key g \major \time 25/8
- \override Staff.TimeSignature #'stencil = #ly:text-interface::print
- \override Staff.TimeSignature #'text = #(compound-time "3" "2" "2" "3" "2" "2" "2" "3" "2" "2" "8" )
- c8[ c c] d4 c8[ c] b[ c b] a4 g fis8[ e d c] b'[ c d] e4-^ fis8[ g] | \break
- c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4 |
- c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 | \break
- c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 |
- c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 | \break }
-}
-drum = {
- \new DrumStaff \drummode
- {
- \bar "|:" bd4. ^\markup { "Drums" } sn4 bd \bar ":" sn4. bd4 sn \bar ":"
- bd sn bd4. sn4 bd \bar ":|"
- }
-}
-
-{
- \melody
- \drum
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In \"simple\" lead-sheets, sometimes no actual notes are written,
-instead only \"rhythmic patterns\" and chords above the measures are
-noted giving the structure of a song. Such a feature is for example
-useful while creating/transcribing the structure of a song and also
-when sharing lead sheets with guitarists or jazz musicians.
-
-The standard support for this is described in section \"Measure
-repeats\", but then the first beat has to be an ordinary note or rest.
-
-This example shows two solutions to this problem, by redefining
-ordinary rests to be printed as slashes. (If the duration of each beat
-is not a quarter note, replace the r4 in the definitions by a rest of
-the appropriate duration).
-" }
-
-% Macro to print single slash
-rs = {
-\once \override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
-\once \override Rest #'thickness = #'0.48
-\once \override Rest #'slope = #'1.7
-r4
-}
-
-
-% Function to print a specified number of slashes
-comp = #(define-music-function (parser location count) ( integer?)
-#{
-\override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
-\override Rest #'thickness = #'0.48
-\override Rest #'slope = #'1.7
-\repeat unfold $count { r4 }
-\revert Rest #'stencil
-#})
-
-\score{
-\relative c'{
- c d e f | \rs \rs \rs \rs | \comp #4 |
-}
-}
--- /dev/null
+@node Simultaneous notes
+@unnumbered Simultaneous notes
+
+@lysnippets
+
--- /dev/null
+clusters.ly
+changing-an-individual-notes-size-in-a-chord.ly
+combining-two-parts-on-the-same-staff.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Individual noteheads in a chord can be modified with the @code{\\tweak}
-command inside a chord, by altering the @code{'font-size} property.
-
-
-Inside the chord (within the brackets @code{< >}), before the note to
-be altered, place the @code{\\tweak} command, followed by
-@code{#'font-size} and define the proper size like @code{#-2} (a tiny
-notehead).
-
-
-The code for the chord example shown: @code{}
-" }
-
-\header{
- title = "Modify an individual notehead's size in a chord"
-}
-
-Notes = \relative {
- <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup{A tiny e}_\markup{A big c}
-}
-
-\score{
- \Notes
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Clusters are a device to denote that a complete range of notes is to be
-played.
-" }
-
-\layout {
- ragged-right = ##t
-}
-
-fragment = \relative c' {
- c4 f4 <e d'>4
- <g a>8 <e a> a4 c2 <d b>4 e4
- c4
-}
-
-<<
- \new Staff \fragment
- \new Staff \makeClusters \fragment
->>
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The part combiner tool ( \\partcombine command ) allows you to combine
-different parts on a same Staff. You can choose whether you want or
-don't want to add texts such as \"solo\" or \"a2\", by defining the
-printPartCombineTexts property.
-
-For vocal scores (hymns), there is no need to add \"solo\"/\"a2\"
-texts, so they should be switched off. However, you'd better not use it
-if there are any solos, as they won't be indicated. In such cases, you
-may simply want to use standard LilyPond polyphony.
-
-This snippet presents the three ways two parts can be printed on a same
-staff : standard polyphony, \\partcombine whitout texts, and
-\\partcombine with texts.
-
-
-" }
-
-musicUp = { \time 4/4
- \relative c'' {
- a4 c4.(g8) a4 |
- g4 e' g,( a8 b) |
- c b a2.
- }
-}
-
-musicDown = {
- \relative c'' {
- g4 e4.(d8) c4 |
- r2 g'4( f8 e) |
- d2 a
- }
-}
-\score{
- \new Staff {
- \set Staff.instrumentName = "Standard polyphony "
- << \musicUp \\ \musicDown >>
- }
- \layout{
- indent = 6.0\cm
- }
-}
-
-\score{
- \context Staff {
- \set Staff.instrumentName = "PartCombine without texts "
- \partcombine \musicUp \musicDown
- }
- \layout{
- indent = 6.0\cm
- \context {
- \Voice
- printPartCombineTexts = ##f
- }
- }
-}
-
-\score{
- \context Staff {
- \set Staff.instrumentName = "PartCombine with texts "
- \partcombine \musicUp \musicDown
- }
- \layout{
- indent = 6.0\cm
- \context {
- \Voice
- printPartCombineTexts = ##t
- }
- }
-}
-
--- /dev/null
+\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@setfilename snippets.info
+@settitle LilyPond snippets
+@documentencoding UTF-8
+@documentlanguage en
+
+@iftex
+@afourpaper
+@end iftex
+
+@finalout
+
+@node Top
+@top LilyPond examples
+
+This document shows LilyPond snippets from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
+
+Snippets are grouped by tags; many tags match a section of LilyPond
+notation manual.
+
+In the HTML version of this document, you can click on the file name
+or figure for each example to see the corresponding input file.
+
+@lilypond[ragged-right]
+\score {
+ \context Lyrics {
+ \override Score.RehearsalMark #'self-alignment-X = #LEFT
+ \override Score.RehearsalMark #'font-size = #-1
+ \mark #(ly:export (string-append
+ "This document is for LilyPond version " (lilypond-version) "."))
+ s2
+ }
+ \layout {
+ indent = 0.0\pt
+ }
+}
+@end lilypond
+
+@c maybe generate/update @menu and @includes automatically? --jm
+@menu
+Musical notation
+* Pitches::
+* Rhythms::
+* Expressive marks::
+* Repeats::
+* Simultaneous notes::
+* Staff notation::
+* Editorial and educational use::
+* Text::
+
+Specialist notation
+* Vocal music::
+* Chords::
+* Piano::
+* Percussion::
+* Guitar::
+* Strings::
+@c * Bagpipes::
+* Ancient notation::
+
+Other collections
+* Other::
+@end menu
+
+@contents
+
+@include pitches.itely
+@include rhythms.itely
+@include expressive-marks.itely
+@include repeats.itely
+@include simultaneous-notes.itely
+@include staff-notation.itely
+@include editorial-and-educational-use.itely
+@include text.itely
+
+@include vocal-music.itely
+@include chords.itely
+@include piano-music.itely
+@include percussion.itely
+@include guitar.itely
+@include strings.itely
+@c @include bagpipes.itely
+@include ancient-notation.itely
+
+@include other.itely
+
+@bye
--- /dev/null
+@node Staff notation
+@unnumbered Staff notation
+
+@lysnippets
+
--- /dev/null
+creating-blank-staves.ly
+adding-and-extra-staff-at-a-line-break.ly
+changing-the-number-of-lines-in-a-staff.ly
+inserting-score-fragments-above-the-staff,-as-markups.ly
+adding-an-extra-staff.ly
+changing-the-staff-size.ly
+adding-ambiti-per-voice.ly
+clefs-commonly-tweaked-properties.ly
+non-traditional-key-signatures.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Ambits can be added per voice. In that case, the ambitus must be moved
-manually to prevent collisions.
-" }
-
-{
-\new Staff <<
- \new Voice \with {
- \consists "Ambitus_engraver"
- } \relative c'' {
- \override Ambitus #'X-offset = # 2.0
- \voiceOne
- c4 a d e f1
- }
- \new Voice \with {
- \consists "Ambitus_engraver"
- } \relative c' {
- \voiceTwo
- es4 f g as b1
- }
->>
-
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-You can add (possibly temporarily) an extra staff after the beginning
-of a piece.
-" }
-
-\score {
- <<
- \new Staff \relative c''{ c1 c c c c }
- \new StaffGroup \relative c''{
- \new Staff
- c1 c
- << c1 \new Staff { c1 } >>
- c
- }
- >>
- \layout {
-
- \context{
- \Score
-
- }
- }
-}
-
-
-
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-When adding a new Staff at a line break, LilyPond will unfortunately
-add some extra space at the end of the line before the break (to fit in
-a key signature change, which will never be printed anyway). The
-workaround is to add a setting of Staff.explicitKeySignatureVisibility
-as is shown in the example. In version 2.10 and earlier, you have to do
-a similar setting for the time signatures, see the example.
-" }
-
-\score {
- \new StaffGroup \relative c''{
- \new Staff
- \key f \major
- c1 c^"Unwanted extra space" \break
- << { c1 c }
- \new Staff {
- \key f \major
- c1 c
- }
- >>
- c1 c^"Fixed here" \break
- << { c1 c }
- \new Staff {
- \once \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
- %The next line is not needed in 2.11.x or later:
- \once \override Staff.TimeSignature #'break-visibility = #end-of-line-invisible
- \key f \major
- c1 c
- }
- >>
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The number of lines in a staff may changed by overriding
-@code{line-count} in the properties of @code{StaffSymbol}.
-
-
-" }
-
-upper = \relative c'' {
- c1 d e f
-}
-
-lower = \relative c {
- c1 b a g
-}
-
-\score {
- \context PianoStaff <<
- \new Staff <<
- \upper
- >>
- \new Staff {
- \override Staff.StaffSymbol #'line-count = #4
- \clef bass
- \lower
- }
- >>
-
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-In order to change staff sizes, both @code{staff-space} and
-@code{fontSize} must be scaled.
-" }
-
-{
- \new Staff \relative c'' { \dynamicDown c8 \ff c c c c c c c }
-}
-
-{
- \new Staff \with {
- fontSize = #-3
- \override StaffSymbol #'staff-space = #(magstep -3)
- } {
- \clef bass
- c8 c c c c c c c
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The command @code{\\clef \"treble_8\"} is equivalent to setting
-@code{clefGlyph}, @code{clefPosition} (which controls the Y position of
-the clef), @code{middleCPosition} and @code{clefOctavation}. A clef is
-printed when any of these properties are changed.
-
-
-Note that changing the glyph, the position of the clef, or the
-octavation, does not in itself change the position of subsequent notes
-on the staff: the position of middle C must also be specified to do
-this. The positional parameters are relative to the staff centre line,
-positive numbers displacing upwards, counting 1 for each line and
-space. The clefOctavation value would normally be set to 7, -7, 15 or
--15, but other values are not invalid.
-
-
-When a clef change takes place at a line break the new clef symbol is
-printed at both the end of the previous line and the beginning of the
-new line by default. If the warning clef at the end of the previous
-line in not required it can be suppressed by setting the
-explicitClefVisibility Staff property to the value @code{
-end-of-line-invisible: \\set Staff.explicitClefVisibility =
-#end-of-line-invisible } The default behaviour can be recovered with
-@code{\\unset Staff.explicitClefVisibility}
-
-
-The following examples show the possibilities when setting these
-properties manually. On the first line, the manual changes preserve the
-standard relative positioning of clefs and notes, whereas on the second
-line, they do not.
-" }
-
-{
- % The default treble clef
- c'4
- % The standard bass clef
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- \set Staff.middleCPosition = #6
- c'4
- % The baritone clef
- \set Staff.clefGlyph = #"clefs.C"
- \set Staff.clefPosition = #4
- \set Staff.middleCPosition = #4
- c'4
- % The standard choral tenor clef
- \set Staff.clefGlyph = #"clefs.G"
- \set Staff.clefPosition = #-2
- \set Staff.clefOctavation = #-7
- \set Staff.middleCPosition = #1
- c'4
- % A non-standard clef
- \set Staff.clefPosition = #0
- \set Staff.clefOctavation = #0
- \set Staff.middleCPosition = #-4
- c'4 \break
-
- % The following clef changes do not preserve
- % the normal relationship between notes and clefs:
-
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- c'4
- \set Staff.clefGlyph = #"clefs.G"
- c'4
- \set Staff.clefGlyph = #"clefs.C"
- c'4
- \set Staff.clefOctavation = #7
- c'4
- \set Staff.clefOctavation = #0
- \set Staff.clefPosition = #0
- c'4
- \set Staff.middleCPosition = #4
- c'4
- }
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-To create blank staves, you must generate empty measures, removing also
-from the @code{Score} context the @code{Bar_number_engraver}, and from
-the @code{Staff} context the @code{Time_signature_engraver}, the
-@code{Clef_engraver} and the @code{Bar_engraver}.
-" }
-
-\header {
- tagline = ""
-}
-
-#(set-global-staff-size 20)
-
-\score {
- {
- \repeat unfold 12 { s1 \break }
- }
- \layout {
- indent = 0\in
- \context {
- \Staff
- \remove Time_signature_engraver
- \remove Clef_engraver
- \remove Bar_engraver
- }
- \context {
- \Score
- \remove Bar_number_engraver
- }
- }
-}
-
-\paper {
- #(set-paper-size "letter")
- raggedlastbottom = ##f
- linewidth = 7.5\in
- leftmargin = 0.5\in
- bottommargin = 0.25\in
- topmargin = 0.25\in
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The commonly used @code{\\key} command sets the context property
-Staff.keySignature. However, non-standard key signatures can be
-specified by setting this property directly. The format of this command
-is a list: @code{ \\set Staff.keySignature =
- #'((octave . step) . alter) } where, for each element in the list,
-octave specifies the octave (0 being the octave from middle C to the B
-above), step specifies the note within the octave (0 means C and 6
-means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the
-leading comma.) Here is an example of a possible key signature for
-generating a whole-tone scale:
-
-
-" }
-
-\relative c' {
- \new Staff {
- \set Staff.keySignature =
- #`(((0 . 3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
- c d e fis aes bes c2
- }
- }
-
--- /dev/null
+@node Strings
+@unnumbered Strings
+
+@lysnippets
+
--- /dev/null
+demo-midiinstruments.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Problem: How to know which MidiInstrument would be best for your
-composition? Solution: A Lilypond demo file.
-" }
-
-%\version "2.11.35"
-
-basemelodie = { c'4. \mf g c'16 b' c'' d'' | e'' d'' e'' f'' g''4 g'''4 r | r1 }
-melodie = { \tempo 4 = 150 \basemelodie }
-
-\header {
- title = "Demo of all midi sounds"
- arranger = "Myself"
-}
-
-\score {
- \new Staff <<
- \new Voice { \melodie
- } %Voice
- >> %Staff
- \layout { }
-} %score
-
-\score {
- \new Staff <<
- \tempo 4 = 180
- %\set Staff.instrumentName="S/A"
- %\set Staff.midiMinimumVolume = #0.2
- %\set Staff.midiMaximumVolume = #0.4
- %\set Voice.dynamicAbsoluteVolumeFunction = #0.6
- \new Voice { r \mf
- \set Staff.midiInstrument="acoustic grand" \melodie
- \set Staff.midiInstrument="bright acoustic" \melodie
- \set Staff.midiInstrument="electric grand" \melodie
- \set Staff.midiInstrument="honky-tonk" \melodie
- \set Staff.midiInstrument="electric piano 1" \melodie
- \set Staff.midiInstrument="electric piano 2" \melodie
- \set Staff.midiInstrument="harpsichord" \melodie
- \set Staff.midiInstrument="clav" \melodie
- \set Staff.midiInstrument="celesta" \melodie
- \set Staff.midiInstrument="glockenspiel" \melodie
- \set Staff.midiInstrument="music box" \melodie
- \set Staff.midiInstrument="vibraphone" \melodie
- \set Staff.midiInstrument="marimba" \melodie
- \set Staff.midiInstrument="xylophone" \melodie
- \set Staff.midiInstrument="tubular bells" \melodie
- \set Staff.midiInstrument="dulcimer" \melodie
- \set Staff.midiInstrument="drawbar organ" \melodie
- \set Staff.midiInstrument="percussive organ" \melodie
- \set Staff.midiInstrument="rock organ" \melodie
- \set Staff.midiInstrument="church organ" \melodie
- \set Staff.midiInstrument="reed organ" \melodie
- \set Staff.midiInstrument="accordion" \melodie
- \set Staff.midiInstrument="harmonica" \melodie
- \set Staff.midiInstrument="concertina" \melodie
- \set Staff.midiInstrument="acoustic guitar (nylon)" \melodie
- \set Staff.midiInstrument="acoustic guitar (steel)" \melodie
- \set Staff.midiInstrument="electric guitar (jazz)" \melodie
- \set Staff.midiInstrument="electric guitar (clean)" \melodie
- \set Staff.midiInstrument="electric guitar (muted)" \melodie
- \set Staff.midiInstrument="overdriven guitar" \melodie
- \set Staff.midiInstrument="distorted guitar" \melodie
- \set Staff.midiInstrument="acoustic bass" \melodie
- \set Staff.midiInstrument="electric bass (finger)" \melodie
- \set Staff.midiInstrument="electric bass (pick)" \melodie
- \set Staff.midiInstrument="fretless bass" \melodie
- \set Staff.midiInstrument="slap bass 1" \melodie
- \set Staff.midiInstrument="slap bass 2" \melodie
- \set Staff.midiInstrument="synth bass 1" \melodie
- \set Staff.midiInstrument="synth bass 2" \melodie
- \set Staff.midiInstrument="violin" \melodie
- \set Staff.midiInstrument="viola" \melodie
- \set Staff.midiInstrument="cello" \melodie
- \set Staff.midiInstrument="contrabass" \melodie
- \set Staff.midiInstrument="tremolo strings" \melodie
- \set Staff.midiInstrument="pizzicato strings" \melodie
- \set Staff.midiInstrument="orchestral strings" \melodie
- \set Staff.midiInstrument="timpani" \melodie
- \set Staff.midiInstrument="string ensemble 1" \melodie
- \set Staff.midiInstrument="string ensemble 2" \melodie
- \set Staff.midiInstrument="synthstrings 1" \melodie
- \set Staff.midiInstrument="synthstrings 2" \melodie
- \set Staff.midiInstrument="choir aahs" \melodie
- \set Staff.midiInstrument="voice oohs" \melodie
- \set Staff.midiInstrument="synth voice" \melodie
- \set Staff.midiInstrument="orchestra hit" \melodie
- \set Staff.midiInstrument="trumpet" \melodie
- \set Staff.midiInstrument="trombone" \melodie
- \set Staff.midiInstrument="tuba" \melodie
- \set Staff.midiInstrument="muted trumpet" \melodie
- \set Staff.midiInstrument="french horn" \melodie
- \set Staff.midiInstrument="brass section" \melodie
- \set Staff.midiInstrument="synthbrass 1" \melodie
- \set Staff.midiInstrument="synthbrass 2" \melodie
- \set Staff.midiInstrument="soprano sax" \melodie
- \set Staff.midiInstrument="alto sax" \melodie
- \set Staff.midiInstrument="tenor sax" \melodie
- \set Staff.midiInstrument="baritone sax" \melodie
- \set Staff.midiInstrument="oboe" \melodie
- \set Staff.midiInstrument="english horn" \melodie
- \set Staff.midiInstrument="bassoon" \melodie
- \set Staff.midiInstrument="clarinet" \melodie
- \set Staff.midiInstrument="piccolo" \melodie
- \set Staff.midiInstrument="flute" \melodie
- \set Staff.midiInstrument="recorder" \melodie
- \set Staff.midiInstrument="pan flute" \melodie
- \set Staff.midiInstrument="blown bottle" \melodie
- \set Staff.midiInstrument="shakuhachi" \melodie
- \set Staff.midiInstrument="whistle" \melodie
- \set Staff.midiInstrument="ocarina" \melodie
- \set Staff.midiInstrument="lead 1 (square)" \melodie
- \set Staff.midiInstrument="lead 2 (sawtooth)" \melodie
- \set Staff.midiInstrument="lead 3 (calliope)" \melodie
- \set Staff.midiInstrument="lead 4 (chiff)" \melodie
- \set Staff.midiInstrument="lead 5 (charang)" \melodie
- \set Staff.midiInstrument="lead 6 (voice)" \melodie
- \set Staff.midiInstrument="lead 7 (fifths)" \melodie
- \set Staff.midiInstrument="lead 8 (bass+lead)" \melodie
- \set Staff.midiInstrument="pad 1 (new age)" \melodie
- \set Staff.midiInstrument="pad 2 (warm)" \melodie
- \set Staff.midiInstrument="pad 3 (polysynth)" \melodie
- \set Staff.midiInstrument="pad 4 (choir)" \melodie
- \set Staff.midiInstrument="pad 5 (bowed)" \melodie
- \set Staff.midiInstrument="pad 6 (metallic)" \melodie
- \set Staff.midiInstrument="pad 7 (halo)" \melodie
- \set Staff.midiInstrument="pad 8 (sweep)" \melodie
- \set Staff.midiInstrument="fx 1 (rain)" \melodie
- \set Staff.midiInstrument="fx 2 (soundtrack)" \melodie
- \set Staff.midiInstrument="fx 3 (crystal)" \melodie
- \set Staff.midiInstrument="fx 4 (atmosphere)" \melodie
- \set Staff.midiInstrument="fx 5 (brightness)" \melodie
- \set Staff.midiInstrument="fx 6 (goblins)" \melodie
- \set Staff.midiInstrument="fx 7 (echoes)" \melodie
- \set Staff.midiInstrument="fx 8 (sci-fi)" \melodie
- \set Staff.midiInstrument="sitar" \melodie
- \set Staff.midiInstrument="banjo" \melodie
- \set Staff.midiInstrument="shamisen" \melodie
- \set Staff.midiInstrument="koto" \melodie
- \set Staff.midiInstrument="kalimba" \melodie
- \set Staff.midiInstrument="bagpipe" \melodie
- \set Staff.midiInstrument="fiddle" \melodie
- \set Staff.midiInstrument="shanai" \melodie
- \set Staff.midiInstrument="tinkle bell" \melodie
- \set Staff.midiInstrument="agogo" \melodie
- \set Staff.midiInstrument="steel drums" \melodie
- \set Staff.midiInstrument="woodblock" \melodie
- \set Staff.midiInstrument="taiko drum" \melodie
- \set Staff.midiInstrument="melodic tom" \melodie
- \set Staff.midiInstrument="synth drum" \melodie
- \set Staff.midiInstrument="reverse cymbal" \melodie
- \set Staff.midiInstrument="guitar fret noise" \melodie
- \set Staff.midiInstrument="breath noise" \melodie
- \set Staff.midiInstrument="seashore" \melodie
- \set Staff.midiInstrument="bird tweet" \melodie
- \set Staff.midiInstrument="telephone ring" \melodie
- \set Staff.midiInstrument="helicopter" \melodie
- \set Staff.midiInstrument="applause" \melodie
- \set Staff.midiInstrument="gunshot" \melodie
- } %Voice
- >> %Staff
- \midi { }
-} %score
-
-
--- /dev/null
+@node Text
+@unnumbered Text
+
+@lysnippets
+
--- /dev/null
+combining-dynamics-with-markup-texts.ly
+creating-text-spanners.ly
+center-text-below-hairpin-dynamics.ly
+markup-lines.ly
+demonstrating-all-headers.ly
+changing-the-default-text-font-family.ly
+how-to-put-ties-between-syllables-in-lyrics.ly
+aligning-and-centering-instrument-names.ly
+utf-8.ly
+blanking-staff-lines-using-the--whiteout-command.ly
+combining-two-parts-on-the-same-staff.ly
+adjusting-lyrics-vertical-spacing.ly
+aligning-lyrics.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This snippets shows you how to bring the lyrics line closer to the
-Staff.
-" }
-
-% Default layout:
-\score{
-<<
-\new Staff \new Voice = m \relative c'{ c4 d e f g f e d c1 }
-\new Lyrics \lyricsto m {aa aa aa aa aa aa aa aa aa }
- >>
-}
-
-% Reducing the minimum space below the Staff and above the Lyrics:
-\score{
-<<
-\new Staff \with {\override VerticalAxisGroup #'minimum-Y-extent = #'(-1
-. 4)}
- \new Voice = m \relative c'{ c4 d e f g f e d c1 }
-\new Lyrics \with {\override VerticalAxisGroup #'minimum-Y-extent =
-#'(-1.2 . 1)}
-\lyricsto m {aa aa aa aa aa aa aa aa aa }
- >>
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Instrument names are generally printed at the left side of the staves.
-To align the names of several different intruments, you can put them in
-a \\markup block and use one of the following possibilites:
-
-
-*
- Right-aligned instrument names: this is LilyPond's default behavior
-
-*
- Center-aligned instrument names: with the \\hcenter-in #n syntax, you
- can place the instrument names inside a padded box (n being the width
- of the box)
-
-*
- Left-aligned instrument names: you have to print the names on top of an
- empty box, using the \\combine command
- with a \\hspace #n object.
-
-
-" }
-
-\paper{
- indent = #0
- left-margin = #30
- line-width = #160
-}
-
-\new StaffGroup \relative
-<<
- \new Staff {
- \set Staff.instrumentName = "blabla"
- c1^"default" c1 \break
- \set Staff.instrumentName = \markup { \hcenter-in #10 "blabla" }
- c1^"centered" c1 \break
- \set Staff.instrumentName = \markup {\combine \hspace #8 "blabla" }
- c1^"left-aligned" c1
-
- }
- \new Staff {
- \set Staff.instrumentName = "blo"
- c1 c1 \break
- \set Staff.instrumentName = \markup { \hcenter-in #10 "blo" }
- c1 c1 \break
- \set Staff.instrumentName = \markup {\combine \hspace #8 "blo" }
- c1 c1
- }
-
->>
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-You can specify different horizontal alignment for your lyrics, by
-overriding the #'self-alignment-X property of the LyricText object. #-1
-is left, #0 is center and #1 is right; however, you can use #LEFT,
-#CENTER and #RIGHT as well.
-" }
-
-\relative c'' {
-c1 c c}
-\addlyrics {\once \override LyricText #'self-alignment-X = #LEFT "This is left-aligned"
-\once \override LyricText #'self-alignment-X = #CENTER "This is centered"
-\once \override LyricText #'self-alignment-X = #1 "this is right-aligned" }
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The \\whiteout command underlays a white box under a markup. Since
-staff lines are in a lower layer than most other grobs, this white box
-will not overlap any other grob.
-" }
-
-\paper
-{
- ragged-right = ##t
-}
-{
- \override TextScript #'extra-offset = #'(2 . 4)
- c'4-\markup { \whiteout \pad-markup #0.5 foo } c
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-This example provides a function to typeset hairpin (de)crescendo with
-some additional text below it, such as \"molto\" or \"poco\".
-
-The example also illustrates how to use modify the way an object
-normally is printed, using some Scheme code.
-" }
-
-hairpinWithCenteredText = #(define-music-function
- (parser location text) (markup?)
-#{
-\override Voice.Hairpin #'stencil = #(lambda (grob)
- (ly:stencil-aligned-to
- (ly:stencil-combine-at-edge
- (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
- Y
- DOWN
- (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
- X LEFT))
-\override Voice.Hairpin #'text = $text
-#})
-
-
-hairpinMolto = \hairpinWithCenteredText \markup {\italic "molto"}
-hairpinMore = \hairpinWithCenteredText \markup {\bigger "moltissimo"}
-
-\new Staff {
- \hairpinMolto c'2\< c'2\f
- \hairpinMore c'2\< c'2\f
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-Some dynamics may involve text indications (such as \"più forte\",
-\"piano subito\", etc.). They can be produced using a \\markup bloc.
-" }
-
-\layout{ragged-right = ##t}
-
-piuf = \markup { \italic "molto" \dynamic "f" }
-
-\relative c''{
- c-\piuf
- c
- c2\< c2\!
-
- c2\< c2\!
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The part combiner tool ( \\partcombine command ) allows you to combine
-different parts on a same Staff. You can choose whether you want or
-don't want to add texts such as \"solo\" or \"a2\", by defining the
-printPartCombineTexts property.
-
-For vocal scores (hymns), there is no need to add \"solo\"/\"a2\"
-texts, so they should be switched off. However, you'd better not use it
-if there are any solos, as they won't be indicated. In such cases, you
-may simply want to use standard LilyPond polyphony.
-
-This snippet presents the three ways two parts can be printed on a same
-staff : standard polyphony, \\partcombine whitout texts, and
-\\partcombine with texts.
-
-
-" }
-
-musicUp = { \time 4/4
- \relative c'' {
- a4 c4.(g8) a4 |
- g4 e' g,( a8 b) |
- c b a2.
- }
-}
-
-musicDown = {
- \relative c'' {
- g4 e4.(d8) c4 |
- r2 g'4( f8 e) |
- d2 a
- }
-}
-\score{
- \new Staff {
- \set Staff.instrumentName = "Standard polyphony "
- << \musicUp \\ \musicDown >>
- }
- \layout{
- indent = 6.0\cm
- }
-}
-
-\score{
- \context Staff {
- \set Staff.instrumentName = "PartCombine without texts "
- \partcombine \musicUp \musicDown
- }
- \layout{
- indent = 6.0\cm
- \context {
- \Voice
- printPartCombineTexts = ##f
- }
- }
-}
-
-\score{
- \context Staff {
- \set Staff.instrumentName = "PartCombine with texts "
- \partcombine \musicUp \musicDown
- }
- \layout{
- indent = 6.0\cm
- \context {
- \Voice
- printPartCombineTexts = ##t
- }
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-The \\startTextSpan and \\stopTextSpan commands give you the ability to
-create text spanners as easily as pedals indications or octavations.
-Override some properties of the TextSpanner object to modify its
-output.
-" }
-
-\relative c''{
- \override TextSpanner #'edge-text = #'("bla" . "blu")
- a \startTextSpan
- b c
- a \stopTextSpan
-
- \override TextSpanner #'dash-period = #2
- \override TextSpanner #'dash-fraction = #0.0
- a \startTextSpan
- b c
- a \stopTextSpan
-
- \revert TextSpanner #'style
- \override TextSpanner #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
- \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'(0 . -2) }
-
- a \startTextSpan
- b c
- a \stopTextSpan
-
-
- \set Staff.middleCPosition = #-13
-
- \override TextSpanner #'dash-period = #10
- \override TextSpanner #'dash-fraction = #.5
- \override TextSpanner #'thickness = #10
- a \startTextSpan
- b c
- a \stopTextSpan
- \set Staff.middleCPosition = #-6
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header { texidoc = "
-A demonstration of all headers.
-" }
-
-\header {
-copyright = "copyright"
-title = "title"
-subtitle = "subtitle"
-composer = "composer"
-arranger = "arranger"
-instrument = "instrument"
-metre = "metre"
-opus = "opus"
-piece = "piece"
-poet = "poet"
-texidoc = "All header fields with special meanings."
- copyright = "public domain"
- enteredby = "jcn"
- source = "urtext"
-
-}
-
-
-\score {
- \relative c'' { c1 c1 c1 c1 }
-}
-
-\score {
- \relative c'' { c1 c1 c1 c1 }
-
- \header {
-
- title = "localtitle"
- subtitle = "localsubtitle"
- composer = "localcomposer"
- arranger = "localarranger"
- instrument = "localinstrument"
- metre = "localmetre"
- opus = "localopus"
- piece = "localpiece"
- poet = "localpoet"
- copyright = "localcopyright"
- }
-}
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header {
- texidoc = "Text that can spread over pages is entered with the
-@code{\\markuplines} command."
-}
-
-#(set-default-paper-size "a6")
-
-#(define-markup-list-command (paragraph layout props args) (markup-list?)
- (interpret-markup-list layout props
- (make-justified-lines-markup-list (cons (make-hspace-markup 2) args))))
-
-%% Candide, Voltaire
-\markuplines \override-lines #'(baseline-skip . 2.5) {
- \paragraph {
- Il y avait en Westphalie, dans le château de M. le baron de
- Thunder-ten-tronckh, un jeune garçon à qui la nature avait donné
- les mœurs les plus douces. Sa physionomie annonçait son âme.
- Il avait le jugement assez droit, avec l'esprit le plus simple ;
- c'est, je crois, pour cette raison qu'on le nommait Candide. Les
- anciens domestiques de la maison soupçonnaient qu'il était fils
- de la sœur de monsieur le baron et d'un bon et honnête
- gentilhomme du voisinage, que cette demoiselle ne voulut jamais
- épouser parce qu'il n'avait pu prouver que soixante et onze
- quartiers, et que le reste de son arbre généalogique avait été
- perdu par l'injure du temps.
- }
- \paragraph {
- Monsieur le baron était un des plus puissants seigneurs de la
- Westphalie, car son château avait une porte et des fenêtres. Sa
- grande salle même était ornée d'une tapisserie. Tous les chiens
- de ses basses-cours composaient une meute dans le besoin ; ses
- palefreniers étaient ses piqueurs; le vicaire du village était
- son grand-aumônier. Ils l'appelaient tous monseigneur, et ils
- riaient quand il faisait des contes.
- }
-}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
-
-%{
-
-You may have to install additional fonts.
-
-Red Hat Fedora
-
- taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
- ttfonts-zh_CN fonts-ja fonts-hebrew
-
-Debian GNU/Linux
-
- apt-get install emacs-intl-fonts xfonts-intl-.* \
- ttf-kochi-gothic ttf-kochi-mincho \
- xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi
-%}
-
-\header {
-
- texidoc = "Various scripts may be used for texts (like titles and
-lyrics) introduced by entering them in UTF-8 encoding, and using a
-Pango based backend. Depending on the fonts installed, this fragment
-will render Bulgarian (Cyrillic), Hebrew, Japanese and Portuguese.
-
-"
-
-}
-
-% Cyrillic font
-bulgarian = \lyricmode {
- Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
-}
-
-hebrew = \lyricmode {
- זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
-}
-
-japanese = \lyricmode {
- いろはにほへど ちりぬるを
- わがよたれぞ つねならむ
- うゐのおくや まけふこえて
- あさきゆめみじ ゑひもせず
-}
-
-% "a legal song to you"
-portuguese = \lyricmode {
- à vo -- cê uma can -- ção legal
-}
-
-\paper {
- ragged-right = ##T
-}
-
-\relative {
- c2 d e f g f e
-}
-\addlyrics { \bulgarian }
-\addlyrics { \hebrew }
-\addlyrics { \japanese }
-\addlyrics { \portuguese }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches
+\version "2.11.35"
+
+\header { texidoc = "
+There is a way to enforce enharmonic modifications for notes in order
+to have the minimum number of accidentals. In that case, ``Double
+accidentals should be removed, as well as E-sharp (-> F), bC (-> B), bF
+(-> E), B-sharp (-> C).'', as proposed by a request for a new feature.
+In this manner, the most natural enharmonic notes are chosen in this
+example.
+" }
+
+#(define (naturalise-pitch p)
+ (let* ((o (ly:pitch-octave p))
+ (a (ly:pitch-alteration p))
+ (n (ly:pitch-notename p)))
+
+ (cond
+ ((and (> a 1) (or (eq? n 6) (eq? n 2)))
+ (set! a (- a 2))
+ (set! n (+ n 1)))
+ ((and (< a -1) (or (eq? n 0) (eq? n 3)))
+ (set! a (+ a 2))
+ (set! n (- n 1))))
+
+ (cond
+ ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
+ ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
+
+ (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
+ (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
+
+ (ly:make-pitch o n a)))
+
+#(define (naturalise music)
+ (let* ((es (ly:music-property music 'elements))
+ (e (ly:music-property music 'element))
+ (p (ly:music-property music 'pitch)))
+
+ (if (pair? es)
+ (ly:music-set-property!
+ music 'elements
+ (map (lambda (x) (naturalise x)) es)))
+
+ (if (ly:music? e)
+ (ly:music-set-property!
+ music 'element
+ (naturalise e)))
+
+ (if (ly:pitch? p)
+ (begin
+ (set! p (naturalise-pitch p))
+ (ly:music-set-property! music 'pitch p)))
+
+ music))
+
+music = \relative c' { c4 d e f g a b c }
+
+naturaliseMusic =
+#(define-music-function (parser location m)
+ (ly:music?)
+ (naturalise m))
+
+\score {
+ \context Staff {
+ \transpose c ais \music
+ \naturaliseMusic \transpose c ais \music
+ \transpose c deses \music
+ \naturaliseMusic \transpose c deses \music
+ }
+ \layout { ragged-right = ##t}
+}
+
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: other
+%% Do not edit this file; it is auto-generated from LSR!
+\version "2.11.35"
+
+\header { texidoc = "
+With the @code{\tweak} command, you can tune every grob directly. Here
+are some examples of available tweaks.
+
+
+" }
+
+\paper {
+ ragged-right = ##t
+}
+
+{
+ \set fingeringOrientations = #'(right)
+ <
+ \tweak #'font-size #3 c
+ \tweak #'color #red d-\tweak #'font-size #8 -4
+ \tweak #'style #'cross g
+ \tweak #'duration-log #1 a
+ >4
+}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: text
+\version "2.11.35"
+
+%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
+
+%{
+
+You may have to install additional fonts.
+
+Red Hat Fedora
+
+ taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
+ ttfonts-zh_CN fonts-ja fonts-hebrew
+
+Debian GNU/Linux
+
+ apt-get install emacs-intl-fonts xfonts-intl-.* \
+ ttf-kochi-gothic ttf-kochi-mincho \
+ xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi
+%}
+
+\header {
+
+ texidoc = "Various scripts may be used for texts (like titles and
+lyrics) introduced by entering them in UTF-8 encoding, and using a
+Pango based backend. Depending on the fonts installed, this fragment
+will render Bulgarian (Cyrillic), Hebrew, Japanese and Portuguese.
+
+"
+
+}
+
+% Cyrillic font
+bulgarian = \lyricmode {
+ Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
+}
+
+hebrew = \lyricmode {
+ זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
+}
+
+japanese = \lyricmode {
+ いろはにほへど ちりぬるを
+ わがよたれぞ つねならむ
+ うゐのおくや まけふこえて
+ あさきゆめみじ ゑひもせず
+}
+
+% "a legal song to you"
+portuguese = \lyricmode {
+ à vo -- cê uma can -- ção legal
+}
+
+\paper {
+ ragged-right = ##T
+}
+
+\relative {
+ c2 d e f g f e
+}
+\addlyrics { \bulgarian }
+\addlyrics { \hebrew }
+\addlyrics { \japanese }
+\addlyrics { \portuguese }
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: vocal-music
+\version "2.11.35"
+
+\header { texidoc = "
+This snippet shows of to use the @code{alignBelowContext} and
+@code{alignAboveContext} properties, which may be needed for text
+elements (e.g. lyrics) positioning, but also for musical contents such
+as ossias.
+" }
+
+\paper {
+ ragged-right = ##t
+}
+
+\relative <<
+ \new Staff = "1" { c4 c s2 }
+ \new Staff = "2" { c4 c s2 }
+ \new Staff = "3" { c4 c s2 }
+ { \skip 2
+ <<
+ \lyrics {
+ \set alignBelowContext = #"1"
+ below8 first staff
+ }
+ \new Staff {
+ \set Staff.alignAboveContext = #"3"
+ \times 4/6 {
+ \override TextScript #'padding = #3
+ c8^"this" d_"staff" e^"above" d_"last" e^"staff" f
+ }
+ }
+ >> }
+>>
--- /dev/null
+@node Vocal music
+@unnumbered Vocal music
+
+@lysnippets
+
--- /dev/null
+chant-or-psalms-notation.ly
+how-to-put-ties-between-syllables-in-lyrics.ly
+adding-ambiti-per-voice.ly
+vertically-aligning-ossias-and-lyrics.ly
+demo-midiinstruments.ly
+adjusting-lyrics-vertical-spacing.ly
+aligning-lyrics.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR!
-\version "2.11.35"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
+++ /dev/null
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-EXTRA_DIST_FILES=
-
-include $(depth)/make/stepmake.make
-
-TITLE=Sample snippets from LSR
-
+++ /dev/null
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Sample snippets from LSR')
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR!
+%% Tags: pitches, repeats
+\header {
+ texidoc = "By adding @code{Volta_engraver}, repeat brackets
+ can be put over staves other than the topmost one in a score."
+}
+
+\version "2.11.36"
+
+vmus = {
+ \repeat volta 2 c1 \alternative { d e }
+}
+
+\relative c'' <<
+ \new StaffGroup <<
+ \context Staff \vmus
+ \new Staff \vmus
+ >>
+ \new StaffGroup <<
+ \new Staff \with { \consists Volta_engraver }
+ \vmus
+ \new Staff \vmus
+ >>
+>>
depth = ../../
# NR 1
-SUBDIRS = pitches rhythms expressive repeats simultaneous staff editorial text
+SUBDIRS = pitches rhythms expressive-marks repeats simultaneous-notes staff-notation editorial-and-educational-use text
# NR 2
-SUBDIRS += vocal chords piano percussion guitar strings bagpipes ancient
+SUBDIRS += vocal-music chords piano-music percussion guitar strings bagpipes ancient-notation
SUBDIRS += other
# old
-SUBDIRS += connecting contemporary education
-SUBDIRS += parts spacing scheme
-SUBDIRS += engravers nonmusic instrument
-SUBDIRS += real-music
+SUBDIRS += parts spacing schemelanguage
+SUBDIRS += real-music paper-and-layout
-### FIXME: temporary template for creating other dirs.
-### will be removed once everything else is stable.
-SUBDIRS += null
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+STEPMAKE_TEMPLATES=documentation
EXTRA_DIST_FILES=README
-include $(depth)/make/stepmake.make
-
-TITLE=LilyPond Examples
+include $(depth)/make/stepmake.make
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
-depth = ../../../
+depth = ../../..
STEPMAKE_TEMPLATES=documentation
$(outdir)/collated-files.tely: $(LY_FILES) $(OUT_LY_FILES)
- $(PYTHON) $(buildscript-dir)/lys-to-tely.py --name=$(outdir)/collated-files --title="$(TITLE)" $^
+ $(PYTHON) $(buildscript-dir)/lys-to-tely.py --name=$(outdir)/collated-files.tely --title="$(TITLE)" $^