Re: define-scheme-function

2022-08-22 Thread Павел
Нужно ещё заключить #lyricup и #lyricdown в фигурные скобки (в функции 
makeScore), как в моём примере. С этим исправлением ваш пример у меня 
заработал.


21.08.2022 21:02, Лысов Дмитрий пишет:

Я исправил, но все равно что-то не так. Этот вариант кода выдает ошибки:
I fixed it, but there's still something wrong. This version of the 
code gives errors:


\version "2.22.1"
makeScore =
#(define-scheme-function (mark notes lyricup lyricdown) (markup? 
ly:music? ly:music? ly:music?)

    #{
      \score {
        \header {piece = \markup { Название }}
        <<
          \new KievanStaff  = slavonic
          <<
          \new KievanVoice = "melody"
            \relative c' {
              \cadenzaOn
              \mark #mark
              #notes
              \bar "|"
            }
          >>
        \new Lyrics
        \lyricsto "melody"
        #lyricup
        \new Lyrics \with {alignAboveContext = slavonic}
        \lyricsto "melody"
        #lyricdown
        >>
        \layout { }
        %\midi { }
      }
    #})
\markup { \fill-line \huge { "Глас 1" }}
\markup { \fill-line \huge { "Начальные" }}
\makeScore "Удра" {e4 c d f e d c d e d e1} \lyricmode {la la la la} 
\lyricmode {ta ta ta ta}
C:/Users/Asus/AppData/Local/Temp/frescobaldi-m1s83y6n/tmpvpo3he0n/Сборник 
формул_define-scheme_byz.ly:24:9: error: syntax error, unexpected 
SCM_TOKEN, expecting \sequential or \simultaneous or << or '{'

#lyricup
C:/Users/Asus/AppData/Local/Temp/frescobaldi-m1s83y6n/tmpvpo3he0n/Сборник 
формул_define-scheme_byz.ly:28:9: error: syntax error, unexpected 
SCM_TOKEN, expecting \sequential or \simultaneous or << or '{'

#lyricdown
C:/Users/Asus/AppData/Local/Temp/frescobaldi-m1s83y6n/tmpvpo3he0n/Сборник 
формул_define-scheme_byz.ly:38:1: error: errors found, ignoring music 
expression
\makeScore "Удра" {e4 c d f e d c d e d e1} \lyricmode {la la la la} 
\lyricmode {ta ta ta ta}
C:/Users/Asus/AppData/Local/Temp/frescobaldi-m1s83y6n/tmpvpo3he0n/Сборник 
формул_define-scheme_byz.ly:38:1: error: error in #{ ... #}
\makeScore "Удра" {e4 c d f e d c d e d e1} \lyricmode {la la la la} 
\lyricmode {ta ta ta ta}
fatal error: failed files: 
"C:\\Users\\Asus\\AppData\\Local\\Temp\\frescobaldi-m1s83y6n\\tmpvpo3he0n\\Сбо�\x80ник 
�\x84о�\x80м�\x83л_define-scheme_byz.ly"

Программа завершилась с кодом 1.
21.08.2022, 20:14, "Павел" :

Используйте \lyricmode:

*\makeScore "Удра" {e4 c d f e d c d e d e1} \lyricmode {a b c d}
\lyricmode {e f g hh}*

21.08.2022 15:52, Лысов Дмитрий пишет:

*\makeScore "Удра" {e4 c d f e d c d e d e1} {a b c d} {e f g hh}*


Re: define-scheme-function

2022-08-21 Thread Павел
Команда *\lyricsto *как-бы сама переключает второй аргумент в режим 
лирики, поэтому в этом случае \lyricmode был не нужен.

**

21.08.2022 15:52, Лысов Дмитрий пишет:
Спасибо, Павел. Структура мне понятна, помогите правильно определить 
передачу данных для функции. Если мы прямо записываем в функции 
*define-scheme-function* текстовую строку *{e f g h}*, то она 
выводится на странице:

*       \new Lyrics *
*        \lyricsto "melody" *
*        {e f g h}*
А если заменяю*{e f g h} *на переменную функции *#lyricdown*, то 
получается ошибка. Функция вызывается

так *\makeScore "Удра" {e4 c d f e d c d e d e1} {a b c d} {e f g hh}*
Определение функции такое:
*makeScore =*
*#(define-scheme-function (mark notes lyricup lyricdown) (markup? 
ly:music? ly:music? ly:music?)*

Где ошибка?
Thank you, Pavel. The structure is clear to me, help me correctly 
determine the data transfer for the function. If we directly write the 
text string *{e f g h} *in the *define-scheme-function*, then it is 
output on the page:

*       \new Lyrics *
*        \lyricsto "melody" *
*        {e f g h}*
And if I replace *{e f g h}* with a variable of the *#lyricdown* 
function, then an error is obtained. The function is called

so *\makeScore "Удра" {e4 c d f e d c d e d e1} {a b c d} {e f g hh}*
The function definition is:
*makeScore =*
*#(define-scheme-function (mark notes lyricup lyricdown) (markup? 
ly:music? ly:music? ly:music?)*

Where is the error?

Re: define-scheme-function

2022-08-21 Thread Павел

Используйте \lyricmode:

*\makeScore "Удра" {e4 c d f e d c d e d e1} \lyricmode {a b c d} 
***\lyricmode *{e f g hh}*


21.08.2022 15:52, Лысов Дмитрий пишет:

*\makeScore "Удра" {e4 c d f e d c d e d e1} {a b c d} {e f g hh}*

Re:

2022-08-21 Thread Павел
Вот, посмотрите в моём примере. Привожу здесь фрагмент из готового 
произведения. Если вдруг не разберётесь, как работает, можете написать. 
(Пояснение: некоторые функции я закомментировал, потому что они 
определены в отдельном файле).


\version "2.20.0"
#(set-global-staff-size 25 )
%\include "my.ily"
\pointAndClickOff
%\churchslavonicPageNumber
%\churchslavonic
\language "deutsch"

\header {
    title = "Херꙋві́мскаѧ пѣ́снь"
    subtitle = "І҆мереті́нско_чꙋрі́йскагѡ роспѣ́ва."
}

%\paper { page-count = 5 }
global = {
    \cadenzaOn
    \key a \major \autoBeamOff
    \accidentalStyle Score.forget
    \omit Staff.TimeSignature
    \override Score.SpacingSpanner.spacing-increment = #2
}

voiceA = \relative e' {
    \global
    e1. e2 fis fis e( d4 e d2 cis h) h \bar ""
}
voiceB = \relative cis' {
    \global
    cis2( h a4 h) cis2 a4( h) cis( d) cis2( h4 cis h cis h a2 h4) a( gis)
}
voiceC = \relative {
    \global
    a1. 2 2 2 1( e1.) 2
}
lyric = \lyricmode {
    %\churchslavonicLyric
    И҆̀ -- же хе -- рꙋ -- ві́ -- мы
}

НаТриГолоса = #(define-music-function
    (first second third lyric secondlyric aligner) (ly:music? ly:music? 
ly:music? ly:music? ly:music? ly:music?) #{

    \new StaffGroup \with { midiInstrument = "french horn" } <<
    \new Staff <<
        \new Voice { \clef soprano #first }
        \new NullVoice = "aligner" { #aligner }
    >>
    \new Lyrics = "lyric" \with {
        \override 
VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = 1
        \override 
VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.padding = 0.3

    } \lyricsto "aligner" { #lyric }
    \new Lyrics \with {
        \override 
VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = 1
        \override 
VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.padding = 0.3

    } \lyricsto "aligner" { #secondlyric }
    \new Staff <<
        \clef baritone
        \new Voice { \voiceOne #second }
        \new Voice { \voiceTwo #third }
    >>
    >> #})

\score {
    \header { title = "" subtitle = "" }
    \НаТриГолоса \voiceA \voiceB \voiceC \lyric { } \voiceB
    \layout { }
    \midi { \tempo 2=60 }
}

21.08.2022 00:18, Лысов Дмитрий пишет:
Как определить в define-scheme-function аргументы "lyricup" и 
"lyricdown", чтобы их значения брались из данных \makeScore? При этом 
у верхней и нижней строк текста должны быть заданы разные шрифты.

\version "2.22.1"
\header {
  title = "Сборник мелодических формул знаменного распева"
  composer= "Штейнберг Б."
  poet = "Москва, 2017"
}
\paper {
  #(set-paper-size "a4")
  tagline=##f
  ragged-right = ##t
  myStaffSize = #21
  #(define fonts (make-pango-font-tree
                  "Ponomar Unicode"
                  "Ponomar Unicode"
                  "Ponomar Unicode"
                  (/ myStaffSize 21)))
}
\layout {
  indent = 0.0
  \context {
    \Lyrics
    \override LyricText #'font-size = #4
    \override LyricText #'font-name = #"Ponomar Unicode"
    \override LyricSpace.minimum-distance = #0.8
  }
  \context {
     \Score
     \override SpacingSpanner.spacing-increment = 0.5
  }
  \context {
     \KievanVoice
     \stemDown
     fontSize = 1.0
  }
}
\midi {
   \context {
     \Score
     tempoWholesPerMinute = #(ly:make-moment 110 2)
   }
   \context {
     \Staff
     \remove Staff_performer
   }
   \context {
     \Voice
     \remove Staff_performer
   }
}
makeScore =
#(define-scheme-function (mark notes lyricup lyricdown) (markup? 
ly:music? markup? markup?)

    #{
      \score {
        \header {piece = \markup { Название }}
        <<
          \new KievanStaff  = slavonic
          <<
          \new KievanVoice = "melody"
            \relative c' {
              \cadenzaOn
              \mark #mark
              #notes
              \bar "|"
            }
          >>
        \new Lyrics
        \lyricsto "melody"
        {а п р ц} %lyricup
        \new Lyrics \with {alignAboveContext = slavonic}
        \lyricsto "melody"
        {b b b b} %lyricdown
        >>
        \layout { }
        %\midi { }
      }
    #})
\markup { \fill-line \huge { "Глас 1" }}
\markup { \fill-line \huge { "Начальные" }}
\makeScore "Удра" {e4 c d f e d c d e d e1} "mi do re fa" "E C D F"
\markup { \fill-line \huge { "Конечные" }}
\makeScore "Удра" {e4 c d f e d c d e d e1} "mi do re fa" "E C D F"
\markup { \fill-line \huge { "Срединные" }}
\makeScore "Дербица или скорпица" {e4 f g a a g2.} "mi fa sol la" "E F 
G A"




Re: Footnote is not printed

2021-12-04 Thread Павел

Thank you for your replies, my friends! Now I understand it.

04.12.2021 02:15, Valentin Petzel пишет:

I think it would be better to add a \noPageBreak between the markup and the
score, just in case.

If you do not want loose the automatic formatting of the header you could do
\markup \footnote \null \italic "* By me"
\noPageBreak

Before the score. But thus will give you a little extra spacing (markup-
markup-spacing) before the score.

Cheers,
Valentin

Am Freitag, 3. Dezember 2021, 21:37:11 CET schrieb Jean Abou Samra:

Le 03/12/2021 à 14:27, Павел a écrit :

Hello, I have problem with a footnote: it is not printer in the bottom
of page.

\version "2.22.1"
\score {
 \header {
 piece = "My piece"
 opus = \markup\concat { "My opus" \footnote "*" \italic "* By
me" }
 }
 { c' d' e' f' }
}

It's a known issue. Footnotes are only supported in
music and standalone markup, not in headers. Try
this instead:

\version "2.22.1"

\markup \fill-line {
"My piece"
\concat { "My opus" \footnote "*" \italic "* By me" }
}

\score {
{ c' d' e' f' }
}


Best,
Jean




Footnote is not printed

2021-12-03 Thread Павел
Hello, I have problem with a footnote: it is not printer in the bottom 
of page.


\version "2.22.1"
\score {
    \header {
    piece = "My piece"
    opus = \markup\concat { "My opus" \footnote "*" \italic "* By me" }
    }
    { c' d' e' f' }
}




Re: Produce \header in function

2021-11-19 Thread Павел

Thanks David! It works.

19.11.2021 14:24, David Kastrup пишет:

Павел  writes:


Hello lilyponders! I want to produce \header block in my function, to
use my function instead \header block. But I can't seem to find the
correct syntax for this. It doesn't work like that:

genheader = #(define-music-function
     (mystring) ( string? ) #{
     \header { piece = \markup\bold #mystring }
     #})

A header is not music.  Use define-scheme-function instead.





Produce \header in function

2021-11-19 Thread Павел
Hello lilyponders! I want to produce \header block in my function, to 
use my function instead \header block. But I can't seem to find the 
correct syntax for this. It doesn't work like that:


genheader = #(define-music-function
    (mystring) ( string? ) #{
    \header { piece = \markup\bold #mystring }
    #})




Re: Stems question

2021-11-16 Thread Павел

Sorry, my mistake:

\relative c' { \stemDown c8[ d] \stemUp e[  e'] }

16.11.2021 13:41, Павел пишет:


Hello, Jacques Menu!

Since you did not specify the time signature, lilypond chose the 
default one — 4/4. In this signature, lilypond groups 1/8-notes by 
four. You can explicitly override it:


\relative c'[ { \stemDown c8] d \stemUp e[  e'] }

For additional information you can read the documentation: 
http://lilypond.org/doc/v2.22/Documentation/notation/displaying-rhythms


16.11.2021 13:23, Jacques Menu пишет:

Hello folks,

With this input:

%%
\version "2.22.1"

\relative c' { \stemDown c8 d \stemUp e  e' }
%%

I get this output:

Any help is welcome!

JM


Re: Stems question

2021-11-16 Thread Павел

Hello, Jacques Menu!

Since you did not specify the time signature, lilypond chose the default 
one — 4/4. In this signature, lilypond groups 1/8-notes by four. You can 
explicitly override it:


\relative c'[ { \stemDown c8] d \stemUp e[  e'] }

For additional information you can read the documentation: 
http://lilypond.org/doc/v2.22/Documentation/notation/displaying-rhythms


16.11.2021 13:23, Jacques Menu пишет:

Hello folks,

With this input:

%%
\version "2.22.1"

\relative c' { \stemDown c8 d \stemUp e  e' }
%%

I get this output:

Any help is welcome!

JM


Re: search term

2021-11-07 Thread Павел
Hey! I did not quite understand you, what exactly do you want. But try 
to see examples in the documentation, maybe there is what you are 
looking for: 
http://lilypond.org/doc/v2.22/Documentation/notation/expressive-marks-as-curves#slurs 



07.11.2021 19:08, Mark Stephen Mrotek пишет:


Hello,

A command/instruction exists to make double slurs between two chords.

What is the search term that I should use?

Thank you for your kind attention.

Mark


Re: Rehearsal mark vertical spacing

2021-10-16 Thread Павел

Hello, Erica. You can use \override:


\version "2.18.2"

notes = \relative c'''{
  \repeat unfold 8 {g8 a}
  \once \override Score.RehearsalMark.padding = #3
  \mark \default g1
}

\score {
\new Staff {\notes}
}

You can read more about overrides here: 
http://lilypond.org/doc/v2.22/Documentation/learning/tweaking-output


16.10.2021 15:49, Erika Pirnes пишет:
I'm trying to figure out how to position rehearsal marks a bit farther 
from the staff. It might be an easy fix (I hope so) but I couldn't 
find a solution yet. My example below; especially with notes above the 
staff the rehearsal mark seems to be too clingy.


\version "2.18.2"

notes = \relative c'''{
  \repeat unfold 8 {g8 a} \mark \default g1
}

\score {
\new Staff {\notes}
}

Thank you,
Erika

Re: Can I make Lilypond/frescobaldi only put music scores on one single page without it breaking the score up into more pages?

2021-06-20 Thread Павел
And If your notes do not fit on one page, but you still want to fit, 
then you can reduce the font size:


#(set-global-staff-size 15 )

20.06.2021 19:54, darki...@jesusgod-pope666.info пишет:
I would like that it did not, at least if the score can be on 1 paper, 
did not break it up, yet rather made some empty space, I might later 
fill up with some text of whatever kind to fill the gap.


It is kinda annoying playing a piece and then need to flip the page in 
the middle of it.


Dearly regards
- Darkijah





Re: Can I make Lilypond/frescobaldi only put music scores on one single page without it breaking the score up into more pages?

2021-06-20 Thread Павел

Perhaps this is what you need:

\paper { page-count = 1 }

20.06.2021 19:54, darki...@jesusgod-pope666.info пишет:
I would like that it did not, at least if the score can be on 1 paper, 
did not break it up, yet rather made some empty space, I might later 
fill up with some text of whatever kind to fill the gap.


It is kinda annoying playing a piece and then need to flip the page in 
the middle of it.


Dearly regards
- Darkijah





Re: list of accordion registers as a single markup

2021-01-24 Thread Павел

Hi, David. I think I solved your problem. Use:

\version "2.22.0"
#(use-modules (scm accreg))
#(define-markup-command (accordion layout props lst) (list?)
  (interpret-markup layout props
    (markup (make-line-markup (map (lambda(x) (markup #:discant x)) 
lst)


\markup \accordion #'("1" "10" "101" "121" "21" "11" "120" "110" "1+0" 
"100" "11+0")


23.01.2021 21:45, Aps Alchechengi пишет:

Hi!
I need to obtain a list of accordion registers.


I know I can engrave them using:


#(use-modules (scm accreg))

\markup \line {
\discant "1"
\discant "10"
\discant "101"
\discant "121"
\discant "21"
\discant "11"
\discant "120"
\discant "110"
\discant "1+0"
\discant "100"
\discant "11+0"
}


But I want to pass them in a markup function as a list.

regList = #'("1" "10" "101" "121" "21" "11" "120" "110" "1+0" "100" 
"11+0")



I've tried map, for-each, do, let loop but I can't find a way to 
do this.

Someone can help me?

thanks
Davide


 
	Mail priva di virus. www.avast.com 
 



<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>


Re: Vertical spacing inside the music

2020-10-20 Thread Павел
Thanks, Jean, I think so too. Coming back to my question, how to control 
vertical spacing inside music? For example, I want to have #10 
basic-distance at start of a piece and #15 basic-distance since 12-th 
measure.


20.10.2020 15:14, Jean Abou Samra пишет:


Le 20/10/2020 à 14:06, Павел a écrit :
Hello. I'm looking for the "right" way to control vertical spacing 
within music. The example below doesn't work. Now I know only 
explicit vertical spacing via NonMusicalPaperColumn, and dirty hacks 
like a very low invisible note.


<<
    \new Staff {
    c' c' c' c'
    \override 
Score.VerticalAxisGroup.staff-staff-spacing.basic-distance = #20

        c' c' c' c'
    }
    \new Staff { c' c' c' c' c' c' c' c' }
>>



Hello,

VerticalAxisGroup is a special object, which (I believe) is only
created once per score. Therefore, you need to set its properties
globally.

\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.staff-staff-spacing.basic-distance = #20
  }
}

<<
  \new Staff { c' c' c' c' c' c' c' c' }
  \new Staff { c' c' c' c' c' c' c' c' }
>>

Best regards,
Jean





Vertical spacing inside the music

2020-10-20 Thread Павел
Hello. I'm looking for the "right" way to control vertical spacing 
within music. The example below doesn't work. Now I know only explicit 
vertical spacing via NonMusicalPaperColumn, and dirty hacks like a very 
low invisible note.


<<
    \new Staff {
    c' c' c' c'
    \override 
Score.VerticalAxisGroup.staff-staff-spacing.basic-distance = #20

        c' c' c' c'
    }
    \new Staff { c' c' c' c' c' c' c' c' }
>>




Indent within a score

2020-08-10 Thread Павел
How to make indent in the middle of a score (not first system)? In some 
cases, it would be very convenient. Because additional score blocks 
"break" the logic of input and lead to other problems: additional spaces 
between systems, resetting bar numeration, rehearsal marks, etc...


This question has already been asked, but there is no answer:
https://lists.gnu.org/archive/html/lilypond-user/2007-09/msg00528.html
https://lists.gnu.org/archive/html/lilypond-user/2009-06/msg00114.html
https://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00346.html




Get grob value from another context

2020-08-09 Thread Павел

I want to write scheme function for this, but I don't know where to start:

\new Staff <<
    {
        c
    }
    \new Voice {
%        \stemUp, if note c (in another voice) has stem down
%        \stemDown, if note c has stem up
        g
    }
>>




Scheme: change duration of NoteEvent

2020-08-09 Thread Павел
I want to write simple function that will be change duration of note. 
But I stuck on the first step: I can't "extract" (or "see") the duration 
property:


\version "2.20.0"
mynote = c'
\displayMusic \mynote
#(display-scheme-music
    (ly:music-property mynote 'duration))




Re: Maybe a bug with slurs

2020-06-07 Thread Павел

Oh sorry, I so inattentive! Now I understood you.

07.06.2020 14:51, David Kastrup пишет:

While I am unsure that I guess your meaning correctly from this somewhat
jumbled sentence, I repeat: e'4) is essentially the same as 4) which
is different from 4




Re: Maybe a bug with slurs

2020-06-07 Thread Павел
Small clause: you said "e'4) is essentially the same as 4)". But 
according to your explanation it is essentially the different as 4), 
but in most practical cases they behave same.


07.06.2020 14:16, Павел пишет:

Thank you for deep explanation!

Yes, this is complicated way but it can be useful in some cases.

07.06.2020 12:25, David Kastrup пишет:

Павел  writes:


See these two examples. They are almost same except angle brackets. In
first example slur behaves correctly, but in second does not.

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( }
 \context Voice = "first" << 4  >>
 \new Voice = "second" { g'8 f'( }
 \context Voice = "second" << e'4)  >>
}

I disagree with that assessment.  Yours is just a complicated way of
writing

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( 4 }
 \new Voice = "second" { g'8 f'( 4) }
}

<< >> places constructs in parallel, here into the same Voice.  The
first line uses an in-chord slur ending which is drawn to a specific
note head, the second line uses a per-Voice slur ending which is drawn
to the whole chord.  e'4) is essentially the same as 4) .





Re: Maybe a bug with slurs

2020-06-07 Thread Павел
Small clause: you said "e'4) is essentially the same as 4)". But 
according to your explanation it is essentially the different as 4), 
but in most practical cases they behave same.


07.06.2020 14:16, Павел пишет:

is essentially the same




Re: Maybe a bug with slurs

2020-06-07 Thread Павел

Thank you for deep explanation!

Yes, this is complicated way but it can be useful in some cases.

07.06.2020 12:25, David Kastrup пишет:

Павел  writes:


See these two examples. They are almost same except angle brackets. In
first example slur behaves correctly, but in second does not.

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( }
 \context Voice = "first" << 4  >>
 \new Voice = "second" { g'8 f'( }
 \context Voice = "second" << e'4)  >>
}

I disagree with that assessment.  Yours is just a complicated way of
writing

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( 4 }
 \new Voice = "second" { g'8 f'( 4) }
}

<< >> places constructs in parallel, here into the same Voice.  The
first line uses an in-chord slur ending which is drawn to a specific
note head, the second line uses a per-Voice slur ending which is drawn
to the whole chord.  e'4) is essentially the same as 4) .





Maybe a bug with slurs

2020-06-07 Thread Павел
See these two examples. They are almost same except angle brackets. In 
first example slur behaves correctly, but in second does not.


\version "2.20.0"
{
    \new Voice = "first" { g'8 f'( }
    \context Voice = "first" << 4  >>
    \new Voice = "second" { g'8 f'( }
    \context Voice = "second" << e'4)  >>
}




Re: Simple scheme function

2020-04-02 Thread Павел Буданов
Amazing, thank you!

чт, 2 апр. 2020 г. в 01:12, Aaron Hill :

> On 2020-04-01 3:04 pm, Павел Буданов wrote:
> > Hello, I'm newbie in scheme. I want to write simple function to
> > octavize
> > melody, but something doesn't works...
> >
> >
> > \version "2.20.0"
> > octavize = #(define-music-function
> > (parser location music) (ly:music?)
> > #{ << #music \transpose c c' #music >> #})
> >
> > music = { c' d' e' f' }
> >
> > \markup "Need:"
> > \new Voice { << \music \transpose c c' \music >> }
> > \markup "Got:"
> > \new Voice { \octavize \music }
>
> This is a case where the $ is needed over #.  The \transpose ... #music
> is changing the value which affects both usage of #music.  Using $music
> in place of either (or both) #music should fix the issue.
>
> Also, parser and location are no longer required to be specified as
> arguments, so you can shorten up the function definition a bit.
>
>
> -- Aaron Hill
>
>


Simple scheme function

2020-04-01 Thread Павел Буданов
Hello, I'm newbie in scheme. I want to write simple function to octavize
melody, but something doesn't works...


\version "2.20.0"
octavize = #(define-music-function
(parser location music) (ly:music?)
#{ << #music \transpose c c' #music >> #})

music = { c' d' e' f' }

\markup "Need:"
\new Voice { << \music \transpose c c' \music >> }
\markup "Got:"
\new Voice { \octavize \music }


\magnifyMusic bug

2020-03-22 Thread Павел Буданов
\magnifyMusic does not affect to new voices (see the example below). If it
is a normal behavior then why \magnifyMusic requires curly braces? It would
be more logical to do this as \voiceOne etc. commands (without curly
braces).

\version "2.20.0"
\relative c' {
   \magnifyMusic 0.5 { c d e f \new Voice { g a b c } }
   \magnifyMusic 0.5 << { e, f g a } \\ { c, d e f } >>
}


musicxml2ly 2.20 bug

2020-03-22 Thread Павел Буданов
I tried to use musicxml2ly from official repository of manjaro linux and
get this output:
Traceback (most recent call last):
  File "/usr/bin/musicxml2ly", line 44, in 
import lilylib as ly
ImportError: No module named lilylib
Then I tried to install lilypond from official cite via shell script. It
gives following output:
  File "./lilypond/usr/bin/musicxml2ly", line 2264
if current_staff and staff <> current_staff and not
n.get_maybe_exist_named_child('chord'):
^
SyntaxError: invalid syntax


Unexpected "Merge_rests_engraver" behavior

2020-03-10 Thread Павел Буданов
See the vertical position of multimeasure rest.

```lilypond
\version "2.19.83"
\new Staff \with { \consists "Merge_rests_engraver" } <<
   { R1 r1 } \\
   { R1 r1 }
>>
```


Specifying a font directly via a path?

2020-02-26 Thread Павел Буданов
How can I specify a font directly via a path?
For example, I want something like this to work:
\override LyricText.font-name = "./fonts/MyFont.otf"


Using "\set associatedVoice" in deferrely created contexts

2019-11-23 Thread Павел Буданов
Hi, I want to automatically align syllables in deferrely created lyrics
context. Why the following example doesn't work?
<<
   \new Staff \new Voice = "voice" { b b b b b b b b b b b b }
   \new Lyrics {
  s1
  \new Lyrics \lyricmode { \set associatedVoice = #"voice" la la la la }
   }
>>
But if you remove the pause, it will work. When using lyricsto, this also
works:
<<
   \new Staff \new Voice = "voice" { b b b b b b b b b b b b }
   \new Lyrics {
  s1
  \new Lyrics \lyricsto "voice" { la la la la }
   }
>>


Full measure rests does not display in partial measure

2019-11-19 Thread Павел Буданов
<<
   { \partial 4*3 b b b b b b b }
   \\
   { R1*3/4 R1 }
>>

How to solve subject problem? I did not find the answer in the archive.


Re: warning message - missing slur

2019-04-13 Thread Павел Буданов
Use the phrasing slurs:
\fixed c' { <<{f4 e8 c8~\( c4 e8( f8) \)}\\{f4 e8 c~ 4~ 4}>> |}
For more information see the slurs page
 in
the learning manual.

вс, 14 апр. 2019 г. в 02:57, MING TSANG :

> Lilyponders:
>
> I have the following lily code:
>
> \version "2.19.83"
> \language "english"
>
>\fixed c' { <<{f4 e8 c8~( c4 e8( f8) )}\\{f4 e8 c~ 4~ 4}>> |}
>
>
> which has the following :
>
>
>
> Starting lilypond-windows.exe 2.19.83 [Untitled]...
>
> Processing
> `C:/Users/YMINGT~1/AppData/Local/Temp/frescobaldi-02as553u/tmpcvsj14ki/
> document.ly'
>
> Parsing...
>
> Interpreting music...
>
>
> C:/Users/YMINGT~1/AppData/Local/Temp/frescobaldi-02as553u/tmpcvsj14ki/document.ly:6:35:
> warning: already have slur
>
> \fixed c' { <<{f4 e8 c8~( c4 e8
>
> ( f8) )}\\{f4 e8 c~ 4~ 4}>> |}
>
> Preprocessing graphical objects...
>
> Finding the ideal number of pages...
>
> Fitting music on 1 page...
>
> Drawing systems...
>
> Layout output to `./tmp-lilypond-KNpEJz'...
>
> Converting to `document.pdf'...
>
> Deleting `./tmp-lilypond-KNpEJz'...
>
> Success: compilation successfully completed
> Completed successfully in 0.9".
>
> [image: Inline image]
> the slur e8( f8) is missing. How can I get the slur printed by lilypond.
>
> original:
> [image: Inline image]
>
> On the above image, slur from e to f necessary.
>
> Thank you,
> Ming
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Simple example with vertical spacing and dynamic contexts

2019-03-18 Thread Павел Буданов
Thank you very much, Ben. If this helps someone, I could use this solution
to adjust the vertical distance of the lyrics:
дꙋй -- \markup { сѧ, \transparent \draw-line #'(0 . -1) }
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Simple example with vertical spacing and dynamic contexts

2019-03-11 Thread Павел Буданов
I found a temporary way to control the vertical spacing in the middle of
the piece. It looks awful, but it works. I still hope that someone will
suggest a more correct way.

\new StaffGroup
<<
   \new Staff
   {
 c' c' c' c' \break
 % Add an invisible very low note to push the staffs.
 c'4*1/2 \once \hideNotes c,8 c'4 c' c'
   }
   \new Staff { c' c' c' c' c' c' c' c' }
>>

вт, 5 мар. 2019 г. в 21:07, Павел Буданов :

> How to control vertical spacing in the middle of a piece?
>
> \new StaffGroup \with
> { \override StaffGrouper.staff-staff-spacing.padding = 10 } % It's OK
> <<
>\new Staff
>{
>  c' c' c' c'
>  \break
>  \override StaffGrouper.staff-staff-spacing.padding = 30 % It isn't
> work
>  c' c' c' c'
>}
>\new Staff { c' c' c' c' c' c' c' c' }
> >>
>
> пт, 1 февр. 2019 г. в 11:41, Павел Буданов :
>
>> It really helped me, I am very grateful to you. Would you like to change
>> the vertical spacing chapter
>> <http://lilypond.org/doc/v2.18/Documentation/learning/vertical-spacing>
>> in the learning manual? You were able to explain a lot of things in plain
>> language.
>>
>> пт, 1 февр. 2019 г. в 05:54, Aaron Hill :
>>
>>> On 2019-01-31 9:11 am, Павел Буданов wrote:
>>> > I've solved this problem partially with for lower contexts, but i
>>> > can't find the necessary properties for upper contexts. Can you help
>>> > me?
>>> >
>>> > \new StaffGroup
>>> > <<
>>> >   \new Dynamics { s2.\< s4\ff }
>>> >   \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }
>>> >   \new Staff \with
>>> >   { \override VerticalAxisGroup.staff-staff-spacing =
>>> > #'((basic-distance . 20) (padding . 0.5)) }
>>> >   { a'4 a' a' a' }
>>> >   \new Staff { d'4 d' d' d' }
>>> >   \new Lyrics \with
>>> >   {
>>> > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
>>> > #'((basic-distance . 10) (padding . 0.5))
>>> > \override VerticalAxisGroup.nonstaff-nonstaff-spacing =
>>> > #'((basic-distance . 10) (padding . 0.5))
>>> >   }
>>> >   \lyricmode { Ly4 -- ric ly -- ric }
>>> >   \new Dynamics { s2.\< s4\ff }
>>> > >>
>>>
>>> Be sure to examine the output of LilyPond for warnings, not just errors:
>>>
>>> > warning: staff-affinities should only decrease
>>>
>>> This is telling you that you need to manually adjust
>>> VerticalAxisGroup.staff-affinity.  By default, Dynamics uses a
>>> staff-affinity of CENTER (0) as it typically appears between two staves,
>>> whereas Lyrics uses UP (1) as it typically appears below a staff.  Your
>>> upper Lyrics context is trying to locate its "relatedstaff" above, but
>>> there is none to be found.  You will need to set its staff-affinity to
>>> DOWN (-1).  (You could leave the two Dynamics contexts set to CENTER
>>> staff-affinity; but it arguably better to also explicitly set them to
>>> UP/DOWN based on where they appear.)
>>>
>>> There is a second issue that unfortunately there is no warning for.  You
>>> are setting basic-distance but not minimum-distance as well.  By
>>> omitting minimum-distance from the spacing alist, you are using the
>>> default value of zero.  LilyPond only attempts to honor basic-distance,
>>> but will collapse down to minimum-distance if needed (and often a little
>>> too eagerly).  If you tried to set only basic-distance for the upper
>>> contexts, you may find that it has no effect.
>>>
>>> It may be easier to see what it going on by only using padding, although
>>> a combination of basic-distance, minimum-distance, padding, and
>>> stretchability is often required to get the most out of the flexible
>>> spacing system.  Consider the following:
>>>
>>> 
>>> \version "2.19.82"
>>>
>>> % Forcibly reset all default spacing variables to zero.
>>> \layout {
>>>\context { \Dynamics
>>>  \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'(())
>>>  \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'(())
>>>  \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing = #'(())
>>>}
>>>\context { \Lyrics
>>>  \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'(())
>>>  \override VerticalAxisGroup.nonstaff-relatedstaff-spaci

Re: Simple example with vertical spacing and dynamic contexts

2019-03-05 Thread Павел Буданов
How to control vertical spacing in the middle of a piece?

\new StaffGroup \with
{ \override StaffGrouper.staff-staff-spacing.padding = 10 } % It's OK
<<
   \new Staff
   {
 c' c' c' c'
 \break
 \override StaffGrouper.staff-staff-spacing.padding = 30 % It isn't work
 c' c' c' c'
   }
   \new Staff { c' c' c' c' c' c' c' c' }
>>

пт, 1 февр. 2019 г. в 11:41, Павел Буданов :

> It really helped me, I am very grateful to you. Would you like to change
> the vertical spacing chapter
> <http://lilypond.org/doc/v2.18/Documentation/learning/vertical-spacing>
> in the learning manual? You were able to explain a lot of things in plain
> language.
>
> пт, 1 февр. 2019 г. в 05:54, Aaron Hill :
>
>> On 2019-01-31 9:11 am, Павел Буданов wrote:
>> > I've solved this problem partially with for lower contexts, but i
>> > can't find the necessary properties for upper contexts. Can you help
>> > me?
>> >
>> > \new StaffGroup
>> > <<
>> >   \new Dynamics { s2.\< s4\ff }
>> >   \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }
>> >   \new Staff \with
>> >   { \override VerticalAxisGroup.staff-staff-spacing =
>> > #'((basic-distance . 20) (padding . 0.5)) }
>> >   { a'4 a' a' a' }
>> >   \new Staff { d'4 d' d' d' }
>> >   \new Lyrics \with
>> >   {
>> > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
>> > #'((basic-distance . 10) (padding . 0.5))
>> > \override VerticalAxisGroup.nonstaff-nonstaff-spacing =
>> > #'((basic-distance . 10) (padding . 0.5))
>> >   }
>> >   \lyricmode { Ly4 -- ric ly -- ric }
>> >   \new Dynamics { s2.\< s4\ff }
>> > >>
>>
>> Be sure to examine the output of LilyPond for warnings, not just errors:
>>
>> > warning: staff-affinities should only decrease
>>
>> This is telling you that you need to manually adjust
>> VerticalAxisGroup.staff-affinity.  By default, Dynamics uses a
>> staff-affinity of CENTER (0) as it typically appears between two staves,
>> whereas Lyrics uses UP (1) as it typically appears below a staff.  Your
>> upper Lyrics context is trying to locate its "relatedstaff" above, but
>> there is none to be found.  You will need to set its staff-affinity to
>> DOWN (-1).  (You could leave the two Dynamics contexts set to CENTER
>> staff-affinity; but it arguably better to also explicitly set them to
>> UP/DOWN based on where they appear.)
>>
>> There is a second issue that unfortunately there is no warning for.  You
>> are setting basic-distance but not minimum-distance as well.  By
>> omitting minimum-distance from the spacing alist, you are using the
>> default value of zero.  LilyPond only attempts to honor basic-distance,
>> but will collapse down to minimum-distance if needed (and often a little
>> too eagerly).  If you tried to set only basic-distance for the upper
>> contexts, you may find that it has no effect.
>>
>> It may be easier to see what it going on by only using padding, although
>> a combination of basic-distance, minimum-distance, padding, and
>> stretchability is often required to get the most out of the flexible
>> spacing system.  Consider the following:
>>
>> 
>> \version "2.19.82"
>>
>> % Forcibly reset all default spacing variables to zero.
>> \layout {
>>\context { \Dynamics
>>  \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'(())
>>  \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'(())
>>  \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing = #'(())
>>}
>>\context { \Lyrics
>>  \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'(())
>>  \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'(())
>>  \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing = #'(())
>>}
>>\context { \Staff
>>  \override VerticalAxisGroup.default-staff-staff-spacing = #'(())
>>  \override VerticalAxisGroup.staff-staff-spacing = #'(())
>>}
>> }
>>
>> \new StaffGroup <<
>>\new Dynamics \with {
>>% Dynamics is above Staff.
>>\override VerticalAxisGroup.staff-affinity = #DOWN
>>% Spacing between this Dynamics and the following Lyrics.
>>\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
>>  #'((padding . 2))
>>  }
>>  { s2.\< s4\ff }
>>\new Lyrics \with {
>>% Lyrics is above Staff.
>>\override VerticalAxisGr

How to decrase the inbeam space

2019-03-02 Thread Павел Буданов
Or is there any command for automatic scaling notes with all elements including beams?___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: A strange behaivor of autobeaming

2019-02-05 Thread Павел Буданов
Thank you for the detailed explanation.

вт, 5 февр. 2019 г. в 13:31, Urs Liska :

>
> Am 04.02.19 um 20:53 schrieb Павел Буданов:
>
> Hello everybody! You can see on the next image, that autobeaming is not
> always correct:
>
> For the sake of experiment, I tried to put this snippet to separate file:
> \scaleDurations 2/3 \relative f,
> {
>\clef bass
>\set subdivideBeams = ##t
>\set baseMoment = #(ly:make-moment 3/16)
>\tuplet 6/6 { b,8 f'16 d' f, d' }
>b' d, f, d' f, b,~
>\repeat unfold 2
>{ b8 f'16 d' f, d' b' d, f, d' f, b,~ }
> }
> And got a different result:
>
> What is the root of this problem?
>
>
> The "root" of the problem is that the code is completely messed up in the
> first place. You don't want to use \scaleDurations here at all, only
> \tuplet, and then "\tuplet 6/6" doesn't make sense at all.
>
> Here's a commented example of what I assume you want to do:
>
> \version "2.21.0"
>
> % No \scaleDurations
> \relative f,
> {
>   \clef bass
>   \set subdivideBeams = ##t
>   % Set the base moment to 1/8 (equals 3/16 in a 3/2 tuplet)
>   \set baseMoment = #(ly:make-moment 1/8)
>   % You want a 6/4 tuplet ("6 instead of 4", "6 instead of 6" doesn't mean 
> anything)
>   % supply the "4" to group tuplets in quarter notes
>   % wrap the \tuplet around the *whole* music (INSTEAD of using 
> \scaleDurations)
>   \tuplet 6/4 4 {
> b,8 f'16 d' f, d'
> % Probably with the 6/6 tuplet around one single group
> % you meant to disable the tuplet number after the first incident.
> \omit TupletNumber
> b' d, f, d' f, b,~
> \repeat unfold 2
> { b8 f'16 d' f, d' b' d, f, d' f, b,~ }
>   }
> }
>
> When it comes to tuplets the automatic beam subdivisions still fail in
> many cases (see
> http://lilypond.org/google-summer-of-code.html#Fix-Beaming-Patterns_002fBeam-Subdivisions-and-Tuplets),
> but this example works quite well.
>
> HTH
> Urs
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


A strange behaivor of autobeaming

2019-02-04 Thread Павел Буданов
Hello everybody! You can see on the next image, that autobeaming is not always correct:For the sake of experiment, I tried to put this snippet to separate file:\scaleDurations 2/3 \relative f,{   \clef bass   \set subdivideBeams = ##t   \set baseMoment = #(ly:make-moment 3/16)   \tuplet 6/6 { b,8 f'16 d' f, d' }    b' d, f, d' f, b,~   \repeat unfold 2   { b8 f'16 d' f, d' b' d, f, d' f, b,~ }}And got a different result:What is the root of this problem?___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Simple example with vertical spacing and dynamic contexts

2019-02-01 Thread Павел Буданов
It really helped me, I am very grateful to you. Would you like to change
the vertical spacing chapter
<http://lilypond.org/doc/v2.18/Documentation/learning/vertical-spacing> in
the learning manual? You were able to explain a lot of things in plain
language.

пт, 1 февр. 2019 г. в 05:54, Aaron Hill :

> On 2019-01-31 9:11 am, Павел Буданов wrote:
> > I've solved this problem partially with for lower contexts, but i
> > can't find the necessary properties for upper contexts. Can you help
> > me?
> >
> > \new StaffGroup
> > <<
> >   \new Dynamics { s2.\< s4\ff }
> >   \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }
> >   \new Staff \with
> >   { \override VerticalAxisGroup.staff-staff-spacing =
> > #'((basic-distance . 20) (padding . 0.5)) }
> >   { a'4 a' a' a' }
> >   \new Staff { d'4 d' d' d' }
> >   \new Lyrics \with
> >   {
> > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
> > #'((basic-distance . 10) (padding . 0.5))
> > \override VerticalAxisGroup.nonstaff-nonstaff-spacing =
> > #'((basic-distance . 10) (padding . 0.5))
> >   }
> >   \lyricmode { Ly4 -- ric ly -- ric }
> >   \new Dynamics { s2.\< s4\ff }
> > >>
>
> Be sure to examine the output of LilyPond for warnings, not just errors:
>
> > warning: staff-affinities should only decrease
>
> This is telling you that you need to manually adjust
> VerticalAxisGroup.staff-affinity.  By default, Dynamics uses a
> staff-affinity of CENTER (0) as it typically appears between two staves,
> whereas Lyrics uses UP (1) as it typically appears below a staff.  Your
> upper Lyrics context is trying to locate its "relatedstaff" above, but
> there is none to be found.  You will need to set its staff-affinity to
> DOWN (-1).  (You could leave the two Dynamics contexts set to CENTER
> staff-affinity; but it arguably better to also explicitly set them to
> UP/DOWN based on where they appear.)
>
> There is a second issue that unfortunately there is no warning for.  You
> are setting basic-distance but not minimum-distance as well.  By
> omitting minimum-distance from the spacing alist, you are using the
> default value of zero.  LilyPond only attempts to honor basic-distance,
> but will collapse down to minimum-distance if needed (and often a little
> too eagerly).  If you tried to set only basic-distance for the upper
> contexts, you may find that it has no effect.
>
> It may be easier to see what it going on by only using padding, although
> a combination of basic-distance, minimum-distance, padding, and
> stretchability is often required to get the most out of the flexible
> spacing system.  Consider the following:
>
> 
> \version "2.19.82"
>
> % Forcibly reset all default spacing variables to zero.
> \layout {
>\context { \Dynamics
>  \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'(())
>  \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'(())
>  \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing = #'(())
>}
>\context { \Lyrics
>  \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'(())
>  \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'(())
>  \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing = #'(())
>}
>\context { \Staff
>  \override VerticalAxisGroup.default-staff-staff-spacing = #'(())
>  \override VerticalAxisGroup.staff-staff-spacing = #'(())
>}
> }
>
> \new StaffGroup <<
>\new Dynamics \with {
>% Dynamics is above Staff.
>\override VerticalAxisGroup.staff-affinity = #DOWN
>% Spacing between this Dynamics and the following Lyrics.
>\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
>  #'((padding . 2))
>  }
>  { s2.\< s4\ff }
>\new Lyrics \with {
>% Lyrics is above Staff.
>\override VerticalAxisGroup.staff-affinity = #DOWN
>% Spacing between this Lyrics and the following Staff.
>\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
>  #'((padding . 3))
>  }
>  \lyricmode { Ly4 -- ric ly -- ric }
>\new Staff \with {
>% Spacing between this Staff and the following Staff.
>\override VerticalAxisGroup.staff-staff-spacing =
>  #'((padding . 5))
>  }
>  { a'4 a' a' a' }
>\new Staff { d'4 d' d' d' }
>\new Lyrics \with {
>% Lyrics is below Staff.
>\override VerticalAxisGroup.staff-affinity = #UP
>% Spacing between this Lyrics and the preceding Staff.
>\override VerticalAxisGroup.nonstaff-relatedstaff-spac

Re: Simple example with vertical spacing and dynamic contexts

2019-01-31 Thread Павел Буданов
I've solved this problem partially with for lower contexts, but i can't find the necessary properties for upper contexts. Can you help me? \new StaffGroup<<  \new Dynamics { s2.\< s4\ff }  \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }  \new Staff \with  { \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 20) (padding . 0.5)) }  { a'4 a' a' a' }  \new Staff { d'4 d' d' d' }  \new Lyrics \with  {    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 10) (padding . 0.5))    \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((basic-distance . 10) (padding . 0.5))  }  \lyricmode { Ly4 -- ric ly -- ric }  \new Dynamics { s2.\< s4\ff }>>  30.01.2019, 13:58, "Павел Буданов" :Hello! I am completely confused. Could you show how to adjust the vertical spaces between all contexts in this example? \new StaffGroup<<  \new Dynamics { s2.\< s4\ff }  \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }  \new Staff { a'4 a' a' a' }  \new Staff { d'4 d' d' d' }  \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }  \new Dynamics { s2.\< s4\ff }>>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Simple example with vertical spacing and dynamic contexts

2019-01-30 Thread Павел Буданов
Hello! I am completely confused. Could you show how to adjust the vertical spaces between all contexts in this example? \new StaffGroup<<  \new Dynamics { s2.\< s4\ff }  \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }  \new Staff { a'4 a' a' a' }  \new Staff { d'4 d' d' d' }  \new Lyrics \lyricmode { Ly4 -- ric ly -- ric }  \new Dynamics { s2.\< s4\ff }>>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: The lyrics under the dynamics.

2019-01-28 Thread Павел Буданов
It's magnificent! Thank you very much!29.01.2019, 02:03, "Valentin Villenave" :On 1/28/19, Павел Буданов <budanovpa...@yandex.ru> wrote: Hello everybody! I want to put the lyrics under the dynamics. What is the best way to do this?Greetings,you probably need to add a Dynamics context above your staff and yourlyrics. You can fill this context by typing all your dynamics in it,with spacer rests for example:\new Dynamics { s1\p s1\< s1\! }… Or if you have already entered all your dynamics with the notes, youcan just prevent them from being printed below (or above) the staff byremoving the engraver linked to your Voice, and just use the samemusic in the Dynamics context (where the notes won’t be printed, onlythe dynamics). Here’s an example:%%%music = {b1\< b\> b\p}<<  \new Dynamics \music  \new Staff = "staff" \music  \addlyrics {\set Lyrics . alignAboveContext = "staff"bla bla bla  }\layout {  \context {\Voice\remove Dynamic_engraver  }  \context {\Dynamics\remove Script_engraver\remove Text_engraver  }}%%%Cheers and good luck!V.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


The lyrics under the dynamics.

2019-01-28 Thread Павел Буданов
Hello everybody! I want to put the lyrics under the dynamics. What is the best way to do this? ___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Organization of the piese part by part, not staff by staff

2019-01-11 Thread Павел Буданов
Thank you for the answers. I learned everything I needed11.01.2019, 03:37, "Saul Tobin" :Fundamentally, the data model of Lilypond is horizontal, even when you delve into the guts of how the program works (iterators, streams, engravers). My advice is to embrace that and adapt your workflow and thinking to take advantage of Lilypond's strengths, rather than fighting against it.In my experience composing with Lilypond, dividing pieces into sections like this leads to more pain later on if I decide I want something like an overlapping hairpin between the sections. Yeah, it's a little annoying to count bars in each part if I decide to add a measure or change a time signature, but it's not that big a deal if you use barchecks and one measure per line of code.Having a single variable for the music for each part to be extracted makes a lot of sense, since it keeps the composer in the mindset of what each player will be seeing.My two cents.On Thu, Jan 10, 2019 at 4:03 PM Valentin Villenave <valen...@villenave.net> wrote:On 1/10/19, Павел Буданов <budanovpa...@yandex.ru> wrote:
> And I will add this music to score block:
> \refren \bar "||" \episodeA \refren \episodeB
> Is this case possible? If so, how to implement it correctly, where is the
> documentation written about it?

Greetings Pavel,
at its heart, LilyPond very much encourages «horizontal thinking»:
it’s easier to enter one melodic voice, then another, then another.

However, there are a few ways to enter music section by section like
what you’re looking for. The first one is to use \context Staff (which
can re-use an existing Staff rather than create a \new one every
time):

%%%

FirstSection = <<
  \context Staff = "voice" \relative c' {
    c2 d e1
  }
  \context PianoStaff = "piano" <<
    \context Staff = "right" \relative c' {
      2  1
    }
    \context Staff = "left" \relative c {
      \clef bass
      e2 b c1
    }
  >>
>>

SecondSection = <<
  \context Staff = "voice" \relative c' {
    a'2 f4 a g1
  }
  \context PianoStaff = "piano" <<
    \context Staff = "right" \relative c' {
      2   q
    }
    \context Staff = "left" \relative c {
      \clef bass
      f,4 g a b c2 c
    }
  >>
>>

\score {
  {
    \FirstSection
    \bar "||"
    \SecondSection
  }
}

%

The second trick you may be interested in learning, is \parallelMusic
(which allows you to enter polyphonic music with every voice at once).
Have a look at this chapter:
http://lilypond.org/doc/stable/Documentation/notation/multiple-voices#writing-music-in-parallel

Good luck!

V.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Organization of the piese part by part, not staff by staff

2019-01-10 Thread Павел Буданов
Hello everybody!This case is usually used: we are instancing staffs, voices and putting notes into them. This is simply example:\new GrandStaff << \new Staff \rightHand  \new Staff \leftHand>>But I want to organizate the piece in other case. For example, I want to engrave any rondo. In first, I will instancing staff structure and write initialing:\new GrandStaff <<  \new Staff { \key c \minor ... } \new Staff { \clef bass \key c \minor ... }>>Then I declare the variables with music:refren = <<  \relative c'' { g8 c e es4. f8 d4. es8 c2 }  \relative { r8 r4 c8 es g c c, f g b c, }>>episodeA = <<  ... >>episodeB = <<  ... >>And I will add this music to score block:\refren \bar "||" \episodeA \refren \episodeBIs this case possible? If so, how to implement it correctly, where is the documentation written about it? Sorry for my bad english.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Incorrect behavior of lyrics aligned to nullvoice

2019-01-09 Thread Павел Буданов
Thank you, Tyler. Sorry, my previous reply, I accidentally sent only Trevor. Your solution works good in version 2.18.2. But on the advice of Trevor, I downloaded version 2.19.82 and in it my example compiles well without any changes.09.01.2019, 08:47, "Tyler Mitchell" :On Tue, Jan 08, 2019 at 04:49:21PM +0300, Павел Буданов wrote: Hello everyone! Look for my example from Bach's chorale. Syllable positioning is incorrect where is the second between soprano and alto. Can you help me?   sopranonotes = \relative c'' { a g2 f4 } altonotes = \relative c'' { g8[ f] f[( e16 d] e4) c } aligner = \relative c'' { a8[ a] g( g16 g g8 g) f4 } lyric = \lyricmode { Weh -- kla -- gen, } \new Staff <<   \clef mezzosoprano   \new Voice { \voiceOne \sopranonotes }   \new Voice { \voiceTwo \altonotes }   \new NullVoice = "aligner" { \autoBeamOff \aligner }   \new Lyrics \lyricsto "aligner" { \lyric } >>I'm not exactly sure what positioning you're looking for -- I thinkthe usual way to handle this case is to put the lyrics with theSoprano voice.Maybe you want the left-alignment of the melismas to match thesoprano line, in which case you do:sopranonotes = \relative c'' { a g2 f4 }altonotes = \relative c'' { g8[ f] f[( e16 d] e4) c }aligner = \relative c'' { a8[ a] g( g16 g g8 g) f4 }lyric = \lyricmode { Weh -- kla -- gen, }\new Staff<<  \clef mezzosoprano  % Put the "aligner" voice first:  \new NullVoice = "aligner" { \autoBeamOff \aligner }  \new Voice { \voiceOne \sopranonotes }  \new Voice { \voiceTwo \altonotes }  \new Lyrics \lyricsto "aligner" { \lyric }The order of the voices is important.If that's not what you want, please describe what is wrong with thepositioning.Cheers,Tyler___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Incorrect behaivor of lyrics aligned to nullvoice

2019-01-08 Thread Павел Буданов
Hello everyone!Look for my example from Bach's chorale. Syllable positioning is incorrect where is the second between soprano and alto. Can you help me? sopranonotes = \relative c'' { a g2 f4 }altonotes = \relative c'' { g8[ f] f[( e16 d] e4) c }aligner = \relative c'' { a8[ a] g( g16 g g8 g) f4 }lyric = \lyricmode { Weh -- kla -- gen, }\new Staff<<  \clef mezzosoprano  \new Voice { \voiceOne \sopranonotes }  \new Voice { \voiceTwo \altonotes }  \new NullVoice = "aligner" { \autoBeamOff \aligner }  \new Lyrics \lyricsto "aligner" { \lyric }>>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user