4.1.1 Configuración del sistema
Cuando esta funcionalidad está activada, LilyPond añade enlaces a los archivos PDF y SVG. Estos enlaces se envían al navegador de web, que a su vez abre un editor de texto con el cursor situado en el lugar correcto.
Para conseguir que esta cadena funcione, tiene que configurar el visor de PDF de forma que siga los enlaces usando el guión ‘lilypond-invoke-editor’ proporcionado con LilyPond.
El programa ‘lilypond-invoke-editor’ es un pequeño programa
de apoyo. Invoca un editor para las URIs especiales de
textedit
, y lanza un navegador de web para el resto.
Comprueba la variable de entorno EDITOR
en busca de los
siguientes patrones,
-
emacs
esto invoca a
emacsclient --no-wait +línea:columna archivo
-
vim
esto invoca a
gvim --remote +:línea:normcarácter archivo
-
nedit
esto invoca a
nc -noask +línea archivo'
La variable de entorno LYEDITOR
se utiliza para
sobreescribir esto. Contiene la instrucción de línea de órdenes
para abrir el editor, donde %(archivo)s
, %(columna)s
y %(línea)s
se sustituyen por el archivo, columna y línea
respectivamente. El ajuste
emacsclient --no-wait +%(línea)s:%(columna)s %(archivo)s
para LYEDITOR
equivale a la invocación estándar de
emacsclient.
Uso de Xpdf | ||
Uso de GNOME 2 | ||
Uso de GNOME 3 | ||
Configuración adicional para Evince |
Uso de Xpdf
Para Xpdf sobre Unix, lo siguiente debe estar presente en ‘xpdfrc’. En Unix, este archivo se encuentra o bien en ‘/etc/xpdfrc’ o como ‘$HOME/.xpdfrc’.
urlCommand "lilypond-invoke-editor %s"
Si está usando Ubuntu, probablemente la versión de Xpdf instalada en su sistema efectúe paradas abruptas en cada documento PDF: este estado se viene prolongando desde hace varios años y se debe a la falta de correspondencia entre bibliotecas. Lo mejor que puede hacer en vez de ello es instalar un paquete ‘xpdf’ actualizado y el paquete ‘libpoppler’ correspondiente procedente de Debian. Una vez haya comprobado que funciona, puede usar
sudo apt-mark hold xpdf
con el objeto de evitar que Ubuntu lo sobreescriba con la siguiente ‘actualización’ de su paquete defectuoso.
Uso de GNOME 2
Para usar GNOME 2 (y los visores de documentos PDF integrados en él), el conjuro para informar al sistema acerca de la URI ‘textedit:’ es:
gconftool-2 -t string -s /desktop/gnome/url-handlers/textedit/command "lilypond-invoke-editor %s" gconftool-2 -s /desktop/gnome/url-handlers/textedit/needs_terminal false -t bool gconftool-2 -t bool -s /desktop/gnome/url-handlers/textedit/enabled true |
Después de esta invocación,
gnome-open textedit:///etc/issue:1:0:0
debería llamar a ‘lilypond-invoke-editor’ para abrir archivos.
Uso de GNOME 3
En GNOME 3, las URIs se manejan por parte de la capa ‘gvfs’ en vez de por ‘gconf’. Debe crear un archivo en un directorio local como ‘/tmp’ con el nombre ‘lilypond-invoke-editor.desktop’ y que tenga el siguiente contenido:
[Desktop Entry] Version=1.0 Name=lilypond-invoke-editor GenericName=Textedit URI handler Comment=URI handler for textedit: Exec=lilypond-invoke-editor %u Terminal=false Type=Application MimeType=x-scheme-handler/textedit; Categories=Editor NoDisplay=true
y luego ejecute las instrucciones
xdg-desktop-menu install ./lilypond-invoke-editor.desktop xdg-mime default lilypond-invoke-editor.desktop x-scheme-handler/textedit
Tras esta invocación,
gnome-open textedit:///etc/issue:1:0:0
debería llamar a ‘lilypond-invoke-editor’ para abrir archivos.
Configuración adicional para Evince
Si gnome-open
funciona, pero Evince aún rehúsa abrir
enlaces de Apuntar y pulsar a causa de permisos denegados, quizá
tenga que cambiar el perfil de Apparmor de Evince, que controla el
tipo de acciones que se le permite realizar a Evince.
Para Ubuntu, el proceso es editar el archivo ‘/etc/apparmor.d/local/usr.bin.evince’ y añadir al final las siguientes líneas:
# Para enlaces de Textedit /usr/local/bin/lilypond-invoke-editor Cx -> sanitized_helper,
Después de añadir estas líneas, ejecute
sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.bin.evince
Ahora Evince debería poder abrir enlaces de Apuntar y pulsar. Para otros visores, es probable que funcionen configuraciones similares.
Habilitar la opción de apuntar y pulsar
En LilyPond, la funcionalidad de Apuntar y pulsar está habilitada de forma predeterminada cuando se crean archivos de salida en formato PDF o SVG.
Los enlaces de apuntar y pulsar aumentan significativamente el tamaño de los archivos de salida. Para reducir el tamaño de los archivos PDF (y PS), la posibilidad de apuntar y pulsar se puede desactivar escribiendo
\pointAndClickOff
dentro de un archivo ‘.ly’. Se puede activar explícitamente la posibilidad de apuntar y pulsar con
\pointAndClickOn
De forma alternativa, puede desactivar la posibilidad de apuntar y pulsar con una opción de la línea de órdenes:
lilypond -dno-point-and-click archivo.ly
Nota: Recuerde desactivar siempre la posibilidad Apuntar y pulsar en cualquier archivo de LilyPond que vaya a ser distribuido, para evitar incluir información de rutas de archivo relativas a su equipo dentro del archivo PDF, lo que puede plantear un problema de seguridad.
Apuntar y pulsar selectivo
Para ciertas aplicaciones interactivas podría ser deseable incluir solamente ciertos elementos dentro de la función de apuntar y pulsar. Por ejemplo, si alguien quisiera crear una aplicación que reprodujese audio o vídeo empezando por una nota concreta, sería incómodo que la pulsación sobre la nota produjese las coordenadas de apuntar y pulsar de una alteración accidental o de una ligadura de expresión que estuviese sobre dicha nota.
Esto se puede controlar indicando qué eventos incluir:
-
Codificado de forma fija dentro del archivo ‘.ly’:
\pointAndClickTypes #'note-event \relative { c'2\f( f) }
o bien
#(ly:set-option 'point-and-click 'note-event) \relative { c'2\f( f) }
-
Línea de órdenes:
lilypond -dpoint-and-click=note-event example.ly
Se pueden incluir varios eventos:
-
Codificado de forma fija dentro del archivo ‘.ly’:
\pointAndClickTypes #'(note-event dynamic-event) \relative { c'2\f( f) }
o bien
#(ly:set-option 'point-and-click '(note-event dynamic-event)) \relative { c'2\f( f) }
-
Línea de órdenes:
lilypond \ -e"(ly:set-option 'point-and-click '(note-event dynamic-event))" \ example.ly
Otros idiomas: English, català, français, magyar, italiano.
Acerca de la selección automática del idioma.