Writing a fingering chart for French Horn
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
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
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
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
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
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
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
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?
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?
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/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/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
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?
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
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/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
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/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
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