lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lilypond en mode présentation (slideshow)


From: Valentin Villenave
Subject: Re: Lilypond en mode présentation (slideshow)
Date: Wed, 17 Jun 2020 17:33:24 +0200

On 6/17/20, survoje <survoje@free.fr> wrote:
> (ps : j'avais fait un précédent envoi de ce message avec des pdf en
> pièces jointes... Ne le voyant pas repasser, j'ai supprimé ces pdf en
> supposant que le problème venait de là : pièces jointes trop importantes)

Hello,
oui effectivement, ça faisait presque un méga-octet en tout ; j’ai
poussé depuis quelques années la limite de 32 à 128Ko mais là ça
devient un peu beaucoup (il faut penser aux bonnes gens qui, dans les
décennies à venir, téléchargeront le mbox de la liste entière en un
unique fichier texte et se taperont des blocs de milliers de lignes de
code binaire en base64 au milieu des messages authentiquement
lisibles).

D’autant qu’en l’occurrence, le code ly permet tout à fait de
comprendre comment ça fonctionne.

> Comme je n'ai rien trouvé sur ce sujet, je fais part ici d'une
> utilisation possible de Lilypond en mode "présentation", c'est-à-dire
> comme powerpoint, impress, beamer...Le principe : utilisation de
> bookpart pour chaque diapo, compilation en PDF, visualisation en mode
> "présentation".

C’est une bonne idée ; si c’était moi il y a deux choses que je ferais
différemment.

- La première, on en a déjà parlé, c’est de factoriser autant que
possible la mise en forme, pour qu’elle soit définie à un seul endroit
une fois pour toutes. Au degré extrême, ça donne des trucs du genre
https://lists.gnu.org/archive/html/lilypond-user-fr/2020-05/msg00304.html
mais même sans aller jusque là, je remarque que tu as mis ton
\applyContext pour changer les couleurs dans une variable, mais que tu
ne l’as pas utilisée…

- La deuxième, c’est que (particulièrement dans le cas de ton
troisième exemple) j’essaierais de séparer au maximum le contenu
musical de la façon dont il est présenté (ce qui permet au passage de
ne changer _que_ ce dernier paramètre plutôt que de saisir à nouveau
la partition à chaque fois. J’appliquerais une variable, dans une voix
invisible (qui n’est même pas une véritable voix car elle s’insère
directement dans le contexte Voice), comme un «calque» qui s’ajoute
aux notes et permet de contrôler ce qu’on affiche ou non.

Un exemple :

%%%%%%%%%%%%

#(set! paper-alist (cons '("format" . (cons (* 20 cm) (* 15 cm))) paper-alist))

%--- gestion couleur
#(define (override-color-for-all-grobs color)
   (lambda (context)
     (let loop ((x all-grob-descriptions))
       (if (not (null? x))
           (let ((grob-name (caar x)))
             (ly:context-pushpop-property context grob-name 'color color)
             (loop (cdr x)))))))

couleur = {\applyContext #(override-color-for-all-grobs (x11-color 'blue))
}
pascouleur = {\applyContext #(override-color-for-all-grobs (x11-color 'black))
}
%---------------

global= {
  \time 4/4
  \clef "treble_8"
  \key d \major}

%----- Air de danse (Sanz)

pouce = \relative c {
  \voiceTwo
  d1 d1 d2 fis4 e4 d1 \break
  d1 d1 d4. e8 fis4 gis4 a2 a,2
}

doigts = \relative c' {
  \voiceOne
  d4.-2 cis8-1 d4-2 e4\2-4
  fis8 g fis e d4 e4
  fis4 d a' g
  fis8 g fis e d2
  d4. cis8 d4 e4
  fis8 g fis e d4 e4
  fis1 <cis e>2 s2 }

gabarit =  {
  \omit Fingering
  \omit StringNumber
  s1*2 \hideNotes
  s \set Score.skipTypesetting = ##t
}

%============= Sanz Phrase 1
\bookpart{
  \score{
    \new StaffGroup = "classique et Tab"  <<
      \new Staff = "guitare traditionnelle" <<
        \global
        \context Voice = mel << \doigts \gabarit >>
        \context Voice = "le pouce" << \pouce \gabarit >>
      >>
      \new TabStaff = "guitare TAB" <<
        \tabFullNotation
        \context TabVoice = "le pouce" << \pouce \gabarit >>
        \context TabVoice = "les doigts" << \doigts \gabarit >>
      >>
    >>
    \layout {
      #(set-default-paper-size "format")
      indent = 0
    }
  }
}

gabarit =  {
  s1*2 s1 \couleur
  \context Voice = "mel" { s2( s)} \hideNotes
}
%============= Sanz Phrase 2
\bookpart{
  \score{
    \new StaffGroup = "classique et Tab"  <<
      \new Staff = "guitare traditionnelle" <<
        \global
        \context Voice = mel << \doigts \gabarit >>
        \context Voice = "le pouce" << \pouce \gabarit >>
      >>
      \new TabStaff = "guitare TAB" <<
        \tabFullNotation
        \context TabVoice = "le pouce" << \pouce \gabarit >>
        \context TabVoice = "les doigts" << \doigts \gabarit >>
      >>
    >>
    \layout {
      #(set-default-paper-size "format")
      indent = 0
    }
  }
}

%%%%%%%%%

V.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]