bending: microtone TabNoteHeaded printed if in a chord

2016-06-20 Thread Federico Bruni

Why is the TabNoteHead printed in the attached example?
It happens only when using a chord.

A related question: if this is not a bug and I'm forced to tweak the 
transparency of the TabNoteHead, how can I save the tweak in a 
variable? I think that it's not possible and I should use a function 
instead, right?


Harm, any ideas? (see comments in the attached file)

Thanks
Federico


\version "2.19.43"
\include "bend.ily"

myMusic = \relative {
  e,8 b' e\4 e b' e r4 |
  \bendOn
  % the bendings are printed correctly
  g,4( gih) g'( gih)
  
  % if I use a chord, the gih' TabNoteHead (3 1/2) appears
  2( )
  
  % disabling the TabNoteHead with a tweak is cumbersome in my real score (because it's repeated several times)
  % I cannot save a \tweak in a variable, right?
  ( )
}

\score {
  \new StaffGroup <<
\new Staff { \clef "treble_8" \myMusic }
\new TabStaff \with {
  stringTunings = \stringTuning 
}
{ \clef "moderntab" \new TabVoice \myMusic }
  >>
  \layout {
indent = 0
\context {
  \Score
  supportNonIntegerFret = ##t
}
\context {
  \StaffGroup
  \override StaffGrouper.staff-staff-spacing.padding = #5
}
  }
}
\version "2.18.0"

\header {
  oll-title = "Guitar string bending notation"
  oll-author = "Marc Hohl"
  oll-description = \markup {
This snippet allows to typeset bend symbols -
typically used on guitar - on Staff and TabStaff.
While issue 1196 aims to create a specific engraver
for bends, this snippet leverages the slur engraver.
  }
}

% TODO:
% - draw dashed line for \holdBend
% - enable consecutive bend ups
% - simplify \preBend and \holdBend usage
% - ...

%%% sizes and values (to be changed/adapted):

#(define bend-line-thickness 0.1)

#(define bend-arrow-curvature-factor 0.35)

#(define y-distance-from-tabstaff-to-arrow-tip 2.75)

#(define consecutive-bends-arrow-height 2.75)

#(define bend-arrowhead-height 1.25)

#(define bend-arrowhead-width 0.8)

#(define y-distance-from-staffline-to-arrow 0.35)

%%% internal commands
#(define (quarterdiff->string quarterdiff)
   (let ((wholesteps (floor (/ quarterdiff 4

 (string-append (case wholesteps
  ((0) "")
  (else (number->string wholesteps)))
   (case (modulo quarterdiff 4)
 ((1) "¼")
 ((2) "½")
 ((3) "¾")
 (else "")

%%% markup commands

#(define-markup-command (pointedSlur layout props thickness bx by mx my ex ey)
   (number? number? number? number? number? number? number?)
   (interpret-markup layout props
 (markup #:postscript
   (ly:format "~f setlinewidth
~f ~f moveto
~f ~f lineto
~f ~f lineto stroke" thickness bx by mx my ex ey

#(define-markup-command (drawBendArrow layout props
  thickness begin-x middle-x end-x begin-y end-y 
arrow-lx arrow-rx arrow-y outstring)
   (number? number? number? number? number? number? number? number? number? 
string?)
   (interpret-markup layout props
 (markup #:postscript
   (ly:format "~f setlinewidth
~f ~f moveto
~f ~f lineto
~f ~f ~f ~f ~f ~f curveto
stroke
~f ~f moveto
~f ~f lineto
~f ~f lineto
closepath fill"
thickness
begin-x begin-y
middle-x begin-y
middle-x begin-y end-x begin-y end-x arrow-y
arrow-lx arrow-y
end-x end-y
arrow-rx arrow-y)
   #:hspace 0
   #:translate (cons (- end-x 1.2) (+ end-y 0.5))
   #:fontsize -2
   #:bold
   ;; changed:
   ;#:center-column (outstring)
   outstring
   )))
#(define-markup-command (drawHoldBendWithArrow layout props
  thickness begin-x begin-y end-x end-y arrow-lx 
arrow-rx arrow-y outstring)
   (number? number? number? number? number? number? number? number? string?)
   (interpret-markup layout props
 (markup #:postscript
   (ly:format "~f setlinewidth
~f ~f moveto
~f ~f lineto
stroke
~f ~f moveto
~f ~f lineto
~f ~f lineto
closepath fill
~f ~f moveto
~f ~f lineto
stroke"
thickness
begin-x begin-y
begin-x arrow-y
arrow-lx arrow-y
begin-x end-y
arrow-rx arrow-y
begin-x end-y
end-x end-y)
   #:hspace 0
   #:translate (cons (- begin-x 1.2) (+ end-y 0.5))
   #:fontsize -2
   ;; Why does it work here??
   #:bold #:center-column (outstring

#(define-markup-command (drawHoldBendArrowOnly layout props
  thickness begin-x begin-y end-x end-y arrow-lx 
arrow-rx arrow-y outstring)
   (number? number? number? number? number? number? number? number? string?)
   (int

Re: bending: microtone TabNoteHeaded printed if in a chord

2016-06-20 Thread David Kastrup
Federico Bruni  writes:

> Why is the TabNoteHead printed in the attached example?
> It happens only when using a chord.

That one's over my head without investing some time so I'll wait to see
whether it's obvious to the authors first.

> A related question: if this is not a bug and I'm forced to tweak the
> transparency of the TabNoteHead, how can I save the tweak in a
> variable? I think that it's not possible and I should use a function
> instead, right?

It's possible and you should use a function.  "Saving a tweak" (but
actually defining a function anyway if you look closely is actually the
main use case for \etc .

   Both of those functions are simple single expressions where only the
last element of a function call or override is missing.  For those
particular function definitions, there is a simpler alternative syntax,
namely just writing out the constant part of the expression and
replacing its final missing element with ‘\etc’:

 padText =
   \once \override TextScript.padding = \etc

 \relative {
   c''4^"piu mosso" b a b
   \padText #1.8
   c4^"piu mosso" b a b
   \padText #2.6
   c4^"piu mosso" b a b
 }
 [image src="lilypond/55/lily-9fb15b75.png" alt="[image of music]" 
text="image of music"]

 custosNote =
   \tweak NoteHead.stencil #ly:text-interface::print
   \tweak NoteHead.text
  \markup \musicglyph #"custodes.mensural.u0"
   \tweak Stem.stencil ##f
   \etc

 \relative { c'4 d e f \custosNote g }
 [image src="lilypond/84/lily-bb731797.png" alt="[image of music]" 
text="image of music"]



-- 
David Kastrup

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


Re: Cues recursion

2016-06-20 Thread matpen3@gmail
Thanks David and Ben,

I followed this statement of the manual, it seemed more appropriate:

“For more complex cue note placement, e.g including transposition, or inserting 
cue notes from multiple music sources the \cueDuring or\cueDuringWithClef 
commands can be used.
The music from the corresponding measures of the quote name is added as a 
CueVoice context and occurs simultaneously with the music, which then creates a 
polyphonic situation."

I’ll try to reorganize the files structure.

Cheers

matteo

> Il giorno 20 giu 2016, alle ore 04:58, Benjamin Strecker 
>  ha scritto:
> 
> David, Matteo,
> 
> On Sun, Jun 19, 2016 at 9:53 PM, David Wright  
> wrote:
>> On Mon 20 Jun 2016 at 00:40:08 (+0200), matpen3@gmail wrote:
>>> I’m preparing parts for a quite complex score, and I’m using the ‘’\add 
>>> quote” command for cues.
>> 
>> Why aren't you using cues rather than quotes?
>> 
>>> Everything is fine until I have to quote a part that contains a cue of the 
>>> same one.
>>> For example, cues for the first violin are extracted from the second violin 
>>> that in turn has cues of the first.
>>> 
>>> Lilypond enters in a sort of freezing and then return a 'malloc error’.
>>> 
>>> That makes sense to me: I figure out that it recalls an endless recursion.
>>> I tried to use \killCues (\addQuote “FirstViolinCue" { \killCues 
>>> \FirstViolin}) bur it doesn’t work.
>> 
>> killCues kills cues, not quotes.
>> 
>> Cues are notes written in a part that aren't played by that part.
>> Quotes are notes written in a part that are played by that part.
>> So killing quotes would leave a part incomplete.
>> Killing cues leaves just the notes which actually belong to the part.
>> 
>> Cheers,
>> David.
>> 
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
> 
> Matteo is correct to be using addQuote to use the cueDuring function
> (http://lilypond.org/doc/v2.19/Documentation/notation/writing-parts#formatting-cue-notes).
> The problem here is not with recursive cues but recursive includes.
> As things stand, you are alternately \include-ing each of the violin
> parts until you run out of space.  I would recommend reorganizing your
> files a little bit so you don't have to \include each of the part
> files into the other.  Since you're creating both scores in the same
> file (in this example), you could use \addQuote in the score file.
> 
> I'm a bit pressed for time, but I hope that helps!
> Ben


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


Re: bending: microtone TabNoteHeaded printed if in a chord

2016-06-20 Thread Thomas Morley
Hi Federico,

2016-06-20 9:28 GMT+02:00 Federico Bruni :
> Why is the TabNoteHead printed in the attached example?
> It happens only when using a chord.

in `slur::draw-bend-arrow' there's the line
(ly:grob-set-property! right-tab-note-head 'transparent #t)
If you look at how right-tab-note-head is found, you'll notice that
the first typed note is taken and used as a starting point for the
tweaked slur and later on made transparent. Ofcourse this is not
enough while having a chord.

> A related question: if this is not a bug and I'm forced to tweak the
> transparency of the TabNoteHead, how can I save the tweak in a variable? I
> think that it's not possible and I should use a function instead, right?

I think David answered already sufficiently.
But ofcourse it is not nice to use a tweak to _repair_ buggy
behaviour, better to kill the bug.

> Harm, any ideas? (see comments in the attached file)


Should be straight-forward: make _all_ TabNoteHeads of the
target-chord transparent. See attached.
Look out for the comment:
 Change next line to the (for-each ...) expression
Please note: I didn't check whether other definitions have the same weakness.

2016-06-20 10:03 GMT+02:00 David Kastrup :
> That one's over my head without investing some time so I'll wait to see
> whether it's obvious to the authors first.

Well, I'm not the author, all merits to Marc Hohl.
Only working on it from time to time


Cheers,
  Harm


bend.ily
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


[OT] Research Opportunity at the Irish Traditional Music Archive

2016-06-20 Thread Piaras Hoban
Dear all,

[Apologies for any cross-posting]

The Irish Traditional Music Archive is seeking a post-doctoral researcher
for an EU funded project. We would appreciate if you could circulate the
following amongst colleagues/students who may be interested:



20 June 2016

Irish Traditional Music Archive :  Marie Skłodowska-Curie Actions
Individual Fellowship

The Irish Traditional Music Archive / Taisce Cheol Dúchais Éireann invites
Expressions of Interest from post-doctoral researchers interested in making
an application for a Marie Skłodowska-Curie Actions Individual Fellowship
in the non-academic sector. The project shall focus upon the development of
a common linked data framework that can be used to describe musics which
propagate via oral transmission and social networks.

Despite the recent proliferation of linked data ontologies there is an
apparent need for a vocabulary capable of describing musical entities and
relationships such as those found in the collections of the Irish
Traditional Music Archive (ITMA). ITMA will provide domain specific
expertise and access to its world-renowned resources for the duration of
the project.

Suitable candidates will possess a primary degree (or relevant experience)
in music with additional qualifications in areas such as information
science, library/archive studies, digital humanities and/or computer
science. In addition, they must fulfil the mobility requirement of the MSCA
Fellowship scheme which dictates that researchers shall not have been based
in the host country for more than 3 of the previous 5 years.

The duration of the project will be two years and shall be based at ITMA in
Dublin.

ITMA is a national reference archive and resource centre for the
traditional song, instrumental music and dance of Ireland. Established in
1987, the Archive is the first body to be exclusively concerned with making
a comprehensive collection of materials for the appreciation and study of
Irish traditional music and now holds the largest such collection in
existence worldwide. More information on ITMA and its work can be found at
http://www.itma.ie

Prospective candidates are encouraged to visit
https://ec.europa.eu/research/participants/portal/desktop/en/opportunities/h2020/topics/2226-msca-if-2016.html
for detailed information on the award and application process.


To discuss further please contact Piaras Hoban (Digital Projects Officer)
at piaras.ho...@itma.ie


Expressions of Interest must be submitted no later than 17:00 on Tuesday 12
July.




kind regards,

piaras hoban


//—

piaras.ho...@itma.ie

Digital Projects Officer

Irish Traditional Music Archive

73 Merrion Square


Dublin 2

D02 WK75


01 6619699

www.itma.ie
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


bending and line breaks [WAS:Re: Guitar bend error]

2016-06-20 Thread Federico Bruni
Il giorno lun 20 giu 2016 alle 8:58, Federico Bruni 
 ha scritto:

But it's more a
TODO:
  - How should this feature behave at line-break?
  - Until this is cleared disable line-breaks sufficiently.


I've browsed my tablature books but could not find a bend over a line 
break.
I've searched in the Eric Clapton "Unplugged" book (which was used as 
a reference when bend.ly was discussed) and could not find it. I 
would guess that other software try to avoid such a situation? (even 
though I think that this situation should be managed and not avoided)


The closest example I found (in another book) is actually a 
bend-tie-release (see file attached). So not a good example.


Blocked because too big. I've uploaded it here:
https://postimg.org/image/adoxhwk75/



Anyway, I would expect it to behave similarly to ties:

In the last measure of the system, where the bending starts, we 
should see the curved line ending with an arrow but without the steps 
(1/4, 1/2, 1, etc.) of the bending.
In the next measure after line break we should see the curved line 
continuing until it reaches the pitch; the bending "step" should be 
printed there.


I don't know how other software behaves.
I think I'll try MuseScore as soon as I can. It seems like it 
supports bending:

https://musescore.org/en/handbook/bends


I'm trying MuseScore... but I'm not motivated to try to understand a 
software I'll never use.
After a few tests I can only say that it's not a good reference at the 
moment.



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


Re: bending: microtone TabNoteHeaded printed if in a chord

2016-06-20 Thread Federico Bruni
Il giorno lun 20 giu 2016 alle 11:50, Thomas Morley 
 ha scritto:

Hi Federico,

2016-06-20 9:28 GMT+02:00 Federico Bruni :

 Why is the TabNoteHead printed in the attached example?
 It happens only when using a chord.


in `slur::draw-bend-arrow' there's the line
(ly:grob-set-property! right-tab-note-head 'transparent #t)
If you look at how right-tab-note-head is found, you'll notice that
the first typed note is taken and used as a starting point for the
tweaked slur and later on made transparent. Ofcourse this is not
enough while having a chord.


Ok, I see




 A related question: if this is not a bug and I'm forced to tweak the
 transparency of the TabNoteHead, how can I save the tweak in a 
variable? I
 think that it's not possible and I should use a function instead, 
right?


I think David answered already sufficiently.
But ofcourse it is not nice to use a tweak to _repair_ buggy
behaviour, better to kill the bug.


 Harm, any ideas? (see comments in the attached file)



Should be straight-forward: make _all_ TabNoteHeads of the
target-chord transparent. See attached.
Look out for the comment:
 Change next line to the (for-each ...) expression
Please note: I didn't check whether other definitions have the same 
weakness.


Thanks Harm

If I copy your file to my git repository (to see the differences), I 
see a lot of "garbage". Don't know where it comes from...
Would you mind sending a .diff file against the file I sent in this 
thread?



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


Re: bending: microtone TabNoteHeaded printed if in a chord

2016-06-20 Thread Federico Bruni
Il giorno lun 20 giu 2016 alle 20:28, Federico Bruni 
 ha scritto:
If I copy your file to my git repository (to see the differences), I 
see a lot of "garbage". Don't know where it comes from...
Would you mind sending a .diff file against the file I sent in this 
thread?


I mean, it's just this, right?
It works!

$ git diff
diff --git a/ly/tablature/bending.ily b/ly/tablature/bending.ily
index 41f768a..7814bab 100644
--- a/ly/tablature/bending.ily
+++ b/ly/tablature/bending.ily
@@ -224,7 +224,11 @@ thickness begin-x line-y end-x line-y
2)))

   (set! begin-x (+ begin-x x-offset))
-   (ly:grob-set-property! right-tab-note-head 'transparent 
#t)))

+   (for-each
+ (lambda (tab-note-head)
+   (if (grob::has-interface tab-note-head 
'tab-note-head-interface)
+   (ly:grob-set-property! tab-note-head 'transparent 
#t)))
+ (ly:grob-array->list (ly:grob-object right-bound 
'note-heads)


 ;; draw resulting bend arrow
 (grob-interpret-markup grob




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


Re: Custom / Fine tuning vertical space between piano staff lines

2016-06-20 Thread Noeck
Hi Harald,

> Unfortunately "\once \override NoteHead.minimum-Y-extent = #'(-20 . 0)"
> gives me a horrible result:
> - the note stem is extended

I know, NoteHead was just an example. You did not send a minimal
example, so I can't know which objects are close in your case. I've seen
the stem problem, but I am sure one can find a grob that works. I know
it is suboptimal, but I tried to give you sth to achieve what you want.

> - it increases the space between the piano staves (i.e. between the G clef
> staff and the F staff clef) which I don't want.

How do you want to increase the space without increasing the space? I
don't understand that.

> 
> And yes I want to add padding between two specific piano staves.
> 
> What I think/guess I need is the padding in staffgroup-staff-spacing
> http://lilypond.org/doc/v2.18/Documentation/internals/staffgrouper
> applied only \once between two staff groups.
> But what I tried didn't work.
> 
> ...
> 
> I tried to enable the Frescobaldi's display skylines (hidden inside Tools
> -> Layout Control Options, took me a while to find out) but I couldn't see
> any "blue lines",
> only blue boxes associated with notes and other elements. Maybe I'm doing
> something wrong ...

I see a rectangular outline (or call it boxes with lines only on one
side. I suppose we see the same thing.

Best,
Joram

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


Re: Kievan_ligature_engraver for normal staff

2016-06-20 Thread Thomas Morley
Hi Svetlana,

2016-06-16 12:42 GMT+02:00 Svetlana Lobanova :
> Thomas, thaks a lot! Your workaround is wery interesting and fits for simple 
> cases.
>
> Now I thought carefully about all complex examples which are not fixed this 
> way.
> 1) Eights (rare) and sixteens (wery specific use, there is even no special 
> sign for a single sixteenth note in kievan scores) have beams and flags, 
> which also should be shifted.
> 2) Dotted notes should have shifted dots.
> 3) Sometimes I use \prall and it also is not in place this way.
>
> Looking at all of these I wonder if we have to move all of them forwards or 
> just move a noteheads and slurs backwards?

Well, my approach using 'extra-offset was already last resort ...

> Also, could we use the fix only inside ligatures and not outside of them? In 
> ideal case I wouldn't put single notes inside ligature brackets, and there is 
> no problem with shifted notes ouside of ligatures already.

Kievan_ligature_engraver and kievan-ligature-interface doesn't offer
any useful pointers, p.e. I've no clue what 'primitive is supposed to
be ...

Sorry, but I have no reasonable idea to get forward
  Harm

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


Re:bending: microtone TabNoteHeaded printed if in a chord

2016-06-20 Thread Stephen MacNeil
Nice work to those that got the "microtones" working.

Not a tab user but curious anyway, also part of my question applies to the
standard notation.

Questions:
1. when did this happen? I notice it works on lilybin 2.19.38 but not on
2.18.2, would it be hard to get that to work?
2. there are many ways of indicating bends, some more popular then others.
If they are clear then it's no real big issue. The type that the bend.ily
or definitions.ily emulate typically indicates the standard notation with
an up and down bend, and the tab usually joins 2 arrows unless the bends
are not the same. I did a hack of this before to get it printed for a friend

http://mglessons.com/lilypond/svg/Ex30.png

here is an example from a book

http://mglessons.com/lilypond/Jimi-H-Blues_pages_14-14.jpg

the same applies for all bends microtone or not.

Is this feature in the works?

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


Re:bending and line breaks [WAS:Re: Guitar bend error]

2016-06-20 Thread Stephen MacNeil
Hi Federico

After teaching guitar for 20 years I will say it does happen, although very
rarely as it makes it hard to read. I avoid it at all costs in my own
typesetting. I grabbed a couple books from my studio library and the second
book I looked at had it on pg 22 so, ya it happens.

HTH
Stephen
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


function help

2016-06-20 Thread No Body
Hello,
I'm trying to make a fingering function for use with tab that takes a
string, such as "12345" or "23", breaks it apart and stacks it in a column
with a circle around each number.  I've commented out part of my feeble
attempt at a function so that my desired result can be produced with only
markup. I've read and read and am at the end of my wits. Any help would be
greatly appreciated! Thanks, Robby

Here's my code:

\version "2.18.2"

% ** Parts of this are commented out
fing = #(define-scheme-function
 (parser location str) (string?)

 ( markup
 ;#:column
 ;(map (lambda (c) ( #:circle (string c) ))(string->list str))
 )
)

% ** fingering markup
fingAll = \markup {
  \column {
\circle 5
\circle 4
\circle 3
\circle 2
\circle 1
  }
}

music = {
\relative c' {
\displayMusic { b4\2^\fingAll a\3 c\2^\fing "678"   g\2 }
}
}

\score {
  <<
\new TabStaff {
  \tabFullNotation
\set TabStaff.stringTunings = #banjo-open-g-tuning
\music
}
  >>
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user