Autor Thema: Genug horizontalen Platz fuer tempo und markup schaffen  (Gelesen 2838 mal)

fugenkomponist

  • Member
Genug horizontalen Platz fuer tempo und markup schaffen
« am: Samstag, 13. August 2011, 17:50 »
Hallo,

ich bin auf ein weiteres Problem gestossen: Mahler schreibt ja gerne sehr viele sehr ausfuehrliche Tempobezeichnungen und aehnliches. Ich hab jetzt oefter den Fall, dass Pausen oder auch Noten nicht breit genug sind, sodass die Bezeichnungen sehr viel vertikalen Platz einnehmen und das ganze zudem unuebersichtlich wird. Kann man irgendwie erzwingen, dass Takte breit genug sind, um gewissen markups vollstaendig aufzunehmen?

Gruss,
Malte

Edit: die kaputten Stichnoten sind meine Schuld, das repariere ich gerade...

Edit (November 2013, falls jemand bei der Suche auf diesen alten Thread stoßen sollte): Mit Version 2.17 (bald 2.18) gibt es jetzt einen Befehl \markLengthOn, der das Problem löst. Meine Lösung aus dem letzten Post funktioniert aber noch ;)
« Letzte Änderung: Dienstag, 12. November 2013, 20:49 von fugenkomponist »

kilgore

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #1 am: Samstag, 13. August 2011, 21:40 »
Hallo Malte,

In solchen Fällen baue ich eine zusätzliche Stimme dazu mit unsichtbaren Tönen.  Grob gesagt, kriegt man mehr platz mit kleinere Einheiten, also mit 16tel mehr platz als nur mit 8tel. 

\version "2.12.3"


\relative c' {
  << {
  R1 R1 R1 R1 R1 R1
}
\\
{ s1 s1 s1
  \hideNotes \repeat unfold 8 { c8 } \unHideNotes 
  s1 s1 }
>>
 
 
}

Ich hoffe das hilft!
Gruß
kil

fugenkomponist

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #2 am: Sonntag, 14. August 2011, 11:57 »
Klingt so, als wuerde es funktionieren. Aber gibts was aehnliches wie \textLengthOn, was auch fuer \tempo funktioniert?

kilgore

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #3 am: Sonntag, 14. August 2011, 12:12 »
Hmm...weiss ich nicht.  Aber diese Lösung aus den Snippets könnte eventuell helfen:

http://lsr.dsi.unimi.it/LSR/Item?id=587


harm6

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #4 am: Sonntag, 14. August 2011, 13:20 »
Hallo Malte,

probier mal:

\version "2.14.2"

\paper {
        indent = 0
}

\layout {
        \context {
          \Score
             \override NonMusicalPaperColumn #'line-break-permission = ##f
        }
}

\relative c' {
        \compressFullBarRests
        \textLengthOn
        s1*0^\markup { \bold " Sehr zurückhaltend " }
        R1
        s1*0^\markup { \bold "Sehr langsam" }
        \once\override MultiMeasureRest #'minimum-length = #21
        R1*4
        \time 8/8 \mark \markup { \musicglyph #"scripts.ufermata" }
        \textLengthOff
        \override Rest #'X-extent = #'(-2 . 1.5)
        r2^\markup \with-dimensions #'(0 . 7) #'(-2 . 0) {\bold "Molto rit" }
       
        r4
        \override Rest #'X-extent = #'(-2 . 3)
        r\fermata
        \time 4/4
        \textLengthOn
        \mark \markup
        \with-dimensions #'(0 . 0) #'(-3.5 . 0) {
                \override #'(baseline-skip . 3.5)
        \center-column {\bold "40" \musicglyph #"scripts.ufermata" }}
        s1*0^\markup {\bold "a Tempo (schleppend) " }
        R1
        \break
        R1
        \tempo 4 = 120~280
        \once\override MultiMeasureRest #'minimum-length = #15
        R1 a16 a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
}

Gruß,
  Harm

P.S.: Poste doch bitte immer ein kurzes, kompilierbares Beispiel! Das verkürzt und erleichtert die Arbeit

fugenkomponist

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #5 am: Sonntag, 14. August 2011, 14:40 »
Hmm...weiss ich nicht.  Aber diese Lösung aus den Snippets könnte eventuell helfen:

http://lsr.dsi.unimi.it/LSR/Item?id=587
Danke, muss wohl naechstes Mal mir noch andere Suchbegriffe fuers LSR ausdenken. Hatte nach tempo textLengthOn gesucht und bin nicht fuendig geworden. \markup\bold statt \tempo ist aber kein Problem.

harm6: Naechstes Mal mach ich es, (Schande ueber mich, ich weiss doch selbst, wie gut Minimalbeispiele helfen), wahrscheinlich wird sich bald eine Gelegenheit ergeben.

harm6

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #6 am: Sonntag, 14. August 2011, 15:19 »
Hi,

das LSR-Snippet entstammt NR 1.2.2. In meinem obigen Vorschlag habe ich mich auch danach gerichtet.
Da der output aber noch nicht zufriedenstellend war, habe ich noch so einiges dran rumgefummelt:

\once\override MultiMeasureRest #'minimum-length ...
\override Rest #'X-extent ...
\markup \with-dimensions ...

dient alles dem Feintuning.

Kannst ja mal damit rumspielen.

Gruß,
  Harm

fugenkomponist

  • Member
Re: Genug horizontalen Platz fuer tempo und markup schaffen
« Antwort #7 am: Sonntag, 14. August 2011, 15:51 »
Vielen Dank fuer eure Bemuehungen.
Da das alles ziemlich haeufig vorkommt, hab ich mich jetzt doch mal an Scheme gewagt.
Herausgekommen ist folgendes:

\version "2.14.2"

tempoRest =
#(define-music-function
     (parser location text length)
     (string? number?)
     #{
      \textLengthOn
      s1*0^\markup\bold $text
      \once \override MultiMeasureRestNumber #'direction = #DOWN
      \scaleDurations $(cons length 1) { R1 }
      \textLengthOff
     #}
     )


\relative c' {
\compressFullBarRests
\tempoRest "Sehr viel Text" #5
\tempo "Sehr viel Text" R1*5
\tempo "Sehr viel Text" \repeat unfold 5 R1
}

Edit: wenn man string? durch markup? ersetzt, kann man auch schoene so Sachen wie \tempoRest\markup\column{Sehr viel Text} #5 machen.
« Letzte Änderung: Sonntag, 14. August 2011, 16:06 von fugenkomponist »