|
From: | Remy CLAVERIE |
Subject: | re: Incipit musique ancienne avec paroles |
Date: | Tue, 17 Dec 2019 16:59:53 +0100 (CET) |
Bonjour Jean-Baptiste,
Désolé de cette réponse tardive. Voici une proposition de méthode :
\version "2.18.2"
\include "italiano.ly"
incipit =
#(define-music-function (parser location incipit-music) (ly:music?)
#{
\once \override Staff.InstrumentName.self-alignment-X = #RIGHT
\once \override Staff.InstrumentName.self-alignment-Y = ##f
\once \override Staff . InstrumentName.padding = #0.5
\once \override Staff.InstrumentName.stencil =
#(lambda (grob)
(let* ((instrument-name (ly:grob-property grob 'long-text)))
(set! (ly:grob-property grob 'long-text)
#{ \markup {
\score
{
{ \context PetrucciStaff \with {
instrumentName = #instrument-name
%fontSize = #1
} $incipit-music
}
\layout { $(ly:grob-layout grob)
line-width = \indent
indent =
% primitive-eval is probably easiest for
% escaping lexical closure and evaluating
% everything respective to (current-module).
#(primitive-eval
'(or (false-if-exception (- indent incipit-width))
(* 0.5 indent)))
ragged-right = ##f
ragged-last = ##f
system-count = #1 }
} \hspace #2 }
#})
(system-start-text::print grob)))
#})
%
IncipitInstruments = \relative do {
\override Staff . BarLine . transparent = ##t
\override Staff . TimeSignature . style = #'mensural
\override Staff . Rest . style = #'mensural
r1
}
IncipitAlto = \relative do' {
\override Staff . BarLine . transparent = ##t
\override Staff . TimeSignature . style = #'mensural
\override NoteHead . style = #'neomensural
\clef "petrucci-c3"
re4 la' sol8 mi fa re
}
IncipitLyrics = \lyricmode {
\override LyricText . font-size = #-2
\override LyricText . font-name = #"Times New Roman [Mono]"
Ich will sin -- gen von der
}
AL = \lyricmode { Ich will sin -- gen von der }
RittornelloMusic = \relative do' { re4 la' sol8 mi fa re }
\score {
\keepWithTag #'Cond
<<
\new StaffGroup
<<
\new Staff
<<
\incipit { \clef "petrucci-c1" \IncipitInstruments }
\set Staff . instrumentName = "Canto"
\set Staff.shortInstrumentName = "C. "
\new Voice = "CantusI" { \clef treble R1 }
>>
\new Staff
<<
\incipit \new PetrucciVoice = "A" {
<<
<<
\clef "petrucci-c3"
\IncipitAlto
>>
\new Lyrics \lyricsto "A" \IncipitLyrics
>>
}
\set Staff . instrumentName ="Alto"
\set Staff.shortInstrumentName = "A"
\new Voice = "AltoI" { \clef treble \RittornelloMusic }
\new Lyrics \lyricsto "AltoI" \AL
>>
\new Staff
<<
\incipit { \clef "petrucci-c4" \IncipitInstruments }
\set Staff . instrumentName = "Tenore"
\set Staff.shortInstrumentName = "T."
\new Voice = "TenorI" { \clef "G_8" R1 }
>>
\new Staff
<<
\incipit { \clef "petrucci-f4" \IncipitInstruments }
\set Staff . instrumentName ="Basso"
\set Staff.shortInstrumentName = "B."
\new Voice = "BassusI" { \clef bass R1 }
>>
>>
>>
\header {
piece = \markup { \fontsize #+2 \italic "Verse I" }
}
\layout
{
indent = 8\cm
incipit-width = 6\cm
short-indent = 0.5\cm
\context {
\Score
%tempoHideNote = ##t
\override LyricText #'font-name = "Gentium Book Basic"
\override LyricText #'font-size = #-1
\override NoteHead #'style = #'baroque
}
}
}
HTH
Rémy
> Message du 14/11/19 14:48
> De : "JB" <address@hidden>
> A : address@hidden
> Copie à :
> Objet : Incipit musique ancienne avec paroles
>
> Je travaille en ce moment sur la transcription de partitions du XVIème.
> J'aimerai y placer un incipit avec les paroles, en notation blanche. J'ai
> trouvé un modèle qui convient à la présentation que je veux, mais sans les
> paroles.
> Je me suis basé sur ce modèle, disponible sur ce lien vers le Lilypond
> Snippet Repository (cliquer sur la partition pour voir le code) :
>
> http://lsr.di.unimi.it/LSR/Search?q=incipit
> <http://lsr.di.unimi.it/LSR/Search?q=incipit>
>
>
> La fonction "incipit" est l'élément important. Elle contient une variable
> ("$incipit-music"), il m'en faudrait une autre, où l'on puisse stocker le
> texte, de manière à l'aligner avec la musique évidemment.
> Je ne connais pas vraiment Scheme, mais j'ai compris qu'il fallait définir
> le type de la variable (pour incipit-music il s'agit du type "ly:music?").
> J'ai essayé de rajouter une autre variable, avec différents types de
> variables Scheme où Lilypond, sans résultat.
> Si quelqu'un connaissait suffisamment Lilypond/Scheme, pour avoir une idée,
> entre autre du type de variable, où d'une autre méthode pour arriver à un
> résultat similaire, je lui en serais reconnaissant.
>
>
>
>
> --
> Sent from: http://lilypond-french-users.1298960.n2.nabble.com/
>
>
[Prev in Thread] | Current Thread | [Next in Thread] |