bending: microtone TabNoteHeaded printed if in a chord
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
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
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
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
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]
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
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
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
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
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
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]
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
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