Re: Score.skipTypesetting

2015-08-13 Thread Kevin Barry
Hi Orm,

On Tue, Aug 11, 2015 at 3:13 PM, Orm Finnendahl
orm.finnend...@selma.hfmdk-frankfurt.de wrote:
 As the instrument names are short, lilypond must know that it isn't at
 the beginning of the piece. It would be preferrable to have unindented
 first staffs, as that would better resemble the final layout, if the
 typesetting (re)starts at linebreaks.

LilyPond won't really try to guess something like this based on
instrument names. If you start a new \score block LilyPond will create
a new score, indented, at bar 1 etc., which is as it should be IMO
(i.e. it behaves consistently rather than trying to guess your
intentions). Multi-movement forms (suites, sonatas) frequently do this
(start a new indented score on the same page). Sometimes it can be a
good solution to use a new \score block in place of a line break in an
existing score, in which case the best thing to do would be to
continue as you are. If you post a snippet illustrating the problem
then perhaps someone could suggest an alternative that you haven't
thought of.

hth,
Kevin

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


Re: Score.skipTypesetting

2015-08-13 Thread Kevin Barry
Hi Orm,

I'm sorry I misunderstood your original message. I agree that it would
be better if it did not indent in this case, but I don't know of any
good workaround for it. Perhaps someone could request this as a
feature.

Kevin

On Thu, Aug 13, 2015 at 2:12 PM, Orm Finnendahl
orm.finnend...@selma.hfmdk-frankfurt.de wrote:
 Hi Barry,

  thanks for the answer. I might have been unclear:

 In a chamber music piece I'm writing, the first line of the score is
 (and should be) indented.

 While working on the score I want to typeset just the last part of the
 score and use

 Score.skipTypesetting = ##f

 in the beginning and set

 Score.skipTypesetting = ##t

 in some later part, e.g. after a \pageBreak.

 lilypond renders this partial score with the first line indented which
 is suboptimal as the beginning of this page will *not* get indented in
 the final (non partial) score.

 I was just proposing to fix that in case it's not very
 complicated. But as this is not a bug and I can circumvent this easily
 by setting the indentation to #0 when rendering partial scores I don't
 really want to start a bikeshed...

 --
 Orm

 Am Donnerstag, den 13. August 2015 um 13:57:44 Uhr (+0100) schrieb Kevin 
 Barry:
 Hi Orm,

 On Tue, Aug 11, 2015 at 3:13 PM, Orm Finnendahl
 orm.finnend...@selma.hfmdk-frankfurt.de wrote:
  As the instrument names are short, lilypond must know that it isn't at
  the beginning of the piece. It would be preferrable to have unindented
  first staffs, as that would better resemble the final layout, if the
  typesetting (re)starts at linebreaks.

 LilyPond won't really try to guess something like this based on
 instrument names. If you start a new \score block LilyPond will create
 a new score, indented, at bar 1 etc., which is as it should be IMO
 (i.e. it behaves consistently rather than trying to guess your
 intentions). Multi-movement forms (suites, sonatas) frequently do this
 (start a new indented score on the same page). Sometimes it can be a
 good solution to use a new \score block in place of a line break in an
 existing score, in which case the best thing to do would be to
 continue as you are. If you post a snippet illustrating the problem
 then perhaps someone could suggest an alternative that you haven't
 thought of.

 hth,
 Kevin

 ___
 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

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


Re: Score.skipTypesetting

2015-08-13 Thread Orm Finnendahl
Hi Barry,

 thanks for the answer. I might have been unclear:

In a chamber music piece I'm writing, the first line of the score is
(and should be) indented.

While working on the score I want to typeset just the last part of the
score and use

Score.skipTypesetting = ##f

in the beginning and set

Score.skipTypesetting = ##t

in some later part, e.g. after a \pageBreak.

lilypond renders this partial score with the first line indented which
is suboptimal as the beginning of this page will *not* get indented in
the final (non partial) score.

I was just proposing to fix that in case it's not very
complicated. But as this is not a bug and I can circumvent this easily
by setting the indentation to #0 when rendering partial scores I don't
really want to start a bikeshed...

--
Orm

Am Donnerstag, den 13. August 2015 um 13:57:44 Uhr (+0100) schrieb Kevin Barry:
 Hi Orm,
 
 On Tue, Aug 11, 2015 at 3:13 PM, Orm Finnendahl
 orm.finnend...@selma.hfmdk-frankfurt.de wrote:
  As the instrument names are short, lilypond must know that it isn't at
  the beginning of the piece. It would be preferrable to have unindented
  first staffs, as that would better resemble the final layout, if the
  typesetting (re)starts at linebreaks.
 
 LilyPond won't really try to guess something like this based on
 instrument names. If you start a new \score block LilyPond will create
 a new score, indented, at bar 1 etc., which is as it should be IMO
 (i.e. it behaves consistently rather than trying to guess your
 intentions). Multi-movement forms (suites, sonatas) frequently do this
 (start a new indented score on the same page). Sometimes it can be a
 good solution to use a new \score block in place of a line break in an
 existing score, in which case the best thing to do would be to
 continue as you are. If you post a snippet illustrating the problem
 then perhaps someone could suggest an alternative that you haven't
 thought of.
 
 hth,
 Kevin
 
 ___
 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: Score.skipTypesetting

2015-08-13 Thread Urs Liska


Am 13.08.2015 um 15:12 schrieb Orm Finnendahl:
 Hi Barry,

  thanks for the answer. I might have been unclear:

 In a chamber music piece I'm writing, the first line of the score is
 (and should be) indented.

 While working on the score I want to typeset just the last part of the
 score and use

 Score.skipTypesetting = ##f

 in the beginning and set

 Score.skipTypesetting = ##t

 in some later part, e.g. after a \pageBreak.

 lilypond renders this partial score with the first line indented which
 is suboptimal as the beginning of this page will *not* get indented in
 the final (non partial) score.

 I was just proposing to fix that in case it's not very
 complicated. But as this is not a bug and I can circumvent this easily
 by setting the indentation to #0 when rendering partial scores I don't
 really want to start a bikeshed...

Actually this is what I wanted to say too.
Score.skipTypesetting is most surely used as a means for optimizing the
workflow, and ideally you'd have the output a real excision of the
compiled score - which is of course inherently impossible.

But I would also prefer the output of such a compilation start with a
regular (i.e. non-first) staff, that is without indentation, instrument
names hidden measure number, and perhaps even time signature.

I think this should be rather trivial to implement, either as
skipTypesetting's default behaviour or in a new wrapper function.
More involved (but maybe not impossible) would be the wish to
automatically add missing spanner parts, e.g. starting dynamics or slurs
etc.

One thing I want to implement in Frescobaldi (rather soon, when our
current manuscript viewer is finished) is a compilation mode where
- one compilation writes the line and page breaks to a log file
- subsequently any single system can be recompiled through skipTypesetting
- while Frescobaldi determines the proper points for this using the log file
- The compiled line will be replaced in the music view. For this I want
to create a new viewing mode where a score is composed of a chain of
systems without the notion of a page.

This will work as long as the changes don't require the line breaking to
change - which should be detectable. I hope that this will significantly
smooth the user experience, although I know it's far from instant (for
example LilyPond still has to interpret the whole score first, so
engraving one system out of a 300 system score still takes a significant
amount of time.

For such an undertaking having the partially compiled score start just
like from within the score (instead of creating a complete score)
would be quite useful, although I can easily see a workaround (for my
case): Compile one additional measure before and after the current
system and insert manual line breaks.

So I second Orm's feature request.

Urs


 --
 Orm

 Am Donnerstag, den 13. August 2015 um 13:57:44 Uhr (+0100) schrieb Kevin 
 Barry:
 Hi Orm,

 On Tue, Aug 11, 2015 at 3:13 PM, Orm Finnendahl
 orm.finnend...@selma.hfmdk-frankfurt.de wrote:
 As the instrument names are short, lilypond must know that it isn't at
 the beginning of the piece. It would be preferrable to have unindented
 first staffs, as that would better resemble the final layout, if the
 typesetting (re)starts at linebreaks.
 LilyPond won't really try to guess something like this based on
 instrument names. If you start a new \score block LilyPond will create
 a new score, indented, at bar 1 etc., which is as it should be IMO
 (i.e. it behaves consistently rather than trying to guess your
 intentions). Multi-movement forms (suites, sonatas) frequently do this
 (start a new indented score on the same page). Sometimes it can be a
 good solution to use a new \score block in place of a line break in an
 existing score, in which case the best thing to do would be to
 continue as you are. If you post a snippet illustrating the problem
 then perhaps someone could suggest an alternative that you haven't
 thought of.

 hth,
 Kevin

 ___
 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


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


Re: problem with installed font when set-global-staff-size is changed

2015-08-13 Thread tisimst
Jonathan

On 8/11/2015 5:15 PM, jonathan.scholbach [via Lilypond] wrote:
 (Setting the font-sizes manually is necessary since for some unknown
 reason, the font-size decreases.)

This is because virtually everything that has any kind of font property 
is scaled relative to the staff-height. So, at 20pt staff-height, a 12pt 
font looks just right, but at 17pt staff-height, it ends up being scaled 
down to 12*(17/20) = 10.2pt. There are ways around this, though. Markups 
have the \abs-fontsize macro, but there isn't a built-in one for 
anything else, like Lyrics. A really nice macro was put together by Mike 
Solomon so the absolute nature of font size can be applied to any 
other kind of text object. Here's the code for it:

allowGrobCallback =
#(define-scheme-function (parser location syms) (symbol-list?)
(let ((interface (car syms))
  (sym (cadr syms)))
  #{
\with {
  \consists #(lambda (context)
`((acknowledgers .
  ((,interface . ,(lambda (engraver grob source-engraver)
(let ((prop (ly:grob-property grob sym)))
  (if (procedure? prop) (ly:grob-set-property! grob sym 
(prop grob)))
)))
}
  #}))

absFontSize =
#(define-scheme-function (parser location pt)(number?)
(lambda (grob)
  (let* ((layout (ly:grob-layout grob))
 (ref-size (ly:output-def-lookup (ly:grob-layout grob) 
'text-font-size 12)))
(magnification-font-size (/ pt ref-size))
)))

\layout {
   \context {
 \Score
 \allowGrobCallback font-interface.font-size
   }
}

which you then can use like this:

\override LyricText.font-size = \absFontSize 11.5

Without this, then to get back up to 12pt you'd need to manually 
increase the font-size, which is what you've learned already.

Regards,
Abraham






--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/problem-with-installed-font-when-set-global-staff-size-is-changed-tp179484p179539.html
Sent from the User mailing list archive at Nabble.com.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


PDF properties

2015-08-13 Thread Noeck
Hi,

lately there was a mail on this list about PDF properties/headers. I
tried them and it seems like the PDF author field is filled with the
composer. This is nice fall back but in most cases the author of the
document and the composer will be different. Of course, I can write
pdfcomposer = Author Name
Then it appears correctly as /Author(Author Name)
But it also appears as /Composer(Author Name) which is wrong.

Wouldn't it make sense to offer both fields: Author and Composer?
A fallback if no author is given makes sense but it would be good to be
able to specify an author differing from the composer.

Cheers,
Joram

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


Re: Score.skipTypesetting

2015-08-13 Thread Brian Barker

At 15:12 13/08/2015 +0200, Orm Finnendahl wrote:
In a chamber music piece I'm writing, the first line of the score is 
(and should be) indented. While working on the score I want to 
typeset just the last part of the score and use


Score.skipTypesetting = ##f

in the beginning and set

Score.skipTypesetting = ##t

in some later part, e.g. after a \pageBreak.

lilypond renders this partial score with the first line indented 
which is suboptimal as the beginning of this page will *not* get 
indented in the final (non partial) score.


Wouldn't a (slightly messy) workaround be to position the restart of 
typesetting at a point before the page break - and perhaps a bar or 
two before that? You'd get a first, rubbish page, but the part you do 
want should be closer to how it will appear in the final copy.


Brian Barker 



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


Re: Centering a stencil on another stencil

2015-08-13 Thread Paul Morris
Here’s another possibility that uses an optional axis argument.  -Paul

\version 2.19.22

#(define* (center-stencil-on-stencil stil-a stil-b #:optional axis)
   Return a copy of stencil @var{stil-b} that has been moved 
   so it is centered on stencil @var{stil-a} on @var{axis}. When
   @var{axis} is omitted, the centering is done on both X and
   Y axes. @var{axis} is 0 for X axis, 1 for Y axis.
   (if axis
   ;; center on one axis only
   (ly:stencil-translate-axis
(ly:stencil-aligned-to stil-b axis CENTER)
(interval-center (ly:stencil-extent stil-a axis))
axis)
   ;; center on both X and Y axes
   (ly:stencil-translate
(centered-stencil stil-b)
(cons
 (interval-center (ly:stencil-extent stil-a X))
 (interval-center (ly:stencil-extent stil-a Y))

square =
#(make-connected-path-stencil
  '((0 0) (4 0) (4 4) (0 4) (0 0))
  0.4 1 1 #f #f)

blue-square =
#(stencil-with-color (make-filled-box-stencil '(0.4 . 2) '(0.4 . 2)) blue)

\markup
\override #'(word-space . 3)
\line {
  \stencil #(ly:stencil-add square blue-square)
  \stencil #(ly:stencil-add square
  (center-stencil-on-stencil square blue-square X))
  \stencil #(ly:stencil-add square
  (center-stencil-on-stencil square blue-square Y))
  \stencil #(ly:stencil-add square
  (center-stencil-on-stencil square blue-square))
}





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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Sat, 25 Jul 2015 02:18:40 +0200
David Kastrup d...@gnu.org wrote:

 Kieren MacMillan kieren_macmil...@sympatico.ca writes:
 
  Hi all,
 
  I’m no Scheme expert, of course… but it seems there should be
  a relatively easy way to code a music function which says
  “take all pitches [entered as ’naturals’] and add any
  accidentals which exist in the corresponding key signature
  entry for that pitch class”, no? i.e., if the input is ‘c’,
  and there’s a C# in the key signature, output cis; if the
  input is ‘d’, and there’s a Db in the key signature, output
  des; etc.
 
 What _is_ the current key signature?
 
 \key a \major \transpose c d { \key f \major \transpose d f { a
 b c d e f g } }
 
 What should the result be?  Is f \major supposed to be fis
 \major ?  Are we talking about \transpose cis d or \transpose c
 d ?
 
 You can define rules LilyPond will be able to follow, sure.
 But at what point will they stop making sense to humans and
 other tools?
 
  If this input were wrapped in a function, then the final
  input code would really be no less readable/manipulable than
  if it were wrapped in a \transpose.
 
  Just a thought,
 
 Getting dogmatic about LilyPond's input language and declaring
 it as God-given at least has the advantage that one avoids
 extended discussions about recurring bad ideas every three
 months.
 
 Where would Bach's Kunst der Fuge had been if b a c h had
 not spelled out a theme unambiguously?  I'm sure if I think
 hard enough, I can come up with more strained references to
 authority to bolster my case.
 
 I am no expert but it seems there should be a relatively easy
 way is a good way to start sentences that will cause actual
 experts to go into conniptions.
 
 You don't want to go there is something nobody ever believes
 me, so I have to settle for if you want to go there, you'll
 need to learn how to do it yourself, and by the time you know
 how to do it, you'll understand why it's a bad idea.

Was the key signature a bad idea? Writing music by hand, do you
write all the chromatic signs or write a key signature? The only
difference with writing and typing is that a program can type
whatever chromatic signs you want in for you. 

Kindest regards, Rale

-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Sat, 25 Jul 2015 00:31:42 +0200
Hans Aberg haber...@telia.com wrote:

 
  On 25 Jul 2015, at 00:18, Brother Gabriel-Marie
  brgabr...@sspx.org wrote:
  
  My problem was a coding issue, not a musical issue.
  I wanted a coding solution to save keystrokes but everyone
  wanted to talk music theory.
 
 If you use 
   \language english
 then flats are suffix “f” and sharps “s”, so that saves
 keystrokes.

I hate that f. b for flats makes more sense to me, and I use
that sometimes too. And IMO the option of using # for sharps
would be a good idea. That makes a language suitable for
indicating music to be written by hand or quoting a few
notes or chords in text. If it could be used to enter notes in
lilypond as well, it would be very much more useful, IMO.

I'd call it American-International.

Kindest regards, Rale

-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Mon, 10 Aug 2015 07:18:18 +0200
David Kastrup d...@gnu.org wrote:

 David Raleigh Arnold d...@openguitar.com writes:
 
  On Thu, 23 Jul 2015 11:33:50 -0500
  Brother Gabriel-Marie brgabr...@sspx.org wrote:
 
  When you use key signatures like A major or B Major you end 
  up with a lot of naturals in the score for which you may 
  have to manually add sharps.
  
  Is there a switch that will automatically sharp all the 
  naturals?
  I was looking at this:
  http://www.lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#automatic-accidentals
  
  This was the closest I could see:
  \accidentalStyle modern
  
  The developers have resisted this from the beginning, because
  they don't realize how easy it would be. There may be also a
  certain contempt for the user or composer who is not expected
  to know what key he's in.
 
 Well, at some point of time you'll need to decide yourself
 whether LilyPond's semantics are due to stupidity or to
 malice.  It seems a bit greedy to claim both.
 
 At any rate, it is more a certain contempt for the computer
 that is not expected to know what key it's in.  Instead, it
 uses accidental rules at the time of typesetting (not even
 iteration) in order to figure out the best graphical
 representation for the pitch.  That's not infallible as issues
 like
 URL:https://code.google.com/p/lilypond/issues/detail?id=1134
 show.
 
 That reminder and cautionary accidentals are an integral part
 of music typesetting would tend to give some indication that
 humans share those problems.
 
 At any rate, I cannot find a single commit in all of LilyPond's
 code base attributed to you.
 
 Wouldn't it be more convincing if you were able to back up your
 better understanding of the involved matters with actual code?

It's not involved. It just saves typing. Kindest regards, Rale

# keys.sed 
# Writes chromatic signs according to key for _single letter_ notes
# within a range begun with, for examples: Key2#, Key3b, Keynn, and
# ended with: Key0 (0=zero). There is no transposition, but you can use
# a different key indication from lilypond's. Writes english.ly but
# you may enter b (or f) for flat, bb (or w) for double flat,
# and # (or s) for sharp, but only x for double sharp. Use 'n' to
# protect an accidental natural. You may enter h, b, or bn, but
# there is no h#. These alternative language choices are both easier
# to read and quicker to write than lilypond input, but lilypond is not
# the only use for these alternatives.
# More shortcuts, etc., inside range:
# r=a4 will become a4\rest
# V3 = \voiceThree
# Outside range:
# %% -- all lines starting thus will be deleted. NB space
# (c)2005 David Raleigh Arnold. --GNU Enjoy! rev. 20100528

# comments: del from whole file
/^%% .*/d

# key range -- top 
/Key[1-7n][b#n]/,/Key0/{

# branch to fall off end--problem dumb mistake?
#/%.*/b 

### Format:
# no tabs
s/\t/ /g

# space follows/precedes curly, pointer, to prettify.
s/[{]/ /g
s/[}]/ /g

# put spaces at begin and end of line, double spaces inside
# to simplify process of note names
s/  */  /g
s/^ */ /
s/ *$/ /

### Actions

# change # to s with notes
s/\( [a-g]\)#/\1s/g  

# make r=a4 into a4\rest. Work with R?
s/ r=\([a-g]\)\([^ ]*\) / \1n\2\\rest /g

# voices
s/V1/\\voiceOne/g
s/V2/\\voiceTwo/g
s/V3/\\voiceThree/g
s/V4/\\voiceFour/g
s/V0/\\oneVoice/g

# mark single letter notes only. Accidentals will
# be added as they fall into the right key.

s/\( [a-g]\)\([^wbfnxs#]\)/\1%flatORsharp%\2/g

# goto (branch) and fall through
/Key7b/,/Key0/b keycb
/Key6b/,/Key0/b keygb
/Key5b/,/Key0/b keydb
/Key4b/,/Key0/b keyab
/Key3b/,/Key0/b keyeb
/Key2b/,/Key0/b keybb
/Key1b/,/Key0/b keyfn
/Key7#/,/Key0/b keycs
/Key6#/,/Key0/b keyfs
/Key5#/,/Key0/b keybn
/Key4#/,/Key0/b keyen
/Key3#/,/Key0/b keyan
/Key2#/,/Key0/b keydn
/Key1#/,/Key0/b keygn 
/Keynn/,/Key0/b finish
:keycb
s/f%flatORsharp%/f%flat%/g
:keygb
s/c%flatORsharp%/c%flat%/g
:keydb
s/g%flatORsharp%/g%flat%/g
:keyab
s/d%flatORsharp%/d%flat%/g
:keyeb
s/a%flatORsharp%/a%flat%/g
:keybb
s/e%flatORsharp%/e%flat%/g
:keyfn
s/b%flatORsharp%/b%flat%/g
b finish

:keycs
s/b%flatORsharp%/b%sharp%/g
:keyfs
s/e%flatORsharp%/e%sharp%/g
:keybn 
s/a%flatORsharp%/a%sharp%/g
:keyen 
s/d%flatORsharp%/d%sharp%/g
:keyan 
s/g%flatORsharp%/g%sharp%/g
:keydn 
s/c%flatORsharp%/c%sharp%/g
:keygn 
s/f%flatORsharp%/f%sharp%/g

:finish
# could leave out next line for debugging;
s/%flatORsharp%//g
# output english.ly. You can easily convert to
# any other language you want.  
# flat is f
s/%flat%/f/g
# conversions:
s/ h/ bn/g
s/\( [a-g]\)b/ \1f/g
s/\( [a-g]\)w/ \1ff/g
s/\( [a-g]\)bb/ \1ff/g
# sharp is s
s/%sharp%/s/g
# ss or x should not require action

# clean up. Getting rid of n's
s/\( [a-g]\)n/\1/g

# finger number in front of one note: use -hyphen
# 2? so it can't be done twice?. notes are done already
s/\( [a-g][^- \t]*\)-\([1-4]\)/ \\fol \1-\2/g
# include lynn
# reformat
s/{ */{ /g
s/ */ /g
s/ */ /g
s/ *}/ }/g
s/{ *{/{{/g
s/{ *{/{{/g
s/} 

Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Sat, 25 Jul 2015 09:35:44 +0200
Malte Meyn lilyp...@maltemeyn.de wrote:

 
 
 Am 25.07.2015 um 01:32 schrieb Kieren MacMillan:
  I’m no Scheme expert, of course… but it seems there should be
  a relatively easy way to code a music function which says
  “take all pitches [entered as ’naturals’] and add any
  accidentals which exist in the corresponding key signature
  entry for that pitch class”, no? i.e., if the input is ‘c’,
  and there’s a C# in the key signature, output cis; if the
  input is ‘d’, and there’s a Db in the key signature, output
  des; etc.
  
 
 What you can do is something like
 
 bmajoraccidentals = { c cis d dis f fis g gis a ais }
 \modalTranspose c cis \bmajoraccidentals \relative {
 \key b \major
 b c d e f g a b
 }
 
 So you don’t even need a new function. But that’s very
 unflexible as it doesn’t allow you to enter pitches other than
 b cis dis e fis gis ais, bis, eis, and all the flats. But you
 won’t get it much more flexible even with a new function.

\key a Major ... \follow gs cs ff {...

More flexible, but insane in the example. 
Kindest regards, Rale

-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Fri, 24 Jul 2015 14:20:24 +0200
David Kastrup d...@gnu.org wrote:

 Robert Schmaus robert.schm...@web.de writes:
 
  I wasn't being rude,
 
 Rudeness is determined at the receiving end of a
 communication.  The best you can say is that you did not intend
 to be rude.
 
  just reminding the guy what his patron saint considers to be
  objective, absolute, and immutable truth. Which everyone's
  free to believe ... as long as they keep it to themselves.
 
 And then I have my problems even reconciling that with what you
 write here.
 
  Rude would be to badmouth guys (like you  me) for trying to
  help - the advice on SE was pretty much the same as from the
  list - because they suggested that you might not understand
  what you're doing.
 
 LilyPond's notename philosophy happens to be from a culture
 remote from the English speaking world.  In Dutch or German,
 you never, ever, would call a cis anything other than cis.
 It's not a c sharp, namely some qualified c.  That's a
 totally different note and name.  There is no such thing as a
 c natural when talking about notes.  It's either c or not.
 You don't need to specify the key signature when discussing a
 chord: all note names are absolute.  Always.
 
 LilyPond is internationalized in that it offers English
 notenames, but it does not offer the accompanying notename
 philosophy.  And the fuzziness coming with such a philosophy is
 not helpful in the context of a computer description of music,
 so it's not all that likely that this will ever change.
 
 But that does not mean that other philosophies are only
 entertained by idiots, so there is no necessity of letting that
 kind of vibe come off here.
 
 The best advice with regard to dealing with LilyPond's notename
 philosophy is to get used to it.  LilyPond editing tools may
 give offer some of the efficiency advantages of more flexible
 naming philosophies without having ambiguities creep into the
 resulting input text.
 
  As for tolerance: I agree I shouldn't have made the remark in
  the first place. This is not the place for it, so sorry to
  everyone for the extra mails. But the Pius Brothers are about
  as tolerant as the IS when it comes to anything outside their
  objective, absolute truths (note the plural), so I simply
  couldn't suppress the urge.
 
 This mailing list is not the place for trying to propagate your
 religious affiliations.  People are invited to communicate here
 about LilyPond without having to hide their gender, religion,
 nationality and other parts of their identity.
 
 It may be worth mentioning that one priest who was grateful for
 LilyPond allowing him to prepare scores suitable for the
 eyesight of his older brethren gave me some part of his modest
 remaining possessions when he took his vow of poverty.
 
 Different religious convictions do not preclude us from
 treating each other with respect.  Even if it means suppressing
 your urges.  Let's not forget that the whole idea of being
 civilized is not being a slave to your urges.
 

Just a reminder from a Buddhist that if it
weren't for the Christian church, we would not have music
notation. We'd be stuck with tablature like every other society.

Kindest regards, Rale

-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: Centering a stencil on another stencil

2015-08-13 Thread Paul Morris
Hi Harm,

 On Aug 13, 2015, at 3:43 PM, Thomas Morley thomasmorle...@gmail.com wrote:
 
 I like this best and would go for it.

Sounds good ...and done:
http://lsr.di.unimi.it/LSR/Item?id=1009

 Regretable my vacations ended. Meaning I've reasonable less time :(

I suppose all good things must come to an end…  Hope they went well!

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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Sat, 25 Jul 2015 12:07:19 +0200
David Kastrup d...@gnu.org wrote:

 Wols Lists antli...@youngman.org.uk writes:
 
  On 25/07/15 08:04, David Kastrup wrote:
  If we wanted to support natural English note entry, it
  would become LilyPond's problem.
 
  As an irrelevant aside :-)
 
  Throwing another little spanner in the works - about what
  words mean ...
 
  I really hate it when people say English, and mean
  American ...
 
  (yes, we use the same names for pitch, but we do not use the
  same names for length ...)
 
 Because UK went metric and the US loves the royals so much they
 stuck with Imperial?
 
 At any rate, Americans tend to write C4 instead of c' so I am
 not sure why you are objecting against my characterization.
 

Along with France, the U. S. was the first country to officially
adopt the metric system. We each have meter bars. Unfortunately,
the implementation has been delayed. How could anything like that
happen? Kindest regards, Rale- 

-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Mon, 10 Aug 2015 13:47:34 +0200
David Kastrup d...@gnu.org wrote:

 Thomas Morley thomasmorle...@gmail.com writes:
 
  If I understand correctly your proposal is that
 
  \language english
 
  m = { ff' f' fs' }
 
  \m
  \follow fs \m
  \follow ff \m
 
  will be printed different.
 
 Well, it would be more likely
 
 \follow fs \m
 \follow ff \m
 
 here.  That would be _one_ basic idea of implementation.  This
 one would mark non-explicit pitches c d e f g a b specially so
 that \follow can distinguish them from cn dn en fn gn an bn.
 The unspecificness would be kept in the music.  How and when
 should it get resolved when there is no \follow involved at
 all?  What happens if we \transpose music containing unspecific
 pitches?

Why make it hard? The aim is just to have the option of
\follow-ing the key signature, and that must be all done before
\transpose or any other choices are made.
 
 Another implementation would be to keep the music expressions
 unambiguous and instead use a different notename language
 variant, perhaps invoking it like
 
 \language \key a \major english
 
 which will redefine all unspecific note names in
 correspondence with the key.  Or maybe just
 
 \languagekey a \major

It's just a 14 item hash table for each language. The n could
be the same everywhere, since it's in no language anyway, or, if
I'm wrong about that, make it 15 items.
 
 That will basically make the typical document be written in a
 large variety of notename languages which makes for a lot of
 fun when editing and/or copy/pasting motives around.

This is an advantage of keeping it an editing tool. You have a
few now, none as useful as this, to me anyway. 
 In
 particular, editing functionality like that of Frescobaldi
 (which may be asked to transpose passages for the user) will
 become unreliable, and the inability of an external tool to
 figure out the right pitches without context of course is
 matched by a similar potential for confusing users.

Again, without \key, \follow makes no sense.
 
 
  In my thinking that's absolute crude.
  Though, obviously there are other opinions about that.
 
  Patches are always welcome.
 
 But one needs to be warned that they may meet resistance to
 acceptance, so there is some sense in figuring out the other
 developers' opinions before investing a lot of work, at least
 if one's ultimate goal is the inclusion as an integral part of
 the standard LilyPond distribution.
 
 A somewhat smaller but comparable can of worms is \relative
 mode. A frequent topic on the mailing list is how do I make my
 music functions work in \relative mode? and often answers are
 not straightforward.  Many LSR snippets work only either in
 absolute mode or in relative mode, and not necessarily reliably
 so.

An editing tool should do the conversion before lilypond goes
cattywampus. And what is the purpose of \relative? To save typing.
 
 So it is pretty much established that the music-based approach
 comes with a healthy load of problems, and the input language
 based approach, while condensing most of the problems in one
 place, makes source code management a headache because each
 source code passage comes with its own associated input
 language.

The inclusion of \relative or \follow need not cause difficulties
if conversions from them can be supplied to the user as
part of the editing process. Both are basically editing tools
which need not be allowed to cause problems with ensuing
processes.

Kindest regards, Rale



-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Fri, 24 Jul 2015 17:18:09 -0500
Brother Gabriel-Marie brgabr...@sspx.org wrote:

 Mr. Schmaus,
 
 My problem was a coding issue, not a musical issue.
 I wanted a coding solution to save keystrokes but everyone 
 wanted to talk music theory.
 So I thought I would ask here where everyone knows both.
 In the end, I've learned that there's no easy coding 
 solution and that I'm going to have to sharp all the 
 naturals myself in the code.  I am used to programming 
 languages where you can wrap a string in a custom function 
 and have it do that for you; moving from regular programming 
 languages to a layout code like this requires one to think 
 differently.

But you can play with it before lilypond sees it:

# keys.sed 
# Writes chromatic signs according to key for _single letter_ notes
# within a range begun with, for examples: Key2#, Key3b, Keynn, and
# ended with: Key0 (0=zero). There is no transposition, but you can use
# a different key indication from lilypond's. Writes english.ly but
# you may enter b (or f) for flat, bb (or w) for double flat,
# and # (or s) for sharp, but only x for double sharp. Use 'n' to
# protect an accidental natural. You may enter h, b, or bn, but
# there is no h#. These alternative language choices are both easier
# to read and quicker to write than lilypond input, but lilypond is not
# the only use for these alternatives.
# More shortcuts, etc., inside range:
# r=a4 will become a4\rest
# V3 = \voiceThree
# Outside range:
# %% -- all lines starting thus will be deleted. NB space
# (c)2005 David Raleigh Arnold. --GNU Enjoy! rev. 20100528

# comments: del from whole file
/^%% .*/d

# key range -- top 
/Key[1-7n][b#n]/,/Key0/{

# branch to fall off end--problem dumb mistake?
#/%.*/b 

### Format:
# no tabs
s/\t/ /g

# space follows/precedes curly, pointer, to prettify.
s/[{]/ /g
s/[}]/ /g

# put spaces at begin and end of line, double spaces inside
# to simplify process of note names
s/  */  /g
s/^ */ /
s/ *$/ /

### Actions

# change # to s with notes
s/\( [a-g]\)#/\1s/g  

# make r=a4 into a4\rest. Work with R?
s/ r=\([a-g]\)\([^ ]*\) / \1n\2\\rest /g

# voices
s/V1/\\voiceOne/g
s/V2/\\voiceTwo/g
s/V3/\\voiceThree/g
s/V4/\\voiceFour/g
s/V0/\\oneVoice/g

# mark single letter notes only. Accidentals will
# be added as they fall into the right key.

s/\( [a-g]\)\([^wbfnxs#]\)/\1%flatORsharp%\2/g

# goto (branch) and fall through
/Key7b/,/Key0/b keycb
/Key6b/,/Key0/b keygb
/Key5b/,/Key0/b keydb
/Key4b/,/Key0/b keyab
/Key3b/,/Key0/b keyeb
/Key2b/,/Key0/b keybb
/Key1b/,/Key0/b keyfn
/Key7#/,/Key0/b keycs
/Key6#/,/Key0/b keyfs
/Key5#/,/Key0/b keybn
/Key4#/,/Key0/b keyen
/Key3#/,/Key0/b keyan
/Key2#/,/Key0/b keydn
/Key1#/,/Key0/b keygn 
/Keynn/,/Key0/b finish
:keycb
s/f%flatORsharp%/f%flat%/g
:keygb
s/c%flatORsharp%/c%flat%/g
:keydb
s/g%flatORsharp%/g%flat%/g
:keyab
s/d%flatORsharp%/d%flat%/g
:keyeb
s/a%flatORsharp%/a%flat%/g
:keybb
s/e%flatORsharp%/e%flat%/g
:keyfn
s/b%flatORsharp%/b%flat%/g
b finish

:keycs
s/b%flatORsharp%/b%sharp%/g
:keyfs
s/e%flatORsharp%/e%sharp%/g
:keybn 
s/a%flatORsharp%/a%sharp%/g
:keyen 
s/d%flatORsharp%/d%sharp%/g
:keyan 
s/g%flatORsharp%/g%sharp%/g
:keydn 
s/c%flatORsharp%/c%sharp%/g
:keygn 
s/f%flatORsharp%/f%sharp%/g

:finish
# could leave out next line for debugging;
s/%flatORsharp%//g
# output english.ly. You can easily convert to
# any other language you want.  
# flat is f
s/%flat%/f/g
# conversions:
s/ h/ bn/g
s/\( [a-g]\)b/ \1f/g
s/\( [a-g]\)w/ \1ff/g
s/\( [a-g]\)bb/ \1ff/g
# sharp is s
s/%sharp%/s/g
# ss or x should not require action

# clean up. Getting rid of n's
s/\( [a-g]\)n/\1/g

# finger number in front of one note: use -hyphen
# 2? so it can't be done twice?. notes are done already
s/\( [a-g][^- \t]*\)-\([1-4]\)/ \\fol \1-\2/g
# include lynn
# reformat
s/{ */{ /g
s/ */ /g
s/ */ /g
s/ *}/ }/g
s/{ *{/{{/g
s/{ *{/{{/g
s/} *}/}}/g
s/} *}/}}/g

# undo spaces at begin and end of line, double spaces
# restore polyphony construction.
s/^ *//
s/*$//
s/  */ /g
s/ * *{/{/g
s/} * */}/g
s/} * *{/}{/g
# put back these tabs
s/^[|]/\t|/



# get rid of flags
/Key[0-7n][b#n]/d
/Key0/d

# quit
/QUIT/,${
d
}
} # end of range

BTW, I think that what confused the multitude was your terming
chromatic signs accidentals. Then I went and made the same
mistake in my first reply, but fortunately not consistently.

Kindest regards, Rale

-- 
Guitar teaching materials and original music for all styles and
levels. Site: http://www.openguitar.com (()) eMail:
d.raleigh.arn...@gmail.com Contact:
http://www.openguitar.com/contact.html



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


Re: Centering a stencil on another stencil

2015-08-13 Thread Thomas Morley
2015-08-14 0:40 GMT+02:00 Paul Morris p...@paulwmorris.com:
 Hi Harm,

 On Aug 13, 2015, at 3:43 PM, Thomas Morley thomasmorle...@gmail.com wrote:

 I like this best and would go for it.

 Sounds good ...and done:
 http://lsr.di.unimi.it/LSR/Item?id=1009

Approved as
http://lsr.di.unimi.it/LSR/Item?u=1id=1009

Best,
  Harm


 Regretable my vacations ended. Meaning I've reasonable less time :(

 I suppose all good things must come to an end…  Hope they went well!

 Cheers,
 -Paul

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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Mon, 10 Aug 2015 14:36:42 +0200
David Kastrup d...@gnu.org wrote:

 Thomas Morley thomasmorle...@gmail.com writes:
 
  2015-08-10 13:47 GMT+02:00 David Kastrup d...@gnu.org:
 
  So it is pretty much established that the music-based
  approach comes with a healthy load of problems, and the
  input language based approach, while condensing most of the
  problems in one place, makes source code management a
  headache because each source code passage comes with its own
  associated input language.
 
  Well, I will not work on such a patch. I already had a hard
  time to understand the thinking behind the proposal.
 
 It's not all that hard to do.  Just let \key run through the
 current notename language and replace all single-character note
 names with the setting from the new key (Germans would likely
 be furious about what this does to b but then they are hardly
 the target for such a change).
 
 Once you start arranging your input in variables (\global
 anyone?), work with multiple voices and transpositions, things
 will start to fall apart.
 
 Even things like \transpose c f become ambiguous since they
 could mean \transpose cn fs when uttered in \key gn \major.
 
  Though, at a lower level one could start adding a snippet to
  the LSR so that users can play around with it. Rale mentioned
  some, but refused to post links...
 
 s/refused/omitted/.  I cannot remember anybody asking for such
 links yet, so one can hardly accuse him of refusing.
 
Without \key, no \follow would make sense. I believe I sent my
little tool to this list some time ago, but here it is again. To
do it with other languages in my suggested crude fashion would
require a 14 or 15 item hash table for each language. Listing the
notes to be substituted would simplify implementation and
understanding of what \follow would do.

I was not insulted by calling it crude it certainly is, but it's
worked well for me. I hadn't had \follow suggested at the time. I hope
this version still works. Kindest
regards, Rale

# keys.sed 
# Writes chromatic signs according to key for _single letter_ notes
# within a range begun with, for examples: Key2#, Key3b, Keynn, and
# ended with: Key0 (0=zero). There is no transposition, but you can use
# a different key indication from lilypond's. Writes english.ly but
# you may enter b (or f) for flat, bb (or w) for double flat,
# and # (or s) for sharp, but only x for double sharp. Use 'n' to
# protect an accidental natural. You may enter h, b, or bn, but
# there is no h#. These alternative language choices are both easier
# to read and quicker to write than lilypond input, but lilypond is not
# the only use for these alternatives.
# More shortcuts, etc., inside range:
# r=a4 will become a4\rest
# V3 = \voiceThree
# Outside range:
# %% -- all lines starting thus will be deleted. NB space
# (c)2005 David Raleigh Arnold. --GNU Enjoy! rev. 20100528

# comments: del from whole file
/^%% .*/d

# key range -- top 
/Key[1-7n][b#n]/,/Key0/{

# branch to fall off end--problem dumb mistake?
#/%.*/b 

### Format:
# no tabs
s/\t/ /g

# space follows/precedes curly, pointer, to prettify.
s/[{]/ /g
s/[}]/ /g

# put spaces at begin and end of line, double spaces inside
# to simplify process of note names
s/  */  /g
s/^ */ /
s/ *$/ /

### Actions

# change # to s with notes
s/\( [a-g]\)#/\1s/g  

# make r=a4 into a4\rest. Work with R?
s/ r=\([a-g]\)\([^ ]*\) / \1n\2\\rest /g

# voices
s/V1/\\voiceOne/g
s/V2/\\voiceTwo/g
s/V3/\\voiceThree/g
s/V4/\\voiceFour/g
s/V0/\\oneVoice/g

# mark single letter notes only. Accidentals will
# be added as they fall into the right key.

s/\( [a-g]\)\([^wbfnxs#]\)/\1%flatORsharp%\2/g

# goto (branch) and fall through
/Key7b/,/Key0/b keycb
/Key6b/,/Key0/b keygb
/Key5b/,/Key0/b keydb
/Key4b/,/Key0/b keyab
/Key3b/,/Key0/b keyeb
/Key2b/,/Key0/b keybb
/Key1b/,/Key0/b keyfn
/Key7#/,/Key0/b keycs
/Key6#/,/Key0/b keyfs
/Key5#/,/Key0/b keybn
/Key4#/,/Key0/b keyen
/Key3#/,/Key0/b keyan
/Key2#/,/Key0/b keydn
/Key1#/,/Key0/b keygn 
/Keynn/,/Key0/b finish
:keycb
s/f%flatORsharp%/f%flat%/g
:keygb
s/c%flatORsharp%/c%flat%/g
:keydb
s/g%flatORsharp%/g%flat%/g
:keyab
s/d%flatORsharp%/d%flat%/g
:keyeb
s/a%flatORsharp%/a%flat%/g
:keybb
s/e%flatORsharp%/e%flat%/g
:keyfn
s/b%flatORsharp%/b%flat%/g
b finish

:keycs
s/b%flatORsharp%/b%sharp%/g
:keyfs
s/e%flatORsharp%/e%sharp%/g
:keybn 
s/a%flatORsharp%/a%sharp%/g
:keyen 
s/d%flatORsharp%/d%sharp%/g
:keyan 
s/g%flatORsharp%/g%sharp%/g
:keydn 
s/c%flatORsharp%/c%sharp%/g
:keygn 
s/f%flatORsharp%/f%sharp%/g

:finish
# could leave out next line for debugging;
s/%flatORsharp%//g
# output english.ly. You can easily convert to
# any other language you want.  
# flat is f
s/%flat%/f/g
# conversions:
s/ h/ bn/g
s/\( [a-g]\)b/ \1f/g
s/\( [a-g]\)w/ \1ff/g
s/\( [a-g]\)bb/ \1ff/g
# sharp is s
s/%sharp%/s/g
# ss or x should not require action

# clean up. Getting rid of n's
s/\( [a-g]\)n/\1/g

# finger number in front of one note: use -hyphen
# 2? so it can't be done 

Re: arabic tabs?

2015-08-13 Thread Thomas Morley
2015-08-12 13:49 GMT+02:00 BB bb-543...@telecolumbus.net:

Thank you very much for your Help with your code! Your code works fine,
 here is an example code:

 oud = \stringTuning  f a d' g' c'' f'' 


 % https://en.wikipedia.org/wiki/Rast_%28maqam%29


 RastC = {

 \relative c'

 {

 c d eqf f g a bqf c |

 c d eqf f g a bqf c |

 }

 %\break

 }

 

 \new Staff 

 % \clef G_8

 ^Rast on C

 \RastC 

 \new TabStaff 

 \set TabStaff.stringTunings = #oud

 \tabFullNotation

 \RastC 


 
 \new Staff 
 % \clef G_8

 ^Rast on D

 \transpose c d
 \RastC 
 \new TabStaff 
 \set TabStaff.stringTunings = #oud
 \tabFullNotation
 \transpose c d
 \RastC 


 The mnemonic is great compared to makam.ly and arabic.ly. So I always give
 your solution preference ove the other both. Should become part of lilypond,
 2.10.1 Common notation for non-Western music!
 the use goes far bejond only just oriental music notation! One might use it
 for music with extended quarter-tone music. What is bejond that ? How to
 notate sixth-tone?

 I can work with the turkish way of notation, but I would prefer the arabic
 notation of quarter tones. Is that possible to change in a somple way?

Glad to hear my coding works for you.
Though, I've no knowledge in microtonal music at all.
All I did was to let the TabStaff print positions like 1½ etc.
I've even no clue, whether the result is correct and would need you
and others for feedback about it.

But if you have a look into makam.ly you see how pitches and names are
defined. You could do similiar to create own names and pitches.
TabStaff _should_ then display them correctly, if not report it.
No idea about midi, though...


 Just for information , the word makam
 https://en.wikipedia.org/wiki/Makam
 is used for the turkish way of notation, whereas the word maqam
 https://en.wikipedia.org/wiki/Arabic_maqam
 is used by the arabs for the arab way of notation. (In the wikipedia article
 for maqam the notation is not consistent, as it uses turish/arabic notation
 mixed. Better have a look at
 http://maqamworld.com/
 for the arabic way of notation.

 So, the file makam.ly at least is a misnomer! Should be maqam.ly. (Not
 really important, but may be inetresting in detail.)

 Thanks again,
 BB



 On 10.08.2015 23:52, Thomas Morley wrote:

 Hi,

 attached you'll find my attempt for a such a tab.
 It's based on `determine-frets' from translation-functions.scm

 There's surely wide room for improvements and maybe the one or other glitch
 ...


 Cheers,
   Harm



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


Re: sharping naturals

2015-08-13 Thread David Raleigh Arnold
On Mon, 10 Aug 2015 13:05:15 +0200
Thomas Morley thomasmorle...@gmail.com wrote:

 2015-08-10 3:05 GMT+02:00 David Raleigh Arnold
 d...@openguitar.com:
  On Thu, 23 Jul 2015 11:33:50 -0500
  Brother Gabriel-Marie brgabr...@sspx.org wrote:
 
  When you use key signatures like A major or B Major you end
  up with a lot of naturals in the score for which you may
  have to manually add sharps.
 
  Is there a switch that will automatically sharp all the
  naturals?
  I was looking at this:
  http://www.lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#automatic-accidentals
 
  This was the closest I could see:
  \accidentalStyle modern
 
 
 Hi Rale,
 
 I hesitated to post in this thread for some reasons.
 
 One reason was, I had no clue what it was about. I simply did
 not understand the question.
 
 In an earlier post David Kastrup wrote about different thinking
 about note-names due to language and culture. It really helped
 me to understand that Brother Gabriel-Marie expected
 { key a \major c }
 to print what I'd call a cis.
 I never ever would have had that expectation, but after David
 K's post I can understand the thinking, at least.
 
 Let me quote this part of his post again:
 
 2015-07-24 14:20 GMT+02:00 David Kastrup d...@gnu.org:
 [...]
  LilyPond's notename philosophy happens to be from a culture
  remote from the English speaking world.  In Dutch or German,
  you never, ever, would call a cis anything other than
  cis.  It's not a c sharp, namely some qualified c.
  That's a totally different note and name.  There is no such
  thing as a c natural when talking about notes.  It's either
  c or not.  You don't need to specify the key signature when
  discussing a chord: all note names are absolute.  Always.
 
  LilyPond is internationalized in that it offers English
  notenames, but it does not offer the accompanying notename
  philosophy.  And the fuzziness coming with such a philosophy
  is not helpful in the context of a computer description of
  music, so it's not all that likely that this will ever change.
 [...]
 
 I'd suggest you read it again und try to understand.

I answer every one of his points below:
 
  The developers have resisted this from the beginning, because
  they don't realize how easy it would be.
 
 I really doubt.
 
  There may be also a
  certain contempt for the user or composer who is not expected
  to know what key he's in.
 
 This is bullshit, sorry.
 
  There are editing tools which will add the
  chromatic signs for you. I posted one on this list some time
  ago, a bash script using sed. Nicholas Sceaux has written
  one. It may be that the Garibaldi editor will do it, I don't
  know.
 
  The appropriate notes are sharped or flatted unless there is
  an n or any other chromatic sign. That's it. Simple, fault
  tolerant, and not requiring any changes at all to the many
  choices already present in lilypond.
 
  \follow {} has been suggested as the command. I would suggest
  that \follow indicate which notes with the sharp or flat, as
 
  \follow fs cs gs {music}
 
  to avoid language problems as much as possible.
 
  It is possible that a piece may have so many of certain
  accidentals that \follow would be more trouble unless you lied
  about the key. You would probably not use it for a blues in G.
 
  The need is to insert the chromatic signs
  before anything else, such as transposition, is done.
  Kindest regards, Rale
 
 
 If I understand correctly your proposal is that
 
 \language english
 
 m = { ff' f' fs' }
 
 \m
 \follow fs \m
 \follow ff \m
 
 will be printed different.

Only f' would be printed differently, as fs or ff. fss, fff, fn,
etc. would be ignored.

But you still need \key. Without \key, \follow makes no sense.

How you say it is irrelevant. You say C-sharp but you write
Sharp-C. c is quicker to type than cis or cs, especially
cis. The point is that on the staff, in A major, a c# looks like
a c and writing what it looks like has nothing to do with
language, it just saves typing,
just as writing key signatures saves a lot of writing chromatic
signs. I don't write all the sharps or flats when I write by
hand. Why should I have to do it when typing? With 3-7 chromatic
signs in the key it saves a *lot* of typing.

An individual who didn't like it would not have to use it. I
believe that a majority of music professionals would like it. I
have been doing it for many years, using a crude editing tool.

 
 In my thinking that's absolute crude.

Perhaps, but it is the most flexible way, and the easiest to
implement in any language with a 14 item hash. It's simple
substitution.

Chords are no problem. No sane person would apply \follow to
chord names. The substitutions should be done before chord names
become an issue, and  this  won't interfere with hunting down
the target notes or cause additional confusion, as long as you
know what key you're in.

 Though, obviously there are other opinions about that.
 
 Patches are always welcome.

Thank 

Re: Centering a stencil on another stencil

2015-08-13 Thread Thomas Morley
Hi Paul,

2015-08-13 19:50 GMT+02:00 Paul Morris p...@paulwmorris.com:
 Here’s another possibility that uses an optional axis argument.  -Paul

 \version 2.19.22

 #(define* (center-stencil-on-stencil stil-a stil-b #:optional axis)
Return a copy of stencil @var{stil-b} that has been moved
so it is centered on stencil @var{stil-a} on @var{axis}. When
@var{axis} is omitted, the centering is done on both X and
Y axes. @var{axis} is 0 for X axis, 1 for Y axis.
(if axis
;; center on one axis only
(ly:stencil-translate-axis
 (ly:stencil-aligned-to stil-b axis CENTER)
 (interval-center (ly:stencil-extent stil-a axis))
 axis)
;; center on both X and Y axes
(ly:stencil-translate
 (centered-stencil stil-b)
 (cons
  (interval-center (ly:stencil-extent stil-a X))
  (interval-center (ly:stencil-extent stil-a Y))

 square =
 #(make-connected-path-stencil
   '((0 0) (4 0) (4 4) (0 4) (0 0))
   0.4 1 1 #f #f)

 blue-square =
 #(stencil-with-color (make-filled-box-stencil '(0.4 . 2) '(0.4 . 2)) blue)

 \markup
 \override #'(word-space . 3)
 \line {
   \stencil #(ly:stencil-add square blue-square)
   \stencil #(ly:stencil-add square
   (center-stencil-on-stencil square blue-square X))
   \stencil #(ly:stencil-add square
   (center-stencil-on-stencil square blue-square Y))
   \stencil #(ly:stencil-add square
   (center-stencil-on-stencil square blue-square))
 }


I like this best and would go for it.

Regretable my vacations ended. Meaning I've reasonable less time :(



Cheers,
  Harm

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


Re: guile-question: 3/2 - 1 1/2

2015-08-13 Thread Thomas Morley
2015-08-12 12:28 GMT+02:00 Andrew Bernard andrew.bern...@gmail.com:
 Hi Harm,



 User specification of input only guessed at by me. :-)

 Of course, for negative and positive input (e.g. -3/2):

 (define (mixed-num x)
 (let* ((n (numerator x))
 (d (denominator x)))
 (cons (truncate (/ n d)) (abs (/ (remainder n d) d)

 But are you saying you also need the function to take any number as input, 
 not just a known fraction? Do you really want something like the rationalize 
 function ? The common mathematical term for 3 1/2 is mixed number, or mixed 
 fraction, by the way.



 Andrew


 On 12/08/2015 09:09, Thomas Morley 
 lilypond-user-bounces+andrew.bernard=gmail@gnu.org on behalf of 
 thomasmorle...@gmail.com wrote:


`mixed-num' can't deal with negative input right now, returning wrong
(could be fixed ofcourse).

In case the input is not exact `mixed-num' crashes, whereas
`integer-and-fraction' doesn't, although returning not a fraction.


Hi Andrew,

converting 3/2 - 1½ is ofcourse a helper-function for some larger project.
Because I'm not entirely sure the input will always positive and
exact, I tested what happens.
I'll add that exact?-condition (already mentioned) and/or I'll make
sure the input will always be exact.


Thanks again for your input, it's highly appreciated!


Cheers,
  Harm

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


Align scores in markup

2015-08-13 Thread MarcM
I am using a custom markup command that allows inserting scores into markups.
It works great except when one score uses high notes the scores are not
aligned.

http://lilypond.1069038.n5.nabble.com/file/n179568/shouldBeAligned.png 

%=
% WRITE SCORE
%
%=
#(define-markup-command (writeScore layout props music) (ly:music?)
   (let ((score (ly:make-score music))
 (score-layout (ly:output-def-clone $defaultlayout)))
 ;; possibly, change some settings in the \layout block
 %(ly:output-def-set-variable! score-layout 'indent 0)
 ;; add the \layout block to the score
 (ly:score-add-output-def! score score-layout)
 (interpret-markup layout props (markup #:vcenter #:score score) )
 ))



\markup {
  this should be aligned \writeScore ##{  c' d' e' #} 
 with this  \writeScore ##{  c d e #} 
}





--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Align-scores-in-markup-tp179568.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Align scores in markup

2015-08-13 Thread Thomas Morley
2015-08-14 3:32 GMT+02:00 Thomas Morley thomasmorle...@gmail.com:
 2015-08-14 3:13 GMT+02:00 MarcM m...@mouries.net:
 I am using a custom markup command that allows inserting scores into markups.
 It works great except when one score uses high notes the scores are not
 aligned.

 http://lilypond.1069038.n5.nabble.com/file/n179568/shouldBeAligned.png

 %=
 % WRITE SCORE
 %
 %=
 #(define-markup-command (writeScore layout props music) (ly:music?)
(let ((score (ly:make-score music))
  (score-layout (ly:output-def-clone $defaultlayout)))
  ;; possibly, change some settings in the \layout block
  %(ly:output-def-set-variable! score-layout 'indent 0)
  ;; add the \layout block to the score
  (ly:score-add-output-def! score score-layout)

 delete #:vcenter

  (interpret-markup layout props (markup #:vcenter #:score score) )
  ))



 \markup {
   this should be aligned \writeScore ##{  c' d' e' #}
  with this  \writeScore ##{  c d e #}
 }




(hit wrong key)

 Though, I don't see an advantage not to use the default-markup-command:
\markup \score ...

Cheers,
  Harm

Please always post the version you use!!

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


Re: Align scores in markup

2015-08-13 Thread Thomas Morley
2015-08-14 3:13 GMT+02:00 MarcM m...@mouries.net:
 I am using a custom markup command that allows inserting scores into markups.
 It works great except when one score uses high notes the scores are not
 aligned.

 http://lilypond.1069038.n5.nabble.com/file/n179568/shouldBeAligned.png

 %=
 % WRITE SCORE
 %
 %=
 #(define-markup-command (writeScore layout props music) (ly:music?)
(let ((score (ly:make-score music))
  (score-layout (ly:output-def-clone $defaultlayout)))
  ;; possibly, change some settings in the \layout block
  %(ly:output-def-set-variable! score-layout 'indent 0)
  ;; add the \layout block to the score
  (ly:score-add-output-def! score score-layout)

delete #:vcenter

  (interpret-markup layout props (markup #:vcenter #:score score) )
  ))



 \markup {
   this should be aligned \writeScore ##{  c' d' e' #}
  with this  \writeScore ##{  c d e #}
 }




Though, I don't see an advantage not to use the default-markup-command:

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


Text spanner text in the middle

2015-08-13 Thread Andrew Bernard
Hello Ponderers,

I need a custom text spanner with text centred in the middle of the spanner. I 
know you can provide text at the left or the right with the bound-details 
alist, but how would one go about making a spanner with text in the middle, 
similar to a tuplet bracket which has the number in the centre of the span?

So, like this:

[ x3 ]

Andrew



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


Re: Align scores in markup

2015-08-13 Thread MarcM
thanks.

this allows to have multiple small score snippets aligned.




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Align-scores-in-markup-tp179568p179571.html
Sent from the User mailing list archive at Nabble.com.

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


Re: arabic tabs?

2015-08-13 Thread Hans Åberg

 On 13 Aug 2015, at 17:51, BB bb-543...@telecolumbus.net wrote:
 
 Thanks for the interesting links!

There are other differences:

Turkish music is typically notated a 4th above sounding. In AEU notation, the 
sharp is erroneously given 4 commas—the E53 sharp has value 5 commas.

In Arab music, the microtonal values are larger than in Turkish music. In E53, 
try raising with 2 commas, lowering 3.



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


Tuplet Bracket and \fermataMarkup

2015-08-13 Thread jeremyvanb
Hello,
  I'm setting my first piece using Lilypond, and I've run into one problem I
can't solve.  The piece is unmetered, and it has several long, timed rests. 
I have the music looking almost the way I would like except the tuplet
bracket collides with the fermata.  Changing staff priority seems to have no
effect.

I am open to alternative notation suggestions.  I could just get ride of the
fermata altogether.

\version 2.18.2
 
 \relative c {
\omit Staff.TimeSignature
\once \override TupletNumber.text = ~ 25 sec.
\once \set tupletFullLength = ##t
\once \set tupletFullLengthNote = ##f
\once \override MultiMeasureRestText #'outside-staff-priority = #'200
\hideNotes
  \tuplet 3/2 {c2 c c}R1\fermataMarkup
  \unHideNotes
  }

Thank you

Jeremy



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Tuplet-Bracket-and-fermataMarkup-tp179574.html
Sent from the User mailing list archive at Nabble.com.

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


Re: PDF properties

2015-08-13 Thread Thomas Morley
2015-08-13 19:18 GMT+02:00 Noeck noeck.marb...@gmx.de:
 Hi,

 lately there was a mail on this list about PDF properties/headers. I
 tried them and it seems like the PDF author field is filled with the
 composer. This is nice fall back but in most cases the author of the
 document and the composer will be different. Of course, I can write
 pdfcomposer = Author Name
 Then it appears correctly as /Author(Author Name)
 But it also appears as /Composer(Author Name) which is wrong.

 Wouldn't it make sense to offer both fields: Author and Composer?
 A fallback if no author is given makes sense but it would be good to be
 able to specify an author differing from the composer.

 Cheers,
 Joram



I'd adress the bug-list or maybe discuss on -devel first.

Cheers,
  Harm

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


Re: arabic tabs?

2015-08-13 Thread BB

Thanks for the interesting links!

Regards,
BB

On 12.08.2015 18:09, Hans Åberg wrote:

On 12 Aug 2015, at 15:54, BB bb-543...@telecolumbus.net wrote:

I tried to to rivet on differences in turkish/arab way of noatation, but I am 
sure I missed the point.
For someone interested, here is a much better (short) description:

http://www.oud.eclipse.co.uk/notation.html

For Arab maqam, there is
   http://www.maqamworld.com/

A Turkish makam notation system often described is called AEU 
(Arel-Ezgi-Uzdilek), as on
   https://en.wikipedia.org/wiki/Makam
Also see Ozan Yarman,
   http://www.musicstudies.org/Abjad_JIMS_071203.pdf









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