...
@end example
+@itemx --padding=@var{amount}
+Pad EPS boxes by this much. @var{amount} is measured in milimeters,
+and is 3.0 by default. This option should be used if the lines of
+music stick out of the right margin.
+
+The width of a tightly clipped systems can vary, due to notation
+elements that stick into the left margin, such as bar numbers and
+instrument names. This option will shorten each line and move each
+line to the right by the same amount.
+
+
@item -P @var{process}
@itemx --process=@var{command}
Process LilyPond snippets using @var{command}. The default command is
\version "2.11.6"
+%{
+
+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))
)
+
+%% set pitch names.
pitchnames = \makamPitchNames
#(ly:parser-set-note-names parser makamPitchNames)
}
\relative {
- \override Accidental #'glyph-name-alist = #'((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")
- )
-%{
+ %{ define alteration <-> symbol mapping. The following glyphs are available.
- available glyphs:
-
accidentals.sharp
accidentals.sharp.slashslash.stem
accidentals.sharp.slashslashslash.stemstem
accidentals.flatflat.slash
accidentals.doublesharp
-%}
+ %}
+
+
+ \override Accidental #'glyph-name-alist = #'((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")
+ )
+
c cc db fk gbm gfc gfb efk dfbm
"(or #f if not specified).")
{
SCM handle = scm_assoc (key, alist);
-
+ if (scm_is_pair (handle))
+ return scm_cdr (handle);
+
if (default_value == SCM_UNDEFINED)
default_value = SCM_BOOL_F;
- if (scm_is_pair (handle))
- return scm_cdr (handle);
return default_value;
}
#include "lookup.hh"
#include "output-def.hh"
#include "staff-symbol-referencer.hh"
+#include "rational.hh"
struct Key_signature_interface
{
DECLARE_SCHEME_CALLBACK (print, (SCM));
-
DECLARE_GROB_INTERFACE();
};
for (SCM s = me->get_property ("alteration-alist"); scm_is_pair (s); s = scm_cdr (s))
{
SCM alt = is_cancellation
- ? scm_from_int (0)
+ ? scm_from_int (0)
: scm_cdar (s);
SCM glyph_name = ly_assoc_get (alt, alist, SCM_BOOL_F);
+ if (!scm_is_string (glyph_name))
+ {
+ me->warning (_f ("No glyph found for alteration: %s",
+ ly_scm2rational (alt).to_string ().c_str ()));
+ continue;
+ }
+
Stencil acc (fm->find_by_name (ly_scm2string (glyph_name)));
if (acc.is_empty ())
generic_prefix_music_scm {
$$ = run_music_function (PARSER, $1);
}
- | CONTEXT simple_string optional_id optional_context_mod music {
+ | CONTEXT simple_string optional_id optional_context_mod music {
$$ = MAKE_SYNTAX ("context-specification", @$, $2, $3, $5, $4, SCM_BOOL_F);
}
| NEWCONTEXT simple_string optional_id optional_context_mod music {
octave_check:
/**/ { $$ = SCM_EOL; }
| '=' { $$ = scm_from_int (0); }
- | '=' sub_quotes { $$ = scm_from_int ($2); }
+ | '=' sub_quotes { $$ = scm_from_int (-$2); }
| '=' sup_quotes { $$ = scm_from_int ($2); }
;
(KeyCancellation
. (
(stencil . ,ly:key-signature-interface::print)
+ (glyph-name-alist . ,cancellation-glyph-name-alist)
(space-alist . (
(time-signature . (extra-space . 1.25))
(staff-bar . (extra-space . 0.6))
(let*
((xext (ly:stencil-extent dump-me X))
(yext (ly:stencil-extent dump-me Y))
- (left-overshoot (ly:get-option 'eps-box-padding))
+ (left-overshoot (*
+ -1
+ (ly:get-option 'eps-box-padding)
+ (ly:output-def-lookup paper 'mm)
+ ))
(bbox
(map
(lambda (x)
"delete unusable PostScript files")
(dump-signatures #f "dump output signatures of each system")
(dump-tweaks #f "dump page layout and tweaks for each score having the tweak-key layout property set.")
+
+ (eps-box-padding #f "Pad EPS bounding box left edge by this much to guarantee alignment between systems")
+
(gs-load-fonts #f
"load fonts via Ghostscript.")
+ (gui #f "running from gui; redirect stderr to log file")
+
(include-book-title-preview #t "include book-titles in preview images.")
(include-eps-fonts #t "Include fonts in separate-system EPS files.")
(job-count #f "Process in parallel")
-
- (eps-box-padding #f "Pad EPS bounding box left edge by this much to guarantee alignment between systems")
-
- (gui #f "running from gui; redirect stderr to log file")
(log-file #f "redirect output to log FILE.log")
+
(old-relative #f
"relative for simultaneous music works
similar to chord syntax")
(define-public (accidental-interface::calc-alteration grob)
(ly:pitch-alteration (ly:event-property (event-cause grob) 'pitch)))
+
+(define-public cancellation-glyph-name-alist
+ '((0 . "accidentals.natural")))
+
(define-public standard-alteration-glyph-name-alist
- '((1 . "accidentals.doublesharp")
- (3/4 . "accidentals.sharp.slashslash.stemstemstem")
+ '(
+ ;; ordered for optimal performance.
+ (0 . "accidentals.natural")
+ (-1/2 . "accidentals.flat")
(1/2 . "accidentals.sharp")
+
+ (1 . "accidentals.doublesharp")
+ (-1 . "accidentals.flatflat")
+
+ (3/4 . "accidentals.sharp.slashslash.stemstemstem")
(1/4 . "accidentals.sharp.slashslash.stem")
- (0 . "accidentals.natural")
(-1/4 . "accidentals.mirroredflat")
- (-1/2 . "accidentals.flat")
(-3/4 . "accidentals.mirroredflat.flat")
- (-1 . "accidentals.flatflat")
))
(define-public makam-alteration-glyph-name-alist
authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
'Han-Wen Nienhuys <hanwen@xs4all.nl>')
-
################################################################
def exit (i):
if global_options.verbose:
metavar=_ ("DIR"),
action='append', dest='include_path',
default=[os.path.abspath (os.getcwd ())])
+
+ p.add_option ('--left-padding',
+ metavar=_("PAD"),
+ dest="padding_mm",
+ help="Pad left side of music to align music inspite of uneven bar numbers. (in mm)",
+ type="float",
+ default=-3.0)
p.add_option ("-o", '--output', help=_ ("write output to DIR"),
metavar=_ ("DIR"),
action='store', dest='output_name',
default='')
+
p.add_option ('-P', '--process', metavar=_ ("COMMAND"),
help = _ ("process ly_files using COMMAND FILE..."),
action='store',
#(define dump-extents #t)
%(font_dump_setting)s
%(paper_string)s
+ force-assignment = #""
+ line-width = #(- line-width (* mm %(padding_mm)f))
}
\layout {
'\n ') % vars ()
preamble_string = string.join (compose_dict[PREAMBLE],
'\n ') % override
-
+ padding_mm = global_options.padding_mm
font_dump_setting = ''
if FONTLOAD in self.option_dict:
font_dump_setting = '#(define-public force-eps-font-include #t)\n'
return args
+def psfonts_warning (options, basename):
+ if options.format in (TEXINFO, LATEX):
+ psfonts_file = os.path.join (options.output_name, basename + '.psfonts')
+ output = os.path.join (options.output_name, basename + '.dvi' )
+
+ if not options.create_pdf:
+ if not options.psfonts:
+ warning (_ ("option --psfonts not used"))
+ warning (_ ("processing with dvips will have no fonts"))
+ else:
+ progress ('\n')
+ progress (_ ("DVIPS usage:"))
+ progress ('\n')
+ progress (" dvips -h %(psfonts_file)s %(output)s" % vars ())
+ progress ('\n')
+
def main ():
# FIXME: 85 lines of `main' macramee??
files = do_options ()
if global_options.format in (TEXINFO, LATEX):
## prevent PDF from being switched on by default.
global_options.process_cmd += ' --formats=eps '
-
- if (global_options.format in (TEXINFO, LATEX)
- and global_options.create_pdf):
- global_options.process_cmd += "--pdf -dinclude-eps-fonts -dgs-load-fonts "
+ if global_options.create_pdf:
+ global_options.process_cmd += "--pdf -dinclude-eps-fonts -dgs-load-fonts "
if global_options.verbose:
global_options.process_cmd += " --verbose "
- global_options.process_cmd += " -dread-file-list -deps-box-padding=-3 "
+ if global_options.padding_mm:
+ global_options.process_cmd += " -deps-box-padding=%f " % global_options.padding_mm
+
+ global_options.process_cmd += " -dread-file-list "
identify ()
except Compile_error:
exit (1)
- if global_options.format in (TEXINFO, LATEX):
- psfonts_file = os.path.join (global_options.output_name, basename + '.psfonts')
- output = os.path.join (global_options.output_name, basename + '.dvi' )
-
- if not global_options.psfonts and not global_options.create_pdf:
- warning (_ ("option --psfonts not used"))
- warning (_ ("processing with dvips will have no fonts"))
- else:
- progress ('\n')
- progress (_ ("DVIPS usage:"))
- progress ('\n')
- progress (" dvips -h %(psfonts_file)s %(output)s" % vars ())
- progress ('\n')
+ psfonts_warning (global_options, basename)
inputs = note_input_file ('')
inputs.pop ()