]> git.donarmstrong.com Git - lilypond.git/blob - input/lsr/adding-the-current-date-to-a-score.ly
Add a TODO comment re grace note spacing.
[lilypond.git] / input / lsr / adding-the-current-date-to-a-score.ly
1 %% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
2 %% This file is in the public domain.
3 \version "2.11.35"
4
5 \header {
6   lsrtags = "titles"
7  texidoc = "
8 I often find it useful to include a date on printed music, so that I
9 can see if I'm using the latest version, or tell someone else that he
10 should only use the version after a certain date. A simple solution is
11 to enter the date manually to the @code{.ly} file. But that's very
12 error prone. It's easy to forget updating the date. So i thought it
13 would be useful if you can add the date on which the PDF file is
14 generated automatically. I did't figure it out myself, but I asked on
15 lilypond-user mailing list. And guess what? Someone came with an
16 excellent solution! So thank you very much Toine Schreurs for sending
17 this solution to the user mailing list. I post it here for future
18 reference.
19
20 The solution is to use two scheme functions called @code{strftime} and
21 @code{localtime}, as shown in the snippet. It is a very flexible
22 solution, you can format the date just as you like it by adapting the
23 @code{\"%d-%m-%Y\"} string. See the Guile documentation for more
24 details on this format string: Formatting Calendar Time. 
25 " }
26 % begin verbatim
27 \version "2.11.35"
28 % first, define a variable to hold the formatted date:
29 date = #(strftime "%d-%m-%Y" (localtime (current-time)))
30
31 % use it in the title block:
32 \header {
33   title = "Including the date!"
34   subtitle = \date
35 }
36 % begin verbatim
37 \score {
38   \relative c'' {
39     c4 c c c
40   }
41 }
42 % and use it in a \markup block:
43 \markup {
44   \date
45 }