Re: Note names inside dots

2015-10-25 Thread pls
Thomas Morley  writes:

> 2015-10-24 23:20 GMT+02:00 Thomas Morley :
>>
>> Well, it's not related to my changes, as far as I can tell. See:
>>
>> \markup {
>>   \fret-diagram-verbose #'(
>> (place-fret 4 0)
>>   )
>> }
>>
>> I could follow this one bac to 2.14.2, the oldest I've installed atm
>>
>> Though, the syntax to enter an open string is `(open 4)', but with
>> this you can't print text inside the dot. It is currently not
>> supported.
>> Nevertheless, I'd call the additional barre a bug.
>>
>> Please file a bug report, if none exists already (didn't check). I may
>> have a look tomorrow (hopefully).
>>
>> Cheers,
>>   Harm
>
> Ok, I looked into it already.
>
> It's this line in fret-diagrams.scm:
> (set! capo-fret (1+ (- capo-fret minfret)))
> Basically, if minfret and capo-fret are both zero, capo-fret is set 1.

This inspired me to set capo to -1 and indeed the capo indication
vanishes:
\version "2.19.30"

\markup
  \override #'(size . 5)
  \override #'(fret-diagram-details . ((finger-code . in-dot)))
  \fill-line {
  \fret-diagram-verbose #`(
(capo -1)
(place-fret 3 0 "g")
  )
  }

(I know it's a dirty trick and I'll write a bug report as soon as I can.)
>
> This is present in 2.14.2 as well, I'll have to think about the reason
> for it (and the consequences changing it)

Thanks for looking into it!

Patrick

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


Re: Note names inside dots

2015-10-24 Thread pls
Hi Harm,

I just tested your changes (from 2014) to fret-diagram.scm and I really like 
the new
options.
There is only one little issue: when one defines text inside dots
for open strings an unwanted capo bar appears. Tiny example:

\version "2.19.30"

\markup
  \override #'(size . 5)
  \override #'(fret-diagram-details . ((finger-code . in-dot)))
  \fill-line {
  \fret-diagram-verbose #`(
(place-fret 4 0 "g")
  )
}

HTH,
Patrick

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


Re: Note names inside dots

2015-10-24 Thread Thomas Morley
2015-10-24 23:20 GMT+02:00 Thomas Morley :
> 2015-10-24 22:42 GMT+02:00 pls :
>> Hi Harm,
>>
>> I just tested your changes (from 2014) to fret-diagram.scm and I really like 
>> the new
>> options.
>
> Glad you like it.
>
>> There is only one little issue: when one defines text inside dots
>> for open strings an unwanted capo bar appears. Tiny example:
>>
>> \version "2.19.30"
>>
>> \markup
>>   \override #'(size . 5)
>>   \override #'(fret-diagram-details . ((finger-code . in-dot)))
>>   \fill-line {
>>   \fret-diagram-verbose #`(
>> (place-fret 4 0 "g")
>>   )
>> }
>>
>> HTH,
>> Patrick
>
> Well, it's not related to my changes, as far as I can tell. See:
>
> \markup {
>   \fret-diagram-verbose #'(
> (place-fret 4 0)
>   )
> }
>
> I could follow this one bac to 2.14.2, the oldest I've installed atm
>
> Though, the syntax to enter an open string is `(open 4)', but with
> this you can't print text inside the dot. It is currently not
> supported.
> Nevertheless, I'd call the additional barre a bug.
>
> Please file a bug report, if none exists already (didn't check). I may
> have a look tomorrow (hopefully).
>
> Cheers,
>   Harm

Ok, I looked into it already.

It's this line in fret-diagrams.scm:
(set! capo-fret (1+ (- capo-fret minfret)))
Basically, if minfret and capo-fret are both zero, capo-fret is set 1.

This is present in 2.14.2 as well, I'll have to think about the reason
for it (and the consequences changing it)


Cheers,
  Harm

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


Re: Note names inside dots

2015-10-24 Thread Thomas Morley
2015-10-24 22:42 GMT+02:00 pls :
> Hi Harm,
>
> I just tested your changes (from 2014) to fret-diagram.scm and I really like 
> the new
> options.

Glad you like it.

> There is only one little issue: when one defines text inside dots
> for open strings an unwanted capo bar appears. Tiny example:
>
> \version "2.19.30"
>
> \markup
>   \override #'(size . 5)
>   \override #'(fret-diagram-details . ((finger-code . in-dot)))
>   \fill-line {
>   \fret-diagram-verbose #`(
> (place-fret 4 0 "g")
>   )
> }
>
> HTH,
> Patrick

Well, it's not related to my changes, as far as I can tell. See:

\markup {
  \fret-diagram-verbose #'(
(place-fret 4 0)
  )
}

I could follow this one bac to 2.14.2, the oldest I've installed atm

Though, the syntax to enter an open string is `(open 4)', but with
this you can't print text inside the dot. It is currently not
supported.
Nevertheless, I'd call the additional barre a bug.

Please file a bug report, if none exists already (didn't check). I may
have a look tomorrow (hopefully).

Cheers,
  Harm

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


Re: Note names inside dots

2014-08-18 Thread Phil Holmes
No-one answered the first time: I assume that, like me, they could not work out 
what you're really asking for.  If it's putting note names within the dots of 
fret diagrams, that seems impossible: they're too small, it seems to me.

Could you mock up or scan what you're actually looking for?

--
Phil Holmes


  - Original Message - 
  From: Steven Harris 
  To: lilypond-user@gnu.org 
  Sent: Monday, August 18, 2014 6:45 PM
  Subject: Note names inside dots


  Hi all


  I hope this is the right place to get some advice 


  Can you put note names inside the dots of chord diagrams ? Not fingerings, 
Note names ? 
  Thank you in advance 


  Steven


--


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


Re: Note names inside dots

2014-08-18 Thread Thomas Morley
2014-08-18 19:56 GMT+02:00 Phil Holmes m...@philholmes.net:
 No-one answered the first time: I assume that, like me, they could not work
 out what you're really asking for.  If it's putting note names within the
 dots of fret diagrams, that seems impossible: they're too small, it seems to
 me.

 Could you mock up or scan what you're actually looking for?

 --
 Phil Holmes



 - Original Message -
 From: Steven Harris
 To: lilypond-user@gnu.org
 Sent: Monday, August 18, 2014 6:45 PM
 Subject: Note names inside dots

 Hi all

 I hope this is the right place to get some advice

 Can you put note names inside the dots of chord diagrams ? Not fingerings,
 Note names ?
 Thank you in advance

 Steven


Well, it _is_ possible.

Notenames may consists of many characters. While placing them inside
dots there's need to scale those names.
The attached file is a modified fret-diagrams.scm. It's a first
sketch, not a proper coding (David K. would likely say scaling works
by accident and he would be right.) and maybe I broke other things.

Currently my computer is broken. I have to work from another machine,
without git and other tools, and can't test thoroughly.
But perhaps the idea will become clear. Though I doubt printing
notenames can be done automagically.

Usage: If someone wants to test, replace fret-diagrams,scm in your
LilyPond with the attached file.

Attached is fret-diagrams,scm, test.ly and a png

HTH,
  Harm
\version 2.19.11

\markup 
  \override #'(size . 5)
  \override #'(fret-diagram-details . ((finger-code . in-dot)))
  \fill-line {
  \fret-diagram-verbose #`(
(place-fret 6 1 
   ,(markup 
 #:concat (
   #:vcenter e 
   #:fontsize -5 
   #:musicglyph accidentals.sharp)))
(place-fret 5 2 aisis)
(place-fret 4 3 f)
(place-fret 3 1 g#)
(place-fret 2 2 db)
(place-fret 1 3 aeses)
  )
  }
 This file is part of LilyPond, the GNU music typesetter.

 Copyright (C) 2004--2014 Carl D. Sorensen c_soren...@byu.edu

 LilyPond is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 LilyPond is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with LilyPond.  If not, see http://www.gnu.org/licenses/.

;;  Utility functions

(define (string-x-extent start-point end-point)
  Return the x-extent of a string that goes from start-point
to end-point.
  (let ((x1 (car start-point))
(x2 (car end-point)))
(if ( x1 x2)
(cons x2 x1)
(cons x1 x2

(define (string-y-extent start-point end-point)
  Return the y-extent of a string that goes from start-point
to end-point.
  (let ((y1 (cdr start-point))
(y2 (cdr end-point)))
(if ( y1 y2)
(cons y2 y1)
(cons y1 y2


(define (cons-fret new-value old-list)
  Put together a fret-list in the format desired by parse-string
  (if (eq? old-list '())
  (list new-value)
  (cons* new-value old-list)))

(define (get-numeric-from-key keystring)
  Get the numeric value from a key of the form k:val
  (string-number (substring keystring 2 (string-length keystring

(define (numerify mylist)
  Convert string values to numeric or character
  (if (null? mylist)
  '()
  (let ((numeric-value (string-number (car mylist
(if numeric-value
(cons* numeric-value (numerify (cdr mylist)))
(cons* (car (string-list (car mylist)))
   (numerify (cdr mylist)))

(define (stepmag mag)
  Calculate the font step necessary to get a desired magnification
  (* 6 (/ (log mag) (log 2

(define (fret-count fret-range)
  Calculate the fret count for the diagram given the range of frets in the diagram.
  (1+ (- (cdr fret-range) (car fret-range

(define (dot-has-color dot-settings)
  Return a color-name as symbol, if found in @var{dot-settings} otherwise @code{#f}
  (cond ((null? dot-settings)
 #f)
;; Don't bother the user with quote/unquote.
;; We use the name-symbol for the color, looking up in 'x11-color-list'
((member (car dot-settings) (map car x11-color-list))
 (car dot-settings))
(else (dot-has-color (cdr dot-settings)

(define (dot-is-inverted dot-settings)
  Return @code{'inverted}, if found in @var{dot-settings} otherwise @code{'()}
  (let ((inverted (member 'inverted dot-settings)))
(if inverted
(car inverted)
'(

(define (dot-is-parenthesized dot-settings)
  Return @code{'parenthesized}, if found in