\includes relatives, en natif et en Scheme.

classic Classique list Liste threaded Arborescence
3 messages Options
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

\includes relatives, en natif et en Scheme.

Valentin Villenave
Administrateur
Bonjour Nicolas, bonjour tout le monde,

J'avais envoyé ce message le 18 mars sur -devel mais Joe n'avait pas
le temps de regarder en détail ce dont je parlais.

J'ai cru remarquer que la commande \include ne fonctionne pas
exactement pareil en mode relatif et en mode par défaut. Notamment,
lorsque l'on utilise un include dans du Scheme, par exemple,

 (ly:parser-parse-string parser "\\include \"mysubdir/foobar.ly\""))

le mode relatif ne marche pas. Le tarball ci-joint démontre ces incohérences.

Nicolas, peux-tu confirmer (si tu as un moment), et me dire si 1)
c'est réparable 2) cela vaut le coup d'ouvrir une page de tracker 3)
il y a un moyen de contourner cette limitation ? Merci !

Cordialement,
Valentin

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

dir.tar.gz (804 bytes) Download Attachment
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \includes relatives, en natif et en Scheme.

Nicolas Sceaux

Le 17 avr. 2010 à 19:58, Valentin Villenave a écrit :

> Bonjour Nicolas, bonjour tout le monde,
>
> J'avais envoyé ce message le 18 mars sur -devel mais Joe n'avait pas
> le temps de regarder en détail ce dont je parlais.
>
> J'ai cru remarquer que la commande \include ne fonctionne pas
> exactement pareil en mode relatif et en mode par défaut. Notamment,
> lorsque l'on utilise un include dans du Scheme, par exemple,
>
>  (ly:parser-parse-string parser "\\include \"mysubdir/foobar.ly\""))
>
> le mode relatif ne marche pas. Le tarball ci-joint démontre ces incohérences.
>
> Nicolas, peux-tu confirmer (si tu as un moment), et me dire si 1)
> c'est réparable 2) cela vaut le coup d'ouvrir une page de tracker 3)
> il y a un moyen de contourner cette limitation ? Merci !

En effet, il semblerait que le mode d'inclusion relatif ne fonctionne pas
dans ce cas.

Je déconseillerais l'utilisation de cette bidouille à base de
  (ly:parser-parse-string parser "\\include ...")
Je m'étonne que ça fonctionne dans mes partitions, là dans un exemple tout
con j'obtiens des seg faults, ou bien les partitions n'apparaissent pas quand
je clone le parser.

Je dois avouer que je n'ai pas trop envie de creuser davantage.

La vraie bonne solution consisterait à ajouter à LilyPond une fonction scheme
qui fasse la même chose que \include en bonne et due forme, sans bidouiller,
et en gérant correctement la pile d'état du lexer. Et ça pourrait corriger
automagiquement le problème que tu as.  Je pourrai essayer de m'en charger,
mais ne retiens pas ton souffle.

Note : je n'ai jamais utilisé ce mode. J'ai essayé d'adapter mon bousin à ce
mode, mais ça ne fonctionnait pas, à la reflexion j'ai sans doute rencontré ce
problème également...

Nicolas



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \includes relatives, en natif et en Scheme.

Valentin Villenave
Administrateur
2010/4/17 Nicolas Sceaux <[hidden email]>:
> Je déconseillerais l'utilisation de cette bidouille à base de
>  (ly:parser-parse-string parser "\\include ...")
> Je m'étonne que ça fonctionne dans mes partitions, là dans un exemple tout
> con j'obtiens des seg faults, ou bien les partitions n'apparaissent pas quand
> je clone le parser.

C'est très dommage, parce que ça m'était bien utile (en fait, c'est
même à la base du framework que je suis en train de développer : il
parcourt l'arborescence, et inclut automatiquement tous les fichiers
.ly qu'il rencontre).

> La vraie bonne solution consisterait à ajouter à LilyPond une fonction scheme
> qui fasse la même chose que \include en bonne et due forme, sans bidouiller,
> et en gérant correctement la pile d'état du lexer. Et ça pourrait corriger
> automagiquement le problème que tu as.  Je pourrai essayer de m'en charger,
> mais ne retiens pas ton souffle.

Zut. Moi qui avais déjà commencé à devenir tout violacé :-)

> Note : je n'ai jamais utilisé ce mode. J'ai essayé d'adapter mon bousin à ce
> mode, mais ça ne fonctionnait pas, à la reflexion j'ai sans doute rencontré ce
> problème également...

Dans l'absolu je trouve que c'est un mode extrêmement utile (et
élégant !). Mais si ça doit m'empêcher de faire mes inclusions
automagiques, je sens que je vais avoir du mal à ne pas faire passer
mon ordi par la fenêtre...

En un mot : flûte.

Valentin.



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr