Writing a fingering chart for French Horn

2013-08-17 Thread Tommaso Gordini
Hello to all,
this is my first post on lilypond-user.

I'm translating a practical guide to French horn and I have a problem that
I could not solve.
I have to write a French Horn fingering card. Many notes admit alternative
combinations, and they are written one below the other. Below I attack the
best code that I could find.

Now I ask you: can you give me some advice to improve it? The position of
the numbers is correct, or you think it is better to hit them under each
note? In a scheme like this, you would put the notes centered in the bar,
or the'd leave as they are?

The result now I do, but I see that as early as the second pentagram
numbers are no longer lined up as in the first.

I ask you some help, and you can modify my code and show me how to do.

Thank you!
Tommy

The code:

\version "2.16.2"


centermarkup = {

\once \override TextScript #'self-alignment-X = #CENTER

\once \override TextScript #'X-offset =#(ly:make-simple-closure

`(,+

,(ly:make-simple-closure (list

ly:self-alignment-interface::centered-on-x-parent))

,(ly:make-simple-closure (list

ly:self-alignment-interface::x-aligned-on-self

}


%\paper {

% #(set-paper-size "a4")

%}


global = {

\key c \major

\time 4/4

\clef "bass"

}


hornF = \relative c' {

\global

\transposition f

% Qui segue la musica.

f,,1

\centermarkup \once \override TextScript #'padding = #2

fis_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 2 - 3" } }

\centermarkup \once \override TextScript #'padding = #2

g_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 3" } }

\centermarkup \once \override TextScript #'padding = #2

gis_\markup{\override #'(baseline-skip . 2) \column

{ \finger "2 - 3" } }

\centermarkup \once \override TextScript #'padding = #2

a_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 2" \finger 3 } }

\centermarkup \once \override TextScript #'padding = #2

ais_\markup{\override #'(baseline-skip . 2) \column

{ \finger 1 } }

\centermarkup \once \override TextScript #'padding = #2

b_\markup{\override #'(baseline-skip . 2) \column

{ \finger 2 } }

\centermarkup \once \override TextScript #'padding = #2

c_\markup{\override #'(baseline-skip . 2) \column

{ \finger 0 } }

\centermarkup \once \override TextScript #'padding = #2

cis_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 2 - 3" } }

\centermarkup \once \override TextScript #'padding = #1

d_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 3" } }

\centermarkup \once \override TextScript #'padding = #1

dis_\markup{\override #'(baseline-skip . 2) \column

{ \finger "2 - 3" } }

\centermarkup \once \override TextScript #'padding = #1

e_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 2" \finger 3 } }

\centermarkup \once \override TextScript #'padding = #1

f_\markup{\override #'(baseline-skip . 2) \column

{ \finger 1 } }

\centermarkup \once \override TextScript #'padding = #1

fis_\markup{\override #'(baseline-skip . 2) \column

{ \finger 2 \finger "(1 - 2 - 3)" } }

\centermarkup \once \override TextScript #'padding = #1

g_\markup{\override #'(baseline-skip . 2) \column

{ \finger 0 \finger "1 - 3" } }

\centermarkup \once \override TextScript #'padding = #1

gis_\markup{\override #'(baseline-skip . 2) \column

{ \finger "2 - 3" } }

\centermarkup \once \override TextScript #'padding = #1

a_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 2" \finger 3 } }

\centermarkup \once \override TextScript #'padding = #1

ais_\markup{\override #'(baseline-skip . 2) \column

{ \finger 1 \finger "(1 - 2 - 3)" } }

\centermarkup \once \override TextScript #'padding = #1

b_\markup{\override #'(baseline-skip . 2) \column

{ \finger 2 \finger "1 - 3" } }

\break

\clef "treble"

\centermarkup \once \override TextScript #'padding = #3

c_\markup{\override #'(baseline-skip . 2) \column

{ \finger 0 \finger "2 - 3" } }

\centermarkup \once \override TextScript #'padding = #3

cis_\markup{\override #'(baseline-skip . 2) \column

{ \finger "1 - 2" \finger 3 \finger "(1 - 2 - 3)" } }

\centermarkup \once \override TextScript #'padding = #3

d_\markup{\override #'(baseline-skip . 2) \column

{ \finger 1 \finger "1 - 3" } }

\centermarkup \once \override TextScript #'padding = #3

dis_\markup{\override #'(baseline-skip . 2) \column

{ \finger 2 \finger "2 - 3" } }

\centermarkup \once \override TextScript #'padding = #3

e_\markup{\override #'(baseline-skip . 2) \column

{ \finger 0 \finger "1 - 2" \finger 3 } }

\centermarkup \once \override TextScript #'padding = #3

f_\markup{\override #'(baseline-skip . 2) \column

{ \finger 1 } }

\centermarkup \once \override TextScript #'padding = #3

fis_\markup{\override #'(baseline-skip . 2) \column

{ \finger 2 \finger "(1 - 2 - 3)" } }

\centermarkup \once \override TextScript #'padding = #3

g_\markup{\override #'(baseline-skip . 2) \column

{ \finger 0 \finger "1 - 3" } }

\break

\centermarkup \once \override TextScript #'padding = #1

Re: lilypond-user Digest, Vol 129, Issue 72

2013-08-17 Thread Mats Behre



On 2013-08-16 22:28, Philippe wrote:


David Kastrup wrote

>Actually, this works fine with Emacs and a number of PDF viewers as
>well.

Regarding the use of others editors with point-and-click, it doesn't work
out of the box with emacs or vi (and skim a previewer) on a mac (even if I
tried to...): clicking on a pdf launches the lilypad editor. At this time
frescobaldi and lilypondtool are the only working for me. Yet another thing
to investigate on my schedule.


This is because the 'textedit' URI scheme used by the PDFs is bound to 
lilypond.app.
I have a small AppleScript-based dispatcher called LilyPoint - which I think I 
found at some time on the LilyPond site, but can't find anymore - that opens 
the file using my preferred editor (Eddie).
Judging from the variable names in the script I have probably adapted it from a 
version intended for Emacs.
(Why this app is started instead of lilypond.app I don't know - possibly I have 
double-clicked it once and not used lilypond.app ...)

Mats


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


Re: frescobaldi on mac

2013-08-17 Thread Robin Newman
I too am trying to get Frescobadi working on my Mac. I have reached the stage
of of managing to compile and install the python-poppler-qt4 library, so I
now have lilypond compilation and dfp display working in Frescobaldi.

I have followed the installation instructions of Philippe Massart as regards
getting midi support going:
Installed via macports fluidsynth and portmidi
Installed and configured qsynth

When I start Frescobaldi I see the fluidsynth virtual port selected, but I
get errors from Frescobaldi. in three areas, although they are probably
related to the same cause.
1) When selecting the Midi-Setting preference panel

Traceback (most recent call last):
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
line 143, in slotCurrentItemChanged
item.activate()
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
line 163, in activate
w.loadSettings()
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
line 296, in loadSettings
group.loadSettings()
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
113, in loadSettings
self._playerPort.setEditText(s.value("player/output_port", port))
TypeError: QComboBox.setEditText(QString): argument 1 has unexpected type
'QPyNullVariant'
==
It doesn't switch to the panel, but if I click midi-settigs a second time it
does, showing the fluidsynth virtual port selected

If I then click refresh-midi ports I get the error

Traceback (most recent call last):
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
107, in refreshMidiPorts
self.loadSettings()
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
113, in loadSettings
self._playerPort.setEditText(s.value("player/output_port", port))
TypeError: QComboBox.setEditText(QString): argument 1 has unexpected type
'QPyNullVariant'
===

2: when clicking the play button on the midi-player 

Traceback (most recent call last):
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/__init__.py",
line 64, in slotPlay
self.widget().play()
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/widget.py", line
155, in play
self.openOutput()
  File
"/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/widget.py", line
124, in openOutput
o = midihub.output_by_name(p)
  File "/Applications/frescobaldi-2.0.10/frescobaldi_app/midihub.py", line
97, in output_by_name
if i.isoutput and i.name.startswith(name) and not i.isopen:
TypeError: startswith first arg must be str, unicode, or tuple, not
QPyNullVariant

Needless to say it doesn't play any midi. The midifile is show correctly
loaded in the midi player.

Any suggestions how I proceed?

Robin





--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/frescobaldi-on-mac-tp139401p149344.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: lilypond-user Digest, Vol 129, Issue 72

2013-08-17 Thread David Kastrup
Mats Behre  writes:

> On 2013-08-16 22:28, Philippe wrote:
>
>> David Kastrup wrote
>>> >Actually, this works fine with Emacs and a number of PDF viewers as
>>> >well.
>> Regarding the use of others editors with point-and-click, it doesn't work
>> out of the box with emacs or vi (and skim a previewer) on a mac (even if I
>> tried to...): clicking on a pdf launches the lilypad editor. At this time
>> frescobaldi and lilypondtool are the only working for me. Yet another thing
>> to investigate on my schedule.
>
> This is because the 'textedit' URI scheme used by the PDFs is bound to 
> lilypond.app.
> I have a small AppleScript-based dispatcher called LilyPoint - which I
> think I found at some time on the LilyPond site, but can't find
> anymore - that opens the file using my preferred editor (Eddie).
> Judging from the variable names in the script I have probably adapted
> it from a version intended for Emacs.
> (Why this app is started instead of lilypond.app I don't know -
> possibly I have double-clicked it once and not used lilypond.app ...)

It's probably in the EDITOR environment variable.

-- 
David Kastrup


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


Re: SMuFL

2013-08-17 Thread Janek Warchoł
Hi,

a short comment:

2013/8/11 David Kastrup :
> Werner LEMBERG  writes:
>
>>> I think "so poorly documented that in practice almost no one can
>>> understand how it works" still can't qualify as "in effect
>>> proprietary".
>>
>> It is not *that* badly documented.  However, the number of people who
>> understand Metafont are rather small today.
>
> git shortlog -sn mf/
>459  Han-Wen Nienhuys
>160  Jan Nieuwenhuizen
>104  Werner Lemberg
> 20  Jürgen Reuter
> 16  Carl D. Sorensen
> 15  Janek Warchoł
> 11  Mats Bengtsson
>  7  Bertrand Bordage
>  7  Maximilian Albert
>  4  David Kastrup
>  4  Graham Percival
>  4  John Mandereau
>  4  Phil Holmes
>  4  Tom Cato Amundsen
>  3  Erlend Aasland
>  3  Marc Hohl
>  3  Patrick McCarty
>  3  Reinhold Kainhofer
>  3  Rune Zedeler
>  2  Aleksandr Andreev
>  2  Neil Puttock
>  1  Benkő Pál
>  1  Carsten Steger
>  1  Glen Prideaux
>  1  Julien Rioux
>  1  Mark Polesky
>  1  Michael Welsh Duggan
>  1  Nicolas Sceaux
>
> Some of those will have worked on the build system rather than the fonts
> themselves, but I doubt that all of those working on the fonts had
> previous exposure to Metafont/Metapost.

All my commits concerned Metafont, but i would never say that i
*understand* Metafont.  I was just juggling with some numbers, trying
like monkey until it worked.
And as i'm pretty high on the list, this really means that few people
understand Metafont.

Janek

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


Re: frescobaldi on mac

2013-08-17 Thread Robert Schmaus
Hi robin, 

I just had the exact same problems. Solved them by going into the preference 
folder of my system and ditching all frescobaldi related prefs & plists. Some 
could not be deleted though. 

After that, no problems anymore. Of course you need to set all preferences new, 
but 

Best, Robert 

-
Von meinem Fliewatüüt gesendet.

On 17 Aug 2013, at 15:15, Robin Newman  wrote:

> I too am trying to get Frescobadi working on my Mac. I have reached the stage
> of of managing to compile and install the python-poppler-qt4 library, so I
> now have lilypond compilation and dfp display working in Frescobaldi.
> 
> I have followed the installation instructions of Philippe Massart as regards
> getting midi support going:
> Installed via macports fluidsynth and portmidi
> Installed and configured qsynth
> 
> When I start Frescobaldi I see the fluidsynth virtual port selected, but I
> get errors from Frescobaldi. in three areas, although they are probably
> related to the same cause.
> 1) When selecting the Midi-Setting preference panel
> 
> Traceback (most recent call last):
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
> line 143, in slotCurrentItemChanged
>item.activate()
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
> line 163, in activate
>w.loadSettings()
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
> line 296, in loadSettings
>group.loadSettings()
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
> 113, in loadSettings
>self._playerPort.setEditText(s.value("player/output_port", port))
> TypeError: QComboBox.setEditText(QString): argument 1 has unexpected type
> 'QPyNullVariant'
> ==
> It doesn't switch to the panel, but if I click midi-settigs a second time it
> does, showing the fluidsynth virtual port selected
> 
> If I then click refresh-midi ports I get the error
> 
> Traceback (most recent call last):
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
> 107, in refreshMidiPorts
>self.loadSettings()
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
> 113, in loadSettings
>self._playerPort.setEditText(s.value("player/output_port", port))
> TypeError: QComboBox.setEditText(QString): argument 1 has unexpected type
> 'QPyNullVariant'
> ===
> 
> 2: when clicking the play button on the midi-player 
> 
> Traceback (most recent call last):
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/__init__.py",
> line 64, in slotPlay
>self.widget().play()
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/widget.py", line
> 155, in play
>self.openOutput()
>  File
> "/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/widget.py", line
> 124, in openOutput
>o = midihub.output_by_name(p)
>  File "/Applications/frescobaldi-2.0.10/frescobaldi_app/midihub.py", line
> 97, in output_by_name
>if i.isoutput and i.name.startswith(name) and not i.isopen:
> TypeError: startswith first arg must be str, unicode, or tuple, not
> QPyNullVariant
> 
> Needless to say it doesn't play any midi. The midifile is show correctly
> loaded in the midi player.
> 
> Any suggestions how I proceed?
> 
> Robin
> 
> 
> 
> 
> 
> --
> View this message in context: 
> http://lilypond.1069038.n5.nabble.com/frescobaldi-on-mac-tp139401p149344.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

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


Re: SMuFL

2013-08-17 Thread Janek Warchoł
Hi folks,

2013/8/9 Urs Liska :
> Hi all,
>
> although I suspect this could once more become a longish and scattered
> thread, I feel forced to bring it up here.
>
> What do you think: would it make sense to open up LilyPond thinking to the
> idea of SMuFL brought up by Steinberg and Daniel Spreadbury?
> http://www.smufl.org
>
> Of course currently it's only their new Bravura font that complies to that
> proposed standard.
> But I can imagine there will be more 'participators' in mid-term future.
>
> Any thoughts?

I've missed the main discussion but i have a (hopefully) valuable comment.

We don't know if it would be worth it to make LilyPond support SMuFL.
But i think the question is: what should we do to make it easier to us
to adopt SMuFL if we decide to to do in the future?
In other words, how can we influence SMuFL design so that it would fit
LilyPond better (without doing anything ourselves).  For example, it
would probably be a good idea to ensure that SMuFL has places for all
glyphs we have.

best,
Janek

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


Re: frescobaldi on mac

2013-08-17 Thread rbn
Thanks Robert
That sorted it!

Robin

On 17 Aug 2013, at 15:10, Robert Schmaus  wrote:

> Hi robin, 
> 
> I just had the exact same problems. Solved them by going into the preference 
> folder of my system and ditching all frescobaldi related prefs & plists. Some 
> could not be deleted though. 
> 
> After that, no problems anymore. Of course you need to set all preferences 
> new, but 
> 
> Best, Robert 
> 
> -
> Von meinem Fliewatüüt gesendet.
> 
> On 17 Aug 2013, at 15:15, Robin Newman  wrote:
> 
>> I too am trying to get Frescobadi working on my Mac. I have reached the stage
>> of of managing to compile and install the python-poppler-qt4 library, so I
>> now have lilypond compilation and dfp display working in Frescobaldi.
>> 
>> I have followed the installation instructions of Philippe Massart as regards
>> getting midi support going:
>> Installed via macports fluidsynth and portmidi
>> Installed and configured qsynth
>> 
>> When I start Frescobaldi I see the fluidsynth virtual port selected, but I
>> get errors from Frescobaldi. in three areas, although they are probably
>> related to the same cause.
>> 1) When selecting the Midi-Setting preference panel
>> 
>> Traceback (most recent call last):
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
>> line 143, in slotCurrentItemChanged
>>   item.activate()
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
>> line 163, in activate
>>   w.loadSettings()
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/__init__.py",
>> line 296, in loadSettings
>>   group.loadSettings()
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
>> 113, in loadSettings
>>   self._playerPort.setEditText(s.value("player/output_port", port))
>> TypeError: QComboBox.setEditText(QString): argument 1 has unexpected type
>> 'QPyNullVariant'
>> ==
>> It doesn't switch to the panel, but if I click midi-settigs a second time it
>> does, showing the fluidsynth virtual port selected
>> 
>> If I then click refresh-midi ports I get the error
>> 
>> Traceback (most recent call last):
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
>> 107, in refreshMidiPorts
>>   self.loadSettings()
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/preferences/midi.py", line
>> 113, in loadSettings
>>   self._playerPort.setEditText(s.value("player/output_port", port))
>> TypeError: QComboBox.setEditText(QString): argument 1 has unexpected type
>> 'QPyNullVariant'
>> ===
>> 
>> 2: when clicking the play button on the midi-player 
>> 
>> Traceback (most recent call last):
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/__init__.py",
>> line 64, in slotPlay
>>   self.widget().play()
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/widget.py", line
>> 155, in play
>>   self.openOutput()
>> File
>> "/Applications/frescobaldi-2.0.10/frescobaldi_app/miditool/widget.py", line
>> 124, in openOutput
>>   o = midihub.output_by_name(p)
>> File "/Applications/frescobaldi-2.0.10/frescobaldi_app/midihub.py", line
>> 97, in output_by_name
>>   if i.isoutput and i.name.startswith(name) and not i.isopen:
>> TypeError: startswith first arg must be str, unicode, or tuple, not
>> QPyNullVariant
>> 
>> Needless to say it doesn't play any midi. The midifile is show correctly
>> loaded in the midi player.
>> 
>> Any suggestions how I proceed?
>> 
>> Robin
>> 
>> 
>> 
>> 
>> 
>> --
>> View this message in context: 
>> http://lilypond.1069038.n5.nabble.com/frescobaldi-on-mac-tp139401p149344.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


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


How to limit customized graceSettings?

2013-08-17 Thread Thomas Morley
Hi,

is there any easy way to limit customized graceSettings to Voice?

While using $(add-grace-property ...), any further setting of it will
override the former.

It is possible to rebuild and use the whole list (as I did in the
third Staff below), though that's tedious.

-Harm

Example:


\version "2.17.24"

  myGraceSettings = #`(
(Voice NoteHead style cross) ;; inserted
(Voice Stem direction ,UP)
(Voice Stem font-size -3)
(Voice Flag font-size -3)
(Voice NoteHead font-size -3)
(Voice TabNoteHead font-size -4)
(Voice Dots font-size -3)
(Voice Stem length-fraction 0.8)
(Voice Stem no-stem-extend #t)
(Voice Beam beam-thickness 0.384)
(Voice Beam length-fraction 0.8)
(Voice Accidental font-size -4)
(Voice AccidentalCautionary font-size -4)
(Voice Slur direction ,DOWN)
(Voice Script font-size -3)
(Voice Fingering font-size -8)
(Voice StringNumber font-size -8)
  )

<<
 \new Staff = "1"
   \new Voice \with { $(add-grace-property 'Voice 'NoteHead 'style 'mensural) }
   { \grace d'8 c'4 }

 \new Staff = "2"
   \new Voice \with { $(add-grace-property 'Voice 'NoteHead 'style 'diamond)   }
   { \grace d'8 c'4 }

 \new Staff = "3"
   \new Voice \with { graceSettings = \myGraceSettings   }
   { \grace d'8 c'4 }
>>

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


Re: How to limit customized graceSettings?

2013-08-17 Thread David Kastrup
Thomas Morley  writes:

> is there any easy way to limit customized graceSettings to Voice?
>
> While using $(add-grace-property ...), any further setting of it will
> override the former.

Have you taken a look at add-grace-property?  It's rather appalling.  It
figures out the level where the grace settings have been defined, and
overrides them _there_.

I think it shouldn't do that but rather set them at the _current_ level.
The same for remove-grace-property.  Of course, that means that if you
override the Staff or Voice grace properties while in a \Voice context,
the Staff properties will get ignored altogether (as there can be no
Staff within a Voice), and the Voice properties will only hold for this
Voice.

I don't mind that.  I'd expect overrides at Score level if you want to
have them hold globally.

-- 
David Kastrup


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


Re: How to limit customized graceSettings?

2013-08-17 Thread Thomas Morley
2013/8/17 David Kastrup :
> Thomas Morley  writes:
>
>> is there any easy way to limit customized graceSettings to Voice?
>>
>> While using $(add-grace-property ...), any further setting of it will
>> override the former.
>
> Have you taken a look at add-grace-property?  It's rather appalling.  It
> figures out the level where the grace settings have been defined, and
> overrides them _there_.

Yep.
But I didn't get the quick fix:
https://codereview.appspot.com/13088043/
Thanks a lot.

> I think it shouldn't do that but rather set them at the _current_ level.
> The same for remove-grace-property.  Of course, that means that if you
> override the Staff or Voice grace properties while in a \Voice context,
> the Staff properties will get ignored altogether (as there can be no
> Staff within a Voice), and the Voice properties will only hold for this
> Voice.
>
> I don't mind that.  I'd expect overrides at Score level if you want to
> have them hold globally.
+1

Though, another problem arises. I can't make work the following code.
Either add-grace-property is ignored or LilyPond complains about
clashing note columns, regardless of the use of the old
add-grace-property or your fix.
Issue 630
?
http://code.google.com/p/lilypond/issues/detail?id=630


\version "2.17.24"

% The new:
#(define-public (add-grace-property context-name grob sym val)
   "Set @var{sym}=@var{val} for @var{grob} in @var{context-name}."
   (define (set-prop context)
(let* ((current (ly:context-property context 'graceSettings))
(new-settings (append current
  (list (list context-name grob sym val)
  (ly:context-set-property! context 'graceSettings new-settings)))
  (make-apply-context set-prop))

\new Staff % \with { $(add-grace-property 'Voice 'NoteHead 'style 'cross) }
{
 <<
   \new Voice \with { $(add-grace-property 'Voice 'NoteHead 'style 'mensural) }
   { \voiceOne c''1 \grace d''8 \voiceOne c''4 }
   \new Voice \with { $(add-grace-property 'Voice 'NoteHead 'style 'diamond) }
   { \voiceTwo c'1 \grace d'8 \voiceTwo c'4 }
 >>
}

Any idea?

Thanks,
  Harm

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


Re: How to limit customized graceSettings?

2013-08-17 Thread Pierre Perol-Schneider
2013/8/17 Thomas Morley 

>
> Any idea?
>
>
Well, I have an idea but not sure that will help ('cause I'm not sure tu
understang your scheme code...).
Nevertheless, I've also changed some grace settings but directly in
LilyPond's code.
There I had to change two files for my new settings to work :
1) grace settings in engraver-init.ly
2) property setting music objs. in music-functions.scm
So maybe it's possible for you to find what you're looking for in one of
these ?

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


Re: Writing a fingering chart for French Horn

2013-08-17 Thread Thomas Morley
Hi Tommaso,

2013/8/17 Tommaso Gordini :
> Hello to all,
> this is my first post on lilypond-user.

Welcome!

> I'm translating a practical guide to French horn and I have a problem that I
> could not solve.
> I have to write a French Horn fingering card. Many notes admit alternative
> combinations, and they are written one below the other. Below I attack the
> best code that I could find.
>
> Now I ask you: can you give me some advice to improve it? The position of
> the numbers is correct, or you think it is better to hit them under each
> note? In a scheme like this, you would put the notes centered in the bar, or
> the'd leave as they are?
>
> The result now I do, but I see that as early as the second pentagram numbers
> are no longer lined up as in the first.
>
> I ask you some help, and you can modify my code and show me how to do.
>
> Thank you!
> Tommy

Actually, I don't understand what you're asking.

Anyway, I rewrote part of your code to avoid retyping the same things
again and again.
Note that I used \center-column instead of \column.
The argument of \fingerChart will be spilt at "+"
i.e. \fingerChart "1+2" will return a center-columned markup with two
lines: the first containg "1", the second "2".

You'll need a newer devel-version to make full use of it.
The Text_align_engraver will work with 2.16.2, though. It is from:
http://lsr.dsi.unimi.it/LSR/Item?id=637
(click on the image)
Because I don't know French Horn, I doubt I'll be of more use.

\version "2.17.24"

% from:
% http://lsr.dsi.unimi.it/LSR/Item?id=637
#(define (Text_align_engraver ctx)
  (let ((scripts '())
(note-column #f))

`((acknowledgers
   (note-column-interface
. ,(lambda (trans grob source)
 ;; cache NoteColumn in this Voice context
 (set! note-column grob)))

   (text-script-interface
. ,(lambda (trans grob source)
 ;; whenever a TextScript is acknowledged,
 ;; add it to `scripts' list
 (set! scripts (cons grob scripts)

  (stop-translation-timestep
   . ,(lambda (trans)
;; if any TextScript grobs exist,
;; set NoteColumn as X-parent
(and (pair? scripts)
 (for-each (lambda (script)
 (set! (ly:grob-parent script X) note-column))
   scripts))
;; clear scripts ready for next timestep
(set! scripts '()))

fingerChart =
#(define-scheme-function (parser location arg)(string?)
#{
\markup
   \override #'(baseline-skip . 2)
   \finger
   \center-column {
$(string-split arg #\+)
   }
#})

global = {
\key c \major
\clef "bass"
}


hornF = \relative c' {
\global
\transposition f

% Qui segue la musica.

f,,1
fis_\fingerChart "1 - 2 - 3"
g_\fingerChart  "1 - 3"
gis_\fingerChart "2 - 3"
a_\fingerChart "1 - 2+3"
ais_\fingerChart "1"
b_\fingerChart "2"
c_\fingerChart "0"
cis_\fingerChart "1 - 2 - 3"
d_\fingerChart "1 - 3"
dis_\fingerChart "2 - 3"
e_\fingerChart "1 - 2+3"
f_\fingerChart  "1"
fis_\fingerChart "2+(1 - 2 - 3)"
g_\fingerChart "0+1 - 3"
gis_\fingerChart "2 - 3"
a_\fingerChart "1 - 2+3"
ais_\fingerChart "(1 - 2 - 3)"
b_\fingerChart "2+1 - 3"

\break
\clef "treble"

\bar "||"
}


hornB = \relative c' {
\global

\transposition f

% Qui segue la musica.

f,,1_\fingerChart "0"
fis
g
gis
a
ais
b_\fingerChart "1 - 2 - 3"
c_\fingerChart "1 - 3"
cis_\fingerChart "2 - 3"
d_\fingerChart "1 - 2+3"
dis_\fingerChart "1"
e_\fingerChart "2"
f_\fingerChart "0"
fis
g
gis
a
ais
b

\clef "treble"

\bar "||"
}


hornFPart =
\new Staff
  \with {
instrumentName = "Fa"
shortInstrumentName = "Fa"
  }
  \hornF

hornBPart =
\new Staff
  \with {
instrumentName = \markup { "Si"\flat }
shortInstrumentName = \markup { "Si"\flat }
  }
  \hornB

\score {
  <<
\hornFPart
\hornBPart
  >>

  \layout {
\context {
  \Score
  \remove "Bar_number_engraver"
}
  \context {
\Voice
\consists #Text_align_engraver
\override TextScript #'X-offset =
  #ly:self-alignment-interface::aligned-on-x-parent
\override TextScript #'self-alignment-X = #CENTER
  }
  }
}


HTH,
  Harm

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


Re: How to limit customized graceSettings?

2013-08-17 Thread Thomas Morley
Hi Pierre,

2013/8/17 Pierre Perol-Schneider :
> 2013/8/17 Thomas Morley 
>>
>>
>> Any idea?
>>
>
> Well, I have an idea but not sure that will help ('cause I'm not sure tu
> understang your scheme code...).

The code was created by David Kastrup.
Actually I think he should earn a lot more money!

> Nevertheless, I've also changed some grace settings but directly in
> LilyPond's code.
> There I had to change two files for my new settings to work :
> 1) grace settings in engraver-init.ly

Yep, though I want to avoid that.

> 2) property setting music objs. in music-functions.scm

Here I don't understand.
Could you c/p what you did?

> So maybe it's possible for you to find what you're looking for in one of
> these ?
>
> Cheers,
> Pierre
>

Btw, I stumbled on it, while rewriting
http://lsr.dsi.unimi.it/LSR/Item?id=566
See:
http://lilypond.1069038.n5.nabble.com/flam-snippet-not-working-td149310.html

Once I'm satisfied, I'll add the commented 2.16.2-code to the LSR-snippet.
If you seriously want to tackle LSR-upgrade, you'll find some other
snippets with such annotations.


Best,
  Harm

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


Re: Text in front of Staves

2013-08-17 Thread Thomas Morley
Hi Kale,

2013/8/16 Kale Good :
> Wow, Nick, that's pretty sharp. Saves on paper for sure. Reminds me of how
> they are set in the back of Pumping Nylon.
>
> Yes, Thomas, tupletspan was also giving me an error.
>
> I ended up resetting the short name of the instrument between each exercise
> and then setting the margins the same in the layout block. This way it'll
> break pages for me.
>
>
> \version "2.16.2"
[...]

With this approach pageBreak isn't an issue anymore.

Though some nitpicks:
In my printed edition (Schott) and in the png you posted initially
a) every new line has a TimeSignature _followed_ by the starting repeat-sign,
b) the BarLines are aligned.

a) is doable by inserting a new TimeSignature for every new exercise,
tweaking 'break-visibility and BreakAlignment 'break-align-orders.
b) is problematic. You can play around with the different properties
of SpacingSpanner, but I'm not sure you'll succeed.

Good luck,
  Harm

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


Re: Pattern-generating Scheme function challenge

2013-08-17 Thread Thomas Morley
2013/7/24 Nicolas Sceaux :
> Le 24 juil. 2013 à 01:09, Thomas Morley  a écrit :
>
>> Hi David, Urs,
>>
>> I'm sorry I didn't try to improve my recent code with David's proposals.
>>
>> In a few hours (after sleep) I'll start my vacations, being offline
>> for three weeks.
>> Perhaps someone else might catch the ball.
>
>
> Hi,
>
> Here is a proposition, with probably still room for improvements!
>
> Nicolas
>
Hi Nicolas,

your code is much more elegant than my last trials.

Thanks a lot!

Best,
  Harm

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


Re: Pattern-generating Scheme function challenge

2013-08-17 Thread Urs Liska
Hi all,

I'm sorry I didn't seem to acknowledge your contributions. But I'll surely look 
into them when I'm at home again.

Urs



Thomas Morley  schrieb:

>2013/7/24 Nicolas Sceaux :
>> Le 24 juil. 2013 à 01:09, Thomas Morley  a
>écrit :
>>
>>> Hi David, Urs,
>>>
>>> I'm sorry I didn't try to improve my recent code with David's
>proposals.
>>>
>>> In a few hours (after sleep) I'll start my vacations, being offline
>>> for three weeks.
>>> Perhaps someone else might catch the ball.
>>
>>
>> Hi,
>>
>> Here is a proposition, with probably still room for improvements!
>>
>> Nicolas
>>
>Hi Nicolas,
>
>your code is much more elegant than my last trials.
>
>Thanks a lot!
>
>Best,
>  Harm

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to limit customized graceSettings?

2013-08-17 Thread Pierre Perol-Schneider
2013/8/17 Thomas Morley 

>
> > 2) property setting music objs. in music-functions.scm
>
> Here I don't understand.
> Could you c/p what you did?


OK.
In LilyPond scm files, there is one named music-functions.scm.
If you open it, at the end of the first quater you'll see :

 
;; property setting music objs.

 bla bla

(define-safe-public (make-voice-props-set n)
  (make-sequential-music
   (append
(map (lambda (x) (make-grob-property-set x 'direction
 (if (odd? n) -1 1)))
 direction-polyphonic-grobs)
(list
 (make-property-set 'graceSettings
;; TODO: take this from voicedGraceSettings or
similar.
'((Voice Stem font-size -3)
  (Voice Flag font-size -3)
  (Voice NoteHead font-size -3)
  (Voice TabNoteHead font-size -4)
  (Voice Dots font-size -3)
  (Voice Stem length-fraction 0.8)
  (Voice Stem no-stem-extend #t)
  (Voice Beam beam-thickness 0.384)
  (Voice Beam length-fraction 0.8)
  (Voice Accidental font-size -4)
  (Voice AccidentalCautionary font-size -4)
  (Voice Script font-size -3)
  (Voice Fingering font-size -8)
  (Voice StringNumber font-size -8)))

 (make-grob-property-set 'NoteColumn 'horizontal-shift (quotient n
2))

As it is written, you have to re-write your grace settings in this file in
order to have the desired effect.
So I was thinking that, maybe, in your code, you also have to write somehow
these double settings.
Hope that helps.



> Btw, I stumbled on it, while rewriting
> http://lsr.dsi.unimi.it/LSR/Item?id=566
> See:
>
> http://lilypond.1069038.n5.nabble.com/flam-snippet-not-working-td149310.html
>
> Once I'm satisfied, I'll add the commented 2.16.2-code to the LSR-snippet.
> If you seriously want to tackle LSR-upgrade, you'll find some other
> snippets with such annotations.
>

Yes I've seen that this afternoon.
Thanks Harm.

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


purpose of commands

2013-08-17 Thread Mark Stephen Mrotek
Hello:

 

The attached snippet, commands.ly, is from

http://www.lilypond.org/doc/v2.16/Documentation/notation/multiple-voices.htm
l.

 

1.   What is the purpose/effect of the first line?

2.   What is the purpose/effect of the command \bar "||" before
voiceTwo?

 

Thank you.

 

Mark

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

\relative c'' {
  \time 3/4
  \key d \minor
  \partial 2
  <<
{
  \voiceOne
  a4. a8
  e'4 e4. e8
  f4 d4. c8
}
\\
{
  \voiceThree
  f,2
  bes4 a2
  a4 s2
}
\\
{
  \voiceFive
  s2
  g4 g2
  f4 f2
}
\\
\bar "||"{
  \voiceTwo
  d2
  d4 cis2
  d4 bes2
}
  >>
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user