glilypond - embed LilyPond musical notation in groff documents
Contents
Description
glilypond is a groff(7) preprocessor that enables the embedding of LilyPond music scores in groff
documents. If no operands are given, or if file is “-”, glilypond reads the standard input stream. A
double-dash argument (“--”) causes all subsequent arguments to be interpreted as file operands, even if
their names start with a dash.
Generated Files
By the transformation process of lilypond parts into EPS files, there are many files generated. By
default, these files are regarded as temporary files and as such stored in a temporary directory.
This process can be changed by command-line options.
Command-lineoptionsfordirectories
The temporary directory for this program is either created automatically or can be named by the option
-t|--temp_dirdir.
Moreover, the EPS files that are later on referred by .PSPIC command in the final groff output can be
stored in a different directory that can be set by the command-line option -e|--eps_dirdirectory_name.
With this option, the temporary directory can be removed completely at the end of the program.
The beginning of the names of the temporary files can be set by the command-line options -p or --prefix.
All of the temporary files except the EPS files are deleted finally. This can be changed by setting the
command-line options -k or --keep_files. With this, all temporary files and directories are kept, not
deleted.
These EPS files are stored in a temporary or EPS directory. But they cannot be deleted by the
transformation process because they are needed for the display which can take a long time.
Generated Groff Output
The new groff(7) structure generated by glilypond is either
1) sent to standard output and can there be saved into a file or piped into groff(1) or
2) stored into a file by given the option -o| --output file_nameLilypond Regions In Roff Input
IntegratedLilyPondcode
A lilypond part within a structure written in the groff language is the whole part between the marks
.lilypondstart
and
.lilypondend
A groff input can have several of these lilypond parts.
When processing such a lilypond part between .lilypondstart and .lilypondend we say that the glilypond
program is in lilypondmode.
These lilypond parts are sent into temporary lilypond files with the file name extension .ly. These
files are transformed later on into EPS files.
Inclusionof.lyfiles
An additional command line for file inclusion of lilypond files is given by
.lilypondincludefile_name
in groff input. For each such include command, one file of lilypond code can be included into the groff
code. Arbitrarily many of these commands can be included in the groff input.
These include commands can only be used outside the lilypond parts. Within the lilypondmode, this
inclusion is not possible. So .lilypondinclude may not be used in lilypondmode, i.e. between .lilypondstart and .lilypondend. These included ly-files are also transformed into EPS files.
Name
glilypond - embed LilyPond musical notation in groff documents
Option Overview
-?|-h|--help|--usage
Display usage information and exit.
--version
Display version information and exit.
-l|--license
Display copyright license information and exit.
OptionsforbuildingEPSfiles--ly2eps
Direct lilypond(1) to create Encapsulated PostScript (EPS) files. This is the default.
--pdf2eps
The program glilypond generates a PDF file using lilypond. Then the EPS file is generated by
pdf2ps and ps2eps.
Directoriesandfiles-e|--eps_dirdirectory_name
Normally all EPS files are sent to the temporary directory. With this option, you can generate
your own directory, in which all useful EPS files are send. So at last, the temporary directory
can be removed.
-p|--prefixbegin_of_name
Normally all temporary files get names that start with the ly... prefix. With this option, you
can freely change this prefix.
-k|--keep_all
Normally all temporary files without the eps files are deleted. With this option, all generated
files either by the lilypond program or other format transposers are kept.
-t|--temp_dirdir
With this option, you call a directory that is the base for the temporary directory. This
directory name is used as is without any extensions. If this directory does not exist it is be
created. The temporary directory is created by Perl's security operations directly under this
directory. In this temporary directory, the temporary files are stored.
Output-o|--outputfile_name
Normally all groff output of this program is sent to STDOUT. With this option, that can be
changed, such that the output is stored into a file named in the option argument file_name.
-v|-V|--verbose
A lot more of information is sent to STDERR.
Shortoptioncollections
The argument handling of options
Shortoptions are arguments that start with a single dash -. Such an argument can consist of arbitrary
many options without option argument, composed as a collection of option characters following the single
dash.
Such a collection can be terminated by an option character that expects an option argument. If this
option character is not the last character of the argument, the following final part of the argument is
the option argument. If it is the last character of the argument, the next argument is taken as the
option argument.
This is the standard for POSIX and GNU option management.
For example,
-kVesome_dir
is a collection of the short options -k and -V without option argument, followed by the short
option -e with option argument that is the following part of the argument some_dir. So this
argument could also be written as several arguments -k-V-esome_dir.
Handlingoflongoptions
Arguments that start with a double dash -- are so-called longoptionsR. Each double dash argument can
only have a single long option.
Longoptions have or have not an option argument. An option argument can be the next argument or can be
appended with an equal sign = to the same argument as the long option.
--help is a long option without an option argument.
--eps_dirsome_dir--eps_dir=some_dir
is the long option --eps_dir with the option argument some_dir.
Moreover the program allows abbreviations of long options, as much as possible.
The longoption--keep_all can be abbreviated from --keep_al up to --k because the program does not have
another longoption whose name starts with the character k.
On the other hand, the option --version cannot be abbreviated further than --vers because there is also
the longoption--verbose that can be abbreviated up to --verb.
An option argument can also be appended to an abbreviation. So is --e=some_dir the same as --eps_dirsome_dir.
Moreover the program allows an arbitrary usage of upper and lower case in the option name. This is Perl
style.
For example, the longoption--keep_all can as well be written as --Keep_All or even as an abbreviation
like --KeE.
See Also
groff(1) describes the usage of the groff command and contains pointers to further documentation of the groff system. groff_tmac(5) describes the .PSPIC request. lilypond(1) briefly describes the lilypond command and contains pointers to further documentation. pdf2ps(1) transforms a PDF file into a PostScript format. ps2eps(1) transforms a PS file into an EPS format. groff 1.23.0 26 December 2024 glilypond(1)
Synopsis
glilypond [-k] [{--ly2eps|--pdf2eps}] [-edirectory] [-ooutput-file] [-pfilename-prefix] [-ttdir]
[{-v|-V}] [--] [file ...]
glilypond [{--ly2eps|--pdf2eps}] [--eps_dirdirectory] [--keep_all] [--outputoutput-file] [--prefixfilename-prefix] [--temp_dirtdir] [--verbose] [--] [file ...]
glilypond-?glilypond-hglilypond--helpglilypond--usageglilypond-lglilypond--licenseglilypond--versionTransformation Processes For Generating Eps Files
Modepdf2eps
This mode is the actual default and can also be chosen by the option --pdf2eps.
In this mode, the .ly files are transformed by the lilypond(1) program into PDF files, using
lilypond--pdf--output=file-name
for each .ly file. The file-name must be provided without the extension .pdf. By this process, a file
file-name.pdf is generated.
The next step is to transform these PDF files into a PS file. This is done by the pdf2ps(1) program
using
$ pdf2psfile-name.pdffile-name.pds
The next step creates an EPS file from the PS file. This is done by the ps2eps(1) program using
$ ps2epsfile-name.ps
By that, a file file-name.eps is created for each lilypond part in the groff file or standard input.
The last step to be done is replacing all lilypond parts by the groff command
.PSPICfile-name.epsModely2eps
In earlier time, this mode was the default. But now it does not work any more, so accept the new default
pdf2eps. For testing, this mode can also be chosen by the glilypond option --ly2eps.
In this mode, the .ly files are transformed by the lilypond program into many files of different formats,
including eps files, using
$ lilypond--ps-dbackend=eps-dgs-load-fonts--output=file-name
for each .ly file. The output file-name must be provided without an extension, its directory is
temporary.
There are many EPS files created. One having the complete transformed ly file, named file-name.eps.
Moreover there are EPS files for each page, named file-name-digit.eps.
The last step to be done is replacing all lilypond parts by the collection of the corresponding EPS page
files. This is done by groff commands
.PSPICfile-name-digit.epsUsage
At present, glilypond works with the groffps, dvi, html, and xhtml devices. The lbp and lj4 devices are
untested. Unfortunately, the pdf device does not yet work.
