lilypond-windows.exc vs lilypond-exc
Hi, lily ponders: There is lilypond-windows.exc and lilypond.exc in \usr\bin. What is the difference? I have window 10 - which one should I use? Immanuel,Ming___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond-book (LilyPond 2.6.3-1)
OSX 10.4.2 Lilypond 2.6.3-1 (dmg-download) I am new to lilypond, and am trying to use lilypond-book, but get: lilypond-book ~/Desktop/silly.ly Traceback (most recent call last): File "/Applications/LilyPond.app/Contents/Resources/bin/lilypond- book", line 59, in ? import lilylib as ly ImportError: No module named lilylib invoking lilypond by itself I get the ominous reference to: dyld: Library not loaded: /Users/hanwen/src/maclily/BUILD/build.app// Contents/Resources/lib/libintl.1.dylib Referenced from: /Applications/LilyPond.app/Contents/Resources/bin/ lilypond Reason: image not found Trace/BPT trap lilypond is a binary file, and I am not user hanwen :-). (I would know what to do if I were!) Any help appreciated... Rembrandt ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond-book & lilypond-file question
Hi, I would like to know how to use a TEX commands which use an special latex package from a ly file. Something like\usepackage{} from latex, but in a *.ly file, for compiling with lilypond. Not with lilypond-book. I have some *.ly files include with lilypondfile{} in my latex document, and i use TEX commands within it. When i compile my document with lilypond-book, it compiles perfectly, because in the preamble i have the \usepackage{} lines. But when i compile apart the *.ly file with lilypond, gives the error of an unrecognized command. Is it possible to include that latex package in the *.ly file? If not, those *ly files will only compile within a latex document :S I hope i expressed my question correctly :) And it'll be understandable. If not, feel free to ask. I'm very interested. Many, many thanks, José Luis pgp0.pgp Description: PGP signature ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
lilypond-book & lilypond-file question
Er... I respond to myself: lilypond --set=latexpackages=PACKAGE test.ly well, if somebody more didn't know it.. now does :) José Luis A 12/10/03 19:09:10 José Luis Cruz <[EMAIL PROTECTED]> escribió: > Hi, > > I would like to know how to use a TEX commands which use an special > latex package from a ly file. Something like\usepackage{} from > latex, but in a *.ly file, for compiling with lilypond. Not with > lilypond-book. .mimetmp Description: PGP signature pgp0.pgp Description: PGP signature ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
lilypond
Hi I just downloaded the software and did all the right (I hope) stages, but the file does not open. what did I do wrong? I am using windows 2000 thanks Ester De Beer___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond
Hi, I'm impressed by the printed results from your program - I remember 'Score', about a millennium ago which I ran on an XT and that was a script based application. When you were ready to print a score, you had to run the print run all night, and keep getting up to un-jam the printer. Still the results were great. These days I'm a composer and I use Sibelius 4 as a composition tool, and the thought of learning a new language is rather daunting. Can Lilypond accept a Midi file and convert it into its own format, and then to its beautiful printed output? Do composers use Lilypond as their primary work system? It seems to me that one needs to have a piece already written, on paper perhaps, and then input it to your program. Or am I off track here? Cheers Bohdan Krowicky Wodonga, Australia ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond
Hi, I have downloaded your latest version of Lilypond, and began working with. I found that when using a scale (i.e. E flat minor), it is still necessary to use es and is for notes like A, B, etc. Please let me know if I missed something in the tutorial or in your examples. If not, please consider make the note follow the key, unless the arranger decides to make them natural (Beccare). I believe it will simplify using your nice application, shorten the command list, and ease arrangement. Thank you for your help, David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
LilyPond
I just discovered LilyPond and wanted a chance to thank everyone that has been involved with creating and maintaining it. I don't have much experience with music printing programs, but have use used CakeWalk (really just a sequencer), and Finale. Although these are good programs, I don't like the mouse point and click method very much. Sometimes small changes are so hard to figure out. e.g. Once I took an hour to figure out how to move a Coda sign from one measure to another! Of course, I could be a little dense, but still, it shouldn't be that hard. In contrast, LilyPond is a breath of fresh air. I allows me to manipulate where things are put in a much more natural way. I feel that I have complete control. Even the first piece I entered, I was able to figure out how to correct all my mistakes in a short time by reading the manual and just editing a little. I think you have a wonderful program. -Dave ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond
I checked about 20 of the mirrors, but none of them show lilypond as available. Can you point me to a download site that has the file? Thanks. Paul OBrien. ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
LilyPond, LilyPond snippets and the GPL
By my last post, I, unfortunately, evoked a discussion concerning LilyPond, LilyPond snippets, and the GPL which actually did not belong to the original topic. During this discussion Harm stated, that „maybe LSR should better use GPL 3, not this deprecated one (Public Domain)“. Urs asked whether anything has to be done with respect to the Lilypond Snippet Repository. And Andrew asked whether I apprehend not to be able to use lilypond due to the fact that it is licensed under the GPL. I owned these comments by my statement, that I will not be able to use and to support the development of LilyPond snippets or libraries (as OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I have written a thorough analysis of the situation. It is published under the title „LilyPond, LilyPond Snippets and GPL: About some bad side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ For those, who do not want to read such an exhaustive document – I need this depth of detail due to my work as the open-source compliance officer of a Germany company – let me briefly summarize the line of argumentation: [1] The LilyPond language (interpreted by the LilyPond program which creates nice music sheets in the form of PDFs or PNGs) is a programming language. [2] The LilyPond interpreter is licensed under the GPL. [3] None of the existing Lilypond snippets is licensed under the GPL because the interpreter is licensed under the GPL (= no copyleft effect from the engine to its input/output). If they are licensed under the GPL, then it is a decision of the snippet authors, who also could have chosen one of the other open-source licenses. [4] But if a GPL licensed LilyPond snippet is used by another LilyPond code (either by a functional call into the included snippet or by literally copying the snippet into the other code), then the copyleft effect of the GPL is triggered. [5] The copyleft effect does not distinguish between distributing the source (the LilyPond code) or the compilation (the PDFs, the PNGs): it simply requires that the resulting work (the derivative work) has to be distributed (published) under the terms of the GPL too. [6] If one has the right to use, to inspect, to modify and to redistribute (share) the (modified) work to/with third persons, then – in case of music – one has also the right to make music by using the music scores. (If you doubt these statements, please read https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ ) Hence, now I reached the bad result: Using a GPL licensed LilyPond snippet for creating your own music – regardless, whether you use the include- or the copy & paste method – evokes that everyone who gets your work in any form also and inherently gets the right to use it – for any purpose and without having to ask you again. In other words: by using any GPL licensed snippet you give away all your rights, even your artistic rights. I hope you understand why I cannot let automatically become my scientific or my musical work common property only because I use one GPL licensed LilyPond snippet for creating the sheet music of my examples or my musical work. In my article, I also analyze the alternatives. The result is this: The best method is to license your work under the MIT license. The worse, but possible solution is, to use a creative commons license, especially the CC0 license. With respect to the question of Urs, I can now say: The existing LSR snippets can only be relicensed by the original copyright owners. But for the next uploaded files, it could be helpful, to recommend (or enforce?) their authors to license them under the CC0. And with respect to your OpenLilyLib, I, unfortunately, have to say this: I hope that you can conclude why I am not able to develop my snippet ‚harmonily‘ as part of your framework. But I will license it under the terms of the MIT. That allows you, to integrate the code into your work (But only, if you preserve the MIT license which is part of the code. You will not be allowed to relicense my code – which should not disturb your work and goals). In the hope having answered respectfully, appreciatively and clearly Karsten -- Karsten Reincke/\/\ (+49|0) 170 / 927 78 57 Im Braungeröll 31 >oo< mailto:k.rein...@fodina.de 60431 Frankfurt a.M. \/http://www.fodina.de/kr/
Re: lilypond-windows.exc vs lilypond-exc
There is lilypond.exe and lilypond-windows.exe in the Lilypond edition for Microsoft Windows. You use lilypond.exe when you want to capture the output of the program, e.g. error messages. lilypond-windows.exe opens a new window, outputs the messages in this windows and closes it finally.I usually make mistakes and want to see the messages, so I use always lilypond.exe Regards Helge ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-windows.exc vs lilypond-exc
- Original Message - From: "Helge Kruse" To: "MING TSANG" Cc: "Lilypond-user Mailinglist" Sent: Tuesday, February 23, 2016 4:59 AM Subject: Re: lilypond-windows.exc vs lilypond-exc There is lilypond.exe and lilypond-windows.exe in the Lilypond edition for Microsoft Windows. You use lilypond.exe when you want to capture the output of the program, e.g. error messages. lilypond-windows.exe opens a new window, outputs the messages in this windows and closes it finally.I usually make mistakes and want to see the messages, so I use always lilypond.exe Regards Helge This is covered quite nicely in the documentation: http://lilypond.org/doc/v2.19/Documentation/usage/command_002dline-usage "Note to Windows users: By default lilypond.exe outputs all progress information to the command window,lilypond-windows.exe does not and returns a prompt, with no progress information, immediately at the command line. The'-dgui' option can be used in this case to redirect output to a log file." -- Phil Holmes _______ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-windows.exc vs lilypond-exc
Helge: Thank you for the explanation. Phil: Thank you for the link. Since I am not running lilypond in command mode. I use frescobaldi as front end to execute lilypond. I run both lilypond-windows.exc and lilypond.exc and I don't see any difference. I can see the log file under frescobaldi. Immanuel,Ming From: Phil Holmes To: Helge Kruse ; MING TSANG Cc: Lilypond-user Mailinglist Sent: Tuesday, February 23, 2016 4:02 AM Subject: Re: lilypond-windows.exc vs lilypond-exc - Original Message - From: "Helge Kruse" To: "MING TSANG" Cc: "Lilypond-user Mailinglist" Sent: Tuesday, February 23, 2016 4:59 AM Subject: Re: lilypond-windows.exc vs lilypond-exc > There is lilypond.exe and lilypond-windows.exe in the Lilypond edition > for Microsoft Windows. > You use lilypond.exe when you want to capture the output of the > program, e.g. error messages. > lilypond-windows.exe opens a new window, outputs the messages in this > windows and closes it finally.I usually make mistakes and want to see > the messages, so I use always lilypond.exe > > Regards > Helge This is covered quite nicely in the documentation: http://lilypond.org/doc/v2.19/Documentation/usage/command_002dline-usage "Note to Windows users: By default lilypond.exe outputs all progress information to the command window,lilypond-windows.exe does not and returns a prompt, with no progress information, immediately at the command line. The'-dgui' option can be used in this case to redirect output to a log file." -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
[ANN] lilypond-kde4, base lilypond package
Hi Daniel and Valentin, and other LilyPond + KDE or LilyKDE users, I just released a basic package for lilypond editing under KDE 4.1+ http://lilykde.googlecode.com/files/lilypond-kde4-0.1.tar.gz It contains - three icons for LilyPond documents, based on oxygen, crystalsvg and one neutral one, based on the LilyPond note XPM icon, converted to SVG. - katepart indent script (lilypond.js) for nice LilyPond auto-indenting. - textedit service handler that is able to automatically open the preferred editor with the right arguments, and can be configured to support more/other editors, and can also talk via DBus to a running LilyPond editor. It depends on Qt4.4 and KDE 4.1 or higher. I think this "lilypond-kde4" package could serve as a common basis for LilyPond editing under KDE 4. It is my intention to keep this package as small as possible. Other packages could provide a servicemenu, plugins or standalone apps etc. But you are welcome to add comments and improvements! with best regards, Wilbert Berendsen PS: The LilyPond syntax definitions are already part of KDE, and I updated them to the upcoming 2.12 LilyPond release in KDE 4.1.3 and KDE 4.2 (trunk). Since KDE 4 uses the FreeDesktop.org shared-mime-info, installing a LilyPond mimetype in KDE is not necessary anymore. The shared-mime-info package knows LilyPond's *.ly file type as text/x-lilypond since version 0.23 I believe. -- http://www.wilbertberendsen.nl/ ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond 2.10.17-1: lilypond-book ImportError
Hi, when executing lilypond-book contained in Lilypond.app (Mac OS X), I get the following error: Traceback (most recent call last): File "/Applications/TeX/LilyPond.app/Contents/Resources/bin/lilypond-book", line 44, in ? import lilylib as ly ImportError: No module named lilylib Is some file missing from the distribution? Nicola ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Using Lilypond as a Lilypond preprocessor.
Hi, I think it might be a good idea for Lilypond to provide a facility which, based on an input file, provides a normalized intermediate file which is itself a valid Lilypond file, with exactly the same semantics as the original one, but where the variables (or at least, the user-define ones) are expanded, all pitches and note durations are set to their absolute value, etc... This file would definitely not be meant to be edited, but would be used for further processings. Since it is much simpler than a plain Lilypond file, reading it would be much simpler. Since all pitches and note durations are set explicitly, there is no room for misunderstanding. For instance one might consider rewriting the MIDI generator based on this intermediate file (and allow for the current implementation to be phased out, as no one wants to work at it, and as it seems to deal with excessively complex data structures), or a Midge generator, or a MusicXML export, or even a Finale Export (ok, ok, just kidding... :-) ) Since this intermediate file is a valid Lilypond file, an intermediate pass can perform some kind of transformation on it before passing it back to Lilypond for actual processing. Is this reasonable ? or is Lilypond's internal data structure too complex for this to be feasible ? Cheers, Darius. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-book & lilypond-file question
HI Is this in some way an better option than changing the the lilypond executable to cmd=elatex?? not sure what this does?? Aaron On Sun, 2003-10-12 at 19:36, José Luis Cruz wrote: > Er... I respond to myself: > > > lilypond --set=latexpackages=PACKAGE test.ly > > > well, if somebody more didn't know it.. now does :) > > > José Luis > > > > > A 12/10/03 19:09:10 > José Luis Cruz <[EMAIL PROTECTED]> escribió: > > > Hi, > > > > I would like to know how to use a TEX commands which use an special > > latex package from a ly file. Something like\usepackage{} from > > latex, but in a *.ly file, for compiling with lilypond. Not with > > lilypond-book. > > __ > > ___ > Lilypond-user mailing list > [EMAIL PROTECTED] > http://mail.gnu.org/mailman/listinfo/lilypond-user ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-book & lilypond-file question
Aaron wrote: HI Is this in some way an better option than changing the the lilypond executable to cmd=elatex?? That's something completely different. José just wanted to ask LaTeX to include some packages, whereas you want to replace the full LaTeX program with another program (elatex). not sure what this does?? Aaron On Sun, 2003-10-12 at 19:36, José Luis Cruz wrote: Er... I respond to myself: lilypond --set=latexpackages=PACKAGE test.ly well, if somebody more didn't know it.. now does :) /Mats ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-book & lilypond-file question
thanks Mats, I am always looking for a way to make the hebrew support better. I was wondering about unicode and thoughts about supporting it?? AA On Mon, 2003-10-13 at 10:31, Mats Bengtsson wrote: > Aaron wrote: > > HI > > > > Is this in some way an better option than changing the the lilypond > > executable to cmd=elatex?? > > That's something completely different. José just wanted to ask LaTeX > to include some packages, whereas you want to replace the full LaTeX > program with another program (elatex). > > > not sure what this does?? > > Aaron > > On Sun, 2003-10-12 at 19:36, José Luis Cruz wrote: > > > >>Er... I respond to myself: > >> > >> > >>lilypond --set=latexpackages=PACKAGE test.ly > >> > >> > >>well, if somebody more didn't know it.. now does :) > > >/Mats > ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
Re: LilyPond, LilyPond snippets and the GPL
Karsten Reincke writes: > By my last post, I, unfortunately, evoked a discussion concerning > LilyPond, LilyPond snippets, and the GPL which actually did not belong > to the original topic. During this discussion Harm stated, that „maybe > LSR should better use GPL 3, not this deprecated one (Public Domain)“. > Urs asked whether anything has to be done with respect to the Lilypond > Snippet Repository. And Andrew asked whether I apprehend not to be able > to use lilypond due to the fact that it is licensed under the GPL. > > I owned these comments by my statement, that I will not be able to use > and to support the development of LilyPond snippets or libraries (as > OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I > have written a thorough analysis of the situation. It is published > under the title „LilyPond, LilyPond Snippets and GPL: About some bad > side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ > > For those, who do not want to read such an exhaustive document – I need > this depth of detail due to my work as the open-source compliance > officer of a Germany company – let me briefly summarize the line of > argumentation: > > [1] The LilyPond language (interpreted by the LilyPond program which > creates nice music sheets in the form of PDFs or PNGs) is a programming > language. > > [2] The LilyPond interpreter is licensed under the GPL. > > [3] None of the existing Lilypond snippets is licensed under the GPL > because the interpreter is licensed under the GPL (= no copyleft effect > from the engine to its input/output). If they are licensed under the > GPL, then it is a decision of the snippet authors, who also could have > chosen one of the other open-source licenses. > > [4] But if a GPL licensed LilyPond snippet is used by another LilyPond > code (either by a functional call into the included snippet or by > literally copying the snippet into the other code), then the copyleft > effect of the GPL is triggered. > > [5] The copyleft effect does not distinguish between distributing the > source (the LilyPond code) or the compilation (the PDFs, the PNGs): it > simply requires that the resulting work (the derivative work) has to be > distributed (published) under the terms of the GPL too. I disagree with your assessment that calling any code/function makes the work doing so a derivative of that code (that would concern using OpenLilyLib code). I do agree that including/using/changing LSR snippets as part of your work means deriving from them. That's why I would agree that using the GPL for the LSR snippets would not be desirable since it would introduce a licensing regime where it seems exaggerated. > In my article, I also analyze the alternatives. The result is this: > The best method is to license your work under the MIT license. The > worse, but possible solution is, to use a creative commons license, > especially the CC0 license. LSR code is most of the time edited/adapted to particular use cases. It's not really intended to be retained in a reasonably attributable form, so I think that even the MIT license makes little sense. CC0 seems fine to me, as basically an internationalised abstraction of "Public Domain". > That allows you, to integrate the code into your work (But only, if > you preserve the MIT license which is part of the code. You will not > be allowed to relicense my code – which should not disturb your work > and goals). MIT license definitely permits relicensing, but of course without copyright to the actual code, you would not have standing for enforcing the license of a relicensed (or non-relicensed) version, so that does not make a whole lot of sense for an unmodified version. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
Hi Karsten, first of all let me comment on your final stance: yes, I think you have answered respectfully, appreciatively and clearly. And I have also read your longer post. But I think there is one single flawed thought you build your argumentation on. I'll leave most of your statements alone and basically comment only on that one: Am 30.10.19 um 00:06 schrieb Karsten Reincke: By my last post, I, unfortunately, evoked a discussion concerning LilyPond, LilyPond snippets, and the GPL which actually did not belong to the original topic. During this discussion Harm stated, that „maybe LSR should better use GPL 3, not this deprecated one (Public Domain)“. Urs asked whether anything has to be done with respect to the Lilypond Snippet Repository. And Andrew asked whether I apprehend not to be able to use lilypond due to the fact that it is licensed under the GPL. I owned these comments by my statement, that I will not be able to use and to support the development of LilyPond snippets or libraries (as OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I have written a thorough analysis of the situation. It is published under the title „LilyPond, LilyPond Snippets and GPL: About some bad side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ For those, who do not want to read such an exhaustive document – I need this depth of detail due to my work as the open-source compliance officer of a Germany company – let me briefly summarize the line of argumentation: [1] The LilyPond language (interpreted by the LilyPond program which creates nice music sheets in the form of PDFs or PNGs) is a programming language. [2] The LilyPond interpreter is licensed under the GPL. [3] None of the existing Lilypond snippets is licensed under the GPL because the interpreter is licensed under the GPL (= no copyleft effect from the engine to its input/output). If they are licensed under the GPL, then it is a decision of the snippet authors, who also could have chosen one of the other open-source licenses. Correct. [4] But if a GPL licensed LilyPond snippet is used by another LilyPond code (either by a functional call into the included snippet or by literally copying the snippet into the other code), then the copyleft effect of the GPL is triggered. Well, sort-of ... [5] The copyleft effect does not distinguish between distributing the source (the LilyPond code) or the compilation (the PDFs, the PNGs): it simply requires that the resulting work (the derivative work) has to be distributed (published) under the terms of the GPL too. ... of course it does. What you are referring to is the relation of software distributed in source code or binary/compiled form. But as you outlined before using LilyPond (like with all other comparable tools like e.g. LaTeX) does not have any implications on *what* you do with it. The intellectual property to the *documents* is not affected by the license the compiler is distributed with. If there is a snippet or an openLilyLib package that creates a certain sign, let's say a vertical line to indicate a line break in the original source (\diplomaticLineBreak in an openLilyLib package) and that package is licensed with the GPL then the function is essentially licensed identically as any function within the regular LilyPond distribution. Consider the function \IJ. This is defined in a file gregorian.ly within the LilyPond distribution. In order to use \IJ your document has to actively \include "gregorian.ly". gregorian.ly is licensed under the GPL, but that does *not* require you to license the *music* (or other kind of artistic/scientific "work") under the GPL as well. Basically *any* use of LilyPond uses function calls into GPLed code, and in that sense code within openLilyLib is part of the compiler domain like LilyPond, and not part of the document domain where it would affect the work you do with it. However, if you are building a library that uses \IJ and you want to distribute your libary *that* triggers the copyleft implications of the original file's GPL. The same is true (and that's probably a practically realistic example) if you write a custom openLilyLib package (by including oll-core/package.ily) and want to distribute that package you'd be bound by the relicensing provisions of the GPL. Still, that doesn't affect the artistic or scientific works created *using* the package in any way. Given the \diplomaticLineBreak above using the function does not put any burden on you. OTOH your *scholarly decision* to apply a diplomatic line break may be a copyrightable decision in its own right. Another example: If you use a GPLed document editor that provides the ability to use/apply macros, and there is an option to use custom macros which may stem from a GPLed macro repository. Such macros might (for example) be used to apply a certain styling to a ce
Re: LilyPond, LilyPond snippets and the GPL
On Wed, 2019-10-30 at 00:46 +0100, David Kastrup wrote: > [...] > > I disagree with your assessment that calling any code/function makes > the > work doing so a derivative of that code (that would concern using > OpenLilyLib code). [...] I agree with you, that the question, when and how a piece of code definitely becomes a derivative work of another is not finally clarified, especially not judically. Therefore, we all have to argue and can finally only deliver more or less rational 'rule of thumbs'. I argue the following way: RMS has invented the LGPL to ensure that free code stays free. (weak copyleft effect). And he invented the GPL to ensure that no one can use the advantages of free software without let his own the advantages using software becoome free software too. (strong copyleft effect). This is the successful spirit of the free software world. (If you doubt this, please consider, why the AGPL has been invented) Hence, if I use a piece of software as library, snippet, or module, then I am using the advantage that I do not have to program that code by myself. I am saving costs and time. A very good indicator, that I am saving resources by using the prework of another programer, is the call of a function (or method or similar). Therefore, calling a function / method delivered by a GPL licensed software indicates that I create a derivative work and that the strong copyleft effect is triggered. > > [...] > > MIT license definitely permits relicensing, but of course without > copyright to the actual code, you would not have standing for > enforcing > the license of a relicensed (or non-relicensed) version, so that does > not make a whole lot of sense for an unmodified version. > No. In case of script languages, the MIT does implicitely prevent this (and in case of compiled languages too, but there ir does not have any visible effect): The MIT license requires that "the above copyright notice and this permission notice [the MIT license text] shall be included in all copies or substantial portions of the Software". ( https://opensource.org/licenses/MIT) Hence, whenever you take over any substantial piece of my MIT licensed code, then you have to add the MIT license text and my copyright line too. Therefore, my code stays MIT licensed. But of course, you are allowed to combine my code with your work and to distribute your larger overarching work under any other license. As I mentioned above: in case of compiled languages, you cannot see my code anylonger. But in case of interpreted languages at least the substantial portion is there and stays MIT licensed. This aspect of distributing the larger work under different license is often taken as 'relicensing' of the embedded MIT code. But in fact, that's wrong - even if that does indeed not have any important effect. best regards and thanks for your quick answer Karsten -- Karsten Reincke/\/\ (+49|0) 170 / 927 78 57 Im Braungeröll 31 >oo< mailto:k.rein...@fodina.de 60431 Frankfurt a.M. \/http://www.fodina.de/kr/
Re: LilyPond, LilyPond snippets and the GPL
Karsten Reincke writes: > On Wed, 2019-10-30 at 00:46 +0100, David Kastrup wrote: >> [...] >> >> I disagree with your assessment that calling any code/function makes >> the >> work doing so a derivative of that code (that would concern using >> OpenLilyLib code). [...] > > I agree with you, that the question, when and how a piece of code > definitely becomes a derivative work of another is not finally > clarified, especially not judically. Therefore, we all have to argue > and can finally only deliver more or less rational 'rule of thumbs'. I > argue the following way: > > RMS has invented the LGPL to ensure that free code stays free. (weak > copyleft effect). And he invented the GPL to ensure that no one can use > the advantages of free software without let his own the advantages > using software becoome free software too. (strong copyleft effect). > This is the successful spirit of the free software world. (If you doubt > this, please consider, why the AGPL has been invented) > > Hence, if I use a piece of software as library, snippet, or module, > then I am using the advantage that I do not have to program that code > by myself. I am saving costs and time. A very good indicator, that I am > saving resources by using the prework of another programer, is the call > of a function (or method or similar). Therefore, calling a function / > method delivered by a GPL licensed software indicates that I create a > derivative work and that the strong copyleft effect is triggered. Which would imply that distributing your LilyPond input combined with OpenLilylib code would require licensing your LilyPond input under the GPL. It doesn't cover the output of running your LilyPond code, namely the PDF. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
On 10/29/19, 5:46 PM, "David Kastrup" wrote: Karsten Reincke writes: > By my last post, I, unfortunately, evoked a discussion concerning > LilyPond, LilyPond snippets, and the GPL which actually did not belong > to the original topic. During this discussion Harm stated, that „maybe > LSR should better use GPL 3, not this deprecated one (Public Domain)“. > Urs asked whether anything has to be done with respect to the Lilypond > Snippet Repository. And Andrew asked whether I apprehend not to be able > to use lilypond due to the fact that it is licensed under the GPL. > > I owned these comments by my statement, that I will not be able to use > and to support the development of LilyPond snippets or libraries (as > OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I > have written a thorough analysis of the situation. It is published > under the title „LilyPond, LilyPond Snippets and GPL: About some bad > side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ > > For those, who do not want to read such an exhaustive document – I need > this depth of detail due to my work as the open-source compliance > officer of a Germany company – let me briefly summarize the line of > argumentation: > > [1] The LilyPond language (interpreted by the LilyPond program which > creates nice music sheets in the form of PDFs or PNGs) is a programming > language. > > [2] The LilyPond interpreter is licensed under the GPL. > > [3] None of the existing Lilypond snippets is licensed under the GPL > because the interpreter is licensed under the GPL (= no copyleft effect > from the engine to its input/output). If they are licensed under the > GPL, then it is a decision of the snippet authors, who also could have > chosen one of the other open-source licenses. > > [4] But if a GPL licensed LilyPond snippet is used by another LilyPond > code (either by a functional call into the included snippet or by > literally copying the snippet into the other code), then the copyleft > effect of the GPL is triggered. > > [5] The copyleft effect does not distinguish between distributing the > source (the LilyPond code) or the compilation (the PDFs, the PNGs): it > simply requires that the resulting work (the derivative work) has to be > distributed (published) under the terms of the GPL too. I disagree with your assessment that calling any code/function makes the work doing so a derivative of that code (that would concern using OpenLilyLib code). I do agree that including/using/changing LSR snippets as part of your work means deriving from them. That's why I would agree that using the GPL for the LSR snippets would not be desirable since it would introduce a licensing regime where it seems exaggerated. I agree with this comment only to the extent that you are distributing the source code for your music. If you only distribute the PDF and/or MIDI output, the GPL does not apply, according to the FSF: " In what cases is the output of a GPL program covered by the GPL too? (#WhatCaseIsOutputGPL) The output of a program is not, in general, covered by the copyright on the code of the program. So the license of the code of the program does not apply to the output, whether you pipe it into a file, make a screenshot, screencast, or video. The exception would be when the program displays a full screen of text and/or art that comes from the program. Then the copyright on that text and/or art covers the output. Programs that output audio, such as video games, would also fit into this exception. If the art/music is under the GPL, then the GPL applies when you copy it no matter how you copy it. However, fair use may still apply. Keep in mind that some programs, particularly video games, can have artwork/audio that is licensed separately from the underlying GPLed game. In such cases, the license on the artwork/audio would dictate the terms under which video/streaming may occur. See also: Can I use the GPL for something other than software?" [1] Carl Sorensen 1. https://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
Re: LilyPond, LilyPond snippets and the GPL
> From: Karsten Reincke > To: lilypond-user > Cc: k.rein...@fodina.de > Bcc: > Date: Wed, 30 Oct 2019 00:06:32 +0100 > Subject: LilyPond, LilyPond snippets and the GPL > By my last post, I, unfortunately, evoked a discussion concerning > LilyPond, LilyPond snippets, and the GPL which actually did not belong > to the original topic. During this discussion Harm stated, that „maybe > LSR should better use GPL 3, not this deprecated one (Public Domain)“. > Urs asked whether anything has to be done with respect to the Lilypond > Snippet Repository. And Andrew asked whether I apprehend not to be able > to use lilypond due to the fact that it is licensed under the GPL. > > I owned these comments by my statement, that I will not be able to use > and to support the development of LilyPond snippets or libraries (as > OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I > have written a thorough analysis of the situation. It is published > under the title „LilyPond, LilyPond Snippets and GPL: About some bad > side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ > > For those, who do not want to read such an exhaustive document – I need > this depth of detail due to my work as the open-source compliance > officer of a Germany company – let me briefly summarize the line of > argumentation: > > [1] The LilyPond language (interpreted by the LilyPond program which > creates nice music sheets in the form of PDFs or PNGs) is a programming > language. > > [2] The LilyPond interpreter is licensed under the GPL. > > [3] None of the existing Lilypond snippets is licensed under the GPL > because the interpreter is licensed under the GPL (= no copyleft effect > from the engine to its input/output). If they are licensed under the > GPL, then it is a decision of the snippet authors, who also could have > chosen one of the other open-source licenses. > > [4] But if a GPL licensed LilyPond snippet is used by another LilyPond > code (either by a functional call into the included snippet or by > literally copying the snippet into the other code), then the copyleft > effect of the GPL is triggered. > > [5] The copyleft effect does not distinguish between distributing the > source (the LilyPond code) or the compilation (the PDFs, the PNGs): it > simply requires that the resulting work (the derivative work) has to be > distributed (published) under the terms of the GPL too. > > [6] If one has the right to use, to inspect, to modify and to > redistribute (share) the (modified) work to/with third persons, then – > in case of music – one has also the right to make music by using the > music scores. > > (If you doubt these statements, please read > https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ ) > > Hence, now I reached the bad result: Using a GPL licensed LilyPond > snippet for creating your own music – regardless, whether you use the > include- or the copy & paste method – evokes that everyone who gets > your work in any form also and inherently gets the right to use it – > for any purpose and without having to ask you again. In other words: by > using any GPL licensed snippet you give away all your rights, even your > artistic rights. > > I hope you understand why I cannot let automatically become my > scientific or my musical work common property only because I use one > GPL licensed LilyPond snippet for creating the sheet music of my > examples or my musical work. > > In my article, I also analyze the alternatives. The result is this: The > best method is to license your work under the MIT license. The worse, > but possible solution is, to use a creative commons license, especially > the CC0 license. > > With respect to the question of Urs, I can now say: The existing LSR > snippets can only be relicensed by the original copyright owners. But > for the next uploaded files, it could be helpful, to recommend (or > enforce?) their authors to license them under the CC0. > > And with respect to your OpenLilyLib, I, unfortunately, have to say > this: I hope that you can conclude why I am not able to develop my > snippet ‚harmonily‘ as part of your framework. But I will license it > under the terms of the MIT. That allows you, to integrate the code into > your work (But only, if you preserve the MIT license which is part of > the code. You will not be allowed to relicense my code – which should > not disturb your work and goals). > > In the hope having answered respectfully, appreciatively and clearly > Karsten > > > -- > Karsten Reincke/\/\ (+49|0) 170 / 927 78 57 > Im Braungeröll 31 >oo< mailto:k.rein...@fodina.de > 60431 Frankfurt a.M. \/http://www.fodina.de/kr/ I'm tryin
Re: LilyPond, LilyPond snippets and the GPL
On Wed, 2019-10-30 at 00:55 +, Carl Sorensen wrote: > > On 10/29/19, 5:46 PM, "David Kastrup" wrote: > > Karsten Reincke wrotes: > >[...] > > > > [4] But if a GPL licensed LilyPond snippet is used by another LilyPond > > code (either by a functional call into the included snippet or by > > literally copying the snippet into the other code), then the copyleft > > effect of the GPL is triggered. > > > [...] > > I disagree with your assessment that calling any code/function makes the > work doing so a derivative of that code (that would concern using > OpenLilyLib code). I do agree that including/using/changing LSR > snippets as part of your work means deriving from them. That's why I > would agree that using the GPL for the LSR snippets would not be > desirable since it would introduce a licensing regime where it seems > exaggerated. > > I agree with this comment only to the extent that you are distributing the > source code for your music. If you only distribute the PDF and/or MIDI > output, > the GPL does not apply, according to the FSF: > > " In what cases is the output of a GPL program covered by the GPL too? > (#WhatCaseIsOutputGPL) > The output of a program is not, in general, covered by the copyright on the > code > of the program. So the license of the code of the program does not apply to > the > output, whether you pipe it into a file, make a screenshot, screencast, or > video. Many thanks for your comment. It contains an important hint. BUt it is a bit apart from my crucial point: I am not arguing that my LilyPond work (or a snippet) is covered by the GPL because it is 'executed' by LilyPond. I argue that my code is covered by the GPL if I use (include or copy) a GPL licensed snippet. And if it is covered, then in accordance to the GPL §6 (title: "Conveying Non-Source Forms") also the compiled version is covered by the GPL. (BTW: even a picture is binary code which is interpreted) Nevertheless, I would be happy if the statement you quoted would be judically approved! But as long as we do not have such a legal descision there is a great risk that my scientific and artistical music work can freely be used due to the fact that I used a GPL licensed snippet for ceating the music scores - a risk, which I don't want to take. But even if I agreed with your position, then we both still have to conlude, that we can only distribute / hand over our LilyPond code under the terms of the GPL, if our code used a GPL licensed snippet. And even this is a strong side effect. with best regards Karsten > Carl Sorensen > > 1. https://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL > > > -- Karsten Reincke/\/\ (+49|0) 170 / 927 78 57 Im Braungeröll 31 >oo< mailto:k.rein...@fodina.de 60431 Frankfurt a.M. \/http://www.fodina.de/kr/
Re: LilyPond, LilyPond snippets and the GPL
On Wed, 2019-10-30 at 01:36 +0100, David Kastrup wrote: > Karsten Reincke writes: > > > [...] > > > > Hence, if I use a piece of software as library, snippet, or module, > > then I am using the advantage that I do not have to program that code > > by myself. I am saving costs and time. A very good indicator, that I am > > saving resources by using the prework of another programer, is the call > > of a function (or method or similar). Therefore, calling a function / > > method delivered by a GPL licensed software indicates that I create a > > derivative work and that the strong copyleft effect is triggered. > > Which would imply that distributing your LilyPond input combined with > OpenLilylib code would require licensing your LilyPond input under the > GPL. Yes, exactly. That's my point. > > It doesn't cover the output of running your LilyPond code, namely the > PDF. I am afraid that this statement does judicially not hold: LilyPond itself says that it works "[...] as a compiled system: [...] In some ways, LilyPond is more similar to a programming language [...]". Hence the viewpoint of Carl Sorensen seems to be valid: LilyPond is like the gcc. And even in case of the gcc, the copyleft effect does not cover the outpout (the compiled program). But in case of a GPL licensed LilyPond snippet (sic!), the copyleft effetc is triggered by the use of that snippet. And the GPLv3 is very clear: §4 and §5 require us also to distribute the code of the embedding / using work under the terms of th GPL. And - under the title "Conveying Non-Source Forms" - §6 requires us also to distribute our non-source forms under the terms of the GPL. Here, the analogy of gcc and Lilypond matches perfectly: As we are must distribute binaries which are compiled by the gcc on the base a GPL licensed source code, we must also distribute the binaries (png) which are compiled by LilyPond on the base of a GPL licensed LilyPond score description. It is exactly the same case. I regret to be the messenger of bad news. But there is a simple solution: Don't use GPL licensed LilyPond snippets, if wou want to keep you rights. And perhaps convince the OpenLilyLib developers to relicense their work. with best reagards Karsten -- Karsten Reincke/\/\ (+49|0) 170 / 927 78 57 Im Braungeröll 31 >oo< mailto:k.rein...@fodina.de 60431 Frankfurt a.M. \/http://www.fodina.de/kr/
Re: LilyPond, LilyPond snippets and the GPL
Dear Urs; many thanks for your clever thoughts! You brought up a very seductive argument, which I therefore will only summarize here for being sure that I've understood you correctly. May I condense your line of argumentation in the following way? You point out that there could be a function in a GPL licensed snippet which only modifies the apperance of a score. Such a function does not concern the music itself. And therefore, the copyleft effect is not applied of the music. Then it seems that you try to generalize your argumentation: Every piece of LilyPond code describing the music score does not not concern the music, but only the appearance. Hence the, the copyleft effect can not be applied to any results of the LilyPond compilation process (the pdfs, pngs, ...) Please tell me, whether I got your point or not. Again, it seems to seductive and I want to consider it a bit longer, before I will answer best regards karsten
Re: LilyPond, LilyPond snippets and the GPL
Sorry for being short: what you say is very much hiw I meant it but not all. I'll clarify later but am currently on the road. Maybe tonight of tomorrow. Am 30. Oktober 2019 12:09:37 MEZ schrieb Karsten Reincke : >Dear Urs; > >many thanks for your clever thoughts! You brought up a very seductive >argument, >which I therefore will only summarize here for being sure that I've >understood you >correctly. May I condense your line of argumentation in the following >way? > >You point out that there could be a function in a GPL licensed snippet >which only >modifies the apperance of a score. Such a function does not concern the >music >itself. And therefore, the copyleft effect is not applied of the music. > >Then it seems that you try to generalize your argumentation: Every >piece of >LilyPond code describing the music score does not not concern the >music, but only >the appearance. Hence the, the copyleft effect can not be applied to >any results >of the LilyPond compilation process (the pdfs, pngs, ...) > >Please tell me, whether I got your point or not. Again, it seems to >seductive and >I want to consider it a bit longer, before I will answer > >best regards karsten -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.
Re: LilyPond, LilyPond snippets and the GPL
Dear Elaine On Tue, 2019-10-29 at 18:13 -0700, Flaming Hakama by Elaine wrote: > [...] > It seems you think that, if you use code from the LSR as part of your input > files, that you are obligated to distribute both the input files and the > resulting PDF/MIDI files under the GPL. YES, if the LSR snippet was licensed under the GPL (In fact, the LSR snippets are not licensed under the GPL, they are Public Domain, I know!) > > One thing you state is clearly incorrect: "snippets are either linked into > the > main code using the command #include “ABC.ly”..." No, this is actually part > of > the reason why the openlilylib is structured the way it is, since the LSR is > explicitly NOT a library or set of libraries, and many people find that > annoying. openlilylib was started (as I understand it) by people who do want > a > libary-based approach, since the LSR approach encourages lots of duplication. I cannot say anything about the methods of OpenLilyLib - because I did not find any 'Hello World' example which I could compile on my machine (Ubuntu 19.10). (This is another topic, which I want to ignore in this context.) But at least without beside using OpenLilyLib you have to methods to use the LSR snippets: either you save the snippet in your file tree and insert an include directive into your code which takes the path to that file as an argument. Or you copy the snippet literally and directly into your code. > So, here we have the solution to your dilemma: don't copy them. Yeep, that's what I will do: as long as I am afraid to lose not only my LilyPond code (which I do not care), but the rights of my using scientific / musical work, I won't use any snippet which is license und er GPl. All other snippets are ok. And the LSR is a great help. > [...] Besides the debate about the letter of the law, then there is the > reality > check part. > > Which is to say, you seem to think that someone who voluntarily submitted > content to the LSR as "public domain" is going to turn around and state that, > because that language is either inaccurate, or does not hold relevance in > their > legal domain, they will take you to court to force you to comply with the > terms > and distribute both your input files and resulting PDFs, or desist in > distributing the work. Yes and No. No, because I do not believe, that contributors to the LSR, later on, change their mind or want to attack us due to an infringement based on the weakness of a local legal system (But can we really be sure? Do you know that we have a lot of patent trolls and meanwhile also GPL trolls, who invented a business model on suing users because of a non-compliant use of a GPL licensed program?) And yes, because I believe in good systems. And if we minimize the weakness of a system, then we should do that. The weakness of the LSR is, that Europe does not know the idea of 'public domain' (based on the principle, that you first have to claim your copyrights before you grant any rights). In Europe, nearly every work has a copyright owner. Hence every snippet contributed by a European citizen legally is not correctly contributed. This could be healed by using the CC0: It also talks about the public domain, but it explicitly grants all rights to the users without requiring any service in return. Best regards Karsten
Re: LilyPond, LilyPond snippets and the GPL
Karsten Reincke writes: > On Wed, 2019-10-30 at 01:36 +0100, David Kastrup wrote: >> Karsten Reincke writes: >> >> > [...] >> > >> > Hence, if I use a piece of software as library, snippet, or module, >> > then I am using the advantage that I do not have to program that code >> > by myself. I am saving costs and time. A very good indicator, that I am >> > saving resources by using the prework of another programer, is the call >> > of a function (or method or similar). Therefore, calling a function / >> > method delivered by a GPL licensed software indicates that I create a >> > derivative work and that the strong copyleft effect is triggered. >> >> Which would imply that distributing your LilyPond input combined with >> OpenLilylib code would require licensing your LilyPond input under the >> GPL. > Yes, exactly. That's my point. >> >> It doesn't cover the output of running your LilyPond code, namely the >> PDF. > > I am afraid that this statement does judicially not hold: > > LilyPond itself says that it works "[...] as a compiled system: [...] In some > ways, LilyPond is more similar to a programming language [...]". Hence the > viewpoint of Carl Sorensen seems to be valid: LilyPond is like the gcc. And > even > in case of the gcc, the copyleft effect does not cover the outpout (the > compiled > program). > > But in case of a GPL licensed LilyPond snippet (sic!), the copyleft effetc is > triggered by the use of that snippet. Why do you assume that? > And the GPLv3 is very clear: §4 and §5 require us also to distribute > the code of the embedding / using work under the terms of th GPL. Embedding is not the same as using. > And - under the title "Conveying Non-Source Forms" - §6 requires us > also to distribute our non-source forms under the terms of the GPL. It isn't a non-source form of the library but a non-source form of the input representation of the music. > Here, the analogy of gcc and Lilypond matches perfectly: As we are > must distribute binaries which are compiled by the gcc on the base a > GPL licensed source code, The copyright/licensing of GCC has nothing to do with the copyright/licensing of source code compiled with it. There is a special license clarification for stubs to be included in the binaries. However, LSR code as a rule is not included in the resulting PDF or Midi files. > we must also distribute the binaries (png) which are compiled by > LilyPond on the base of a GPL licensed LilyPond score description. It > is exactly the same case. The score description in question reflecting the content of the score is copyrighted by its author. Even when LilyPond was used for its preparation, its copyright does not affect independently created content. > I regret to be the messenger of bad news. But there is a simple > solution: Don't use GPL licensed LilyPond snippets, if wou want to > keep you rights. There is a difference between using _content_ of snippets and using _mechanisms_ of snippets. Apart from that, the list of snippets declares right at its start: LilyPond — Snippets *** This document shows a selected set of LilyPond snippets from the LilyPond Snippet Repository (http://lsr.di.unimi.it) (LSR). It is in the public domain. while the LilyPond Notation Reference is licensed under the GFDL. > And perhaps convince the OpenLilyLib developers to relicense their > work. I don't see the necessity as long as no _content_ of OpenLilyLib is redistributed as matters of its output. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
Karsten Reincke writes: > Many thanks for your comment. It contains an important hint. BUt it is a bit > apart > from my crucial point: > > I am not arguing that my LilyPond work (or a snippet) is covered by >the GPL because it is 'executed' by LilyPond. I argue that my code is >covered by the GPL if I use (include or copy) a GPL licensed >snippet. And if it is covered, then in accordance to the GPL §6 (title: >"Conveying Non-Source Forms") also the compiled version is covered by >the GPL. (BTW: even a picture is binary code which is interpreted) You are correct that you cannot license the source under any license other than the GPL if you are going to distribute it containing GPL licensed snippets (the LSR snippets are PD, the Notation Reference contents GFDL). But the PDF reflecting your source code is a derivative of the actual content-reflecting parts of the source code. Of which you are the copyright holder. So the solution is not to distribute your source code embedding GPLed elements. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
Am 30. Oktober 2019 12:45:06 MEZ schrieb Karsten Reincke : >Dear Elaine > >On Tue, 2019-10-29 at 18:13 -0700, Flaming Hakama by Elaine wrote: >> [...] >> It seems you think that, if you use code from the LSR as part of your >input >> files, that you are obligated to distribute both the input files and >the >> resulting PDF/MIDI files under the GPL. >YES, if the LSR snippet was licensed under the GPL (In fact, the LSR >snippets are >not licensed under the GPL, they are Public Domain, I know!) >> > >> One thing you state is clearly incorrect: "snippets are either >linked into the >> main code using the command #include “ABC.ly”..." No, this is >actually part of >> the reason why the openlilylib is structured the way it is, since the >LSR is >> explicitly NOT a library or set of libraries, and many people find >that >> annoying. openlilylib was started (as I understand it) by people who >do want a >> libary-based approach, since the LSR approach encourages lots of >duplication. > >I cannot say anything about the methods of OpenLilyLib - because I did >not find >any 'Hello World' example which I could compile on my machine (Ubuntu >19.10). >(This is another topic, which I want to ignore in this context.) > openLilyLib may be awfully underdocumented, but there are usage examples all over the place, really. I think every package or module has an example next to it or a usage-wxamples directory... >But at least without beside using OpenLilyLib you have to methods to >use the LSR >snippets: either you save the snippet in your file tree and insert an >include >directive into your code which takes the path to that file as an >argument. Or you >copy the snippet literally and directly into your code. > > >> So, here we have the solution to your dilemma: don't copy them. > >Yeep, that's what I will do: as long as I am afraid to lose not only my >LilyPond >code (which I do not care), but the rights of my using scientific / >musical work, >I won't use any snippet which is license und er GPl. All other snippets >are ok. >And the LSR is a great help. > >> [...] Besides the debate about the letter of the law, then there is >the reality >> check part. >> >> Which is to say, you seem to think that someone who voluntarily >submitted >> content to the LSR as "public domain" is going to turn around and >state that, >> because that language is either inaccurate, or does not hold >relevance in their >> legal domain, they will take you to court to force you to comply with >the terms >> and distribute both your input files and resulting PDFs, or desist in >> distributing the work. >Yes and No. > >No, because I do not believe, that contributors to the LSR, later on, >change their >mind or want to attack us due to an infringement based on the weakness >of a local >legal system (But can we really be sure? Do you know that we have a lot >of patent >trolls and meanwhile also GPL trolls, who invented a business model on >suing users >because of a non-compliant use of a GPL licensed program?) > >And yes, because I believe in good systems. And if we minimize the >weakness of a >system, then we should do that. The weakness of the LSR is, that Europe >does not >know the idea of 'public domain' (based on the principle, that you >first have to >claim your copyrights before you grant any rights). In Europe, nearly >every work >has a copyright owner. Hence every snippet contributed by a European >citizen >legally is not correctly contributed. This could be healed by using the >CC0: It >also talks about the public domain, but it explicitly grants all rights >to the >users without requiring any service in return. > >Best regards Karsten -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.
Re: LilyPond, LilyPond snippets and the GPL
Am 2019-10-30 um 13:06 schrieb David Kastrup : > > You are correct that you cannot license the source under any license > other than the GPL if you are going to distribute it containing GPL > licensed snippets (the LSR snippets are PD, the Notation Reference > contents GFDL). But the PDF reflecting your source code is a derivative > of the actual content-reflecting parts of the source code. Of which you > are the copyright holder. It’s the same if you publish a book using TeX: While original TeX is PD and some other parts have their own licenses, those never apply to the contents of your book or the PDF or printed version of it, because the code of TeX (or LilyPond) isn’t in there, it was just used to generate the result. (Same if you use OS software to generate graphics, videos etc.) A *program* that’s using open source code *contains* this code (in compiled form). On the other hand if I write a book *about* TeX and show a lot of its code or copy examples from the FDL-licensed documentation, my book also falls under that license. While the publisher can sell copies, we can’t prohibit users to make their own copies, becaus the book is derived work of the publicly available documentation. Greetlings, Hraban --- fiëé visuëlle Henning Hraban Ramm https://www.fiee.net
Re: LilyPond, LilyPond snippets and the GPL
On Wed, 2019-10-30 at 15:08 +0100, Henning Hraban Ramm wrote: > [...] > It’s the same if you publish a book using TeX: No, it isn't. > While original TeX is PD and some other parts have their own licenses, those > never apply to the contents of your book or the PDF or printed version of it, That's an unproven proposition > because the code of TeX (or LilyPond) isn’t in there, it was just used to > generate the result. (Same if you use OS software to generate graphics, videos > etc.) Not it isn't. Again - like others in this thread - you are mixing the cases a) The GCC, the TeX-engine, and LilyPond are programs, which take a piece of source code and compile the output (Binary, PDF, PNG). b) The licenses of these engines do not influence the licensing of the input or output. c) But if the gcc compiles a source code, which uses the prework of a GPL licensed library, snippet, or anything else, then - in accordance to the GPL-v3 §6 - the compiled program (binary) has also to be distributed under the terms of the GPL (strong copyleft effect). If you deny this statement, then you argue against the idea of the Free Software itself. d) If the TeX engine compiles a LaTeX source code, which uses the prework of a GPL licensed style or anything else, then indeed - in accordance to the GPL-v3 §6 (titled "Conveying Non-Source Forms"), the compiled result (the PDF etc.) has to be distributed under the terms of the GPL too. That's stated in and by the LaTex community (e.g. https://tex.stackexchange.com/questions/69007/the-gpl-and-latex-packages ). And that's the reason, why ctan mostly does not contain GPL licensed packages. e) If the LilyPond engine compiles a LilyPond music source code, which uses the prework of a GPL licensed LilyPond snippet, then - in accordance to the GPL-v3 §6 (titled "Conveying Non-Source Forms"), the compiled result (the PDF, PNG) has to be distributed under the terms of the GPL too. Why should c) and d) be valid, but not e)? You can't have and eat the cake. If we want to protect the 'biotope' of free and open source software from being misused and if we want that others respect the licensing rules, then at least we have to take the license texts as seriously as possible. They are not a hawker's tray from which we can take what we love and ignore the rest. With best regards Karsten
Re: LilyPond, LilyPond snippets and the GPL
On 10/30, Karsten Reincke wrote: > Here, the analogy of gcc and Lilypond matches perfectly: As we are > must distribute binaries which are compiled by the gcc on the base a > GPL licensed source code, we must also distribute the binaries (png) > which are compiled by LilyPond on the base of a GPL licensed LilyPond > score description. It is exactly the same case. The rational for the GCC exception is "These libraries are automatically used by the object code that GCC produces. Because of that, if these libraries were simply distributed only under the terms of the GPL, all the object code that GCC produces would have to be distributed under the same terms."[1] This does not apply here. A pdf generated by Lilypond does not automatically use any snippets of Lilypond code. A pdf reader can't even do anything with Lilypond code. You can distribute the pdf under any license you want. The GPL only comes into play if you distribute your Lilypond code. All of this is beside the point, though. The library that started this discussion (analysis) is for "graphical highlighting of musical analysis," which is probably not something you need in order to engrave and publish your music. It seems more likely that the purpose behind this FUD about the GPL is to put pressure on Urs to relicense of analysis so that you can use it in harmonyli without having to comply with the GPL. On 10/30, Karsten Reincke wrote: > RMS has invented the LGPL to ensure that free code stays free. (weak > copyleft effect). RMS intends the LGPL for libraries that do not provide any practical advantages over existing non-GPL'd alternatives.[2] The fact that you are complaining about the license instead of using a different library indicates that the license was probably chosen correctly. On 10/30, Karsten Reincke wrote: > I regret to be the messenger of bad news. But there is a simple > solution: Don't use GPL licensed LilyPond snippets, if wou want to > keep you rights. And perhaps convince the OpenLilyLib developers to > relicense their work. There it is. Mason [1] https://www.gnu.org/licenses/gcc-exception-3.1-faq.html [2] https://www.gnu.org/licenses/why-not-lgpl.html signature.asc Description: PGP signature
Re: LilyPond, LilyPond snippets and the GPL
On Wed, 2019-10-30 at 09:41 -0700, ma...@masonhock.com wrote: > On 10/30, Karsten Reincke wrote: > > Here, the analogy of gcc and Lilypond matches perfectly: As we are > > must distribute binaries which are compiled by the gcc on the base a > > GPL licensed source code, we must also distribute the binaries (png) > > which are compiled by LilyPond on the base of a GPL licensed LilyPond > > score description. It is exactly the same case. > > The rational for the GCC exception is "These libraries are automatically > used by the object code that GCC produces. Because of that, if these > libraries were simply distributed only under the terms of the GPL, all > the object code that GCC produces would have to be distributed under the > same terms."[1] > > This does not apply here. A pdf generated by Lilypond does not > automatically use any snippets of Lilypond code. A pdf reader can't > even do anything with Lilypond code. You can distribute the pdf under > any license you want. The GPL only comes into play if you distribute > your Lilypond code. > > All of this is beside the point, though. The library that started this > discussion (analysis) is for "graphical highlighting of musical > analysis," which is probably not something you need in order to engrave > and publish your music. It seems more likely that the purpose behind > this FUD about the GPL is to put pressure on Urs to relicense of > analysis so that you can use it in harmonyli without having to comply > with the GPL. > > On 10/30, Karsten Reincke wrote: > > RMS has invented the LGPL to ensure that free code stays free. (weak > > copyleft effect). > > RMS intends the LGPL for libraries that do not provide any practical > advantages over existing non-GPL'd alternatives.[2] The fact that you > are complaining about the license instead of using a different library > indicates that the license was probably chosen correctly. > > On 10/30, Karsten Reincke wrote: > > I regret to be the messenger of bad news. But there is a simple > > solution: Don't use GPL licensed LilyPond snippets, if wou want to > > keep you rights. And perhaps convince the OpenLilyLib developers to > > relicense their work. > > There it is. > > Mason Dear Mason; before you shoot, you should perhaps carefully read the line of argumentation: 1) I did not refer to the libstdc or anything else for which indeed the gcc runtime exception can be used. I am talking about the a bit abstract case of using a GPL licensed library or module or snippet as base of ones work compiled by the GCC to complere the analogy used by other participants of this discussion. 2) Your polemic attack is wrong and unfair. If you had read my posts carefully, you would know [and probably you know it, but withhold this aspect], that I offered URS already the opportunity to integrate my coming lib - licensed under the MIT license - into his OpenLIlyLib. I only refused and refuse to use any GPL licensed Lilypond snippet as 'module' / 'lib' for my own work. 3) And if you follow the thread thoroughly, you could also have known, that I was asked by Urs to take a look at OpenLilyLib instead of inventing the wheel twice. To reason why I can't do that is matter of courtesy. Hence it is complete misleading if you say that I a) want to enforce Urs to relicense his work b) do not want to develop my own snippet (I am doing that already) EOM KARSTN -- Karsten Reincke/\/\ (+49|0) 170 / 927 78 57 Im Braungeröll 31 >oo< mailto:k.rein...@fodina.de 60431 Frankfurt a.M. \/http://www.fodina.de/kr/
Re: LilyPond, LilyPond snippets and the GPL
On 10/30/19, 11:48 AM, "Karsten Reincke" wrote: 2) Your polemic attack is wrong and unfair. If you had read my posts carefully, you would know [and probably you know it, but withhold this aspect], that I offered URS already the opportunity to integrate my coming lib - licensed under the MIT license - into his OpenLIlyLib. I only refused and refuse to use any GPL licensed Lilypond snippet as 'module' / 'lib' for my own work. I am curious as to why you feel you cannot use any GPL licensed LilyPond snippet but you can use the GPL licensed lilypond itself. What about a snippet makes it more invasive in terms of the GPL than the original program? I don't understand. Carl
Re: LilyPond, LilyPond snippets and the GPL
From: Karsten Reincke Date: Wednesday, October 30, 2019 at 9:02 AM To: Henning Hraban Ramm , lilypond-user Cc: Subject: Re: LilyPond, LilyPond snippets and the GPL On Wed, 2019-10-30 at 15:08 +0100, Henning Hraban Ramm wrote: [...] It’s the same if you publish a book using TeX: No, it isn't. Actually, it is. While original TeX is PD and some other parts have their own licenses, those never apply to the contents of your book or the PDF or printed version of it, That's an unproven proposition In the TeX world, it may be unproven. In the GPL world, with the best legal advice the license creators could get, it is proven. See their FAQ. because the code of TeX (or LilyPond) isn’t in there, it was just used to generate the result. (Same if you use OS software to generate graphics, videos etc.) Not it isn't. Again - like others in this thread - you are mixing the cases Actually, I think you are mixing the cases. a) The GCC, the TeX-engine, and LilyPond are programs, which take a piece of source code and compile the output (Binary, PDF, PNG). b) The licenses of these engines do not influence the licensing of the input or output. c) But if the gcc compiles a source code, which uses the prework of a GPL licensed library, snippet, or anything else, then - in accordance to the GPL-v3 §6 - the compiled program (binary) has also to be distributed under the terms of the GPL (strong copyleft effect). If you deny this statement, then you argue against the idea of the Free Software itself. This is true, not because of the license of gcc, but because of the license of the program that is used by the gcc (the library). And it holds true because the output of gcc is a *program*, i.e., a piece of software executed by the computer to achieve desirable results. And it needs the four freedoms that the FSF cares about. d) If the TeX engine compiles a LaTeX source code, which uses the prework of a GPL licensed style or anything else, then indeed - in accordance to the GPL-v3 §6 (titled "Conveying Non-Source Forms"), the compiled result (the PDF etc.) has to be distributed under the terms of the GPL too. That's stated in and by the LaTex community (e.g. https://tex.stackexchange.com/questions/69007/the-gpl-and-latex-packages ). And that's the reason, why ctan mostly does not contain GPL licensed packages. That’s stated by one person in the LaTeX community, and only upvoted by 3 people in the LaTeX community. I suppose it creates a non-zero risk of having that argument upheld, and you are free to act according to that risk. Personally, I am sure that if somebody tried to sue a user demanding the application of GPL to the output of the TeX processing based on the usage of a GPL package, the FSF would get involved in the lawsuit. The FSF can’t afford to have this interpretation hold, because if this interpretation held up in court, nobody would ever license software by the GPL. And it’s clearly contrary to the stated intent of the GPL. Quoting from the GPL FAQ: Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free? (#GPLOutput<https://www.gnu.org/licenses/gpl-faq.html#GPLOutput>) In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert her own data, the copyright on the output belongs to her, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from. So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program. For instance, part of the output of Bison (see above) would be covered by the GNU GPL, if we had not made an exception in this specific case. You could artificially make a program copy certain text into its output even if there is no technical reason to do so. But if that copied text serves no practical purpose, the user could simply delete that text from the output and use only the rest. Then he would not have to obey the conditions on redistribution of the copied text. This says to me that you can consider LSR snippets as part of the code used to create music (any music, not just your specific music). You can then put your specific music in a separate file, with separate copyright. And the modified LilyPond (including the LSR snippets) is a derivative work of LilyPond, and has GPL rights, and you would be required to share all of that code. But the created music engraving (pdf, svg, or midi) is not a derivative work of LilyPond, but an output of the program lilypond, and cannot be restricted by the GPL, according to the FSF. e) If the LilyPon
Re: LilyPond, LilyPond snippets and the GPL
On 10/30, Karsten Reincke wrote: > 1) I did not refer to the libstdc or anything else for which indeed > the gcc runtime exception can be used. I am talking about the a bit > abstract case of using a GPL licensed library or module or snippet as > base of ones work compiled by the GCC to complere the analogy used by > other participants of this discussion. Okay, then GCC didn't need to be brought up at all. Sorry for misunderstanding. That said, a pdf generated by Lilypond still does not need to contain or use any Lilypond code. Users do not need to fear that they will "lose their rights" if they use a GPL'd snippet. > it is complete misleading if you say that I > > a) want to enforce Urs to relicense his work I'm not sure how else to interpret a call to "perhaps convince the OpenLilyLib developers to relicense their work." Mason signature.asc Description: PGP signature
Re: LilyPond, LilyPond snippets and the GPL
> On 30 Oct 2019, at 18:48, Carl Sorensen wrote: > >> In general this is legally impossible; copyright law does not give you any >> say in the use of the output people make from their data using your program. >> If the user uses your program to enter or convert her own data, the >> copyright on the output belongs to her, not you. More generally, when a >> program translates its input into some other form, the copyright status of >> the output inherits that of the input it was generated from. >> >> So the only way you have a say in the use of the output is if substantial >> parts of the output are copied (more or less) from text in your program. For >> instance, part of the output of Bison (see above) would be covered by the >> GNU GPL, if we had not made an exception in this specific case. >> >> You could artificially make a program copy certain text into its output even >> if there is no technical reason to do so. But if that copied text serves no >> practical purpose, the user could simply delete that text from the output >> and use only the rest. Then he would not have to obey the conditions on >> redistribution of the copied text. > > This says to me that you can consider LSR snippets as part of the code used > to create music (any music, not just your specific music). You can then put > your specific music in a separate file, with separate copyright. And the > modified LilyPond (including the LSR snippets) is a derivative work of > LilyPond, and has GPL rights, and you would be required to share all of that > code. But the created music engraving (pdf, svg, or midi) is not a > derivative work of LilyPond, but an output of the program lilypond, and > cannot be restricted by the GPL, according to the FSF. The snippets should be LGPL for being includable under other licenses, I believe, because the processed part remains in the output, and thus copyrightable. Thus, they play the same role as the Bison skeleton file and GCC libraries.
Re: LilyPond, LilyPond snippets and the GPL
> On 30 Oct 2019, at 22:14, Carl Sorensen wrote: > >>The snippets should be LGPL for being includable under other licenses, I >> believe, because the processed part remains in the output, and thus >> copyrightable. Thus, they play the same role as the Bison skeleton file and >> GCC libraries. > > What processed part remains in the output? The part of them that one includes in ones own code, if large enough to be copyrightable. If you just look at them and write something else, it does not matter.
Re: LilyPond, LilyPond snippets and the GPL
> On 30 Oct 2019, at 22:28, Carl Sorensen wrote: > >> On 10/30/19, 3:17 PM, "Hans Åberg" wrote: >> >>> On 30 Oct 2019, at 22:14, Carl Sorensen wrote: >>> >>>> The snippets should be LGPL for being includable under other licenses, I >>>> believe, because the processed part remains in the output, and thus >>>> copyrightable. Thus, they play the same role as the Bison skeleton file >>>> and GCC libraries. >>> >>> What processed part remains in the output? >> >>The part of them that one includes in ones own code, if large enough to >> be copyrightable. If you just look at them and write something else, it does >> not matter. > > How so? When I wrote fret-diagram code, and before it was accepted in the > distribution, it could be contained in an included .ly file. > > When the fret-diagram code was executed, no part of that code ended up in the > resulting PDF or PNG files. The fret-diagram code created ink at specified > locations; but the specified locations were not part of the code I wrote. > Instead they were generated by the interaction of the main lilypond > distribution with the music input I wrote. And the result was printed music > that matched my intent. If the music was original, the copyright was mine. > If I was transcribing music from another composer, the copyright remained > with the composer. > > The GPL had no influence on the copyright of the printed music. It depends on the snippet then: If it just processes, GPL suffices; if it is stuff that remains in the output albeit it processed form, it ought to be LPGL if one wants it to freely usable. The Bison skeleton file has stuff that part is copied verbatim, part processed with M4, and compiled with languages like C/C++, and the copyrightability remains through it all, that is why it is LGPL. LGPL would be simplest not having to working through all individual cases. But that is just my take on it.
Re: LilyPond, LilyPond snippets and the GPL
> On 30 Oct 2019, at 23:05, David Kastrup wrote: > > Hans Åberg writes: > >> The snippets should be LGPL for being includable under other licenses, >> I believe, because the processed part remains in the output, and thus >> copyrightable. Thus, they play the same role as the Bison skeleton >> file and GCC libraries. > > LSR snippets are public domain already. So then this is not an issue, but public domain means that it can be exploited in ways you may not approve of, therefore LGPL would be better. But I am not an expert on such matters.
Re: LilyPond, LilyPond snippets and the GPL
On 10/30/19, 3:10 PM, "Hans Åberg" wrote: > On 30 Oct 2019, at 18:48, Carl Sorensen wrote: > >> In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert her own data, the copyright on the output belongs to her, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from. >> >> So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program. For instance, part of the output of Bison (see above) would be covered by the GNU GPL, if we had not made an exception in this specific case. >> >> You could artificially make a program copy certain text into its output even if there is no technical reason to do so. But if that copied text serves no practical purpose, the user could simply delete that text from the output and use only the rest. Then he would not have to obey the conditions on redistribution of the copied text. > > This says to me that you can consider LSR snippets as part of the code used to create music (any music, not just your specific music). You can then put your specific music in a separate file, with separate copyright. And the modified LilyPond (including the LSR snippets) is a derivative work of LilyPond, and has GPL rights, and you would be required to share all of that code. But the created music engraving (pdf, svg, or midi) is not a derivative work of LilyPond, but an output of the program lilypond, and cannot be restricted by the GPL, according to the FSF. The snippets should be LGPL for being includable under other licenses, I believe, because the processed part remains in the output, and thus copyrightable. Thus, they play the same role as the Bison skeleton file and GCC libraries. What processed part remains in the output? Carl
Re: LilyPond, LilyPond snippets and the GPL
On 10/30/19, 3:17 PM, "Hans Åberg" wrote: > On 30 Oct 2019, at 22:14, Carl Sorensen wrote: > >>The snippets should be LGPL for being includable under other licenses, I believe, because the processed part remains in the output, and thus copyrightable. Thus, they play the same role as the Bison skeleton file and GCC libraries. > > What processed part remains in the output? The part of them that one includes in ones own code, if large enough to be copyrightable. If you just look at them and write something else, it does not matter. How so? When I wrote fret-diagram code, and before it was accepted in the distribution, it could be contained in an included .ly file. When the fret-diagram code was executed, no part of that code ended up in the resulting PDF or PNG files. The fret-diagram code created ink at specified locations; but the specified locations were not part of the code I wrote. Instead they were generated by the interaction of the main lilypond distribution with the music input I wrote. And the result was printed music that matched my intent. If the music was original, the copyright was mine. If I was transcribing music from another composer, the copyright remained with the composer. The GPL had no influence on the copyright of the printed music. Carl
Re: LilyPond, LilyPond snippets and the GPL
Hans Åberg writes: >> On 30 Oct 2019, at 18:48, Carl Sorensen wrote: >> >> This says to me that you can consider LSR snippets as part of the >> code used to create music (any music, not just your specific music). >> You can then put your specific music in a separate file, with >> separate copyright. And the modified LilyPond (including the LSR >> snippets) is a derivative work of LilyPond, and has GPL rights, and >> you would be required to share all of that code. But the created >> music engraving (pdf, svg, or midi) is not a derivative work of >> LilyPond, but an output of the program lilypond, and cannot be >> restricted by the GPL, according to the FSF. > > The snippets should be LGPL for being includable under other licenses, > I believe, because the processed part remains in the output, and thus > copyrightable. Thus, they play the same role as the Bison skeleton > file and GCC libraries. LSR snippets are public domain already. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
Hans Åberg writes: >> On 30 Oct 2019, at 23:05, David Kastrup wrote: >> >> Hans Åberg writes: >> >>> The snippets should be LGPL for being includable under other licenses, >>> I believe, because the processed part remains in the output, and thus >>> copyrightable. Thus, they play the same role as the Bison skeleton >>> file and GCC libraries. >> >> LSR snippets are public domain already. > > So then this is not an issue, but public domain means that it can be > exploited in ways you may not approve of, therefore LGPL would be > better. But I am not an expert on such matters. For the snippets, that is a reasonable compromise avoiding the user having reservations and headaches. They are more intended as starting points for your own documents than as cut&dry code. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
> On 30 Oct 2019, at 23:36, David Kastrup wrote: > > Hans Åberg writes: > >>> On 30 Oct 2019, at 23:05, David Kastrup wrote: >>> >>> Hans Åberg writes: >>> The snippets should be LGPL for being includable under other licenses, I believe, because the processed part remains in the output, and thus copyrightable. Thus, they play the same role as the Bison skeleton file and GCC libraries. >>> >>> LSR snippets are public domain already. >> >> So then this is not an issue, but public domain means that it can be >> exploited in ways you may not approve of, therefore LGPL would be >> better. But I am not an expert on such matters. > > For the snippets, that is a reasonable compromise avoiding the user > having reservations and headaches. They are more intended as starting > points for your own documents than as cut&dry code. As examples, I have also done that. So if everyone is happy with that, it is a non-issue.
Re: LilyPond, LilyPond snippets and the GPL
> On 30 Oct 2019, at 22:14, Carl Sorensen wrote: > >The snippets should be LGPL for being includable under other licenses, I > believe, because the processed part remains in the output, and thus > copyrightable. Thus, they play the same role as the Bison skeleton file and > GCC libraries. > > What processed part remains in the output? If say somebody makes a snippet on how to make special type of clef, then that is copyrightable, just as a font and its glyphs are, it would seem, and that copyright will remain if copy-and-pasted into user code.
Re: LilyPond, LilyPond snippets and the GPL
Since I was off for nearly a day there may well be aspects I missed when trying to read through the whole thread, but I have the feeling that some thoughts still haven't been expressed. Am 30.10.19 um 12:27 schrieb Urs Liska: Sorry for being short: what you say is very much hiw I meant it but not all. I'll clarify later but am currently on the road. Maybe tonight of tomorrow. Am 30. Oktober 2019 12:09:37 MEZ schrieb Karsten Reincke : Dear Urs; many thanks for your clever thoughts! You brought up a very seductive argument, which I therefore will only summarize here for being sure that I've understood you correctly. May I condense your line of argumentation in the following way? You point out that there could be a function in a GPL licensed snippet which only modifies the apperance of a score. Such a function does not concern the music itself. And therefore, the copyleft effect is not applied of the music. That is not fully to the point. What I mean is (and what others have expressed more succinctly) is that such a function (say my \diplomaticLineBreak) is a *tool* that you use to express some auctorial decision (whether artistic or scientific), and in that respect it is exactly equal to using \ottava or \accidentalStyle. Then it seems that you try to generalize your argumentation: Every piece of LilyPond code describing the music score does not not concern the music, but only the appearance. Hence the, the copyleft effect can not be applied to any results of the LilyPond compilation process (the pdfs, pngs, ...) No, I don't think that properly reflects my argument. One of the main issues we have at play here (and that has been discussed by others in this thread) is that tools like LilyPond and LaTeX blur the lines between source, program, and document. The arguments that are expressed *for* a requirement to license the PDF (etc.) files resulting from a LilyPond or LaTeX run are all based on the assumption that the graphical documents created like this are "comparable to the binary resulting from a compilation using a "typical" C compiler." I think (which others have stated earlier today) that the culprit here is that these arguments (e.g. when pointing to resources like https://www.gnu.org/licenses/gpl-faq.html#ModifiedJustBinary) assume that a "resulting PDF document" can be considered equivalent to a "resulting program" or "resulting software". It has been said several times: the PDF/PNG/SVG resulting from a LilyPond run is a document, not a program. The issue that makes this complicated is the fact that in LilyPond and LaTeX the "document" is expressed in the same domain (the .ly files and included files) as the software that produces it. This makes it somehow difficult to cleanly separate the domains I still argue that all the functionality that you can *use* to create your document is comceptually separate from the *content* of your document. I would argue that (except that the example is of course too small to be copyrightable) in a situation with % library.ily myFunction = trill % document.ly \include "library.ily" { c \myFunction } the content of library.ily is *code* while the content of document.ly is *content*, and you use library.ily to produce a document from your content. To use yet another analogy: this is like if you are using GIMP and a plugin, where the license of that plugin has no bearing on the licensing of the produced image file. Please tell me, whether I got your point or not. Again, it seems to seductive and I want to consider it a bit longer, before I will answer There's one more point, and I think that hasn't been brought up by anyone yet. At some point you say "You can't have and eat the cake." But that holds true for your approach as well. If you insist on the interpretation that the GPL used for a snippet or library forces you to also license your document with the GPL then this holds true for *any* document you compile with LilyPond. an LSR or openLilyLib snippet is technically and conceptually identical to LilyPond. Maybe you are not fully aware of how LilyPond works: * There is LilyPond as a binary that is executed within your operating system. * You can extend LilyPond's capabilities using the Scheme scripting language, which is done in the snippets we're talking about * BUT: LilyPond itself includes a ton of .scm and .ly files that are not part of LilyPond-as-a-compiler but actually "included" in the document, either implicitly by LilyPond's startup routine or explicitly from your input files (as I've exemplified in my previous post). These files and the functions provided by them are exactly the same as the functions you can copy from the LSR or include through openLily
Re: LilyPond, LilyPond snippets and the GPL
Urs: ... > One of the main issues we have at play here (and that has been discussed > by others in this thread) is that tools like LilyPond and LaTeX blur the > lines between source, program, and document. > > The arguments that are expressed *for* a requirement to license the PDF > (etc.) files resulting from a LilyPond or LaTeX run are all based on the > assumption that the graphical documents created like this are > "comparable to the binary resulting from a compilation using a "typical" > C compiler." I think (which others have stated earlier today) that the > culprit here is that these arguments (e.g. when pointing to resources > like https://www.gnu.org/licenses/gpl-faq.html#ModifiedJustBinary) > assume that a "resulting PDF document" can be considered equivalent to a > "resulting program" or "resulting software". It has been said several > times: the PDF/PNG/SVG resulting from a LilyPond run is a document, not > a program. ... Just to provide a data point... As I work with postscript files, the result is certaintly a program. Also files (at least one) from the lilypond distribution are included verbatim in the output (I.ps is just one file created using lilypond). // $ fgrep -a -A10 'procset (music-drawing-routines.ps)' I.ps %%BeginResource: procset (music-drawing-routines.ps) 1 0 %!PS-Adobe-2.0 % % Functions for direct and embedded PostScript % Careful with double % as comment prefix. % Any %%X comment is interpreted as DSC comments. % TODO: use dicts or prefixes to prevent namespace pollution. /pdfmark where // $ head -10 /Net/git/lilypond/ps/music-drawing-routines.ps %!PS-Adobe-2.0 % % Functions for direct and embedded PostScript % Careful with double % as comment prefix. % Any %%X comment is interpreted as DSC comments. % TODO: use dicts or prefixes to prevent namespace pollution. /pdfmark where // Regards, /Karl Hammar
Re: LilyPond, LilyPond snippets and the GPL
On 10/30/19, 5:13 PM, "Hans Åberg" wrote: > On 30 Oct 2019, at 22:14, Carl Sorensen wrote: > >The snippets should be LGPL for being includable under other licenses, I believe, because the processed part remains in the output, and thus copyrightable. Thus, they play the same role as the Bison skeleton file and GCC libraries. > > What processed part remains in the output? If say somebody makes a snippet on how to make special type of clef, then that is copyrightable, just as a font and its glyphs are, it would seem, and that copyright will remain if copy-and-pasted into user code. In the US, a typeface is not copyrightable. But a computer program that makes a font or its glyphs is copyrightable. I can see your argument here. But if this argument is true, then it seems that all music set with LilyPond is GPL3, because the code for drawing beams, stems, staff lines, and straight flags is in LilyPond and is licensed under GPL3. I find it very hard to believe that this is true. And certainly, as far as the FSF is concerned, this is not true. Carl
Re: LilyPond, LilyPond snippets and the GPL
> On 31 Oct 2019, at 03:15, Carl Sorensen wrote: > >> On 10/30/19, 5:13 PM, "Hans Åberg" wrote: >> >>> On 30 Oct 2019, at 22:14, Carl Sorensen wrote: >>> >>> The snippets should be LGPL for being includable under other licenses, I >>> believe, because the processed part remains in the output, and thus >>> copyrightable. Thus, they play the same role as the Bison skeleton file and >>> GCC libraries. >>> >>> What processed part remains in the output? >> >>If say somebody makes a snippet on how to make special type of clef, then >> that is copyrightable, just as a font and its glyphs are, it would seem, and >> that copyright will remain if copy-and-pasted into user code. > > In the US, a typeface is not copyrightable. But a computer program that > makes a font or its glyphs is copyrightable. I can see your argument here. > But if this argument is true, then it seems that all music set with LilyPond > is GPL3, because the code for drawing beams, stems, staff lines, and > straight flags is in LilyPond and is licensed under GPL3. I find it very > hard to believe that this is true. And certainly, as far as the FSF is > concerned, this is not true. All those parts should be LGPL, and also included headers, I believe: Not GPL, because that would legal technically force copyright limitations on the output, and not public domain, because then one could exploit the inputs in ways you do not want. But check with the experts.
Re: LilyPond, LilyPond snippets and the GPL
Hans Åberg writes: >> On 31 Oct 2019, at 03:15, Carl Sorensen wrote: >> >>> On 10/30/19, 5:13 PM, "Hans Åberg" wrote: >>> >>>> On 30 Oct 2019, at 22:14, Carl Sorensen wrote: >>>> >>>> The snippets should be LGPL for being includable under other >>>> licenses, I believe, because the processed part remains in the >>>> output, and thus copyrightable. Thus, they play the same role as >>>> the Bison skeleton file and GCC libraries. >>>> >>>> What processed part remains in the output? >>> >>>If say somebody makes a snippet on how to make special type of >>> clef, then that is copyrightable, just as a font and its glyphs >>> are, it would seem, and that copyright will remain if >>> copy-and-pasted into user code. >> >> In the US, a typeface is not copyrightable. But a computer program >> that makes a font or its glyphs is copyrightable. I can see your >> argument here. But if this argument is true, then it seems that all >> music set with LilyPond is GPL3, because the code for drawing beams, >> stems, staff lines, and straight flags is in LilyPond and is >> licensed under GPL3. I find it very hard to believe that this is >> true. And certainly, as far as the FSF is concerned, this is not >> true. > > All those parts should be LGPL, and also included headers, I believe: > Not GPL, because that would legal technically force copyright > limitations on the output, and not public domain, because then one > could exploit the inputs in ways you do not want. But check with the > experts. I think this kind of stuff should just be exempt from licensing (namely declared public domain) like stub code in GCC. It doesn't survive into PDF anyway (since PDF is not programmable and so the PostScript-to-PDF conversion executes the code in question rather than converting it) and it is very unusual to distribute PostScript these days instead of executing it right away in the form of some document processing workflow. So that is indeed something that would warrant getting separate appropriate licensing attention, but in most use cases it would end up not being relevant since there are few workflows where a PostScript file ends up as something to be distributed. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
> On 31 Oct 2019, at 21:31, David Kastrup wrote: > >> All those parts should be LGPL, and also included headers, I believe: >> Not GPL, because that would legal technically force copyright >> limitations on the output, and not public domain, because then one >> could exploit the inputs in ways you do not want. But check with the >> experts. > > I think this kind of stuff should just be exempt from licensing (namely > declared public domain) like stub code in GCC. It doesn't survive into > PDF anyway (since PDF is not programmable and so the PostScript-to-PDF > conversion executes the code in question rather than converting it) and > it is very unusual to distribute PostScript these days instead of > executing it right away in the form of some document processing > workflow. > > So that is indeed something that would warrant getting separate > appropriate licensing attention, but in most use cases it would end up > not being relevant since there are few workflows where a PostScript file > ends up as something to be distributed. It is only a problem if code survives in the output and is copyrightable. Like glyph designs, for example, there are in the works new microtonal accidentals, the design of which I figure would be copyrightable, and take a long time to develop. Would you want them to be in the public domain? It would mean that the design could be exploited freely without acknowledgement. With LGPL, any altered design must have the same license, but the glyphs can be used freely in publications.
Re: LilyPond, LilyPond snippets and the GPL
Hans Åberg writes: >> On 31 Oct 2019, at 21:31, David Kastrup wrote: >> >>> All those parts should be LGPL, and also included headers, I believe: >>> Not GPL, because that would legal technically force copyright >>> limitations on the output, and not public domain, because then one >>> could exploit the inputs in ways you do not want. But check with the >>> experts. >> >> I think this kind of stuff should just be exempt from licensing (namely >> declared public domain) like stub code in GCC. It doesn't survive into >> PDF anyway (since PDF is not programmable and so the PostScript-to-PDF >> conversion executes the code in question rather than converting it) and >> it is very unusual to distribute PostScript these days instead of >> executing it right away in the form of some document processing >> workflow. >> >> So that is indeed something that would warrant getting separate >> appropriate licensing attention, but in most use cases it would end up >> not being relevant since there are few workflows where a PostScript file >> ends up as something to be distributed. > > It is only a problem if code survives in the output and is > copyrightable. Like glyph designs, for example, there are in the works > new microtonal accidentals, the design of which I figure would be > copyrightable, and take a long time to develop. Would you want them to > be in the public domain? It would mean that the design could be > exploited freely without acknowledgement. With LGPL, any altered > design must have the same license, but the glyphs can be used freely > in publications. If I remember correctly, our fonts have already been relicensed under some typical free font license several years ago. -- David Kastrup
Re: LilyPond, LilyPond snippets and the GPL
> On 31 Oct 2019, at 22:10, David Kastrup wrote: > > Hans Åberg writes: > >>> On 31 Oct 2019, at 21:31, David Kastrup wrote: >>> All those parts should be LGPL, and also included headers, I believe: Not GPL, because that would legal technically force copyright limitations on the output, and not public domain, because then one could exploit the inputs in ways you do not want. But check with the experts. >>> >>> I think this kind of stuff should just be exempt from licensing (namely >>> declared public domain) like stub code in GCC. It doesn't survive into >>> PDF anyway (since PDF is not programmable and so the PostScript-to-PDF >>> conversion executes the code in question rather than converting it) and >>> it is very unusual to distribute PostScript these days instead of >>> executing it right away in the form of some document processing >>> workflow. >>> >>> So that is indeed something that would warrant getting separate >>> appropriate licensing attention, but in most use cases it would end up >>> not being relevant since there are few workflows where a PostScript file >>> ends up as something to be distributed. >> >> It is only a problem if code survives in the output and is >> copyrightable. Like glyph designs, for example, there are in the works >> new microtonal accidentals, the design of which I figure would be >> copyrightable, and take a long time to develop. Would you want them to >> be in the public domain? It would mean that the design could be >> exploited freely without acknowledgement. With LGPL, any altered >> design must have the same license, but the glyphs can be used freely >> in publications. > > If I remember correctly, our fonts have already been relicensed under > some typical free font license several years ago. That is good. I merely wanted to illustrate the principle, that some stuff may survive into the output in copyrightable form. The most explicit example I have in my mind is the Bison skeleton file that originally was mostly verbatim, but now is processed using M4, and needs to be LGPL, not GPL, nor public domain.
Re: LilyPond, LilyPond snippets and the GPL
> Am 2019-10-31 um 03:15 schrieb Carl Sorensen : > > In the US, a typeface is not copyrightable. But a computer program that > makes a font or its glyphs is copyrightable. The "program code" of fonts is juristically not regarded a program, because it is usually auto-generated by a design tool. And the design of a font is not copyrightable in some legislations (e.g. Germany), because it’s regarded craftmanship and not art, because letters have to adhere to traditions to be readable. In other legislations (e.g. UK) the craftmanship of the design *is* copyrightable (see “sweat of the brow”). If the design of the letters would be regarded art, a license would be necessary for every single use of a letter! The copyright and licensing of fonts is a really complicated matter that I won’t cover here; you can look it up in Wikipedia. There is an international treaty about the copyright on fonts, but since it was not ratified by enough countries it’s not effective. BTW there is _no_ copyright on the design of sheet music, even if some music publishers claim it. LilyPond-generated PostScript code I see equivalent to the generation of fonts. But it might be juristically critical that code snippets get included in that PostScript code. While publishing of LilyPond source files –and apparently also LilyPond-generated PostScript– touches the copyright of the musical content as well as the copyright of the code (included in LilyPond’s distribution or from other sources), publishing of PDF and MIDI files regards only the copyright of the contents, since there is no LP code left in them. Greetlings, Hraban --- fiëé visuëlle Henning Hraban Ramm https://www.fiee.net
Re: LilyPond, LilyPond snippets and the GPL
On 01/11/2019 10:45, Henning Hraban Ramm wrote: > > > BTW there is _no_ copyright on the design of sheet music, even if some music > publishers claim it. > This depends upon the country. In the UK: "The typographical arrangement of a published edition lasts for 25 years from first publication". See Copyright Notice Number: 6/2016 at https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/554033/Copyright_Notice_Printed_Music.pdf As the notice explains: "For example, the copyright in music by Ludwig van Beethoven is no longer protected by copyright, but editions of his work published in the last 25 years will have their typographical arrangement protected by the publisher, and modern editions, adaptations or arrangements of his work may still be protected by copyright for life of the adapter or arranger plus 70 years". Since most UK law is set by Brussels you need to carefully check the position in any EU country, it's likely to be the same. > > > Greetlings, Hraban > --- > fiëé visuëlle > Henning Hraban Ramm > https://www.fiee.net -- J Martin Rushton MBCS signature.asc Description: OpenPGP digital signature
Re: LilyPond, LilyPond snippets and the GPL
> Am 2019-11-01 um 12:16 schrieb J Martin Rushton > : > > On 01/11/2019 10:45, Henning Hraban Ramm wrote: >> BTW there is _no_ copyright on the design of sheet music, even if some music >> publishers claim it. > > This depends upon the country. In the UK: "The typographical > arrangement of a published edition lasts for 25 years from first > publication". See Copyright Notice Number: 6/2016 at > https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/554033/Copyright_Notice_Printed_Music.pdf Ah, ok, then this is subject to the “sweat of the brow” concept. My statement is only valid for Germany. Greetlings, Hraban --- fiëé visuëlle Henning Hraban Ramm https://www.fiee.net
Re: [ANN] lilypond-kde4, base lilypond package
2008/11/8 Wilbert Berendsen <[EMAIL PROTECTED]>: > I just released a basic package for lilypond editing under KDE 4.1+ Hi Wilbert, wonderful! I'll have a look right away. > - three icons for LilyPond documents, based on oxygen, crystalsvg and one > neutral one, based on the LilyPond note XPM icon, converted to SVG. I hope you've also had a look at the icon I drew at http://lists.gnu.org/archive/html/lilypond-devel/2008-09/msg2.html :-) Cheers, Valentin ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [ANN] lilypond-kde4, base lilypond package
Op zaterdag 8 november 2008, schreef Valentin Villenave: > I hope you've also had a look at the icon I drew at > http://lists.gnu.org/archive/html/lilypond-devel/2008-09/msg2.html Yes! I used the same approach. Your oxygen variant is even better, with the shadowed note! :-) best regards, Wilbert Berendsen -- LilyKDE, LilyPond for KDE: http://lilykde.googlecode.com/ ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [ANN] lilypond-kde4, base lilypond package
2008/11/9 Wilbert Berendsen <[EMAIL PROTECTED]>: > Yes! I used the same approach. Your oxygen variant is even better, with the > shadowed note! :-) Feel free to use it :) Well, I have compiled and installed it, it runs fine (though it currently doesn't do much, I can't wait to see the full lilykde ported!). You should mention, though, that if you want to compile it you have to install the -devel libraries for kde4 (under Mandriva, I had to install the task-kde4-devel metapackage, which took more than 500 Mo of hard drive space). Cheers, Valentin ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
emacs LilyPond-mode and lilypond-templates package
Last year I put together a package of templates to make it easy to use the templates in the documentation. I tried to make it easy to install. As you know LilyPond is a moving target but they still work for me as they stand. They may prove useful to others. I know I had a great deal of fun putting them together. They can be found at http://code.google.com/p/lilypond-templates/downloads/list I put them up at google-code so that they didn't just disappear but to my surprise, someone has actually downloaded them. I decided that I would let people on the list know they existed. Let me know if they are of value and how they can be improved. If it is within my skill, I will have a go at them. Shelagh ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond 2.10.17-1: lilypond-book ImportError
You explicitly called lilypond-book. I suspect you do not have the bin directory in your PATH. lilypond-book reads your PATH to find where lilylib is located. Your path should look like this: PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:.:/opt/ local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/ bin:/bin:/sbin:/usr/bin:/usr/sbin:/Applications/LilyPond.app/Contents/ Resources/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple- darwin-current I do this by adding the following two lines to my /etc/profile file: PATH="$PATH:/Applications/LilyPond.app/Contents/Resources/bin" export PATH There are more elegant ways of doing this, but this works. Good luck! Fred Leason On Feb 15, 2007, at 11:02 AM, nicola wrote: Hi, when executing lilypond-book contained in Lilypond.app (Mac OS X), I get the following error: Traceback (most recent call last): File "/Applications/TeX/LilyPond.app/Contents/Resources/bin/lilypond-book", line 44, in ? import lilylib as ly ImportError: No module named lilylib Is some file missing from the distribution? Nicola ___ 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 2.10.17-1: lilypond-book ImportError
In article <[EMAIL PROTECTED]>, Fred Leason <[EMAIL PROTECTED]> wrote: > You explicitly called lilypond-book. I suspect you do not have the > bin directory in your PATH. lilypond-book reads your PATH to find > where lilylib is located. Your path should look like this: > > PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:.:/opt/ > local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/ > bin:/bin:/sbin:/usr/bin:/usr/sbin:/Applications/LilyPond.app/Contents/ > Resources/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple- > darwin-current My PATH variable *does* contain the path to LilyPond.app/Contents/Resources/bin. I find lilylib in LilyPond.app/Contents/Resources/share/lilypond/current/python/ Maybe, some other environment variable must be set? I would like to point out that in previous versions (e.g., 2.8) I used to run lilypond-book in the same way and it worked fine. Nicola > > On Feb 15, 2007, at 11:02 AM, nicola wrote: > > > Hi, > > when executing lilypond-book contained in Lilypond.app (Mac OS X), > > I get > > the following error: > > > > Traceback (most recent call last): > > File > > "/Applications/TeX/LilyPond.app/Contents/Resources/bin/lilypond-book", > > line 44, in ? > > import lilylib as ly > > ImportError: No module named lilylib > > > > Is some file missing from the distribution? > > > > Nicola > > > > > > > > ___ > > 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 2.10.17-1: lilypond-book ImportError
Hi, I get an (to me) similar error when I try to execute syntax-update, unfortunatly it did not help, but maybe its the same issue? see the mail below: ole I've pasted the whole text at the end of my convert-ly file: (pasted text:) datadir = '/usr/share/lilypond/2.10.13' if not os.path.isdir (datadir): datadir = '/usr/share/lilypond/2.10.13' sys.path.insert (0, os.path.join (datadir, 'python')) # dynamic relocation, for GUB binaries. bindir = os.path.abspath (os.path.split (sys.argv[0])[0]) for p in ['share', 'lib']: datadir = os.path.abspath (bindir + '/../%s/lilypond/current/ python/' % p) sys.path.insert (0, datadir) -- still getting the same error warning. ole Am 04.02.2007 um 18:39 schrieb Stan Sanderson: On Feb 4, 2007, at 8:11 AM, Ole Schmidt wrote: Hi Trevor, When I try to use convert-ly via the terminal (I am using Mac OS X 10.4.8) or via Lilypond / Compile-menu/ Update syntax, I get the following error message: --- Traceback (most recent call last): File "/Applications/LilyPond.app/Contents/Resources/bin/convert- ly", line 22, in ? import lilylib as ly ImportError: No module named lilylib --- This happens with both versions 2.11.15-1 and 2.10.15-1 what is wrong? Ole- I posted this a couple of days ago... Werner's suggestion led me to compare the convert-ly scripts in a copy of 2.10.13 and 2.10.15. The path for MacOS is LilyPond.app -> Contents -> Resources -> bin -> convert-ly . The following lines were missing in 2.10.15: datadir = '/usr/share/lilypond/2.10.13' if not os.path.isdir (datadir): datadir = '/usr/share/lilypond/2.10.13' sys.path.insert (0, os.path.join (datadir, 'python')) # dynamic relocation, for GUB binaries. bindir = os.path.abspath (os.path.split (sys.argv[0])[0]) for p in ['share', 'lib']: datadir = os.path.abspath (bindir + '/../%s/lilypond/current/ python/' % p) sys.path.insert (0, datadir) I copied, then pasted them into the 2.10.15 convert-ly script, then changed the occurrences of "2.10.13" to "2.10.15" in the copied text. All is well until 2.10/11. 16 comes outl Stan Am 16.02.2007 um 10:07 schrieb nicola: In article <[EMAIL PROTECTED]>, Fred Leason <[EMAIL PROTECTED]> wrote: You explicitly called lilypond-book. I suspect you do not have the bin directory in your PATH. lilypond-book reads your PATH to find where lilylib is located. Your path should look like this: PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:.:/ opt/ local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/ bin:/bin:/sbin:/usr/bin:/usr/sbin:/Applications/LilyPond.app/ Contents/ Resources/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple- darwin-current My PATH variable *does* contain the path to LilyPond.app/Contents/Resources/bin. I find lilylib in LilyPond.app/Contents/Resources/share/lilypond/current/python/ Maybe, some other environment variable must be set? I would like to point out that in previous versions (e.g., 2.8) I used to run lilypond-book in the same way and it worked fine. Nicola On Feb 15, 2007, at 11:02 AM, nicola wrote: Hi, when executing lilypond-book contained in Lilypond.app (Mac OS X), I get the following error: Traceback (most recent call last): File "/Applications/TeX/LilyPond.app/Contents/Resources/bin/lilypond- book", line 44, in ? import lilylib as ly ImportError: No module named lilylib Is some file missing from the distribution? Nicola _______ 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 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond 2.10.17-1: lilypond-book ImportError
Nicola: I know I had the same problem before. It may be a problem with the distribution of 2.10.17-1. I am using 2.11.13. Open up lilypond- book and look for the code that precedes the "import lilylib as ly". Mine looks like this: os.environ['PATH'] = bindir + os.pathsep + os.environ['PATH'] for p in ['share', 'lib']: datadir = os.path.abspath (bindir + '/../%s/lilypond/current/ python/' % p) sys.path.insert (0, datadir) import lilylib as ly It is adding LilyPond.app/Contents/Resources/share/lilypond/current/python/ into the path. if there is a space between the current/ and python/ in the 3rd line above, then the path is not being changed correctly. That is the case with Ole's post from 2.10.13. You could either eliminate the space, or put the lilypond/current/ python/ directly in your path. Or, I know it works in 2.11.13. Good luck. On Feb 16, 2007, at 3:07 AM, nicola wrote: In article <[EMAIL PROTECTED]>, Fred Leason <[EMAIL PROTECTED]> wrote: You explicitly called lilypond-book. I suspect you do not have the bin directory in your PATH. lilypond-book reads your PATH to find where lilylib is located. Your path should look like this: PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:.:/ opt/ local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/ bin:/bin:/sbin:/usr/bin:/usr/sbin:/Applications/LilyPond.app/ Contents/ Resources/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple- darwin-current My PATH variable *does* contain the path to LilyPond.app/Contents/Resources/bin. I find lilylib in LilyPond.app/Contents/Resources/share/lilypond/current/python/ Maybe, some other environment variable must be set? I would like to point out that in previous versions (e.g., 2.8) I used to run lilypond-book in the same way and it worked fine. Nicola On Feb 15, 2007, at 11:02 AM, nicola wrote: Hi, when executing lilypond-book contained in Lilypond.app (Mac OS X), I get the following error: Traceback (most recent call last): File "/Applications/TeX/LilyPond.app/Contents/Resources/bin/lilypond- book", line 44, in ? import lilylib as ly ImportError: No module named lilylib Is some file missing from the distribution? Nicola ___ 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 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond 2.6: problems with lilypond-pdfpc-helper
I've installed 2.6 using the autopackage on Ubuntu Linux. There's problems with lilypond-pdfpc-helper. This links to lilypond-pdfpc-helper-2.6.0, which attempts to run lilypond-pdfpc-helper-bin-2.6.0. lilypond-pdfpc-helper-bin-2.6.0 doesn't exist, so no point-and-click... looks an interesting release apart from that, I'm looking forward to playing with it... Rachel ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond 2.6: problems with lilypond-pdfpc-helper
I've installed 2.6 using the autopackage on Ubuntu Linux. There's problems with lilypond-pdfpc-helper. This links to lilypond-pdfpc-helper-2.6.0, which attempts to run lilypond-pdfpc-helper-bin-2.6.0. lilypond-pdfpc-helper-bin-2.6.0 doesn't exist, so no point-and-click... looks an interesting release apart from that, I'm looking forward to playing with it... Rachel ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond-book and different versions of Lilypond
I'm writing something like a book of cello exercises, with a lot of short music fragments and some text. I find a combination of LaTeX and Lilypond-book a perfect tool for my work, at least in theory. However, there are some problems in practice. Using Lilypond version 2.0.1 with Fedora Core 1 Linux, I have produced more than 200 pages of output so far. It looks quite nice, but not perfect, as you can see from this sample: http://razor.arnes.si/~bkuzma1/lily/romberg-fedora2-0-1.ps . Beside the fact that the default staff size is a bit small, there are two very bothering things: - unacceptable collision among fingering marks and slurs - wrong font for fingering marks in smaller staffs. I knew 2.1.x versions improved Lilypond's output in several ways, but as my files might be incompatible, I hesitated to update my Lily at first. Now I've installed the latest Lilypond 2.1.28 Cygwin package in Windows, keeping the untouched 2.0.1 version running in Linux. Of course, when I tried to process my files with the new version, there were many problems. For instance, lilypond-book send many compatibility warnings and even stopped in the middle of processing longer files (was this a cygwin or a lilypond problem?). Finally I've isolated the same sample page as before. After succesful lily-book processing, I ignored some errors at latex processing to get this:http://razor.arnes.si/~bkuzma1/lily/romberg-cygwin2-2-28.ps. You can see in the new sample: - the default staff size is bigger (and actualy looks much better), - fingering marks have proper font in all staves (which is also good), - some linebreaks got lost (which is bad, but can probably be easily repaired), - width of fragments is totally wrong (why?), - the collision among fingering marks and slurs isn't any better as before, The questions I have are the following: - Was the "wrong font for fingering in small staff sizes" just a 2.0.1 bug, which is now fixed? - Is there a way to avoid the collision among fingering marks and slurs? Does it depend on version I use? - I know it is possible to tell lilypond to process .ly files as version 2.0.1. Can I also tell lilypond-book to process everything in a file as 2.0.1 version, and get the same output as before? - Were the errors in latex processing caused because of incompatibility of Linux and Cygwin TeTeX packages, or is something wrong with lilypond-book? If anyone wants to play around with the input file to suggest me some other improvements, here is http://razor.arnes.si/~bkuzma1/lily/romberg.tex . With regards from Slovenia, Bostjan Kuzman ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
Lilypond-book and different versions of Lilypond
[EMAIL PROTECTED] writes: > If anyone wants to play around with the input file to suggest me some > other improvements, here is > http://razor.arnes.si/~bkuzma1/lily/romberg.tex . why are you writing \translator { whichBar = #"" } whichBar is unset after every note. -- Han-Wen Nienhuys | [EMAIL PROTECTED] | http://www.xs4all.nl/~hanwen ___ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user
emacs lilypond-mode broken for lilypond-snapshot?
When I load a .ly file after installing lilypond-snapshot I get: File mode specification error: (file-error "Cannot open load file" " lilypond-mode") Debian unstable. Thanks again for these packages. Paul Scott ___ lilypond-user mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond-book error, Unknown-file, lilypond-main
I cannot get lilypond to run the lilypond-book.itely example. It is NOT the screech-boink example which ends up clear and crisp. Version: 2.5.0 (same as 2.4.0 I assume) The most important here is the information of errormessages. The backtrace, I mean, doesn't give much help as to what is wrong. I have tried other small examples of lilybook syntax because I would really like to work with it, instead of photocopying poorly written music examples. My small examples work well, but I need the features of the bigger examples. Is it the lilypond-book.itely example which is "sick"? It says itself, in a comment, that there are another documentation about the same and that it needs clean up etc. Or is this a bug in the lilypond-book program? Processing "Documentation/user/introduction.itely" comes out with same msg: In unknown file: ?: 0* [lilypond-main ("lily-812241671" "lily-294177649" "lily-1071717568" ...)] Regards - and thanks for all the help hitherto! === Output from running lilypond-book: pluto:/hjem/lily/lbook #lilypond-book -o ubuk lilypond-book.itely /usr/local/bin/lilypond-book (GNU LilyPond) 2.5.0 Reading lilypond-book.itely... Dissecting... Writing snippets... Processing... Running lilypond... Now processing `lily-893666954.ly' Parsing... lily-893666954.ly:14:19: error: syntax error, unexpected '-': linewidth = None - 2.0 * 0.4\in Interpreting music... [1] Preprocessing graphical objects... Calculating line breaks... Backtrace: In unknown file: ?: 0* [lilypond-main ("lily-893666954" "lily-331325452" "lily-1338510005" ...)] In /usr/local/share/lilypond/2.5.0/scm/lily.scm: 606: 1* (let* ((failed #) (handler #)) (for-each (lambda # #) files) ...) 608: 2* [for-each # #] In /usr/share/guile/1.6/srfi/srfi-1.scm: 652: 3 (if (null? rest) (letrec ((lp #)) (lp list1)) ...) ... 656: 4 (begin (f (car l)) (lp (cdr l))) 657: 5* [# "lily-893666954"] In /usr/local/share/lilypond/2.5.0/scm/lily.scm: 610: 6 [catch ly-file-failed # #] In unknown file: ?: 7* [#] In /usr/local/share/lilypond/2.5.0/scm/lily.scm: 610: 8* [ly:parse-file "lily-893666954"] In unknown file: ?: 9* [# # #] In lily-893666954.ly: 2: 10* [ly:parser-print-score # #] lily-893666954.ly:2:32: In procedure ly_scm2double in expression (ly:parser-print-score p (ly:music-scorify m p)): lily-893666954.ly:2:32: Wrong type argument: "None" /usr/local/bin/lilypond-book: error: Process /usr/local/bin/lilypond -f tex -I /hjem/lily/lbook exited unsuccessfully. Removing `ubuk/lilypond-book.texi' pluto:/hjem/lily/lbook # -- dax2-tele2adsl:dk -- d-axel.dk/ Donald Axel ___ lilypond-user mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using Lilypond as a Lilypond preprocessor.
Citerar Darius Blasband <[EMAIL PROTECTED]>: > Hi, > > I think it might be a good idea for Lilypond to provide a facility > which, based on an input file, provides > a normalized intermediate file which is itself a valid Lilypond file, > with exactly the same semantics as the > original one, but where the variables (or at least, the user-define > ones) are expanded, all pitches and > note durations are set to their absolute value, etc... > > This file would definitely not be meant to be edited, but would be used > for further processings. Since it is > much simpler than a plain Lilypond file, reading it would be much > simpler. Since all pitches and note > durations are set explicitly, there is no room for misunderstanding. > > For instance one might consider rewriting the MIDI generator based on > this intermediate file > (and allow for the current implementation to be phased out, as no one > wants to work at it, and > as it seems to deal with excessively complex data structures), or a > Midge generator, or a MusicXML > export, or even a Finale Export (ok, ok, just kidding... :-) ) > > Since this intermediate file is a valid Lilypond file, an intermediate > pass can perform some kind of transformation > on it before passing it back to Lilypond for actual processing. > > Is this reasonable ? or is Lilypond's internal data structure too > complex for this to be feasible ? Something similar to this is on our todo. The hope is that we will have something working before summer. Erik ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using Lilypond as a Lilypond preprocessor.
In message <[EMAIL PROTECTED]>, Erik Sandberg <[EMAIL PROTECTED]> writes Since this intermediate file is a valid Lilypond file, an intermediate pass can perform some kind of transformation on it before passing it back to Lilypond for actual processing. Is this reasonable ? or is Lilypond's internal data structure too complex for this to be feasible ? Something similar to this is on our todo. The hope is that we will have something working before summer. Sounds a bit like something I would like ... of course this might already be in lilypond ... I'm thinking of buying a music-scanning program. Which is fine - until I feed it say a trombone part. If I want to convert from treble clef to bass clef, for example (or the other way) I have to transpose by a ninth. Bass to treble isn't a problem - the original is concert pitch and I use the transpose command. But I *don't* want to have my master music in a transposed pitch - it'll get confusing if I have parts in Eb, Bb, G (for the brass, add Ab etc for woodwind...). If my music scanner chucks out a "midi as written", I can convert from midi to lily, and then I'd like to be able to put a \transpose in there, convert from lily to lily, and have the resulting output in concert pitch (or octaves thereof). Cheers, Wol -- Anthony W. Youngman - wol at thewolery dot demon dot co dot uk HEX wondered how much he should tell the Wizards. He felt it would not be a good idea to burden them with too much input. Hex always thought of his reports as Lies-to-People. The Science of Discworld : (c) Terry Pratchett 1999 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using Lilypond as a Lilypond preprocessor.
"Anthony W. Youngman" <[EMAIL PROTECTED]> writes: > [...] I can convert from midi to lily, and then I'd like > to be able to put a \transpose in there, convert from lily > to lily, and have the resulting output in concert pitch > (or octaves thereof). Check the lyqi Emacs mode: http://nicolas.sceaux.free.fr/lilypond/lyqi.html -- Feri. _______ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
LilyPond 2.21.82
We released Lilypond 2.21.82 yesterday. This has a few bug fixes and documentation updates from 2.21.81 and is the latest release candidate for stable release 2.22.0. We encourage users and developers to download, use and test it. -- Phil Holmes
Lilypond functions
Hello everyone, Functions in Lilypond can also be written in pure Sheme syntax like this #(define abcd (lambda (x y ... ) PROCEDURE USING x y ...)) and then called within Lilypond with the syntax \abcd x y ... or within a Sheme fucntion with the syntax (abcd x y ...) If anyone is interested, I made an exercise for myself to explore *the use of functions* and create a score of the *first Prelude of Book I of J.S. Bach's Well-Tempered Clavier* As this piece has 32 bars using the same pattern based on 5 notes, plus an ending in 3 bars, I used a simple list of notes (without any rythmic indications) as my main data and designed functions to extract the groups of 5 notes, apply the patterns to create voices and scores, including a chord version on the piece in addition to the standard score. notes = { c e g c e c d a' d f b d g d' f ... etc. ) Files (Lilypond, PDF and midi) are in this online folder (midi files need to be downloaded to listen to them) <https://nextcloud.silvain-dupertuis.net/index.php/s/oQJfcgZP9PKY9ca> Silvain Dupertuis Merci This is a perfect solution, and, a clear explanation about why my solution failed. Thank you very much Ken Ledeen Mobile: 617-817-3183 www.nevo.com <http://www.nevo.com> www.bitsbook.com <http://www.bitsbook.com> tiny.cc/KenLedeen <http://tiny.cc/KenLedeen> tiny.cc/KenLedeenAmazon <http://iny.cc/KenLedeenAmazon> ᐧ On Sat, Feb 27, 2021 at 10:43 AM Jean Abou Samra <mailto:j...@abou-samra.fr>> wrote: Le 27/02/2021 à 02:16, Ken Ledeen a écrit : > I am struggling to understand the restrictions on substitution functions. > > For example: > > 1) can a function include "\score { ...}" or can it only be invoked > INSIDE a \score? > > 2) is it possible to include \header { ...} inside a substitution > function? It fails when I try, but I don't understand why. > > I assume I am missing some basic concepts regarding their use. > > Thanks! Hello, Music functions must return music objects; \score blocks are not music but general containers that enclose music as well as other objects such as \header and \layout blocks. However, replacing define-music-function with define-scheme-function, you can define more versatile functions that are allowed to return any kind of object for interpretation. For example: \version "2.23.1" failingFunction = #(define-music-function () () #{ \score { \header { piece = "Piece A" } { c' } } #}) % \failingFunction succeedingFunction = #(define-scheme-function () () #{ \score { \header { piece = "Piece B" } { c' } } #}) \succeedingFunction Hope that helps, Jean
LilyPond 2.23.1
We are happy to announce the release of LilyPond 2.23.1. This is a development version, but these are usually reliable. If you want to use the latest stable version of LilyPond, we recommend using the 2.20.0 version. -- Phil Holmes
lilypond book
Hi, I am trying to put together a book. A collection of 13 pieces with lilypond. I would like the book to be setup in this way #(set-global-staff-size 20) \version "2.20.0" \paper { #(set-paper-size "letter") top-margin = .50\in right-margin = .50\in left-margin = .50\in bottom-margin = .50\in \include "../footer001.ily" evenFooterMarkup = \oddFooterMarkup } I want each piece to show its own - Title and composer - each piece start in its own page. I am trying to setting it up but I cannot do it! I have already engraved each piece… and would love to have the include. But somehow it is not working.. Thanks! For the \bookpart { \header { maintainer = "Carlos R Martinez" } \header { title = ##f composer = ##f } \markup { \fill-line { \center-column { \null \null \null \null \null \null \epsfile #X #20 #"./emologo.eps" \null \null \null \null \null \null \line {\abs-fontsize #20 "Essential Music "} \null\null\null \line {\abs-fontsize #36 \bold "Piano Foundations"} \null\null\null \line {\abs-fontsize #20 "Vol. I"} \null\null\null\null \fill-line { \abs-fontsize #20 "" } \fill-line { \abs-fontsize #14 " "} \null \fill-line { \abs-fontsize #14 "by"} \null \fill-line { \abs-fontsize #14 "Carlos R Martinez"} } } } }
Lilypond-book
Dear community, so that I have any idea on where to look and maybe give more useful information, I got this warning (that should be an error, because the pdf output is useless) when using lilypond-book after upgrading to Lilypond 2.22.1 (it used to work perfectly before) on Ubuntu 20.04: lilypond-book: warning: cannot detect textwidth from LaTeX. After googling I've seen some people who run into this problem when using Xetex, but I'm using PdfLatex, so their solutions obviously don't work in my case. What could be causing this problem? Regards, Martín.
Lilypond 2.19.83
Windows 10 Lilypond 2.19.83 Hi, I have written a bagpipe tune (25th_kosbs) which has four parts, each with a repeat which should start on a new line. The format is A4 in lanscape mode. I cannot get this to work and at the same time maintain a flush right margin. Suggestions please John McWilliam Sent from Mail for Windows 10 25th_kosbs_test.ly Description: Binary data Bagpipe_new.ly Description: Binary data BP_format.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond interfaces
Hello, does anyone knows about interfaces and/or notation systems written in other programming languages which use lilypond as backend? Two examples of such interfaces are fomus (https://common-lisp.net/project/fomus/doc/) and abjad (http://projectabjad.org/). cheers, Amir - - - - - - - - - - - ateymur...@gmail.com - - - - - - - - - - - ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Lilypond <-> Sibelius
What is the current state of play for converting between Sibelius and Lily? My elder son uses Sib at university, but has to travel in (40 miles) to log into one of their machines. I run Lily/Frescobaldi at home and it would be useful to be able to let him work at home and take it in to uni, and conversely print off uni work at home. I assume the uni machines are WinBoxes, we run Linux and Windows at home. signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Embedded Lilypond
I monitor the Dokuwiki* mailing list and today an interesting question came up. A user was trying to set a song with guitar chords over the relevant notes, but proportional text was destroying his formatting. A couple of solutions were proposed: override the proportional text (which needn't concern us here) or use an ABC plugin. The latter hasn't been maintained for years. This got me thinking! Wikipedia has the markup, would it be possible to do something similar for Dokuwiki? Is there an embeddable version of Lily? I see two possible strategies here: (1) Use DW's media manager to keep a .ly file and engrave from the file to generate output, or (2) use an inline source. In either case the output needs to be embeddable HTML (and if possible a MIDI track). Thoughts? *For the interested: Dokuwiki (https://www.dokuwiki.org/dokuwiki) is a wiki system based on plain text files and a php formatter. Like Lily it is designed to be extensible by the use of plugins, which users are encouraged to publish. signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond-book
Hello. I am trying to use the lilypond-book example in Chapter 3.1 : lilypond-book --output=out --pdf lilybook.lytex but got an error message: cannot determine format for: lilypond-book.lytexa so I added "-f latex: to the input : lilypond-book -f latex --output=out --pdf lilybook.lytex and got the error message: file not found: lilybook.lytexa Why is it adding an "a" to the end of the word lytex? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
lilypond 2.21
Are there any istructions available to try to compile lilypond 2.21 on windows? Thanks, g. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
LilyPond Yasnippets
Hello 'Ponders! This question was asked over a decade ago[1] and doesn't appear to have been answered. At any rate, I'll ask again: does anyone have Yasnippets concerning LilyPond to share? I've checked in the official collection[2] and the Doom one[3]. Incidentally I found a small, old collection[4], but I was hoping for a larger collection / more sophisticated ones, too. For instance: a Yasnippet for the so-called double slash construct, where you TAB or whatnot, from highest voice, to lowest, to second-highest, etc, but where you could stop after a number of voices.. Cheers, Hendursaga [1] https://www.mail-archive.com/lilypond-user@gnu.org/msg56997.html [2] https://github.com/AndreaCrotti/yasnippet-snippets [3] https://github.com/doomemacs/snippets [4] https://github.com/smoge/LilyPond-mode
LilyPond 2.23.10
We are happy to announce the release of LilyPond 2.23.10. This is termed a development release, but these are usually reliable. However, if you require stability, we recommend using version 2.22.2, the current stable release. As a reminder, the official binaries can be downloaded from GitLab: https://gitlab.com/lilypond/lilypond/-/releases/v2.23.10 We provide packages for macOS ("darwin"), Linux, and Windows ("mingw") that only need to be extracted (no installation as in older versions). signature.asc Description: This is a digitally signed message part
LilyPond 2.23.11
We are happy to announce the release of LilyPond 2.23.11. This is termed a development release, but these are usually reliable. However, if you require stability, we recommend using version 2.22.2, the current stable release. Please refer to the Installing section in the Learning Manual for instructions how to set up the provided binaries: https://lilypond.org/doc/v2.23/Documentation/learning/installing signature.asc Description: This is a digitally signed message part
LilyPond 2.23.12
We are happy to announce the release of LilyPond 2.23.12. This is termed a development release, but these are usually reliable. However, if you require stability, we recommend using version 2.22.2, the current stable release. Please refer to the Installing section in the Learning Manual for instructions how to set up the provided binaries: https://lilypond.org/doc/v2.23/Documentation/learning/installing Starting with this version, the official binaries support the experimental Cairo backend. Please give it a try with the command line option -dbackend=cairo and see if it works for you. In case of problems, please report back to us so it can be worked on. signature.asc Description: This is a digitally signed message part
Re: Lilypond
pagani laurent writes: Can someone answer Laurent? > Hi Jan, > > Sorry to disturb you (possibly I should have gone to some forum but > this is so fundamental for me that if the answer is no, I won’t use > Lilypond, so I don’t want to bother entering the forum if it is to > leave it immediately). > > I am having a look at Lilypond and I have a very simple question : > I wrote a very simple test score : > > \version "2.22.0" > { > c' e' g' e'1 2 > } > > and the compilation ran without error : > > Traitement de « /Users/laurent/Desktop/test.ly » > Analyse... > Interprétation en cours de la musique... > Pré-traitement des éléments graphiques... > Détermination du nombre optimal de pages... > Répartition de la musique sur une page... > Dessin des systèmes... > Conversion à « test.pdf »... > Compilation menée à son terme, avec succès. > > However, there is an obvious error : the e’1. > > > > > Does this mean that Lilypond will not report such errors when writing > a score ? That would be worrysome because that means that after having > written tons of pages, one has to go through the final product to > check for such errors and then locate them in the input file (I guess > there is no such interface as with some Latex editor where the pdf and > the latex are linked so that clicking on the pdf text, you are > directed to the corresponding latex code) which might not be very > obvious. If this is explained further in the manual, just tell me to > read the manual completely but again I won’t embark in this long task > if it is to give up at the end... > > Thanks > Laurent > > > > It’s tough to make predictions- especially about the future. > Yogi Berra > -- Jan Nieuwenhuizen | GNU LilyPond https://lilypond.org Freelance IT https://JoyOfSource.com | Avatar® https://AvatarAcademy.com
Re: Lilypond
Hi Laurent, Hi Jan, @Laurent, see: https://lilypond.org/doc/v2.22/Documentation/notation/bars.html#bar-and-bar-number-checks e.g.: \version "2.22.0" { c' e' g' e'1 | 2 } Cheers, Pierre Le dim. 18 sept. 2022 à 11:02, Jan Nieuwenhuizen a écrit : > pagani laurent writes: > > Can someone answer Laurent? > > > Hi Jan, > > > > Sorry to disturb you (possibly I should have gone to some forum but > > this is so fundamental for me that if the answer is no, I won’t use > > Lilypond, so I don’t want to bother entering the forum if it is to > > leave it immediately). > > > > I am having a look at Lilypond and I have a very simple question : > > I wrote a very simple test score : > > > > \version "2.22.0" > > { > > c' e' g' e'1 2 > > } > > > > and the compilation ran without error : > > > > Traitement de « /Users/laurent/Desktop/test.ly » > > Analyse... > > Interprétation en cours de la musique... > > Pré-traitement des éléments graphiques... > > Détermination du nombre optimal de pages... > > Répartition de la musique sur une page... > > Dessin des systèmes... > > Conversion à « test.pdf »... > > Compilation menée à son terme, avec succès. > > > > However, there is an obvious error : the e’1. > > > > > > > > > > Does this mean that Lilypond will not report such errors when writing > > a score ? That would be worrysome because that means that after having > > written tons of pages, one has to go through the final product to > > check for such errors and then locate them in the input file (I guess > > there is no such interface as with some Latex editor where the pdf and > > the latex are linked so that clicking on the pdf text, you are > > directed to the corresponding latex code) which might not be very > > obvious. If this is explained further in the manual, just tell me to > > read the manual completely but again I won’t embark in this long task > > if it is to give up at the end... > > > > Thanks > > Laurent > > > > > > > > It’s tough to make predictions- especially about the future. > > Yogi Berra > > > > -- > Jan Nieuwenhuizen | GNU LilyPond https://lilypond.org > Freelance IT https://JoyOfSource.com | Avatar® https://AvatarAcademy.com > >
Re: Lilypond
Hi Laurent, As you can see, Jan redirected you to the lilypond-user mailing list, which is the primary discussion 'forum' for LilyPond. Since your name sounds French: there is also a French-speaking equivalent of this list, lilypond-user-fr. I'm mentioning it just in case you are more comfortable with French. https://lists.gnu.org/mailman/listinfo/lilypond-user-fr Le 18/09/2022 à 11:01, Jan Nieuwenhuizen a écrit : pagani laurent writes: Can someone answer Laurent? Hi Jan, Sorry to disturb you (possibly I should have gone to some forum but this is so fundamental for me that if the answer is no, I won’t use Lilypond, so I don’t want to bother entering the forum if it is to leave it immediately). I am having a look at Lilypond and I have a very simple question : I wrote a very simple test score : \version "2.22.0" { c' e' g' e'1 2 } and the compilation ran without error : Traitement de « /Users/laurent/Desktop/test.ly » Analyse... Interprétation en cours de la musique... Pré-traitement des éléments graphiques... Détermination du nombre optimal de pages... Répartition de la musique sur une page... Dessin des systèmes... Conversion à « test.pdf »... Compilation menée à son terme, avec succès. However, there is an obvious error : the e’1. Does this mean that Lilypond will not report such errors when writing a score ? That would be worrysome because that means that after having written tons of pages, one has to go through the final product to check for such errors If you write tons of pages, use bar checks. Whenever you write a '|' sign, LilyPond will check that there is indeed a bar line at this point, and warn you otherwise. They also help you navigating in the code. With bar checks, you input becomes \version "2.22.2" { c' e' g' e'1 | 2 | } and LilyPond gives the warnings /tmp/frescobaldi-nqep4lmj/tmpeggrcs80/document.ly:4:16: warning: barcheck failed at: 3/4 c' e' g' e'1 | /tmp/frescobaldi-nqep4lmj/tmpeggrcs80/document.ly:5:17: warning: barcheck failed at: 1/4 2 | and then locate them in the input file (I guess there is no such interface as with some Latex editor where the pdf and the latex are linked so that clicking on the pdf text, you are directed to the corresponding latex code) There is. Check out Frescobaldi. https://frescobaldi.org/ It's also possible to make point-and-click work for a number of other editors as well (Emacs, Vim, VS Code, ...). If you don't already have a favorite editor that you don't want to leave, I **strongly** recommend Frescobaldi to begin. It doesn't just have point-and-click, but a huge number of practical features that make entering scores much easier. For example, there is not only a link from the typeset score to the source code, but also from the source code to the score, so you can find back where your cursor is in the PDF. Plus, there is a link from the console to the code. When I compile the erroneous score above, the two lines with warnings get colored in red, and when I click on the first warning, the cursor jumps to the corresponding location in the source code, as you can see in the screenshot attached. Best, Jean
Re: Lilypond
Hi Laurent, Hi Pierre, usually using Bar checks is the way to go, but this does have its own limitations. E.g. if we misspell \time 3/4 c2 d4 | as \time 3/4 c2 d1 | this will not throw an error. Of course we could make use of bar number checks. But then, bar number checks only work if you know what bar you are in, and bar checks only work if you know what time signature you’re in. But it is not hard to add additional checks. The appended file defines a pseudoengraver that checks for each placed rhythmic head if there is sufficient remaining space left in the measure and issues a warnign otherwise. Cheers, Valentin Am Sonntag, 18. September 2022, 11:15:20 CEST schrieb Pierre Perol-Schneider: > Hi Laurent, Hi Jan, > @Laurent, see: > https://lilypond.org/doc/v2.22/Documentation/notation/bars.html#bar-and-bar-> > number-checks e.g.: > \version "2.22.0" > { c' e' g' e'1 | 2 } > Cheers, > Pierre > > Le dim. 18 sept. 2022 à 11:02, Jan Nieuwenhuizen a écrit : > > pagani laurent writes: > > > > Can someone answer Laurent? > > > > > Hi Jan, > > > > > > Sorry to disturb you (possibly I should have gone to some forum but > > > this is so fundamental for me that if the answer is no, I won’t use > > > Lilypond, so I don’t want to bother entering the forum if it is to > > > leave it immediately). > > > > > > I am having a look at Lilypond and I have a very simple question : > > > I wrote a very simple test score : > > > > > > \version "2.22.0" > > > { > > > c' e' g' e'1 2 > > > } > > > > > > and the compilation ran without error : > > > > > > Traitement de « /Users/laurent/Desktop/test.ly » > > > Analyse... > > > Interprétation en cours de la musique... > > > Pré-traitement des éléments graphiques... > > > Détermination du nombre optimal de pages... > > > Répartition de la musique sur une page... > > > Dessin des systèmes... > > > Conversion à « test.pdf »... > > > Compilation menée à son terme, avec succès. > > > > > > However, there is an obvious error : the e’1. > > > > > > > > > > > > > > > Does this mean that Lilypond will not report such errors when writing > > > a score ? That would be worrysome because that means that after having > > > written tons of pages, one has to go through the final product to > > > check for such errors and then locate them in the input file (I guess > > > there is no such interface as with some Latex editor where the pdf and > > > the latex are linked so that clicking on the pdf text, you are > > > directed to the corresponding latex code) which might not be very > > > obvious. If this is explained further in the manual, just tell me to > > > read the manual completely but again I won’t embark in this long task > > > if it is to give up at the end... > > > > > > Thanks > > > Laurent > > > > > > > > > > > > It’s tough to make predictions- especially about the future. > > > Yogi Berra > > > > -- > > Jan Nieuwenhuizen | GNU LilyPond https://lilypond.org > > Freelance IT https://JoyOfSource.com | Avatar® https://AvatarAcademy.com #(define (Bar_check_warning_egraver context) (make-engraver (acknowledgers ((rhythmic-head-interface engraver grob source-engraver) (let* ((evt (ly:grob-property grob 'cause)) (loc (ly:event-property evt 'origin)) (loc (format #f "~a" loc)) (loc (string-copy loc 11 (1- (string-length loc (dur (ly:event-property evt 'duration)) (dur-as-mom (ly:duration-length dur)) (current-mlen (ly:context-property context 'measureLength)) (current-mpos (ly:context-property context 'measurePosition)) (rest-len (ly:moment-sub current-mlen current-mpos)) (timing (ly:context-property context 'timing #t))) (if (and (= 0 (ly:moment-grace current-mpos)) timing) ; We do not care about grace notes or cadenzas (if (ly:moment2 } { \cadenzaOn c'\breve %{ should not issue a warning %} } signature.asc Description: This is a digitally signed message part.
Re: Lilypond
Hi all, I am fluent English speaker, no problem, but thanks for the French link. Thanks for the explanations and for the two-ways editor (my Latex ed is also going both ways). I am most familiar with XEmacs but as for Latex, I am ready to use a specific editor like Frescobaldi indeed. The only trouble is that it seems to have some problems for the Mac versions. I will try to go thru macports instead of using the dmg. So I have no excuse to not read all the doc… ☹️ Thanks guys, Merci Pierre et Jean Laurent > Le 18 sept. 2022 à 11:17, Jean Abou Samra a écrit : > > Hi Laurent, > > As you can see, Jan redirected you to the lilypond-user mailing list, which > is the primary discussion 'forum' for LilyPond. > > Since your name sounds French: there is also a French-speaking equivalent of > this list, lilypond-user-fr. I'm mentioning it just in case you are more > comfortable with French. > > https://lists.gnu.org/mailman/listinfo/lilypond-user-fr > <https://lists.gnu.org/mailman/listinfo/lilypond-user-fr> > > > Le 18/09/2022 à 11:01, Jan Nieuwenhuizen a écrit : >> pagani laurent writes: >> >> Can someone answer Laurent? >> >>> Hi Jan, >>> >>> Sorry to disturb you (possibly I should have gone to some forum but >>> this is so fundamental for me that if the answer is no, I won’t use >>> Lilypond, so I don’t want to bother entering the forum if it is to >>> leave it immediately). >>> >>> I am having a look at Lilypond and I have a very simple question : >>> I wrote a very simple test score : >>> >>> \version "2.22.0" >>> { >>> c' e' g' e'1 2 >>> } >>> >>> and the compilation ran without error : >>> >>> Traitement de « /Users/laurent/Desktop/test.ly » >>> Analyse... >>> Interprétation en cours de la musique... >>> Pré-traitement des éléments graphiques... >>> Détermination du nombre optimal de pages... >>> Répartition de la musique sur une page... >>> Dessin des systèmes... >>> Conversion à « test.pdf »... >>> Compilation menée à son terme, avec succès. >>> >>> However, there is an obvious error : the e’1. >>> >>> >>> >>> >>> Does this mean that Lilypond will not report such errors when writing >>> a score ? That would be worrysome because that means that after having >>> written tons of pages, one has to go through the final product to >>> check for such errors > > > > > If you write tons of pages, use bar checks. Whenever you write a '|' > sign, LilyPond will check that there is indeed a bar line at this point, > and warn you otherwise. They also help you navigating in the code. > > With bar checks, you input becomes > > \version "2.22.2" > > { > c' e' g' e'1 | > 2 | > } > > and LilyPond gives the warnings > > /tmp/frescobaldi-nqep4lmj/tmpeggrcs80/document.ly <http://document.ly/>:4:16: > warning: barcheck failed at: 3/4 > > c' e' g' e'1 > > | > > /tmp/frescobaldi-nqep4lmj/tmpeggrcs80/document.ly <http://document.ly/>:5:17: > warning: barcheck failed at: 1/4 > > 2 > > | > > > >>> and then locate them in the input file (I guess >>> there is no such interface as with some Latex editor where the pdf and >>> the latex are linked so that clicking on the pdf text, you are >>> directed to the corresponding latex code) > > > There is. Check out Frescobaldi. > > https://frescobaldi.org/ <https://frescobaldi.org/> > > It's also possible to make point-and-click work for a number > of other editors as well (Emacs, Vim, VS Code, ...). > > If you don't already have a favorite editor that you don't want > to leave, I **strongly** recommend Frescobaldi to begin. It > doesn't just have point-and-click, but a huge number of practical > features that make entering scores much easier. > > For example, there is not only a link from the typeset score > to the source code, but also from the source code to the score, > so you can find back where your cursor is in the PDF. Plus, > there is a link from the console to the code. When I compile > the erroneous score above, the two lines with warnings get colored > in red, and when I click on the first warning, the cursor jumps > to the corresponding location in the source code, as you can > see in the screenshot attached. > > Best, > Jean > *** Il ne faut pas parapher après la délation Joël Martin ***
Re: Lilypond
Hi Valentin, I have macported Frescobaldi and started to play with it. I don’t find it very explicit for the errors, and while it complains there are errors it still displays the result (more or less). The really positive point is indeed to show the notes between the pdf and the .ly. It has also the advantage to not duplicate the pdf file like Lily does each time one compiles. One has quickly 10 or 20 copies of the same file opened in Preview… Unlike Latex editors (texstudio, or texshop e.g.), it does not have the list of reserved words/commands in lateral menus to retrieve quickly something you don’t remember. But I guess there are not so many things to remember at the end though I find some combinations a bit tricky. I met another problem which is that Lily forces chords to have the same duration for all notes. Maybe it is because I have not read the advanced manual yet. From what I’ve learned until now, I tried to guess a way out like : < c2 {e4 r}> but it does not work. It is possible ? It is very common to have notes of different durations running in parallel in the same staff. Best Laurent PS: Thanks for the file. > Le 18 sept. 2022 à 16:06, Valentin Petzel a écrit : > > Hi Laurent, Hi Pierre, > > usually using Bar checks is the way to go, but this does have its own > limitations. E.g. if we misspell > > \time 3/4 c2 d4 | > > as > > \time 3/4 c2 d1 | > > this will not throw an error. Of course we could make use of bar number > checks. But then, bar number checks only work if you know what bar you are > in, > and bar checks only work if you know what time signature you’re in. > > But it is not hard to add additional checks. The appended file defines a > pseudoengraver that checks for each placed rhythmic head if there is > sufficient > remaining space left in the measure and issues a warnign otherwise. > > Cheers, > Valentin > > Am Sonntag, 18. September 2022, 11:15:20 CEST schrieb Pierre Perol-Schneider: >> Hi Laurent, Hi Jan, >> @Laurent, see: >> https://lilypond.org/doc/v2.22/Documentation/notation/bars.html#bar-and-bar-> >> number-checks e.g.: >> \version "2.22.0" >> { c' e' g' e'1 | 2 } >> Cheers, >> Pierre >> >> Le dim. 18 sept. 2022 à 11:02, Jan Nieuwenhuizen a écrit : >>> pagani laurent writes: >>> >>> Can someone answer Laurent? >>> >>>> Hi Jan, >>>> >>>> Sorry to disturb you (possibly I should have gone to some forum but >>>> this is so fundamental for me that if the answer is no, I won’t use >>>> Lilypond, so I don’t want to bother entering the forum if it is to >>>> leave it immediately). >>>> >>>> I am having a look at Lilypond and I have a very simple question : >>>> I wrote a very simple test score : >>>> >>>> \version "2.22.0" >>>> { >>>> c' e' g' e'1 2 >>>> } >>>> >>>> and the compilation ran without error : >>>> >>>> Traitement de « /Users/laurent/Desktop/test.ly » >>>> Analyse... >>>> Interprétation en cours de la musique... >>>> Pré-traitement des éléments graphiques... >>>> Détermination du nombre optimal de pages... >>>> Répartition de la musique sur une page... >>>> Dessin des systèmes... >>>> Conversion à « test.pdf »... >>>> Compilation menée à son terme, avec succès. >>>> >>>> However, there is an obvious error : the e’1. >>>> >>>> >>>> >>>> >>>> Does this mean that Lilypond will not report such errors when writing >>>> a score ? That would be worrysome because that means that after having >>>> written tons of pages, one has to go through the final product to >>>> check for such errors and then locate them in the input file (I guess >>>> there is no such interface as with some Latex editor where the pdf and >>>> the latex are linked so that clicking on the pdf text, you are >>>> directed to the corresponding latex code) which might not be very >>>> obvious. If this is explained further in the manual, just tell me to >>>> read the manual completely but again I won’t embark in this long task >>>> if it is to give up at the end... >>>> >>>> Thanks >>>> Laurent >>>> >>>> >>>> >>>> It’s tough to make predictions- especially about the future. >>>> Yogi Berra >>> >>> -- >>> Jan Nieuwenhuizen | GNU LilyPond https://lilypond.org >>> Freelance IT https://JoyOfSource.com | Avatar® https://AvatarAcademy.com > > Vieux dicton des pharaons ”si tu rames, cesse !” Le Canard Enchaîné
Re: Lilypond
Hello Laurent, Le dim. 18 sept. 2022 à 16:23, pagani laurent a écrit : > Unlike Latex editors (texstudio, or texshop e.g.), it does not have the > list of reserved words/commands in lateral menus to retrieve quickly > something you don’t remember. But I guess there are not so many things to > remember at the end though I find some combinations a bit tricky. > Once you have written some scores, a grep on them can quite rapidly give you the needed words you know you already used. And if you remember how it begins, frescobaldi proposes some automatic completions. > > I met another problem which is that Lily forces chords to have the same > duration for all notes. Maybe it is because I have not read the advanced > manual yet. > From what I’ve learned until now, I tried to guess a way out like : < c2 > {e4 r}> but it does not work. It is possible ? It is very common to have > notes of different durations running in parallel in the same staff. > Usually, you have to use several voices in parallel in order to achieve this \new Staff << \new Voice {\voiceOne a'2} \new Voice {\voiceTwo e'4 r} >> Note that for parallel music, you have to use double brackets << ... >> whereas chords have simple ones < ... > (I remembered it was difficult to grasp for me at the beginning). More examples here: https://lilypond.org/doc/v2.21/Documentation/notation/multiple-voices -- JJ Fleck Physique et Informatique PCSI1 Lycée Kléber