Re: How to use shapeII in 2.18 on Windows 10?
Hi Saul, I need some more specifics to fully address your issues. Am Samstag, den 15.02.2020, 17:38 -0800 schrieb Saul Tobin: > I want to try using shapeII in one of my projects, so I cloned the > repo into my Lilypond include folder. Which repository? Unfortunately there are currently two where it can be found. > The usage guide I don't fully understand what you are referring to. Which usage guide? > requires OpenLilyLib Core to use modules, which I've never tried > before. So I cloned oll-core and followed the documented folder > structure. Again, which documentation exactly? > > Then when I try to compile the shapeII usage example, first it tells > me that 2.19.22 is required — presumably for oll-core. That's a > problem for me because my project is 2.18 and cannot be upgraded due > to breaking changes. Yes, there is a substantial breaking change between 2.19.21 and 22, which required to implement certain things conditionally all over the place. And at some point we had to decide (there was a discussion about it) to drop support for LilyPond 2.18 - also in the naive belief that it couldn't be too long until 2.20 would become the new stable version ... > But shapeII itself is apparently 2.18 compatible, so what am I > supposed to do here? If it really is (and I assume it is because Janek implemented it on 2.17, IIRC) you will be able to use it. Try including the "module.ily" file directly, and if that doesn't work out of the box you should be able to copy and paste everything the traditional way. > > But even when I switch to 2.19.82 just to compile the usage example, Please include the complete file, or a GitHub link to it, so we can talk about the same thing. > it tells me: > > :1:10: error: cannot find file: `oll-core/internal/os- > path.ily' > (search path: `C:/Program Files > (x86)/LilyPond/2.19.82/usr/share/lilypond/current/fonts/svg/;C:/Progr > am Files > (x86)/LilyPond/2.19.82/usr/share/lilypond/current/fonts/type1/;C:/Pro > gram Files > (x86)/LilyPond/2.19.82/usr/share/lilypond/current/fonts/otf/;C:/Progr > am Files > (x86)/LilyPond/2.19.82/usr/share/lilypond/current/scm;C:/Program > Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/ps;C:/Program > Files > (x86)/LilyPond/2.19.82/usr/share/lilypond/current/ly;C:/Users/Saul > Tobin/.lily;') > \include > "oll-core/internal/os-path.ily" > C:/Users/Saul Tobin/.lily/openlilylib/oll-core/package.ily:57:2: > error: GUILE signaled an error for the expression beginning here > # > (if (not (defined? 'openlilylib-root)) > As said, I don't know what file exactly you are trying to compile, and I'm wondering why you have even reached a point where this specific file is searched. But what I *do* see is that you haven't told LilyPond where to look for openLilyLib. As said also I don't know exactly what documentation you are referring to, but if you have seen any documentation detailing something about directory structure it should also include the instruction which directory to add to LilyPond's search path. HTH Urs > A quick search showed me a previous thread in which a user apparently > tried and never succeeded in getting oll-core to work on Windows 10. > > Can anyone shed some light on how to do this? All I want to do is > include a snippet. Even if I'm just copy and pasting, I'm fine with > it, but from what I can tell the module structure introduces > complicated dependencies between files so I can't even do that. I > thought modules were supposed to make things easier. > > Thanks, > > Saul
How to use shapeII in 2.18 on Windows 10?
I want to try using shapeII in one of my projects, so I cloned the repo into my Lilypond include folder. The usage guide requires OpenLilyLib Core to use modules, which I've never tried before. So I cloned oll-core and followed the documented folder structure. Then when I try to compile the shapeII usage example, first it tells me that 2.19.22 is required — presumably for oll-core. That's a problem for me because my project is 2.18 and cannot be upgraded due to breaking changes. But shapeII itself is apparently 2.18 compatible, so what am I supposed to do here? But even when I switch to 2.19.82 just to compile the usage example, it tells me: :1:10 <0>: error: cannot find file: `oll-core/internal/os-path.ily' (search path: `C:/Program Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/fonts/svg/;C:/Program Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/fonts/type1/;C:/Program Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/fonts/otf/;C:/Program Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/scm;C:/Program Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/ps;C:/Program Files (x86)/LilyPond/2.19.82/usr/share/lilypond/current/ly;C:/Users/Saul Tobin/.lily;') \include "oll-core/internal/os-path.ily" C:/Users/Saul Tobin/.lily/openlilylib/oll-core/package.ily:57:2 <1>: error: GUILE signaled an error for the expression beginning here # (if (not (defined? 'openlilylib-root)) A quick search showed me a previous thread in which a user apparently tried and never succeeded in getting oll-core to work on Windows 10. Can anyone shed some light on how to do this? All I want to do is include a snippet. Even if I'm just copy and pasting, I'm fine with it, but from what I can tell the module structure introduces complicated dependencies between files so I can't even do that. I thought modules were supposed to make things easier. Thanks, Saul
Re: ly:make-pitch
Am Sonntag, den 16.02.2020, 00:19 +0100 schrieb David Kastrup: > Freeman Gilmore writes: > > > On Sat, Feb 15, 2020 at 11:08 AM David Kastrup wrote: > > > > > Freeman Gilmore writes: > > > > > > > Were can I find the procedure for ly:make-pitch ? > > > > > > Beneath > > > > > > lily/pitch-scheme.cc:LY_DEFINE (ly_make_pitch, "ly:make-pitch", > > > > > > > I could not find this in the LilyPond program, but I did find this > > in Git > > Hub. > > > > I do not understand what i do not know; but it looks like nothing > > more than > > giving a LilyPond name to a scheme procedure ly:make-pitch that > > asked > > about, no algorithm. It does mention the 3 variable inputs but not > > how or > > what it does. > > > > Where is this procedure in the LilyPond files? > > I have no idea what you call "the LilyPond files". I think there's a misunderstanding here. Freeman asks for (I assume) the *Scheme* definition of the ly:make-pitch procedure. @Freeman: Usually the procedures starting with "ly:" are not defined in Scheme but in the C++ files. The C++ function (I'm not sure function is the correct term here) "LY_DEFINE" somehow maps the Scheme function ly:make-pitch to the C++ function ly_make_pitch. So if you want to know how that procedure works (or any of the ly: stuff) you will have to look at the C++ code because the Scheme function is essentially an *interface* to the C++ function. HTH Urs >
Re: ly:make-pitch
Freeman Gilmore writes: > On Sat, Feb 15, 2020 at 11:08 AM David Kastrup wrote: > >> Freeman Gilmore writes: >> >> > Were can I find the procedure for ly:make-pitch ? >> >> Beneath >> >> lily/pitch-scheme.cc:LY_DEFINE (ly_make_pitch, "ly:make-pitch", >> > > I could not find this in the LilyPond program, but I did find this in Git > Hub. > > I do not understand what i do not know; but it looks like nothing more than > giving a LilyPond name to a scheme procedure ly:make-pitch that asked > about, no algorithm. It does mention the 3 variable inputs but not how or > what it does. > > Where is this procedure in the LilyPond files? I have no idea what you call "the LilyPond files". -- David Kastrup My replies have a tendency to cause friction. To help mitigating damage, feel free to forward problematic posts to me adding a subject like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".
Re: ly:make-pitch
On Sat, Feb 15, 2020 at 11:08 AM David Kastrup wrote: > Freeman Gilmore writes: > > > Were can I find the procedure for ly:make-pitch ? > > Beneath > > lily/pitch-scheme.cc:LY_DEFINE (ly_make_pitch, "ly:make-pitch", > I could not find this in the LilyPond program, but I did find this in Git Hub. I do not understand what i do not know; but it looks like nothing more than giving a LilyPond name to a scheme procedure ly:make-pitch that asked about, no algorithm. It does mention the 3 variable inputs but not how or what it does. Where is this procedure in the LilyPond files? Thank you, ƒg And the docs (for what they are worth) are likely more or less in the Internals Reference. -- David Kastrup
Transposing instruments
Hi Pierre-Luc, > I now feel a weight have been lifted from my shoulders. Well, I hope we don’t hear from you years from now saying “For what it's worth, I wish somebody would have told me earlier that I should use clefs rather than transpositions.” LOL Cheers, Kieren. Kieren MacMillan, composer (he/him/his) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info
Transposing instruments
Hello again Kieren, Sort of a pedantic conversation here but anyway, the way I manage transposition is : I write music somewhere : piccolo = { c'''4 } clarinet = { c''4 } violin = { c'' } guitar = { e, } bass = { e,, } \addQuote "x" \x Then I define the parts : piccoloPart = \transpose c' c { \tranposition c'' …} piccoloScore = \clef "treble^8" … hornPart = \transpose f c' { \transposition f …} hornScore = \clef alto … Transposition is an instrument problem. Guitarist and bassist expect a treble and a bass clef. If I'm transposing for, say, the clarinet part in A of Bf, why should I not transpose the bass part? Le sam. 15 févr. 2020 à 10:56, Kieren MacMillan a écrit : > if you try to reuse your guitarStaff… This guitarStaff is made to be displayed to a guitarist expected to play a guitar. Not to be used anywhere else. > the notes will be the wrong ones Transposed notes for a Bf clarinet are not the wrong notes. I guess my point is : guitar, piccolo and basse are no different to me than clarinets, horns, english horns, etc. I now feel a weight have been lifted from my shoulders. -- Pierre-Luc Gauthier
Re: ly:make-pitch
Freeman Gilmore writes: > Were can I find the procedure for ly:make-pitch ? Beneath lily/pitch-scheme.cc:LY_DEFINE (ly_make_pitch, "ly:make-pitch", And the docs (for what they are worth) are likely more or less in the Internals Reference. -- David Kastrup
Re: Stop Tablature from moving up an octave
Hi Pierre-Luc, >> NO! Instead, use a transposing clef: > > I guess people (and books) diverge in opinion here. > But I do not write bass parts with \clef "bass_8" neither guitar with > \clef "treble_8". That’s fine, from a visual perspective — just turn off the ClefModifier. The problem I see with your code is similar to the [main] problem with relative mode: if you try to reuse your guitarStaff, the notes will be the wrong ones. With my version, the notes are the correct ones. Cheers, Kieren. Kieren MacMillan, composer (he/him/his) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info
ly:make-pitch
Were can I find the procedure for ly:make-pitch ? Thank you, ƒg
Re: Stop Tablature from moving up an octave
Le sam. 15 févr. 2020 à 10:45, Kieren MacMillan a écrit : > > guitarStaff = \transpose c c' { > > % Here we transpose > NO! Instead, use a transposing clef: I guess people (and books) diverge in opinion here. But I do not write bass parts with \clef "bass_8" neither guitar with \clef "treble_8". In my non transposing conductor scores though I explicitely use "bass_8" for basses and "treble_8" for guitars. -- Pierre-Luc Gauthier
Re: Stop Tablature from moving up an octave
Thanks to all for the excellent support an help. It is clear to me now and I have it working properly. Bob
Re: Stop Tablature from moving up an octave
Hi Pierre-Luc, > \version "2.21.0" > > song = { > % here you write the music the > % way it should sound > >| > } Yes. > guitarStaff = \transpose c c' { > % Here we transpose NO! Instead, use a transposing clef: guitarStaff = { \clef "treble_8" \new Voice { \song } } If for some (unknown!) reason you don’t want to see the "8", use \omit ClefModifier. > For what it's worth, I wish somebody would have told me earlier > that I should use absolute mode rather than relative. Cheers, Kieren. Kieren MacMillan, composer (he/him/his) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info
Re: Stop Tablature from moving up an octave
Guitar (like the bass) is a transposing instrument. The Tab part though is not transposing (obviously). \version "2.21.0" song = { % here you write the music the % way it should sound | } guitarStaff = \transpose c c' { % Here we transpose because a % guitar is a transposing instrument \new Staff \with { \transposition c % This^ will help with MIDI and % with \cueDuring etc. } \new Voice \with { } \song } guitarTab = { \new TabStaff \with { } \new TabVoice \with { } \song } guitarReal = \new Staff \with { \clef bass } \new Voice \with { } \song guitarPart = \new GrandStaff \with { instrumentName = "Guitar" } << \guitarStaff \guitarTab >> \score { << \guitarPart \guitarReal >> } For what it's worth, I wish somebody would have told me earlier that I should use absolute mode rather than relative. e.g. : e, is the low e on your guitar. Le sam. 15 févr. 2020 à 09:49, David Kastrup a écrit : > > Bob Stricklin writes: > > > I am new to Lilypond and can not get Tablature for guitar to work like I > > think it should. > > > > The documentation indicates Lilypond will select the lowest fret and open > > strings. > > > > When I run my example below the tablature selects fret position 12 and not > > zero for three of the note groups. > > I want it to select zero for all strings played. Is there an easy solution > > to this issue? > > > > Its odd that the code works properly for one of the three note groupings. > > > > This is to represent finger picking a bass note and two other notes with > > fingers. > > > > My Simplified code input using Frescobaldi on Ubuntu 18.04. > > > > \version "2.18.2" > > > > song = { > > > > } > > > > \score { > > << > > % \override StringNumber #'transparent = ##t > >\relative c' > > > > {\song } > >} > > > >\new TabStaff > > > > {\song} > >>> > > } > > Looks to me like you are entering everything an octave too high. From > \relative c' the note e, just gives e while the lowest note of a guitar > is actually e, . > > You are aware that guitar notes written in treble clef sound an octave > lower than written? "Correct" guitar notes are written using \clef > "treble_8" though a lot of notes abound not bothering spelling out the > octavation. > > But LilyPond does care about the actual pitch. Check the Midi and > compare with your instrument. > > -- > David Kastrup > My replies have a tendency to cause friction. To help mitigating > damage, feel free to forward problematic posts to me adding a subject > like "timeout 1d" (for a suggested timeout of 1 day) or "offensive". > -- Pierre-Luc Gauthier \version "2.21.0" song = { % here you write the music the % way it should sound | } guitarStaff = \transpose c c' { % Here we transpose because a % guitar is a transposing instrument \new Staff \with { \transposition c % This^ will help with MIDI and % with \cueDuring etc. } \new Voice \with { } \song } guitarTab = { \new TabStaff \with { } \new TabVoice \with { } \song } guitarReal = \new Staff \with { \clef bass } \new Voice \with { } \song guitarPart = \new GrandStaff \with { instrumentName = "Guitar" } << \guitarStaff \guitarTab >> \score { << \guitarPart \guitarReal >> }
Re: Stop Tablature from moving up an octave
Bob Stricklin writes: > I am new to Lilypond and can not get Tablature for guitar to work like I > think it should. > > The documentation indicates Lilypond will select the lowest fret and open > strings. > > When I run my example below the tablature selects fret position 12 and not > zero for three of the note groups. > I want it to select zero for all strings played. Is there an easy solution to > this issue? > > Its odd that the code works properly for one of the three note groupings. > > This is to represent finger picking a bass note and two other notes with > fingers. > > My Simplified code input using Frescobaldi on Ubuntu 18.04. > > \version "2.18.2" > > song = { > > } > > \score { > << > % \override StringNumber #'transparent = ##t >\relative c' > > {\song } >} > >\new TabStaff > > {\song} >>> > } Looks to me like you are entering everything an octave too high. From \relative c' the note e, just gives e while the lowest note of a guitar is actually e, . You are aware that guitar notes written in treble clef sound an octave lower than written? "Correct" guitar notes are written using \clef "treble_8" though a lot of notes abound not bothering spelling out the octavation. But LilyPond does care about the actual pitch. Check the Midi and compare with your instrument. -- David Kastrup My replies have a tendency to cause friction. To help mitigating damage, feel free to forward problematic posts to me adding a subject like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".
Stop Tablature from moving up an octave
I am new to Lilypond and can not get Tablature for guitar to work like I think it should. The documentation indicates Lilypond will select the lowest fret and open strings. When I run my example below the tablature selects fret position 12 and not zero for three of the note groups. I want it to select zero for all strings played. Is there an easy solution to this issue? Its odd that the code works properly for one of the three note groupings. This is to represent finger picking a bass note and two other notes with fingers. My Simplified code input using Frescobaldi on Ubuntu 18.04. \version "2.18.2" song = { } \score { << % \override StringNumber #'transparent = ##t \relative c' {\song } } \new TabStaff {\song} >> } Output numbers only: 0 0 0 0 12 12 0 12 0 0 0 0 I wish there was an ability to: Select string and fret manually. Something like \3-0. It would also be helpful to have a command like \set TabStaff.maximumFret=#5 This would force the automatic code to remain in the first few frets.
Re: layout doesn't work as I expected
Thank you Kieren that was very useful, I will definitely also fix my indentation style! -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Re: layout doesn't work as I expected
Thanks David, I was missing the difference between locals and globals layouts now everything is more clear -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
Re: layout doesn't work as I expected
Thanks Aaron that was smooth and clear :) -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html