Datum mit ausdrucken

Begonnen von pschuett, Samstag, 24. März 2018, 16:02

« vorheriges - nächstes »

pschuett

Hallo,
ich nutze für Lilypond für einfache Lieder-Sheets (Melodie, Text, Akkorde) und würde gerne irgendwo (klein in der Ecke) das Datum, welches ich hier eintrage:
\header {
...
    date = "2018-02-25"
...
}
mit ausdrucken, damit ich weiß, welche Version von dem Lied ich ausgedruckt vor mir habe.
Noch besser wäre es, wenn ich das Druckdatum mit ausdrucken könnte.
Danke für alle Hinweise und Tips.
Ciao
  Peter Schütt

Malte

Hallo Peter,

willkommen im Forum! Verstehe ich das richtig, daß du lieber automatisch das aktuelle Datum hättest als es jedes Mal von Hand anzupassen? Dann wäre folgender Code vermutlich das Richtige für dich:\version "2.18.2"

today = #(strftime "%d.%m.%Y" (localtime (current-time)))
now   = #(strftime "%H:%M:%S" (localtime (current-time)))

\header {
  title = "Alle Vögel sind schon da"
  copyright = \markup { "zuletzt geändert am" \today "um" \now }
}

\relative {
  c'4. e8 g4 c
  a c8 a g2
}

Ich habs jetzt mal als Beispiel in den copyright-Header gepackt; der wird unten auf der ersten Seite gedruckt. Andere Orte sind natürlich ebenfalls möglich, da müßtest du nur sagen, wo genau (auf allen Seiten oder nur auf der ersten oder letzten? oben oder unten? links/rechts/innen/außen?).

Das genaue Zeit- und Datumsformat läßt sich natürlich anpassen, ebenso wie der restliche Text und Schriftart/Textgröße/...

Ach ja, bitte gib bei Fragen immer deine LilyPond-Version an.

Viele Grüße
Malte

pschuett

Hallo,
also das hilft mir schon sehr weiter.
Zuerst meine Lilypond-Version ist 2.18.2-4.1 (aus Linux Mint).

Ich habe mir das jetzt noch einmal genau überlegt:
Für mich sind zwei Datümer wichtig:
Das Erst-Erstellungsdatum und das Datum der letzten Änderung, welches das aktuelle Dateiänderungsdatum wäre. Falls man an das Datum nicht drankommt, wäre auch das aktuelle Datum akzeptabel.

Nun habe ich zwei Variablen eingeführt


today = #(strftime "%d.%m.%Y" (localtime (current-time)))   % oder besser: Letztes-Datei-Änderungsdatum, falls man irgendwie daran kommt
creation = "1989"   % Kann ein Jahr oder auch ein Tag wie 3.4.2001 sein


Das könnte ich nun ganz naiv in die tagline einfügen:

tagline = \markup { "erstellt:" \creation, "gedruckt:" \today }


Damit könnte ich schon leben, wenn folgende Sonderwünsche nicht möglich wären:
Nun hätte ich gerne das Erstellungsdatum (creation) in der linken unteren Ecke und das andere in der rechten unteren Ecken. Falls das Lied mehr als eine Seite ist, dann reicht die letzte Seite (wie tagline). Da ich die tagline immer für die Angabe der Reihenfolge von Strophe und Refrain verwende, wäre es schön, wenn die beiden Datümer irgendwie Teil der tagline wären, also auf selber Höhe wären.

Warum will ich das?
Zum einen ist es für mich interessant, immer direkt zu sehen, wie alt ein Lied ist.
Zum anderen habe ich öfters das Problem, dass ich Lieder ausdrucke und später an dem Lied weiterarbeite und manchmal die Übersicht verliere, ob ein Ausdruck aktuell oder veraltet ist. Von daher möchte ich eine Art Version auf dem Notenblatt mit draufhaben, möglichst klein, nicht störend, aber sichtbar.

Ich versioniere übrigens meine Noten mit Git, habe mich aber noch nicht damit beschäftigt, ob mir Git da irgendwie helfen könnte (Datum des letzten Commits automatisch einfügen, oder so). Wenn da einer etwas weiß, nur her damit.

Danke für alle Hinweise und Tips.

Ciao
  Peter Schütt

Malte

Für die tagline könnte noch der markup-Befehl \fill-line hilfreich sein. Und für git etwas in Richtung Snippet 567

harm6

Zitat von: pschuett am Freitag, 13. April 2018, 18:24
Ich versioniere übrigens meine Noten mit Git, habe mich aber noch nicht damit beschäftigt, ob mir Git da irgendwie helfen könnte (Datum des letzten Commits automatisch einfügen, oder so). Wenn da einer etwas weiß, nur her damit.

https://github.com/openlilylib/snippets/tree/master/editorial-tools/git-commands

HTH,
  Harm


pschuett

Hallo,
mit Frescobaldi scheint diese Definitionsdatei nicht zu funktionieren:


Starte lilypond 2.18.2 [Auszug_aus_Aegypten.ly]...
»/tmp/frescobaldi-8mdzrolh/tmpdqfsvan2/Auszug_aus_Aegypten.ly« wird verarbeitet
Analysieren...
Interpretation der Musik...[8][16]
Vorverarbeitung der grafischen Elemente...
Ideale Seitenanzahl wird gefunden...fatal: Not a git repository (or any of the parent directories): .git

Result:()
schwerer Fehler: make-column-markup: Ungültiges Argument an Position 1. markup list erwartet, "" gefunden.


Frescobaldi scheint die Lilypond-Datei in ein Temp-Verzeichnis zu kopieren und dort ist das .git-Verzeichnis nicht verhanden.
Committed habe ich die Datei.

Allerdings scheint frescobaldi die Datei nicht immer vorher in ein Temp-Verzeichnis zu kopieren.
Manchmal ist die Ausgabe auch so (wenn ich den Include von definitions.ily auskommentiert habe):
Starte lilypond 2.18.2 [Auszug_aus_Aegypten.ly]...
»/home/peter/workspace/arts/Musik/Eigene_Lieder/git/Auszug_aus_Aegypten.ly« wird verarbeitet
Analysieren...


Habt Ihr da noch weitere Ideen?

Ich habe zuerst auch versucht "definitions.ily" in "gittools.ily" umzubenennen, aber als es nicht funktionierte, habe ich es wieder rückgängig gemacht. Trotzdem ging es nicht.

Ciao
  Peter Schütt

harm6

Zitatmit Frescobaldi scheint diese Definitionsdatei nicht zu funktionieren

Da ich Frescobaldi nicht verwende, kann ich Dir hier nicht weiterhelfen.
Aber vielleicht kann jemand mit Fresco hier übernehmen.

Gruß,
  Harm

ingmar

Hallo,

ich hab das gerade nicht alles im Detail gelesen, aber Frescobaldi verwendet nach meinem Eindruck immer dann eine temp-Datei, wenn das Originalfile 'dirty' ist, also von der letzten gespeicherten Version abweicht. Versuch mal, erst zu sichern, unmittelbar danach zu drucken.

--ingmar

Malte

Unter Bearbeiten → Einstellungen → LilyPond-Einstellungen → LilyPond starten kann man auch das Häkchen ,,Dokument speichern, wenn möglich" setzen, dann muß man nicht vor jedem Übersetzen speichern (also nur noch Strg+M statt Strg+S, Strg+M ;) ).

ingmar

ZitatMalte : ... kann man auch das Häkchen ,,Dokument speichern, wenn möglich" setzen, dann muß man nicht vor jedem Übersetzen speichern
..aber wenn man, wie ich, neue Dokumente meist auf Basis alter erstellt, die man öffnet und modifiziert, braucht man sehr viel Disziplin. Sonst hat man ganz schnell etwas Bestehendes zerschossen.

--ingmar