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

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

RE: débuts difficiles avec scheme


From: CHARADE Olivier
Subject: RE: débuts difficiles avec scheme
Date: Sun, 4 Jul 2021 16:03:55 +0000

Merci Jean pour toutes ces réponses.


Pour le bac à sable, ça marche. Mais comment pouvais-je deviner un chemin pareil? Quand je cliquais sur l'application depuis le Finder, ça la lançait au lieu d'aller dans son répertoire. Suite à votre réponse, je viens de m'apercevoir qu'en cliquant droit il me proposait “afficher le contenu du paquet“, ce qui revient à descendre dans le répertoire. Je ne suis pas encore familier de ce système d'exploitation...


En sortant du cours de scheme, si je ne me souvenais que d'une chose, c’était de ne pas oublier les parenthèses. Je découvre qu'en mettre de trop est préjudiciable aussi. Et tout redevient limpide.

Quant à la page de documentation sur les fonctions de substitution, une de plus qui devient lisible pour moi.


Il faut que j'arrête de poster pour le WE, sous peine de dépasser mes capacités d'assimilation.


Cordialement,

Olivier


De : Jean Abou Samra <jean@abou-samra.fr>
Envoyé : dimanche 4 juillet 2021 16:26:15
À : CHARADE Olivier; lilypond-user-fr@gnu.org
Cc : Valentin Villenave
Objet : Re: débuts difficiles avec scheme
 
> Le 04/07/2021 13:06, CHARADE Olivier <olivier.charade@cnrs.fr> a écrit :
>
>
> Bonjour,
> Comme je m'y attendais, scheme était limpide tant que Jean en parlait; mais maintenant que je suis tout seul devant mon code tout simple, ça redevient mystérieux.
>
> Comme j'aime bien pouvoir compléter à la main une partition en cours d'écriture, je rajoute des portées vides à la fin des voix avant d'imprimer. Mais quand je dois présenter le travail à quelqu'un je dois les retirer.
> Je me suis dit qu'il serait plus facile d'avoir un booléen en début de programme pour choisir de les afficher ou non.
> Première tentative sur Lilybin (tiens d'ailleurs, je n'ai pas réussi à lancer le bac à sable sur Mac)


Il suffit a priori d'un

/Applications/LilyPond.app/Contents/Resources/bin/lilypond scheme-sandbox

(à lancer dans le Terminal).

Si cela ne fonctionne pas, quelle est l'erreur ?


> brouillon = ##t
> papierMusique = #( if ( brouillon ) ( “{ \omit Score.BarLine s1 *40 \undo \omit Score.BarLine }“)(““))
> notes = { c' d' e' d' }
> \score{
>  {
>  \notes \papierMusique
>  }
> }
> Ca hurle ! Pourtant ça me paraissait clair 😊


Deux petits problèmes ici :

- Le parenthésage : (brouillon) est un appel
  d'une fonction qui ne prend pas d'argument.

- La musique ne s'entre pas sous forme de chaîne
  de caractères, mais en passant en syntaxe LilyPond
  au milieu du code Scheme, avec #{ ... #}.

Donc :

\version "2.22.0"

brouillon = ##f
papierMusique =
#(if brouillon
     #{
        \omit Staff.BarLine
        s1*40
        \undo \omit Staff.BarLine
     #})

notes = { c' d' e' d' }

{
  \notes \papierMusique
}

(Notez qu'il n'y a même pas besoin de mettre quoi
que ce soit pour le cas où la condition est fausse :
le if s'évalue alors à *unspecified*, que LilyPond
ignore.)

La méthode des \tag que propose Martial fonctionne
très bien aussi.

> J'ai trouvé l'astuce de la fonction pour que ça ne hurle plus (mais pourquoi?)

Car une fonction Scheme ne peut pas être exécutée directement
comme fonction musicale. Donc, la fonction n'est même pas
exécutée car les fonctions Scheme ne sont pas parmi les types
reconnus par l'analyseur syntaxique. Pour définir de nouvelles fonctions musicales que l'on peut appeler avec le \, voir

https://lilypond.org/doc/v2.23/Documentation/notation/substitution-function-syntax

> brouillon = ##t
> papierMusique = #( lambda(brouillon)(if ( brouillon ) ( “{ \omit Score.BarLine s1 *40 \undo \omit Score.BarLine }“)(““)))
> notes = { c' d' e' d' }
> \score{
>  {
>  \notes \papierMusique
>  }
> }
> Mais je ne vois pas mon papierMusique. Il faut peut être que je trouve où se cache le backquote sur mon clavier?
>
> En tous cas ce café Lily m'a bien motivé (l'enregistrement n'est plus dispo, apparemment?)

En effet, le lien
https://visio.hypra.fr/playback/presentation/2.0/playback.html?meetingId=764fe2bf63e468b81136e4c5c26aa88a431bdcbc-1622900206284
est mort (mais
https://www.dropbox.com/s/1z2qfkrqf8q0e48/cafelily2021%20on%202021-06-05%2013-35.mp4?dl=0
pour la première partie fonctionne toujours).
Cela dit, il a peut-être été purgé volontairement
après un certain temps vu la taille du fichier.
Valentin ?

Bien cordialement,
Jean

reply via email to

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