something like scorch for lilypond?

2010-09-20 Thread Stefan Thomas
Dear community,
can be done something similar to scorch-plugin by sibelius with lilypond?
Perhaps in combination with lilypond-book and the beamer-class of latex?
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: adding 'HarmonicEvent?

2010-09-20 Thread Marc Hohl

Éditions IN NOMINE schrieb:
Naerly the same, that works perfectly (welle I'm quite enthousiastic 
beacause it's my first scheme function !) :


makeHarmonic =
  #(define-music-function (parser location note)(ly:music?)
  "force noteHead to harmonic"
  (let ((result-note (ly:music-deep-copy note)))
(set! (ly:music-property (first (ly:music-property result-note 
'elements)) 'articulations)

  (list (make-music (quote HarmonicEvent)))
)
result-note)
)

{c''4 \makeHarmonic c''4}

Best regards.

Thank you! It works, but only for a single note as argument, something like
\makeHarmonic < c g >4 applies the HarmonicEvent only to the first note.
And \makeHarmonic { c4 d e f g } doesn't change anything at all.

Do you have an idea how to generalize this function?

Marc



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


Re: adding 'HarmonicEvent?

2010-09-20 Thread Marc Hohl

David Kastrup schrieb:

Marc Hohl  writes:

  

Hello all,

I try to write a function that changes its argument to harmonics,
so
\makeHarmonic c4

should have the same effect as
4

I read Notation Reference 6.3.4, but the 'HarmonicEvent is
deep inside the 'elements list, so I think the only way to get this done
is to read the full structure and rebuild it, including the 'HarmonicEvent.

I remembered to have seen something similar in ly/chord-repetition-init.ly
and tried to modify the code here, but after struggling with the code
for about an hour or so, it still doesn't work at all. Can somebody please
explain to me how I can rebuild the argument to \makeHarmonic so that
in includes
the desired 'HarmonicEvent entry?



Well, I would have suggested something like

makeHarmonic =
#(define-music-function (parser location music) (ly:music?)
  (let ((event (car (ly:music-property music 'elements
   #{
  < #(ly:export (ly:event-property $event 'pitch)) \harmonic>
#(ly:export (ly:event-property $event 'duration)) #}))

{ 4 \makeHarmonic c4 }


Except that it segfaults.
  
Hm, some code parts I came up with seqfaulted, too, but they were much 
longer ...

so while not working, it is some sort of improvement ;-)

Marc


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


Re: Request for changes in manuals

2010-09-20 Thread James Bailey

On Sep 21, 2010, at 12:17 AM, mark damerell wrote:

> I am using Version 2.12.3.
> 
> In a previous post I asked about printing bar numbers in non-standard
> places. I was told:
> 
> 1)   \once \override Score.BarNumber #'break-visibility = #all-visible
> 
> I believe that the manual fails to say that this command only works
> if you put it in exactly the right place, which is at the bar that is to be
> numbered.
> 
The once command is explained in the 2.12 documentation in the learnining 
manual, section 1.4.1. It may not be exactly clear what "the current musical 
moment" is, but that's where it is.

> 2)and
> 
>   barNumberVisibility = #all-bar-numbers-visible
> 
> I cannot find this documented anywhere.

The learning manual explains how to find these settings, and how the various 
types of properties work.
> 
> 3)  It seems as if   #(definecan be used to define macros with
> arguments. but I cannot find the syntax.

The advanced tweaking with scheme is explained in the learning manual in 
section 4.6.5 and in the notation reference in section 6.

Hope this helps!

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


Request for changes in manuals

2010-09-20 Thread mark damerell
I am using Version 2.12.3.

In a previous post I asked about printing bar numbers in non-standard
places. I was told:

1)   \once \override Score.BarNumber #'break-visibility = #all-visible

I believe that the manual fails to say that this command only works
if you put it in exactly the right place, which is at the bar that is to be
numbered.

2)and

   barNumberVisibility = #all-bar-numbers-visible

I cannot find this documented anywhere.

3)  It seems as if   #(definecan be used to define macros with
arguments. but I cannot find the syntax.

If these are not in the manual, please could they be inserted?
thank you.

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


Re: Question re: CadenzaOn

2010-09-20 Thread Xavier Scheuer
On 20/09/2010, Joshua Armenta  wrote:
>
> That fixed it, thanks!
> Josh Armenta

You're welcome!
Glad to see it was what you wanted.

Cheers,
Xavier

--
Xavier Scheuer 

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


Re: How to include a file/definition temporarily?

2010-09-20 Thread David Kastrup
Carl Sorensen  writes:

> On 9/20/10 3:54 AM, "David Kastrup"  wrote:
>
>> Carl Sorensen  writes:
>> 
>>> This is a good thought as a temporary workaround.  However, it won't work
>>> as-is, because fretboard-table is a hash table.  We'd need to define a
>>> hash-table copy function:
>>> 
>>> (define (hash-table-copy my-table)
>>>   (let ((new-hash-table (make-hash-table 100)))
>>> (hash-for-each (lambda (key value)
>>>  (hash-set! new-hash-table key value))
>>>my-table)
>>>  new-hash-table))
>> (hash-fold
>>   (lambda (key value tab)
>> (hash-set! tab key value))
>>   (make-hash-table 101)
>>   my-table))
>> 
>> Does not require a closure.  And the size argument is recommended to be
>> prime.  Which 100 is not exactly.
>
> Thanks.  I looked at hash-fold, and thought about how it could work,
> but the description in the Guile docs (which was a bit cryptic) didn't
> help me find this solution.

To make it a solution, it is missing the return value from the fold
function.  Sigh.  So make that

 (hash-fold
   (lambda (key value tab)
 (hash-set! tab key value)
 tab)
   (make-hash-table 101)
   my-table))

Presumably hash-for-each is implemented via hash-fold (as the latter is
the only mentioned in the guile documentation), so this version is
conceivably faster.  More importantly, one can find it in the guile
documentation.

-- 
David Kastrup


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


Re: separating music and guitar instructions

2010-09-20 Thread Patrick Schmidt


Am 20.09.2010 um 20:29 schrieb Vicente Solsona:


On Mon, 20 Sep 2010 18:27:37 +0200, "Vicente Solsona"
 wrote:

To sumarise:

String numbers, harmonics and right hand fingerings *must* be  
defined

inside a chord construct even if there is only a single note.

you can attach finger numbers to single notes:

a-1 b-2 c-1-2-3-4 % etc

but you need to put the notes inside chords <> to attach string  
numbers,

harmonics and right hand fingers, even if it's a single note:


That is untrue.

[...]

sorry if I din't make myself clear, I'm not talking about guitar music
layout, but just about lilypond syntax:

this doesn't work

c4\3
It does! This avoids a string number indication in standard notation  
and leads to a correct fret number in tablature. See Default  
tablatures in the Notation Reference.


and this does:

4
This basically has the same effect but a string number indication is  
added in standard notation.


the quote:

"String numbers [, harmonics and right hand fingerings] *must* be  
defined

inside a chord construct even if there is only a single note."

is from the Notation Reference manual.

This should be adjusted!


greetings,

Vicente


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



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


Re: separating music and guitar instructions

2010-09-20 Thread Vicente Solsona

On Mon, 20 Sep 2010 18:27:37 +0200, "Vicente Solsona"
 wrote:

To sumarise:

String numbers, harmonics and right hand fingerings *must* be defined
inside a chord construct even if there is only a single note.

you can attach finger numbers to single notes:

a-1 b-2 c-1-2-3-4 % etc

but you need to put the notes inside chords <> to attach string numbers,
harmonics and right hand fingers, even if it's a single note:


That is untrue.

[...]

sorry if I din't make myself clear, I'm not talking about guitar music
layout, but just about lilypond syntax:

this doesn't work

c4\3

and this does:

4

the quote:

"String numbers [, harmonics and right hand fingerings] *must* be defined
inside a chord construct even if there is only a single note."

is from the Notation Reference manual.

greetings,

Vicente


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


Re: How to include a file/definition temporarily?

2010-09-20 Thread Carl Sorensen



On 9/20/10 3:54 AM, "David Kastrup"  wrote:

> Carl Sorensen  writes:
> 
>> This is a good thought as a temporary workaround.  However, it won't work
>> as-is, because fretboard-table is a hash table.  We'd need to define a
>> hash-table copy function:
>> 
>> (define (hash-table-copy my-table)
>>   (let ((new-hash-table (make-hash-table 100)))
>> (hash-for-each (lambda (key value)
>>  (hash-set! new-hash-table key value))
>>my-table)
>>  new-hash-table))
> (hash-fold
>   (lambda (key value tab)
> (hash-set! tab key value))
>   (make-hash-table 101)
>   my-table))
> 
> Does not require a closure.  And the size argument is recommended to be
> prime.  Which 100 is not exactly.

Thanks.  I looked at hash-fold, and thought about how it could work, but the
description in the Guile docs (which was a bit cryptic) didn't help me find
this solution.

The idea that the size should be prime was not included in the Guile 1.8
docs, so thanks for informing me of that.

> 
>> cShape and aShape would then be defined as void music functions, which is
>> not shown in David's code above.
> 
>> This is still only a temporary workaround, I think, because we should avoid
>> the hard-coded fretboard-table.
> 
> Things would be better if we had either
> a) fret-board-table be (optionally?) a list of hashtables

Actually, fret-board-table is the table into which things are stored.  It
needs to be a specific table.

The property predefinedDiagramTable determines which table is searched.  It
could potentially be a list of hashtables to be searched in order.  When I
look into the modifications I hope to make this week, I'll consider that as
a possibility.

Thanks again for the ideas.

Carl


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


Re: separating music and guitar instructions

2010-09-20 Thread Kaz Kylheku

On Mon, 20 Sep 2010 18:27:37 +0200, "Vicente Solsona"
 wrote:
> To sumarise:
> 
> String numbers, harmonics and right hand fingerings *must* be defined
> inside a chord construct even if there is only a single note.
> 
> you can attach finger numbers to single notes:
> 
>   a-1 b-2 c-1-2-3-4 % etc
> 
> but you need to put the notes inside chords <> to attach string numbers,
> harmonics and right hand fingers, even if it's a single note:

That is untrue. You must attach fingerings to chorded notes if you want
to display them next to the note head. Otherwise the fingerings are
just
another piece of vertical material, like a fret diagram or chord name.

Most of the time, this is best because fingering indications inside
the staff clutters the notes. Good musicians don't need it, and
may even disagree with the fingering, in which case it's worse
than useless.

If you have fingerings for two-voice music, the top voice fingers can
go above, and the bottom voice below, which is a perfectly good 
notation.

If there are three or more voices, that's when you might want to have
the middle voice fingering next to the head. This is the place where
you run into the Lilypond annyoance that the note must be in a chord.
In terms of the music, it already is, but the chord is arising from
the meeting of multiple voices, not from the .

Strictly speaking, it's not necessary for the fingering to be next
to the note head. Lilypond will happily stack multiple fingerings.
So you can achieve something like

 1
 2

  |
  |
(*)
  |
(*)

(*)
|
|

 3


This is an acceptable notation; it does not have to be:

  |
  |
(*) 1
  |
(*) 2

(*) 3
|
|

If you think that the musicians who will be playing the music
require that much detailed guidance (e.g. you're writing
a "how-to-play-guitar" type book for beginners) why not
give them fret diagrams.



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


Re: separating music and guitar instructions

2010-09-20 Thread Vicente Solsona

On Wed 15 Sep 2010, 22:40 Xavier Scheuer wrote:

On 15 September 2010 19:53, Vicente Solsona  wrote:
> It probably has something to do with the fact that string numbers and
> right hand fingers must be put inside a chord, but skips cannot, but
> I'm stuck here.

This limitation that string numbers, right hand fingers
(but fingeringOrientations too!) require to be put inside a chord
construct _is_ annoying.

Hi, Xavier!

i feel like i can not understand what's wrong (i never typed guitar  
scores),


To sumarise:

String numbers, harmonics and right hand fingerings *must* be defined
inside a chord construct even if there is only a single note.

you can attach finger numbers to single notes:

a-1 b-2 c-1-2-3-4 % etc

but you need to put the notes inside chords <> to attach string numbers,
harmonics and right hand fingers, even if it's a single note:

 \2>  % etc

There's surely a good internal reason for this, but from the user's
perspective it's a bit odd. While I can perfectly live with that,
it's (probably) also causing the issue which originated this post, so
we could have a bug here (unless I'm doing something wrong).


I would not like this "annoying and non-friendly limitation" was lost.


every single fretted instrumentist in the world will thank you for that
sooner or later :)


Thank you!


thank *you*

greetings,

Vicente

p.s. I am not suscribed to #devel. please forward if appropiate.


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


Re: adding 'HarmonicEvent?

2010-09-20 Thread Éditions IN NOMINE
 Naerly the same, that works perfectly (welle I'm quite enthousiastic 
beacause it's my first scheme function !) :


makeHarmonic =
  #(define-music-function (parser location note)(ly:music?)
  "force noteHead to harmonic"
  (let ((result-note (ly:music-deep-copy note)))
(set! (ly:music-property (first (ly:music-property result-note 
'elements)) 'articulations)

  (list (make-music (quote HarmonicEvent)))
)
result-note)
)

{c''4 \makeHarmonic c''4}

Best regards.

JMarc
On 20/09/2010 11:36, David Kastrup wrote:

Marc Hohl  writes:


Hello all,

I try to write a function that changes its argument to harmonics,
so
\makeHarmonic c4

should have the same effect as
4

I read Notation Reference 6.3.4, but the 'HarmonicEvent is
deep inside the 'elements list, so I think the only way to get this done
is to read the full structure and rebuild it, including the 'HarmonicEvent.

I remembered to have seen something similar in ly/chord-repetition-init.ly
and tried to modify the code here, but after struggling with the code
for about an hour or so, it still doesn't work at all. Can somebody please
explain to me how I can rebuild the argument to \makeHarmonic so that
in includes
the desired 'HarmonicEvent entry?

Well, I would have suggested something like

makeHarmonic =
#(define-music-function (parser location music) (ly:music?)
   (let ((event (car (ly:music-property music 'elements
#{
   <  #(ly:export (ly:event-property $event 'pitch)) \harmonic>
 #(ly:export (ly:event-property $event 'duration)) #}))

{4 \makeHarmonic c4 }


Except that it segfaults.

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


Re: How to include a file/definition temporarily?

2010-09-20 Thread Patrick Schmidt


Am 20.09.2010 um 11:57 schrieb David Kastrup:


Patrick Schmidt  writes:


For example I couldn't find "copy-list" anywhere in the manuals so I
guess it is a self-defined function or a scheme function I haven't
found, yet.


My Scheme-foo is lousy.  It is `list-copy'.

Sorry for that! Some redundant information: I'm a scheme-newbie! ;-)

Thanks,
patrick


--
David Kastrup


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



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


Re: How to include a file/definition temporarily?

2010-09-20 Thread David Kastrup
Patrick Schmidt  writes:

> For example I couldn't find "copy-list" anywhere in the manuals so I
> guess it is a self-defined function or a scheme function I haven't
> found, yet.

My Scheme-foo is lousy.  It is `list-copy'.

-- 
David Kastrup


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


Re: How to include a file/definition temporarily?

2010-09-20 Thread David Kastrup
Carl Sorensen  writes:

> This is a good thought as a temporary workaround.  However, it won't work
> as-is, because fretboard-table is a hash table.  We'd need to define a
> hash-table copy function:
>
> (define (hash-table-copy my-table)
>   (let ((new-hash-table (make-hash-table 100)))
> (hash-for-each (lambda (key value)
>  (hash-set! new-hash-table key value))
>my-table)
>  new-hash-table))
(hash-fold
  (lambda (key value tab)
(hash-set! tab key value))
  (make-hash-table 101)
  my-table))

Does not require a closure.  And the size argument is recommended to be
prime.  Which 100 is not exactly.

> cShape and aShape would then be defined as void music functions, which is
> not shown in David's code above.

> This is still only a temporary workaround, I think, because we should avoid
> the hard-coded fretboard-table.

Things would be better if we had either
a) fret-board-table be (optionally?) a list of hashtables
b) allow an entry 'parent in fret-board-table that will cause the
   specified table to be searched (recursively) when the original table
   did not deliver an appropriate key/value pair.

-- 
David Kastrup


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


Re: How to include a file/definition temporarily?

2010-09-20 Thread Patrick Schmidt

Hi Carl and David
Am 20.09.2010 um 11:29 schrieb Carl Sorensen:





On 9/20/10 1:19 AM, "David Kastrup"  wrote:


Patrick Schmidt  writes:


Hi all,

I have several files with definitions of guitar fret diagrams for
various chord shapes (e.g. c-shape.ly, a-shape.ly, g-shape.ly, e-
shape.ly and d-shape.ly). I can't include all of these files at the
same time in the main file as quite a few chord alternatives  
start on

the same pitch. How can I use those definitions only temporarily? I
tried this:

cShape = { \include "c-shape.ly" }
aShape = { \include "a-shape.ly"  }

music = \chordmode {
  \cShape
  c1
  \aShape
  c1
}


Maybe something like

stdfretboard = #(copy-list fretboard-table)
\include "c-shape.ly"
cshapefretboard = #(copy-list fretboard-table)
#(set! fretboard-table stdfretboard)
\include "a-shape.ly"
ashapefretboard = #(copy-list fretboard-table)
cShape = #(define-music-function ... (set! fretboard-table
   cshapefretboard)
aShape = #(define-music-funciton ...

or similar.  If c-shape/a-shape just add items to the front of
fretboard-table, you will not even need to copy stuff.  If it is
something other than a list, you'll need some other copying  
mechanism.


This is a good thought as a temporary workaround.  However, it  
won't work

as-is, because fretboard-table is a hash table.  We'd need to define a
hash-table copy function:

(define (hash-table-copy my-table)
  (let ((new-hash-table (make-hash-table 100)))
(hash-for-each (lambda (key value)
 (hash-set! new-hash-table key value))
   my-table)
 new-hash-table))

then replace copy-list above with hash-table-copy.

cShape and aShape would then be defined as void music functions,  
which is

not shown in David's code above.

Thanks for the idea, David.

Note:  the code above is *not* tested. I hope to get it tested in  
the next

day or two.

This is still only a temporary workaround, I think, because we  
should avoid

the hard-coded fretboard-table.

Carl

Thanks for your hints! I will play around with it. I understand the  
general idea of the code but at the moment I'm still struggling to  
differentiate between scheme functions and self-defined functions.  
For example I couldn't find "copy-list" anywhere in the manuals so I  
guess it is a self-defined function or a scheme function I haven't  
found, yet. (In Carl's code I can see the definition of »hash-table- 
copy«.) I'm also unsure about what should follow after "define-music- 
function" instead of the three dots. But I will continue to study the  
"Extending"-manual.


Thanks,
patrick


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


Re: adding 'HarmonicEvent?

2010-09-20 Thread David Kastrup
Marc Hohl  writes:

> Hello all,
>
> I try to write a function that changes its argument to harmonics,
> so
> \makeHarmonic c4
>
> should have the same effect as
> 4
>
> I read Notation Reference 6.3.4, but the 'HarmonicEvent is
> deep inside the 'elements list, so I think the only way to get this done
> is to read the full structure and rebuild it, including the 'HarmonicEvent.
>
> I remembered to have seen something similar in ly/chord-repetition-init.ly
> and tried to modify the code here, but after struggling with the code
> for about an hour or so, it still doesn't work at all. Can somebody please
> explain to me how I can rebuild the argument to \makeHarmonic so that
> in includes
> the desired 'HarmonicEvent entry?

Well, I would have suggested something like

makeHarmonic =
#(define-music-function (parser location music) (ly:music?)
  (let ((event (car (ly:music-property music 'elements
   #{
  < #(ly:export (ly:event-property $event 'pitch)) \harmonic>
#(ly:export (ly:event-property $event 'duration)) #}))

{ 4 \makeHarmonic c4 }


Except that it segfaults.

-- 
David Kastrup


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


Re: How to include a file/definition temporarily?

2010-09-20 Thread Carl Sorensen



On 9/20/10 1:19 AM, "David Kastrup"  wrote:

> Patrick Schmidt  writes:
> 
>> Hi all,
>> 
>> I have several files with definitions of guitar fret diagrams for
>> various chord shapes (e.g. c-shape.ly, a-shape.ly, g-shape.ly, e-
>> shape.ly and d-shape.ly). I can't include all of these files at the
>> same time in the main file as quite a few chord alternatives start on
>> the same pitch. How can I use those definitions only temporarily? I
>> tried this:
>> 
>> cShape = { \include "c-shape.ly" }
>> aShape = { \include "a-shape.ly"  }
>> 
>> music = \chordmode {
>>   \cShape
>>   c1
>>   \aShape
>>   c1
>> }
> 
> Maybe something like
> 
> stdfretboard = #(copy-list fretboard-table)
> \include "c-shape.ly"
> cshapefretboard = #(copy-list fretboard-table)
> #(set! fretboard-table stdfretboard)
> \include "a-shape.ly"
> ashapefretboard = #(copy-list fretboard-table)
> cShape = #(define-music-function ... (set! fretboard-table
>cshapefretboard)
> aShape = #(define-music-funciton ...
> 
> or similar.  If c-shape/a-shape just add items to the front of
> fretboard-table, you will not even need to copy stuff.  If it is
> something other than a list, you'll need some other copying mechanism.

This is a good thought as a temporary workaround.  However, it won't work
as-is, because fretboard-table is a hash table.  We'd need to define a
hash-table copy function:

(define (hash-table-copy my-table)
  (let ((new-hash-table (make-hash-table 100)))
(hash-for-each (lambda (key value)
 (hash-set! new-hash-table key value))
   my-table)
 new-hash-table))

then replace copy-list above with hash-table-copy.

cShape and aShape would then be defined as void music functions, which is
not shown in David's code above.

Thanks for the idea, David.

Note:  the code above is *not* tested. I hope to get it tested in the next
day or two.

This is still only a temporary workaround, I think, because we should avoid
the hard-coded fretboard-table.

Carl


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


Re: Help, please --- can not mode dot down .(

2010-09-20 Thread Patrick Schmidt


Am 20.09.2010 um 10:53 schrieb Dmytro O. Redchuk:


On Sat 18 Sep 2010, 16:47 Patrick Schmidt wrote:

It looks to me as if this strange behaviour is caused by the
No, with no \voiceTwo lilypond produces wrong picture, too (dots  
can not be

moved).

Thank you, Patrick and Vicente, i've added this as 1266:
http://code.google.com/p/lilypond/issues/detail?id=1266


\voiceTwo-command. It also happens with \voiceFour. For now you
could use \stemDown instead of \voiceTwo or:

\override Voice.Dots #'staff-position = #1.0

Thanks, i'll try this. But.. In chords there can be "a lot of dots",
i would not like them to be in position 1.0 ? :O(

--
  Dmytro O. Redchuk
  Bug Squad


Hm, this is my test file and the results I get with v. 2.13.33:
\version "2.13.33"  % 2.12 does the same

\relative c'' {
  \time 3/4
  \voiceTwo
  % neither of two works:
  \override Dots #'direction = #DOWN
  \override Staff.DotColumn #'direction = #DOWN
  2. ~
  2.
}

\relative c'' {
  \time 3/4
  \voiceTwo
  % neither of two works:
  %\override Voice.Dots #'direction = #DOWN
  \override Voice.Dots #'staff-position = #1.0
  %\override Staff.DotColumn #'direction = #DOWN
  2. ~
  2.
}



\score {
  \new Staff \relative c '' {
\new Voice {
  %\voiceTwo
  2. ~
  2.
}
  }
}


music = \relative c'' {
  \voiceTwo
  2. ~
  2.
}
\score {
  \new Staff {
\new Voice {
  \music
}
  }
}

music = \relative c'' {
  \voiceFour
  2. ~
  2.
}
\score {
  \new Staff {
\new Voice {
  \music
}
  }
}

music = \relative c'' {
  \stemDown
  2. ~
  2.
}
\score {
  \new Staff {
\new Voice {
  \music
}
  }
}


dots-down.pdf
Description: Adobe PDF document


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


Re: separating music and guitar instructions

2010-09-20 Thread Dmytro O. Redchuk
On Wed 15 Sep 2010, 22:40 Xavier Scheuer wrote:
> On 15 September 2010 19:53, Vicente Solsona  wrote:
> > It probably has something to do with the fact that string numbers and
> > right hand fingers must be put inside a chord, but skips cannot, but
> > I'm stuck here.
> 
> This limitation that string numbers, right hand fingers
> (but fingeringOrientations too!) require to be put inside a chord
> construct _is_ annoying.
Hi, Xavier!

i feel like i can not understand what's wrong (i never typed guitar scores),
so i would ask you -- if this issue is still important -- to make "a bit
better worded issue report", just for me, i will try again .)

Then i'll be able to search tracker or the like; then i'll be able (i hope!)
to decide what to do with this. If not --- i'll ask again .)

I would not like this "annoying and non-friendly limitation" was lost.

Thank you!

> I'm sure some devs already tried to struggle with this, I think there
> should be at least one open issue about this on the tracker
> (although I couldn't find it, maybe I used bad keywords)...
> 
> But this limitation is really annoying and *absolutely not
> user-friendly* (not understandable from a user point of view).
> 
> Sorry for this nonconstructive post.

-- 
  Dmytro O. Redchuk
  Bug Squad

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


Re: Chords with unequal durations

2010-09-20 Thread Dmytro O. Redchuk
On Mon 13 Sep 2010, 18:16 Trevor Daniels wrote:
> As to the documentation bug, the documentation for 'ignore-collision
> in the Internal Reference says
>   "If set, don’t do note collision resolution on this NoteColumn"
> That seems clear enough, but the snippet
>  Suppressing warnings for clashing note columns in the LSR
> is misleading and should be changed to explain clearly the
> consequences of using 'ignore-collision to suppress messages,
> especially as it appears in the snippet list for Simultaneous notes
> in the Notation Reference.
I've added this as 1267:
http://code.google.com/p/lilypond/issues/detail?id=1267

Thank you.

-- 
  Dmytro O. Redchuk
  Bug Squad

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


Re: Help, please --- can not mode dot down .(

2010-09-20 Thread Dmytro O. Redchuk
On Sat 18 Sep 2010, 16:47 Patrick Schmidt wrote:
> It looks to me as if this strange behaviour is caused by the
No, with no \voiceTwo lilypond produces wrong picture, too (dots can not be
moved).

Thank you, Patrick and Vicente, i've added this as 1266:
http://code.google.com/p/lilypond/issues/detail?id=1266

> \voiceTwo-command. It also happens with \voiceFour. For now you
> could use \stemDown instead of \voiceTwo or:
> 
> \override Voice.Dots #'staff-position = #1.0
Thanks, i'll try this. But.. In chords there can be "a lot of dots",
i would not like them to be in position 1.0 ? :O(

-- 
  Dmytro O. Redchuk
  Bug Squad

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


adding 'HarmonicEvent?

2010-09-20 Thread Marc Hohl

Hello all,

I try to write a function that changes its argument to harmonics,
so
\makeHarmonic c4

should have the same effect as
4

I read Notation Reference 6.3.4, but the 'HarmonicEvent is
deep inside the 'elements list, so I think the only way to get this done
is to read the full structure and rebuild it, including the 'HarmonicEvent.

I remembered to have seen something similar in ly/chord-repetition-init.ly
and tried to modify the code here, but after struggling with the code
for about an hour or so, it still doesn't work at all. Can somebody please
explain to me how I can rebuild the argument to \makeHarmonic so that in 
includes

the desired 'HarmonicEvent entry?

Thanks in advance

Marc

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


Re: best practices

2010-09-20 Thread Dmytro O. Redchuk
On Mon 20 Sep 2010, 10:08 David Kastrup wrote:
> Anyway, if we have a sender knowing abbreviations, and a receiver _not_
> knowing them, they are not as much convenient for communication as for
> establishing superiority.
That was not about a (polite and convenient for all) way to answer emails in
this list -- only about that abbreviations are convenient (if not, they would
not appear in dictionaries at all).

I would say that abbreviations in this list appear far more often then
"inconveniences" in communication; that's why i would think about how to make
abbreviations clear.

ps. "Inconveniences" are far more important, i agree;
let's not to waste bytes "discussing" this .)

pps. Anyway, _any_ criticism must be attempting to be be constructive;
that's why i would think about how to make abbreviations clear.

ppps. [O:= Nothing more. Not to flame =:O]

-- 
  Dmytro O. Redchuk
  Bug Squad

  Be careful! These are some commonly used abbreviations:
   • LM -- Learning Manual
   • NR -- Notation Reference
   • IR -- Internal Reference

  Look at LilyPond’s documentation to find more.

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


Re: best practices

2010-09-20 Thread David Kastrup
"Dmytro O. Redchuk"  writes:

> On Sun 19 Sep 2010, 21:36 David Kastrup wrote:
>> It is agreed-upon best practice _not_ to use those abbreviations on the
>> general user list.
> Regarding abbreviations -- they're convenient, anyway.

If I have been able to look far, it is because I have been stepping on
the toes of giants.

Anyway, if we have a sender knowing abbreviations, and a receiver _not_
knowing them, they are not as much convenient for communication as for
establishing superiority.

-- 
David Kastrup

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


Re: best practices

2010-09-20 Thread Dmytro O. Redchuk
On Sun 19 Sep 2010, 21:36 David Kastrup wrote:
> It is agreed-upon best practice _not_ to use those abbreviations on the
> general user list.
Regarding abbreviations -- they're convenient, anyway.


-- 
  Dmytro O. Redchuk
  Bug Squad

  Be careful! These are some commonly used abbreviations:
   • LM -- Learning Manual
   • NR -- Notation Reference
   • IR -- Internal Reference

  Look at LilyPond’s documentation to find more.

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


Re: How to include a file/definition temporarily?

2010-09-20 Thread David Kastrup
Patrick Schmidt  writes:

> Hi all,
>
> I have several files with definitions of guitar fret diagrams for
> various chord shapes (e.g. c-shape.ly, a-shape.ly, g-shape.ly, e- 
> shape.ly and d-shape.ly). I can't include all of these files at the
> same time in the main file as quite a few chord alternatives start on
> the same pitch. How can I use those definitions only temporarily? I
> tried this:
>
> cShape = { \include "c-shape.ly" }
> aShape = { \include "a-shape.ly"  }
>
> music = \chordmode {
>   \cShape
>   c1
>   \aShape
>   c1
> }

Maybe something like

stdfretboard = #(copy-list fretboard-table)
\include "c-shape.ly"
cshapefretboard = #(copy-list fretboard-table)
#(set! fretboard-table stdfretboard)
\include "a-shape.ly"
ashapefretboard = #(copy-list fretboard-table)
cShape = #(define-music-function ... (set! fretboard-table
   cshapefretboard)
aShape = #(define-music-funciton ...

or similar.  If c-shape/a-shape just add items to the front of
fretboard-table, you will not even need to copy stuff.  If it is
something other than a list, you'll need some other copying mechanism.

I have not checked in detail.

-- 
David Kastrup


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