Autor Thema: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht  (Gelesen 2399 mal)

Stephan292

  • Member
\markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« am: Sonntag, 9. Oktober 2011, 16:08 »
Hallo,

ich möchte gerne eine Grafik unter der "Partitur" einfügen. Ich in der Anleitung gefunden, dass \markup{\epsfile #X #40 #"DmSkale.eps"} zum gewünschten Ergebnis führen sollte.
Ich habe nun versucht, an verschiedensten stellen diesen Befehl einzufügen und habe die verschiedensten Fehlermeldungen erhalten. Also habe ich eine neue Datei erzeugt:
\version "2.15.12"

\markup \epsfile #Y #20 #"DmSkale.eps"
Selbst das funktioniert nicht. LiliPond gibt mir folgende Meldung aus:
»/Users/skuehn/Documents/Musik Dokumente/Test.ly« wird verarbeitet
Analysieren.../Users/skuehn/Downloads/LilyPond.app/Contents/Resources/share/lilypond/current/scm/stencil.scm:705:26: In procedure list-ref in expression (list-ref bbox 3):
/Users/skuehn/Downloads/LilyPond.app/Contents/Resources/share/lilypond/current/scm/stencil.scm:705:26: Wrong type argument in position 1: #f
Was mache ich falsch?
Ich dachte wenn ich innerhalb von \score am ende den \markup Befehl eingebe erhalte ich den Gewünschten Text/ Objekt.

Ich glaube ich sehe eine Kleinigkeit nicht, kann mir jemand helfen?

Gruß
Stephan

harm6

  • Member
Re: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« Antwort #1 am: Sonntag, 9. Oktober 2011, 16:42 »
Hallo Stephan,

Dein code:

\version "2.15.12"

\markup \epsfile #Y #20 #"DmSkale.eps"

funktioniert bei mir sowohl mit "2.15.13" als auch mit "2.14.2" (ich hab' natürlich ein anderes Bild genommen, denn Dein "DmSkale.eps" habe ich ja nicht).

Tut mir leid Dir da nicht helfen zu können. Ich hab zwar noch nachgeschaut, was in stencil.scm steht (auf diese Datei bezieht sich ja die Fehlermeldung), aber das war auch nicht erhellend.


Harm


Stephan292

  • Member
Re: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« Antwort #2 am: Sonntag, 9. Oktober 2011, 17:14 »
Danke für's ausprobieren!

Ich habe die .eps Datei mit OpenOffice Draw erzeugt. Nach Deiner Antwort habe ich eine andere eps Datei genommen, mit der funktioniert der einfache Quellcode. Ich habe diesen funktionierenden Schnipsel jetzt in meinen eigentlichen Quellcode eingefügt.
\version "2.15.12"

chExceptionMusic = {
        <c es ges bes>1-\markup {\small"m" \super { "7" \hspace #0.2 \fontsize #-1 \raise #0.5 \flat "5"} }
}

chExceptions = #( append(sequential-music-to-chord-exceptions chExceptionMusic #t)ignatzekExceptions)

griffe = \chords {
r1
e1:m5-.7
a1:5+.7
d1:m
\parenthesize d:7
%6
g1:m7
c1:7
f1:maj7
e2:m5-.7 a2:7
%10
d1:m
g1:m7
bes1:5-7
a1:7
%14
d1:m
b1:m5-.7
e1:m5-.7
a1:7
%18
d2:m b2:m5-.7
d2:m5-7 a2:7
d1:m
}

music = \relative c'
{   
    \key d \minor

    r8 d4.\3 e4\2 f4\2
\repeat volta 2
{
    a2. g4\2 
    f4.\2 e8\2 d4\3 e8\2 f8\2 ~   
    f1   
r8 f4.\2 g4\2 a4 \break
%6
    c2. bes4 
    a4. g8\2 f4\2 g8\2 a8~   
    a1   
    r8 a4. b4 cis4 \break
%10
    e4. d8~ d4 a4   
    c4. bes8~ bes4 d,4\3 
    e1\2   
    r8 e4.\2 f4\2 g4\2 \break
}
\alternative
{
%14
    {
    a1   
cis,2.\3 d4\3 
   e1\2
   r8 d4.\3 e4\2 f4\2 \break
    }
%18
    {
a2 cis,4\3 d4\3
f2\2 e2\2
d1\3
R1 \break
\bar "|." %?
    }
  }
}
%%%%%%%%%%%%%%%%%%%%
\header{
title = "Beautiful Love"
}
%%%%%%%%%%%%%%%%%%%%
\layout {
    ragged-right = ##f
    \context
{
\ChordNames
chordNameExceptions = #chExceptions
majorSevenSymbol = \markup { maj7 }
chordNameSeparator = #(make-simple-markup  "")
chordNameExceptions = #chExceptions

\override ParenthesesItem #'font-size = #0.6
\override ParenthesesItem #'padding = #'0.5
% \override ParenthesesItem #'extra-offset = #'(0 . -0.2) 
    }
}
%%%%%%%%%%%%%%%%%%%%
\score {
\new StaffGroup
<<
\griffe

% \new Staff  << \clef "treble_8" \music >>
\new Staff \music
\new TabStaff \music
%\midi {}
>>

%%%%%%%% Nach dem Musikstück möchte ich eine Grafik anzeigen
\markup \epsfile #Y #20 #"logo.eps"
%%%%%%%%
}
Fehlermeldung:
»/Users/skuehn/Documents/Musik Dokumente/Beautiful love.ly« wird verarbeitet
Analysieren...
/Users/skuehn/Documents/Musik Dokumente/Beautiful love.ly:110:8: Fehler: syntax error, unexpected \markup

        \markup \epsfile #Y #20 #"logo.eps"
/Users/skuehn/Documents/Musik Dokumente/Beautiful love.ly:110:16: Fehler: Ungültige Fluchtsequenz: »\epsfile«
\markup
                \epsfile #Y #20 #"logo.eps"
fatal error: gescheiterte Dateien: "/Users/skuehn/Documents/Musik Dokumente/Beautiful love.ly"
Das funktioniert leider nicht. Sollte das Grundsätzlich klappen? Ich habe verschiedenste Schnipsel aus dem Handbuch und Forum versucht leider ohne Erfolg :(

Ps.: Was ist denn eine Fluchtsequenz?

harm6

  • Member
Re: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« Antwort #3 am: Sonntag, 9. Oktober 2011, 17:48 »
Du darfst das .eps-file nicht in den score setzen. Dort gehört die Musik hin und je nach dem was Du erreichen möchtest auch \layout bzw \header (von Ausnahmen mal abgesehen. \markup gehört nicht zu diesen Ausnahmen) ;)

\version "2.15.12"

chExceptionMusic = {
        <c es ges bes>1-\markup {\small"m" \super { "7" \hspace #0.2 \fontsize #-1 \raise #0.5 \flat "5"} }
}

chExceptions = #( append(sequential-music-to-chord-exceptions chExceptionMusic #t)ignatzekExceptions)

griffe = \chords {
r1
e1:m5-.7
a1:5+.7
d1:m
\parenthesize d:7
%6
g1:m7
c1:7
f1:maj7
e2:m5-.7 a2:7
%10
d1:m
g1:m7
bes1:5-7
a1:7
%14
d1:m
b1:m5-.7
e1:m5-.7
a1:7
%18
d2:m b2:m5-.7
d2:m5-7 a2:7
d1:m
}

music = \relative c'
{   
    \key d \minor

    r8 d4.\3 e4\2 f4\2
\repeat volta 2
{
    a2. g4\2 
    f4.\2 e8\2 d4\3 e8\2 f8\2 ~   
    f1   
r8 f4.\2 g4\2 a4 \break
%6
    c2. bes4 
    a4. g8\2 f4\2 g8\2 a8~   
    a1   
    r8 a4. b4 cis4 \break
%10
    e4. d8~ d4 a4   
    c4. bes8~ bes4 d,4\3 
    e1\2   
    r8 e4.\2 f4\2 g4\2 \break
}
\alternative
{
%14
    {
    a1   
cis,2.\3 d4\3 
   e1\2
   r8 d4.\3 e4\2 f4\2 \break
    }
%18
    {
a2 cis,4\3 d4\3
f2\2 e2\2
d1\3
R1 \break
\bar "|." %?
    }
  }
}
%%%%%%%%%%%%%%%%%%%%
\header{
title = "Beautiful Love"
}
%%%%%%%%%%%%%%%%%%%%
\paper {
    ragged-right = ##f
    ragged-last-bottom = ##f
    markup-system-spacing #'padding = #4
}

\layout {
    \context
{
\ChordNames
chordNameExceptions = #chExceptions
majorSevenSymbol = \markup { maj7 }
chordNameSeparator = #(make-simple-markup  "")
chordNameExceptions = #chExceptions

\override ParenthesesItem #'font-size = #0.6
\override ParenthesesItem #'padding = #'0.5
% \override ParenthesesItem #'extra-offset = #'(0 . -0.2) 
    }
}
%%%%%%%%%%%%%%%%%%%%
\score {
\new StaffGroup
<<
\griffe

% \new Staff  << \clef "treble_8" \music >>
\new Staff \music
\new TabStaff \music
%\midi {}
>>
}

\markup \fill-line {
             \column {
                   \vspace #2
                   \epsfile #X #20 #"logo.eps"
                   \vspace #2
             }
}

Das markup habe ich noch mit ein paar anderen Sachen angereichert (kannst Du ja wieder rausnehmen)

Darüberhinaus habe ich noch einen paper-Block eingefügt, um das spacing besser zu regeln.

Aufgefallen ist mir, daß Du den "treble_8"-Clef auskommentiert hast. Warum?
Ebenso hast Du in chExceptionMusic das "m" kleiner gemacht. Das führt jetzt allerdings zu einem unterschiedlichen layout der moll-Akkorde. Ich würde es einheitlich lassen.

HTH,
  Harm

Stephan292

  • Member
Re: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« Antwort #4 am: Sonntag, 9. Oktober 2011, 18:25 »
Cool, funktioniert!

In der Zwischenzeit habe ich meine Grafik von OpenOffice als jpeg und über Gimp als .eps abgespeichert. Die .eps Datei hat die Anfangsprobleme verursacht.
Ich hatte geahnt, dass das \markup nicht ins \score gehört und auch schon ausprobiert es ausserhalb zu benutzen aber mit dem OO eps File. Wenn sich mehrere Fehler überlagern und man Anfänger ist...

Den "treble_8"-Clef habe ich auskommentiert, weil sich sonst das gesamte Stück um eine Oktave nach oben verschiebt.

Danke für die Tips und Hinweise, ich bin nicht mehr ganz so blind wie vor einigen Tagen und habe mir auch das Handbuch vorgenommen aber Lilpond ist so mächtig, dass ich mich leicht verliere. Ausserdem möchte ich nebenbei eigentlich Gitarre lernen :)

Lilypond macht aber Spaß und ich lerne nebenbei eine Menge über Noten und Fachbegriffe. Das hätte mir in der Schule mal einer sagen müssen, dass ich mich damit freiwillig beschäftige...

harm6

  • Member
Re: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« Antwort #5 am: Sonntag, 9. Oktober 2011, 18:51 »
Zitat
Den "treble_8"-Clef habe ich auskommentiert, weil sich sonst das gesamte Stück um eine Oktave nach oben verschiebt.

Genau das ist die Absicht, die dahinter steckt. Wenn Du den normalen Violin-Sclüssel nimmst, entstehen viel zu viele Hilflinien unter dem Notensystem (siehe das Bild unten). Deshalb hat sich die Notation der Gitarre mit oktavierendem G-Schlüssel durchgesetzt.
Ich habe es in über drei Jahrzehnten der Beschäftigung mir der Gitarre nur ein einziges mal anders gesehen (d.h.: normaler Violinschlüssel und Wechsel zum Baßschlüssel wo nötig), aber das war eine einstimmiges Solo aus einem Big-Band-Satz. Und ich vermute, daß der Arrangeur keine Ahnung hatte, wie man die Gitarre aufschreibt.
Ich selber habe auch schon mal aus Klavier-notation gespielt, aber das war auch ein spezieller Fall.

Zitat
Lilypond macht aber Spaß ...

 ;D

Harm

Stephan292

  • Member
Re: \markup{\epsfile #X #40 #"DmSkale.eps"} funktioniert nicht
« Antwort #6 am: Sonntag, 9. Oktober 2011, 19:51 »
Bei meinem Beispiel ist genau das Umgekehrte der Fall mit clef treble ergeben sich mehr Hilfslinien. (Siehe Anhang)

« Letzte Änderung: Sonntag, 9. Oktober 2011, 19:56 von Stephan292 »