Autor Thema: python  (Gelesen 3703 mal)

barrio

  • Gast
Re: python
« Antwort #15 am: Freitag, 25. März 2016, 14:22 »
Etwas spät, aber wenn rJazz oder andere es noch interessiert. Man kann in Python Lilypond ansteuern mit dem Modul abjad http://abjad.mbrsi.org/for_beginners/abjad_hello_world_in_a_file.html. Allerdings schrteibt man den Code dann natürlich in ein Python *.py file. Mit
systemtools.open_last_ly()kann man sich das ly file anzeigen, welches abjad intern erstellt. :-)

Viel SPaß damit
barrio

xr

  • Gast
Re: python
« Antwort #16 am: Dienstag, 5. April 2016, 06:45 »
Hi,

ich habe ebenfalls nach einer Möglichkeit gesucht, mit Python Code für Lilypond zu erzeugen, und bin daher auf diesen alten Thread gestoßen.

1)

Nach einigem Probieren funktioniert bei mir der folgende Code, der in "test.py" eine Datei "test.ly" erzeugt, die von Lilypond wieder eingelesen wird. (Den Code führe ich in Frescobaldi aus.)
Lilyponds Parser wartet dabei auf die Ausführung des Pythoncodes, was man auch sieht, wenn man dem Systemaufruf kein Argument mitgibt. Also: "(system "C:\\Python34\\python.exe")
Dann nämlich öffnet sich die Pythonkonsole und erst wenn die wieder geschlossen wird, führt Lilypond weiteren Code aus.

\version "2.18.2"


pyMx =
#(define-void-function (parser location)()
   (system "C:\\Python34\\python.exe C:\\Users\\Homer\\Desktop\\Lilypond\\Droste\\test.py")
  )

\pyMx


\include "test.ly"

Mit "C:\\Python34\\python.exe" kann ich auch meine eigene Pythoninstallation ansprechen. Gebe ich nur "python" an, wird die Pythoninstallation von Lilypond oder Frescobaldi geöffnet. (Version 2.4.5 - ziemlich veraltet)

2)

Abjad habe ich ebenfalls ausprobiert, es läuft bei mir allerdings nicht. (Lilypond 2.18.2, Python 2.7.11 oder 3.4 oder 3.5, Abjad 2.16, win7 und win10)
Abjad läuft, nachdem ich es gerade nochmal probiert habe, nun plötzlich doch. Leider weiß ich nicht mehr, was ich alles geändert habe.

Der Befehl "systemtools.open_last_ly()" muss bei mir allerdings lauten: "systemtools.IOManager.open_last_ly()" und erzeugt weiterhin einen Fehler:
"Der Befehl "edit" ist entweder falsch geschrieben oder
konnte nicht gefunden werden."

Grüße,
Xaver






harm6

  • Gast
Re: python
« Antwort #17 am: Mittwoch, 6. April 2016, 02:03 »
Zitat
Mit "C:\\Python34\\python.exe" kann ich auch meine eigene Pythoninstallation ansprechen.

Unwahrscheinlich, daß das auf meinem Linux-system funktioniert :D

Zitat
Gebe ich nur "python" an, wird die Pythoninstallation von Lilypond oder Frescobaldi geöffnet. (Version 2.4.5 - ziemlich veraltet)

Allerdings funktioniert midi2ly nicht mit neueren python-versionen, siehe diesen aktuellen thread:
http://lilypond.1069038.n5.nabble.com/midi2ly-dll-error-td189201.html

Gruß,
  Harm

xr

  • Gast
Re: python
« Antwort #18 am: Mittwoch, 6. April 2016, 13:21 »
Zitat
Unwahrscheinlich, daß das auf meinem Linux-system funktioniert
Ich nutze Linux nur gelegentlich, daher bin ich da nicht sicher, aber ich dachte, man spricht ein bestimmtes Python direkt an, wenn man nicht das für das System voreingestellte nutzen will.  Etwa: "python3" statt "python"

Zitat
Allerdings funktioniert midi2ly nicht mit neueren python-versionen
Frescobaldi bzw. Lilypond nutzen ja weiterhin python 2.4. Nur mein Code wird mit meiner Python Version ausgeführt.

harm6

  • Gast
Re: python
« Antwort #19 am: Donnerstag, 7. April 2016, 01:26 »
Zitat von: xr
Ich nutze Linux nur gelegentlich, daher bin ich da nicht sicher, aber ich dachte, man spricht ein bestimmtes Python direkt an, wenn man nicht das für das System voreingestellte nutzen will.  Etwa: "python3" statt "python"

Yep, es sollte eigentlich ein kleiner Scherz sein, denn Dein windows-Pfad wird bei mir nicht funktionieren.
Vielleicht wäre ein Kommentar wie etwa "oder wo auch immer das gewünschte python sich befindet" sinnvoll.

Gruß,
  Harm