Je voudrais demander de l'aide pour écrire une fonction qui résolve la tâche suivante : étant donné une entrée de type ly:music, elle devrait renvoyer n copies de ly:musicavec un numéro de séquence ajouté au-dessus.
Par exemple : \foo n <c e>8 devrait renvoyer <c e>8^“1” <c e>8^“2” <c e>8^“3” ... <c e>8^“n”.
Je sais que je peux résoudre le problème de la répétition en utilisant \repeat, donc je pourrais écrire \repeat unfold n <c e>8. Il reste le problème de l'ajout automatique d'un numéro progressif au-dessus de l'accord.
Je pensais définir une fonction en Scheme avec une boucle map, mais je suis encore un peu confus par la programmation en Scheme.
Merci d'avance pour toute aide (et pardonnez mon français) !
Bonjour Jean,
merci beaucoup pour votre réponse, le code fait exactement ce que je voulais !
J'ai juste remarqué que si je donne un accord comme <c' e'>, chaque itération monte d'une octave (<c e'> par contre fonctionne très bien).
Y a-t-il un moyen de résoudre ce problème ?
Je l'ai résolu momentanément en ajoutant \fixed c' dans la fonction (j'ai également corrigé la numérotation pour qu'elle s'imprime à partir de 1):