Rather involved TextSpanner edge-text Scheme markup question

2006-09-18 Thread Trevor Bača

Hi,

I'm trying to get the edge text of a series of consecutive
TextSpanners to vertically align according to baseline.

I've pasted in a sequence of ever-closer steps but beware that the
post is long. If you're not interested in markup, skip to the next
thread.

Here's what I'm starting out with, in snippet 1: three different
TextSpanner layers.

%%% EDGE TEXT SNIPPET 1 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter a )  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter b
) (markup #:hcenter c))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons (markup (#:hcenter d))  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter e
) (markup #:hcenter f))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter g )  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter h
) (markup #:hcenter i))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }




%%% END EDGE TEXT SNIPPET 1 %%%

This snippet 1 shows Lily's default behavior; it's less than optimal
because all the edge text *top aligns* rather than aligning by
baseline, which results not only in non-ideally aligned text but also
in uneven spanners, which is bad.


I asked a similar question about baseline alignment about TextScript
in this thread ...

  http://lists.gnu.org/archive/html/lilypond-user/2006-09/msg00037.html

... and Kieren helpfully pointed to the workaround of using a fake
character to force alignment.

Here's an example with a fake l following edge bit of edge text.
I've left the character visible so that it's easier to see what's
going on. Notice that the results are better, but now there's the
problem that some pieces of edge text *descend* too far.

%%% EDGE TEXT ALIGNMENT SNIPPET 2 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter al)  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
bl) (markup #:hcenter cl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons (markup (#:hcenter dl))  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
el) (markup #:hcenter fl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter gl)  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
hl) (markup #:hcenter il))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }




%%% END EDGE TEXT ALIGNMENT SNIPPET 2 %%%



So, since descenders are the problem (like in the g), we can carry
the fake-character workaround a step further and add not only the fake
l but also a fake g in snippet 3.

%%% BEGIN EDGE TEXT ALIGNMENT SNIPPET 3 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter gal)  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
gbl) (markup #:hcenter gcl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons (markup (#:hcenter gdl))  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
gel) (markup #:hcenter gfl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter ggl)  )
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons 

Re: How to break timing coordination between my ossia and main staffs?

2006-09-18 Thread Mats Bengtsson

I hope you have read the section on Polymetric notation. It shows several
methods to modify the synchronization between staves.

Yet another alternative is to use ^\markup{\score{...}}

  /Mats

Rick Hansen (aka RickH) wrote:

I'm using a user-created staff context to accepts ossia notes mid-stream
(see OssiaUnsynchronized below).

I have a piece where my ossia length will have a different number of
measures than the main staff (more or fewer).  So for example if the ossia
passage has 2 measures to the main staffs 1 measure I would like the ossia
and main staffs to be oblivious to each others timing but each staff still
know its own timing.  Below is an example where I would want to see a 2
measure ossia spread under the main score freely (IOW I dont want it to add
the blank measure to the main staff):

How can I make my ossia context totally oblivious to the timing that is
going on in the main score?  So that the ossia does it's own thing and the
main staff does it's own thing measure-wise.

I tried some hacking but still could not get what I wanted.

Eventually I want my template to have 2 different kind of ossia contexts
(see OssiaUnsynchronized and OssiaSynchronized below), one with coordinated
timing (OssiaSynchronized) and one that is free form and ignores the main
staff timing (OssiaUnsynchronized the object of my question).  The latter
should simply render a chunk of music without affecting the main staff at
all (my how-to question).



Thanks for any help, the example below will run as-is:.


%EXAMPLE BEGIN

\version 2.9.17
\include english.ly

% Music file

myMusic = \relative c'' {
| e4 e e e
%\set timing = ##f
 { a b c d } \context OssiaUnsynchronized { a b c d d c b a } 
%\set timing = ##t
| b b b b
}

% Template file

\score {

   \myMusic

   \layout {
  \context { \Score
 \remove Span_bar_engraver
 \override SpanBar #'break-visibility = #center-invisible
 \remove   System_start_delimiter_engraver
 \accepts  OssiaUnsynchronized
 \accepts  OssiaSynchronized
  }

  \context { \Staff
 \name OssiaUnsynchronized
 \remove Clef_engraver
 \remove Time_signature_engraver
 \remove Key_engraver
 \remove Timing_translator
  }

  \context { \Staff
 \name OssiaSynchronized
 \remove Clef_engraver
 \remove Time_signature_engraver
 \remove Key_engraver
  }
   }

}


% EXAMPLE END



  


--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
   Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=



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


Re: Rather involved TextSpanner edge-text Scheme markup question

2006-09-18 Thread Mats Bengtsson

I expected something like
(markup #:pad-to-box '(0 . 0) '(-2 . 2) f)
to solve the problem, but apparently it doesn't.

If you want to pursue your current approach, try the \combine markup command
(and try it first without your current #:hcenter commands, they caused 
me some

confusing results).

  /Mats

Trevor Bača wrote:

Hi,

I'm trying to get the edge text of a series of consecutive
TextSpanners to vertically align according to baseline.

I've pasted in a sequence of ever-closer steps but beware that the
post is long. If you're not interested in markup, skip to the next
thread.

Here's what I'm starting out with, in snippet 1: three different
TextSpanner layers.

%%% EDGE TEXT SNIPPET 1 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter a 
)  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter b
) (markup #:hcenter c))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons (markup (#:hcenter 
d))  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter e
) (markup #:hcenter f))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter g 
)  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter h
) (markup #:hcenter i))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }




%%% END EDGE TEXT SNIPPET 1 %%%

This snippet 1 shows Lily's default behavior; it's less than optimal
because all the edge text *top aligns* rather than aligning by
baseline, which results not only in non-ideally aligned text but also
in uneven spanners, which is bad.


I asked a similar question about baseline alignment about TextScript
in this thread ...

  http://lists.gnu.org/archive/html/lilypond-user/2006-09/msg00037.html

... and Kieren helpfully pointed to the workaround of using a fake
character to force alignment.

Here's an example with a fake l following edge bit of edge text.
I've left the character visible so that it's easier to see what's
going on. Notice that the results are better, but now there's the
problem that some pieces of edge text *descend* too far.

%%% EDGE TEXT ALIGNMENT SNIPPET 2 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter 
al)  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
bl) (markup #:hcenter cl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons (markup (#:hcenter 
dl))  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
el) (markup #:hcenter fl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter 
gl)  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
hl) (markup #:hcenter il))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }




%%% END EDGE TEXT ALIGNMENT SNIPPET 2 %%%



So, since descenders are the problem (like in the g), we can carry
the fake-character workaround a step further and add not only the fake
l but also a fake g in snippet 3.

%%% BEGIN EDGE TEXT ALIGNMENT SNIPPET 3 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter 
gal)  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons (markup #:hcenter
gbl) (markup #:hcenter gcl))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons (markup (#:hcenter 
gdl))  )

 s8 \startTextSpan
 \override TextSpanner #'edge-text 

Re: Rather involved TextSpanner edge-text Scheme markup question

2006-09-18 Thread Markus Schneider
Hi Trevor,

you may try to use the fake letter f. It has all the necessary ascenders
and descenders to fake the basline. I use this with dynamics.

pX = #(make-dynamic-script (markup #:combine #:transparent #:dynamic f
#:line(#:hspace 0 #:dynamic p #:hspace 0)))

HTH
Markus





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


Re: Rather involved TextSpanner edge-text Scheme markup question

2006-09-18 Thread Markus Schneider
I forgot: more importantly, use \combine to print the markups on top of each
other. That may take care of your horizontal space problem.

Markus

Markus Schneider [EMAIL PROTECTED] schrieb im Newsbeitrag
news:[EMAIL PROTECTED]
 Hi Trevor,

 you may try to use the fake letter f. It has all the necessary ascenders
 and descenders to fake the basline. I use this with dynamics.

 pX = #(make-dynamic-script (markup #:combine #:transparent #:dynamic
f
 #:line(#:hspace 0 #:dynamic p #:hspace 0)))

 HTH
 Markus





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


Re: Lilypond + LaTex (on Mac)

2006-09-18 Thread nicola
In article [EMAIL PROTECTED],
 Walter Hofmeister [EMAIL PROTECTED] wrote:

 On 9/17/06 4:18 AM, nicola [EMAIL PROTECTED] wrote:
 
  Hi,
  I have written a very simple Lilypond engine for TeXShop, which you may
  find here:
  
  http://www.dimi.uniud.it/vitacolo/freesoftware.html
  
  Maybe this can help.
  
  Regards
  Nicola
  
  In article [EMAIL PROTECTED],
   Michael J Millett [EMAIL PROTECTED] wrote:
  
 Thanks for this Nicola. I have gotten the engine to work here but everytime
 it runs, it wants to rebuild the font cache. Is there a way to prevent this
 as it adds considerable time to each compile.
 
 Walter Hofmeister

I am not much confident about that topic, so others may help you 
better... Anyway, have you tried to typeset a file with the Lilypond 
application itself? I remember that the first compilation takes longer 
because the app does some stuff with fonts.

If, instead, you refer to the many warnings about fonts, e.g.

dvips: Font CenturySchL-Ital used in file lily-777315663-1.eps is not in 
the mapping file,

that should be normal behaviour (as explained in Ch. 13 of the Lilypond 
2.9.7 documentation). Otherwise, can you post the troubling messages?

Regards
Nicola



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


Re: problem with line breaking with polyrhythm

2006-09-18 Thread Thies Albrecht
Hi again!

 From my point of view there is little chance for a workaround. :-(
Okay... I admit it was a little late...

Try this workaround

   \score {
  
 \new Staff {   
\time 4/4
a4 a4 \bar  \break a4 a4
 }

 \new Staff {
\times 4/5 {
   a4 a4 a4*1/2 s4*1/2 a4 a4
 }
  }
   
   }

Kind regards,
Thies
-- 
Feel free - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail


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


Re: hyphens and spacing lyrics

2006-09-18 Thread Jan Janovcik
Hi, is there any way to make sure that lyrics do avoid bar lines BUT the 
hyphens won't disappear?

Jan Janovcik




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


Fw: hyphens and spacing lyrics

2006-09-18 Thread Jan Janovcik
- Forwarded Message 
From: Jan Janovcik [EMAIL PROTECTED]
To: lilypond-user@gnu.org
Sent: Monday, September 18, 2006 2:01:09 PM
Subject: Re: hyphens and spacing lyrics


Hi, is there any way to make sure that lyrics do avoid bar lines BUT the 
hyphens won't disappear?

Jan Janovcik


Stupid me, sorry for the error. What I had in mind was:

is there any way to make sure that lyrics do avoid bar lines AND the hyphens do 
disappear?

:-)




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


Re: Rather involved TextSpanner edge-text Scheme markup question

2006-09-18 Thread Han-Wen Nienhuys

Mats Bengtsson wrote:

I expected something like
(markup #:pad-to-box '(0 . 0) '(-2 . 2) f)
to solve the problem, but apparently it doesn't.

If you want to pursue your current approach, try the \combine markup 
command
(and try it first without your current #:hcenter commands, they caused 
me some

confusing results).


You're looking for \with-dimensions


--

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: advanced \tag -ing

2006-09-18 Thread Jan Janovcik
Hi,
thank for the suggestion with \partcombine, it does indeed part of the job, it 
merges the noteheads, but it also changes the directions of the stems at the 
same time and that is undesirable. What I would need is something that would 
merge the noteheads and keep the stems down ( the result of merging is supposed 
to be voiceTwo ) Is this even possible, any ideas?
Jan Janovcik




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


Re: problem with line breaking with polyrhythm

2006-09-18 Thread Libero Mureddu
On 9/18/06, Thies Albrecht [EMAIL PROTECTED] wrote:
Hi Libero! and I have to split a measure in the middle...Line breaks only work at proper bar lines. (see 
http://lilypond.org/doc/v2.9/Documentation/user/lilypond/Line-breaking.html#index-g_t_005cbreak-1560)In your example the third 4:5 in the second staff overlaps the invisible bar.
Hi Thies,you are right, but if you take from my example only the voice with the quintuplet (see below), you can see that I can actually split the measure. But this nice feature is not so useful, if you cannot use it inside a polyphonic music. Of course it's clear to me why the constraint cannot be satisfied, in fact I'd like to put the line break in the middle of the duration of a note, that is, in fact, the common situation if you start to have complex music.
Maybe a sponsored feature?Libero%%% SNIPPET FOLLOWS %%%\version 2.8.6 \score {  %  \new Staff {   % \time 4/4
 % a4 a4 a4 a4 % }  \new Staff {  \times 4/5 { a4 a4 \bar  \break a4 a4 a4 } }
 }
\layout { ragged-right = ##t  }
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: advanced \tag -ing

2006-09-18 Thread Simon Dahlbacka
it seems you would need the \chordcombine that I've been requesting/thinking about trying to implement, but never gotten to..On 9/18/06, Jan Janovcik 
[EMAIL PROTECTED] wrote:Hi,thank for the suggestion with \partcombine, it does indeed part of the job, it merges the noteheads, but it also changes the directions of the stems at the same time and that is undesirable. What I would need is something that would merge the noteheads and keep the stems down ( the result of merging is supposed to be voiceTwo ) Is this even possible, any ideas?
Jan Janovcik___lilypond-user mailing listlilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Rather involved TextSpanner edge-text Scheme markup question

2006-09-18 Thread Trevor Bača

On 9/18/06, Markus Schneider [EMAIL PROTECTED] wrote:

I forgot: more importantly, use \combine to print the markups on top of each
other. That may take care of your horizontal space problem.

Markus

Markus Schneider [EMAIL PROTECTED] schrieb im Newsbeitrag
news:[EMAIL PROTECTED]
 Hi Trevor,

 you may try to use the fake letter f. It has all the necessary ascenders
 and descenders to fake the basline. I use this with dynamics.

 pX = #(make-dynamic-script (markup #:combine #:transparent #:dynamic
f
 #:line(#:hspace 0 #:dynamic p #:hspace 0)))

 HTH
 Markus


Hi Markus,

Thank you so much. The \combine command was precisely what I needed,
and the fake f trick works, as well, resulting in cleaner input.

Here're the results.

%%% BEGIN EDGE TEXT ALIGNMENT SNIPPET 5 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons
(markup #:combine #:transparent f a)
(markup #:combine #:transparent f  ))
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons
(markup #:combine #:transparent f b)
(markup #:combine #:transparent f c))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons
(markup #:combine #:transparent f d)
(markup #:combine #:transparent f  ))
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons
(markup #:combine #:transparent f d)
(markup #:combine #:transparent f f))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons
(markup #:combine #:transparent f g)
(markup #:combine #:transparent f  ))
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons
(markup #:combine #:transparent f h)
(markup #:combine #:transparent f i))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }




%%% END EDGE TEXT ALIGNMENT SNIPPET 5 %%%

There's a pic attached (baseline-aligned.png) with perfectly aligned
spanners and a gamut of lowercase letters all magically
baseline-aligned (thanks again, to the ascender- and
descender-properties of the f glyph).


Mats's and Han-Wen's suggestion to set the dimensions of each bit of
edge text explicitly with the \with-dimensions command also works and,
out of the box, gives *bottom-aligned* rather than *baseline-aligned*
results.

%%% BEGIN EDGE TEXT ALIGNMENT SNIPPET 6 %%%

\version 2.9.17

\new Staff \with {
  \override TextSpanner #'dash-fraction = #'()
  \override TextSpanner #'direction = #down
  \override TextSpanner #'bound-padding = #1
} 
  \time 3/8
  \new Voice {
 c'8 c'8 c'8
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #3
  } {
 \override TextSpanner #'edge-text = #(cons
(markup #:with-dimensions '(0 . 0) '(-2 . 2) a)
(markup #:with-dimensions '(0 . 0) '(-2 . 2)  ))
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons
(markup #:with-dimensions '(0 . 0) '(-2 . 2) b)
(markup #:with-dimensions '(0 . 0) '(-2 . 2) c))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #5.5
  } {
 \override TextSpanner #'edge-text = #(cons
(markup #:with-dimensions '(0 . 0) '(-2 . 2) d)
(markup #:with-dimensions '(0 . 0) '(-2 . 2)  ))
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons
(markup #:with-dimensions '(0 . 0) '(-2 . 2) e)
(markup #:with-dimensions '(0 . 0) '(-2 . 2) f))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }
  \new Voice \with {
 \override TextSpanner #'staff-padding = #8
  } {
 \override TextSpanner #'edge-text = #(cons
(markup #:with-dimensions '(0 . 0) '(-2 . 2) g)
(markup #:with-dimensions '(0 . 0) '(-2 . 2)  ))
 s8 \startTextSpan
 \override TextSpanner #'edge-text = #(cons
(markup #:with-dimensions '(0 . 0) '(-2 . 2) h)
(markup #:with-dimensions '(0 . 0) '(-2 . 2) i))
 s8 \stopTextSpan \startTextSpan
 s8 \stopTextSpan
  }




%%% END EDGE TEXT ALIGNMENT SNIPPET 6 %%%

See bottom-aligned.png.

Playing with the arguments passed into \with-dimensions will probably
enable all sorts of interesting results (though I suspect that getting
the appearance of baseline alignment will almost certainly be easier
with the combined, transparent f).

Thank you, everybody. This helps tremendously.


--
Trevor Bača
[EMAIL PROTECTED]


baseline-alignment.png
Description: PNG image



Re: Lilypond + LaTex (on Mac)

2006-09-18 Thread Walter Hofmeister
On 9/18/06 3:07 AM, nicola [EMAIL PROTECTED] wrote:

 In article [EMAIL PROTECTED],
  Walter Hofmeister [EMAIL PROTECTED] wrote:
 
 On 9/17/06 4:18 AM, nicola [EMAIL PROTECTED] wrote:
 
 Hi,
 I have written a very simple Lilypond engine for TeXShop, which you may
 find here:
 
 http://www.dimi.uniud.it/vitacolo/freesoftware.html
 
 Maybe this can help.
 
 Regards
 Nicola
 
 In article [EMAIL PROTECTED],
  Michael J Millett [EMAIL PROTECTED] wrote:
 
 Thanks for this Nicola. I have gotten the engine to work here but everytime
 it runs, it wants to rebuild the font cache. Is there a way to prevent this
 as it adds considerable time to each compile.
 
 Walter Hofmeister
 
 I am not much confident about that topic, so others may help you
 better... Anyway, have you tried to typeset a file with the Lilypond
 application itself? I remember that the first compilation takes longer
 because the app does some stuff with fonts.
 
 If, instead, you refer to the many warnings about fonts, e.g.
 
 dvips: Font CenturySchL-Ital used in file lily-777315663-1.eps is not in
 the mapping file,
 
 that should be normal behaviour (as explained in Ch. 13 of the Lilypond
 2.9.7 documentation). Otherwise, can you post the troubling messages?
 
 Regards
 Nicola
 
Hi Nicola,
I have found that if you typeset a file with Lilypond itself, the first
time it will rebuild the font caches but then after that it will run
normally. If you switch to Lilypad for example, it will want to rebuild the
caches again, and if you switch back to the Lilypond it will want to rebuild
them yet again. The lesson seems to be pick one and stick with it. The
problem that I noticed is that TexShop seems to want to rebuild the font
caches every time. If there was a way around this it would be great as I
really like using TexShop as an editor, even if point and click is not an
option.

Walter Hofmeister




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


Re: Swing Midi

2006-09-18 Thread Erik Sandberg
On Friday 15 September 2006 00:47, Han-Wen Nienhuys wrote:
 David Greene wrote:
  Hi everyone,
 
  I searched the archives and found a few discussions about
  generating swing-feel MIDI from straight eighths Lily
  source but the most recent was from 2004.
 
  I was thinking about writing a Scheme function to carve
  up all of the durations into units of eighths, inserting
  the proper ties to maintain longer notes.  Then I could
  imagine altering the durations as appropriate to implement
  the swing feel.

If you want to make the programming easy, and if it's OK to sacrifice note 
entry speed, then I'd recommend that you mark all swing notes somehow, e.g. 
by putting them inside braces, two by two:
{ c c } { c c } 
Then it's easy to write a music function that finds all SequentialMusics with 
two elements, and which manipulates the durations of those elements.

If you want to do something more generic (something you can apply on any 
existing ly score), then you may want to consider using music streams. Music 
streams are a new concept in 2.9, and nobody has used them yet AFAIK. 
However, I can try to guide you if you're interested. (I would guess htat 
this solution can be coded entirely in Scheme)

-- 
Erik


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


Re: How to break timing coordination between my ossia and main staffs?

2006-09-18 Thread Rick Hansen (aka RickH)

Matt,

I'll read that again.  I tried using a \markup { \score } and that method
would be ideal, but the markup score never rendered past it's first measure. 
I tested the \score separately and it would render 3 measures, no problem,
but when I cutandpaste that same score into a \markup and applied it to a
hosting note it only rendered one measure.

Is there something that would cause \markup { \score } technique to stop
rendering pre-maturely (maybe a bug)?

Maybe I needed to set a hard and short line-width and ragged?  (My \markup {
\score } did not specify a line width and ragged), and the hosting note the
markup was applied to was 2/3rds the way across the page already.  So maybe
\markup thought it was out of room because the score was not ragged?  Is
this possible?  I'll try that technique again too with a hard and short
ragged line-width, markup seems like the better way to go for an
un-coordinated ossia.

Whereas a separate context is better for a timed/substitute-measure ossia
because it will line up the notes and bars vertically.

thanks
Rick



Mats Bengtsson-4 wrote:
 
 I hope you have read the section on Polymetric notation. It shows
 several
 methods to modify the synchronization between staves.
 
 Yet another alternative is to use ^\markup{\score{...}}
 
/Mats
 
 Rick Hansen (aka RickH) wrote:
 I'm using a user-created staff context to accepts ossia notes
 mid-stream
 (see OssiaUnsynchronized below).

 I have a piece where my ossia length will have a different number of
 measures than the main staff (more or fewer).  So for example if the
 ossia
 passage has 2 measures to the main staffs 1 measure I would like the
 ossia
 and main staffs to be oblivious to each others timing but each staff
 still
 know its own timing.  Below is an example where I would want to see a 2
 measure ossia spread under the main score freely (IOW I dont want it to
 add
 the blank measure to the main staff):

 How can I make my ossia context totally oblivious to the timing that is
 going on in the main score?  So that the ossia does it's own thing and
 the
 main staff does it's own thing measure-wise.

 I tried some hacking but still could not get what I wanted.

 Eventually I want my template to have 2 different kind of ossia contexts
 (see OssiaUnsynchronized and OssiaSynchronized below), one with
 coordinated
 timing (OssiaSynchronized) and one that is free form and ignores the main
 staff timing (OssiaUnsynchronized the object of my question).  The latter
 should simply render a chunk of music without affecting the main staff at
 all (my how-to question).



 Thanks for any help, the example below will run as-is:.


 %EXAMPLE BEGIN

 \version 2.9.17
 \include english.ly

 % Music file

 myMusic = \relative c'' {
 | e4 e e e
 %\set timing = ##f
  { a b c d } \context OssiaUnsynchronized { a b c d d c b a } 
 %\set timing = ##t
 | b b b b
 }

 % Template file

 \score {

\myMusic

\layout {
   \context { \Score
  \remove Span_bar_engraver
  \override SpanBar #'break-visibility = #center-invisible
  \remove   System_start_delimiter_engraver
  \accepts  OssiaUnsynchronized
  \accepts  OssiaSynchronized
   }

   \context { \Staff
  \name OssiaUnsynchronized
  \remove Clef_engraver
  \remove Time_signature_engraver
  \remove Key_engraver
  \remove Timing_translator
   }

   \context { \Staff
  \name OssiaSynchronized
  \remove Clef_engraver
  \remove Time_signature_engraver
  \remove Key_engraver
   }
}

 }


 % EXAMPLE END



   
 
 -- 
 =
   Mats Bengtsson
   Signal Processing
   Signals, Sensors and Systems
   Royal Institute of Technology
   SE-100 44  STOCKHOLM
   Sweden
   Phone: (+46) 8 790 8463 
 Fax:   (+46) 8 790 7260
   Email: [EMAIL PROTECTED]
   WWW: http://www.s3.kth.se/~mabe
 =
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user
 
 

-- 
View this message in context: 
http://www.nabble.com/How-to-break-timing-coordination-between-my-ossia-and-main-staffs--tf2288777.html#a6366057
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.



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


Re: Orchestral score file organization

2006-09-18 Thread Rick Hansen (aka RickH)

Glad to help.

Are you using the Nabble mirror for your posts?  Because I dont think your
posts are reaching the actual gnu lilypond list.  I'm getting a big yellow
warning message on all your posts as viewed through the Nabble mirror.  You
may want to re-subscribe and confirm your email address with the actual gnu
lilypond users list.  (just for your information)




OnionRingOfDoom wrote:
 
 
 
 Rick Hansen (aka RickH) wrote:
 
 Here is a simple example of separating music from structure, just make
 sure all the music goes into variables, then the templates only reference
 variables, not any particular songs music:
 
 Then after that, there's the actual music. Each file has that part up
 there in common, with only the file name and the instrument name changed. 
 If I need to transpose anything or use a different clef, I put that below
 the \set Score.skipBars line usually. So, which part of all that goes in
 which files you talked about?
 
 
 O now it makes sense! I didn't know I could assign things like time
 signiture, key, and other global items to variables and use them
 throughout a piece. This helps a lot, thanks!
 
 

-- 
View this message in context: 
http://www.nabble.com/Orchestral-score-file-organization-tf2288589.html#a6368078
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.



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


Re: problem with line breaking with polyrhythm

2006-09-18 Thread Libero Mureddu
Hi,I've also found this quite interesting: lily can accept something like this (see below), that is quite amazing compared the amount of tweaks that are necessary to obtain the same in other software (if my memory is good!), but still it cannot make a line break. 
But what I would like to have is a line break based not necessarely on barlines but on specific moments in time.Regards,Liberoibook g4 mac os 10.4.7lily 2.9.17%%% SNIPPET %%%
\version 2.9.17 \score {   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)  \new Staff {\time 4/4 a4 a4 a4 a4 \break 
 a4 a4 a4 a4 }  \new Staff { c4 c4 c4  \times 2/3 { a4 a4 a4 } c4 c4 c4 }
 }\layout {ragged-right = ##t  }
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: problem with line breaking with polyrhythm

2006-09-18 Thread Mats Bengtsson

Libero Mureddu wrote:


Hi,
I've also found this quite interesting: lily can accept something like 
this (see below), that is quite amazing compared the amount of tweaks 
that are necessary to obtain the same in other software (if my memory 
is good!), but still it cannot make a line break.


But what I would like to have is a line break based not necessarely on 
barlines but on specific moments in time.


Is it really good typesetting practice to have a line break in the
middle of the duration of a note? To me it seems like a very good
method to confuse the poor musicians. ;-)

Since the main goal of LilyPond is to support typesetting of
music from 19th century, the current limitation does make
sense.

On the other hand, you don't have to consider modern music to
find examples where such practice was used. In the baroque
period, it was fairly common to have dotted notes that crossed
bar lines and the dot was then often typeset to the right of the
bar line. I can promise you that it's extremely confusing the first
time you see it, but anyway not so hard to get used to.

  /Mats



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


Re: problem with line breaking with polyrhythm

2006-09-18 Thread Han-Wen Nienhuys

Libero Mureddu wrote:

you are right, but if you take from my example only the voice with the 
quintuplet (see below),  you can see that I can actually split the 
measure. But this nice feature is not so useful, if you cannot use it 
inside a polyphonic music. Of course it's clear to me why the constraint 
cannot be satisfied, in fact I'd like to put the line break in the 
middle of the duration of a note, that is, in fact, the common situation 
if you start to have complex music.


I think you're looking for Forbid_line_break_engraver. Try removing it.

--

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: problem with line breaking with polyrhythm

2006-09-18 Thread Libero Mureddu
On 9/18/06, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
I think you're looking for Forbid_line_break_engraver. Try removing it.Thanks, I'll try with it.Libero 
--Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwenLilyPond Software Design-- Code for Music Notation
http://www.lilypond-design.com
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Lyrics ties

2006-09-18 Thread Maurí­cio

  Hi,

  I'm typesetting a voice/piano composition. Sometimes, the end of a 
word and the start of the next word are song in a single note. Lily just 
insert both below that note. Is it possible to connect those words using 
something similar to a tie between notes, to emphasize the fact that 
both belong to the same note?


  Thanks,
  Maurício



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


Re: Lyrics ties

2006-09-18 Thread Michael Welsh Duggan
Maurí­cio [EMAIL PROTECTED] writes:

   Hi,

   I'm typesetting a voice/piano composition. Sometimes, the end of a
 word and the start of the next word are song in a single note. Lily
 just insert both below that note. Is it possible to connect those
 words using something similar to a tie between notes, to emphasize the
 fact that both belong to the same note?

If you have a Unicode compliant editor, you can try using the undertie
character ‿ (U+203F).

-- 
Michael Welsh Duggan
([EMAIL PROTECTED])


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