|
From: | Simon Martineau |
Subject: | Aide pour une fonction Scheme |
Date: | Thu, 17 Nov 2022 00:50:07 +0100 |
Bonjour à tous,
C’est la première fonction scheme que j’écris, et j’ai besoin d’un peu d’aide :
Dans la plupart de mes partitions, j’utilise une ou plusieurs des fonctions ci dessous pour afficher les numéros de pages, et un marqueur en cas de partition transposée :
\book {
{
\paperoddHeaderMarkup = \markup {
\on-the-fly #not-part-first-page {
\fontsize #-5.5 \fromproperty #'header:title
- p." \fromproperty #'page:page-number-string
"}
}
evenHeaderMarkup = \markup {
\fontsize #-5.5 \fromproperty #'header:title
- p." \fromproperty #'page:page-number-string
"}
}
\musique
}
\book {
\bookOutputSuffix "Bb"
{
\paperoddHeaderMarkup = \markup {
\on-the-fly #first-page { \circle \pad-around #2 "Bb" }
\on-the-fly #not-part-first-page {
\fontsize #-5.5 \fromproperty #'header:title
[Bb] - p." \fromproperty #'page:page-number-string
"}
}
evenHeaderMarkup = \markup {
\fontsize #-5.5 \fromproperty #'header:title
[Bb] - p." \fromproperty #'page:page-number-string
"}
}
\transpose c d \musique
}
\book {
\bookOutputSuffix "Eb"
{
\paperoddHeaderMarkup = \markup {
\on-the-fly #first-page { \circle \pad-around #2 "Eb" }
\on-the-fly #not-part-first-page {
\fontsize #-5.5 \fromproperty #'header:title
[Eb] - p." \fromproperty #'page:page-number-string
"}
}
evenHeaderMarkup = \markup {
\fontsize #-5.5 \fromproperty #'header:title
[Eb] - p." \fromproperty #'page:page-number-string
"}
}
\transpose c a \musique
}
Mon objectif est de réduire au maximum ces trois fonctions :
\myBook \musique % pour les partitions en ut
\myBook "Bb" { \transpose c d \musique } % pour les partitions en Bb
\myBook "Eb" { \transpose c a \musique } % pour les partitions en Eb
Après quelques recherches, je suis arrivé à ce code qui est vraiment incomplet car je bloque sur les points suivants :
$key
(pour les partitions en Ut) ?\fromproperty #'header:title
et
#'page:page-number-string
) ?\fontsize #-5.5
)
?$key
?
myBook =(define-void-function
# (key music)
(string? ly:music?)
(print-book-with-defaults
#{
\book {
\bookOutputSuffix $key
{
\paperoddHeaderMarkup = \markup {
\on-the-fly \first-page {
\circle \pad-around #2 $key
}
\on-the-fly \not-part-first-page {
[" $key "]" - p.
"}
}
evenHeaderMarkup = \markup {
[" $key "]" - p.
"}
}
music
$}
#}))
Merci beaucoup !!
Simon
[Prev in Thread] | Current Thread | [Next in Thread] |