Autor Thema: Allgemeine "markup"  (Gelesen 1984 mal)

swetom2011

  • Gast
Allgemeine "markup"
« am: Donnerstag, 2. März 2017, 07:46 »
Eine Frage zu Beschriftung in mehreren Dateien.

In ein Mehrstimmigen Werk benutze ich eine Datei „global.ily“, siehe Anhang um unter andren Tonart, Tempobezeichnung, Übungszeichen etc. zu setzen.  Es ist sicher machbar aber ich bin noch nicht draufgekommen wie man eine mehr allgemeine Beschriftung macht.  Im aktuellen Projekt, sollte ein „rall.“  und zwei Takte später „molto rall." in allen stimmen eingefügt werden.  Am einfachsten wäre es dann dies in „global.ily“ zu tun.

Ein Versuch mit folgende “markup” (siehe auch beigefügte Datei)  funktioniert jedenfalls nicht

    s2*15
      ^\markup { \smaller \bold \italic "rall." }
    s2*2
      ^\markup { \smaller \bold \italic "molto rall." }

Gruß

 

fugenkomponist

  • Gast
Re: Allgemeine "markup"
« Antwort #1 am: Donnerstag, 2. März 2017, 09:23 »
Bitte gib immer ein kompilierbares Minimalbeispiel an. Dein Beispiel ist nicht minimal (umfaßt sehr viele Takte) und ist nicht allein kompilierbar (bzw. allein global.ily zu kompilieren funktioniert zwar, stellt aber dein Problem nicht dar).

Das hier funktioniert jedenfalls einwandfrei:\version "2.19.53"
\language "deutsch"

\include "global.ily"

\new Staff <<
  \global
  \repeat unfold 1000 c'4
>>

swetom2011

  • Gast
Re: Allgemeine "markup"
« Antwort #2 am: Donnerstag, 2. März 2017, 16:42 »
Entschuldigung, ich bin noch nicht so fit in Minimalbeispiele zu erstellen aber trotzdem danke für die Mühe.

Ich shaue mich dan ganze nochmals an wenn ich zurück Hotel bin.

Gruß aus Kourou

Manuela

  • Gast
Re: Allgemeine "markup"
« Antwort #3 am: Donnerstag, 2. März 2017, 18:10 »
Ich packe die Dynamikangaben immer in einen eigenen Context (außer es sind so wenige, dass es sich nicht lohnt).

\version "2.19.56"

Dyn= {
  s2\pp
}

\score
{
  \new PianoStaff
  <<
    \new Staff="up"
    \relative c'' { c4 }
    \new Dynamics \Dyn
    \new Staff="down"
    \relative c'' { c4 }
  >>
}

swetom2011

  • Gast
Re: Allgemeine "markup"
« Antwort #4 am: Freitag, 3. März 2017, 00:00 »
Nachdem ich die Ide‘ von „fugenkomponist“ aufgegriffen habe, funktioniert es aber jetzt mit ein anderes  Problem.

In beigefügten Beispiel (man kann es kompilieren  >:(), erste Violinstimme mit zugehörigen *.ily Dateien habe ich ein Problem zwischen Übungszeichen 8 und 9.
Hier sollte „rall.“ in Takt 205 stehen und "molto rall." in Takt 207. Vielleicht stehen die zu nahe oder ich übersehe etwas aber egal was tue, „rall.“ bleibt nahe Übungszeichen 8 stecken aber „molto rall.“ da wo es sein sollte.

„Manuela“, dein Vorschlag werde ich ausprobieren aber ich taste mich erst langsam an die „unergründlichen Geheimnisse“ von Lilypond.

Mit den Seitenumbrüche (Datei Violin1Break.ily) bin ich noch nicht fertig. Es ist recht schwierig gute Stelle für Seitenumbrüche zu finden.

Hier ist tropische Nacht, pechschwarz, 27°C und 90% Luftfeuchtigkeit so die Finger kleben an die Tastatur  :-\

Manuela

  • Gast
Re: Allgemeine "markup"
« Antwort #5 am: Freitag, 3. März 2017, 00:18 »
„Manuela“, dein Vorschlag werde ich ausprobieren aber ich taste mich erst langsam an die „unergründlichen Geheimnisse“ von Lilypond.

 :) :) :)

Ich kann dir versprechen, es wird besser im Lauf der Zeit, und vor allem wird man viel schneller. Wenn ich meine ersten Gehversuche betrachte, kein Vergleich mit heute. Und ich bin immer noch am Lernen.

fugenkomponist

  • Gast
Re: Allgemeine "markup"
« Antwort #6 am: Freitag, 3. März 2017, 00:26 »
In beigefügten Beispiel (man kann es kompilieren  >:(), erste Violinstimme mit zugehörigen *.ily Dateien habe ich ein Problem zwischen Übungszeichen 8 und 9.
Hier sollte „rall.“ in Takt 205 stehen und "molto rall." in Takt 207. Vielleicht stehen die zu nahe oder ich übersehe etwas aber egal was tue, „rall.“ bleibt nahe Übungszeichen 8 stecken aber „molto rall.“ da wo es sein sollte.
Wieso „ >:( “? Es ist nunmal so, daß man mit einem nicht kompilierbaren Codebeispiel erstmal nicht viel anfangen kann bzw. will halt nicht jeder Helfer sich erst mal überlegen „was könnte der Fragesteller noch gemacht haben außer dem hier geposteten Code?“, wenn er einfach einen solchen Code vom Fragesteller bekommen kann.

Minimal ist dein Beispiel übrigens leider lange nicht. Ich werde dir jetzt noch einmal antworten, aber danach wühle ich nicht mehr lange in deinem Code herum, um herauszufinden, wo eigentlich das Problem liegt und dann erst Ursachen zu suchen. Außerdem klären sich viele Fragen schon, wenn man probiert, das Problem in sehr wenig Code darzustellen.

s2*15^"rall." setzt eine unsichtbare Pause der Dauer 2*15 und packt darüber ein TextScript mit dem Text „rall.“. Und zwar natürlich über den Anfang dieser Pause, wie es auch bei sichtbaren Pausen und Noten passiert. Willst du es erst nach Ablauf dieser Dauer 2*15 da haben, muß es also heißen s2*15 s2*2^"rall.". Darauf hätte man durch Ausprobieren am Minimalbeispiel leicht kommen können ;)

Manuela

  • Gast
Re: Allgemeine "markup"
« Antwort #7 am: Freitag, 3. März 2017, 01:21 »
Du kannst beliebigen Text in ein DynamicScript verpacken und somit im Context Dynamics nutzen:

\version "2.19.56"

mpdolce =
#(make-dynamic-script
  #{ \markup {
    \translate #'(1 . 0)
    \line {
      \dynamic "mp"
      \text \italic "dolce"
    }
     }
  #})

pdolce =
#(make-dynamic-script
  #{ \markup {
    \translate #'(5 . 0)
    \line {
      \dynamic "p"
      \text \italic \medium "dolce"
    }
     }
  #})

xbel =
#(make-dynamic-script
  #{ \markup {
    \fontsize #0.5
    \text \medium
    \italic "beliebiger Text als Dynamic Script"
     }
  #})

\new Dynamics {
  s1\mpdolce \break s\pdolce \break s\xbel
}

swetom2011

  • Gast
Re: Allgemeine "markup"
« Antwort #8 am: Freitag, 3. März 2017, 08:28 »
@ "fugenkomponist"
Das  >:( war nicht bös gemeint.  Ich habe mich nur selbst geärgert, dass ich das erste Mal kein kompilierbares Beispiel beigefügt habe.

Es war auch nicht meine Absicht das du den ganzen Code durchwühlen sollte, deshalb habe ich ja auch genau beschrieben wo das Problem liegt.

Trotzdem, danke für deine Inputs und wenn ich es kurz zusammenfassen darf, verstehe ich jetzt, dass ich zwei Sachen übersehen habe:

  • Beschriftungen wurden gleich behandelt wie Übungsmarken mit der Erwartungshaltung dass die dann auch auf die gleiche Stelle positioniert werden.  Allerdings, Beschriftungen werden über den ersten Pausentakt gesetzt, die Übungsmarken nach dem letzten Pausentakt. 
  • Bei ein Reihe von (unsichtbaren) Pausen, z.B. s2*15 wird die Beschriftung über den ersten Pausentakt gesetzt. Um die Beschriftung "zu verschieben", muss man die Reihe aufteilen, z.B. s2*14 s2*1 um die Beschriftung über den letzten Pausentakt zu bekommen
"Manuela", auch für dein Beispiel, vielen Dank.  Muss ich mich zu Gemüte führen.

fugenkomponist

  • Gast
Re: Allgemeine "markup"
« Antwort #9 am: Freitag, 3. März 2017, 14:21 »
Beschriftungen wurden gleich behandelt wie Übungsmarken mit der Erwartungshaltung dass die dann auch auf die gleiche Stelle positioniert werden.  Allerdings, Beschriftungen werden über den ersten Pausentakt gesetzt, die Übungsmarken nach dem letzten Pausentakt.
Was meinst du mit „gleich behandelt“? Sie werden verschieden eingegeben, erzeugen verschiedene Grobs und \tempo und ^"…" erzeugen zwar beide jeweils ein Event, aber \tempo ein „freistehendes“ und ^"…" eins in der 'articulations-Liste eines NoteEvent/RestEvent/SkipEvent/EventChord/…:

\version "2.19.53"

\displayMusic \tempo "rall."
\displayMusic ^"rall."

\displayMusic { \tempo "rall." s }
\displayMusic { s^"rall." }
ergibt folgenden Output:(make-music
  'TempoChangeEvent
  'metronome-count
  #f
  'tempo-unit
  #f
  'text
  "rall.")


(make-music
  'TextScriptEvent
  'direction
  1
  'text
  "rall.")


(make-music
  'SequentialMusic
  'elements
  (list (make-music
          'TempoChangeEvent
          'metronome-count
          #f
          'tempo-unit
          #f
          'text
          "rall.")
        (make-music
          'SkipEvent
          'duration
          (ly:make-duration 2))))


(make-music
  'SequentialMusic
  'elements
  (list (make-music
          'SkipEvent
          'articulations
          (list (make-music
                  'TextScriptEvent
                  'direction
                  1
                  'text
                  "rall."))
          'duration
          (ly:make-duration 2))))
Vielleicht hilft das fürs Verständnis.

swetom2011

  • Gast
Re: Allgemeine "markup"
« Antwort #10 am: Freitag, 3. März 2017, 18:06 »
Danke, aber mit "gleich behandelt" meinte ich nur dass mir der Unterschied nicht bewusst war und für beide der gleiche Output in Bezug auf die Platzierung angenommen hatte.