lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Jazz articulations in version 2.2


From: Mats Bengtsson
Subject: Jazz articulations in version 2.2
Date: Thu, 23 Sep 2004 13:00:19 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040803

Developers/hackers, here's something to improve on. The best
alternative is to add support for these jazz articulations
in the font and in some appropriate engraver.
A quicker fix (?) might be to translate my hacky solution into
a Scheme function that can be applied on the note.

I used a trick, namely to fool Lilypond into drawing the postscript
code as a replacement for an ordinary dot of a dotted note.
Of course, it doesn't work of you want a fall or raise on a note
that's dotted from the beginning.

Anyway, this is hopefully better than nothing and it avoids the
extra-offset settings that most others have used when trying to
place some arbitrary object close to a note. Also, it should
reserve the necessary horizontal space. It should be possible to
override horizontally placed fingering instructions instead of
dots to get a solution that works with dotted notes as well.

I don't know what the bend is supposed to look like, but it's
probably easy to do a similar macro for that as well.

\version "2.2.0"


makefall = {
  \once \override Dots #'print-function = #Text_item::print
  \once \override Dots #'X-extent = #'(-.5 . 2)
\once \override Dots #'text = #"\\embeddedps{0.2 setlinewidth -0.2 -0.2 moveto 0.5 -0.2 1.2 -1 1.2 -2 rcurveto stroke}"
}

makeraise = {
  \once \override Staff.DotColumn #'direction = #left
 \once \override Dots #'print-function = #Text_item::print
  \once \override Dots #'X-extent = #'(-2 . 0.5)
%  \once \override Dots #'extra-offset = #'(-.5 . 0)
\once \override Dots #'text = #"\\embeddedps{0.2 setlinewidth 0.2 -0.2 moveto 0 -1 -0.7 -1.8 -1.2 -2 rcurveto stroke}"
}

makefallz = {
  \once \override Dots #'print-function = #Text_item::print
  \once \override Dots #'X-extent = #'(-.5 . 2)
\once \override Dots #'text = #"\\embeddedps{0.1 setlinewidth -0.4 -0.2 moveto 1 1 5 { 0.7 0.1
rlineto -0.5 -0.5 rlineto } for stroke}"
}

makeraisez = {
  \once \override Staff.DotColumn #'direction = #left
  \once \override Dots #'print-function = #Text_item::print
  \once \override Dots #'X-extent = #'(-2 . 0.5)
%  \once \override Dots #'extra-offset = #'(-.5 . 0)
\once \override Dots #'text = #"\\embeddedps{0.1 setlinewidth 0.4 -0.2 moveto 1 1 5 { -0.7 0.1 rlineto 0.5 -0.5 rlineto } for stroke}"
}


\score {
  \notes \relative c'' {
    a4 \makeraise a4.*2/3 \makefall a4.*2/3 a4
    a4 \makeraisez a4.*2/3 \makefallz a4.*2/3 a4
  }
  \paper { raggedright = ##t}
}


   /Mats

address@hidden wrote:
On Wed, 22 Sep 2004 10:40:23 +0200
Mats Bengtsson <address@hidden> wrote:


The scriptHorizontal property has been removed in version 2.2, i.e.
there is no support for typesetting an arbitrary script to the
left or right of a note head. Instead, there is now special support
for doing this for fingerings.

   /Mats


Okay, that's fine. But how do I work around this? There's got to be a
way to create the articulations.


address@hidden wrote:

On Tue, 21 Sep 2004 16:25:32 +0200
Mats Bengtsson <address@hidden> wrote:



The current syntax for changing object properties is described at
http://lilypond.org/doc/v2.2/Documentation/user/out-www/lilypond/La

yout-tunings-within-contexts.html#Layout%20tunings%20within%20contex
ts>

However, the syntax examples you show have never been correct and
even though it has been modified by convert-ly, the original at
the end of this email cannot possibly have worked in any LilyPond
version I can think of. If you go back to http://lists.gnu.org/archive/html/lilypond-user/2002-10/msg00130.ht

ml>and run convert-ly on that code, you should get the correct
syntax.>

 /Mats


You refer to a list message and mention it will work after running
convert-ly, but it doesn't, and in todays reply say it can't be done.
I realize this application is written for the person scoring classical
music, but there are a lot of people using it for more modern music as
well. There's got to be a way to add modern articulations with writing
entire sections of new code in every piece we transcribe/write. That
just doesn't make sense.

How hard could it be to just add the articulations to the feta font?
Seems that would be most logical thing to do.

Regards,
Chip



Once again, thanks. I have almost a working test document. The
desired articulations appear on the printed page but not in the
correct positions. I can probably fix that by tweaking the numbers,
I just have to find the doc that explains what each number means.
Anyway, here is the results of running convert-ly and then running
the interpreter. There are several property-type errors...
thanks
Chip

convert-ly -e test.ly
convert-ly (GNU LilyPond) 2.2.2
Processing `test.ly' ... Applying conversions: 2.1.1, 2.1.2, 2.1.3,
2.1.4, 2.1.7, 2.1.10, 2.1.11, 2.1.12, 2.1.13, 2.1.14, 2.1.15,
2.1.16, 2.1.17, 2.1.18, 2.1.19, 2.1.20, 2.1.21, 2.1.22, 2.1.23,
2.1.24, 2.1.25, 2.1.26, 2.1.27, 2.1.28, 2.1.29, 2.1.30, 2.1.31,
2.1.33, 2.1.34, 2.1.36, 2.2.0,

Process convert-ly exited with code 0


lilypond test.ly

lilypond (GNU LilyPond) 2.2.2
Running lilypond-bin...
Now processing `test.ly'
Parsing...
Interpreting music... warning: Can't find property type-check for
`scriptHorizontal' (translation-type?).  Perhaps you made a typing
error? warning: Doing assignment anyway.
warning: Can't find property type-check for `scriptHorizontal'
(translation-type?).  Perhaps you made a typing error? warning:
Doing assignment anyway. warning: Can't find property type-check for
`scriptHorizontal' (translation-type?).  Perhaps you made a typing
error? warning: Doing assignment anyway.
warning: Can't find property type-check for `scriptHorizontal'
(translation-type?).  Perhaps you made a typing error? warning:
Doing assignment anyway.[3]
Preprocessing graphical objects... Calculating line breaks...
paper output to `test.tex'...

writing header field `instrument' to `test.instrument'...
writing header field `title' to `test.title'...
writing header field `arranger' to `test.arranger'...
writing header field `poet' to `test.poet'...
writing header field `opus' to `test.opus'...

Analyzing test.tex...
Running ...
Running dvips...
Running ps2pdf...
DVI output to `test.dvi'...
PDF output to `test.pdf'...
PS output to `test.ps'...
Process lilypond exited with code 0

--
=============================================
        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: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================



_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user

--
=============================================
        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: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================




reply via email to

[Prev in Thread] Current Thread [Next in Thread]