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

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

Re: Espacement vertical de markups


From: éric BELLOCQ
Subject: Re: Espacement vertical de markups
Date: Sat, 27 Aug 2022 08:21:57 +0000 (UTC)

Bonjour,
grand merci pour ces échanges.


Jean :
tout ce que je trouve dans le manuel des extensions de fonctionnalités est en 2.5.1 où il y a l'équivalence :
Lilypond : \markup truc
avec
Scheme : (markup truc)

Vu mon peu de connaissance en Scheme, je n'arrive pas à réduire encore plus la saisie de ton code sans fonction : j'essaye de mettre
-\markup \cc
dans une variable sans succès.
J'ai eu la vague idée de créer une fonction markup personalisée pour intégrer le résultat de la fonction markup-list proposée précédemment mais ça me dépasse de beaucoup.



Pierre, pour la tablature allemande :

1. je pense qu'il n'y que très peu d'intérêt à avoir la possibilité d'en produire à partir de code Lilypond standart en notes : qui de nos jours aurait besoin de cela ? Les luthistes n'utilisent cette tablature que pour lire directement les sources anciennes quand ils ont eu le courage de l'apprendre (très rare !!)

2. la création d'une sorte de \tabmode a été maintes fois et longuement discutée et bute sur 2 problématiques : d'une part le choix des enharmonies qu'une tablature ne saurait définir, et d'autre part le choix des voix de polyphonie. Ces 2 problématiques sont en fin de compte ingérables, je n'y revient pas ici.
Même en tab. allemande, qui pourrait montrer une polyphonie stricte, les anciens n'ont jamais trouvé la même souplesse que dans la notation musicale. Dans un autre champ qui n'a rien à voir, même les tablatures d'orgues largement utilisées (Bach a possiblement appris à noter la musique en commençant par ça) on finit par abandonner face à la portée.

3. la seule chose que Lilypond pourrait facilement faire et qui pourrait séduire des luthistes ou guitaristes serait un "traducteur" tab. allemande —> tab. française sans aucune note de musique apparente (excepté le rythme et la superposabilité avec d'autres portées de musique). Il y a de nos jours pas mal de publications en tablature française qui ne font que "traduire" de la tab. allemande. Ça a existé aussi au XVIème.

4. bien-sûr la création d'un snippet pour de la tab. allemande purement graphique semble accessible facilement. Seule la saisie proposée par Jean est un peu lourde à l'usage, mais déjà "vivable".


Éric


Le samedi 27 août 2022, 08:17:51 UTC+2, Pierre Perol-Schneider <pierre.schneider.paris@gmail.com> a écrit :


PS. voir FretLabels pour les associations lettres/case, et aussi
https://lsr.di.unimi.it/LSR/Item?id=920 par ex.

Le sam. 27 août 2022 à 08:11, Pierre Perol-Schneider
<pierre.schneider.paris@gmail.com> a écrit :
>
> Bonjour Éric, bonjour Jean,
> @Jean, merci pour les exemples les fonctions et les explications ;
> super pédagogue !!
> @ Éric : j'ai bossé sur la tablature allemande il y a quelques années.
> De mémoire, ça n'était pas suffisamment au point.
> L'idée -- si je me souvient bien -- était d'affecter une voix et une
> tablature par corde.
> Pour chaque tablature j'y associais les lettres correspondantes aux cases.
> (J'avais même commencé à me faire une petite base de données
> "tablatures" lié aux compositeurs.)
> Voilà, si ça peut t'aiguiller pour de futures idées... Mais un markup
> fait très bien l'affaire aussi :) !!
> Cordialement,
> Pierre
>
>
> Le sam. 27 août 2022 à 00:53, éric BELLOCQ <eric.bellocq@yahoo.fr> a écrit :
> >
> > Merci beaucoup Jean.
> > La dernière possibilité "peu connue", sans fonction est elle documenté dans le manuel ?
> > Je ne trouve pas.
> >
> > Sinon, il y avait un souci quand le 1er argument est de hauteur très différente.
> > J'ai ajouté un staff.padding qui semble bien faire l'affaire :
> >
> > \version "2.22.1"
> >
> > \markup cc = #center-column-markup
> >
> > \score {
> > \new RhythmicStaff {
> > \textLengthOn
> > \override TextScript.baseline-skip = 2.5
> > \override TextScript.staff-padding = 3
> > 4-\markup \cc { 11 22 }
> > 4-\markup \cc { " " 22 }
> > 4-\markup \cc { … 22 33 }
> > 4-\markup \cc { x 22 33 }
> > 4-\markup \cc { () 22 33 }
> > 4-\markup \cc { | ²22’ 33 }
> > 4-\markup \cc { 11 " " " " 44 }
> > 4-\markup \cc { 11 22 (|) 44 }
> > }
> > }
> >
> >
> > Ce genre de saisie permettra de graver, entre autres, de la tablature allemande de luth renaissance.
> > Bien-sûr de façon purement graphique, sans lien avec une portée musicale, mais c'est déjà bien.
> > Pour un exemple de cette tablature :
> > http://www.sf-luth.org/?Histoire_du_Luth/Qu%27est-ce_qu%27une_Tablature_%3F
> >
> > Éric
> > Le vendredi 26 août 2022, 22:57:04 UTC+2, Jean Abou Samra <jean@abou-samra.fr> a écrit :
> >
> >
> > Le 26/08/2022 à 22:38, éric BELLOCQ a écrit :
> > > Merci Pierre pour la fonction,
> > > oui le rendu est tout à fait ce que je cherche.
> > > Je me permets d'abuser avec une question en plus :
> > > est-il compliqué d'avoir un nombre d'argument variable pour éviter
> > > d'avoir à coder trop de d'arguments vides c-à-d les "" quand il y a
> > > moins de lignes que le maximum ?
> >
> >
> >
> > C'est possible, en donnant à la fonction un seul argument de type
> > markup-list? au lieu de plusieurs arguments de type markup? . Par
> > contre, il faut alors mettre des accolades (logique, sinon
> > LilyPond ne pourrait pas savoir où les arguments se terminent).
> >
> > \version "2.22.2"
> >
> > #(define-markup-command (indic layout props args)
> >    (markup-list?)
> >    (interpret-markup layout props
> >    #{
> >      \markup
> >        \override #'(baseline-skip . 2.2)
> >        \center-column { #args }
> >    #}))
> >
> > \score {
> >  \new RhythmicStaff {
> >    \textLengthOn
> >  4-\markup\indic { 11 22 }
> >  4-\markup\indic { 11 22) }
> >  4-\markup\indic { 11 33 }
> >  4-\markup\indic { 11 = 33 }
> >  4-\markup\indic { 11 22 33 }
> >  }
> > }
> >
> >
> > D'ailleurs, en réalité on n'a même pas besoin d'une fonction ici (mais
> > la technique est moins connue) :
> >
> >
> > \version "2.22.2"
> >
> > \score {
> >  \new RhythmicStaff {
> >    \textLengthOn
> >    \override TextScript.baseline-skip = 2.2
> >  4-\markup \center-column { 11 22 }
> >  4-\markup \center-column { 11 22) }
> >  4-\markup \center-column { 11 33 }
> >  4-\markup \center-column { 11 = 33 }
> >  4-\markup \center-column { 11 22 33 }
> >  }
> > }
> >
> > Et si vous trouvez le nom \center-column trop long, vous pouvez toujours
> > faire
> >
> > \version "2.22.2"
> >
> > %{
> > #(define-markup-command (cc layout props args) (markup-list?)
> >    (interpret-markup layout props #{ \markup \center-column { #args } #}))
> > %}
> > % ou en plus concis :
> > \markup cc = #center-column-markup
> >
> > \score {
> >  \new RhythmicStaff {
> >    \textLengthOn
> >    \override TextScript.baseline-skip = 2.2
> >  4-\markup \cc { 11 22 }
> >  4-\markup \cc { 11 22) }
> >  4-\markup \cc { 11 33 }
> >  4-\markup \cc { 11 = 33 }
> >  4-\markup \cc { 11 22 33 }
> >  }
> > }
> >
> >
> > Bref, comme souvent, il y a beaucoup de possibilités.
> >
> > La page de la documentation sur la définition de commandes pour
> > markup personnalisées est ici :
> >
> > https://lilypond.org/doc/v2.23/Documentation/extending/new-markup-command-definition
> >
> >
> > Cordialement,
> >
> > Jean
> >
> >

reply via email to

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