Lilypond application portable ?

'soir à tous !

Je ne sais plus si j'ai posé la question ailleurs... :wistle:
Je voudrais savoir si Lilypond existe en application portable qu'on peut
trimballer sur clé usb.
Il semblerait que ce soit déjà possible pour jEdit, mais je n'ai pas encore
essayé pour voir si ça marche...
http://portableapps.com/node/11617

Merci pour vos lumières !

···

--
View this message in context: http://n2.nabble.com/Lilypond-application-portable-tp3989054p3989054.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

J'avais déjà travaillé dessus dans le cadre d'EasyLilyPond, la
difficulté est qu'en gros ça nécessite de lancer une autre application
en sous-main derrière LilyPond, qui modifie temporairement des clés de
registre. Bref, c'est faisable mais hackeux, très sale, inélégant et
somme toute incertain.

Un jour peut-être... :slight_smile:

Cordialement,
Valentin.

···

2009/11/11 legoss <****@****>:

Je voudrais savoir si Lilypond existe en application portable qu'on peut
trimballer sur clé usb.
Il semblerait que ce soit déjà possible pour jEdit, mais je n'ai pas encore
essayé pour voir si ça marche...
http://portableapps.com/node/11617

Bonsoir,

Je réponds à une discussion de l'an passée...

Suite à la réponse d'Eluze du 07/06/2010 ("Mise en page régulière"), j'ai
installé deux versions de Lily sur mon ordi : laissé la v2.12.3 en renommant
le répertoire et installé la v2.13.25.

1 - Les indications données par Eluze m'ont laisser penser que LilyPond
pouvait être un logiciel Portable...

2 - J'ai créé un petit .bat en DOS qui, lorsque je glisse un fichier .ly
dessus, me génère la partition en v2.12 (ancienne version) !

3 - J'ai copié LilyPond (nouvelle version, cette fois) sur ma clé USB, et
avec le petit fichier .bat, je lance de la même manière la génération de
n'importe quel fichier .ly (en le déposant sur le .bat).

Nota bene : le fichier .bat peut être sur la clé USB, mais également
n'importe où sur le disque dur, avec les projets .ly (histoire de garder la
version précédente sur une clé USB... au cas où)

Résultat : j'ai bien un LilyPond PORTABLE !

Sans toucher, bien sûr, à la base de registre, ni toucher aux paramètres de
la version éventuellement installée. C'est la définition d'un Logiciel
Portable (que certains logiciels portables ne respectent que moyennement, il
est vrai...)

Commentaires

Le .bat est très simple (2 lignes), mais il a ses contraintes d'écriture en
rapport à sa localisation (il doit être adapté au lecteur+répertoire -1- où
l'on travaille (les .ly) -2- où se situe le pgm).
Pour -1- Je ne sais pas détecter la position courante du script en DOS (le
DOS remonte à loin et ma mémoire me fait défaut...)
Pour -2- Une clé USB est mappée, selon les conditions, en E, F ou toute
autre lettre... donc même pb que -1-, et je ne sais pas trouver en DOS un
lecteur par son nom (ex: MA_CLE_LILY)

J'ai donc simplement (pour le moment) un .bat que je modifie selon la
localisation du LilyPondPortable ou alternatif et du répertoire où je
travaille.

Un (ou plus exactement deux) petits pgm pourraient détecter tout seuls la
localisation courante et rendre LilyPond utilisable dans n'importe quelle
installation (C:\... ; E:\... ; F:\... ; P:\... ; réseau ?...) etc.

Comme ici la discussion doit devenir peut-être encore plus technique -- si
cela est encore possible, je propose de m'arrêter là pour ce soir (même si
un utilisateur de LilyPond est forcément un technicien hors pair ( -- désolé
ça m'a échappé )

Si cela intéresse toujours quelqu'un, je peux avancer dans la description du
process, et/ou passer mon script en MP ou sur cette page... et je reste à
disposition pour échanger sur la technique programmée dérivant de cet essai
!

Je vous sais tous à la hauteur, mais je ne voudrais pas vous ennuyer pour
rien...

Bonne soirée à tous,
Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5215319.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bravo ! On peut avoir le code ? :slight_smile:

Cordialement,
Valentin

···

2010/6/23 Jean-Christophe D <****@****>:

Résultat : j'ai bien un LilyPond PORTABLE !

LE CODE

A la commande DOS "cmd", vous arrivez par défaut sur un répertoire du genre
C:\Documents and Settings\JCD
où JCD est compte Windows.

C'est là que va travailler par défaut le process DOS que vous allez lancer
(il va bien sûr travailler sans ouvrir la fenêtre noire).

Il s'agit donc simplement, pour ne pas aller chaque fois récupérer ses
fichiers.pdf là-bas, de commencer par se positionner dans le répertoire de
travail.

La seconde permet lancer le LilyPond souhaité avec le fichier .ly en
paramètre.

Donc 2 lignes :
- la première pour se déplacer dans le répertoire de travail avec les .ly
- la seconde pour lancer un autre LilyPond

Ce qui donne, dans mon exemple, un fichier "_LilyBis.bat" qui contient les
lignes (déplacement relatif + lancer Lily en v2.12.3):

cd "Mes documents\Musique\Mes partitions LilyPond\Tests"
"C:\Program Files\LilyPond2.12.3\usr\bin\lilypond.exe" %1

Autre exemple (en déplacement absolu depuis la racine + lancement de Lily
sur clé USB mappée en F:):

cd "C:\Documents and Settings\JCD\Mes documents\Musique\Mes partitions
LilyPond\Tests"
"F:\LilyPond\usr\bin\lilypond.exe" %1

Reste à glisser avec la souris le fichier maître .ly sur sur le fichier
_LilyBis.bat et le tour est joué !

Bonne nuit !

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5215714.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Jean-Christophe D wrote:

Ce qui donne, dans mon exemple, un fichier "_LilyBis.bat" qui contient les
lignes (déplacement relatif + lancer Lily en v2.12.3):

cd "Mes documents\Musique\Mes partitions LilyPond\Tests"
"C:\Program Files\LilyPond2.12.3\usr\bin\lilypond.exe" %1

Seul inconvénient, pas de LOG...
La ligne ["F:\LilyPond\usr\bin\lilypond.exe" %1>Log.txt] génère un fichier
Log.txt vide...
Reste à mettre en troisième ligne la commande PAUSE...

bonjour!

pour obtenir son log bien à sa place (donc dans le dossier actuel) on peut
extraire le nom du fichier .ly par %~n1 et l'ajouter dans le fichier bat!
curiosité lilpondesque: c'est le 2ème fichier généré qui contient le log
tandis que le premier contient p.e. les résultats de displayMusic ou
displayLilyMusic.
celà donne donc:

"F:\LilyPond\usr\bin\lilypond.exe" %1 1>%~n1.txt 2>%~n1.log

et de préférence on ajoutera des guillemets pour le cas où le nom du fichier
contenait des espace:

"F:\LilyPond\usr\bin\lilypond.exe" %1 1>"%~n1.txt" 2>"%~n1.log"

bonne journée!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5216527.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

pourquoi ne pas répondre à toute la liste - ça peut intéresser d'autres et
nous pouvons aussi profiter de leurs idée!
je me permets donc de citer tes passages et d'y répondre:

<jcdemarais>:

Spécialiste du DOS ?... Merci !!!

pas trop j'ai du faire 2-3 trucs avec ce language et quelquechose est resté…

Alors, mon idée est d'avoir un premier .bat pour générer "quelque part"
l'adresse du pgm à lancer (à lancer à la connection de l'USB).

donc chaquefois qu'on connecte l'USB il faut mettre ce pgm en route!

Ensuite, le second .bat (celui de travail) récupère l'info pour lancer
le pgm du bon lecteur (E ou F ou autre...)

J'ai déjà trouvé comment reconstruire et récupérer le rep courant (du
.bat)
Ce que je ne sais pas, c'est comment l'écrire dans un endroit du disque
dur accessible ensuite par un second .bat

BAT n'arrive pas à écrire dans %USERPROFILE%, je ne pense donc pas que
l'on puisse écrire dans %windir%, la protection doit etre encore plus
haute.

cela m'étonne - tous les pgm écrivent dans %USERPROFILE% ou %AppData%, non!?

Un palliatif consiste à écrire la 1ère ligne de référence sur l'USB, et
à mettre le fichier résultat AVEC le second .bat dans le rep de travail.

ne serait-ce pas préférables de toute façon? - si on est sur un autre
ordinateur on ne veut pas y laisser tout ce qu'on a travaillé!

perso, je ne laisserais que des informations minimes sur un ordinateur
étranger.

en principe j'ajouterais E:\progs\usr\bin dans la variable path ou je
définirais une variable: Set lilypond213=E:\progs\usr\bin\lilypond.

mais il faut admettre que les détails sont durs parfois!

bonne chance!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5218655.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonjour,

j'en était encore à un stade trop brouillon pour discuter de cela en détail
ici...
(le rappel progressif de mes connaissances personnelles en DOS ne doit pas
intéresser grand monde ici ;o)
Je partage de toute façon mes (nos) résultats... et les voici !

cela m'étonne - tous les pgm écrivent dans %USERPROFILE% ou %AppData%,
non!?

Sur mon PC domicile, la commande suivante ne donnait rien :
echo "Le chemin d acces au rep Lily" >%USERPROFILE%\test.txt

Je viens de refaire le test au bureau... et ça marche. J'ai du oublier
qq-chose l'autre jour...
(je trouve de toute façon inélégant de mettre des fichiers à cet endroit...
Je réessayerai éventuellement.)

> Un palliatif consiste à écrire la 1ère ligne de référence sur l'USB, et
> à mettre le fichier résultat AVEC le second .bat dans le rep de travail.
>
ne serait-ce pas préférables de toute façon? - si on est sur un autre
ordinateur on ne veut pas y laisser > tout ce qu'on a travaillé!

Entre-temps, j'ai tout mis dans un seul script ("gros" script plein de
variables et fonctions bizarres !...), mais je coince sur deux détails.
(1) j'avais oublié que changer de répertoire ne change rien sur la position
active, si elle est sur un autre lecteur... il faut également commencer par
changer de lecteur.
(2) je n'arrive pas à introduire le caractère ">" dans une variable ou dans
une chaine de caractère pour écrire dans un fichier en echo le fameux
2>"%~n1.log"
(Le > s'exécute soit lors de la construction de la chaine, soit lors de
l'écriture de la chaine...)

perso, je ne laisserais que des informations minimes sur un ordinateur
étranger.

Exact, sinon je suppose qu'associer l'extension .ly au programme sur le clé
USB suffit à faire fonctionner LilyPond. Non testé... (à la maison j'ai déjà
Lily et je ne veux pas tout casser ;o) et au bureau je ne veux par toucher
au registre... et je n'ai pas d'autre PC ;))

en principe j'ajouterais E:\progs\usr\bin dans la variable path
ou je définirais une variable: Set lilypond213=E:\progs\usr\bin\lilypond.

Oui, travailler avec des variables rend les choses plus simples... Mais
commençons par du basique sans variable et qui marche ! (la version
précédente ne fonctionait pas bien sur un lecteur externe, manquait la 1ère
ligne)

Voici la base de mon script testé et validé sur un PC sans LilyPond, avec
les docs.ly et LilyPond lur une clé USB (mappée F:).

AVANTAGE : ultra simple à comprendre et utiliser
INCONVENIENT : modifier les lig.1 et 3 à chaque fois que la clé est mappée
différemment (E: ou F: ou autre)
ASTUCE : j'ai deux .bat tout prets : un en E et un en F (on va rarement plus
loin...)

Trois lignes :
=> 1 - Aller sur le lecteur des docs.ly
=> 2 - Aller dans le répertoire des docs.ly
=> 3 - Lancer le programme LilyPond souhaité

---------- DEBUT FICHIER >>>>>>>>>>
@echo off
F:
cd "\Partitions"
"F:\LilyPond\usr\bin\lilypond.exe" %1 2>"%~n1.log"
<<<<<<<<<< FIN FICHIER ----------

On continue !...

Ciao !

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5221940.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

salut!

recherche du drive:

FOR %%n IN (f g h i … ) DO ( IF EXIST %%n:\NUL (
    ECHO trouvé: %%n
  )
)

ensuite chercher la fiche lilypond.exe - et voilà, la premierère trouvaille
peut être éxécutée. (je te laisse les détails…)

à bientôt!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5222681.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Un paragraphe de plus dans le chapitre Automatisation !
Merci !

Mais si je passe trop de temps à ça, ma partition n'avance plus !!!
;o)))

(on a une v1.bat qui marche impec, la v2 sera pour pdt les vacances d'été
!!!)
((Hmmm, me connaissant, ce sera peut-etre pour avant :o((

Bonne soirée
Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5222994.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

bonjour

j'ai bricolé un peu et voilà le résultat:
http://lilypond-french-users.1298960.n2.nabble.com/file/n5224713/findFile.bat
findFile.bat

ce pgm permet d'invoquer lilypond localisé sur un porteur externe
quelconque. (cette version cherche le pgm sur f g h i)

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5224713.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonsoir,

Voilà, terminées les deux batches en DOS pour LilyPond (Windows...). Ils
sont, je l'espère, suffisamment commentés à l'intérieur comme à l'extérieur
! Il suffit de lancer le .bat, et la présentation ainsi que les instructions
s'affichent...

1: pour lancer facilement une seconde version de LilyPond, lorsqu'on en a
deux (ou plus) sur son PC,
http://lilypond-french-users.1298960.n2.nabble.com/file/n5262715/_Lily_Vx-xx.bat
_Lily_Vx-xx.bat

2: pour lancer un LilyPond mis sur une clé USB, sans se préoccuper de la
lettre affectée au lecteur (entre e et i dans le fichier fourni, mais il est
facile de changer cela).
http://lilypond-french-users.1298960.n2.nabble.com/file/n5262715/_portable_Lily.bat
_portable_Lily.bat

Seul petit problème non résolu dans le second : le balayage d'un lecteur
sans lilypond.exe génère systématiquement un message d'erreur "fichier non
trouvé" que je ne suis pas arrivé à masquer... Mais à part cela, ça marche
quand-même !

Bonne soirée !

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5262715.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

joli!

Jean-Christophe D wrote:

Seul petit problème non résolu dans le second : le balayage d'un lecteur
sans lilypond.exe génère systématiquement un message d'erreur "fichier non
trouvé" que je ne suis pas arrivé à masquer... Mais à part cela, ça marche
quand-même !

la commande dir … a également 2 sorties:

- 1 pour les résultats
- 2 pour les messages

il faut donc ajouter 2>NUL pour les étouffer.

bonne journée!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5264709.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Encore ce fichu 2>... (pas dans la doc interne HELP DIR) Mais je sens que
l'on va y arriver ;o)

Merci... Mais je n'y arrive pas :
   FOR /F "tokens=*" %%x IN ('DIR /B/S/O-d %toFind% 2>NUL') DO ( ---etc.
ne fonctionne pas. Message : "2> était inattendu"
   ni FOR /F "tokens=*" %%x IN ('DIR /B/S/O-d %toFind%' 2>NUL) DO (
---etc.
   ni FOR /F "tokens=*" %%x IN ('DIR /B/S/O-d %toFind%') 2>NUL DO (
---etc.
ni rien d'autre...

Je pense que c'est un problème que j'ai déjà rencontré, celui de
l'interprétation DIRECTE ET IMMÉDIATE du signe ">".

Essayé $G mais ne fonctionne que pour PROMPT; essayé avec une variable
contenant 2>NUL, cela ne plante pas comme ci-dessus, mais ne donne rien (de
nv le msg "Fichier introuvable")

As-tu une idée ?

Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5265690.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Jean-Christophe D wrote:

Encore ce fichu 2>... (pas dans la doc interne HELP DIR) Mais je sens
que l'on va y arriver ;o)

Merci... Mais je n'y arrive pas :
   FOR /F "tokens=*" %%x IN ('DIR /B/S/O-d %toFind% 2>NUL') DO ( ---etc.
ne fonctionne pas. Message : "2> était inattendu"
   ni FOR /F "tokens=*" %%x IN ('DIR /B/S/O-d %toFind%' 2>NUL) DO (
---etc.
   ni FOR /F "tokens=*" %%x IN ('DIR /B/S/O-d %toFind%') 2>NUL DO (
---etc.
ni rien d'autre...

Je pense que c'est un problème que j'ai déjà rencontré, celui de
l'interprétation DIRECTE ET IMMÉDIATE du signe ">".

Essayé $G mais ne fonctionne que pour PROMPT; essayé avec une variable
contenant 2>NUL, cela ne plante pas comme ci-dessus, mais ne donne rien
(de nv le msg "Fichier introuvable")

As-tu une idée ?

Jean-Christophe

je pense que 2^>NUL marche.

ça évite que le ">" soit interprété comme operation ou quoique ce soit…

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5265769.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

je pense que 2^>NUL marche.

Ça marche! (j'avais essayé pleins de caractères devant le > mais pas
celui-là !)

Voici la version définitive (en ce qui me concerne...) du lanceur de
"portableLilyPond" !!!
(il est en anglais pour diffusion plus large... mais je laisse faire les
habitués du forum international)

http://lilypond-french-users.1298960.n2.nabble.com/file/n5266167/_portableLily.bat
_portableLily.bat

Pour trouver les deux lanceurs au même endroit, je remets ici le lanceur
pour une seconde version de Lilypond sur disque dur:
http://lilypond-french-users.1298960.n2.nabble.com/file/n5266167/_Lily_v2-xx.bat
_Lily_v2-xx.bat
(bien que l'on puisse maintenant mettre la version principale (dev...) sur
dsq dur, et la dernière version stable (précédente) sur clé USB!!! ou le
contraire)

Merci encore à Eluze pour son aide précieuse !

Bon usage !

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5266167.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

ne m'en veux pas, mais j'ai encore quelques soucis:

1° la première fois que j'ai utilisé ton Lily.bat j'ai eu un errorlevel 9009
qui n'est pas prévu dans le programme. je n'ai aucune idée sous quel système
quel code est retourné, mais ne serait-ce pas plus simple de remplacer GOTO
_err%ERRORLEVEL% par if EXIST … ou IF NOT {%1}=={} (ce qui rappelle
Lilypond)? ceci devrait fonctionner dans toutes les versions bat?
(personnellement j'utilise windows vista)

2° la commande DIR /B/S/O-d lilypond.exe ne semble pas trier les résultats
trouvés correctement - s'il y a plusieurs versions lilypond, le choix sera
donc aléatoire!

3° là, je n'ai aucune idée de ce qui se passe: hier tout marchait bien, mais
aujourd'hui j'ai toujours eu un crash avec la version portable; après avoir
réinstallé lilypond sur USB tout marchait à merveille - je vais poursuivre
ça!

4° ???

tout compris, j'ai l'impression que nous ne sommes pas loin d'une version
Lilypond portable + stable

bonne nuit!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5267672.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Eluze wrote:

3° là, je n'ai aucune idée de ce qui se passe: hier tout marchait bien,
mais aujourd'hui j'ai toujours eu un crash avec la version portable; après
avoir réinstallé lilypond sur USB tout marchait à merveille - je vais
poursuivre ça!

j'ai l'impression qu'il s'agit d'un problème de la version 2.12.2! en
installant la version 2.12.3 tout est impeccable.

bonne journée!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5273927.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Personnellement j'ai installé la dernière version stable 2.12.3 avant de
passer en 2.13, je n'ai pas eu de pb...
On peut effectivement modifier le bat et gérer proprement les errorlevel
(mais cela m'avait amusé de les inclure directement dans les étiquettes...)

Ciao!

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5275860.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonjour à tous,

les revoici dans une version qui récupère proprement toutes les anos
possibles (enfin j'espère, n'ayant pas pu reproduire tous les cas de
plantages inimaginables...) -- sans les analyser toutes, évidemment, mais
avec avertissement suffisamment clair pour retrouver le point de plantage.

http://lilypond-french-users.1298960.n2.nabble.com/file/n5279854/LilyBatches.zip
LilyBatches.zip

Jean-Christophe

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Lilypond-application-portable-tp3989054p5279854.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.