MING TSANG | 20 Dec 00:30 2014

Re: \change staff

Abraham
Thank you. It works on v2.19.15 as well.
Immanuel,
Ming


On Friday, December 19, 2014 11:01 AM, "lilypond-user-request <at> gnu.org" <lilypond-user-request <at> gnu.org> wrote:




  1. Re:\change staff (tisimst)
  
Message: 1
Date: Fri, 19 Dec 2014 07:33:36 -0700 (MST)
From: tisimst <tisimst.lilypond <at> gmail.com>
To: lilypond-user <at> gnu.org
Subject: Re: \change staff
Message-ID: <1418999603.9483.1 <at> smtp.gmail.com>
Content-Type: text/plain; charset="us-ascii"

Try this. I know there are multiple ways for doing this (like changing
beam-knee-length, or whatever), but it's a quick hack that works (sorry
it's for 2.18.2, but I think you can convert it back):

%<-------------- SNIP -----------------

\version "2.18.2"
\language "english"
right = {
  \time 4/4 \key ef\major
  r4 af16 c' ef' af' <bf ef'g>8 ef' <af c' ef' af'> ef' |%m52
  <bf ef' f' g'>1 |%m53
  s2. \bar"|." %m54         
}

left = {
  \time 4/4 \key ef\major
  af,8 ef ~ ef4 g,4 f |
  ef,16 bf, ef f
  \once \override Beam.positions = #'(4.25 . 5.75)
  \stemUp g bf \change Staff = "right" \stemDown ef' f'
  \stemNeutral g' bf' ef'' f'' <g' bf' ef'' f'' g''>4~\arpeggio |
  << {q2.} \new Voice { \change Staff ="left" r2 r4 } >> \bar"|."
%m52-54
}

\score {
  \new PianoStaff \with {
    instrumentName = "Pno."
    shortInstrumentName = "Pno."
  } <<
    \new Staff = "right" \with {
      midiInstrument = "acoustic grand"
    } \right
    \new Staff = "left" \with {
      midiInstrument = "acoustic grand"
    } { \clef bass \left }
  >>
  \layout { }
  \midi { }
}

%<-------------- SNIP -----------------

HTH,
Abraham

On Fri, Dec 19, 2014 at 7:18 AM, MING TSANG [via Lilypond]
<ml-node+s1069038n169515h74 <at> n5.nabble.com> wrote:
> Dear ponders,
>
> I am having hard time to code lilypond to produce the original score:
> 1.  \change staff did not produce the same as the original
> 2.  how to code the last bar
>
> Thanks in advance.
>
> Immanuel,
> Ming.
>
>
>
>
> _______________________________________________
> lilypond-user mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>  2014-12-18_222720_original.png (364K) Download Attachment
>  2014-12-18_223006_lilycode.png (18K) Download Attachment
>  test_change-staff.ly (1K) Download Attachment
>
>
> If you reply to this email, your message will be added to the
> discussion below:
> http://lilypond.1069038.n5.nabble.com/change-staff-tp169515.html
> To start a new topic under User, email
> ml-node+s1069038n3h2 <at> n5.nabble.com
> To unsubscribe from Lilypond, click here.
> NAML





_______________________________________________
lilypond-user mailing list
lilypond-user <at> gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Andrew Levine | 19 Dec 19:51 2014
Picon

animated SVG + MIDI

Hello! I am very interested in using the point-and-click feature available for SVG output (-dbackend=svg on the command line). This causes the SVG to record the "origin" of each note head in the source file, something like "source.ly:22:10:11", meaning the note's circle in the SVG was defined in source.ly line 22 char 10.
What I would like to do is generate a text file recording this same origin information for note on events in the MIDI file that's generated alongside the SVG by Lilypond. I am trying to make interactive SVG's online that highlight the current note when it's being played on audio. Given a note head with origin = X and a MIDI note-on event with the same origin, I can highlight note heads given a current playback time in the MIDI. Does anyone have any pointers on where & how to go about generating this text file with MIDI origin info?

Regards,
Andrew Levino
_______________________________________________
lilypond-user mailing list
lilypond-user <at> gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Big Noise | 19 Dec 17:50 2014
Picon
Picon

Re: How to position a markup on top of the system?

Hi Wim,

in your markup command, add those two lines:

\with-dimensions #'(0 . 0) #'(0 . 0)

\translate #'(0 . -5)

so the whole example now looks like this:

% -------------------------------------------------------------------

\version "2.18.0"

% an arrow used to signal low play:
achtvabassaarrow = \markup {
   \hspace #1
   % \vspace #15    % see description problem
   \fontsize #5
   \with-dimensions #'(0 . 0) #'(0 . 0)
   \translate #'(0 . -5)
   \center-column {
     \combine
     \draw-line #'(0 . 4)
     \arrow-head #Y #DOWN ##f
   }
}

problem = \relative f {
   \time 5/4
   \set Staff.ottavation = #"8vb"    % 8va bassa in second player
   \once \override Staff.OttavaBracket.direction = #DOWN

   %to position the arrow nicely:
   %\once \override TextScript.Y-offset = #-6    % see description problem
   r4^\achtvabassaarrow g'16 fis g fis g fis e fis g g fis8~ fis4 |

}

\score {
   \problem
   \layout {
     #(layout-set-staff-size 15)
   }
}

% -------------------------------------------------------------------

... hope this helps.

Cheers,
Klaus
Wim van Dommelen | 19 Dec 17:00 2014
Picon

How to position a markup on top of the system?

Hi,

I’m trying to position an arrow on the system, please see the added .PNG for what the composer originally wrote down on paper.

I tried the following code in Lilypond. All irrelevant noise removed, this compiles correctly:

\version "2.18.0"

% an arrow used to signal low play:
achtvabassaarrow = \markup {
\hspace #1
\vspace #15 % see description problem
\fontsize #5
\center-column {
   \combine
   \draw-line #'(0 . 4)
   \arrow-head #Y #DOWN ##f
}
   }

problem = \relative f {
\time 5/4
\set Staff.ottavation = #"8vb" % 8va bassa in second player
\once \override Staff.OttavaBracket.direction = #DOWN

%to position the arrow nicely:
\once \override TextScript.Y-offset = #-6 % see description problem
r4^\achtvabassaarrow g'16 fis g fis g fis e fis g g fis8~ fis4 |

}

\score {
    \problem
    \layout {
#(layout-set-staff-size 15)
    }
}

Changing the Y-offset moves the object but it keeps on flipping on top or below the system lines. I want on to be just there, as an overlay. Changing the vspace in the markup item changes the item and indeed “moves” it, but because of the bounding box I cannot get it on top.

What is the easiest method to do mimic the attached PNG example?

Regards,
Wim.




_______________________________________________
lilypond-user mailing list
lilypond-user <at> gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
MING TSANG | 19 Dec 04:40 2014

\change staff

Dear ponders,

I am having hard time to code lilypond to produce the original score:
1.  \change staff did not produce the same as the original
2.  how to code the last bar

Thanks in advance.

Immanuel,
Ming.



Attachment (test_change-staff.ly): text/lilypond-source, 1160 bytes
_______________________________________________
lilypond-user mailing list
lilypond-user <at> gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
William Marchant | 19 Dec 01:03 2014
Picon

Ties

I am using the tilde to tie notes together to match the words.  I get the following error:

/tmp/frescobaldi-R8ynF5/tmpl9Xudz/IfTouKnewSusie.ly:13:4: warning: unterminated tie

a4~ g2 e4 |

p, li { white-space: pre-wrap; } 
The engraving comes out ok.  But the log is littered with errors.  How can I avoid this problem please?

Bill
_______________________________________________
lilypond-user mailing list
lilypond-user <at> gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Jesus Arocho | 17 Dec 17:28 2014
Picon
Picon

Kubuntu GCC compile with guile 2

I cannot compile with guile 2.  I did confirm that I can compile successfully 
with 1.8, but then gnucash breaks.

Is this failure to compile with guile 2 libraries general or for most people?  
At least that is what I gathered from searching for information on the 
failure.  If so, could the references to compiles with > 1.8 be removed?
Jay Anderson | 17 Dec 06:31 2014
Picon

Adding \noPageBreak Programatically

I'm putting in some text before a score and I don't want a page break
between them. I know how to do this manually. Here's an example:

===================================================
\version "2.19.15"

\book
{
  \markup "fill some space"
  \score
  {
    \new Staff \relative c'
    {
      \repeat unfold 13 {c1 | \break}
    }
    \layout
    {
      ragged-right = ##t
    }
  }
  \markup "Keep with next"

  \noPageBreak %%%%%%% <----  What I want to do programatically.

  \score
  {
    \new Staff \relative c'
    {
      c1 |
    }
    \layout
    {
      ragged-right = ##t
    }
  }
}
===================================================

I want to do this programatically. Something like this:
===================================================
\version "2.19.15"

makeStuff =
#(define-void-function (parser loc) ()
  (add-text parser #{\markup "fill some space" #})
  (add-score parser #{
    \score
    {
      \new Staff \relative c'
      {
        \repeat unfold 13 {c1 | \break}
      }
      \layout
      {
        ragged-right = ##t
      }
    }
  #})
  (add-text parser #{\markup "Keep with next"#})
  ; This doesn't work:
  (add-score parser #{ \noPageBreak #})
  (add-score parser #{
    \score
    {
      \new Staff \relative c'
      {
        c1 |
      }
      \layout
      {
        ragged-right = ##t
      }
    }
  #}))

\makeStuff
===================================================

Unfortunately I can't get the \noPageBreak to work here. Any ideas on
the difference? Thanks.

-----Jay
Urs Liska | 16 Dec 17:25 2014

edition-engraver and partcombine

Hi all,

I have problems getting the edition-engraver to run properly, but I 
think the underlying issue is general enough so others may help too.
Well, initially it went quite well, but now I see a problem with the 
partcombiner.

IISC the edition engraver accesses the voices *after* the partcombiner 
does his job (I think so because the partcombiner merges voices when the 
input is parsed (???) while the edition-engraver works when for example 
the measure numbers are already known). So it is clear that I can't 
access individual voices that have been merged to \partcombineChords. 
And I think I can't address the original music variables independently 
either.

But that's not what I'm writing for.
I banged my head against the wall because the edition engraver didn't 
seem to be able to access the voices anymore in a given context, all 
that worked was addressing the staff (which proves that the basic set-up 
is correct).
Now I realized that the edition engraver produces a log file, and that 
gave me the clue to why the addressing didn't work anymore (although not 
about the underlying reason).
It seems LilyPond created new voices implicitly along the way of the 
piece, and therefore I'd have to address them not by "Voice.A" anymore 
but by "Voice.B" or ".G" etc.

 From the measure numbers in the log I see that the spawning of new 
Voices is related to the partcombiner.
Basically my score works by concatenating music variables to each 
"part". But here I experiment with temporary part combinations.
There are four violoncello parts, originally engraved on individual 
staves. The idea is for selected sections to temporarily merge voices on 
fewer staves because that's musically clearer. So (pseudo-code) 
violoncelloI may look like

vc = {
   \one
   \two
   \partcombine
     \threeI
     \threeII
   \four
}

I have the impression that LilyPond creates a whole set of new voices 
when the \partcombine section happens, and this is what makes the voice 
list for that staff go up to "V" in the attached log.

So I think in order to get that to work smoothly I'd need either of the 
following solutions:

- talk LilyPond into not starting new Voices each time (or at least 
reusing old voices)
- enable the edition-engraver to address voices by their name instead of 
their index
   (I think the voice names stay the same in the partcombiner)

Any ideas would be greatly appreciated.
Urs
Urs Liska | 16 Dec 09:55 2014

ly:parser-parse-string and relative includes

Hi all,

am I right that including a file through

(ly:parser-parse-string (ly:parser-clone parser) "
            \\include \"12.ily\"")

is different from directly including it through \include
in that the way through ly:parser-parse-string doesn't use relative 
includes?

That means in the example "12.ily" would be searched in the directory of 
the *originally compiled* file and in the directories in the include 
path, but not in the directory of the file from where 
ly:parser-parse-string is called.

Any hints?

TIA
Urs
Martin Tarenskeen | 16 Dec 00:50 2014
Picon

2.19.16 ?


Hi,

Unstable release 2.19.15 has been around for a few months now. Is it 
good news or bad news that we haven't seen a 2.19.16 release since then?

Just interested what's happening behind the developers screens.

--

-- 

MT

Gmane