Neueste Beiträge

#81
Fragen und Probleme aller Art / Antw:Markup geschert spiegeln ...
Letzter Beitrag von Manuela - Donnerstag, 20. April 2023, 21:10
Danke für die Hinweise, Arnold. Anhand deines anderen Codes habe ich so etwas schon vermutet.
#82
Frescobaldi / Antw:Keine Notenanzeige nach U...
Letzter Beitrag von KSchmir - Donnerstag, 20. April 2023, 19:57
Danke!

Die Umstellung von Edge auf Acrobat für .pdfs habe ich ziemlich schnell gemacht.

Auf dem Frescobaldi-Site wird weiterhin 3.3.0 angeboten, auf dem Stand von "last month". Ist mir erst nach dem Runterladen aufgefallen -- es geht jetzt trotzdem auf einmal und braucht auch nur ein Zwölftel der Zeit zum Kompilieren.

Auch habe ich inzwischen den Verdacht gehegt, dass Lilypond das Problem sein könnte, schließlich wurde das unbekannte Format .pdf im "Lilypond-Protokoll" moniert. Bin aber weiterhin auf Version 24.1. Rätsel über Rätsel! Aber es geht wieder.
#83
Fragen und Probleme aller Art / Antw:Markup scheren
Letzter Beitrag von Manuela - Donnerstag, 20. April 2023, 15:51
Zitat von: Arnold am Montag, 17. April 2023, 20:41Für das LSR muß ich den Code aber noch etwas polieren und erweitern - da soll doch dann mindestens ebenfalls die Isometrie abgedeckt werden, und vielleicht auch noch die Projektion eines Bildes, welches bereits eine Scherung enthält.

Du bist ein Wahnsinn, Arnold  :) (ich würde jetzt das Applaus-Smiley verwenden, wenn es eines gäbe)
Soll ich mein Snippet löschen oder überschreiben wir es mit deinem Code?
#84
Frescobaldi / Antw:Keine Notenanzeige nach U...
Letzter Beitrag von Jean Abou Samra - Mittwoch, 19. April 2023, 19:25
Dieses Problem wurde in Frescobaldi 3.3.1 gelöst.

https://github.com/frescobaldi/frescobaldi/issues/1579
#85
Fragen und Probleme aller Art / Antw:Einzelne Abschnitte aus M...
Letzter Beitrag von juergen74 - Dienstag, 18. April 2023, 11:16
Hallo Manuela,

im einfachsten Fall kann man Musik vom Typ "ContextSpeccedMusic" im Moment 0 "behalten"; siehe Ergänzung im Code ab Zeile 76:
\version "2.24.0"

%% http://lsr.di.unimi.it/LSR/Item?id=542

#(use-modules (srfi srfi-39))

#(define *current-moment* (make-parameter (ly:make-moment 0/1 0/1)))

#(define moment-null (ly:make-moment 0/1 0/1))

#(define (music-has-no-length? music)
   "Is music empty of notes, rests or skips?"
   (equal? (ly:music-length music) moment-null))

#(define (simultaneous? music)
   (memq (ly:music-property music 'name)
     (list 'SimultaneousMusic 'EventChord)))

#(define (defined-music? music)
   (not (eq? 'Music (ly:music-property music 'name))))

#(define (chord-event? music)
   (eq? 'EventChord (ly:music-property music 'name)))

#(define (get-duration music)
   (ly:music-property music 'duration))

#(define (moment>=? momentA momentB)
   (not (ly:moment<? momentA momentB)))

#(define (moment-inside? moment from-moment to-moment)
   (and
    (moment>=? moment from-moment)
    (ly:moment<? moment to-moment)))

#(define (whole-music-inside? begin-music end-music left-range right-range)
   (and
    (moment>=? begin-music left-range)
    (moment>=? right-range end-music )
    (not (equal? begin-music right-range))))

#(define (whole-music-outside? begin-music end-music left-range right-range)
   (or
    (moment>=? left-range end-music)
    (moment>=? begin-music right-range)))

#(define (moment->duration moment)
   ;see duration.cc in Lilypond sources (Duration::Duration)
   (let* ((p (ly:moment-main-numerator moment))
          (q (ly:moment-main-denominator moment))
          (k (- (ly:intlog2 q) (ly:intlog2 p)))
          (dots 0))
     ;(ash p k) = p * 2^k
     (if (< (ash p k) q) (set! k (1+ k)))
     (set! p (- (ash p k) q))
     (while (begin (set! p (ash p 1))(>= p q))
       (set! p (- p q))
       (set! dots (1+ dots)))
     (if (> k 6)
         (ly:make-duration 6 0)
         (ly:make-duration k dots))
     ))

#(define (extract-music music from to)
   "Keeps only music between `from' and `to', `from' and `to' as moment"
   (let ((begin-pos (*current-moment*))
         (end-pos (ly:moment-add
                   (*current-moment*)
                   (ly:music-length music))))
     (cond
      ((whole-music-inside? begin-pos end-pos from to)
       (*current-moment* end-pos)
       music)
      ((whole-music-outside? begin-pos end-pos from to)
       (*current-moment* end-pos)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       ; always add ContextSpeccedMusic at moment 0
       (if (and (equal? begin-pos (ly:make-moment 0/1 0/1))
                (eq?  'ContextSpeccedMusic (ly:music-property music 'name)))
           music
           (make-music 'Music)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      ; the intervals [begin-pos end-pos] [from to] overlap
      (else
       (cond
        ; inside a chords or for multiRest events
        ((ly:duration? (get-duration music))
         (if (moment-inside? begin-pos from to)
             (set! end-pos to)
             (begin
              (set! begin-pos from)
              (if (not (moment-inside? end-pos from to))(set! end-pos to))))
         (ly:music-set-property! music 'duration
           (moment->duration  (ly:moment-sub end-pos begin-pos)))
         (*current-moment* end-pos)
         music)
        (else     ; for containers of chords
          (let ((elts (ly:music-property music 'elements))
                (elt  (ly:music-property music 'element)))
            (if (ly:music? elt)
                (ly:music-set-property! music 'element (extract-music elt from to)))
            (if (pair? elts)
                (cond
                 ((simultaneous? music)    ; simultaneous music OR EventChords
                   (ly:music-set-property! music 'elements (filter
                                                            (lambda (evt)
                                                              (or (music-has-no-length? evt) ; i.e for 'VoiceSeparator
                                                                  (begin
                                                                   (*current-moment* begin-pos)  ; restore *current-moment*
                                                                   (set! evt (extract-music evt from to))
                                                                   (defined-music? evt)))) ; keeps if not (make-music 'Music)
                                                            elts))
                   (*current-moment* end-pos))
                 (else              ; sequential music
                   (ly:music-set-property! music 'elements (filter
                                                            (lambda (evt)
                                                              (set! evt (extract-music evt from to))
                                                              (defined-music? evt))
                                                            elts)))))
            music)))))))

%%%%%%%%%%%%%%%%%%%%%% the main function %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
extractMusic =
#(define-music-function (music from during) (ly:music? ly:music? ly:music?)
   (let* ((from-length (ly:music-length from))
          (during-length (ly:music-length during))
          (to-length (ly:moment-add during-length from-length)))
     (parameterize ((*current-moment* (ly:make-moment 0/1 0/1)))
       (extract-music music from-length to-length))))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mus = \relative { c4 c c c d2 d e1 f8 f f f f f f f }
muso = { \clef treble \transpose c c' \mus }
musu = { \clef bass \mus }

music = \new PianoStaff <<
  \new Staff \new Voice \muso
  \new Staff \new Voice \musu
>>
\extractMusic \music  {} s1*2
\extractMusic \music s1 s1*2

Sinnvollerweise sollte man wohl noch untersuchen, was in ContextSpeccedMusic denn genau drin steht.
Und um alle denkbaren Variationen abzufangen (z.B. Änderung des Notenschlüssels mittendrin), müsste der Code unter "(whole-music-outside? begin-pos end-pos from to)" noch deutlich erweitert werden.



Grüße, Jürgen.
#86
Fragen und Probleme aller Art / Antw:Markup scheren
Letzter Beitrag von Arnold - Montag, 17. April 2023, 20:41
Danke, Harm, für den Hinweis,
und ly:length nimmt auch gleich ein SCHEME-Pair als Argument, das macht das Ganze noch angenehmer.

Für das LSR muß ich den Code aber noch etwas polieren und erweitern - da soll doch dann mindestens ebenfalls die Isometrie abgedeckt werden, und vielleicht auch noch die Projektion eines Bildes, welches bereits eine Scherung enthält.

Und wer weiß, vielleicht kümmere ich mich danach, wenn ich auch noch meine Sammlung an SCHEME-Routinen auf 2.25.x migriert habe, die nächsten Monate um MIDI-Erweiterungen.
Z. Bsp. mehr als 128 Instrumente, ChannelVolume-Controller, wie Midi-Ports und die Groups von Midi-2 organisiert werden könnten (hab ja jetzt schon mein Timidity abgeändert auf 64 Kanäle, »4 Groups in an End Device« im Midi-2-Sprachgebrauch, auch wenn bisher nur Midi-1-Streams gelesen werden) ...

Arnold.
#87
Fragen und Probleme aller Art / Antw:Wasserzeichen
Letzter Beitrag von flashgordonx - Montag, 17. April 2023, 19:17
Es wird mit einer höhere Version ausprobiert und geht.

Danke.
#88
Fragen und Probleme aller Art / Antw:Wasserzeichen
Letzter Beitrag von flashgordonx - Montag, 17. April 2023, 18:37
Meine ist \version "2.19.83" ebenso linux. Soll ich viellicht eine upgrade machen?

Ich schicke die ganze Note. Teilweise gut, aber ein Befehl "\should-print-page-number " ercheint im Pdf.


\version "2.19.83"


watermark = \markup
\with-dimensions-from\null {
  \translate #'(-70 . -120)
  \rotate #50
  \fontsize #13
  \pattern #12 #Y #3
  \pattern #3 #X #5
  \bold\with-color #(rgb-color .9  .9  .9) "copyrighted material"
}
\paper {
  print-first-page-number = ##t
  %page-count = 2
  ragged-last-bottom = ##f
  oddHeaderMarkup = \markup {
    \combine\watermark
    \fill-line {
      \null
        \if \should-print-page-number
        \fromproperty #'page:page-number-string
      }
  }
  evenHeaderMarkup = \markup {
    \combine\watermark
    \fill-line {
        \if \should-print-page-number
        \fromproperty #'page:page-number-string
        \null
      }
  }
}
\header {
  dedication = \markup \italic "This music is dedicated to the LSR"
  title = "This is a Title"
  subtitle = "This is a Subtitle"
  subsubtitle = "This is a Subsubtitle"
  piece = "This is a Piece"
  opus = "Op. 000"
  instrument = "This is an Instrument"
  composer = "This is a Composer"
  arranger = "This is an Arranger"
  poet = "This is a Poet"
  copyright = "Copyrighted material"

}



global = {
  \key f \major
  \time 2/2
}

englishHorn = {
  \global
 % \transposition f
  % Die Noten folgen hier.
    {   

 

 

 \repeat volta 2       %Kapu ismétlésnél ezzel az utasítással adom meg, hogy hány kapu lesz. 

 

% A következő kapcsos zárójeles szakasz, az ELSŐ kapu ELŐTTI részt tartalmazza.!   

 

  {   
  a'2\f  g'2
  a' gis' a'4 r4 bes'2-> ( |
  a'4) r4 r2 \bar ".|:" |
  r4 a'\mf r a' |
  r a' r bes' |
  r a' r bes' |
  r a' a' a' |
  r bes' r a' |
  r bes' r bes' \break |
 
  r a' r bes'
  a' r g'2->
  r4 a' r a' |
  r a' r bes' |
  r a' r bes' |
  r\< a' a' a'\f |
  g'2. g'4 g'2 a' g'4 r g'2-> ( % az ELSŐ kapu ELŐTTI hangok.   

 

              }   

 

\alternative {  %nyitó zárójel

   

   %ez a parancs és az utána lévő kapcsos zárójelbe található hangok lesznek az első kapu ALATT.   

 

   {  %még egy nyitó!!!

       

      g'4) r4 r2 \break

 }   

% A következő kapcsos zárójel már a kettes kapu alatti hangokat tartalmazza a csukó zárójelig.   

  {   

      g'4 r r2 \bar ".|:"   

 

   } %kettes kapu lezárása   

         } %első kapu lezárása   

              } %az egész lezárása 

         

        %Ha az utolsó 3 közül vmelyik inaktív hiányzik vhonnan egy zárójel!!!!!
  {   

%%%%%%%%%%%%%%%

 

 \repeat volta 2       %Kapu ismétlésnél ezzel az utasítással adom meg, hogy hány kapu lesz. 

 

% A következő kapcsos zárójeles szakasz, az ELSŐ kapu ELŐTTI részt tartalmazza.!   

 

  {   

r4 f'\mf r f' |
r4 f' r f' |
r e'8 e' e'4 e'
e' e' e' e'
r4 e'4 r e'
r4 e'4 r e'
r f'8 f' f'4 f' |
f' f' f' f' | \break % az ELSŐ kapu ELŐTTI hangok.   
r4 f' r f' |
r4 f' r f' |
r f'8 f' f'4 f' |
f' f' f' f' |
r4 e' r e' |
r4 e' r e' |
r f'8 f' f'4 f' |
 

              }   

 

\alternative {  %nyitó zárójel

   

   %ez a parancs és az utána lévő kapcsos zárójelbe található hangok lesznek az első kapu ALATT.   

 

   {  %még egy nyitó!!!

f' r r2 |

 }   

% A következő kapcsos zárójel már a kettes kapu alatti hangokat tartalmazza a csukó zárójelig.   

  {   

f'4 r f'2->\f\bar "||" |\break   \key bes \major 

 

  } %kettes kapu lezárása   

         } %első kapu lezárása   

              } %az egész lezárása 

         

        %Ha az utolsó 3 közül vmelyik inaktív hiányzik vhonnan egy zárójel!!!!!
f'4 r f' r|
f' r r2 |
  {   

 

 

 \repeat volta 2       %Kapu ismétlésnél ezzel az utasítással adom meg, hogy hány kapu lesz. 

 

% A következő kapcsos zárójeles szakasz, az ELSŐ kapu ELŐTTI részt tartalmazza.!   

 

  {   

r4 d' r d'|
r4 d' r d'|
r4 d' r d'|
r4 d' r d'|
r4 d' r d'|
r4 d' r d'|
%r4 d' r d'|
%r4 d' r d'|
%r4 d' r d'|
r4 f' r f'| \break
r4 f' r f'|
r4 f' r f'|
r4 f' r f'|
r4 f' r f'|
r4 f' r f'| % az ELSŐ kapu ELŐTTI hangok.   
r4 f' r f'|
r4 f' r f'|
r f'\< f' f' |
f' r f'2-> \f \break
r4 f' r f'|
r4 f' r f'|
r f'8 f' f'4 f' |
f' f' f' f' |
r4 f' r f'|
r4 f' r f'|
r4 g'8 g' g'4 g' |
g' g' g' g'
r g' r g'| \break
r g' r g'|
r f'8 f' f'4 f' |
f' f' f' f' |
r4 f' r fis'|
r4 g' r f'?|

              }   

 

\alternative {  %nyitó zárójel

   

   %ez a parancs és az utána lévő kapcsos zárójelbe található hangok lesznek az első kapu ALATT.   

 

   {  %még egy nyitó!!!

       

     r4 f'8 f' f'4 f'|
     f' r4 r2|

 }   

% A következő kapcsos zárójel már a kettes kapu alatti hangokat tartalmazza a csukó zárójelig.   

  {   

f'4 r f'2->|
f'4 f'8 f' f'4 r \bar "|."   

 

   } %kettes kapu lezárása   

         } %első kapu lezárása   

              } %az egész lezárása 

         

        %Ha az utolsó 3 közül vmelyik inaktív hiányzik vhonnan egy zárójel!!!!!

 
}

\score {
  \new Staff \with {
    instrumentName = "English horn"
    midiInstrument = "english horn"
  } \englishHorn
  \layout { }
  \midi {
    \tempo 4=100
  }
}
#89
Fragen und Probleme aller Art / Antw:Wasserzeichen
Letzter Beitrag von Malte - Montag, 17. April 2023, 17:12
Hallo flashgordonx,

bei mir funktioniert es mit LilyPond 2.24.0 unter Linux. Welche Version verwendest du?

Viele Grüße
Malte
#90
Fragen und Probleme aller Art / Wasserzeichen
Letzter Beitrag von flashgordonx - Montag, 17. April 2023, 15:40
Liebe Lilypond-Fan

Ich möchte meine Pdf-Noten mit Wasserzeichen versehen. Ich habe ein Code gefunden, aber bei mir funktioniert nicht.

Könntet ihr mir helfen?

Schnipsel befindet sich hier.

Ergebnis hier. (unten)