Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Arnold am Mittwoch, 18. Oktober 2017, 09:26

Titel: Marschbuch-page-breaking
Beitrag von: Arnold am Mittwoch, 18. Oktober 2017, 09:26
Hallo,

ich suche eine »Methode« für den bei Marschbüchern üblichen Seitenumbruch, man könnte es auch »sheet-by-sheet-breaking« nennen.
Eigentlich ist der einzige Unterschid zu ly:page-turn-breaking, daß jeder Seitenwechsel wie ein Umblättern behandelt wird. Anders ausgedrückt: So viele Scores wie möglich auf eine Seite, aber Seitenwechsel nur bei \allowPageTurn innerhalb des Stückes, denn diese Marschbücher sind machmal sogar mit Spiralen gebunden, und man klappt sie so weit um, daß immer nur eine Seite auf der Marschgabel sichtbar ist.

Leider ist ly:page-turn-breaking in C programmiert, so kann ich das nicht einfach als Vorlage kopieren und die Scheme-Funktion abändern. Vielleicht hat da jemand aber schon eine Lösung, oder kann viel schneller als ich von C nach SCHEME übersetzen.

Arnold
Titel: Antw:Marschbuch-page-breaking
Beitrag von: Arnold am Freitag, 24. November 2017, 18:02
Ich habe es »sheet-turn-breaking« getauft.

Nachdem ich sehr viel C-Code in »page-turn-page-breaking.cc« sah, von dem ich meine Zweifel hatte, ob das alles als SCHEME-Funktionen zur Verfügung stünde, habe ich in der LilyDev-Umgebung (2.19.80) einen Versuch gestartet.
»page-turn-page-breaking.hh« wurde nach »sheet-turn-page-breaking.hh« kopiert, und »Page_turn« ein »Sheet_turn« umbenannt.
Den Großteil von »page-turn-page-breaking.cc« habe ich in sich kopiert, auch in der Kopie »Page_turn« nach »Sheet_turn« unbemannt.
Ein Funktion in »page-turn-page-breaking.cc« wird noch gemeinsam (von »Page_turn« und von »Sheet_turn«) benutzt, und ich drückte mich so darum, wie eine weitere von make erkannt und CC-Datei mitübersetzt wird.
In den »Sheet_turn«-Funktionen habe ich auf Verdacht hin alle Auswahlkriterien mit »2« abgeändert (erst einmal das Original auskommenentiert, nicht gelöscht).
Ergänzt habe ich eine Warnungsmeldung, wenn etwas doch nicht auf eine Seite passen sollte.
Und letzen Endes wurde noch »page-breaking-scheme.cc« um den »sheet-turn-breaking«-Eintrag erweitert.

Jetzt kann ich die (noch wenigen Dateien), bei denen ich dieses »sheet-turn-breaking« benötige, in der VM-Ware übersetzen.
Den ganzen Rest, wo nicht benötigt, bearbeite ich weiterhin unter WIN7, bisher noch mit der 2.18.2.

Arnold
Titel: Antw:Marschbuch-page-breaking
Beitrag von: Arnold am Dienstag, 19. Juni 2018, 09:31
Hallo,

ich bin erst kürzlich darauf gestoßen, daß es auch mit weniger Aufwand geht:

\layout {
  \context { \Score
    \override NonMusicalPaperColumn.page-break-permission = ##f
  }
}


Damit bleibt jeder »score« auf einer Seite.

In abgeänderter Form eingesetzt, kann man beim »page-turn-breaking« nachhelfen, daß am Schluß nur eine und nicht zwei Seiten belegt werden.

Arnold.