lilypond output help
I have finally gotten lilypond to work with my wikipedia. For the most part I am using lilypond -f=png -s -p --png to create the output file, with the .ly file to contain \paper{ raggedright = ##t indent = 0\mm } \score { \relative c''{ [dynamic code] } layout { } } this works great so far, but is there any way I can dynamicly shrink the png to size and remove the excess white space on the output? Tnx in advance Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: For those who need new features and bug fixes...
On 21 déc. 2012, at 14:01, Kieren MacMillan wrote: > Hi Mike, > >> I have two 16ish-hour flights this holiday season and I'll be filling them >> with composition, Sudoku, and LilyPond programming. So, this is the time to >> send me: >> 1) Features you need implemented. >> 2) Bugs you need fixed. >> 3) Things you need reviewed. >> I'll get as many of them done as I can on the flight. > > The big ones for me are: > > 1. The completion of Janek's GSoC work on Lyrics. In particular, the feature > where the music is spaced evenly and the lyrics are adjusted automatically to > suit (rather than the current situation, which is essentially the opposite). > > 2. Allowing a text markup (especially a MetronomeMark) to have a "minimum > measure length". This would avoid collisions, particularly where there are > lots of multi-measure rests (e.g., orchestral parts). Hey Kieren, A quick note to let you know that #2 is doable via a hack. Minimum lengths can only work if you use spanners, but you can hijack the tempo print function for a text spanner (and suppress the line afterwards) and then create a scheme engraver for text spanner that uses whatever as the left bound and the next bar line's non-musical paper column as the right bound. Or you could just use the existing engraver and use the last note in the measure as a bound, although this will potentially create uneven spacing in a measure. You'll have to manually put this TextSpanner in the topmost context and/or use ly:side-position-interface::move-to-extremal-staff (I'd recommend the former, as the latter is powerful but falls in the category of LilyPond black magic). Make sure to use springs and rods and set a minimum-length - there's an example in the docs with a hairpin or glissando or something spanner-y that does this. That's my not-so-subtle way of blowing you off :-) Not that it's not a good request (it is excellent and I'd use it!) but the solution is definitely within reach for many-a-schemers on this list (especially as there is a custom text-script engraver already in the docs somewhere). I'm gonna try to focus on things that need changing in the C++ or in difficult Scheme. Happy holidays! Greetings from 30,000 feet over Waltrop, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Overriding Y-extent of Clef doesn't work with v2.17.10
On 6 févr. 2013, at 09:31, Keith OHara wrote: > Thomas Morley googlemail.com> writes: > >> >> in some situations I used to override the Y-extent of the Clef. >> >> With 2.17.10 it doesn't work any more. >> > > I noticed this, too, and found the change that caused it. > > https://lists.gnu.org/archive/html/lilypond-user/2013-01/msg00559.html > > Now that I think more about it, I see a reasonable way to make it work again: > > verticalSpace = { >\override Staff.Clef #'minimum-Y-extent = #'(-20 . 20) >\override Staff.Clef #'vertical-skylines = #'() } > > This is good, because it minimum-X-extent is very useful for getting extra > space just where you need it. > There is also: \override Staff.Clef #'vertical-skylines = #ly:grob::simple-vertical-skylines-from-extents which uses the extent of the clef instead of the shape to calculate vertical skylines. Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Automatic dashed bar line in compound time signatures
On 25 avr. 2013, at 09:44, Edward Andrews-Hodgson wrote: > Hi there > > I'm transcribing some music which has a compound time signature (3/4 + 3/8). > I've managed to set the set the beaming using > \set Timing.beatStructure = #'(2 2 2 3) > But I'd also like to have an automatic dashed bar line before the three > quavers at the end of the bar. Is this possible? Automatic is a bit tough, but if you do something like << { \mymusic } { \repeat unfold 8 { s2. \bar "|" s4. } } >> where \mymusic is your music and override the barline style such that it is dashed (I forget how to do that) it'll do the trick. Cheers, MS___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Combining NoteHead and Stem stencils for rotation
Hey all, I'd like to rotate a note head and its stem in one fell swoop. This seems rather nightmarish to do. I can envision two solutions: (1) Combine the stem stencil with its notehead stencil and then make the notehead transparent. Then, rotate this uberstencil. (2) Do trig on the stem to translate it after having rotated the notehead (or vice versa). Both of these options seem not easy, but option 2 seems more feasible. In order to do this, though, I'd have to spend a fair bit of time doing the math and work with different unit systems for X and Y (I think). Before I start on this, can anyone think of a quick & easy way to do this rotation? Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: looking to contract with someone to add meta-data to svg export
On Wed, 25 May 2011 18:55:08 +0100, Graham Percival wrote: On Fri, May 20, 2011 at 12:34:25PM -0600, Michael Geary wrote: I'm not a C/C++ coder, and mucking about in the Lilypond source isn't really an option for me, but i am in a position to hire someone to do that, and/or make a financial contribution to the project. Is anyone here interested in exploring this with me? I believe that Mike Solomon and Patrick McCarty would be the best two people to approach. I'm a bit surprised that they haven't said anything alerady, actually. :) Cheers, - Graham Sorry - I should have replied to the list. I contacted Michael off-list because it seemed like a peer-to-peer thing. Long live SVG, ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: programming error: no solution found for Bezier intersection
On Wed, 14 Sep 2011 13:29:30 +1000, Nick Payne wrote: On 14/09/11 08:34, Trevor Daniels wrote: Nick Payne wrote Tuesday, September 13, 2011 11:25 PM The problem is that the score is quite large, and the log gives no indication at all about where the error is coming from. I guess I can try commenting out different sections to see if I can isolate where the error is happening. Nick, if it helps, the problem will be with either a slur or a tie. The code is trying to find the height of a slur or a tie at a particular x value (or vice versa) and finds no slur or tie at that point. Some code in this area is relatively new, so it is possible you have hit a code error. If you can narrow it down that would be very helpful (or it may help you find a problem in your ly code :). Ok, the following small example reproduces the error on my system with 2.15.11: %== \version "2.15.11" \language "english" fingering = { \set fingeringOrientations = #'(left) \set strokeFingerOrientations = #'(up) \override Fingering #'avoid-slur = #'inside \override StrokeFinger #'avoid-slur = #'outside } \relative c'' { \fingering 16( b) } %== If I get rid of the right hand fingering then the error goes away, and if I comment out the override for StrokeFinger #'avoid-slur then the error also goes away but the log contains the warning: /home/nick/lilypond/examples/test.ly:14:13: warning: Ignoring grob for slur: StrokeFinger. avoid-slur not set? 16( b) Nick ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user Hey all from sunny Athens, I'll be on it over the weekend! Back to the Acropolis, ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Most popular French users request : bar numbering of alternatives
On Mon, 28 Nov 2011 21:52:15 +1100, Nick Payne wrote: On 28/11/11 11:04, Xavier Scheuer wrote: Dear LilyPond developers, Dear Bug Squad members, could you add this enhancement request to the tracker? Thanks! This is by far the most popular enhancement request from the French users mailing list: Bar numbering of repeat volta _alternatives_. Currently LilyPond counts the measures of each "alternative" as normal, unrepeated, measures hence incrementing the currentBarNumber in both alternative "1." and "2.". Several references supports what is actually asked by many users: bar numbering of alternatives should not be counted twice. [snip] I do not know what say music engraving books like Ross, Read or Gould but here is what says Jean-Pierre Coulon in his "Repository of music-notation mistakes" or "Essay on the true art of music engraving": "When first ending-second ending measures are present, measure numbers of only the first ending measure act on the numbering. If necessary, corresponding measure numbers have the subscripts a and b." Gould says (p.237): "Some editions duplicate first- and second-time bar numbers" (and she then shows first and second alternatives with the bar numbers repeated with the addition of an a or b, as indicated above). She further says: "In ensemble music, it is best to number consecutively through separate endings, to avoid confusion when counting bars during rehearsal." Nick I can likely have something put together by this evening or tomorrow. Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: my own file
On Tue, 24 Jan 2012 06:03:57 + (UTC), Julia wrote: I am having a devil of a time! I confirmed that lilypond is working. The log says my compilation is successful. But neither the ps or pdf file were created. I downloaded the 2.14 version for windows xp. I don't know how to fix that. Please help!!! Thank you... Hey Julia, Below, I'll use `foo.ly' as the name for your file. You'll have to replace `foo' by whatever the file was called. Do you see foo.pdf on your Desktop? If not, can you search for the file foo.pdf on your system and see if it was created? If not, there are several Windows users on the list that may be able to give you some more hints on where to look (I use a Mac). But when I used to teach LilyPond to Windows users, these proved to be the two most common ways to solve this sorta problem. Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: multi line glissando
On Thu, 26 Jan 2012 12:11:47 + (GMT), Paolo Prete wrote: Hello, how can I obtain a glissando similar to that in the attached file? Thanks! Paolo There are two ways. 1) Place hidden notes at the kink points and then make several glissandi w/ padding=0 on the left and right at the notes. This is good if you want to suggest a sort of note-like horizontal spacing. 2) Override the stencil command with several line stencils. You can use the positions of the left and right bounds to normalize the lines so that they fit properly in the space provided. Note that, to make sure there's enough space, you'd have to set minimum-length for glissandi - there's a bit in the docs about it (I forget where, but you can do a find in the pdf for it). Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: bend and release (blues transcription)
Dear Luis, Lionel Rascle is working on this sorta thing. You can e-mail him at le...@free.fr for some code. Cheers, MS On Mar 19, 2012, at 12:28 AM, luis jure wrote: > > > hello list, > > i'm transcribing a fragment of a blues recording, and i'm trying to solve > how to notate all the pitch deviations present in the voice and guitar. > > i'm combining the use of plain glissandi, bendAfter, and grace > notes with \hideNotes and glissando for a "prebend" (BTW, how useful it > would be for this task something like bendAfter but "before" the note!). > > but i don't know how to notate with lilypond the bend and release, like in > the attached image (it's taken from the legend at the end of the hal > leonard books). > > some time ago i learned how to embed simple postscript code in lilypond, > but perhaps there's a simpler and more efficient "pure lilypond" way... > > > best, > > > lj___ > 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: musescore lands sponsoring?
On 29 mai 2012, at 23:56, Lucas Gonze wrote: > On Tue, May 29, 2012 at 2:16 PM, Nils wrote: >> AFAIK musescore dropped Lilypond export support because of a lack of >> interest and in favour of musicXML (whatever that means, I read it somewhere >> on the musescore twitter account or something like this). >> It may still work, but we can expect it to break a little more with each >> Lilypond release. > > Musecore and Lilypond are both open source. A GUI would benefit > Lilypond. There's no reason for a Lilypond person to not work on .ly > export from the Musecore front end. > > I feel like this conversation is unnecessarily competitive. These > projects have a *lot* in common. I am rooting for both. I know I'm rehashing old ground, but I think that these projects stand to mutually benefit from each other if and only if they evolve in "natural" directions given their goals. MuseScore reminds me of Finale and Sibelius and it seems like it should do this as best as possible. LilyPond needs to be an excellent typesetter (like SCORE). It needs to be for people who put layout above all else. In general, the idea of LilyPond is to build a master engraver - a virtual person who, using various directives, creates a score following hundreds of years of engraving knowledge. Like any master engraver, this involves trial and error and testing out multiple possibilities, which is exactly what LilyPond does - for any slur you see in a score, LilyPond is testing between 50 and 100 slurs to see which one fits best. These tests take time and, if they were done for every change in a WYSIWYG score (because every change in a score has the potential to effect every element of a score) it would slow the score down immensely. LilyPond 2.18 (yes, 2.18, not 2.16) will contain various changes in lyrics and skylines that build even more engraver knowledge into LilyPond, which will slow it down by about 1-5 seconds for a 60 second score. These scores will look less airy in many cases. These types of features are the ones that I think will improve LilyPond's typesetting most. So, with respect to your comment above, I too am rooting for both programs. I think what they have in common is that they both produce scores. However, I'd encourage everyone to help both programs distinguish themselves through their differences. The nightmare scenario, in my opinion, is that the two programs, competing over a user-base somewhere in the middle, converge. To paraphrase what Bill Clinton said of Washington DC, it'd be like "A combination of northern hospitality and southern efficiency." Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Editorial ties in scheme
This is my first attempt at scheme hacking and I would appreciate a little help. What I am trying to do is implement editorial ties ( a small vertical line mid tie). I can find the X mid point easily enough, but cannot work out how to find the Y position (relative to currentpoint). I've tried looking at Y-extent but that gives a 'still calculating' error. The second question is how best to integrate this into the user language? The score I am working on has many, many ties, about a quarter of which are editorial, so it would be nice to be able to switch between them easily. { \override Tie #'stencil = #(lambda(grob) (let* ( (tie-stencil (ly:tie::print grob)) (cpoints (ly:grob-property grob 'control-points)) ; (Xpoint3-Xpoint0) / 2 + Xpoint0 (mid-tie (+(car(list-ref cpoints 0)) ( / (- (car(list-ref cpoints 3)) (car( list-ref cpoints 0))) 2))) (ps (format #f "gsave currentpoint translate newpath 0.2 setlinewidth ~s -2.3 moveto 0 0.5 rlineto stroke grestore" mid-tie)) (tick-stencil(ly:make-stencil(list 'embedded-ps ps ) (cons 0 1)(cons -1 -1))) ) (ly:stencil-add tie-stencil tick-stencil) ) ) g'1~g' } Thanks, Mike PS: list server *seems* to be swallowing posts: apologies if this appears several times. Or maybe I am too impatient. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Editorial ties in scheme
On Sat, Jun 02, 2012 at 03:54:47PM +0200, David Kastrup wrote: > > PS: list server *seems* to be swallowing posts: apologies if this appears > > several times. > > So far four times. > > > Or maybe I am too impatient. > > Maybe. Eek! How embarrassing - groveling apologies to all for the noise. I didn't realize that it took 12hrs+ for posts to appear, so I started fiddling with settings assuming there was a problem. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
stem slash ornament
This is a modification of tremolo to use it for stem ornaments in early English keyboard (virginals) music. The problem with tremolo is that I could not find a way to prevent it adjusting the slash separation to match any beaming, so I redid the stencil in ps. It only works in 2.15 - in 2.14 the postscript prints in the wrong place. Submitted for comments, improvements and possible inclusion in LSR if people think it might be helpful. Here is a Byrd alman which I think has worked quite well. I had to adjust the stem length and beam postion each on one occasion, but otherwise it is untweaked. http://www.divshare.com/download/18366931-9b7 Mike \version "2.15" %% set tremolo-type to generate only one flag sstemtr = #(define-music-function (parser location sequential-music) (ly:music?) "single slashed stem trill for early english keyboard music" (let ( (result-sequential-music (ly:music-deep-copy sequential-music)) (dur (ly:duration-log (ly:music-property sequential-music 'duration))) (trem 8) ) (cond ((equal? dur 3)(set! trem 16)) ((equal? dur 4)(set! trem 32)) ((equal? dur 5)(set! trem 64)) ((equal? dur 6)(set! trem 128)) ) (set! (ly:music-property result-sequential-music 'articulations) (cons (make-music 'TremoloEvent 'tremolo-type trem) (ly:music-property result-sequential-music 'articulations))) result-sequential-music)) %% two flags stemtr = #(define-music-function (parser location sequential-music) (ly:music?) "double slashed stem trill for early english keyboard music" (let ( (result-sequential-music (ly:music-deep-copy sequential-music)) (dur (ly:duration-log (ly:music-property sequential-music 'duration))) (trem 16) ) (cond ((equal? dur 3)(set! trem 32)) ((equal? dur 4)(set! trem 64)) ((equal? dur 5)(set! trem 128)) ((equal? dur 6)(set! trem 256)) ) (set! (ly:music-property result-sequential-music 'articulations) (cons (make-music 'TremoloEvent 'tremolo-type trem) (ly:music-property result-sequential-music 'articulations))) result-sequential-music)) %% Stencil prints one slash if flag-count == 1, otherwise 2 %% Too few flags and stem engraver refuses to typeset it %%too many and the stem length is increased unnecessarily. stemtrill= #(lambda(grob) (let* ( (stem (ly:grob-parent grob X)) (duration (ly:grob-property stem 'duration-log)) (dir(ly:grob-property stem 'direction)) (flag-count(ly:grob-property grob 'flag-count)) ; give a little exra space for minims (base-pos (if (= 0 duration) 0.5 -0.2)) (separation (if (= 1 flag-count) 0 0.6)) (ps(format #f " /width 0.65 def /rise 0.5 def /thickness 0.3 def /slash {gsave currentpoint translate newpath -1 width mul exch moveto 2 width mul rise rlineto 0 -1 thickness mul rlineto -2 width mul -1 rise mul rlineto closepath fill grestore} def ~s slash ~s slash" (* base-pos dir) (* (- base-pos separation) dir))) ) (if ( > flag-count 2) (format #t "\nWarning Stemtrill duration: ~s flags: ~s\n" duration flag-count)) (ly:make-stencil (list 'embedded-ps ps ) (cons 0 0) (cons 0 0 \layout{ \context { \Voice \override StemTremolo #'stencil = \stemtrill } } { %% Use either notation: the wrappers enforce the correct number of flags \stemtr g'1 \stemtr d''8 c'' b' d'' \sstemtr c'' b' a' c'' g'4:16 } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Editorial ties in scheme
Here is my solution for marking ties as editorial. It seems that the size of tie is not known when the stencil is called, so I used a function from sencil.scm to calculate its extent. I thought scheme was not too bad until I saw this - I have no idea how it works, but the answers seem plausible. Posted for comments and in case others may find it useful. \version "2.15" editorialTieStencil=#(lambda(grob) (define (pairs-to-lists p) (list(car p) (cdr p))) ; this routine taken from stencil.scm ; trace the course of a bezier and return ; its extent. We use the max Y extent (define (path-min-max origin pointlist) (define (line-part-min-max x1 x2) (list (min x1 x2) (max x1 x2))) (define (bezier-part-min-max x1 x2 x3 x4) ((lambda (x) (list (reduce min 1 x) (reduce max -1 x))) (map (lambda (x) (+ (* x1 (expt (- 1 x) 3)) (+ (* 3 (* x2 (* (expt (- 1 x) 2) x))) (+ (* 3 (* x3 (* (- 1 x) (expt x 2 (* x4 (expt x 3)) (if (< (+ (expt x2 2) (+ (expt x3 2) (* x1 x4))) (+ (* x1 x3) (+ (* x2 x4) (* x2 x3 (list 0.0 1.0) (filter (lambda (x) (and (>= x 0) (<= x 1))) (append (list 0.0 1.0) (map (lambda (op) (if (not (eqv? 0.0 (- (+ x1 (* 3 x3)) (+ x4 (* 3 x2) ;; Zeros of the bezier curve (/ (+ (- x1 (* 2 x2)) (op x3 (sqrt (- (+ (expt x2 2) (+ (expt x3 2) (* x1 x4))) (+ (* x1 x3) (+ (* x2 x4) (* x2 x3))) (- (+ x1 (* 3 x3)) (+ x4 (* 3 x2 ;; Apply L'hopital's rule to get the zeros if 0/0 (* (op 0 1) (/ (/ (- x4 x3) 2) (sqrt (- (+ (* x2 x2) (+ (* x3 x3) (* x1 x4))) (+ (* x1 x3) (+ (* x2 x4) (* x2 x3) (list + - (define (bezier-min-max x1 y1 x2 y2 x3 y3 x4 y4) (map (lambda (x) (apply bezier-part-min-max x)) `((,x1 ,x2 ,x3 ,x4) (,y1 ,y2 ,y3 ,y4 (define (line-min-max x1 y1 x2 y2) (map (lambda (x) (apply line-part-min-max x)) `((,x1 ,x2) (,y1 ,y2 ((lambda (x) (list (reduce min +inf.0 (map caar x)) (reduce max -inf.0 (map cadar x)) (reduce min +inf.0 (map caadr x)) (reduce max -inf.0 (map cadadr x (map (lambda (x) (if (eq? (length x) 8) (apply bezier-min-max x) (apply line-min-max x))) (map (lambda (x y) (append (list (cadr (reverse x)) (car (reverse x))) y)) (append (list origin) (reverse (cdr (reverse pointlist pointlist ;- ; the stencil (let* ( (tie-stencil (ly:tie::print grob)) (cpoints (ly:grob-property grob 'control-points)) ; bezier routine wants a list of lists, not pairs (lpoints (map pairs-to-lists cpoints)) (dir(ly:grob-property grob 'direction)) (offset -0.2) ; vertical fudge factor (max-tie (if (= dir -1) (list-ref (path-min-max '(0 0) lpoints) 2) (list-ref (path-min-max '(0 0) lpoints) 3) )) ; (cpoint3-cpoint0) / 2 + cpoint0 (mid-tie (+(car(list-ref cpoints 0)) ( / (- (car(list-ref cpoints 3)) (car( list-ref cpoints 0))) 2))) (ps (format #f "gsave /mid-tie ~s def /max-tie ~s def /offset ~s def /tick-len 0.5 def currentpoint translate 0 offset translate newpath 0.15 setlinewidth 1 setlinecap mid-tie max-tie moveto gsave 0 tick-len rlineto stroke grestore 0 -1 tick-len mul rlineto stroke grestore" mid-tie max-tie (* offset dir))) (tick-stencil(ly:make-stencil(list 'embedded-ps ps ) (cons 0 1)(cons -1 -1))) ) (ly:stencil-add tie-stencil tick-stencil ) ) ) ed={\once \override Tie #'stencil =\editorialTieStencil} {
volta repeat and grace notes
I have a score with a grace note in a volta alternative. I get the following error: warning: already have a volta spanner, ending that one prematurely and the result shows an extra little repeat bracket with just the grace note it. With on voice, or two voices on one staff everything is fine - the wrongness only appears on a staff system. Both 2.14 and 2.15 give the same result. Looks like a bug to me, or at least very unintuitive behaviour. Is it known, with or without a workaround? Thanks, Mike VoiceOne = \relative e'' { \repeat volta 2 { \clef "treble" a4 a a a } % 8 \alternative { {\grace b a a a a} {c c c c} } } VoiceTwo = \relative a, { \repeat volta 2 { \clef "bass" c4 c c c } \alternative { {e e e e} {d d d d} } } \score { << \new Staff << \context Staff << context Voice {\VoiceOne } >> >> \new Staff << \context Staff << \context Voice { \VoiceTwo } >> >> >>} ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: volta repeat and grace notes
On Mon, Jun 18, 2012 at 09:55:25PM +0200, Robin Bannister wrote: >> Is it known, with or without a workaround? > > This is a well-known bug. See > http://lilypond.org/doc/v2.14/Documentation/notation/special-rhythmic-concerns#Known-issues-and-warnings-50 Thanks for that: \grace s16 in the corresponding \alternatives fixes it perfectly. I was at that page before: Looked be did not See ! Mike ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Cannot install lilypond on a shared Hostmonster server
Hi there, sorry I'm not too versed in Linux. I'm having trouble installing Lilypond on a Hostmonster account. The host is shared, and I am not root, so I don't have complete freedom. I downloaded lilypond-2.18.2-1.linux-64.sh in /home1/myaccountname/lilypond_install, made it executable and then issued ./lilypond-2.18.2-1.linux-64.sh --prefix /home1/myaccountname/ from that directory (/home1/myaccountname/lilypond_install). After successfully creating dirs and binaries, I get loads of errors when untarring, see below. Does it mean that I just cannot install it unless I buy a virtual server all for myself? Any suggestions on what to ask/request from Hostmonster's support? Thanks! Mike tar: ./usr/lib/libgs.so: Cannot create symlink to `libgs.so.8.70': Permission denied tar: ./usr/lib/libgmodule-2.0.so: Cannot create symlink to `libgmodule-2.0.so.0.2105.0': Permission denied ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> I would try running the install script *without* the --prefix option. It > should then install just fine in your home directory where you should > have write permissions. Thanks! Unfortunately it didn't work. After uninstalling, I have changed to my home dir and issued $lilypond_install/lilypond-2.18.2-1.linux-64.sh I got the below [...] Untarring lilypond_install/lilypond-2.18.2-1.linux-64.sh tar: ./usr/lib/libgs.so: Cannot create symlink to `libgs.so.8.70': Permission denied [...] It's not clear to me where it's trying to symlink what... anyway I have checked and I have write access to all dirs under ~/lilypond/usr Any more clues please? Many thanks. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> Is this a Samba mount or NFS or something? Maybe you just cannot create > symbolic links? Thanks for helping. It is not a Samba mount or NFS, to my knowledge. I am definitely not using it from Windows or anything, I'm just logging in via puTTY. I am able to create symbolic links, but I think the script is trying to create them where it cannot tar: ./usr/lib/libltdl.so: Cannot create symlink to `libltdl.so.7.2.0': Permission denied If it weren't for that "./", I would have interpreted the above as trying to create a symlink in /usr/lib (where I cannot do it) linking into ~/lilypond/usr/lib/libltdl.so.7.2.0 (I can see that file there). To illustrate what I think might be happening: [~]# ln -s ~/lilypond/usr/lib/libltdl.so.7.2.0 libltdl.so [~]# ls -l libltdl.so lrwxrwxrwx 1 guilioco guilioco 49 Jun 4 12:35 libltdl.so -> /home1/myusername/lilypond/usr/lib/libltdl.so.7.2.0* [~]# ln -s ~/lilypond/usr/lib/libltdl.so.7.2.0 /usr/lib/libltdl.so ln: creating symbolic link `/usr/lib/libltdl.so': Read-only file system [~]# ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> First cd to your home directory. Then issue the command: > > bash path/to/lilypond-2.19.42-1.linux-x86.sh --prefix lilypond-2.19.42.1 Thank you so much for trying to help, but unfortunately I'm getting the same errors, after executing this in my home dir: [~]# bash lilypond_install/lilypond-2.18.2-1.linux-64.sh --prefix lilypond [...] tar: ./usr/lib/libgs.so: Cannot create symlink to `libgs.so.8.70': Permission denied [...] ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> > [~]# bash lilypond_install/lilypond-2.18.2-1.linux-64.sh --prefix lilypond > > I can't understand this. It looks like root's prompt, not a user's. It's just my user's prompt. It shows that I'm in my home dir. > Please post all the output. It ought to be about 40 lines at most. > If there are lots of error messages beyond that, you could snip > after the first one or two. Here it is, also with output of the other commands. By the way, I should note that using --prefix puts things in a different place from what I expect (but omitting it didn't solve the problem). The structure with --prefix is home /bin /lilypond //lilypond ///license ///usr bin etc lib share var [~]# lilypond_install/lilypond-2.18.2-1.linux-64.sh --prefix lilypond lilypond installer for version 2.18.2 release 1, x86_64 build. For a list of options, abort (^C) then do: sh lilypond_install/lilypond-2.18.2-1.linux-64.sh --help You are about to install LilyPond in /home1/myusername/lilypond/lilypond A script in /home1/myusername/lilypond/bin will be created as a shortcut. Press ^C to abort, or Enter to proceed. Making /home1/myusername/lilypond/lilypond Making /home1/myusername/lilypond/bin Creating script /home1/myusername/lilypond/bin/lilypond Creating script /home1/myusername/lilypond/bin/lilypond-wrapper.python Creating script /home1/myusername/lilypond/bin/lilypond-wrapper.guile Creating script /home1/myusername/lilypond/bin/uninstall-lilypond Untarring lilypond_install/lilypond-2.18.2-1.linux-64.sh tar: ./usr/lib/libgs.so: Cannot create symlink to `libgs.so.8.70': Permission denied tar: ./usr/lib/libgmodule-2.0.so: Cannot create symlink to `libgmodule-2.0.so.0.2105.0': Permission denied tar: ./usr/lib/libgmp.so: Cannot create symlink to `libgmp.so.3.4.1': Permission denied tar: ./usr/lib/libstdc++.so.6: Cannot create symlink to `libstdc++.so.6.0.8': Permission denied tar: ./usr/lib/libdb-4.so: Cannot create symlink to `libdb-4.7.so': Permission denied tar: ./usr/lib/libgs.so.8: Cannot create symlink to `libgs.so.8.70': Permission denied tar: ./usr/lib/libgthread-2.0.so: Cannot create symlink to `libgthread-2.0.so.0.2105.0': Permission denied tar: ./usr/lib/libfreetype.so.6: Cannot create symlink to `libfreetype.so.6.3.22': Permission denied tar: ./usr/lib/libgmodule-2.0.so.0: Cannot create symlink to `libgmodule-2.0.so.0.2105.0': Permission denied tar: ./usr/lib/libasprintf.so: Cannot create symlink to `libasprintf.so.0.0.0': Permission denied tar: ./usr/lib/libz.so.1: Cannot create symlink to `libz.so.1.2.3': Permission denied tar: ./usr/lib/libpng12.so: Cannot create symlink to `libpng12.so.0.0.0': Permission denied tar: ./usr/lib/libltdl.so.7: Cannot create symlink to `libltdl.so.7.2.0': Permission denied tar: ./usr/lib/libstdc++.so: Cannot create symlink to `libstdc++.so.6.0.8': Permission denied tar: ./usr/lib/libexpat.so: Cannot create symlink to `libexpat.so.1.5.2': Permission denied tar: ./usr/lib/libpython2.4.so: Cannot create symlink to `libpython2.4.so.1.0': Permission denied tar: ./usr/lib/libgettextsrc.so: Cannot create symlink to `libgettextsrc-0.15.so': Permission denied tar: ./usr/lib/libguile.so: Cannot create symlink to `libguile.so.17.3.1': Permission denied tar: ./usr/lib/libgobject-2.0.so.0: Cannot create symlink to `libgobject-2.0.so.0.2105.0': Permission denied tar: ./usr/lib/libgmp.so.3: Cannot create symlink to `libgmp.so.3.4.1': Permission denied tar: ./usr/lib/libguile-srfi-srfi-60-v-2.so: Cannot create symlink to `libguile-srfi-srfi-60-v-2.so.2.0.2': Permission denied tar: ./usr/lib/libpng12.so.0: Cannot create symlink to `libpng12.so.0.0.0': Permission denied tar: ./usr/lib/libguile.so.17: Cannot create symlink to `libguile.so.17.3.1': Permission denied tar: ./usr/lib/libjpeg.so.62: Cannot create symlink to `libjpeg.so.62.0.0': Permission denied tar: ./usr/lib/libfontconfig.so: Cannot create symlink to `libfontconfig.so.1.4.4': Permission denied tar: ./usr/lib/libpng.so: Cannot create symlink to `libpng.so.3.0.0': Permission denied tar: ./usr/lib/libpng.so.3: Cannot create symlink to `libpng.so.3.0.0': Permission denied tar: ./usr/lib/libpango-1.0.so: Cannot create symlink to `libpango-1.0.so.0.2600.0': Permission denied tar: ./usr/lib/libexpat.so.1: Cannot create symlink to `libexpat.so.1.5.2': Permission denied tar: ./usr/lib/libltdl.so: Cannot create symlink to `libltdl.so.7.2.0': Permission denied tar: Exiting with failure status due to previous errors To uninstall lilypond, run /home1/myusername/lilypond/bin/uninstall-lilypond For license and warranty information, consult /home1/myusername/lilypond/lilypond/license/README Full documentation can be found at http://lilypond.org/doc [~]# md5sum lilypond_install/lilypond-2.18.2-1.linux-64.sh 143a646f90740f4daa754a20eb34005d lilypond_install/lilypond-2.18.2-1.linux-64.sh [~]# pwd ; ls -l lilypond/usr/lib/libgs* lilypond/usr/etc/fonts/conf.d/ /home1/myusername /bin/ls: cannot access lilypond/usr/lib/l
Re: Cannot install lilypond on a shared Hostmonster server
> >> > [~]# bash lilypond_install/lilypond-2.18.2-1.linux-64.sh --prefix lilypond > >> > >> I can't understand this. It looks like root's prompt, not a user's. > > > > It's just my user's prompt. It shows that I'm in my home dir. > > Are you sure? The `#' sign usually indicates a super-user shell, > while `$' indicates a normal user. I thus would expect > > [~]$ > > instead. Uhm... it's just a convention isn't it? I'm pretty sure I am not a superuser. How can I verify it? [~]# echo $PS1 [\w]# [~]# ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
I see. Well this is the prompt I found, I didn't override it. [~]# id uid=1292(myusername) gid=1288(myusername) groups=1288(myusername) [~]# uname -a Linux host137.hostmonster.com 3.12.52-20160119.106.ELK6.x86_64 #1 SMP Tue Jan 19 16:53:32 CST 2016 x86_64 x86_64 x86_64 GNU/Linux [~]# Thanks all for your kind help. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> For example, we have: > > libtiff.so -> libtiff.so.5.2.0 (in the same directory). > > To this extent, lilypond is self contained. Nice one, thanks. OK I'm trying to sort out these links manually, so far so good! [~/lilypond/usr/lib]# ln -s libgs.so.8.70 libgs.so [~/lilypond/usr/lib]# ls -l libgs* lrwxrwxrwx 1 myusername myusername 13 Jun 5 03:25 libgs.so -> libgs.so.8.70* -rwxr-xr-x 1 myusername myusername 6094432 Mar 17 2014 libgs.so.8.70* Not sure what distro I'm on. Let me try this first though, fingers crossed. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
OK, linking manually seemed to work! Weird huh? Seems like I can create symlinks, but not from within the install script. Is there a conclusive test to thoroughly verify my install? I'll try a hello world now. Thanks again. [~]# lilypond -v GNU LilyPond 2.18.2 Copyright (c) 1996--2012 by Han-Wen Nienhuys Jan Nieuwenhuizen and others. This program is free software. It is covered by the GNU General Public License and you are welcome to change it and/or distribute copies of it under certain conditions. Invoke as `lilypond --warranty' for more information. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> I'll try a hello world now. Uhm... Hello world is having trouble with ps->pdf, so far as I can see. Again, executing that command manually worked fine, and the resulting PDF looks good. Should I start a new thread? Thanks [~/tmp/lily]# lilypond test.ly GNU LilyPond 2.18.2 Processing `test.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `test.ps'... Converting to `./test.pdf'... warning: `(gs -q -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=./test.pdf -c.setpdfwrite -ftest.ps)' failed (256) fatal error: failed files: "test.ly" [~/tmp/lily]# cat test.ly \version "2.18.2" { c' e' g' e' } [~/tmp/lily]# ls -lrt total 156 drwxr-xr-x 11 myusername myusername 4096 Jun 5 03:44 ../ -rw-r--r-- 1 myusername myusername 36 Jun 5 03:45 test.ly -rw-r--r-- 1 myusername myusername 139566 Jun 5 03:46 test.ps drwxr-xr-x 2 myusername myusername 4096 Jun 5 03:46 ./ [~/tmp/lily]# gs -q -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=./test.pdf -c.setpdfwrite -ftest.ps [~/tmp/lily]# ls -lrt total 176 drwxr-xr-x 11 myusername myusername 4096 Jun 5 03:44 ../ -rw-r--r-- 1 myusername myusername 36 Jun 5 03:45 test.ly -rw-r--r-- 1 myusername myusername 139566 Jun 5 03:46 test.ps -rw-r--r-- 1 myusername myusername 20036 Jun 5 03:50 test.pdf drwxr-xr-x 2 myusername myusername 4096 Jun 5 03:50 ./ [~/tmp/lily]# ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> Interesting that you had to descend a level to see those links. > > My suggestion is that you reinstall with the script just as I showed, > using a unique, non-existing prefix. The obvious prefix is > lilypond-2.18.2-1 which includes the version number. I'm *guessing* > that you've tried to install into directory that's already > populated. No, I start from a clean slate every time. I just used "lilypond" as a prefix, hence the double layer. Since the prefix was not helping, I chose to leave it out. Cheers ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> This sort of error is usually a good sign that you're trying to run a > locally installed LP with the Linux Distribution versions of, eg, > GhostScript or Python; not a good idea. > > Your full output of the installation process (in the other subthread) > is useful, difficult to understand, and so it'll take a bit of looking at > in due course. Thanks. To be honest though, this seems to point to the opposite, i.e. that the "local" LP GhostScript is unhappy, while the one I invoke directly from the command line (presumably the one provided with the distro) can transform PS into PDF without any problems. Thank you for any ideas. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> IIRC it's a compatibility issue. I think the LilyPond wrapper script (usually ~/bin/lilypond) has to set > the right path to the local Lilypond gs. > Basically, if LilyPond invokes the system gs it's often the wrong version. The wrapper looks good to me: #!/bin/sh me=`basename $0` export LD_LIBRARY_PATH="/home1/myusername/lilypond/usr/lib" exec "/home1/myusername/lilypond/usr/bin/$me" "$@" [~]# ls -l /home1/myusername/lilypond/usr/lib | head total 18432 drwxr-xr-x 7 myusername myusername4096 Jun 5 03:32 ./ drwxr-xr-x 7 myusername myusername4096 Mar 17 2014 ../ drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 ghostscript/ drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 gio/ -rwxr-xr-x 1 myusername myusername1030 Mar 17 2014 libasprintf.la* lrwxrwxrwx 1 myusername myusername 20 Jun 5 03:31 libasprintf.so -> libasprintf.so.0.0.0* lrwxrwxrwx 1 myusername myusername 20 Jun 5 03:21 libasprintf.so.0 -> libasprintf.so.0.0.0* -rwxr-xr-x 1 myusername myusername6752 Mar 17 2014 libasprintf.so.0.0.0* -rw-r--r-- 1 myusername myusername1016 Mar 17 2014 libdb-4.7.la [~]# I appreciate your help... and I admire your persistence! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> When you run LP, it will ask gs to convert the file. However, which > version of gs runs, LP's or the system's? Will it be happy running > with LD_LIBRARY_PATH="/home1/myusername/lilypond/usr/lib"? No, same error I'm afraid. > Do I know if LP's symlinks are set up correctly? Not really. > > Do you yet know which distribution is running? CentOS 6.7 (Final) > What version of tar do > you have? > > $ tar --version tar (GNU tar) 1.23 Copyright (C) 2010 Free Software Foundation, Inc. > The only difference I can see at present between the symlinks that > work (fonts) and those that don't (libs) is that the latter point to > files in the same directory. tar is/has been quite buggy in the area > of symlinks. In all cases, the symlinks precede the targets in your > tar archive. I can't help wondering what goes on between the usr/lib > directory, the symlink and the target file during the interval while > the directory is being populated. Thanks David, all, please let me know if you have any more ideas. Thanks [~/lilypond/usr/lib]# ls -l total 18432 drwxr-xr-x 7 myusername myusername4096 Jun 5 03:32 ./ drwxr-xr-x 7 myusername myusername4096 Mar 17 2014 ../ drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 ghostscript/ drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 gio/ -rwxr-xr-x 1 myusername myusername1030 Mar 17 2014 libasprintf.la* lrwxrwxrwx 1 myusername myusername 20 Jun 5 03:31 libasprintf.so -> libasprintf.so.0.0.0* lrwxrwxrwx 1 myusername myusername 20 Jun 5 03:21 libasprintf.so.0 -> libasprintf.so.0.0.0* -rwxr-xr-x 1 myusername myusername6752 Mar 17 2014 libasprintf.so.0.0.0* -rw-r--r-- 1 myusername myusername1016 Mar 17 2014 libdb-4.7.la -rwxr-xr-x 1 myusername myusername 1387912 Mar 17 2014 libdb-4.7.so* lrwxrwxrwx 1 myusername myusername 12 Jun 5 03:31 libdb-4.so -> libdb-4.7.so* -rw-r--r-- 1 myusername myusername1016 Mar 17 2014 libdb.la lrwxrwxrwx 1 myusername myusername 12 Jun 5 03:21 libdb.so -> libdb-4.7.so* -rwxr-xr-x 1 myusername myusername1009 Mar 17 2014 libexpat.la* lrwxrwxrwx 1 myusername myusername 17 Jun 5 03:31 libexpat.so -> libexpat.so.1.5.2* lrwxrwxrwx 1 myusername myusername 17 Jun 5 03:32 libexpat.so.1 -> libexpat.so.1.5.2* -rwxr-xr-x 1 myusername myusername 142904 Mar 17 2014 libexpat.so.1.5.2* -rwxr-xr-x 1 myusername myusername1069 Mar 17 2014 libfontconfig.la* lrwxrwxrwx 1 myusername myusername 22 Jun 5 03:32 libfontconfig.so -> libfontconfig.so.1.4.4* lrwxrwxrwx 1 myusername myusername 22 Jun 5 03:21 libfontconfig.so.1 -> libfontconfig.so.1.4.4* -rwxr-xr-x 1 myusername myusername 212768 Mar 17 2014 libfontconfig.so.1.4.4* -rwxr-xr-x 1 myusername myusername1036 Mar 17 2014 libfreetype.la* lrwxrwxrwx 1 myusername myusername 21 Jun 5 03:21 libfreetype.so -> libfreetype.so.6.3.22* lrwxrwxrwx 1 myusername myusername 21 Jun 5 03:31 libfreetype.so.6 -> libfreetype.so.6.3.22* -rwxr-xr-x 1 myusername myusername 542072 Mar 17 2014 libfreetype.so.6.3.22* -rwxr-xr-x 1 myusername myusername 121608 Mar 17 2014 libgettextlib-0.15.so* -rwxr-xr-x 1 myusername myusername1053 Mar 17 2014 libgettextlib.la* lrwxrwxrwx 1 myusername myusername 21 Jun 5 03:21 libgettextlib.so -> libgettextlib-0.15.so* -rwxr-xr-x 1 myusername myusername1069 Mar 17 2014 libgettextpo.la* lrwxrwxrwx 1 myusername myusername 21 Jun 5 03:21 libgettextpo.so -> libgettextpo.so.0.2.0* lrwxrwxrwx 1 myusername myusername 21 Jun 5 03:21 libgettextpo.so.0 -> libgettextpo.so.0.2.0* -rwxr-xr-x 1 myusername myusername 19200 Mar 17 2014 libgettextpo.so.0.2.0* -rwxr-xr-x 1 myusername myusername 225824 Mar 17 2014 libgettextsrc-0.15.so* -rwxr-xr-x 1 myusername myusername1067 Mar 17 2014 libgettextsrc.la* lrwxrwxrwx 1 myusername myusername 21 Jun 5 03:32 libgettextsrc.so -> libgettextsrc-0.15.so* -rwxr-xr-x 1 myusername myusername1088 Mar 17 2014 libgio-2.0.la* lrwxrwxrwx 1 myusername myusername 22 Jun 5 03:21 libgio-2.0.so -> libgio-2.0.so.0.2105.0* lrwxrwxrwx 1 myusername myusername 22 Jun 5 03:21 libgio-2.0.so.0 -> libgio-2.0.so.0.2105.0* -rwxr-xr-x 1 myusername myusername 691688 Mar 17 2014 libgio-2.0.so.0.2105.0* -rwxr-xr-x 1 myusername myusername1039 Mar 17 2014 libglib-2.0.la* lrwxrwxrwx 1 myusername myusername 23 Jun 5 03:21 libglib-2.0.so -> libglib-2.0.so.0.2105.0* lrwxrwxrwx 1 myusername myusername 23 Jun 5 03:21 libglib-2.0.so.0 -> libglib-2.0.so.0.2105.0* -rwxr-xr-x 1 myusername myusername 916392 Mar 17 2014 libglib-2.0.so.0.2105.0* -rwxr-xr-x 1 myusername myusername1077 Mar 17 2014 libgmodule-2.0.la* lrwxrwxrwx 1 myusername myusername 26 Jun 5 03:31 libgmodule-2.0.so -> libgmodule-2.0.so.0.2105.0* lrwxrwxrwx 1 myusername myusername 26 Jun 5 03:31 libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.2105.0* -rwxr-xr-x 1 myusername myusername 12272 Mar 17
Re: Cannot install lilypond on a shared Hostmonster server
> > > When you run LP, it will ask gs to convert the file. However, which > > > version of gs runs, LP's or the system's? Will it be happy running > > > with LD_LIBRARY_PATH="/home1/myusername/lilypond/usr/lib"? > > > > No, same error I'm afraid. > > "No" isn't an answer to "which version of gs runs, LP's or the system's?" :) I was answering to the second question, after setting that env variable manually and rerunning lilypond. Anyway, I think we are getting somewhere, thanks. Whichever gs I invoke *directly* on the resulting .ps, I get a .pdf with no errors. Be it ~/lilypond/usr/bin/gs or /usr/bin/gs So something happens when gs is invoked via ~/bin/lilypond, which makes it behave as if I were running ~/lilypond/usr/bin/lilypond (which I'm not). [~]# cat ~/bin/lilypond #!/bin/sh me=`basename $0` export LD_LIBRARY_PATH="/home1/myusername/lilypond/usr/lib" exec "/home1/myusername/lilypond/usr/bin/$me" "$@" > Just one further question: if you install the .sh file again, but using > the --prefix /tmp/whatever, and it fails as usual, what files does > /tmp/whatever/lilypond/usr/lib/ contain? Are any of them zero-length? No. See full output below. I didn't realise tar was still under active development, and indeed I see a relevant change in 1.24: " Extracts symlink attributes, such as last-modified time and link permissions, if the operating system supports this " I do think this is the root cause. I'll try and download/compile/use a more recent version - although I have no experience in doing this kind of stuff, so I'm not holding my breath. Thanks! Files after bogus install: [~]# ls -lrt ~/tmp/lilypond/lilypond/usr/lib/ total 18432 drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 ghostscript/ drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 gio/ drwxr-xr-x 3 myusername myusername4096 Oct 6 2013 pango/ -r-xr-xr-x 1 myusername myusername 4259328 Oct 6 2013 libpython2.4.so.1.0* drwxr-xr-x 3 myusername myusername4096 Mar 17 2014 lilypond/ -rwxr-xr-x 1 myusername myusername1017 Mar 17 2014 libpng12.la* -rwxr-xr-x 1 myusername myusername1003 Mar 17 2014 libpng.la* -rwxr-xr-x 1 myusername myusername1007 Mar 17 2014 libltdl.la* -rwxr-xr-x 1 myusername myusername1006 Mar 17 2014 libjpeg.la* -rwxr-xr-x 1 myusername myusername1067 Mar 17 2014 libgettextsrc.la* -rwxr-xr-x 1 myusername myusername1069 Mar 17 2014 libgettextpo.la* -rwxr-xr-x 1 myusername myusername1053 Mar 17 2014 libgettextlib.la* -rwxr-xr-x 1 myusername myusername1036 Mar 17 2014 libfreetype.la* -rwxr-xr-x 1 myusername myusername1069 Mar 17 2014 libfontconfig.la* -rwxr-xr-x 1 myusername myusername1009 Mar 17 2014 libexpat.la* -rwxr-xr-x 1 myusername myusername1030 Mar 17 2014 libasprintf.la* -rwxr-xr-x 1 myusername myusername1158 Mar 17 2014 libguilereadline-v-17.la* -rwxr-xr-x 1 myusername myusername1038 Mar 17 2014 libguile.la* -rwxr-xr-x 1 myusername myusername1162 Mar 17 2014 libguile-srfi-srfi-60-v-2.la* -rwxr-xr-x 1 myusername myusername1155 Mar 17 2014 libguile-srfi-srfi-4-v-3.la* -rwxr-xr-x 1 myusername myusername1183 Mar 17 2014 libguile-srfi-srfi-13-14-v-3.la* -rwxr-xr-x 1 myusername myusername1155 Mar 17 2014 libguile-srfi-srfi-1-v-3.la* -rwxr-xr-x 1 myusername myusername 995 Mar 17 2014 libgmp.la* -rw-r--r-- 1 myusername myusername1067 Mar 17 2014 libpangoft2-1.0.la -rwxr-xr-x 1 myusername myusername1108 Mar 17 2014 libpango-1.0.la* -rwxr-xr-x 1 myusername myusername1087 Mar 17 2014 libgthread-2.0.la* -rwxr-xr-x 1 myusername myusername1072 Mar 17 2014 libgobject-2.0.la* -rwxr-xr-x 1 myusername myusername1077 Mar 17 2014 libgmodule-2.0.la* -rwxr-xr-x 1 myusername myusername1039 Mar 17 2014 libglib-2.0.la* -rwxr-xr-x 1 myusername myusername1088 Mar 17 2014 libgio-2.0.la* -rw-r--r-- 1 myusername myusername1016 Mar 17 2014 libdb.la -rw-r--r-- 1 myusername myusername1016 Mar 17 2014 libdb-4.7.la drwxr-xr-x 7 myusername myusername4096 Mar 17 2014 ../ drwxr-xr-x 11 myusername myusername 20480 Mar 17 2014 python2.4/ -rw-r--r-- 1 myusername myusername 36280 Mar 17 2014 preloadable_libintl.so -rwxr-xr-x 1 myusername myusername 90448 Mar 17 2014 libz.so.1.2.3* -rwxr-xr-x 1 myusername myusername 1238080 Mar 17 2014 libstdc++.so.6.0.8* -rwxr-xr-x 1 myusername myusername 161304 Mar 17 2014 libpng12.so.0.0.0* -rwxr-xr-x 1 myusername myusername 161304 Mar 17 2014 libpng.so.3.0.0* -rwxr-xr-x 1 myusername myusername 198512 Mar 17 2014 libpangoft2-1.0.so.0.2600.0* -rwxr-xr-x 1 myusername myusername 304016 Mar 17 2014 libpango-1.0.so.0.2600.0* -rwxr-xr-x 1 myusername myusername 36096 Mar 17 2014 libltdl.so.7.2.0* -rwxr-xr-x 1 myusername myusername 140152 Mar 17 2014 libjpeg.so.62.0.0* -rwxr-xr-x 1 myusername myusername4032 Mar 17 2014 libguilereadline-v-17.so.17.0.3* -rwxr-xr-x 1 myusername myusername 950888 Mar
Re: Cannot install lilypond on a shared Hostmonster server
Update: I have tried to build the latest tar on my system, but I got the following errors - interestingly all to do with symlinks: 70: extrac07.at:27 extracting symlinks to a read-only dir extract extract07 read-only symlink 76: extrac13.at:26 extract over symlinks extract extrac13 90: incr01.at:27 restore broken symlinks from incremental incremental incr01 I'll send the report to the tar people, but I suspect my system is somehow broken at a fundamental level. I am considering trying to install earlier versions of lilypond. Would that help? Has the installation style changed at some point? I forgot to mention that many years ago I was able to install it, with the same hosting provider (though sure enough the OS has also changed since). Thanks ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Cannot install lilypond on a shared Hostmonster server
> I suspect that you are not using GNU tar while lilypond's tarball gets > created with GNU tar. Thanks Werner. Actually I am using GNU tar (1.23) and I was trying to upgrade to the latest GNU tar (1.29). Cheers ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
WikiLily - a lilipond wiki
A couple of us have started a 'lilypond wiki' so that people can collaborate on the creation and or editing of lilypond scores. It's at http://draft.wikilily.org and if you have any ideas on how to implement something, well, just go ahead and do it. It has a number of extensions already installed - a 'chat', a forums extension, and the wikitex extension for inline rendering. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: WikiLily - a lilipond wiki
Oh yeah, for sure, let's role the 2 sites into one somehow. I have complete control over the wikilily.org server (it's in my office) so I can add wiki extensions and stuff without delay; my job gives me most of the day to work on my own music stuff. Let me know how you'd like to proceed. Right now, I'm setting up a section for guitar chamber music [the .ly sources for the stuff at http://www.blackstock.ca/egroupware/sitemgr/sitemgr-site/?page_name=flute] and the file structure suggestions at http://www.classicalcode.com/wiki/index.php/Path_and_File_Name is a good model. Other suggested models are the Choral Public Domain Library (www.cpdl.org) and the International Music Scores Library Project at www.imslp.org Cheers, Mike Jordan Eldredge wrote: This is wonderful. I set up a similar wiki with the idea that it could be a place to collaborate on transcribing public domain scores. My attempt can be found at http://www.classicalcode.com/wiki/index.php/Wiki_Sheet_Music<http://www.classicalcode.com/wiki/>. If your wiki would be a good place to do that, I would love to consolidate efforts. I also own the domain name www.wikisheetmusic.com which I could donate to the cause if it would be useful. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: WikiLily - a lilipond wiki
Graham Percival wrote: I hope that you're using safe mode and/or jails, otherwise any user can execute any command on your system as the wiki user. Including rm ~ -rf, which would probably hose all previous contributions to the wiki. Hi Graham. The wikitex extension communicates with lilypond via a 'modtex' daemon, which runs lilypond in a chroot environment. I'm not sure if that meets your criteria for a 'jail' but there you have it. It's a bit of a moot point for now, cause I'm using the modtex daemon on another, proven installation. As for security breaches generally, I had a baptism by fire (see http://news.cnet.com/Amnesty-International-hacked/2100-1023-279275.html) so I keep my ear to the ground for that sort of thing. Unless you've heard something different, the wikitex-l archives, dating back to 2005, make no mention of security breaches with the system. thanks and cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: WikiLily - a lilipond wiki
Graham Percival wrote: My point was simply that any website user can execute arbitrary system command inside lilypond with #(system 'rm -rf ~'). Or something like that; I can't remember the exact syntax. If you're certain that your setup doesn't allow the "lilypond" user to delete/modify anything that isn't strictly temporary, then all well and good. Oh I see... No, lilypond is isolated from the rest of the filesystem. Thx - I didn't know that about lilypond and I'll try some system commands just to make sure. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Vocal slurring and override-auto-beam-setting?
Not being a singer, I assumed that vocal music never has beams - wrong! I see that when notes are slurred, the slurred notes have beams. Is there an easy way to indicate that if notes are within a slur, they should be beamed, otherwise not? I suspect it can be done with 'override-auto-beam-setting' but the examples in the manual are making my head spin (especially after having spent way too long last night dicking around with sendmail.cf - I can't handle anything remotely cryptic today). Thx and cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Vocal slurring and override-auto-beam-setting?
Thanks to all for the advice. I guess I'll just use brackets for now and look at Alexander's suggestions more closely a bit later on. This was prompted by a project to do Schubert's Winterreise, but I'm thinking ahead to Wagner's Ring. . Ok, now that you're all stopped laughing, I'm only half-joking - I've actually entred the first four bars: { ees, 2. ~| ees, 2. ~| ees, 2. ~| ees, 2. ~| } :) -M. Alexander Kobel wrote: James E. Bailey wrote: wrong! I see that when notes are slurred, the slurred notes have beams. Is there an easy way to indicate that if notes are within a slur, they should be beamed, otherwise not? Not that I know of. I suspect it can be done with 'override-auto-beam-setting' Not really, that deals more with setting automatic beam behaviour based on the time signature. You're better off just explicitly putting in beams with [ ] .And since they'll almost always occur with slurs, you'll probably end up with a lot of ([ )]. I thought about this very problem a week or two ago, too. And ended up with exactly this solution. My idea for a scheme hack was to add forbidBeamEvents for every chord outside of slurs and leave the remaining stuff to the automatic beaming; however, for some reason, this did not work out well. I didn't really dig into this deeper, since I don't have the time right now - if anyone is interested, I can send look for my bits of code and send it to you. But - depending on your literature (and the epoche) - for most music I've been setting it's enough to just not slur, but manually beam short melismata, and disable automatic beaming: beams <-> melismata, no beams <-> one syllable per chord. That's fairly widely used in vocal music, and won't disturb the singers. Of course, for longer melismata you should use slurs, but this usually does not happen too often, especially for simpler pieces. Speaking of Bach's or Handels' serious music, it's another thing, of course... My advise: spare the time for beaming first, and show a page or two to some singers - preferrably not the best ones you can find. If they agree with the results, most probably others will be as well, as long as they don't pay for your work... Cheers, Alexander ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Many thanks!
Michael Käppler wrote: For my diploma thesis (I study church music) I made a edition of a church cantata by Georg Philipp Telemann, engraved with Lily. Currently I haven't access to public webspace, so I don't know how I can show it to you. You can also (besides mutopia) upload it to draft.wikilily.org and start a page with links to the uploaded files. You can also try compiling it online there if you don't have 'includes' but I imagine you do. We're working on includes now. This is an experimental site for now (hence the 'draft' part) but it's ok for demos of the type you're looking for. (By 'experimental', I mean it's a kind of pilot project to see how far the idea can be taken. Also, it's running on a 4-year-old server with a 4-year-old OS that's gonna be upgraded soon but until then it's not being promoted much - just people on this list and the mutopia list. ) Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: paste bin for lilypond files?
Yes, here: http://draft.wikilily.org/wiki/index.php/Sandbox - click on 'edit' tab to edit the code. (You'll have to put in a midi block if ya want 'listen' to work and don't forget to wrap code within tags) Cheers, -Mike PS ( or make a user account for your own 'sandbox') Grammostola Rosea wrote: Hi, Is there some kind of a paste bin website to paste lilypond scores which will be displayed as a lilypond output (e.g. pdf)? Could be useful to make things visible for others. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: paste bin for lilypond files?
Grammostola Rosea wrote: how can you make your own sandbox as a user? Just enter as a page name User:Mike Blackstock and edit away (substituting your own username of course). Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Wikilily: \includes
you can now (well, experimentally) use \includes on wikilily.org. An example is at http://draft.wikilily.org/wiki/index.php/Winterreise/Gefrorne_Tranen - click on the 'edit' tab to see/edit the ly source. You'll see there : \include "vocals.ly" \include "pianoRH.ly" \include "pianoLH.ly" The parser sees '\include' and then looks at the page name (in this case, "Gefrorne_Tranen") and uses that as a prefix to find a page called "Gefrorne_Tranen/vocals.ly"; the page contents are then written to the file "vocals.ly" in the lilypond jail tree and lilypond just compiles as per normal. So if you start a page called "BlowMe" with an include called "NotInYourLife.ly", just make sure you have a page called "BlowMe/NotInYourLife.ly" on the wiki. Seems to work, as a proof of concept at least. It doesn't recursively descend the files as of yet - if NotInYourLife.ly has itself some '\includes' it won't work - but that's a relatively trivial matter to address. I grabbed an unfinished, abandoned Mozart symphony project from mutopia and will post that up for anybody who would like to help finish it. I'll post it today or Monday - my boss just poured another glass of Lagavulin in preparation for his garden party so i may not get much work done today. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Wikilily: copyright
It appears that some people are posting snippets of music from artists who haven't been dead yet for 50 years, the main criteria for public domain stuff in Canada. Just for the record: The Canadian Copyright Act (http://www.cb-cda.gc.ca/info/act-e.html) states "Fair dealing for the purpose of research or private study does not infringe copyright". The wikipedia article on '"fair dealing" at http://en.wikipedia.org/wiki/Fair_dealing#Fair_dealing_in_Canada gives some good guidelines" "...six principal criteria for evaluating fair dealing. 1. *The Purpose of the Dealing* Is it for research, private study, criticism, review or news reporting? It expresses that "these allowable purposes should not be given a restrictive interpretation or this could result in the undue restriction of users' rights." Indeed, it seems the Copyright Act spends most of its time dealing with what *is not* an infringement. Back to wikipedia: *" 3. The Amount of the Dealing* How much of the work was used? What was the importance of the infringed work? Quoting trivial amounts may alone sufficiently establish fair dealing. In some cases even quoting the entire work may be fair dealing." Ok, enough.. I just wanted to touch on this in a public forum... I think using snippets of works, and posting them, to learn a computer program is "fair dealing." I won't be losing any sleep over it. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LSR up
Thanks for pointing out the potential tomcat problem - I run tomcat as well and hadn't thought of a possible root compromise. (I'm least surprised about the never-ending security vigilance - just keeping on top of security is at least one full-time job, which nobody ever wants to pay for until something goes wrong and then they wander 'how come we didn't foresee this?' - sheesh!) :-P I just run tripwire regularly and that gives me some peace of mind. Anyway, I'm gonna use Nutch/Lucene to index all the lilypond documentation AND mail archives so people can search everything from one location; Nutch runs under tomcat so I'll look into the root issue. Cheers, Mike PS Incidentally, great job on the lilypond jail mode - it was pretty straightforward getting it running once I installed Olivier Sessink's jailkit. (Well, as staightforward as these things can be!) In the meantime I solved some security problem related to the fact that now tomcat doesn't run as root. You could be surprised to know that most of the time I spend on LSR is to make it work under the ever- changing Linux security policies :(. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Website harmony teaching
Ron wrote: I wish to start giving online music theory and harmony lessons for RCM exam preparation in Canada. I wish to set up a website where the students and I can interact in music notation online. Good news and bad news: bad news, as Valentin mentions, is that what you want is only in its early stages. Good news is, I'm working on one effort along those lines and I live just a stone's throw of the RCM in Toronto (for others on the list: that's the Royal Conservatory of Music). The least we can do perhaps is sometime get together for a coffee or beer (preferably beer) and look at the options - tons of places around there are wireless hot spots. Cheers, Mike Valentin Villenave wrote: there are several systems that allow to do so, but you need to know that a) lilypond-based web applications are still at a very early stage, b) you will need a (powerful) dedicated server to host your lilypond application, and c) no LilyPond-oriented Java applet has been developed so far. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
notehead offsets in single-staff polyphony
Guitar music has a lot of this stuff: \relative c' { << {g'16 d' b d} \\ {g,4} >> } where the G in the top part lines up with the G in the bottom and they share the same notehead; exactly as expected and wanted. However in this: \relative c' { \time 3/8 << {g'8 b d} \\ {g,4.} >> } the dotted-quarter in the bottom is offset to the right, counter-intuitively (to me at least) In the past I've worked around it with this: \relative c' { \time 3/8 << {g'8 b d} \\ \override NoteHead #'X-offset = #-1.6 \override Stem #'X-offset = #-1.6 {g,4.} >> } but then i have to keep switching back with "\revert NoteHead #'X-offset \revert Stem #'X-offset" plus I'm just eyeballing and guessing at a good offset value . This can't be the right approach. Is there something in the manual I've missed? And how come the different behavior in the 2 examples? Thanks. - PS the quickest way to visualize the above is at http://draft.wikilily.org/wiki/index.php/User:Mike_Blackstock#Sandbox -Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: notehead offsets in single-staff polyphony
Ah, I see... so it's the dotted note that makes the difference in the 2 examples. Makes sense. I guess i didn't think of looking under 'Collision Resolution'. Thanks! Incidentally Kieren are you related to Keith and/or Edward? Keith was the Chairman of the music dept. at Ottawa U when I was there. Kieren MacMillan wrote: Hi Mike, Is there something in the manual I've missed? merge-differently-dotted merge-differently-headed HTH! Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: notehead offsets in single-staff polyphony
Mike Blackstock wrote: Incidentally Kieren are you related to Keith and/or Edward? Keith was the Chairman of the music dept. at Ottawa U when I was there. Well if you are my apologies - it's 'Ernest' not 'Edward' of course. M. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Glissando from note A to note B, traversing multiple stems with hidden noteheads
Hey lilypond users, I am trying to write a glissando from note A to note B while traversing several headless stems and, so far, have only come up with the following solution: headless = #(define-music-function (parser location) () #{ \once \override Staff . NoteHead #'transparent = ##t #}) \relative c'' { c4\glissando \headless b\glissando \headless a\glissando f } In this example, the glissandos are disconnected where the transparent noteheads begin and end. This is in addition to the larger problem that the glissando from the headless a to the f has a different slope than the others, and ideally, I'd like one smooth line from c to f. I've experimented with a variety of kludges including raising/lowering noteheads to interpolate linearly between note A and note B, but this still does not solve the problem of disjoint glissando lines at the transparent noteheads. It seems like a simple solution would be allowing for a glissando to connect to a non-subsequent note, so in the above example, having the glissando connect from the c to the f and budging the stems of b and a accordingly to connect with the gliss. However, I don't know how to do this. Your help would be greatly appreciated! ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Drawing a single box around multiple notes
Hey lilypond users I am trying to draw a single box around multiple notes. Right now, I am only able to draw multiple boxes around multiple notes : \version "2.10.33" \relative c'' { \override Stem #'transparent = ##t \override Beam #'transparent = ##t \override Voice . NoteHead #'stencil = #(make-stencil-boxer 0.05 1 ly:note-head::print) b16 [a b c a b b a g a b a] } If there is any way to enclose these notes within a single box, please let me know. I can do it in an svg editor if need be, but it'd be ideal to be able to do it in Lilypond. Cheers, ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Finding the relative coordinates of the NoteHead/NoteColumn grob to which a glissando is going
Hey lilypond users, I am using my own stencil for a glissando object and would like to feed it the exact X and Y extent it must traverse from its parent note grob to the grob at which it ends. ly:grob-property grob X-extent and ly:grob-object grob X-extent give me the Boolean #f on both accounts, so it's tough for me to grab the distance between two noteheads without resorting to a kludge - right now, I am attaching a markup to the NoteHead to which the glissando is going as a text identifier of sorts, searching for this markup in the VerticalAxisGroup, and grabbing the relative position of the NoteColumn to which said markup is attached. There must be a better way to go about this, and I am relative new to lilypond so I have yet to find it - any help would be much appreciated! Thanks thanks, ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Arrow at end of slur (like in Carter's 2nd string quartet)
Hey lilypond-users, I am looking to use a slur with an arrow at the end like Carter uses in his second string quartet. The slur behaves like a regular slur, save the fact that at one of the two ends there is an arrow. He uses this to indicate slight accel/rit within a fixed duration (a rubato of sorts, but more prescribed and unidirectional). Before I undertake the work of overloading the stencil object for Slur, I was hoping that there was an easy tweak to make this happen. Many thanks! ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Plug ins
Hello, I was wondering if you would be able to help me... I would like to replace the lines of the staff with consecutive rows of letter names. And alternate the colors of the staff lines (1=black 2=blue 3=black 4=blue 5=black). I would also like to replace the number on the bottom of the time signature with an image of the note that it represents! Is this possible? Can you help?? Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Source Codes...
Hi all, Can anyone tell me what the source codes are for staff lines and time signatures or where to find them? Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Autopackage: Install Fails
On Wed, 2005-06-29 at 16:56 +0200, Jan Nieuwenhuizen wrote: > Gilles writes: > > > I've downloaded 2.6.0 in its new packaging style. > > Right now, all I can say is: It doesn't work (TM). Gilles, it works on AMD64 but you must have 32 bit compatibility packages installed. Debian is not bi-arch currently due to limitations in apt-get so if you use Debian that could be the problem. thanks -mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Distance of Lyrics to staff with markup
Hi, I have a vocal score with 2 staffs. The music starts with R*6 in the soprano and alto voice and I have a markup on these rests (^\markup {markuptekst}). Both the rests with the number of rests are shown above the score and the markup is printed on top of the rest numbers. The lyrics are also shifted upward. Now the distance between the staff and the lyrics become extremely wide. I've added a sample. Is there a workaround to: a. make the rest of the soprano and alto voice collide b. to force the lyrics to its normal distance to the staff. Thanks Mike Partituur-sab.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Distance of Lyrics to staff with markup
>> a. make the rest of the soprano and alto voice collide > \oneVoice > (see the Fine Manual) OK, I've seen it in the manual but did not know the meaning (the manual is not always very clear for novices). Switching between \oneVoice and \voiceOne or \voiceTwo works, OK. But isn't there a command that does this automatically for all collidable rests? The other thing was the distance of voiceOne to the Staff. It is still too much (see attached). Is there a way to make voiceOne ignore the ^\markups? Or another way to let voiceOne be printed just as close to the Staff as in the other Staffs? Mike Partituur-sa.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond-book (lily2.8.2-1) fails on Win XP (SP2)
Dear developer team and friends of Lilpond, yesterday i installed the most up to date precompiled lilypond version for Win (v2.8.2-1). I have no phython installed other than the one that was delivered by the lilypond-setup. To verify the installation i ran basic examples from the documentation. While there were no problems using lilypond, i got the following error message running lilypond-book on the example given in chapter 13.1 of the documentation: C:\Programme\LilyPond\test>lilypond-book --output=out --psfonts book.ly Traceback (most recent call last): File "C:\Programme\LilyPond\usr\bin\lilypond-book.py" import lilylib as ly SystemError: NULL result without error in PyObject_Call Can you please give me advice how to get lilypond-book running? Thank you in advance for your help. Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
identifiers
While creating identifiers for fret diagrams I found the identifiers can be alpha only. I've searched the archives to see if there was a discussion that described the reasons for that constraint. I'd guess it's for reasons of simplicity and/or something to do with the interoperability of C and Scheme. Thanks to all who have contributed to the development of lilypond. I'm still a beginner but having lots of fun creating some great looking output. Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: identifiers
Thanks Mats. I've been trying to get up to speed reading flex/bison again and plan on rebuilding with the compiler debug setting on to work this out. I suspected there was probably a discussion about this but didn't find anything about the design decision in the archives. I'll keep digging & experimenting to satifsy my curiousity. I did discover that identifiers needed to be alpha only in the documentation although I didn't look until after I tried: 'CMaj7 = { }' . That has everything to do with my learning style and nothing to do with the documentation. Thanks for you help, Mike On 9/23/06, Mats Bengtsson <[EMAIL PROTECTED]> wrote: Quoting Mike Amundsen <[EMAIL PROTECTED]>:> While creating identifiers for fret diagrams I found the identifiers > can be alpha only. I've searched the archives to see if there was a> discussion that described the reasons for that constraint. I'd guess> it's for reasons of simplicity and/or something to do with the > interoperability of C and Scheme.My guess is that the problem rather is that numbers are used fordurations in the music, so it's probably a matter of parser complexity.This limitation was introduced many years ago and we had other mailing list names at that time, so I'm afraid the archivesmay be lost.I hope you have found that the limitation is described in the manual,in the section on "File structure".> Thanks to all who have contributed to the development of lilypond. I'm > still a beginner but having lots of fun creating some great looking> output. /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Bravo and extra stanzas question
Hi there and bravo on developing Lilypond! It's awesome. I'm typesetting some songs for voice and guitar (classical) and I need to know how to include extra stanzas at the end of a song, on a seperate page with no music. The reason for this is I'm not sure how the extra stanzas are articulated to the music and I want the singer to figure that out without me making an attempt at it. I looked everywhere in the 2.4 manual and found nothing. www.blackstock.ca/voice_and_guitar.php in case people are interested - some songs by Gounod and Beethoven with more to come. Thanks for any help. Cheers, Mike PS. Incidentally, I'm setting up a CVS server to collaborate on scores development, if anyone is interested. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Bravo and extra stanzas question
Geoff Horton wrote: As Simon said, 2.4 is obsolete (very) and I strongly suspect the suggestions I'm about to give won't work. I would update if at all possible. Then, in addition to what's in the manual, you can try what I show here: http://www.geoffhorton.com/lilypond.html#moreverses for more complicated situations. (Graham, would you object if I take a shot at revising that section of the manual to incorporate a little more complexity?) Geoff Thanks to Simon and you; I'll try the \markup later today. Yes, I'm setting aside some time to upgrade. I haven't done so yet cause well, 2.4 was the only version I could get to work on this particular platform I'm using and even then it took a lot of effort. My problems began some time after we upgraded to Centos 4, a variant of Redhat Enterprise 4. I certainly don't want to blame Centos; I think someone really screwed up the Tex fonts here or something and time has not permitted me to track down the problem. I'm thinking of an upgrade to fedora core 5 with the Planet CCRMA stuff. Ok, thx for the help and suggestion. Excellent job on the manual by the way - this is really the only thing I've ever had to ask about. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Bravo and extra stanzas question
Mats Bengtsson wrote: The newer versions of LilyPond are completely decoupled from TeX and TeX fonts. Try the installation package of 2.8.7 available under "Downloads" at www.lilypond.org. I would be surprised if it didn't work out of the box. /Mats Well I'll be... worked like a charm, right out of the box. A few of my \markup things are generating errors, which I assume is due to changes in syntax, but I'm sure looking forward to going over the new documentation this weekend (I hope it's miserable weather ... nothing like curling up with a good book on a lousy day!). oh I got this error: "programming error: Cannot find file for FontConfig cache" Is that important? Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Selling music engraved by Lilypond
Rick Hansen (aka RickH) wrote: I dont know if I will be selling all that many copies of my jazz arrangements book by the time it's finished, and by the time I've finally gotten back copyright permissions to print all these arrangements... But when I do, I will be proud to to put a credit in the appendix to the effect "All music in this book was engraved by Lilypond". I think authors taking advantage of such a great free resource should do that much and spread the word. I agree - I'm typesetting stuff for flute/violin and guitar and I'm gonna put something like "Typeset by Mike Blackstock; engraved by Lilypond" right up under the title, flush left. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: which language for programming
Joseph Wakeling wrote: I think the earlier poster who suggested going straight for Scheme may have a point. Not only is it the core language for working with Lilypond, but it's a Lisp dialect, and Lisp is both the grandaddy of programming and the most flexible language there is. See for example, http://www.paulgraham.com/icad.html You know, I was going to suggest that if one were to take up programming, one might benefit from looking into some of the principles of generative grammar that came out of MIT in the late 1950's (Chomsky et al). I'm thinking of recursion; recursion is now considered by some (Chomsky, Fitch and Hauser, in a 2002 paper in Science) to be the only truly unique feature of the human language faculty. At any rate, I see from the excellent link above [thanks for that!] that Lisp was developed around the same time. Concidence? I wonder. I digress. What I meant to suggest was that since recursion is central to programming, it might be worth the effort to have a look at how it is used in human languages in general, since every would-be programmer is already a master of recursion in his own native tongue; a grasp of the recursion in human language might make it a little easier to transter the knpwledge over to programming lanuages. I'm writing in haste - does any of the above make sense? Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
NoteEdit?
For the past while, I've been using NoteEdit for lilypond note-entry. Mainly I'm using it to make public-domain versions of flute and guitar music, and it seems to take care of 90% of my needs. (see http:///www.blackstock.ca/flute_and_guitar.php and http://www.blackstock.ca/voice_and_guitar.php ) I've seen very little mention of NoteEdit and I'm wondering, is the project dead in the water? It seems to me to be a good base for a GUI for lilypond. Any ideas anyone? Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Entire Mozart Catalogue Online
now *here's* an xmas gift: ""The International Mozart Foundation in Salzburg, Austria, has made all the scores of Wolfgang Amadeus Mozart's works available online." ... "More than 25,000 pages of music are available as PDF files through the site." http://www.cbc.ca/arts/music/story/2006/12/12/mozart-online.html#skip300x250 Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
converting from ver 2.0 to 2.10 problems
I need to convert .ly version 2.0 files to version 2.10 Conversion stops with the following output: convert-ly (GNU LilyPond) 2.10.0 Processing `trio_flute.ly'... Applying conversion: 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.7, 2.1.10, 2.1.11, 2.1.12, 2.1.13, 2.1.14, 2.1.15, 2.1.16, 2.1.17, 2.1.18, 2.1.19, 2.1.20, 2.1.21, 2.1.22, 2.1.23, 2.1.24, 2.1.25, 2.1.26, 2.1.27, 2.1.28, 2.1.29, 2.1.30, 2.1.31, 2.1.33, 2.1.34, 2.1.36, 2.2.0, 2.3.1, 2.3.2, Not smart enough to convert textheight Please refer to the manual for details, and update manually. Page layout has been changed, using paper size and margins. textheight is no longer used. 2.3.4, 2.3.6, 2.3.8, 2.3.9, 2.3.10, 2.3.11, 2.3.12, 2.3.16, 2.3.17, 2.3.18, 2.3.22, 2.3.23, 2.3.24, 2.4.0, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.12, 2.5.13, 2.5.17, 2.5.18, 2.5.21, 2.5.25, 2.6.0, 2.7.0, 2.7.1, 2.7.2, 2.7.4, 2.7.6, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, Traceback (most recent call last): File "/usr/local/lilypond/usr/bin/convert-ly", line 290, in main () File "/usr/local/lilypond/usr/bin/convert-ly", line 284, in main do_one_file (f) File "/usr/local/lilypond/usr/bin/convert-ly", line 217, in do_one_file (last, result) = do_conversion (infile.read (), from_version, to_version) File "/usr/local/lilypond/usr/bin/convert-ly", line 162, in do_conversion str = x[1] (str) File "/usr/local/lilypond/usr/share/lilypond/current/python/convertrules.py", line 2636, in conv r"\\override \1VerticalAxisGroup #'extra-Y-extent") TypeError: sub() takes at least 3 arguments (2 given) ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Importing the LilyPond macro into OpenOffice 2.1
Hi... I'm looking for steps to incorporate the LilyPond macro into OpenOffice 2.1 in Windows, since the instructions I've found on http://ooolilypond.sourceforge.net/#Installation do not match up... Register the basic macro in OpenOffice.org - Select from the Menu: "Tools" --> "Macros" --> "Organize Macros" --> "OpenOffice.org Basic..." - Click "Organizer..." - Go to the tab "Libraries" - Select the radio button "OpenOffice.org" - Click "Append..." - In the file dialog open the file "C:\Program Files\basic\script.xlb" - In the "Append Libraries" dialog click "OK" - Close all open dialog boxes In particular, OpenOffice 2.1 does not have a radio button, nor an "Append" option (it has "New" and "Import", but I am too new to OpenOffice to determine which one is the right one). Regards, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
a 'linux guitar'
I hope this isn't too far off topic; maybe Lilypond could somehow be fit into the thing as a music-printing engine or something: from http://www.linux.com/article.pl?sid=07/01/31/1951219 "It would have an iPod running Linux plugged in, that would allow me to record the music that was played on it." He shared the idea with David Patrick, the proprietor of the linuxcaffe, and through some brainstorming came up with the idea for an "open source" electric guitar -- designed from the ground up by community consensus and fitted with Linux technology. "We hashed out ideas about what the ultimate guitar would be -- running a full Linux operating system and with all the capabilities of a recording studio." http://www.linux.com/article.pl?sid=07/01/31/1951219 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Copyrights (was Re: No time/no bars)
In Canada, it's 50 years after the death of the relevant people. In many (all?) jurisdictions, a published music manuscript - the layout, fonts, etc. - is considered artwork, and hence falls under copyright law, regardless of whether or not the music itself is in the public domain. My understanding is that you can work from a copyrighted score to prepare a new edition as long as you restrict yourself to using the non-copyrighted part of the score: the composer's notes, phrasing slurs, and so on. Evidently, if you're making a new edition with lilypond, you won't be using anyone else's layout etc so that shouldn't be a concern I would think. Editorial fingerings, phrasing slurs and so on are a grey area: can one really 'copyright' a fingering solution to a technical problem? That would seem to me to be an area outside of copyright law but who knows; I myself don't include fingerings in the stuff I publish so I haven't looked into that issue. (I generally use out-of-copyright editions, or work from a copyrighted edition until I can find a non- copyrighted one to check). Anyway, that's just my two cents on what it means to claim a copyright on an edition of music that is itself in the public domain. -Mike Good Luck Yeah. I'm now half through Part three of Danses de travers. But I'm not sure about the copyright, Satie is dead long enough, but my score is marked with (c) 1978. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
music scores search engine
I use lilypond to adapt music for small guitar ensembles and finding scores to adapt online saves me a trip to the library. I've installed the Nutch search engine software (http://lucene.apache.org/nutch/) on my site and use it to crawl and index websites that have good repositories of scores; finding a particular score is faster than searching via the major search engines. It's a project-in-progress but I find it useful enough to share with others. The url is http://www.blackstock.ca/egroupware/sitemgr/utilities/ and if anybody knows of good sites to index, let me know. Cheers, Mike ___ lilypond-user mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: music scores search engine
I think as an open-source project under the Apache umbrella, Nutch might be a great project for musicians with development skills to get involved and add more music search functionality. A while ago I had a brief look at the Music and Audio Retrieval tools (http://maart.sourceforge.net) which aims to offer search and retrieval of music fragments within midi and mp3 files. I'm not sure how far along that project is, but searching into lilypond files, as you suggest, does not seem to pose insumountable problems, at least when thinking out loud about it in really general terms. Cheers, Mike Valentin Villenave wrote: I find it's an excellent idea; maybe some extra options could be needed (for instance, to find only LilyPond files, or free-licensed scores :-), but this is indeed good start. [snip] I wish there could be some tool to search *into* LilyPond files, for instance to search for a precise theme or whatever... Applying Google-like world-domination plans to LilyPond! :-) OK, I may have too much imagination... Regards, Valentin. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
NoteWorthy Composer exporter for Lilypond
Hello all, I just wrote a little program for NoteWorthy Composer that exports .ly data. It works as a user tool in NoteWorthy Composer 2. Not everything is supported yet, so you'll probably have to edit the generated file a bit. You can find it here: http://nwc2ly.sf.net/ Mike Wiering -- - Wiering Software - http://www.wieringsoftware.nl/ ___ lilypond-user mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: NoteWorthy Composer exporter for Lilypond
At first I was planning to make a simple command-line conversion program from .nwc to .ly as you suggest, but every time I looked at it, they had completely changed the .nwc format. It would probably not be too hard to figure out what the exact format is, but I don't really like the idea of having to rewrite the program every time they update NoteWorthy. Regards, Mike Maurizio Tomasi wrote: > Mike, is there the possibility to compile a stand-alone version for > Linux of your Noteworthy plug-in (i.e. to create a command-line program)? > > I'm asking this because I use Lilypond under Linux, and would really > like to convert some of the files found at the NWC Scriptorium > (http://www.vpmag.com/nwc/) without needing to reboot Windows to do the > conversion process. Also, I do not have Noteworthy Composer and do not > know if the trial version permit the user to install and use plug-ins. > > Regards, >Maurizio. > > -- > > Maurizio Tomasi > Via Newton, 6 > 24126 Bergamo (Italy) > Tel. +39-02-23699308 > http://www.geocities.com/zio_tom78/ > > > ___ > lilypond-user mailing list > [EMAIL PROTECTED] > http://lists.gnu.org/mailman/listinfo/lilypond-user -- - Wiering Software - http://www.wieringsoftware.nl/ ___ lilypond-user mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-user
Problem with lyrics placement (can't show lyrics below bass-staff)
Hi, I have a score with soprano, alto and bass music + lyrics. I try to get all lyrics below the staffs, but for some reason the lyrics are all shown between the staffs. I use Lilypond 2.0.3 My score section is given below. Furthermore I would like to know if there is a way the avoid double rests (e.g. the soprano and alto part have common rests which are shown above eachother). Also the stanza numbers do not show (music starts with 4 bars rests). Is there a way to get the stanza numbers at the beginning of the bar? Many thanks for your attention and help! Mike Bosschaert \score { \notes \context StaffGroup << \property Score.automaticMelismata = ##t \context Staff = sop { \clef violin s1 } \context LyricsVoice = sopa { s1 } \context LyricsVoice = sopb { s1 } \context Staff = men { \clef bass s2 } \context LyricsVoice = mena { s2 } \context LyricsVoice = menb { s2 } \addlyrics \context Staff = sop \context Voice = VA { \sopMusic } \lyrics \context Lyrics << \context LyricsVoice = sopa { \property LyricsVoice . stanza = "1" \sopWordsA } \context LyricsVoice = sopb { \property LyricsVoice . stanza = "2" \sopWordsB } >> \addlyrics \context Staff = sop \context Voice = VB { \altMusic } \lyrics \context Lyrics << >> \addlyrics \context Staff = men \context Voice = VC { \bassMusic} \lyrics \context Lyrics << \context LyricsVoice = mena { \property LyricsVoice . stanza = "1" \bassWordsA } \context LyricsVoice = menb { \property LyricsVoice . stanza = "2" \bassWordsB } >> >> } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
downloading lillypond for Windows
Hi, When I try to download Lillypond, I get a dialog "connection to cygwin.com refused". Is there another site where I can download? Mike A ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Setup of LilyPond
Hi, I've just tried to set up lilypond on my PC 1.6 gHz, 384Mb Ram, blah, blah The setup fails whether I try to download for a local instal or setup over the internet. The failure is always when accessing setup.ini and it reports an invalid string at line 389 Shame, beacause I would really like to try Lilypond Mike ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
Musical Shouting
I'm pretty new at Lilypond. I've done a few pieces and have really enjoyed the software. . great job! However, I'm having problems find out how to insert "shouting" in a vocal staff. It is just a note with an "x" as the notehead as to eliminate the specific pitch. I guess it is like a percussive note, or rhythmic notes, but I can't figure it out how to insert into my single staff lyrical piece. Mike
WikiLily
No, it's not dead. We closed our office in a hurry - my employer 'flew the coup' as they say. I expect to have WikiLily back up and running before summer. Been studying the mediawiki hooks stuff and all that and working on a javascript gui for beginners - they can deposit notes right on the staff and stuff like that. Plus the lilypond rendering is done in the background with ajax calls to the server. 'xajax' is pretty nifty. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond 2.12
kudos on the new release - it's awesome. Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Help for paper about LilyPond and WYSIWYM sofware
On Mon, Mar 23, 2009 at 12:20 PM, MonAmiPierrot wrote: > > > Did anyone write something about LilyPond and the WYSIWYM “philosophy”? > > Bits and pieces are out there. I think the best of both worlds is possible - the Lililypond .ly text file approach and a WYSIWYG kindof GUI built on top of that, and I'm on a kind of sabbatical working on a WYSIWYG Web interface for Lilypond, with a lot of AJAX and JSON as the mechanism for storage of the gui parts. I make my living (or used to up till recently) as a sysadmin and have had to deploy every new technology that's come along; usually learning just enough to get it up-and-running for the client and staying one or two steps ahead - then, on to something else. I wanted to take the time and look into this stuff in detail, which is what I've been doing and the possibilities are really exciting I think. Anyway, Lilypond's the way to go. Will have some kindof demo ready at some point in the next few months. Trying to get financing so I can do it fuull-time - we all know THAT story ;) Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Why do Lilyond Engravers have inhibitions to store their score in Mutopia?
A couple of us had started a Wiki site for Lilypond called 'WikiLily' and we collaborated on some Schubert songs. We found the MediaWiki versioning system adequate for that. Alas, my company folded on short notice and the site went with it. However, I'm working on the site at home and hope to re-launch the site in the near future. I've been studing the MediaWiki code and API and I have an extension that allows tar archives of Lilypond projects to be uploaded; the extension then converts the directory structure of the tar file into wiki subpages. Same for zip files. Anyway, I've been spending my 'sabbatical' (as I call it) working on this kind of stuff and I hope to relaunch by summer's end. Cheers, Mike On Thu, Apr 16, 2009 at 8:56 AM, wrote: > But getting back to your questions: Mutopia is nice, but I should hope >> that, someday, when compiling a score takes a fraction of a second and >> copyright law is overhauled, people will use Wikimedia Commons to store and >> edit all of man's written music. I can't wait until the day they bring the >> lilypond plugin for MediaWiki over to Wikipedia! >> >> ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Help for paper about LilyPond and WYSIWYM sofware
Hi there. The client/server feedback delay is only really noticeable when the application sends the lilypond source to the server for rendering. Even there, since it's all done transparently in the background, it isn't that frustrating, since the user can keep working on other stuff - note entry and the like and there's no delay there cause that's all done with Javascript on the client. But yeah I agree with you that 'Rich Internet Applications' have been slow to catch on. Google has caught on (in fact I may use their toolkit for a familiar-lloking interface down the road) and others but web developers for the most part haven't. For sure, I'll keep you posted. When's your presentation? Cheers, Mike On Wed, Apr 22, 2009 at 4:17 AM, MonAmiPierrot wrote: > > > > > Looks like very interesting. It's quite a bit of time I think web-based > editors are the (only) future, but it seems that still in 2009 not many > people catched this. The greatest problem with web word processors is not > the features (these can be implemented easily), is the feedback delay on > many web operations. For a Lilypond user, this problem may not be > annoying... so it seems to me a good idea. > But I'm philosophying. Can you keep us updated please? > thanks > Piero > > - > Piero Faustini, PhD student > Dipartimento di Scienze Storiche > Sezione musicologia > Università di Ferrara > > Main Software used: > > - LyX 1.6.1 on WinXP sp3; EndNote & JabRef > - MikTex > - LaTeX class: Koma book > - Lilypond 2.12 for example excerpts > - BibLaTeX for bibliographies > > > -- > View this message in context: > http://www.nabble.com/Help-for-paper-about-LilyPond-and-WYSIWYM-sofware-tp22663629p23171813.html > Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond via web interface: security considerations
Install Lilypond in its own chroot jail using Olivier Sessink's jailkit available at http://olivier.sessink.nl/jailkit/ A 'chroot jail' means putting Lilypond on its own filesystem so that nefarious activity - such as deleting arbitrary files - will be limited to the Lilypond file system. Furthermore, you just limit the number of utilities you put in the /bin directories; if you don't have the 'rm' command in there, then it can't be run, obviously. This, and other measures, will give you a fairly secure system, if it's your own server system and you have control over it. If it's a public system, I doubt they'll let you do any of this, unless it's one of the VPS ('virtual personal server') systems out there. These will run you around $50 a month, and you get your own root-accessible system that you can pretty much do what you want with. The guy I'm gonna use for this tells me I can do pretty much anything, short of recompiling the kernel ;) Hope this helps - I did it myself last year so fire away if you have any questions after searching the archives. Cheers, Mike > When you say that you know how to solve these issues - can you elaborate > please? Do you mean in terms of the changes required to lilypond to > enable a "locked down" mode, or something else? > lex > > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond via web interface: security considerations
No problem; if you do implement a chroot jail, the Sessink kit will make it relatively painless. Of course, 'security' is relative - nothing will stop a commited hacker who's targeted your system, so I'm a bit mystified by some of the other responses here. The original question was how to prevent people from executing arbitrary commands that may remove important system files. The answer is install the jail and limit what's in your bin directories. That'll stop the 'kiddie' hackers, which is probably what you want to do. Cheers, Mike On Wed, May 20, 2009 at 5:37 AM, Alex wrote: > Mike Blackstock wrote: > >> > > Hi Mike, > thanks for your helpful input. I'm familiar with chroot jails but haven't > implemented one before. Not seen jailkit before - thanks for that. > > I've had a look through the devel and user archives at security mentions. I > found out about the safe option but need to dig further, and do some reading > etc. > > Given my experience at coding around lilypond (i.e. none), I'm not the > ideal person to be looking at effecting safe mode, at least, not solo. If > anyone with more experience is willing to guide a little, I'm willing to > have a look at it (I mean, in the context of actually trying to make changes > acceptable to code base proper). > > Anyway, will have a look in the archives again... > > thanks! > lex > > > > > > > > > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond via web interface: security considerations
Actually we're in agreement; as you put it, a %100 secure system is beyond the means of most people. So I'll 'rephrase what I wrote earlier : "Although theoretically possible, real world considerations are such that a %100 secure publicly- accessible webserver that is within the financial means of most website owners is not possible and nothing will stop a committed hacker who wants access to your system". Sorry for the confusion. Now that you mention it, though, what I meant was that context is everything. Wikipedia can ill-afford to deploy Lilypond for good reasons it has given, but those reasons needn't apply to people like me and others who have expressed an interest in deploying lilypond on a webserver on an experimental basis. I think somebody with modest-to-good linux skills can deploy a system that is reasonably secure and by that I mean it can escape detection by the bot scripts that scour the net for trivially hackable systems. As long as it's not on a public server - and by that I mean one that contains other websites and info - I think it's doable. I know I tried it on a small basis; I had some pople try to hack it and they said stuff like 'I don't know how much time you want me to spend on this but the standard kiddie stuff can't get through". I ran it in a jail, removed anything that might be useful to someone who even gained root access, I had Tripwire installed to monitor all files, I had the replacement libc libraries installed (the ones that monitor for attempted bufferoverflow exploits) and so on. So I think someone who wants to experiment with it shouldn't be dissuaded by the reasons given by the people from Wikipedia. We should deploy it experimentally, ensure nobody can use the systems to disrupt other systems and - here's the key part - learn from it. My beer's getting warm - Cheers, Mike On Fri, May 22, 2009 at 8:43 AM, Graham Percival wrote: > On Thu, May 21, 2009 at 02:47:54PM -0400, Mike Blackstock wrote: > > Of course, 'security' is relative - nothing will stop a commited > > hacker who's targeted your system, so I'm a bit mystified by > > some of the other responses here. > > That's not true -- The only reason that computer security is a > joke is that people *treat* it like a joke. It's entirely > possible to create a system that will foil a committed hacker. > > Now, does this involve a lot of work? Certainly. And consumers > willing to pay to have this work done? Definitely not! But that > doesn't mean that computer programs are some magical black box > that anybody can break. Barring random bit-flipping from solar > rays, computers are deterministic objects. > > > By "a lot of work", suppose that all programmers (and academics) > stopped implementing new features and new programs in 1994, and > spent the past 15 years just improving security. How many holes > do you think would be left in the result? > > Cheers, > - Graham > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Compiling files with lots of data
Hey lilypond users, I am compiling a file w/ many notes (on the order of 5*(3^7) 32nd notes including spaces) that, @ the "interpreting music" stage, counted up to 2184. I started it last night and it has been running for upwards of 9h using version 2.13.0 on a 1.5 GHz PowerPC running OS X 10.4.11 . I am wondering if there are any steps I can take (short of just putting less dots on the page) to speed up the process? Attached is the file (sorry that it is not a minimal example - by its nature, it is maximal, although you'll see very quickly that the vast majority of it is similar). There are a few things in it that I suspect may be causing the problem, so my question would be: for any one of these things, will its inclusion make lily run slower when she is processing large amounts of data? 1) I have set timing = ##f instead of using cadenzaOn 2) I have removed the Bar_engraver. 3) I have set the Stem stencil to ##f instead of removing the Stem_engraver. Additionally, if there are any other optimization suggestions you have, please let me know! Cheers, ~Mike pleasework.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Compiling files with lots of data
Hey, The piece is not from MIDI input, but rather was generated algorithmically in Python (thus the rigidity of the layout that you picked up on). All of the spaces are intentional. In my newest attempted compile of the work (I killed the old one in a fit of self doubt), I removed the beam engraver and the stem engraver in addition to the bar engraver. I also changed all of the 32nd notes to quarter notes (as every note in the piece was a 32nd note, they are all now quarter notes). So, to summarize: Bar_engraver gone Stem_engraver gone Beam_engraver gone proportionalNotationDuration = #(ly:make-moment 1 4) Slightly more than 2*(3**7) quarter notes (without stems) Grob count: 24833 On hour 15 of my new compile... Keep the suggestions coming! ~Mike On 6/2/09 12:17 AM, "-Eluze" wrote: > > is this from midi input? > > if so you should be sure to apply appropriate "--allow-tuplet=" options. > also, "funny" durations like s32*231 could indicate some kind of grace notes > in the original music > > see > http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mid > i2ly > http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mid > i2ly > for more details > furthermore, specific Voice options - eg. \voiceOne - should be added > manually ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Lessons learned from big data files & removing Bar_engraver (was Re: Compiling files with lots of data)
Hey all, I finally figured out a workaround - if one knows the exact length of her piece (say it is 3**7 32nd notes) and one knows the shortest duration in the piece (say 32nd notes), then NOT removing the Bar_engraver, keeping \set Score.timing = ##f, and adding a Voice { \repeat unfold 2187 { s32 \bar "" } } takes 1hr on my machine compared to the 14 of the \remove Bar_engraver solution. In the documentation for 2.12.0, I believe it suggests removing the Bar_engraver as an option when making barless music - until the two solutions take a comparable time to compile, I think an asterisk should be added mentioning this discrepancy. To convince yourself, try the following 2 minimal examples: 1) Quick way : \version "2.13.0" \new Score \with { proportionalNotationDuration = #(ly:make-moment 1 4) \override TimeSignature #'stencil = ##f } { \new Staff = "foo" { \set Score.timing = ##f { \repeat unfold 2000 a4 } \\ { \repeat unfold 2000 s4 \bar "" } } } \layout { \context { \Voice \remove Stem_engraver \remove Beam_engraver } } 2) Slow way : \version "2.13.0" \new Score \with { proportionalNotationDuration = #(ly:make-moment 1 4) \override TimeSignature #'stencil = ##f } { \new Staff = "foo" { \set Score.timing = ##f \repeat unfold 2000 a4 } } \layout { \context { \Staff \remove Bar_engraver } \context { \Voice \remove Stem_engraver \remove Beam_engraver } } Of course, I am always on the lookout for a better way than either of these, so if you know of one, please let me know! ~Mike On 6/2/09 9:19 AM, "Mike Solomon" wrote: > Hey, > The piece is not from MIDI input, but rather was generated > algorithmically in Python (thus the rigidity of the layout that you picked > up on). All of the spaces are intentional. In my newest attempted compile > of the work (I killed the old one in a fit of self doubt), I removed the > beam engraver and the stem engraver in addition to the bar engraver. I also > changed all of the 32nd notes to quarter notes (as every note in the piece > was a 32nd note, they are all now quarter notes). So, to summarize: > Bar_engraver gone > Stem_engraver gone > Beam_engraver gone > proportionalNotationDuration = #(ly:make-moment 1 4) > Slightly more than 2*(3**7) quarter notes (without stems) > Grob count: 24833 > > On hour 15 of my new compile... Keep the suggestions coming! > > ~Mike > > > On 6/2/09 12:17 AM, "-Eluze" wrote: > >> >> is this from midi input? >> >> if so you should be sure to apply appropriate "--allow-tuplet=" options. >> also, "funny" durations like s32*231 could indicate some kind of grace notes >> in the original music >> >> see >> http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mi>> d >> i2ly >> http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mi>> d >> i2ly >> for more details >> furthermore, specific Voice options - eg. \voiceOne - should be added >> manually > > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Scheme function returning number of measures in a system
Hey lilypond-users, I am working on a scheme function that will automate the setting of TupletNumber #'text with respect to the amount of measures in a given system. Currently, this minimal example prints the 8 whole notes for each system, whereas I would like it to print 2, 2, 2, 2 for the four systems respectively (each of which consists of 2 measures). \version "2.13.0" \relative c'' { << { \once \override Voice . TupletNumber #'text = #(markup #:note "1" UP "+" #:note "1" UP "+" #:note "1" UP "+" #:note "1" UP "+" #:note "1" UP "+" #:note "1" UP "+" #:note "1" UP "+" #:note "1" UP) \times 1/1 { \repeat unfold 8 { d1 } } } \\ { \repeat unfold 32 { a16 [ b c b ] } } >> } If there exists a scheme function I could call that would give me the # of measures in a system (or, alternatively, if TupletNumber has a parent/grandparent/great-grandparent... that contains this info), I can tweak the TupletNumber after-line-break callback function. THANK YOU! ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Overriding NoteHead stencil in a chord produces unwanted X offset
Hey lilypond users, In compiling the following: \version "2.13.0" \relative c' { 1 } You'll see that the middle notehead of the above-chord is too far to the right. Some other tweaks: \relative c' { << { 1 } \\ { \override Stem #'transparent = ##t \override Stem #'direction = #UP c'4 } >> } Too left. \relative c' { << { 1 } \\ { \override Stem #'transparent = ##t c'4 } >> } Too left. \relative c' { << { 1 } { \override Stem #'transparent = ##t c'4 } >> } Too right. Is there anything you'd recommend that'll get this quarter note flush with the whole notes? Thanks! ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Overriding NoteHead stencil in a chord produces unwanted X offset
Good question! I am trying to write clarinet multiphonics. Traditionally (and by traditionally I mean in the past 10 years wherever I see it), the middle note of a clarinet multiphonic is written as a quarter note regardless of the multiphonic's duration. This is to signify that it may or may not appear depending on the dynamic. The best example I can drum up is E Michael Richard's site on multiphonics: http://userpages.umbc.edu/~emrich/chapter6-5.html Although most scores that use notation like this are hand-written, you'll see that generally the composer endeavors to center-align the filled-in notehead. I erroneously said "flush" when I meant centered - you're absolutely right. Although I could keep the stem, this emerging notational convention seems to always dispense with the stem, so I'd like to as well. The minimal example I provided is more or less a full-measure multiphonic. In the score I'm writing, this chord is accompanied by an eps markup w/ a fingering chart, but other than that what I've put below constitutes a measure of the actual score. THANK YOU very much for your help! ~Mike On 7/4/09 12:25 PM, "Mark Polesky" wrote: > > Mike Solomon wrote: >> \relative c' { >> << >> { 1 } >> { \override Stem #'transparent = ##t c'4 } >>>> >> } >> >> You'll see that the middle notehead of the above-chord is too far >> to the right >> Is there anything you'd recommend that'll get this quarter note >> flush with the whole notes? > > I'll help you, but I need to understand better what you want. > > 1) Why do you want the quarter-note stem removed? > 2) The quarter-note is already "flush" with (the right side of) the >whole notes in the last example. Do you want it centered? Why? > > The reason I'm asking these questions is because I need to make > sure you're not casually violating standard engraving without good > reason. I don't mean to be annoying! It may also help if you post > a full measure so I can see the musical context. > > Thanks. > - Mark > > > > > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Overriding NoteHead stencil in a chord produces unwanted X offset
The up and down arrows are eighth tones, but there is no standard convention for how to write them. Also, as you can imagine, they are approximations of just-intoned intervals. What really matters is the fingering chart. To effectuate these eighth tones, I modified someone else's quarter tone code (see below). As I'll be using a lot of microtones, I may work on automating your very good solution. My deadline for the piece is July 20, so I am under the gun, but as Confucius once said, "One day devoted to automating a process saves you a lifetime of doing it manually." ~Mike #(define-public Q-SHARP 499/4000) #(define-public Q-Q-SHARP 999/4000) #(define-public Q-Q-Q-SHARP 1499/4000) #(define-public SHARP-Q 2499/4000) #(define-public SHARP-Q-Q 2999/4000) #(define-public SHARP-Q-Q-Q 3499/4000) #(define-public Q-FLAT -499/4000) #(define-public Q-Q-FLAT -999/4000) #(define-public Q-Q-Q-FLAT -1499/4000) #(define-public FLAT-Q -2499/4000) #(define-public FLAT-Q-Q -2999/4000) #(define-public FLAT-Q-Q-Q -3499/4000) quartertonearrowPitchNames = #`( (ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT)) (cesfff . ,(ly:make-pitch -1 0 FLAT-Q-Q-Q)) (cesff . ,(ly:make-pitch -1 0 FLAT-Q-Q)) (cesf . ,(ly:make-pitch -1 0 FLAT-Q)) (ces . ,(ly:make-pitch -1 0 FLAT)) (cfffes . ,(ly:make-pitch -1 0 Q-Q-Q-FLAT)) (cffes . ,(ly:make-pitch -1 0 Q-Q-FLAT)) (cfes . ,(ly:make-pitch -1 0 Q-FLAT)) (c . ,(ly:make-pitch -1 0 NATURAL)) (csis . ,(ly:make-pitch -1 0 Q-SHARP)) (cssis . ,(ly:make-pitch -1 0 Q-Q-SHARP)) (csssis . ,(ly:make-pitch -1 0 Q-Q-Q-SHARP)) (cis . ,(ly:make-pitch -1 0 SHARP)) (ciss . ,(ly:make-pitch -1 0 SHARP-Q)) (cisss . ,(ly:make-pitch -1 0 SHARP-Q-Q)) (ci . ,(ly:make-pitch -1 0 SHARP-Q-Q-Q)) (cisis . ,(ly:make-pitch -1 0 DOUBLE-SHARP)) (deses . ,(ly:make-pitch -1 1 DOUBLE-FLAT)) (desfff . ,(ly:make-pitch -1 1 FLAT-Q-Q-Q)) (desff . ,(ly:make-pitch -1 1 FLAT-Q-Q)) (desf . ,(ly:make-pitch -1 1 FLAT-Q)) (des . ,(ly:make-pitch -1 1 FLAT)) (dfffes . ,(ly:make-pitch -1 1 Q-Q-Q-FLAT)) (dffes . ,(ly:make-pitch -1 1 Q-Q-FLAT)) (dfes . ,(ly:make-pitch -1 1 Q-FLAT)) (d . ,(ly:make-pitch -1 1 NATURAL)) (dsis . ,(ly:make-pitch -1 1 Q-SHARP)) (dssis . ,(ly:make-pitch -1 1 Q-Q-SHARP)) (dsssis . ,(ly:make-pitch -1 1 Q-Q-Q-SHARP)) (dis . ,(ly:make-pitch -1 1 SHARP)) (diss . ,(ly:make-pitch -1 1 SHARP-Q)) (disss . ,(ly:make-pitch -1 1 SHARP-Q-Q)) (di . ,(ly:make-pitch -1 1 SHARP-Q-Q-Q)) (disis . ,(ly:make-pitch -1 1 DOUBLE-SHARP)) (eeses . ,(ly:make-pitch -1 2 DOUBLE-FLAT)) (eesfff . ,(ly:make-pitch -1 2 FLAT-Q-Q-Q)) (eesff . ,(ly:make-pitch -1 2 FLAT-Q-Q)) (eesf . ,(ly:make-pitch -1 2 FLAT-Q)) (ees . ,(ly:make-pitch -1 2 FLAT)) (efffes . ,(ly:make-pitch -1 2 Q-Q-Q-FLAT)) (effes . ,(ly:make-pitch -1 2 Q-Q-FLAT)) (efes . ,(ly:make-pitch -1 2 Q-FLAT)) (e . ,(ly:make-pitch -1 2 NATURAL)) (esis . ,(ly:make-pitch -1 2 Q-SHARP)) (essis . ,(ly:make-pitch -1 2 Q-Q-SHARP)) (esssis . ,(ly:make-pitch -1 2 Q-Q-Q-SHARP)) (eis . ,(ly:make-pitch -1 2 SHARP)) (eiss . ,(ly:make-pitch -1 2 SHARP-Q)) (eisss . ,(ly:make-pitch -1 2 SHARP-Q-Q)) (ei . ,(ly:make-pitch -1 2 SHARP-Q-Q-Q)) (eisis . ,(ly:make-pitch -1 2 DOUBLE-SHARP)) (feses . ,(ly:make-pitch -1 3 DOUBLE-FLAT)) (fesfff . ,(ly:make-pitch -1 3 FLAT-Q-Q-Q)) (fesff . ,(ly:make-pitch -1 3 FLAT-Q-Q)) (fesf . ,(ly:make-pitch -1 3 FLAT-Q)) (fes . ,(ly:make-pitch -1 3 FLAT)) (es . ,(ly:make-pitch -1 3 Q-Q-Q-FLAT)) (fffes . ,(ly:make-pitch -1 3 Q-Q-FLAT)) (ffes . ,(ly:make-pitch -1 3 Q-FLAT)) (f . ,(ly:make-pitch -1 3 NATURAL)) (fsis . ,(ly:make-pitch -1 3 Q-SHARP)) (fssis . ,(ly:make-pitch -1 3 Q-Q-SHARP)) (fsssis . ,(ly:make-pitch -1 3 Q-Q-Q-SHARP)) (fis . ,(ly:make-pitch -1 3 SHARP)) (fiss . ,(ly:make-pitch -1 3 SHARP-Q)) (fisss . ,(ly:make-pitch -1 3 SHARP-Q-Q)) (fi . ,(ly:make-pitch -1 3 SHARP-Q-Q-Q)) (fisis . ,(ly:make-pitch -1 3 DOUBLE-SHARP)) (geses . ,(ly:make-pitch -1 4 DOUBLE-FLAT)) (gesfff . ,(ly:make-pitch -1 4 FLAT-Q-Q-Q)) (gesff . ,(ly:make-pitch -1 4 FLAT-Q-Q)) (gesf . ,(ly:make-pitch -1 4 FLAT-Q)) (ges . ,(ly:make-pitch -1 4 FLAT)) (gfffes . ,(ly:make-pitch -1 4 Q-Q-Q-FLAT)) (gffes . ,(ly:make-pitch -1 4 Q-Q-FLAT)) (gfes . ,(ly:make-pitch -1 4 Q-FLAT)) (g . ,(ly:make-pitch -1 4 NATURAL)) (gsis . ,(ly:make-pitch -1 4 Q-SHARP)) (gssis . ,(ly:make-pitch -1 4 Q-Q-SHARP)) (gsssis . ,(ly:make-pitch -1 4 Q-Q-Q-SHARP))
Bass clarinet fingering chart
Hey lilypond-users, Before I put this on the LSR, please play around with this. Specifically, please 1) Make it less sprawling. 2) Find anything that's broken (the below examples work). 3) Change layout to better-suit your wind-playing needs. 4) Make any and all layout or coding suggestions. THANK YOU!!! ~Mike \version "2.13.0" #(define (make-number-bcl layout props fsize stretch offset val) (ly:stencil-translate (ly:text-interface::interpret-markup layout props (make-general-align-markup X RIGHT (make-general-align-markup Y DOWN ( markup #:abs-fontsize fsize val (cons (* -0.5 stretch ) (* offset stretch) ) ) ) #(define (make-named-bcl inl outmk biglist) (if (eqv? 0 (length inl)) outmk (begin (set! outmk (append outmk (if (list-ref inl 0) (list-ref biglist 0) (list (markup #:null))) )) (make-named-bcl (cdr inl) outmk (cdr biglist)) ) ) ) #(define-markup-command (multiphonic layout props inl) (list?) (let* (;radius of the circles (radius (list-ref inl 0)) ;font size, grows and shrinks with radius (fsize (* radius 12)) ;degree of stretch of the holes as a function of radius size. Make 0.0 to 0.5 for good results. (spread (list-ref inl 1)) (stretch (+ (* 2 radius) (* spread radius)) ) ;more or less the approximation from the bible (PI 3.14159265) ;list of left keys (lbiglist (list (list (markup #:abs-fontsize fsize "B")) (list (markup #:abs-fontsize fsize "F") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:sharp)) (list (markup #:abs-fontsize fsize "E")) (list (markup #:abs-fontsize fsize "E") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:flat)) (list (markup #:abs-fontsize fsize "G") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:sharp)) (list (markup #:abs-fontsize fsize "F")) ) ) ;list of right keys (rbiglist (list (list (markup #:abs-fontsize fsize "A")) (list (markup #:abs-fontsize fsize "G") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:sharp)) (list (markup #:abs-fontsize fsize "E") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:flat)) (list (markup #:abs-fontsize fsize "C") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:sharp)) (list (markup #:abs-fontsize fsize "F")) (list (markup #:abs-fontsize fsize "E")) (list (markup #:abs-fontsize fsize "F") (markup #:abs-fontsize fsize #:raise 1 #:fontsize -2 #:sharp)) ) ) ;bools for the fill/non-fill holes (h0 (list-ref inl 2)) (h1 (list-ref inl 3)) (h2 (list-ref inl 4)) (h3 (list-ref inl 5)) (h4 (list-ref inl 6)) (h5 (list-ref inl 7)) (h6 (list-ref inl 8)) (rkey (list-ref inl 9)) ;necessary schtuff for the left named keys (lkeyl (list-ref inl 10)) (lkeymkp (list (markup #:null))) (lkeymkp (make-named-bcl lkeyl lkeymkp lbiglist)) ;necessary schtuff for the right named keys (rkeyl (list-ref inl 11)) (rkeymkp (list (markup #:null))) (rkeymkp (make-named-bcl rkeyl rkeymkp rbiglist)) ;values to draw the "R" hole (halfbase (* radius (cos (/ PI 10))) ) (height (* halfbase (/ (sin (/ (* 4 PI) 10)) (cos (/ (* 4 PI) 10))) )) (hoffset (* radius (sin (/ PI 10))) ) ;values taking care of numbered key layout (numberkeys (list-ref inl 12)) (nkoffset (- 3.5 (* (- (length numberkeys) 1) 0.5)) ) ) (interpret-markup layout props (markup #:stencil (ly:stencil-add ;center holes (ly:stencil-translate-axis (make-circle-stencil radius 0.1 h5) (* 1.0 stretch) Y ) (ly:stencil-translate-axis (make-circle-stencil radius 0.1 h4) (* 2.0 stretch) Y ) (ly:stencil-translate-axis (make-circle-stencil radius 0.1 h3) (* 3.0 stretch) Y ) (ly:stencil-translate-axis (ly:make-stencil (list 'draw-line 0.1 (* -1.5 radius) 0 (* 1.5 radius) 0 ) (cons 0 0 ) (cons 0 0)) (* 3.75 stretch) Y ) (ly:stencil-translate-axis (make-circle-stencil radius 0.1 h2) (* 4.5 stretch) Y )
Addendum to chart in previous email
It would have been more intelligent of me to make the first example: \relative c' { c1^\markup { \multiphonic #(list 1.0 0.5 #t #f #t #f #t #t #t #t (list #f #f #f #t #f #t ) (list #t #t #f #f #f #f #t ) (list "2" "1" ) ) } } That shows both of the back holes stopped so you can see how they look together. Also, I have no clue why I called it multiphonic - I'm going on 7h of sleep for the past 3.5 days...but the code works... ~Mike ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Bass clarinet fingering chart
I think that is EXCELLENT and certainly prettier than mine. Which one to use depends which ones would serve the needs of a particular score/chart better. Some performers prefer less information w/ a textual description (ie play the G# key) whereas others prefer the graphical representation that has more information (ghosted figures) but a clearer representation of what goes where. I think that a good thing to do would be to merge the two and create a text/graphical switch as an argument to the markup. But when the merge happens (and when other instruments wind up being made), I would say use yours as a template it looks amazing! Cheers, ~Mike On 7/8/09 6:10 AM, "Gilles THIBAULT" wrote: > I am a bit disapointed because a year ago i made a clarinet tablature but i > never managed to make it compile by the LSR. > I thought it was because the version on te LSR was to old so i decided to > wait that the LSR update to the version "2.12", but i realize now that it > was not a good idea because some others people spends propably a lot of time > to make a clarinet tablature. > > So here is another proposal. > In clarTab.html you have a little explaination how to get each examples you > have in clarTab.pdf. > > Gilles ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user