LilyPond encore plus facile avec EasyLilyPond !

Bonjour à tous,

Après trois semaines de boulot et ces trois derniers jours passés à
débugger mon code sans dormir ni manger, je suis assez soulagé de
pouvoir enfin vous présenter une petite initiative que j'ai entreprise
: EasyLilyPond.

Qu'est-ce qu'EasyLilypond ? C'est tout simplement un moyen de faire
davantage connaître et apprécier Lilypond autour de nous. Jusqu'ici
mes élèves m'apportaient leurs ordinateurs portables en me demandant
"comment ça marchait", et j'étais obligé d'installer, de configurer
tout ça, et de dépenser une énergie considérable à leur faire valoir
que "mais si, c'est simple".

D'où mon idée de regrouper, en un *même* installeur :
-LilyPond
-l'éditeur jEdit
-le plugin LilypondTool
-le Java Runtime Environment nécessaire pour jEdit
-un lecteur PDF libre

Le gros du travail a été de donner à tout ça une forme conviviale et agréable.

- Je suis parti du code source même de l'installeur "officiel" de
LilyPond, donc l'installation de lilypond est aussi fiable qu'une
installation standard.
- J'ai tout retravaillé pour lui donner un look ligne des installeurs
de jeux vidéos ou autres.
- J'ai "skinné" comme un malade l'éditeur jEdit
- J'ai également écrit une petite application, nommée EasyLauncher,
qui donne accès en un clic à toutes les ressources utiles : lancer
l'éditeur, voir des fichiers d'exemple, ouvrir la documentation,
lancer un fichier d'apprentissage, etc. Là encore, le Easylauncher est
skinné à outrance, avec un joli écran d'accueil transparent, une
petite musique d'ouverture,...
- *Tout* est (enfin) localisé : non seulement l'installeur et le
Launcher, mais même la partition de démarrage "welcome.ly", que vous
connaissez tous, apparaît automatiquement dans la langue de
l'utilisateur (y compris le choix du nom des notes : "italiano.ly"
pour un utilisateur français, et ainsi de suite).

C'est encore en état pré-pré-pré-alpha-truc, mais ça donne déjà une
idée. Mon propos était avant tout de voir jusqu'à quel point je
pouvais donner à Lilypond un aspect rassurant pour l'utilisateur
Windows de base.

Plus d'informations :
http://valentin.villenave.info/spip.php?article45

Merci beaucoup et joyeux Noël à tous !

Valentin

Bonjour,

Dans un .ly multi-scores mais un seul pdf, il est possible de définir les en-têtes pairs et impairs en définissant oddHeaderMarkup et evenHeaderMarkup. Toutefois, ils semblent constants pour tout le pdf.

Or je voudrais mettre dans ces en-têtes le nom du score courant. Par exemple, dans un morceau avec plusieurs mouvements, mettre le nom du premier mouvement sur les pages de ce mouvement, puis automatiquement le nom du deuxième mouvement sur les pages de ce mouvement, etc... J'essaie donc de redéfinir les oddHeaderMarkup et evenHeaderMarkup pour chaque mouvement, mais sans succès.

Bonnes fêtes à tous.

En partant de l'exemple de la doc, voici mon code actuel (c'est 3 fois le même score pour faire 3 scores de test):

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.36"

\paper
{
    oddHeaderMarkup = \markup { "odd" }
    evenHeaderMarkup = \markup { "even" }
}
\header
{
    title = "Titre"
    subtitle = "Sous-Titre"
}

% Score 1
         \score { \new Staff {\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
         } \layout
{
oddHeaderMarkup = \markup { "Mouvement 1" }
evenHeaderMarkup = \markup { "Mouvement 1" }
} }

% Score 2
         \score { \new Staff {\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
         } \layout
{
oddHeaderMarkup = \markup { "Mouvement 2" }
evenHeaderMarkup = \markup { "Mouvement 2" }
} }

% Score 3
         \score { \new Staff {\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
         } \layout
{
oddHeaderMarkup = \markup { "Mouvement 3" }
evenHeaderMarkup = \markup { "Mouvement 3" }
} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Est-ce qu'il serait possible de définir en Scheme une variable dans chaque score (ou changer la valeur d'une même variable), puis l'utiliser avec \on-the-fly dans les en-têtes?

discussions-sur-forums a écrit :

···

Bonjour,

Dans un .ly multi-scores mais un seul pdf, il est possible de définir les en-têtes pairs et impairs en définissant oddHeaderMarkup et evenHeaderMarkup. Toutefois, ils semblent constants pour tout le pdf.

Or je voudrais mettre dans ces en-têtes le nom du score courant. Par exemple, dans un morceau avec plusieurs mouvements, mettre le nom du premier mouvement sur les pages de ce mouvement, puis automatiquement le nom du deuxième mouvement sur les pages de ce mouvement, etc... J'essaie donc de redéfinir les oddHeaderMarkup et evenHeaderMarkup pour chaque mouvement, mais sans succès.

Bonnes fêtes à tous.

En partant de l'exemple de la doc, voici mon code actuel (c'est 3 fois le même score pour faire 3 scores de test):

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.36"

\paper
{
   oddHeaderMarkup = \markup { "odd" }
   evenHeaderMarkup = \markup { "even" }
}
\header
{
   title = "Titre"
   subtitle = "Sous-Titre"
}

% Score 1
        \score { \new Staff {\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
        } \layout
{
oddHeaderMarkup = \markup { "Mouvement 1" }
evenHeaderMarkup = \markup { "Mouvement 1" }
} }

% Score 2
        \score { \new Staff {\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
        } \layout
{
oddHeaderMarkup = \markup { "Mouvement 2" }
evenHeaderMarkup = \markup { "Mouvement 2" }
} }

% Score 3
        \score { \new Staff {\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
\repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
        } \layout
{
oddHeaderMarkup = \markup { "Mouvement 3" }
evenHeaderMarkup = \markup { "Mouvement 3" }
} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
---------------------------------------------------------------------------------------

Orange vous informe que cet e-mail a ete controle par l'anti-virus mail. Aucun virus connu a ce jour par nos services n'a ete detecte.

Bonjour,

Dans un .ly multi-scores mais un seul pdf, il est possible de définir les en-têtes pairs et impairs en définissant oddHeaderMarkup et evenHeaderMarkup. Toutefois, ils semblent constants pour tout le pdf.

Or je voudrais mettre dans ces en-têtes le nom du score courant. Par exemple, dans un morceau avec plusieurs mouvements, mettre le nom du premier mouvement sur les pages de ce mouvement, puis automatiquement le nom du deuxième mouvement sur les pages de ce mouvement, etc... J'essaie donc de redéfinir les oddHeaderMarkup et evenHeaderMarkup pour chaque mouvement, mais sans succès.

J'ai réalisé à peu près ce que tu souhaites pour mes partitions :
sur les pages de gauche (paires) le nom de l'œuvre apparaît, et sur les
pages de droites (impaires) le nom du mouvement. Les sources se situent
par exemple ici :
  <http://nicolas.sceaux.free.fr/clavecin/ArtDeToucherLeClavecin.tar.gz&gt;
dans le fichier titling-commands.ily

Le rendu :
  <http://nicolas.sceaux.free.fr/clavecin/ArtDetoucherLeClavecin-new-clefs.pdf >

L'astuce consiste à ajouter des marqueurs à chaque début de section dont
on veut voir le titre en tête de page, et d'ajouter ce même marqueur ainsi
que le titre correspondant dans une table. Ensuite, les commandes de textes
générant les en-têtes, en fonction de la page sur laquelle on se trouve,
vont piocher le titre qui va bien, connaissant pour chaque marqueur le
numéro de page sur lequel il survient.

Il y a un prix à payer pour cette technique, à savoir que l'en-tête est
généré très tard, au moment de la génération du code PostScript, et donc
pour le calcul des sauts de pages un gabarit est utilisé à la place de
l'en-tête, pour estimer la place qu'il occupera. On doit donc avoir
une bonne idée a priori de la taille de l'en-tête. Dans le cas de titres
ce n'est pas grave (on aura une ligne de texte quoi qu'il arrive), mais
ça empêche d'utiliser cette technique par exemple pour des notes de bas
de page, dont la hauteur peut varier de n'importe quoi entre 0 et n
lignes.

nicolas

···

Le 23 déc. 07 à 20:55, discussions-sur-forums a écrit :

Beau travail, mais bon, pour un linuxien comme moi, l'intérêt reste hélas limité :slight_smile:
Heureusement, il reste vos conseils avisés !

bonnes fêtes

Valentin Villenave a écrit :

···

Bonjour à tous,

Après trois semaines de boulot et ces trois derniers jours passés à
débugger mon code sans dormir ni manger, je suis assez soulagé de
pouvoir enfin vous présenter une petite initiative que j'ai entreprise
: EasyLilyPond.

Qu'est-ce qu'EasyLilypond ? C'est tout simplement un moyen de faire
davantage connaître et apprécier Lilypond autour de nous. Jusqu'ici
mes élèves m'apportaient leurs ordinateurs portables en me demandant
"comment ça marchait", et j'étais obligé d'installer, de configurer
tout ça, et de dépenser une énergie considérable à leur faire valoir
que "mais si, c'est simple".

D'où mon idée de regrouper, en un *même* installeur :
-LilyPond
-l'éditeur jEdit
-le plugin LilypondTool
-le Java Runtime Environment nécessaire pour jEdit
-un lecteur PDF libre

Le gros du travail a été de donner à tout ça une forme conviviale et agréable.

- Je suis parti du code source même de l'installeur "officiel" de
LilyPond, donc l'installation de lilypond est aussi fiable qu'une
installation standard.
- J'ai tout retravaillé pour lui donner un look ligne des installeurs
de jeux vidéos ou autres.
- J'ai "skinné" comme un malade l'éditeur jEdit
- J'ai également écrit une petite application, nommée EasyLauncher,
qui donne accès en un clic à toutes les ressources utiles : lancer
l'éditeur, voir des fichiers d'exemple, ouvrir la documentation,
lancer un fichier d'apprentissage, etc. Là encore, le Easylauncher est
skinné à outrance, avec un joli écran d'accueil transparent, une
petite musique d'ouverture,...
- *Tout* est (enfin) localisé : non seulement l'installeur et le
Launcher, mais même la partition de démarrage "welcome.ly", que vous
connaissez tous, apparaît automatiquement dans la langue de
l'utilisateur (y compris le choix du nom des notes : "italiano.ly"
pour un utilisateur français, et ainsi de suite).

C'est encore en état pré-pré-pré-alpha-truc, mais ça donne déjà une
idée. Mon propos était avant tout de voir jusqu'à quel point je
pouvais donner à Lilypond un aspect rassurant pour l'utilisateur
Windows de base.

Plus d'informations :
Joyeux Noël... avec Easy LilyPond ! - [Le Site]

Merci beaucoup et joyeux Noël à tous !

Valentin

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Confidence pour confidence, c'est aussi mon cas :slight_smile:

Il y a encore un méchant bug (il faut enregistrer les fichiers .ly à
la racine du dossier d'installation pour que la compilation puisse se
faire). Je le corrigerai d'ici quelques jours (fêtes obligent)...

Cordialement,
Valentin

···

Le 24/12/07, moebius<****@****> a écrit :

Beau travail, mais bon, pour un linuxien comme moi, l'intérêt reste
hélas limité :slight_smile:

Nouvelle version : 10 Mo de moins grâce à la compression LZMA, bugs de
chemins corrigés, et code source inclus dans l'installeur.

En revanche, un nouveau bug : il semble que l'interface se mette en
Français par défaut... :slight_smile:

Cordialement,
Valentin

···

Le 25/12/07, Valentin Villenave<****@****> a écrit :

Il y a encore un méchant bug (il faut enregistrer les fichiers .ly à
la racine du dossier d'installation pour que la compilation puisse se
faire). Je le corrigerai d'ici quelques jours (fêtes obligent)...

Bonjour... et bonne année !

Je salue l'initiative de Valentin de rendre LilyPond plus facile. Je demande à voir l'application afin que je puisse la tester. En quel langage est le code source ?

Cela me fait penser à mon kit de connexion Internet multi-fournisseurs (sur disquettes) que j'avais conçu avec un pote pour les ordinateurs Amiga de feu Commodore en 1995.

Yann

···

--
Yann Morin
LilyPond 2.10.20 sous WinXP
Partitions pour clavecin & tutoriels LilyPond sur ymorin.club.fr

Je salue l'initiative de Valentin de rendre LilyPond plus facile. Je
demande à voir l'application afin que je puisse la tester. En quel
langage est le code source ?

Bonjour Yann,

Il y a un lien vers l'exécutable et vers le code source sur la page
que j'ai mentionnée :

(le code source est d'ailleurs inclus dans l'installeur exécutable)

L'application est écrite en NSIS, qui est un langage très simple
destiné à écrire des installeurs pour Windows. Les deux seules choses
que je me suis borné à écrire sont l'installeur à proprement parler et
le Lanceur.

(Attentin, par défaut EasyLilyPond est fourni avec la version de
développement de LilyPond)

Cela me fait penser à mon kit de connexion Internet multi-fournisseurs
(sur disquettes) que j'avais conçu avec un pote pour les ordinateurs
Amiga de feu Commodore en 1995.

Je ne suis pas du tout programmeur, mon travail a pour l'essentiel été
de faire des petites images rigolotes :slight_smile:

Il y a encore quelques bugs ; je compte publier une nouvelle version
d'ici ce week-end.

Le projet EasyLilyPond vient d'être fusionné avec le projet lily4jedit
sur sourceforge ; j'espère donc avoir du nouveau d'ici peu.

Cordialement,
Valentin

···

2008/1/1, Yann Morin <****@****>: