[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: missing glissando features (bugs?)
From: |
Marc Hohl |
Subject: |
Re: missing glissando features (bugs?) |
Date: |
Sat, 09 May 2009 11:35:46 +0200 |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090318) |
Neil Puttock schrieb:
2009/5/2 Marc Hohl <address@hidden>:
I have made some observations concerning \glissando:
1) accidentals are not recognised properly; I know this is in the bug list
and there are workarounds,
see http://lists.gnu.org/archive/html/bug-lilypond/2005-08/msg00235.html
This isn't at all straightforward to fix (I had a stab at it a while
ago, and it's tricky to get the positioning correct on the right hand
side because the accidental changes the anchor point for the end of
the glissando.)
2) the glissando line between half steps should indicate the direction;
e.g. a glissando line between c and c# should raise a bit and not be
parallel to the staff lines;
3) in tablature, the glissando is always indicated upwards, but it should be
drawn in respect to the fret number;
e.g. 3/5\3, not 3/5/3;
Should (2) and (3) be considered as bugs? I have found a request from
9/2005:
Probably.
It should be quite easy to fix both problems with a callback for
'extra-dy (see below)
I tried this manually, and it works just fine, see attached file.
http://lists.gnu.org/archive/html/bug-lilypond/2005-09/msg00112.html
and it seems to me that this has been partly implemented
(the lines betweeen fret numbers are now sloped, so there _has_ been some
progress).
Are there any hints/workarounds to solve this problem?
>From the glissando you can get the left and right noteheads using
ly:spanner-bound, from which it's possible to retrieve the pitches. A
simple comparision of pitches should allow you to set the correct
return value for 'extra-dy.
I tried to receive the informations needed by overriding the Glissando
#'stencil with
a function which simply displays the values obtained by the
ly:spanner-bound call
before calling ly:line-spanner::print, but I get only #<Grob NoteHead >
on the terminal.
What am I doing wrong here?
Thanks in advance.
Marc
For TabVoice.Glissando, you can get the staff-positions for the
bounding notes, so it's possible to apply extra-dy only for glissandos
between tab notes on the same line.
Regards,
Neil
\version "2.12.2"
\paper {
ragged-right = ##f
}
#(define (glissando::test grob)
(let* ((left-bound (ly:spanner-bound grob LEFT))
(right-bound (ly:spanner-bound grob RIGHT)))
(display "left-bound: ")(display left-bound)(newline)
(display "right-bound: ")(display right-bound)(newline)
;; for now, we simply use the default printing routine
(ly:line-spanner::print grob)))
noten = \relative c {
\override Glissando #'stencil = #glissando::test
c4 \glissando cis
\once \override Glissando #'extra-dy = #0.5
c4 \glissando cis
c4 \glissando ces
\once \override Glissando #'extra-dy = #-0.5
c4 \glissando ces
}
tabs = \relative c {
\set TabStaff.minimumFret = #2
c4 \glissando
\once \override Glissando #'extra-dy = #-1.0
d \glissando c2
c4 \glissando d \glissando c2
\bar "|."
}
\score {
<<
\new Staff { \clef "G_8" \noten }
>>
}
\score {
<<
\new TabStaff { \clef "tab" \tabs }
>>
}
- missing glissando features (bugs?), Marc Hohl, 2009/05/02
- Re: missing glissando features (bugs?), Neil Thornock, 2009/05/02
- Re: missing glissando features (bugs?), Neil Puttock, 2009/05/02
- Re: missing glissando features (bugs?), Marc Hohl, 2009/05/05
- Re: missing glissando features (bugs?),
Marc Hohl <=
- Re: missing glissando features (bugs?), Marc Hohl, 2009/05/10
- Re: missing glissando features (bugs?), Neil Puttock, 2009/05/10
- Re: missing glissando features (bugs?), Marc Hohl, 2009/05/11
- Re: missing glissando features (bugs?), Neil Puttock, 2009/05/13
- Re: missing glissando features (bugs?), Marc Hohl, 2009/05/14
- Re: missing glissando features (bugs?), Neil Puttock, 2009/05/14