[tablatures] Fwd: invisible slurs in tablature

[ Thread Index | Date Index | More lilynet.net/tablatures Archives ]


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: invisible slurs in tablature
------------------------

From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/3/28
To: lilypond-user <lilypond-user@xxxxxxx>



Hi,

I want to get invisible slurs in tablature... how?
This is my score:



\header {
 title = "BLUE BOSSA"
 composer = "K. Dorham"
}

global = {
 \key c \minor
 \time 4/4
 \partial 4
  \override TabStaff.Stem #'transparent = ##t %% Makes stems transparent
\override TabStaff.Beam #'transparent = ##t %% Makes beams transparent
\override TabStaff.Dots #'transparent = ##t
\set TabStaff.minimumFret = #3

}

chordNames = \chordmode {
 \global
 % Akkoordnamen volgen.

}

jazzGuitar = \relative c' {
 \global
 % Muziek volgt hier.
 g4\4 | g'4.\1 f8\2 es d4 c8\3(  c2.\3)  bes4 as2) g'4.\1 f8\2( f1\2)
 g4.\1 es8\2 d\2 c4\3 bes8\3( bes2.\3) as4\4 g2\4 f'4.\2 es8( es1\2)
es4.\2 des8\3 c8\3 bes4 as8\4( as2.\4)
 ges4\4 ges4\4 f8 bes( bes) f\4 as4\4( as1\4) as4\4 g8\4 bes8( bes4.)
as8  as4 g8 bes8( bes4.) as8 g1( g2.) g4
}

chordsPart = \new ChordNames \chordNames

jazzGuitarPart = \new StaffGroup \with {
 %\consists "Instrument_name_engraver"
 %instrumentName = "Jazzgitaar"
} <<
 \new Staff \with {
  midiInstrument = "electric guitar (jazz)"
 } { \clef "treble_8" \jazzGuitar }
 \new TabStaff \with {
  stringTunings = #guitar-tuning
 } \jazzGuitar
>>

\score {
 <<
  \chordsPart
  \jazzGuitarPart
 >>
 \layout { }
 \midi {
  \context {
    \Score
    tempoWholesPerMinute = #(ly:make-moment 100 4)
  }
 }
}



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

----------
From: Neil Puttock <n.puttock@xxxxxxxxx>
Date: 2009/3/29
To: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Cc: lilypond-user <lilypond-user@xxxxxxx>


2009/3/28 Grammostola Rosea <rosea.grammostola@xxxxxxxxx>:
Simply \override Slur #'transparent in the same way as you've done for
the other objects in your TabStaff context.

Why aren't you using ties though
(http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Writing-rhythms#Ties)?

Regards,
Neil

----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/3/29
To:
Cc: lilypond-user <lilypond-user@xxxxxxx>


You're right, thanks!

Btw it's time to make tablature with invisible Ties, Slurs, Dots,
Stems etc. default imo.

\r
----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/3/30
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: lilypond-user <lilypond-user@xxxxxxx>


Marc Hohl wrote:
>
> Grammostola Rosea schrieb: I don't know whether this should be the default, but it should be archieved with a simple
> command, like \tabNumbersOnly (which isn't defined yet).
>
> Marc

I agree, all though I'm thinking the other way around:

\tabNumbers


Regards,
----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/3/30
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: lilypond-user <lilypond-user@xxxxxxx>


Uh   no that is not what I meant. I meant that I rather have to set
things on instead of off...
So as I see it now, default is \tabNumersOnly and if you want to add
stems etc there is a command for it.

A command to set all such features (stems, dots, Tie etc.) on, would
be nice maybe?

\tabSignsAll   (or something like that)
----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/3/31
To: Lilypond-User <lilypond-user@xxxxxxx>


Grammostola Rosea schrieb: I don't know how to make the stems and such
disappear by default, but
using a simple command
isn't that much effort. I have attached my tablature.ly which allows to
switch between the "normal" and
the "numbers only" settings. Both versions feature a modern tab clef. I
don't know whether the
time signature should disappear by default, but I use the NumbersOnly
settings only when a normal
staff and a tab staff are displayed together.

Comments, improvements etc. are welcome!

Marc


% tablature.ly

% ein schönerer TAB-Schlüssel
% http://lsr.dsi.unimi.it/LSR/Item?id=323
gitTAB = \markup {
 \raise #1.5 {
   \override #'(font-family . sans)
   \bold\huge
   \override #'(baseline-skip . 2.5)
   \column { "T" "A" "B" }
 }
}

modernTABClef = {
  \override TabStaff.Clef #'stencil = #ly:text-interface::print
  \override TabStaff.Clef #'text = #gitTAB
}

tabNumbersOnly = {
  % no time signature
  \override TabStaff.TimeSignature #'transparent = ##t
  % no stems, beams, dots
  \override TabVoice.Stem #'transparent = ##t
  \override TabVoice.Beam #'transparent = ##t
  \override TabVoice.Dots #'transparent = ##t
  \override TabVoice.Slur #'transparent = ##t
  % no tuplet stuff
  \override TabVoice.TupletBracket #'transparent = ##t
  \override TabVoice.TupletNumber #'transparent = ##t
  % modern TAB clef
  \modernTABClef
}

tabNumbersAndStems = {
  \revert TabStaff.TimeSignature #'transparent
  \revert TabVoice.Stem #'transparent
  \revert TabVoice.Beam #'transparent
  \revert TabVoice.Dots #'transparent
  \revert TabVoice.Slur #'transparent
  \revert TabVoice.TupletBracket #'transparent
  \revert TabVoice.TupletNumber #'transparent
  \modernTABClef
}

\version "2.12.2"
\include "tablature.ly"

tab = {
  \time 3/4
  c4 d( e)
  f g a
  \times 3/4 { b c d c }
}

\score {
     \new TabStaff = "guitar numbers only" { \tabNumbersOnly  \tab }
}

\score {
     \new TabStaff = "guitar full tab" { \tabNumbersAndStems \tab }
}

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


----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/3/31
To:
Cc: Lilypond-User <lilypond-user@xxxxxxx>


Thanks for your work Marc! :)

Maybe some lily devs can discuss how to make it default and make it
possible to add things (dots, stems etc.).

I tested it a bit and it seems to work ok. I don't know if
articulations etc belongs in tab too?

for example:

\version "2.12.2"
\include "tablature.ly"

tab = {
 \time 3/4
 c4. d-_( e\varcoda)
 ->f g~ a\prall g\thumb e-. f-. g-.
 \times 3/4 { b~ c d c }
}

\score {
    \new TabStaff = "guitar numbers only" { \tabNumbersOnly  \tab }
}

\score {
    \new TabStaff = "guitar full tab" { \tabNumbersAndStems \tab }
----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/3/31
To: Lilypond-User <lilypond-user@xxxxxxx>


I think you should also add:

\override TabVoice.Tie #'transparent = ##t
----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/4/1
To: Lilypond-User <lilypond-user@xxxxxxx>


I'm in doubt about that modern TAB sign... (all though it's always
good to have some choices)
I know most of the software / books display it like that, but should
we follow that or fits the default tab sign better in Lilypond?

\r
----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/4/1
To: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>, Lilypond-User
<lilypond-user@xxxxxxx>


If I understand correctly, you have a group of interested users who are
working on defining how Tablature should behave.

You also have a couple of tablature users who are interested in becoming
Frogs and thus joining the development team (Marc is one of them, IIRC).

When you have agreement as to what should be the default for tablature, then
it will be time to add the changes to the distribution (and Marc would be an
ideal person to do it).

Right now, as I understand it, there are some users who regularly have
TabStaffs without any other staff.  These users need stems, beams, flags,
ties, slurs, etc.

There is also a group of users who regularly use TabStaff with Staff.  These
users want only numbers, because the beams, stems, slurs, ties, etc. are all
in the regular music staff, and the TabStaff is only showing fret and string
information.

People who care strongly about tablature (of which I am *not* one) should be
the people who make the decision about what the default should be.  In fact,
I don't think there's anybody on the core development team who is strongly
interested in tablature.

That being said, I don't think that the decision to make notes only or full
music the default is a very important decision, as long as there is a single
command to change to the other style.

When the decision is made, and it's ready for submission to LilyPond, the
defaults will be established in ly/engraver-init.ly

The commands for changing from one to the other will be established in
ly/property-init.ly.

Marc, once you've got consensus, you can make the changes and roll me a
patch, and I'll apply it.

Thanks,

Carl

----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/4/1
To: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, "Carl D. Sorensen"
<c_sorensen@xxxxxxx>


Yes, of course. But then another problem occurs: if the tie isn't
visible, it looks as if there are two distinct
notes. Therefore, I think strongly about a scheme function (which at
the end should be hidden in the
TabVoice-context) which translates, e.g.

c4 d e2 ~ e4. e8

to

c4 d e2 s4. e8

so the spurious tablature number disappears in the output. From
earlier postings I knew that there are
several functions about automatically calculating intervals etc., but
I'm a scheme newbie. So I would be
glad if someone out there would give me a hint how to start writing
such a function. Hm, personally I don't like the standard LilyPond tab
sign, but it should be easy to switch between the two and leave the
desicion to the user.

Marc
----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/4/1
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>


Carl D. Sorensen schrieb: Yes, that's right. In songbooks you normally
find regular music staves with the additional
information about fret and string numbers, so the stems and stuff
would simply look too
complicated.
On the other hand, when I write down the intro of a song played by
guitar in tablature and the
rest of the song is simply the lyrics with some chords above, I want
to have the stems in the
tab to save space on the song sheet. Would it be easier to define two
separate staff commands? In my files, I define

noten = \relative c { c d e f }

and feed this into a Staff AND a TabStaff. So, why not create a
compound Staff (called \MusicTabStaff, for example),
which does exactly the same as

<< \Staff { \noten } \TabStaff  { \numbersOnly \noten } >>

and uses only the numbers, whereas \TabStaff (as defined in lilypond)
is used in the cases where
no regular staves are needed and thus shows up everything (stems,
slurs etc.)? Ok, but I think we are just at the beginning of the
topic. The more I think about tablature features/defaults,
the more complicated it gets ;-)

Marc
----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/4/1
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, "Carl D. Sorensen"
<c_sorensen@xxxxxxx>


You're right, good point.
----------
From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/4/1
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, "Carl D. Sorensen"
<c_sorensen@xxxxxxx>


It should be noted that a publishing standard is when there is a Note
Staff + Tab Staff, tied notes (that is, the notes that are 'held') in
the Tab Staff are indicated by parenthesizing the tab number(s). There
are several conventions that are related to tied notes in a Notes+Tab
situation:

  * Tab numbers that are 'tied to' are sometimes parenthesized,
    sometimes hidden.
  * In the case that 'tied to' notes are hidden, a parenthesized tab
    number is usually forced if the 'tied to' note is at the beginning
    of a line (i.e., the note is tied over a system break).
  * Likewise, parenthesized tab numbers are forced when a 'tied to'
    note begins a 2nd ending or Coda section.
  * A parenthesized chord in the Tab Staff are indicated with a single
    pair of parentheses surrounding all of the notes in the chord (as
    opposed to as single pair of parentheses around each individual
    note in the chord).

Additionally, parenthesized tab numbers figure in released bends.
Incidentally, I'm about to submit to the LilyPond-Tab community the
first few entries in the catalog of desired tab features and they deal
with some simple bends. I was going to try to make a comprehensive
list of all 'finger-bend' situations, but that is turning out to be
more work than I realized. So, instead I'm doing a short set of the
most common bend situations so that this can get rolling sooner.

Cheers,

David
----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/4/1
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>





On 4/1/09 1:09 AM, "Marc Hohl" <marc@xxxxxxxxxx> wrote:

> Carl D. Sorensen schrieb:
There are at least two ways to go with this.

The first is to have a StaffGroup that includes a Staff and a TabStaff.  It
would be something like a PianoStaff.  I don't know the details of how that
would word, but I suspect it could be done.

The second would be to write a simple music function with one argument (call
it myMusic) that expands to

<< \new Staff { myMusic} \new TabStaff {\numbersOnly \myMusic
\undoNumbersOnly} >>

This music function would be a simple substitution function>.  You can use
those in Notation Reference 6.1.2 as examples.
Oh, absolutely.  But it's not necessary to add everything all at once.
While we're in a development cycle (2.13), we can add features a little bit
at a time, and hopefully be close to done by the time we release 2.14.

----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/4/1
To: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, "Carl D. Sorensen"
<c_sorensen@xxxxxxx>


Great to have an tablature expert amongst us.  We 're looking forward
to your list David!

\r
----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/4/2
To: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, "Carl D. Sorensen"
<c_sorensen@xxxxxxx>


David Stocker schrieb: I should have known that my rude attempt was
way too simple :-) Great! As I see, you are the right person for this
job. I think, the bends are the most difficult part of the tablature
extension, and when we solve that, most other smaller features are
done "on the fly".

Greetings,

Marc
----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/4/2
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>


Carl D. Sorensen schrieb: Carl, thank you for your suggestions. I will
play a bit and see what way is
better/easier/etc. Just curious: is there a time frame for the release
of future versions,
as it is with the ubuntu linux releases every six months?

Marc
----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/4/2
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>


No firm time frame.  The last thing I heard was from Graham Percival, the
LilyPond Release Meister.  He said about 4 months, IIRC.

To track the release plans, you should be subscribed to lilypond-devel.

Thanks,

----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/4/18
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>


Ok, as Carl proposed, I put some modifications in ly/engraver-init.ly,
namely I created a \TabNumVoice , which is a copy of \TabVoice without
stems, dots, markups etc. The problem with the numbers in brackets
which are used at line breaks to indicate tied notes isn't solved yet, but
I have now at least a slight idea of how this could be done in scheme.

I also removed the Dynamic_engraver, but this doesn't work, the
dynamic signs are
still in the tablature. How can I remove the dynamics properly?

Marc


Carl D. Sorensen schrieb:
\version "2.12.2"

tab = {
  \time 3/4
  c4^"test" d( e)
  f4\f g a^\fermata
  c8\< c16 c ~ c2\!
  c'2.
  \mark \default
  R2.
  r4 d4 r8 r
  \times 3/4 { b4 c d c }
  c4. d-_( e\varcoda)
  ->f g~ a\prall g\thumb e-. f-. g-.
  \times 3/4 { b4 c d c }
}


\score {
  <<
  \new Voice { \clef "G_8" \tab }
  \new TabNumVoice \tab
  >>
}

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


----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/4/18
To: Marc Hohl <marc@xxxxxxxxxx>, Lily-Devel List <lilypond-devel@xxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>





On 4/18/09 9:22 AM, "Marc Hohl" <marc@xxxxxxxxxx> wrote:

> Carl D. Sorensen schrieb:
I think you misunderstood my suggestion.  I was suggesting:

1) Commands \tabNumbersOnly and \tabNumberedNoteHeads (or something similar
to that) would be defined in ly/property-init.ly.

2) The default behavior of the TabVoice would be establihed in
ly/engraver-init.ly

I don't think we want to have different contexts for different ways of
displaying tablature. In general, we want to have contexts represent
different musical entities, not different ways of displaying elements in
those entities. So we don't have a separate ShapeNoteVoice, we just have a
Voice with properties set so that the NoteHeads are shape note style.  If
you use a separate context, you can't switch from one to the other (although
with TabStaff, it's not likely that you would want to do that).

I think you can make a command that sets the stencils of all of the stuff
you don't want to #'f, which would be a better way to handle it.  But I've
copied this email to lilypond-devel, in case they don't agree with me.
In my copy of engraver-init.ly, when I look at the Voice context, I see that
the /consists Dynamic_engraver is commented out, and there is a /consists
New_dynamic_engraver line just above it.  I think you should /remove
New_dynamic_engraver, and you'll get the output you want.

Thanks,

Carl

P.S.  A couple of housekeeping things:

1) It's much easier for me to follow multiple threads if they are
interleaved, instead of having new messages posted on the top.  Maybe I'm
showing my age, but traditionally top-posting is less desirable in
discussion groups (see http://en.wikipedia.org/wiki/Posting_style).

2) LilyPond standards call for universal diffs (diff -u).   Please use that
style in the future; it makes it much easier to review patches before
applying.



_______________________________________________
lilypond-devel mailing list
lilypond-devel@xxxxxxx
http://lists.gnu.org/mailman/listinfo/lilypond-devel

----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/4/19
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: Lilypond-User <lilypond-user@xxxxxxx>, Lily-Devel List
<lilypond-devel@xxxxxxx>


Carl D. Sorensen schrieb:
Ok, this makes sense to me. My idea was to create a new context to simplify the
input and to allow a clear input structure, but things shouldn't get
too complicated ...

So I will focus on the two commands you proposed, if no-one disagrees.
Thank you! I searched through the LSR and found some snippets with
Dynamic_engraver,
I didn't know that there is a New_dynamic_engraver. Sorry, I will keep
that in mind. Ok. I didn't use diff until now, so I wasn't aware of
different options.

Marc
\version "2.12.2"

tab = {
   \time 3/4
   c4^"test" d( e) 
   f4\f g a^\fermata
   c8\< c16 c ~ c2\!
   c'2.
   \mark \default
   R2.
   r4 d4 r8 r
   \times 3/4 { b4 c d c }
   c4. d-_( e\varcoda)
   ->f g~ a\prall g\thumb e-. f-. g-.
   \times 3/4 { b4 c d c } 
}


\score {
   <<
   \new Voice { \clef "G_8" \tab }
   \new TabNumVoice \tab
   >> 
}
681,723d680
< %%+mh
< \context {
<   \Voice
<   \name "TabNumVoice"
<   \alias "Voice"
<   \consists "Tab_note_heads_engraver"
<   \consists "Tab_harmonic_engraver"
<   
<   \remove "Note_heads_engraver"
<   \remove "Fingering_engraver"
<   \remove "New_fingering_engraver"
< 
<   % no stems, beams, dots
<   \override Stem #'transparent = ##t
<   \override Beam #'transparent = ##t
<   \override Dots #'transparent = ##t
<   \override Slur #'transparent = ##t
<   \override Tie  #'transparent = ##t
<   % no tuplet stuff
<   \override TupletBracket #'transparent = ##t
<   \override TupletNumber #'transparent = ##t
<   % no coda, staccato etc. script signs
<   \remove "Script_engraver"
<   \remove "Dynamic_engraver"
<   \remove "Text_engraver"
<   \remove "Mark_engraver"
<   \remove "Rest_engraver"
<   \remove "Multi_measure_rest_engraver"
<   \description "Context for drawing only numbers in a Tab staff."
< 
<   %% No accidental in tablature !
<   \remove Accidental_engraver
< 
<   \override Glissando #'extra-dy = #0.75
<   \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
< 						   (padding . 0.3))
<   \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
< 						   (padding . 0.3))
<   \override Glissando #'extra-dy = #0.75
<   \override Glissando #'gap = #0.2
< }
< %%-mh
< 
734,736d690
<   %%+mh
<   \accepts "TabNumVoice"
<   %%-mh


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/