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

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

Re: Simplifier l’affiche et/ou la supressio n des numéros des mesures


From: Philippe Nenert
Subject: Re: Simplifier l’affiche et/ou la supressio n des numéros des mesures
Date: Fri, 11 Apr 2014 11:50:06 +0200

On 11 avr. 2014, at 10:53, Philippe Nenert <address@hidden> wrote:

Dans la même veine saurais-tu comment faire 
maFonction = #f => \override Score.BarNumber.break-visibility = ##(#f #f #f)
maFonction = #t => \override Score.BarNumber.break-visibility = ##(#f #t #t)

Je me réponds à moi-même pour les lecteurs de cette liste.

Une fois compris le fonctionnement du Guile, cela devient plus simple à réaliser. 
http://www.gnu.org/software/guile/ 
Le Guile est l’interprète et compilateur du Scheme, langage de programmation inclus avec Lilypond


Voici le code, avec ses commentaires.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.19.3"

% La fonction et sa déclaration obligatoire avec les mots clefs «parser» et «location»
% la variable porte le nom de «isBarNumberVisibility» est est de type «boolean» (Oui/Non)
barNumberVisibility =
  #(define-music-function (parser location isBarNumberVisibility) (boolean?)
  ; La fonction IF prends trois arguments : le test, la réponse si OUI, la réponse si NON
    (if 
      ; le test
      isBarNumberVisibility
      ; la réponse OUI
      #{ \override Score.BarNumber.break-visibility = ##(#f #t #t) #}
      ; la réponse NON
      #{ \override Score.BarNumber.break-visibility = ##(#f #f #f) #}
      ; le fait d’encadrer le retour par «#{» et «#}» est pour renvoyer du code lilypond
    )
  )

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Essai d’usage, merci Pierre
{
  \barNumberVisibility ##t
  \repeat unfold 16 c'1
  \barNumberVisibility ##f
  \repeat unfold 16 c'1
  \barNumberVisibility ##t
  \repeat unfold 16 c'1
  \barNumberVisibility ##f
  \repeat unfold 16 c'1
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Merci de m’avoir lu jusqu’ici
Si un PRO du scheme, veux bien me corriger et/ou simplifier ce code, je lui en serai reconnaissant.

Bonne journée, Philippe



reply via email to

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