Fwd: start [was: Re: Take 1]

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fwd: start [was: Re: Take 1]

Valentin Villenave
Administrator
For archival purposes, I am forwarding to the tablatures list some
previous discussions that may have taken place privately or on the
LilyPond-user mailing list.

- Valentin


Forwarded conversation
Subject: start [was: Re: Take 1]
------------------------

From: Marc Hohl <[hidden email]>
Date: 2009/7/1
To: "Carl D. Sorensen" <[hidden email]>
Cc: David Stocker <[hidden email]>, Grammostola Rosea
<[hidden email]>, Andrew Wilson <[hidden email]>,
Viktor Mastoridis <[hidden email]>, "David B. Stocker
([hidden email])" <[hidden email]>, Tony Willoughby
<[hidden email]>, Valentin Villenave <[hidden email]>, Julian
Casadesus <[hidden email]>


[...]
>
> I agree that the syntax will eventually be important.  And if it's decided
> to do the engraver and create the new syntax, it'll need to be thought
> through carefully.
>
> But it's seldom the best way to get *started*.
>

Ok. As I use MusiXTeX for guitar music, I defined the pointed slurs and the
bend arrows by use of postscript, so I think the code could be reused here.

For the pointed slurs, I need the coordinates of the noteheads
(i.e. the height and the distance) to calculate the three points needed.
The only coordinates I can get so far are the x- and y-extensions of the
note heads themselves. This is important for placing the edges of the slurs
properly, but I have no idea how to get coordinates relative to each other.

This is what I got so far:

\version "2.13.1"

#(define (check grob)
 (let* ((stencil (ly:note-head::print grob))
        (x-ext (ly:stencil-extent stencil X))
        (y-ext (ly:stencil-extent stencil Y)))
  (display x-ext)(display y-ext)(newline)
  stencil))


example = \relative c {
 \clef "G_8"
 c4 d e f
}



\layout {
 \context {
 \Staff
 \override NoteHead #'stencil = #check
}}

\score { \example }

It shows the coordinates of the note heads on the display and draws
them as usual.

Any hints/help appreciated!

Marc
>
> Thanks again for all your work.
>
> Carl
>
>
>


----------
From: Grammostola Rosea <[hidden email]>
Date: 2009/7/10
To: Marc Hohl <[hidden email]>
Cc: "Carl D. Sorensen" <[hidden email]>, David Stocker
<[hidden email]>, Andrew Wilson <[hidden email]>,
Viktor Mastoridis <[hidden email]>, "David B. Stocker
([hidden email])" <[hidden email]>, Tony Willoughby
<[hidden email]>, Valentin Villenave <[hidden email]>, Julian
Casadesus <[hidden email]>


Some progress here?

\r


----------
From: Marc Hohl <[hidden email]>
Date: 2009/7/10
To: Grammostola Rosea <[hidden email]>
Cc: "Carl D. Sorensen" <[hidden email]>, David Stocker
<[hidden email]>, Andrew Wilson <[hidden email]>,
Viktor Mastoridis <[hidden email]>, "David B. Stocker
([hidden email])" <[hidden email]>, Tony Willoughby
<[hidden email]>, Valentin Villenave <[hidden email]>, Julian
Casadesus <[hidden email]>


Grammostola Rosea schrieb:
>
> [...]

I'm afraid no.

I concentrated on the patch for the tablature features developed so far,
and I think it will be released soon.
There are some changes since my last attempt - for example, it won't
be necessary to include "tablature.ly" any more because "fret numbers
only" is now/will be the default situation (this behaviour surely breaks
backwards compatibility, but it seems easier/better to do so).
Grace notes (necessary for bends) are now supported (thanks to Neil),
and some restructuring had to be done because the commands previously
collected in tablature.ly are now spread into different files, which yielded
to some small problems that are now solved (thanks to Carl).

Concerning bends and the coordinate problem I asked for advice on
-devel, but as I didn't get any feedback, I will try to "abuse" slurs for
a test as a second attempt, because slurs span between two note heads
and perhaps I can get the information needed from spanner-bounds.
Later, we have to establish a new engraver for this, but for testing
purposes I'll give the slurs a try.

When the tablature stuff is ready (this means I have to write some
regression tests and docs), I will dive into the bend problem.
Still, I have *no* problem at all if someone else is joining in, and I am
still not sure to be able to manage all that stuff alone ... ;-)

Marc
>
> \r
>
>


----------
From: Grammostola Rosea <[hidden email]>
Date: 2009/7/28
To: Marc Hohl <[hidden email]>
Cc: "Carl D. Sorensen" <[hidden email]>, David Stocker
<[hidden email]>, Andrew Wilson <[hidden email]>,
Viktor Mastoridis <[hidden email]>, "David B. Stocker
([hidden email])" <[hidden email]>, Tony Willoughby
<[hidden email]>, Valentin Villenave <[hidden email]>, Julian
Casadesus <[hidden email]>


Some developments concerning Tablature?

Regards,

\r


----------
From: Marc Hohl <[hidden email]>
Date: 2009/7/29
To: Grammostola Rosea <[hidden email]>
Cc: "Carl D. Sorensen" <[hidden email]>, David Stocker
<[hidden email]>, Andrew Wilson <[hidden email]>,
Viktor Mastoridis <[hidden email]>, "David B. Stocker
([hidden email])" <[hidden email]>, Tony Willoughby
<[hidden email]>, Valentin Villenave <[hidden email]>, Julian
Casadesus <[hidden email]>, Federico Bruni
<[hidden email]>


Grammostola Rosea schrieb:
Tablature support will hopefully be included soon, I think Carl knows more about
it?

Furthermore, I decided to give others the possibility of bringing tablature
support to the next step by providing an improved documentation ;-)
and go on working on bends instead.

It is far from being perfect or even handling all possible cases, but
as a starting point,
I misuse slurs for coding bends. See the attachment for what I have
achieved so far...
The next steps will include arrow heads for the bends, a mechanism to recognize
whether a bend up or a release bend has to be drawn, perhaps even an automatic
decision for pre bends via ghost notes. The calculation of the numbers
and fractions
above the arrows is already working, but not yet included in the output.

The code to produce the attached output is

test = \relative c'' {
 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-10     . 5)
 c4 ( d ) e ( f )
 c4 ( cis) d ( es )
 c4 ( es) e( gis )
 c4 ( cih ) c4 ( cisih )
}

with appropriate overrides for the Slur #'stencil :-)

I fiddled around with quarter steps, so 1/4 tone bends may be coded as

c( cih)

and (as this is not common amongst guitarists) the second note will
disappear and the pointed slur will be replaced by a \bendAfter sign,
but I'm not sure about this. The markup for 1/4 and 3/4 works (as being said,
only on my console output ... )

I don't know whether it is apropriate to stay with slurs and having a
command like
\bendSlurOn ... \bendSlurOff or some other command (which will need some sort of
duplicated slur engraver). I thought of a input method similar to slurs,
perhaps like

c4< d> (to indicate the pointed slurs)

but < > are already used for chord constructs, so this is not optimal.

By the way: what is the "official" way of  displaying hammer on and
pull off in tablature?
This feature is often asked for, but nobody seems to know how they
should look like.
David, do you know more?

When I get better results, I will post again, but
improvements/comments/corrections
and enlightenment is welcome!

Greetings

Marc
>
> Regards,
>
> \r
>
>


----------
From: Valentin Villenave <[hidden email]>
Date: 2009/7/29
To: Marc Hohl <[hidden email]>
Cc: Grammostola Rosea <[hidden email]>, "Carl D.
Sorensen" <[hidden email]>, David Stocker
<[hidden email]>, Andrew Wilson <[hidden email]>,
Viktor Mastoridis <[hidden email]>, "David B. Stocker
([hidden email])" <[hidden email]>, Tony Willoughby
<[hidden email]>, Julian Casadesus <[hidden email]>,
Federico Bruni <[hidden email]>


2009/7/29 Marc Hohl <[hidden email]>:
In order to make sure that this work doesn't get lost, I need to open
a page in the tracker. Can anyone help me doing so by telling me, for
example:

- if such a page already exist (in which case it should be updated and
marked as "Started")
- what information this page should provide
- who's in charge of the patches, and where they are to be found

Regards,
Valentin

----------
From: Marc Hohl <[hidden email]>
Date: 2009/8/3
To: Valentin Villenave <[hidden email]>


Valentin Villenave schrieb: Hello Valentin, I found something under issue #810

http://code.google.com/p/lilypond/issues/detail?q=tablature&id=810 Hm,
I am not very familiar with the tracker, what information do you need?

The latest patch I sent to Carl covers the overall appearance of tablature
and includes:
1) tablature is now "numbers only" as default
2) dead notes and palm mute is supported
3) "tied to" fret numbers become invisible
 (or parenthesized after line breaks or in a second volta)
4) the slope of glissando lines points in the right direction
5) grace notes (even parenthesized) are represented by smaller
 fret numbers.

Furthermore, the patch provides a solution for the rhythmic distinction between
quarter and half notes (not the "L"-shape as suggested in #810, but a
double stemmed
fret number), but as default, tablature will not have /any/ stems at
all - but they can
surely be enabled.

I will work further on developing tablature features - the next big
step are bends. I sent them to Carl, and he pushed them to rietvield:

http://codereview.appspot.com/95059


Marc


> Regards,
> Valentin
>
>


----------
From: Valentin Villenave <[hidden email]>
Date: 2009/8/4
To: Marc Hohl <[hidden email]>


2009/8/3 Marc Hohl <[hidden email]>:
Thanks, I have updated the tracker page. I hope this will help your
patch to get merged.

Regards,
Valentin




--
Regards,
Valentin

bend.pdf (56K) Download Attachment