Re: Sponsored feature request--cross-staff chords, ties

2006-08-21 Thread Vivian Barty-Taylor
I have in the past got Lilypond to do what you describe. The cross-staff chords are documented in the manual, although I agree the mechanism for achieving this is a bit clumsy (extending the stem from one of the chords.) I could imagine that to allow something like your example (f c \change Staff = bass g d) could be a bit of a programming nightmare since the notes of the chord would have to be split between two Staff contexts, whereas they are a lower level object than the staves. This might mean that Lilypond had to create two partially hidden chords, but don't quote me - I'm not a programmer. That could lead to unexpected effects (for example with padding) and (I feel) is moving away from the transparency of the Lilypond programming system.Your other example (the one in the .gif file) is certainly
 possible, although it requires a bit of fiddling. My problem when I did it was that the tieWaitForNote property was only active on the Staff where the chord began. In order to get the notes on the second staff to be tied I had to create hidden, tied notes on the second staff. This was clumsy and produced a lot of error messages, but it did work. Maybe it would be possible to allow cross-staff ties in a situation like this, and then the current syntaax (I feel) would work. However, I'm not sure how simple that is - since ties are embedded two "levels" deeper, it would probably be even more of a nightmare than the first example.I feel a bit limited since I don't know Scheme (yet!) but would it be possible to write a macro which simplified the user-interface of the current structures, while leaving the transparency of the program intact so that those who want to fiddle with it can do so?Cheers,Vivian.- Original Message From: Steve D [EMAIL PROTECTED]To: lilypond-user@gnu.orgSent: Sunday, 20 August, 2006 5:09:26 PMSubject: Sponsored feature request--cross-staff chords, tiesI know that cross-staff beaming has been mentioned periodically on theLilyPond lists.It would be great, for the sake of piano and other polyphonic instrumentscores, for there to exist in LilyPond some mechanism that would allowfor chords to change staff, perhaps like single-note melodies alreadycan do (with \change Staff = staff-name), and which includes all of thetie functionality.For an example in piano music-- an arpeggiated chord played with bothhands across both staves, tied to a following chord that crosses thestaves. I recently wrote a piece in which there is a grace-notedescending
 arpeggio played with both hands (sequentially, first theright then the left), that crosses from the treble to the bass staff,and is tied to every note but the lowest note of the following chord(see attached GIF graphic).To do so required some "inventive" LilyPond code, hidden notes, etc.,and in this case, the chord following the cross-staff grace-notearpeggio was not itself a cross-staff chord. However, it would be great,if it can be implemented, for the following to exist in LilyPond:* chords that cross staves (perhaps like f c \change Staff = bass g d)* cross-staff chords that can be tied to cross-staff chords (using automatic and manual tie formatting)* cross-staff arpeggios that can be tied to cross-staff chords (with auto and manual tie formatting)* grace-note arpeggios that can be tied to cross-staff chords (with auto and manual tie
 formatting)I would be happy to sponsor such functionality.Best wishes,SteveStephen DoonanPortales, New Mexico UShttp://www.xscd.com/pub/-- I do not feel obliged to believe that the same God who hasendowed us with sense, reason, and intellect has intended us toforgo their use.-Galileo Galilei (1564-1642)___lilypond-user mailing listlilypond-user@gnu.orghttp://lists.gnu.org/mailman/listinfo/lilypond-user___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \tagsOn, \tagsOff

2006-08-21 Thread Erik Sandberg
On Friday 18 August 2006 22:39, Kieren MacMillan wrote:
 [ v2.9.14 ]

 Hello, all --

 No, this isn't Karate Kid 5!  ;-)

 This is a continuation of the thread setting up a very complex
 choral layout, with a possible feature request...

I have a different suggestion which might solve your problem to some degree: 
You can split up music into short segments, and then align lyrics to a 
devnull context which you compose from those short segments. IIRC we 
discussed this on lily-user some time ago, search for devnull and lyricsto.

 I think we could solve all my multi-output issues -- and add a really
 powerful tool to the Lilypond kit -- if we had a \tagsOn (and maybe
 \tagsOff?) trigger, which would tell Score to listen (or not) to a
 given tag.

I don't think your suggestion would work well with the current incarnation of 
\tag, because it's based on operations on music expressions. 

However, I think this can be an application of the new music stream 
architecture: We could add a layer of listeners between front-end and 
back-end, which filter out all events with specific tags; \tagsOn/Off would 
change those filters in interpretation-time.

-- 
Erik


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


How to write dead notes in a TabStaff context?

2006-08-21 Thread Mougyz
Hello,

I found a message in the archive (year 2004) that roughly said that you can't 
write dead note in a TabStaff context.
All that I want is to print a cross (x) on a line of the tablature, not 
hearing the corresponding sound.

Does someone found the mean to do that now?

Mougyz



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


Re: \tagsOn, \tagsOff

2006-08-21 Thread Han-Wen Nienhuys

Kieren MacMillan wrote:

For instance, let's say I want the following systems on my page:
4 measures, 2 staves (SA + TB)
3 measures, 4 staves (S+A+T+B)
5 measures, 1 staff (SATB/unison)

I'd be able to use

global =
{
\time 4/4
\tagsOn { #'sa #'tb } s1*4 \break
\tagsOn { #'s #'a #'t #'b } s1*3 \break
\tagsOn { #'satb } s1*5
}

or [with \tagsOn not automatically turning off any tag not listed, we 
need a \tagsOff, e.g.,]


 I don't think there's a way to really do this kind of thing right now in
 Lily (someone please correct me if I'm wrong!), and I think it would be
 wicked helpful. Of course, if there's an even better way of handling
 this than taking advantage of \tag, I'm open to suggestions/discussions.



There is the keepAliveInterfaces, which you could set for each lyrics 
line separately. You should be able to do it with


 \context Lyrics = SA \set keepAliveInterfaces = #'()
 \context Lyrics = SA \set keepAliveInterfaces = 
#'(lyric-syllable-interface)


to switch off/on respectively.

I can cook up a nice music function to do it for you, in the form of 
\tagsOn / \tagsOff for EUR 100, but you might want to experiment with 
the bare bones first.




--

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: glissando between non-adjacent notes

2006-08-21 Thread Han-Wen Nienhuys

V!ctor [EMAIL PROTECTED] wrote:

Currently, Lily assumes a glissando will always connect adjacent notes.
(The sintax works like ties in Lily, where one puts the tie command ~
after the first note)
But many times one needs the glissando to span a duration that cannot be
expressed with a single note, e.g. 1 + 1/4. I've attached a PDF with 2
examples of this (taken from one of my own scores), together with a
proposed syntax for the implementation. 
Essentially, these glissandi would work exactly like slurs in Lily,

using one command to start a gliss and another to end it. e.g.
c4\glissStart c16 f8\glissEnd


I have the feeling that this should already more-or-less be possible 
with current support for clusters: use a cluster for the line, and 
blanked note heads to get the stems. Or put the blanked notes in a 
different voice.


Doing real timed glissandos does raise some questions: should the gliss 
always be a straight line, or should it just follow a melodic contour?

If the latter, what happens with 'trilled' glissandi.

If the former, then this will have nasty interactions with beams: beam 
directions are determined by stem directions, but in the case of a 
glissando stem, the pitch of the stem is determined after spacing and 
line breaking, which happens after determining directions. In this case, 
it's still possible to do, but we would have to rewire the logic for 
stem and beam direction code for this special case. This is tricky, so 
it would take a couple of 100 euro.


Another option would be to forfeit beams on glissando stems, and/or 
require them to have preset directions.


--

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: Sponsored feature request--partially-tied chords

2006-08-21 Thread Han-Wen Nienhuys

Steve D wrote:

Trevor Baca recently asked how one might write in LilyPond tied chords in
which only *some* (one or more, but not all) notes are tied to the
following identical chord.

I am also interested in this, because it sometimes happens in piano
music, and I would be interested in sponsoring a feature in LilyPond 
which one could use to prevent one or more notes within a chord from

being tied.




At any rate, if Han-Wen thinks this is worthy of some thought and
effort, I would be happy to sponsor such a user-specified selective
exclusion of notes or partially tied chord feature.


it's easiest to add a property so you can do

  c e \tweak #'forbid-tie = ##t g bes

cost: 65 EUR.

--

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: \tagsOn, \tagsOff

2006-08-21 Thread Kieren MacMillan

Hi, Han-Wen:

There is the keepAliveInterfaces, which you could set for each  
lyrics line separately.

You should be able to do it with
\context Lyrics = SA \set keepAliveInterfaces = #'()
\context Lyrics = SA \set keepAliveInterfaces = #'(lyric- 
syllable-interface)

to switch off/on respectively.


Sounds great, in theory... but apparently I'm incompetent!  =)

If you could fix the small sample (attached) for me, I'd probably be  
able to take it from there.


Thanks!
Kieren.

%%%  CODE BEGINS
\version 2.9.15
\include english.ly

lyrOff = { \context Lyrics = lyr \set keepAliveInterfaces = #'() }
lyrOn = { \context Lyrics = lyr \set keepAliveInterfaces = #'(lyric- 
syllable-interface) }


global =
{
\lyrOn s1*2 \break
\lyrOff s1*3 \break
\lyrOn s1*2
}
theNotes = \relative c'
{
g'4 g8. a16 g4 f
e f g2
d4 e f2
e4 f g2
g4 g8. a16 g4 f
e f g2
d g
e4 c r2
\bar |.
}
theWords = \lyricmode
{
This is the song that goes like this,
goes like this, goes like this,
this is the song that goes like this,
nyah, nyah, nyah -- nyah!
}

\score
{
\new GrandStaff

\context Voice = sigfried  \theNotes \global 
\context Lyrics = lyr \lyricsto sigfried \theWords

}
%%%  CODE ENDS


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


Re: \tagsOn, \tagsOff

2006-08-21 Thread Han-Wen Nienhuys

Kieren MacMillan wrote:

Hi, Han-Wen:

There is the keepAliveInterfaces, which you could set for each lyrics 
line separately.

You should be able to do it with
\context Lyrics = SA \set keepAliveInterfaces = #'()
\context Lyrics = SA \set keepAliveInterfaces = 
#'(lyric-syllable-interface)

to switch off/on respectively.


Sounds great, in theory... but apparently I'm incompetent!  =)

If you could fix the small sample (attached) for me, I'd probably be 
able to take it from there.




There's a small bug which delays the effect lyrOff by a syllable. Fixed 
in CVS, you can move the \lyrOff/On by one syllable as an intermediate 
bugfix.


--

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: Sponsored feature request--partially-tied chords

2006-08-21 Thread Steve D
On Mon, Aug 21, 2006 at 12:57:51PM +0200, Han-Wen Nienhuys wrote:
 Steve D wrote:
 Trevor Baca recently asked how one might write in LilyPond tied chords in
 which only *some* (one or more, but not all) notes are tied to the
 following identical chord.
 
 I am also interested in this, because it sometimes happens in piano
 music, and I would be interested in sponsoring a feature in LilyPond 
 which one could use to prevent one or more notes within a chord from
 being tied.
 
 
 At any rate, if Han-Wen thinks this is worthy of some thought and
 effort, I would be happy to sponsor such a user-specified selective
 exclusion of notes or partially tied chord feature.
 
 it's easiest to add a property so you can do
 
   c e \tweak #'forbid-tie = ##t g bes
 
 cost: 65 EUR.
 
 Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen
 LilyPond Software Design
  -- Code for Music Notation
 http://www.lilypond-design.com


That sounds good to me, Han-Wen. The \tweak would affect only the note
immediately after it, right? (like \once \override ?)

If a piece has lots of partially tied chords, a person could define a
macro at the top of his or her piece to diminish the amount of typing:

\notie = \tweak #'forbid-tie = ##t

c \notie e \notie g bes4~ c e g bes

I will be happy to sponsor this. I can pay now via PayPal or later after
the invoice. Thank you,

Steve
-- 

The difference between a violin and a viola is that a viola burns
longer.  -Victor Borge



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