Temporäre Dateien nicht löschen - wie?

Begonnen von Manuela, Mittwoch, 16. Januar 2019, 23:01

« vorheriges - nächstes »

Manuela

Hi,

ich habe auf meine Frage in einem anderen Forum einen Hinweis bekommen. Dazu müsste ich allerdings auf die temporären Dateien zugreifen können, die Lilypond erzeugt und nach erfolgreicher Erstellung der Ausgabe wieder löscht.

Daher meine Frage: wie kann ich Lilypond dazu bringen, die temporären Dateien nicht zu löschen?
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

Meinst die die ps-Dateien?

Dann entweder:
lilypond -ddelete-intermediate-files=#f file.ly
Die .ps-files sind bei mir dann im tmp-Ordner.

Oder Du läßt das ps explizit erzeugen:
lilypond --pdf --ps file.ly


HTH,
  Harm

Arnold

Hallo Manuela,

ich benutze die »temporären« PS-Dateien, um den Booklet-Druck vorzubereiten - also die DIN-A4-Seiten passend auf DIN-A3-Seiten zu verteilen.

In (bzw. bis) Version 18.2 war die Temporärdatei unter Win7 im aktuellen Arbeitsverzeichnis und der Rumpfname entsprach der Ergebnisdatei (also z. Bsp. »rondo_alla_turca.ps« und »rondo_alla_turca.pdf«)

Ab einer der späteren 19.x-Versionen liegt diese Temporärdatei (meistens!) in einem Temp-Ordner (bisweilen, eventuell abhängig vom Betriebssystem, auch im aktuellen Arbeitsverzeichnis) und hat einen abweichenden Temporärnamen (was natürlich für meinen Anwendungsfall wenig hilfreich ist).

Bisher habe ich meistens in den Dateien die Zeile #(ly:set-option 'delete-intermediate-files #f) eingefügt, um die PS-Datei neben der PDF-Datei zu erhalten.
Für die neue Version stelle ich Schritt für Schritt auf die Kommandozeilenoptionsangabe »--ps --pdf« um - ich benutzte (unter Win7) ja sowieso eine BAT-Datei, um nach dem Lilypond-Lauf mein Programm zur Booklet-PDF-Erzeugung anzustoßen. Ich gehe dabei sogar so weit, daß ich in der zur Übersetzung angegebnenen LY-Datei spezielle Kommentare einfüge, welche dann innerhalb der BAT-Datei ausgewertet werden, um so zusätzliche Kommanozeilenoptionen für den Lilypond-Lauf als auch danach auszuführende Kommandoaufrufe zu spezifizieren.
Meine Steuerungskommentarzeilen beginnen dann mit »%CMDLINEOPTS=«, »%PREPROCESS:« und »%POSTPROCESS:«.

Arnold

Manuela

#3
Danke für die wertvollen Hinweise. Ich bin momentan dazu übergegangen, direkt im PHP-Code der Score-Erweiterung herumzustöbern, vll finde ich dort noch etwas heraus.

#(ly:set-option 'delete-intermediate-files #f)

in den Code einfügen (mit der Option raw="1") klappt leider nicht, weil diese Zeile verhindert, dass der Score überhaupt interpretiert wird, vermutlich aufgrund irgendwelcher Eigenheiten des MediaWiki-Parsers.
Danke für eure Hilfe
viele Grüße
-- Manuela