* input/test/circle.ly: New file.
* Documentation/topdocs/NEWS.tely: Use them.
* input/test/boxed-stencil.ly: Remove \score.
* buildscripts/mf-to-table.py (base): Add .log dependency.
* mf/GNUmakefile: Add PFAemmentaler and PFAaybabtu dependencies on
pfa's. Add .log dependency
* scm/define-markup-commands.scm (lower): New command.
* elisp/lilypond-mode.el (LilyPond-pdf-command): New command,
make it default.
+2005-04-19 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * input/test/compound-time.ly: New file.
+
+ * input/test/circle.ly: New file.
+
+ * Documentation/topdocs/NEWS.tely: Use them.
+
+ * input/test/boxed-stencil.ly: Remove \score.
+
+ * buildscripts/mf-to-table.py (base): Add .log dependency.
+
+ * mf/GNUmakefile: Add PFAemmentaler and PFAaybabtu dependencies on
+ pfa's. Add .log dependency
+
+ * scm/define-markup-commands.scm (lower): New command.
+
+ * elisp/lilypond-mode.el (LilyPond-pdf-command): New command,
+ make it default.
+
2005-04-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
* lily/dynamic-engraver.cc (acknowledge_grob): add note-column
music expression as indented Scheme code.
@item
-A plus sign was added to the number font.
+A plus sign was added to the number font. This enables printing of
+compound time signatures
+
+@lilypondfile[]{compound-time.ly}
@item
A new @code{\circle} markup command allows for all kinds of circled
texts
-@lilypond[relative,relative=2,raggedright,fragment]
-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 #'print-function
- = #(make-stencil-circler 0.1 0.25 Text_interface::print)
-@end lilypond
-
+@lilypondfile[]{circle.ly}
@item
String numbers are now printed on chords as well
well.
See
@ifhtml
-@uref{../../user/out-www/lilypond/Point-and-click.html,Point and click}
+@uref{../../user/out-www/lilypond/Point-and-click.html,Point and click}.
@end ifhtml
@ifnothtml
the section Point and click in he user manual.
@item
LilyPond now uses FreeType read the Feta font as an OpenType
-font. This is cleaner design and more robust. A recent version of
-FontForge (11122004 or newer) and Freetype is required.
+font. This is cleaner design and more robust. Recent versions of
+FontForge (20041211 or newer) and Freetype are required. As a result,
-As a result, the SVG backend is now a fully functional backend.
+@item
+the SVG backend is now a fully functional backend.
@item
A new script, @code{\espressivo} has been added, for a combination of
@noindent
This will set stem directions and put the cue notes in the @code{cue}
-@code{Voice}
-
+@code{Voice}.
@item Stemlets, short stems over beamed rests, have been added.
write_global_lisp_table (open (global_lisp_nm, 'w'), g)
if depfile_nm:
write_deps (open (depfile_nm, 'wb'), deps,
- [base + '.dvi', base + '.pfa', base + '.pfb',
- texfile_nm])
+ [base + '.log', base + '.dvi', base + '.pfa',
+ base + '.pfb', texfile_nm])
if lyfile_nm:
write_fontlist (open (lyfile_nm, 'w'), g, m)
-;;;
-;;; lilypond-mode.el --- Major mode for editing GNU LilyPond music scores
-;;;
-;;; source file of the GNU LilyPond music typesetter
-;;;
-;;; (c) 1999--2005 Jan Nieuwenhuizen <janneke@gnu.org>
-;;;
-;;; Changed 2001--2003 Heikki Junes <heikki.junes@hut.fi>
-;;; * Add PS-compilation, PS-viewing and MIDI-play (29th Aug 2001)
-;;; * Keyboard shortcuts (12th Sep 2001)
-;;; * Inserting tags, inspired on sgml-mode (11th Oct 2001)
-;;; * Autocompletion & Info (23rd Nov 2002)
+;;;;
+;;;; lilypond-mode.el --- Major mode for editing GNU LilyPond music scores
+;;;;
+;;;; source file of the GNU LilyPond music typesetter
+;;;;
+;;;; (c) 1999--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;;
+;;;; Changed 2001--2003 Heikki Junes <heikki.junes@hut.fi>
+;;;; * Add PS-compilation, PS-viewing and MIDI-play (29th Aug 2001)
+;;;; * Keyboard shortcuts (12th Sep 2001)
+;;;; * Inserting tags, inspired on sgml-mode (11th Oct 2001)
+;;;; * Autocompletion & Info (23rd Nov 2002)
;;; Inspired on auctex
(require 'easymenu)
(require 'compile)
-(defconst LilyPond-version "2.3.17"
+(defconst LilyPond-version "2.5.20"
"`LilyPond-mode' version number.")
(defconst LilyPond-help-address "bug-lilypond@gnu.org"
:group 'LilyPond
:type 'string)
-(defcustom LilyPond-xdvi-command "xdvi"
+(defcustom LilyPond-dvi-command "xdvi"
"Command used to display DVI files."
:group 'LilyPond
:type 'string)
-(defcustom LilyPond-gv-command "gv --watch"
+(defcustom LilyPond-ps-command "gv --watch"
"Command used to display PS files."
:group 'LilyPond
:type 'string)
+(defcustom LilyPond-pdf-command "xpdf"
+ "Command used to display PDF files."
+
+ :group 'LilyPond
+ :type 'string)
+
(defcustom LilyPond-midi-command "timidity"
"Command used to play MIDI files."
;; Should expand this to include possible keyboard shortcuts which
;; could then be mapped to define-key and menu.
`(
- ("LilyPond" . (,(concat LilyPond-lilypond-command " -ftex %s") "%s" "%l" "View"))
- ("TeX" . ("tex '\\nonstopmode\\input %t'" "%t" "%d" "View"))
-
- ("2Dvi" . (,(concat LilyPond-lilypond-command " -f tex %s") "%s" "%d" "LaTeX"))
- ("2PS" . (,(concat LilyPond-lilypond-command " -f ps %s") "%s" "%p" "ViewPS"))
+ ("LilyPond" . (,(concat LilyPond-lilypond-command " %s") "%s" "%l" "View"))
+ ("TeX" . ("tex '\\nonstopmode\\input %t'" "%t" "%d" "ViewDVI"))
+ ("2Dvi" . (,(concat LilyPond-lilypond-command " -b tex %s") "%s" "%d" "LaTeX"))
+ ("2PS" . (,(concat LilyPond-lilypond-command "-b ps %s") "%s" "%p" "ViewPS"))
("2Midi" . (,(concat LilyPond-lilypond-command " -m %s") "%s" "%m" "Midi"))
("2Gnome" . (,(concat LilyPond-lilypond-command " -b gnome %s")))
("Book" . ("lilypond-book %x" "%x" "%l" "LaTeX"))
- ("LaTeX" . ("latex '\\nonstopmode\\input %l'" "%l" "%d" "View"))
-
- ;; point-n-click (arg: exits upop USR1)
- ("SmartView" . ("xdvi %d"))
+ ("LaTeX" . ("latex '\\nonstopmode\\input %l'" "%l" "%d" "ViewDVI"))
;; refreshes when kicked USR1
- ("View" . (,(concat LilyPond-xdvi-command " %d")))
- ("ViewPS" . (,(concat LilyPond-gv-command " %p")))
+ ("View" . (,(concat LilyPond-pdf-command " %f")))
+ ("ViewPDF" . (,(concat LilyPond-pdf-command " %f")))
+ ("ViewDVI" . (,(concat LilyPond-dvi-command " %d")))
+ ("ViewPS" . (,(concat LilyPond-ps-command " %p")))
;; The following are refreshed in LilyPond-command:
;; - current-midi depends on cursor position and
("%s" . ".ly")
("%t" . ".tex")
("%d" . ".dvi")
+ ("%f" . ".pdf")
("%p" . ".ps")
("%l" . ".tex")
("%x" . ".tely")
(defun LilyPond-command-formatmidi ()
"Format the midi output of the current document."
(interactive)
- (LilyPond-command (LilyPond-command-menu "2Midi") 'LilyPond-get-master-file)
-)
+ (LilyPond-command (LilyPond-command-menu "2Midi") 'LilyPond-get-master-file))
-(defun LilyPond-command-smartview ()
- "View the dvi output of current document."
+(defun LilyPond-command-view ()
+ "View the output of current document."
(interactive)
- (LilyPond-command (LilyPond-command-menu "SmartView") 'LilyPond-get-master-file)
-)
+ (LilyPond-command-viewpdf))
-(defun LilyPond-command-view ()
- "View the dvi output of current document."
+(defun LilyPond-command-viewpdf ()
+ "View the ps output of current document."
(interactive)
- (LilyPond-command (LilyPond-command-menu "View") 'LilyPond-get-master-file)
-)
+ (LilyPond-command (LilyPond-command-menu "ViewPDF") 'LilyPond-get-master-file))
(defun LilyPond-command-viewps ()
"View the ps output of current document."
(interactive)
- (LilyPond-command (LilyPond-command-menu "ViewPS") 'LilyPond-get-master-file)
-)
+ (LilyPond-command (LilyPond-command-menu "ViewPS") 'LilyPond-get-master-file))
;; FIXME, this is broken
(defun LilyPond-region-file (begin end)
(define-key LilyPond-mode-map "\C-c\C-d" 'LilyPond-command-formatdvi)
(define-key LilyPond-mode-map "\C-c\C-f" 'LilyPond-command-formatps)
(define-key LilyPond-mode-map "\C-c\C-g" 'LilyPond-command-formatgnome)
- (define-key LilyPond-mode-map "\C-c\C-s" 'LilyPond-command-smartview)
- (define-key LilyPond-mode-map "\C-c\C-v" 'LilyPond-command-view)
+ (define-key LilyPond-mode-map "\C-c\C-s" 'LilyPond-command-view)
(define-key LilyPond-mode-map "\C-c\C-p" 'LilyPond-command-viewps)
(define-key LilyPond-mode-map [(control c) return] 'LilyPond-command-current-midi)
(define-key LilyPond-mode-map [(control c) (control return)] 'LilyPond-command-all-midi)
'([ "LaTeX" (LilyPond-command (LilyPond-command-menu "LaTeX") 'LilyPond-get-master-file) ])
'([ "Kill jobs" LilyPond-kill-jobs t])
'("-----")
- '([ "SmartView" LilyPond-command-smartview t])
'([ "View" LilyPond-command-view t])
'([ "ViewPS" LilyPond-command-viewps t])
'("-----")
VARIABLES
LilyPond-command-alist\t\talist from name to command
-LilyPond-xdvi-command\t\tcommand to display dvi files -- bit superfluous"
+LilyPond-dvi-command\t\tcommand to display dvi files -- bit superfluous"
(interactive)
;; set up local variables
(kill-all-local-variables)
\version "2.4.0"
\header {
-texidoc = "@cindex Boxed Stencil
+ texidoc = "@cindex Boxed Stencil
The @code{print-function} can be overridden to draw a box around an arbitrary
grob. " }
- \score { \relative c'' {
+\layout{raggedright = ##t}
+\relative c'' {
- \override TextScript #'print-function =
- #(make-stencil-boxer 0.1 0.3 Text_interface::print)
+ \override TextScript #'print-function =
+ #(make-stencil-boxer 0.1 0.3 Text_interface::print)
- c'4^"foo"
+ c'4^"foo"
-\override Stem #'print-function =
- #(make-stencil-boxer 0.05 0.25 Stem::print)
+ \override Stem #'print-function =
+ #(make-stencil-boxer 0.05 0.25 Stem::print)
-\override Score.RehearsalMark #'print-function =
- #(make-stencil-boxer 0.15 0.3 Text_interface::print)
- b8
-\revert Stem #'print-function
+ \override Score.RehearsalMark #'print-function =
+ #(make-stencil-boxer 0.15 0.3 Text_interface::print)
+ b8
+ \revert Stem #'print-function
- c4. c4 \mark "F" c1
- }
-\layout{raggedright = ##t}
+ c4. c4 \mark "F" c1
}
--- /dev/null
+
+\version "2.4.0"
+\header {
+texidoc = "@cindex Circle
+
+Circles can be drawn around various objects.
+
+"
+}
+
+\layout{raggedright = ##t}
+
+\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 #'print-function
+ = #(make-stencil-circler 0.1 0.25 Text_interface::print)
+}
\ No newline at end of file
--- /dev/null
+
+\version "2.5.20"
+\header {
+texidoc = "@cindex compound time
+@cindex plus
+
+Compound time signatures can be printed.
+
+"
+}
+
+\layout{raggedright = ##t}
+
+#(define (compound-time grob one two num)
+ (interpret-markup
+ (ly:grob-layout grob)
+ '(((baseline-skip . 2)
+ (word-space . 2)
+ (font-family . number)))
+ (markup
+ #:line ( #:column (one num) #:lower 1 "+" #:column (two num)))))
+% ;; #:line ( #:column (one num) #:lower 1 "+" #:column (two num)))))
+
+\relative {
+ %% compound time signature hack
+ \time 5/8
+ \override Staff.TimeSignature #'print-function
+ = #(lambda (grob) (compound-time grob "2" "3" "8"))
+
+ %% manual beaming, auto beam engraver cannot handle compound time,
+ %% it extends 2/8 pattern to 4/8, which does not work.
+
+ %% Hmm, why don't we just junk the modulo functionality, and
+ %% write-out all endings explicitely, we get compound time handling
+ %% for free?
+
+ c4 c8[ c c]
+}
STAFF_SIZES = 11 13 14 16 18 20 23 26
BRACES = a b c d e f g h i
+PFA_PREFIX = PFA
OTF_FILES = $(STAFF_SIZES:%=$(outdir)/emmentaler-%.otf)\
$(outdir)/aybabtu.otf
-PFA_OTF_FILES = $(STAFF_SIZES:%=$(outdir)/PFAemmentaler-%.pfa)\
- $(outdir)/PFAaybabtu.pfa
+PFA_OTF_FILES = $(STAFF_SIZES:%=$(outdir)/$(PFA_PREFIX)emmentaler-%.pfa)\
+ $(outdir)/$(PFA_PREFIX)aybabtu.pfa
PE_SCRIPTS = $(STAFF_SIZES:%=$(outdir)/emmentaler-%.pe)\
$(STAFF_SIZES:%=$(outdir)/emmentaler-%.dep)
OTF_TABLES = $(STAFF_SIZES:%=$(outdir)/feta%.otf-table)\
# 2. are not included with teTeX
#
-$(outdir)/%.cff.ps $(outdir)/PFA%.pfa $(outdir)/%.cff $(outdir)/%.otf $(outdir)/%.svg: $(outdir)/%.pe
+$(outdir)/%.cff.ps $(outdir)/$(PFA_PREFIX)%.pfa $(outdir)/%.cff $(outdir)/%.otf $(outdir)/%.svg: $(outdir)/%.pe
(cd $(outdir) && $(FONTFORGE) -script $(notdir $<))
$(PYTHON) $(buildscript-dir)/ps-embed-cff.py $(basename $<).cff `cat $(basename $<).fontname` $(basename $<).cff.ps
-rm $(outdir)/*.scale.pfa
+# ugh, this does not work
+$(outdir)/%.pfa: $(outdir)/%.log
+$(outdir)/feta-alphabet%.pfa: $(outdir)/feta-alphabet%.log
+$(outdir)/emmentaler-%.otf $(outdir)/$(PFA_PREFIX)emmentaler-%.pfa $(outdir)/emmentaler%.cff $(outdir)/emmentaler%.svg: $(outdir)/feta%.pfa $(outdir)/feta-alphabet%.pfa $(outdir)/parmesan%.pfa
+
+# AARGH?
+
+$(outdir)/feta11.pfa: $(outdir)/feta11.log
+$(outdir)/feta13.pfa: $(outdir)/feta13.log
+$(outdir)/feta14.pfa: $(outdir)/feta14.log
+$(outdir)/feta16.pfa: $(outdir)/feta16.log
+$(outdir)/feta18.pfa: $(outdir)/feta18.log
+$(outdir)/feta20.pfa: $(outdir)/feta20.log
+$(outdir)/feta23.pfa: $(outdir)/feta23.log
+$(outdir)/feta26.pfa: $(outdir)/feta26.log
+
+$(outdir)/feta-alphabet11.pfa: $(outdir)/feta-alphabet11.log
+$(outdir)/feta-alphabet13.pfa: $(outdir)/feta-alphabet13.log
+$(outdir)/feta-alphabet14.pfa: $(outdir)/feta-alphabet14.log
+$(outdir)/feta-alphabet16.pfa: $(outdir)/feta-alphabet16.log
+$(outdir)/feta-alphabet18.pfa: $(outdir)/feta-alphabet18.log
+$(outdir)/feta-alphabet20.pfa: $(outdir)/feta-alphabet20.log
+$(outdir)/feta-alphabet23.pfa: $(outdir)/feta-alphabet23.log
+$(outdir)/feta-alphabet26.pfa: $(outdir)/feta-alphabet26.log
+
+$(outdir)/parmesan11.pfa: $(outdir)/parmesan11.log
+$(outdir)/parmesan13.pfa: $(outdir)/parmesan13.log
+$(outdir)/parmesan14.pfa: $(outdir)/parmesan14.log
+$(outdir)/parmesan16.pfa: $(outdir)/parmesan16.log
+$(outdir)/parmesan18.pfa: $(outdir)/parmesan18.log
+$(outdir)/parmesan20.pfa: $(outdir)/parmesan20.log
+$(outdir)/parmesan23.pfa: $(outdir)/parmesan23.log
+$(outdir)/parmesan26.pfa: $(outdir)/parmesan26.log
+
+$(outdir)/$(PFA_PREFIX)emmentaler-11.otf $(outdir)/$(PFA_PREFIX)emmentaler-11.pfa: $(outdir)/feta11.pfa $(outdir)/feta-alphabet11.pfa $(outdir)/parmesan11.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-13.otf $(outdir)/$(PFA_PREFIX)emmentaler-13.pfa: $(outdir)/feta13.pfa $(outdir)/feta-alphabet13.pfa $(outdir)/parmesan13.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-14.otf $(outdir)/$(PFA_PREFIX)emmentaler-14.pfa: $(outdir)/feta14.pfa $(outdir)/feta-alphabet14.pfa $(outdir)/parmesan14.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-16.otf $(outdir)/$(PFA_PREFIX)emmentaler-16.pfa: $(outdir)/feta16.pfa $(outdir)/feta-alphabet16.pfa $(outdir)/parmesan16.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-18.otf $(outdir)/$(PFA_PREFIX)emmentaler-18.pfa: $(outdir)/feta18.pfa $(outdir)/feta-alphabet18.pfa $(outdir)/parmesan18.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-20.otf $(outdir)/$(PFA_PREFIX)emmentaler-20.pfa: $(outdir)/feta20.pfa $(outdir)/feta-alphabet20.pfa $(outdir)/parmesan20.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-23.otf $(outdir)/$(PFA_PREFIX)emmentaler-23.pfa: $(outdir)/feta23.pfa $(outdir)/feta-alphabet23.pfa $(outdir)/parmesan23.pfa
+$(outdir)/$(PFA_PREFIX)emmentaler-26.otf $(outdir)/$(PFA_PREFIX)emmentaler-26.pfa: $(outdir)/feta26.pfa $(outdir)/feta-alphabet26.pfa $(outdir)/parmesan26.pfa
+
$(outdir)/%.otf-table: $(outdir)/%.lisp $(if $(findstring brace,$<),,$(subst feta,parmesan,$<))
cat $< \
$(if $(findstring brace,$<),,$(subst feta,parmesan,$<)) \
$(if $(findstring brace,$<),,$(subst feta,feta-alphabet,$<)) > $@
-$(outdir)/aybabtu.otf $(outdir)/PFAaybabtu.pfa: $(outdir)/aybabtu.subfonts $(outdir)/aybabtu.fontname $(outdir)/aybabtu.otf-table $(outdir)/aybabtu.otf-gtable $(outdir)/aybabtu.pe
+$(outdir)/aybabtu.otf $(outdir)/$(PFA_PREFIX)aybabtu.pfa: $(outdir)/aybabtu.subfonts $(outdir)/aybabtu.fontname $(outdir)/aybabtu.otf-table $(outdir)/aybabtu.otf-gtable $(outdir)/aybabtu.pe
+
+$(outdir)/aybabtu.otf $(outdir)/$(PFA_PREFIX)aybabtu.pfa $(outdir)/aybabtu.cff $(outdir)/aybabtu.svg: $(BRACES:%=$(outdir)/feta-braces-%.pfa)
$(outdir)/aybabtu.fontname:
echo -n 'aybabtu' > $@
for i in $(FETA_FONTS); do echo $$i $$i '<'$$i.pfa; done > $@
for i in $(STAFF_SIZES); do\
echo "Emmentaler-$$i Emmentaler-$$i <emmentaler-$$i.cff.ps";\
- echo "PFAEmmentaler-$$i PFAEmmentaler-$$i <PFAemmentaler-$$i.pfa";\
+ echo "$(PFA_PREFIX)Emmentaler-$$i $(PFA_PREFIX)Emmentaler-$$i <$(PFA_PREFIX)emmentaler-$$i.pfa";\
done >> $@
echo "Aybabtu-Regular Aybabtu-Regular <aybabtu.cff.ps" >> $@
- echo "PFAAybabtu-Regular PFAAybabtu-Regular <aybabtu.cff.ps" >> $@
+ echo "$(PFA_PREFIX)Aybabtu-Regular $(PFA_PREFIX)Aybabtu-Regular <aybabtu.cff.ps" >> $@
#
# FIXME: needed for make web on Debian/unstable -- not in any other .map file
echo "FreeSans FreeSans <FreeSans.ttf" >> $@
for i in $(FETA_FONTS); do echo "/$$i ($$i.pfa);" ; done > $@
for i in $(STAFF_SIZES); do \
echo "/Emmentaler-$$i (emmentaler-$$i.cff.ps);" ; \
- echo "/PFAEmmentaler-$$i (PFAemmentaler-$$i.pfa);" \
+ echo "/$(PFA_PREFIX)Emmentaler-$$i ($(PFA_PREFIX)emmentaler-$$i.pfa);" \
done >> $@
echo "/Aybabtu (aybabtu.cff.ps);" >> $@
- echo "/PFAAybabtu (PFAaybabtu.pfa);" >> $@
+ echo "/$(PFA_PREFIX)Aybabtu ($(PFA_PREFIX)aybabtu.pfa);" >> $@
local-clean:
rm -f mfplain.mem mfplain.log
fet_endchar;
-code := 42;
+code := 42; % , 43
+
fet_beginchar ("Plus", "plus");
- set_char_box (0, .5 height#, -0.25 height#, 0.75 height#);
+ set_char_box (0, .5 height#, -0.25 height#, 0.75 height#);
save hthick, vthick, size, outer_hsize, outer_vsize;
z2 = (centerx + hthick/2, h);
labels(1,2);
draw_rounded_block (z1, z2, hthick);
- draw_rounded_block ((0, centery - vthick/2), (w, (centery + vthick/2)), vthick);
+ draw_rounded_block ((0, centery - vthick/2),
+ (w, (centery + vthick/2)), vthick);
fet_endchar;
-
code := 43; % , = 44
fet_beginchar ("Numeral comma", "comma");
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-18 14:27+0200\n"
+"POT-Creation-Date: 2005-04-18 20:56+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "It comes with NO WARRANTY."
msgstr ""
-#: lilylib.py:125 warn.cc:44 input.cc:79 lily/input.cc:79
+#: lilylib.py:125 warn.cc:44 input.cc:79 lily/input.cc:79 flower/warn.cc:44
#, c-format, python-format
msgid "warning: %s"
msgstr ""
#: lilylib.py:128 warn.cc:50 input.cc:85 input.cc:93 lily/input.cc:85
-#: lily/input.cc:93
+#: lily/input.cc:93 flower/warn.cc:50
#, c-format, python-format
msgid "error: %s"
msgstr ""
msgid "Wrote `%s'"
msgstr ""
-#: getopt-long.cc:143
+#: getopt-long.cc:143 flower/getopt-long.cc:143
#, c-format
msgid "option `%s' requires an argument"
msgstr ""
-#: getopt-long.cc:147
+#: getopt-long.cc:147 flower/getopt-long.cc:147
#, c-format
msgid "option `%s' doesn't allow an argument"
msgstr ""
-#: getopt-long.cc:151
+#: getopt-long.cc:151 flower/getopt-long.cc:151
#, c-format
msgid "unrecognized option: `%s'"
msgstr ""
-#: getopt-long.cc:158
+#: getopt-long.cc:158 flower/getopt-long.cc:158
#, c-format
msgid "invalid argument `%s' to option `%s'"
msgstr ""
-#: warn.cc:64 grob.cc:632 lily/grob.cc:632
+#: warn.cc:64 grob.cc:632 lily/grob.cc:632 flower/warn.cc:64
#, c-format
msgid "programming error: %s"
msgstr ""
-#: warn.cc:65
+#: warn.cc:65 flower/warn.cc:65
msgid "continuing, cross fingers"
msgstr ""
#.
#. todo i18n.
#.
-#: kpath.c:142
+#.
+#. todo i18n.
+#.
+#: kpath.c:142 kpath-guile/kpath.c:142
#, c-format
msgid "can't dlopen: %s: %s"
msgstr ""
-#: kpath.c:143
+#: kpath.c:143 kpath-guile/kpath.c:143
#, c-format
msgid "install package: %s or %s"
msgstr ""
-#: kpath.c:156
+#: kpath.c:156 kpath-guile/kpath.c:156
#, c-format
msgid "no such symbol: %s: %s"
msgstr ""
-#: kpath.c:179
+#: kpath.c:179 kpath-guile/kpath.c:179
#, c-format
msgid "error opening kpathsea library"
msgstr ""
-#: kpath.c:180
+#: kpath.c:180 kpath-guile/kpath.c:180
#, c-format
msgid "aborting"
msgstr ""
letter 'A'."
(ly:get-glyph (ly:paper-get-font layout props) num))
+(def-markup-command (lower layout props amount arg) (number? markup?)
+ "
+Lower @var{arg}, by the distance @var{amount}.
+A negative @var{amount} indicates raising, see also @code{\raise}.
+"
+ (ly:stencil-translate-axis (interpret-markup layout props arg)
+ (- amount) Y))
+
(def-markup-command (raise layout props amount arg) (number? markup?)
"
-This raises @var{arg}, by the distance @var{amount}.
-A negative @var{amount} indicates lowering:
+Raise @var{arg}, by the distance @var{amount}.
+A negative @var{amount} indicates lowering, see also @code{\lower}.
@c
@lilypond[verbatim,fragment,relative=1]
c1^\\markup { C \\small \\raise #1.0 \\bold { \"9/7+\" }}
positions it next to the staff cancels any shift made with
@code{\\raise}. For vertical positioning, use the @code{padding}
and/or @code{extra-offset} properties. "
- (ly:stencil-translate-axis (interpret-markup layout props arg)
- amount Y))
+ (ly:stencil-translate-axis (interpret-markup layout props arg) amount Y))
(def-markup-command (fraction layout props arg1 arg2) (markup? markup?)
"Make a fraction of two markups."
(string->symbol (string-append "make-" (symbol->string (keyword->symbol key)) "-markup")))
(define (compile-markup-expression expr)
- "Return two values: the first complete canonical markup expression found in `expr',
-e.g. (make-COMMAND-markup arg1 arg2 ...), and the rest expression."
+ "Return two values: the first complete canonical markup expression
+ found in `expr', e.g. (make-COMMAND-markup arg1 arg2 ...),
+ and the rest expression."
(cond ((and (pair? expr)
(keyword? (car expr)))
;; expr === (#:COMMAND arg1 ...)
(let* ((command (symbol->string (keyword->symbol (car expr))))
- (sig (markup-command-signature (car (lookup-markup-command command))))
+ (sig (markup-command-signature
+ (car (lookup-markup-command command))))
(sig-len (length sig)))
(do ((i 0 (1+ i))
(args '() args)